Jump to content
IGNORED

Trying to make some PoKEY music!


VinsCool

Recommended Posts

5 hours ago, VinsCool said:

 

 

Hmmm this started well but it quickly became out of tune, the notes of certain parts seem to be on different key, which appears to be what caused the dissonance.

 

What you name" out of tune" I'm calling out of possibilities. It's in tune from the start to the end (depending on the 8 bit resolution). 

What's missing is the possibility to set "Generator 2" at dedicated places, to set the "Attack" of the instruments where needed. 

Particular the "Koto" sound near the end of the tune shows that. So it gets "loose" on several places. 

The "dissonances" help to solve resolution errors. But you might get it correctly, if all generators can be used in a tracker. 

 

Further stuff in my thread ;)

 

 

 

  • Like 1
Link to comment
Share on other sites

50 minutes ago, emkay said:

What you name" out of tune" I'm calling out of possibilities. It's in tune from the start to the end (depending on the 8 bit resolution). 

Oh don't get me wrong, the tuning was alright for most of the tune, that is not what I was talking about.

 

Several parts and instruments seem to be playing on the wrong key, or to put simply, the incorrect notes, but everything was still perfectly recognisable.

Once these parts get transposed up or down to the correct notes it should be all good.

50 minutes ago, emkay said:

What's missing is the possibility to set "Generator 2" at dedicated places, to set the "Attack" of the instruments where needed. 

Particular the "Koto" sound near the end of the tune shows that. So it gets "loose" on several places. 

That certainly could sound interesting, RMT2LZSS .erti custom instrument format allows this sort of things really well, using the AUDCTL envelope line on the appropriate steps.

50 minutes ago, emkay said:

The "dissonances" help to solve resolution errors. But you might get it correctly, if all generators can be used in a tracker. 

There is always a good time for dissonance, it can work really well for certain things, here it was due to a transcription error, not being transposed to the correct notes cause what I call "out of tune".

For example, a sequence of D, F, A, E, G, will sound wrong if the notes were playing in a pattern with D#, F#, A#, F, G# in another channel at the same time.

This is mostly something caused by the .mod format sampling different keys, and being played back with the notes adjusted in patterns to compensate it.

 

The .xm of Ninjafloods Schoolstart for instance has all the samples transposed down by 4 semitones to be in the right key in my cover, using the notes table FC, simply for convenience since I was mostly doing the transcription visually, if I simply used the notes like they were seen it would have been fine too, but transposed too high.

 

Now if the same logic happens to make several instruments on different keys, this is where things become ugly, and the major reason why I avoid importing .mod files, it becomes too much work to salvage and adjust everything wrong compared to transcribing manually by ear lol

Edited by VinsCool
  • Like 2
Link to comment
Share on other sites

Sketch 47 WIP (Atari PoKEY, Distortion C Tuning + Experimental Filter)

Experimenting stuff again :D 
Found a cool way to use the Filter too, sounds like real high pass filter in a way I think!

I have made a good amount of progress on my tuning researches too, more will come later regarding that stuff. 
In the meantime here's my current .xex output, this runs in NTSC
I also added a new Distortion C table for 15khz in this tune, It seems pretty usable as well so here is it because why not :D 
It's a lot of big bass! Buzzy, but shouldn't be too offtune hopefully.


 

Sketch 47 v6.xex CustomNoteTables.txt

  • Like 8
Link to comment
Share on other sites

1 minute ago, rensoup said:

Nice and powerful sounds at just 60hz! Reminds me of Makary' style too!

If there only was something melodic ;)

 

I like it for a special cause, but Makary's tunes also suffer in being melodic. 

At least, VinsCool's tune doesn't suck all CPU time. 

Link to comment
Share on other sites

7 minutes ago, emkay said:

If there only was something melodic ;)

 

I like it for a special cause, but Makary's tunes also suffer in being melodic. 

At least, VinsCool's tune doesn't suck all CPU time. 

Well your latest conversion was melodic with good sounds but the tune is truly boring... can't have it all ?

 

Makary's tunes run pretty well at 50Hz (even if they were created at 200Hz)

  • Haha 1
Link to comment
Share on other sites

1 minute ago, rensoup said:

Well your latest conversion was melodic with good sounds but the tune is truly boring... can't have it all ?

 

Yeah. Flimbo's Quest is one of those "SIDs" that were liked by the style "SID" offers. But. It's always worth to do "examples".

Btw. : It's the second tune where I  adopted some nifty thing from "David Whittaker" to make boring sounds more interesting. 

The Drum is splitted into two devices. A little up, and a little down. 

Really, I hated the Drum "Miker" used in the conversion there.  All was working fine, but the drum was like an ultimate tune killer. And it took the most time to find a solution...

 

1 minute ago, rensoup said:

Makary's tunes run pretty well at 50Hz (even if they were created at 200Hz)

Erm. No?

Makary doesn't even know what a "melody" is. But people adore the 200Hz basses he gets out of Pokey. So it's not my part. 

Link to comment
Share on other sites

3 hours ago, rensoup said:

Nice and powerful sounds at just 60hz! Reminds me of Makary' style too!

Thank you very much!
Makary's big bass design did indeed inspire me to try one here.
I'm really happy to finally have really good 15khz tuning too.
That goes without saying, that exact same design works just as good at 50hz.

In fact, most of it was used for previous tunes such as the Freeze cover, which was moving between CPU clock modes as smoothly as possible with little to no tuning error :D 
But what really shines this time is the Distortion C bass, it's so deep, and as far as I could tell, sounds really nice with the Distortion A so far.

3 hours ago, emkay said:

If there only was something melodic ;)

Yet... ;) 
This is a sketch with some random ideas, and I know melody is currently lacking.
Tuning the basses together and make use of it in the best possible way was the intentions behind this one, so once I could find some additional ideas for it, it might be pretty good... I hope :P 

3 hours ago, emkay said:

I like it for a special cause, but Makary's tunes also suffer in being melodic. 

At least, VinsCool's tune doesn't suck all CPU time. 

There are times where things don't absolutely need to be melodic, in this case here the groove in the bassline does much of the same effect, but of course this tune has yet a lot to be desired.
There is a full channel left unused for most of the sections, and there is plenty of space in the 3rd channels with the percussions at 1.79mhz clock, giving that much needed punch and clarity on the drums.
Also there really was no need to use any more CPU time here unless I wanted to get some really crazy stuff, but I personally like to focus on what can be done at video refresh rate speed, it's also easier to count the frames, hahaha

3 hours ago, emkay said:

Yeah. Flimbo's Quest is one of those "SIDs" that were liked by the style "SID" offers. But. It's always worth to do "examples".

Btw. : It's the second tune where I  adopted some nifty thing from "David Whittaker" to make boring sounds more interesting. 

The Drum is splitted into two devices. A little up, and a little down. 

Really, I hated the Drum "Miker" used in the conversion there.  All was working fine, but the drum was like an ultimate tune killer. And it took the most time to find a solution...

I did not understand most of this post, lol
The only thing I can think about is "ah, you hated the drum, so you made some other parts sound out of tune as a compromise?" lol
(sorry no offence intended :D )

3 hours ago, emkay said:

Erm. No?

Hah, yes, it's more than possible to reduce a 200hz output to 50hz with as little losses as possible :D I've personally tested that out too, and rensoup can confirm it does indeed work when you know exactly the timing you need to achieve it.
It takes a bit of work, but thankfully RMT2LZSS has recently got a feature specifically just for that purpose, as long as the important frames are not skipped, most of everything should sound exactly the same, except a little more choppy, depending on what had to be done.

3 hours ago, emkay said:

Makary doesn't even know what a "melody" is. But people adore the 200Hz basses he gets out of Pokey. So it's not my part. 

Also I'm a little sad you say that, Makary's stuff is awesome!
I'm not sure what exactly 200hz bass refers to, but there are some situations where a much faster speeds lets you craft some really insane sounds, something such as really good drums, much smoother effects and greater precision on the sound generation.
Unless you mean the "hard bass" sound? To be able to achieve it, it is indeed necessary run the tune at much faster speed, I've also used this method myself in my cover of Loading-dia.mod :D 

 

It's mainly a case of "Can it be done? why the hell not then!", in my opinion :P 
I admit I am not the biggest fan of faster speeds, but they can be really awesome!

  • Like 2
Link to comment
Share on other sites

3 hours ago, VinsCool said:

 

There are times where things don't absolutely need to be melodic, in this case here the groove in the bassline does much of the same effect, but of course this tune has yet a lot to be desired.

 

 

No offence. 

You are definitely one of those persons who actually know what "melodic" means. 

But, it's actually the melodic part that is highly recommended to show POKEY's abilities. 

Such Tunes without a melodic part are like those "Game demos" that barely show the protagonist on a sidescroller".

Luckily POKEY is the most capable chip in the Atari, any additional work offers better results, while on the graphics side things stall quickly ;)

 

Quote


The only thing I can think about is "ah, you hated the drum, so you made some other parts sound out of tune as a compromise?" lol
(sorry no offence intended :D )

 

Actually. This morning I checked Youtube, and it claims "copyright" n stuff for the tune. 

I checked it. 

First I thought, it's because of the better notation setting (I uploaded other versions of Flimbo's Quest earlier and they got no claim)

The claim is from 0:02 to 2:33 .

After that the drums get muted by the filter and change their face for a short while. 

So it cannot be that wrong. ;)

And, well one of the causes to do the uploads is to check how it sounds after some days. 

You know, things change their face a bit from editing in RMT to the final step.

Today, I'd like to have the drums a little lower at volume, but the melodic part is working.

 

 

Quote

Hah, yes, it's more than possible to reduce a 200hz output to 50hz with as little losses as possible :D I've personally tested that out too, and rensoup can confirm it does indeed work when you know exactly the timing you need to achieve it.

 

 

It might work on headphones, but if you use a real stereo setup with speakers, you get the 200Hz manipulation quickly. 

 

 

Edited by emkay
  • Like 1
Link to comment
Share on other sites

3 hours ago, VinsCool said:

There are times where things don't absolutely need to be melodic, in this case here the groove in the bassline does much of the same effect, but of course this tune has yet a lot to be desired.

It's actually nice to hear less voices sometimes, in order to see what a single voice is doing, or what two voices can do together.

 

7 minutes ago, emkay said:

But, it's actually the melodic part that is highly recommended to show POKEY's abilities. 

It's not just about showing what POKEY has the ability to do. That may be one of the long-term goals of progressing the available vocabulary; but creating musical pieces is also about having some fun and enjoying what you're doing; not just pinning the next badge of honor on the system.

 

  • Thanks 2
Link to comment
Share on other sites

2 hours ago, emkay said:

No offence. 

You are definitely one of those persons who actually know what "melodic" means. 

But, it's actually the melodic part that is highly recommended to show POKEY's abilities. 

Such Tunes without a melodic part are like those "Game demos" that barely show the protagonist on a sidescroller".

Luckily POKEY is the most capable chip in the Atari, any additional work offers better results, while on the graphics side things stall quickly ;)

No offence taken, I totally understand what you mean :P 
I did not yet feel like I needed a melodic section, but I know there is much that could be done to have something somewhere.
There is plenty of space available to add nice melodic leads, chords, and extra harmony if I need to make this tune a composition that goes somewhere and hook the listener.
I personally think the bass provides a pretty catchy hook already, so we'll see what can be done next!

2 hours ago, emkay said:

Actually. This morning I checked Youtube, and it claims "copyright" n stuff for the tune. 

I checked it. 

First I thought, it's because of the better notation setting (I uploaded other versions of Flimbo's Quest earlier and they got no claim)

The claim is from 0:02 to 2:33 .

After that the drums get muted by the filter and change their face for a short while. 

So it cannot be that wrong. ;)

And, well one of the causes to do the uploads is to check how it sounds after some days. 

You know, things change their face a bit from editing in RMT to the final step.

Today, I'd like to have the drums a little lower at volume, but the melodic part is working.

Yep... Youtube gets credits where it's deserved: their system detects copyrighted music a little too well sometimes :D 
I remember a while ago one of my unfinished original tunes, that I have (not yet finished) composed was flagged for stealing parts of something else... turns out I made my bassline almost exactly identical to that song in question, funny coincidence for sure, I never heard that one before that day lol 

2 hours ago, emkay said:

It might work on headphones, but if you use a real stereo setup with speakers, you get the 200Hz manipulation quickly. 

My reason to use headphones is to catch every possible details that get lost in the air from loud speakers doing their duty, or in my case, because my laptop speakers absolutely suck balls and sound very tinny, every nuance gets either lost or completely sound wrong as a result.
Thankfully my Commodore 1702 monitors have some really good speakers inside, loud and bassy mono resonance gives it justice when I hook my Ataris on them!
When it's time to make the music, or enjoy it on the PC or my phone, headphones really give the best results for me :D 
Anyway, I get your point, there are still sacrifices going from 200hz to 50hz, my point was to say it's really not that bad if the conversion was calculated carefully.


I remember my 100hz Battle Squadron cover actually still sounded really good despite being reduced to 50hz, but it required a bit of manual work in the first place, else many things sounded wrong, so like I said, if you know what you are doing, it can definitely work out much better than it might look like.

2 hours ago, MrFish said:

It's actually nice to hear less voices sometimes, in order to see what a single voice is doing, or what two voices can do together.

I agree, this was why I mainly focused on the bass and the percussions so far, it grooves hard I believe, and the resulting sound between channels 2 and 4 for example really gave a fantastic timbre believe!
Still really proud of where this tuning adventure has come to, and the journey is not quite over yet, so I can only hope for even better in the future :D 

2 hours ago, MrFish said:

It's not just about showing what POKEY has the ability to do. That may be one of the long-term goals of progressing the available vocabulary; but creating musical pieces is also about having some fun and enjoying what you're doing; not just pinning the next badge of honor on the system.

Thank you! This was exactly what I wanted to say earlier.
I have not yet finished yesterday's piece, but I really had a lot of fun making it so far, and despite not being the most technically impressive feat, it shows how big and thick the bass can be, or how in-tune 15khz really is with some efforts behind it :D 
And again it's got plenty of potential for even more ideas, like I mentioned above, I am by no mean the greatest composer out there but I managed to make myself groove hard to it, so with the right amount of inspiration and dose of Atari drugs, this could become one of my best tunes, who knows! ?

 

If I was going to make a tune just to show off what could be done in the most crafty possible way, then I think my last couple tunes did just that, the Freeze by Laxity cover I re-arranged was also done specifically to prove a point, and I'm so happy to see the results from being stubborn at it ?
But I don't really need to make every new tune a showcase of what could be done, right? :D 
Making a tune because it's making you enjoy your time working around and using all the previous experience and tricks feels even better, in my opinion!

The more advanced techniques are the icing on the cake for sure, it really proves that things can work very well on different situations, and when the POKEY chip cannot do certain things, it's absolutely lit with things it can do really well! ? 

Fun fact, earlier today I was cleaning my apartment, and I was listening to my sketch 47 while I was passing the vacuum, I was pretty much dancing through the entire thing, listening the tune on repeat, hahaha ?

Edited by VinsCool
I can't English
  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...
26 minutes ago, VinsCool said:

Developed this a bit more tonight.
Altirra runs okay now with this potato, so I may be able to play a bit more with the LZSS stuff later as well, hopefully :P 

 

Tune runs at 60hz, and uses several Filter chords I thought were fitting, a little unstable however.

Sieur Goupil v11.obx 15.95 kB · 1 download

It sounds overal like a POKEY tune of the early 90s or so ;)

 

But, at least there is some melodic.

More interesting, it reminds me about some "self created" tunes. 

It seems the available sound that pokey produces  point to that style. 

 

Also, we are back in "unlistenable" sounds. 

The start of the main voice is using some vibrato. 

In 60Hz it sounds fine. 

In 50Hz again it sounds "late". (gums pulling ;)

60Hz version is overall cool. 

 

Now imagine some transposing from a soft single voice to a broad dramatic synth from the start to the end, with a lot steps inbetween.

  • Like 2
Link to comment
Share on other sites

Yeah a lot of the filter parts were transposed to create some tones in this one, several patterns were switching channels too, creating some different parts while keeping a lot of the same notes, pretty awesome to design a tune around that.
Some of these special sounds really live from adding the 3rd channel on top of them, they sound a little weird on their own currently.
Also this design works just as nicely in 50hz, there are nearly no sacrifice to be made to adapt from 60hz, except from adjusting the timing to reproduce the same effects. :D 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Not exactly a showcase but a test run, may be nice to listen anyway!
If you have about 3 hours to spare, here's many tunes playing with questionable tuning :D 

 
I've figured out more and more things, mainly, accurate frequencies calculations for several things such as Distortion C basses, and combinations like Filter 1+3 at 1.79mhz for Sawtooth waveforms, and many other things like Poly9 noise that will be added in soon.
I've also refined my "Alternate Tuning" ratio, so things are about as good as I was able to make them so far, but I know there is always room for improvements.

This is my reworked tables as of right now, as well as the current version of the spreadsheets I was using for noting down what I observed (or rather, listened) and also calculated.
Very big thanks to Ivo for the framework on the sheets, I was able to turn them into a very useful toolbox for my experiments now!

More will come soon...

Atari Frequencies And Ratio v5.ods CustomNoteTables v25.txt

  • Like 6
  • Thanks 1
Link to comment
Share on other sites

13 hours ago, VinsCool said:

If you have about 3 hours to spare, here's many tunes playing with questionable tuning :D 

42 minutes in. So far, it sounds good! Except for the "clarinet" sound in the Lawnmower song, which is out of tune. Perhaps the song is in a key not compatible with your sort-of diatonic tuning in the key of A major?

 

Big thanks to you too, to put in practice what I have wanted to do for over ten years :) Emkay, Rensoup. We're like the A-team. I love it when a plan comes together ;)  

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, ivop said:

42 minutes in. So far, it sounds good! Except for the "clarinet" sound in the Lawnmower song, which is out of tune. Perhaps the song is in a key not compatible with your sort-of diatonic tuning in the key of A major?

Thank you!

Actually this one of the tunes I mentioned in the video description being part of what situation requires a tune being edited before being thrown into the tuning to be correct, since it was made with the original RMT 1.28 tuning.

The notes using Distortion 2 used the same old Pure Table and were adjusted manually in the module back in the day, so when I play it back in my tuning, it's out of tune as a result.

Easy fix for sure :D

 

Other tunes using Distortion 2 had better results, even if it may not be that much better, after an octave or 2 since it's not terribly cooperative to my tuning ratio, but then pretty much everything had to be compromised somewhere, so surely there is a solution if I think outside of the box.

 

Another good example is Makary's tune UNSOLVED, which is technically in-tune to the Distortion 2, but is a little off due to the fact that one was originally tuned to the 15khz Distortion A, something I did not do, but it is easy to correct if I either apply the tuning to Distortion A as well using a .erti, or simply tune Distortion 2 to 15khz (something around A4=436hz or C5=523hz), ideally I would also need to make tables specifically to 15khz, to make up that difference.

 

What I personally did was to make things as close as possible to the Distortion A, 64khz tuning, in order to be able to switch modes on the fly almost seamlessly (as shown in Laxity - Freeze, except for the part that was obviously broken by moving my new tables around, but easy to fix in the tune project files, since I know exactly what I did anyway).

 

This is all experimental stuff anyway, and there are many things I have yet to try out still, it may be necessary to have a lot of tables ready to be used depending on what needs to be achieved.

 

For now, I already know there is no way to fit only a handful of tables into most situations, since it is way more complicated than that, but hopefully I was able to prove what could be done, and where to look at!

Tuning can make a world of differences, and more it goes and more I will find combinations that work.

My goal for now was to make things as good as possible for "most" situations, and I know there is a lot of room left for even more possibilities.

 

Ideally, tuning to Distortion A 64khz (mostly done now! But I need to improve a few things still...), Distortion A 15khz, Distortion C basses (15khz and 64khz), or even by key, might become necessary to really get closer to "perfect tuning" :D

I am happy to have gained so much data and knowledge in music theory with all these experiments now, because it can only get better and better from where we are right now ;)

1 hour ago, ivop said:

Big thanks to you too, to put in practice what I have wanted to do for over ten years :) Emkay, Rensoup. We're like the A-team. I love it when a plan comes together ;)  

Haha thanks! Right back at you!

 

None of this would have been possible without rensoup's RMT2LZSS features, Emkay's own experiments (tuned or not tuned does not matter if it's to try new ideas!), and of course, your knowledge in music, as well as the preliminary work on calculating the POKEY frequencies!

 

I am happy to finally figured things out, and I am also pretty surprised about the fact that documentation for the more obscure stuff was not easily available online, other than the old De-Re-Atari stuff, Atari's Programmer's Manual, several threads around here (Analmux's and synthpopalooza's work for example inspired me a lot recently!).

There were some resources in Polish that did help me a bit too (thanks google translate!), even if many things clearly seem out of my abilities, major reason being the language barrier.

 

I'm relatively "new" at this stuff, I have only been making music since 2018 after all.

I felt pretty much on my own for the last couple days, alone in a foreign land, Atari-Land? Lol

 

 

---

Off that tangent, I have learned a lot from experimenting new ideas, even the dumbest ones turned out to be something that did eventually work, and more I learn, more things make sense to me now.

 

I can now accurately and reliably calculate the frequencies with greater precision, without having to do everything by ear, something I did do for a while, and it takes way too much time, and I known I am going to make several errors in the process.

 

It's pretty crazy how much these Atari machines are difficult to tame ?

 

 

---

Here's a summary of what frequencies I can calculate using a simple formula, and confirmed to be accurate:

 

- Distortion A, all CPU clock calculations.

- Distortion C, all CPU clock calculations, split into 2 major categories of timbre and tuning, I only omitted the "unstable" tones, because they are likely to output silence, depending on the polycounter, something I prefer to avoid when making music is involved.

- Distortion 2, All CPU clock calculations, unstable frequencies were also purposefully avoided for the reason mentioned above.

- Distortion A, Filter 1+3 with 1.79mhz clock on 1+3, generates "Croissant Sawtooth" waveforms.

This one was actually figured out by accident, from a lucky guess I had a few days ago, I'm glad I have this one out of the way already!

 

And here's what I know theoretically can be done but have not yet tried out:

 

- Distortion 4, this one is a mess lol

- Poly9 Noise, which is pretty much the same principle used for the other tones calculations, and one of the next things I wanted to get done.

- Accurate understanding of the Filter, but I have not yet fully understood how it really works. This is also something I wanted to document properly soon.

- Volume Only Mode, wavetable synthesis/samples playback, but that requires a level of programming I do not have yet.

- SKCTL bits, mainly Two Tone Filter, thankfully synthpopalooza has made a lot of work on that already!

- "Reverse 16-bit" and how it interacts with the actual sound output.

 

 

 

 

  • Like 3
Link to comment
Share on other sites

18 hours ago, VinsCool said:

Not exactly a showcase but a test run, may be nice to listen anyway!
If you have about 3 hours to spare, here's many tunes playing with questionable tuning :D 


Nice, I already know most of your tunes but I found a few new ones like "NOBODY LISTENS TO ATARI". I don't know who did it but it has some pretty good laser sounds and sounds crazy overall ?

All that tuning discussion is still a little hazy but hopefully all that gained experience will be useful for Unkai ?

  • Like 2
Link to comment
Share on other sites

19 hours ago, VinsCool said:

Analmux's and synthpopalooza's work for example inspired me a lot recently!

Definitely very important work! If it wasn't for Synthpopalooza, I wouldn't have written Pokey Explorer :)

 

9 hours ago, VinsCool said:

Just me fucking around for that whole 20 minutes, but kept the entire content of AUDF1 and AUDF3 the same, that is some hypnotic sounds lol

That's almost minimal music. Nice!

  • Thanks 2
Link to comment
Share on other sites

Hello guys

22 hours ago, VinsCool said:

Analmux's and synthpopalooza's work for example inspired me a lot recently!

2 hours ago, ivop said:

Definitely very important work! If it wasn't for Synthpopalooza, I wouldn't have written Pokey Explorer :)

Thanks to all you guys who are bringing "Atari 8 bit music" to a new level.  Most of the time I have no clue what so ever of what you guys are talking about, but I love the progress you are making.  Keep up the good work!

 

Sincerely

 

Mathy

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...