Jump to content

Photo

TI-99 cartridge building?


25 replies to this topic

#1 tjb OFFLINE  

tjb

    Stargunner

  • 1,022 posts
  • Let's play soccer
  • Location:San Antonio, Texas

Posted Sat Nov 21, 2009 8:26 AM

Has anyone produced any homebrew cartridges for the TI-99? Are there resources available for cartridge building? That's one thing the Atari scene has a wealth of. It would be nice to be able to produce a ROM image using PC-based tools and then burn the image to an EPROM in order to run it on the real hardware.

tjb

#2 jaybird3rd OFFLINE  

jaybird3rd

    Quadrunner

  • 7,045 posts
  • Location:806.4616.0110

Posted Sat Nov 21, 2009 9:47 AM

It's possible to modify a Munchman cartridge (and possibly others) to use an 8K EPROM; I built myself a Munchman II reproduction cartridge this way.

#3 matthew180 OFFLINE  

matthew180

    Stargunner

  • 1,834 posts
  • Location:Burbank, California

Posted Sat Nov 21, 2009 9:48 AM

As a matter of fact, we do have a means to do that and it was made easier recently due to the efforts of a few dedicated TI users. I can't remember all the steps right this second, let me go do some research and I'll post more info later unless someone beats me to it. However, the Classic99 emulator can read a ROM image as a cartridge and that same ROM image can be used on the real console (once burned into an EEPROM).

Here you go. On the software side, start at Tursi's site. He is the author of Classic99 and has a lot of support utilities as well, including a program to make a binary object file into a TI cartridge GROM (the program is called "MakeCart").

Harmless Lion TI Website

You can use the Classic99 emulator or Win994a simulator to compile your 99/4A programs, then use MakeCart to convert to a cartridge GROM. Then you can use Jon Guidry's 64K cartridge kit to make a real cartridge. I think this is the official site for his kit:

64K Cart Kit

That's really the only options we have right now, since our community is still very small compared to the Atari scene, and we are very thankful for all the effort of the few people who make these software and hardware products available to the rest of us.

Matthew

#4 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,787 posts
  • Location:Denmark

Posted Sat Nov 21, 2009 10:46 AM

Has anyone produced any homebrew cartridges for the TI-99?

Neverlander (original game release 2008) has been put on cartridge, and AFAIK it requires 32K RAM expansion.

Pitfall! (conversion release 2009) is planned as a 32K cartridge, and should run on the bare console (no 32K RAM expansion).

Iíve done a load of small 8K demos since 2004, some of which has been burned and tested as cartridges. More demos and games to come.

:cool:

#5 Opry99er OFFLINE  

Opry99er

    River Patroller

  • 3,616 posts
  • Location:Denver, CO

Posted Sat Nov 21, 2009 5:53 PM

Check out my YouTube channel. I have recently posted a video of the new 64k cartridge kit with a Never-Lander EPROM installed onto the cart board itself. My YouTube channel is called "Opry99er." The newest video is called something like "Never-Lander" on a Guidry cart... or something like that. Anyway, we can now put games up to 64k (!!!!) onto cartridge to be played on the console. Pretty awesome stuff, man. Good luck!

#6 ventrra OFFLINE  

ventrra

    Moonsweeper

  • 254 posts
  • Location:Muncie, IN

Posted Sun Nov 22, 2009 9:30 AM

As a matter of fact, we do have a means to do that and it was made easier recently due to the efforts of a few dedicated TI users. I can't remember all the steps right this second, let me go do some research and I'll post more info later unless someone beats me to it. However, the Classic99 emulator can read a ROM image as a cartridge and that same ROM image can be used on the real console (once burned into an EEPROM).

Here you go. On the software side, start at Tursi's site. He is the author of Classic99 and has a lot of support utilities as well, including a program to make a binary object file into a TI cartridge GROM (the program is called "MakeCart").

Harmless Lion TI Website

You can use the Classic99 emulator or Win994a simulator to compile your 99/4A programs, then use MakeCart to convert to a cartridge GROM. Then you can use Jon Guidry's 64K cartridge kit to make a real cartridge. I think this is the official site for his kit:

64K Cart Kit

That's really the only options we have right now, since our community is still very small compared to the Atari scene, and we are very thankful for all the effort of the few people who make these software and hardware products available to the rest of us.

Matthew


I'm really hoping that someday the TI gets to be large enough that this stuff can be mass produced cheaply (like some of the 2600 stuff) so that hobbyists can afford it.
Some new cartridge shells would be nice, too. Did anyone ever see the Scott Foresman ads where they show shells that are blue and red? That would be great, wouldn't it?

#7 ventrra OFFLINE  

ventrra

    Moonsweeper

  • 254 posts
  • Location:Muncie, IN

Posted Sun Nov 22, 2009 9:32 AM

I meant to attach one of the pics that I was talking about to the previous post, but somehow didn't. I guess I'll add it here.

Attached Files



#8 matthew180 OFFLINE  

matthew180

    Stargunner

  • 1,834 posts
  • Location:Burbank, California

Posted Sun Nov 22, 2009 9:45 AM

Well, Jon's 64K cart kit only cost me $15 at the TI "World Faire", and that's only because I bought some extra parts so I would not have to make a DigiKey order myself. ;-) Jon is buying the boards in lots of 100 I think and the other parts are not that expensive. I think he even has some cart shells, but I'm not sure about that. Jon? Are you following the forum?

Matthew

#9 tjb OFFLINE  

tjb

    Stargunner

  • Topic Starter
  • 1,022 posts
  • Let's play soccer
  • Location:San Antonio, Texas

Posted Tue Nov 24, 2009 11:15 PM

Thanks for all the great information and links! It's nice to see that there's an active TI community.

As for a dev-type cart, I was hoping I could purchased a fully-assembled one as my hardware skills (or lack thereof) leave much to be desired.

tjb

#10 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,371 posts
  • Location:Germany

Posted Wed Nov 25, 2009 12:21 AM

Thanks for all the great information and links! It's nice to see that there's an active TI community.

As for a dev-type cart, I was hoping I could purchased a fully-assembled one as my hardware skills (or lack thereof) leave much to be desired.

tjb


Yeah, know what you mean. I also have zero hardware skills. But for a small fee it is normally
possible to get a fully-assembled one.
That is what I did and its absolutely worth it. I got several and they are top-quality :)
Try asking hexbus.

#11 matthew180 OFFLINE  

matthew180

    Stargunner

  • 1,834 posts
  • Location:Burbank, California

Posted Wed Nov 25, 2009 11:11 AM

I have the tools and decent electronic skills, and I don't mind making a few here and there. But shipping costs and all that added expense might make it not worth the effort. If Jon (the guy who designed and is selling the kits) will do it, then that is probably more cost effective. Otherwise, drop me an email. If you buy a kit, and have it sent to me, I'll assemble it and ship it to you. Probably like $5 for shipping both times (Jon to me, me to you), plus the kit cost.

Matthew

#12 acadiel OFFLINE  

acadiel

    Dragonstomper

  • 554 posts
  • Location:USA

Posted Wed Nov 25, 2009 1:03 PM

Yep - the board was my pet project this year. First the 16K, and then the 64K version. Both batches of 100 sold out. They were $10 unassembled or $14 assembled. I also sold extra parts at the Chicago TI World's Faire (EPROMs, BCD switches, toggle switches, extra resistors, etc) in case the people wanted to create an 8K x 8 multicart. I didn't have enough empty shells to pass around this time, though, but there's TI dealers out there with 500 copies of Parsec laying around, so I'm sure we could probably find more.

I'm currently looking for someone to take on a third batch, as I've worn out all my extra time (and my wife's blessings) for a while with the 200 kits that I sent out this year. The PCB file is on the Hexbus.com website, and a whole run of 100 unassembled kits is approximately $850. (The bare PCB's are around $5/ea. The rest of the components, ASD bags, boxes, packing tape, etc, made the cost around $8.50.) There are a handful of vendors that you need to order stuff from. ExpressPCB has the PC boards, most of the components and supplies came from Mouser, and the 74LS379 bank switch logic chips came from Rochester Electronics.

We could get them assembled, but we're looking at least $1500+ to have the local fab house to manufacture them (including QA testing), which with start up costs, will drive the first batch through them to about $20/ea, and then further batches would likely be $15/ea assembled. If we found an individual to purchase parts, then we could probably stick with the $10 (or slightly higher for assembly) price.

The assembly fees from the few ones that I did assemble helped to pay a little cost towards an EPROM programmer for myself. My old parallel one was getting hard to support without having legacy equipment laying around, and I splurged on a BK Precision USB one to replace it. (Which, BTW, I have a very little used EETools Chipmax parallel port programmer for sale for $150 shipped.)

I had a blast doing the first two batches of cartridges - next year, I'm hoping to work with the community to further understand the TI Cartridge scheme so that I can use an Altera or other programmable chip to emulate GROM as well. Think "massive programmable multicart". :)

Jon

#13 acadiel OFFLINE  

acadiel

    Dragonstomper

  • 554 posts
  • Location:USA

Posted Wed Nov 25, 2009 1:09 PM


Has anyone produced any homebrew cartridges for the TI-99?

Neverlander (original game release 2008) has been put on cartridge, and AFAIK it requires 32K RAM expansion.

Pitfall! (conversion release 2009) is planned as a 32K cartridge, and should run on the bare console (no 32K RAM expansion).

Iíve done a load of small 8K demos since 2004, some of which has been burned and tested as cartridges. More demos and games to come.

:cool:


Never-lander could run without 32K, but someone would need to reconstruct the source to work with some bank switching routines. I just didn't have the energy or time to adapt it, so I just copied it to 32K and made it run from there. Most serious TIers all have 32K, so it's pretty easy to just copy EA/5 programs there. I've done the same with Arcturus, DM2K, and am planning to do so with a couple others.

Jon

#14 marc.hull OFFLINE  

marc.hull

    Dragonstomper

  • 942 posts
  • Location:Oklahoma CIty.

Posted Thu Dec 3, 2009 11:06 AM



Has anyone produced any homebrew cartridges for the TI-99?

Neverlander (original game release 2008) has been put on cartridge, and AFAIK it requires 32K RAM expansion.

Pitfall! (conversion release 2009) is planned as a 32K cartridge, and should run on the bare console (no 32K RAM expansion).

Iíve done a load of small 8K demos since 2004, some of which has been burned and tested as cartridges. More demos and games to come.

:cool:


Never-lander could run without 32K, but someone would need to reconstruct the source to work with some bank switching routines. I just didn't have the energy or time to adapt it, so I just copied it to 32K and made it run from there. Most serious TIers all have 32K, so it's pretty easy to just copy EA/5 programs there. I've done the same with Arcturus, DM2K, and am planning to do so with a couple others.

Jon



Not to be captain bring down here but...... ;-)

Neverlander could most likely not be made to run out of a ROM only cart and maintain the performance needed. The biggest issue is the lack of CPU RAM. There are (as we all know) only 256 bytes of available CPU memory memory on an unexpanded TI. Neverlander uses several dynamic tables (about 2.5K worth) that are updated and then shot to the VDP. It is true that there is about 4K of VDP memory left but using it to store the tables would create a large drag on performance as you would have to constantly fetch the data from VDP, modify it and send it back. As we all know fetching data from VDP is about a 4 CPU instruction cycle (if you roll your own that is.) So you have just added three instructions to every read. This would occur on every update of the game sprites, star field, score and status updates and sound effects/music processing.

I think when people start comparing the Colecovision carts with TI carts one issue that gets overlooked is that the Colecovision has 8K of RAM available to the CPU which is a huge advantage.....

Personally I think if people really want to have viable cartridge only games that can be on par with the Colecovision games then this cart development conversation really needs to include talk of getting some RAM on board the cart as well IMHO.....

#15 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,787 posts
  • Location:Denmark

Posted Thu Dec 3, 2009 11:44 AM

Just for comparison, Parsec runs with only 256 bytes of CPU RAM. Thatís star field, sprites, surface scroll, speech etc.

Iíve never done any programming on the Coleco, but Daniel Bienvenu confirmed that it ďonlyĒ has 1K of CPU RAM. That is still a fair amount of difference.
ref.:
http://en.wikipedia....ki/ColecoVision

;)

#16 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,371 posts
  • Location:Germany

Posted Thu Dec 3, 2009 11:49 AM

If I'm not mistaking the colecovision has 1K of RAM. But that is still 4 times what is available on the TI, so yes definitly a big advantage.
The problem I see is that even if we would have a cartridge with RAM onboard it would be taking away address space.

We had this discussion on the TI yahoo group.
Even though it has disadvantages the most powerful cartridge would be the one that plugs in the sideport (like Miner 2049 or Espial).
Such cartridge would allow a continous address space of e.g. 24K (>A000) and stil leave room for 8K of RAM in low memory expansion.
If you then add bankswitching in 24K blocks, wow imagine the power.

The question it all boils down to is if implementing such cartridge would be possible and if the necessary parts
are available (e.g. connectors). For sure one would also need custom cartridge cases.

Most power users all have a PEB or CF7+ so plugging in a cartridge in the sideport was seen as the biggest disadvantage.
However for pure gamers I think this would be a cool solution.
Heck with the TI-99/4A being cheap in ebay it's not an issue to get an extra console just for playing :-)

#17 marc.hull OFFLINE  

marc.hull

    Dragonstomper

  • 942 posts
  • Location:Oklahoma CIty.

Posted Thu Dec 3, 2009 2:19 PM

Just for comparison, Parsec runs with only 256 bytes of CPU RAM. Thatís star field, sprites, surface scroll, speech etc.

Iíve never done any programming on the Coleco, but Daniel Bienvenu confirmed that it ďonlyĒ has 1K of CPU RAM. That is still a fair amount of difference.
ref.:
http://en.wikipedia....ki/ColecoVision

;)



I'll stand corrected on the RAM ;-) was looking at a "coleco" site for comparison. Parsec is a good game and it probably represents the highest standards for a cart based game on the TI. I guess my point is that ROM/GPL only based games could never compete with RAM based games (or cart games that had substantial ram available) in performance and/or complexity (again IMHO.)

#18 marc.hull OFFLINE  

marc.hull

    Dragonstomper

  • 942 posts
  • Location:Oklahoma CIty.

Posted Thu Dec 3, 2009 2:39 PM

If I'm not mistaking the colecovision has 1K of RAM. But that is still 4 times what is available on the TI, so yes definitly a big advantage.
The problem I see is that even if we would have a cartridge with RAM onboard it would be taking away address space.

We had this discussion on the TI yahoo group.
Even though it has disadvantages the most powerful cartridge would be the one that plugs in the sideport (like Miner 2049 or Espial).
Such cartridge would allow a continous address space of e.g. 24K (>A000) and stil leave room for 8K of RAM in low memory expansion.
If you then add bankswitching in 24K blocks, wow imagine the power.

The question it all boils down to is if implementing such cartridge would be possible and if the necessary parts
are available (e.g. connectors). For sure one would also need custom cartridge cases.

Most power users all have a PEB or CF7+ so plugging in a cartridge in the sideport was seen as the biggest disadvantage.
However for pure gamers I think this would be a cool solution.
Heck with the TI-99/4A being cheap in ebay it's not an issue to get an extra console just for playing :-)


I remember that discussion on the list but I don't think anybody ever really took it seriously. As I recall the last idea (not a plan mind you but a idea) I put forward to Jon was one that would yield 2K RAM and a 6K paged area in the cart space (I am going off memory now so I may change the specifics later on.) The disadvantage was that even though you were paging in only 6K, it occupied 8K on the EPROM so in effect your 32K EPROM would only yield 24K of paged data. The advantage is obviously the RAM (which I know you would probably give your eye teeth for right now. Oh and see my redaction about the 8K. it is only 1K but what a K hmmmm.

BTW are you about done with Pitfall Harry and what is the status on TP?

#19 Bill Loguidice OFFLINE  

Bill Loguidice

    River Patroller

  • 2,522 posts
  • Armchair Arcade Managing Director
  • Location:Central New Jersey, USA

Posted Thu Dec 3, 2009 2:49 PM


Has anyone produced any homebrew cartridges for the TI-99?

Neverlander (original game release 2008) has been put on cartridge, and AFAIK it requires 32K RAM expansion.

Pitfall! (conversion release 2009) is planned as a 32K cartridge, and should run on the bare console (no 32K RAM expansion).

Iíve done a load of small 8K demos since 2004, some of which has been burned and tested as cartridges. More demos and games to come.

:cool:


I'm already on the pre-order list for Pitfall!, but do you know how I can purchase Never-Lander and the other cartridges?

#20 remowilliams OFFLINE  

remowilliams

    Quadrunner

  • 9,291 posts
  • Location:Detonation Boulevard

Posted Thu Dec 3, 2009 3:05 PM

I had a blast doing the first two batches of cartridges - next year, I'm hoping to work with the community to further understand the TI Cartridge scheme so that I can use an Altera or other programmable chip to emulate GROM as well. Think "massive programmable multicart". :)

Now there is something the machine really could use - so many platforms have one, it's TI time! :D

#21 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,371 posts
  • Location:Germany

Posted Fri Dec 4, 2009 12:39 AM


If I'm not mistaking the colecovision has 1K of RAM. But that is still 4 times what is available on the TI, so yes definitly a big advantage.
The problem I see is that even if we would have a cartridge with RAM onboard it would be taking away address space.

We had this discussion on the TI yahoo group.
Even though it has disadvantages the most powerful cartridge would be the one that plugs in the sideport (like Miner 2049 or Espial).
Such cartridge would allow a continous address space of e.g. 24K (>A000) and stil leave room for 8K of RAM in low memory expansion.
If you then add bankswitching in 24K blocks, wow imagine the power.

The question it all boils down to is if implementing such cartridge would be possible and if the necessary parts
are available (e.g. connectors). For sure one would also need custom cartridge cases.

Most power users all have a PEB or CF7+ so plugging in a cartridge in the sideport was seen as the biggest disadvantage.
However for pure gamers I think this would be a cool solution.
Heck with the TI-99/4A being cheap in ebay it's not an issue to get an extra console just for playing :-)


I remember that discussion on the list but I don't think anybody ever really took it seriously. As I recall the last idea (not a plan mind you but a idea) I put forward to Jon was one that would yield 2K RAM and a 6K paged area in the cart space (I am going off memory now so I may change the specifics later on.) The disadvantage was that even though you were paging in only 6K, it occupied 8K on the EPROM so in effect your 32K EPROM would only yield 24K of paged data. The advantage is obviously the RAM (which I know you would probably give your eye teeth for right now. Oh and see my redaction about the 8K. it is only 1K but what a K hmmmm.

BTW are you about done with Pitfall Harry and what is the status on TP?


Yeah, that's a shame though :?

Regarding the 2K RAM proposal: I don't think it's a big disadvantage only getting 24K out of your 32K eprom.
I mean, we are able to put in a 64K eprom so that still leaves 48K for your game.
The disadvantage I see is that you only will have access to a 6K ROM address space. Ofcourse, there are ways around that.
You could for example use 1K of the ram for storing your game routines and still have 1K to play with or use some
fancy swapping mechanism :cool:

Yeah Pitfall seems to be an never ending story. Actually as of yesterday evening I have the 4 banks working :)
However I will still need a considerable time for doing proper debugging and testing. So I'm guessing it will take
at least 2 months for doing that. Jon has been most helpful in burning the eprom and testing.
I'm now considerring getting myself a GALEP-4 eprom programmer for Xmas :D
The challenge in doing the cartridge version was not the bank-switching itself, but laying out the code accross the 4 banks
and still meet all dependenies, etc.

It has been quiet around Time Pilot for a while now. It whill be fun getting back to that project.
The design for TP is currently based on having at least 1K of RAM. With the experience gained in making the pitfall
cartridge version, I can say that if TP ever makesit to cartridge it'll have to be a 64K cartridge
with at least 1K of RAM.
I see Time pilot as a long-time project, most likely there will be a smaller game done in between ;)

#22 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,787 posts
  • Location:Denmark

Posted Fri Dec 4, 2009 3:49 AM

The minimum configuration for the MSX is however 8K of CPU RAM.
ref.: http://en.wikipedia.org/wiki/msx

I can understand why one would like to see some CPU RAM in a cartridge - assuming we donít have access to the 32K RAM Expansion. Iím all for the feel of just ďconsole and cartridgeĒ. My configuration in the early eighties anyway (before C64) was MiniMem, 32K and Cassette deck. SO you see where Iím coming from.

Yes, 256 bytes of CPU RAM is a limiting factor, but again Parsec did it, and so can we. Once we have a bucket of tricks, I think the sky is the limit. And if we canít be bothered (working with this restriction can take an awful lot of time), then well, just go with the 32K RAM Expansion (some people claim it is common).

I can also understand that we compare, draw inspiration or drool over graphics, gameplay, titles, ROM and RAM with other TMS9918A based systems. Instead of doing 1:1 conversions, I think we should do our own versions/clones. For my first really full blown game Iím heavily considering Bejeweled (no funky sprite pixel precise collision fiddling).

I hope that we in the near future will se hardware cartridge support for GROM (8K ROM and 5 x 6K GROM). Parsec uses 8K ROM and 3 x 6K GROM. And yes, I will also develop for the new 64K ROM hardware.

:cool:

#23 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,371 posts
  • Location:Germany

Posted Fri Dec 4, 2009 5:49 AM

The minimum configuration for the MSX is however 8K of CPU RAM.
ref.: http://en.wikipedia.org/wiki/msx

I can understand why one would like to see some CPU RAM in a cartridge - assuming we donít have access to the 32K RAM Expansion. Iím all for the feel of just ďconsole and cartridgeĒ. My configuration in the early eighties anyway (before C64) was MiniMem, 32K and Cassette deck. SO you see where Iím coming from.

Yes, 256 bytes of CPU RAM is a limiting factor, but again Parsec did it, and so can we. Once we have a bucket of tricks, I think the sky is the limit. And if we canít be bothered (working with this restriction can take an awful lot of time), then well, just go with the 32K RAM Expansion (some people claim it is common).

I can also understand that we compare, draw inspiration or drool over graphics, gameplay, titles, ROM and RAM with other TMS9918A based systems. Instead of doing 1:1 conversions, I think we should do our own versions/clones. For my first really full blown game Iím heavily considering Bejeweled (no funky sprite pixel precise collision fiddling).

I hope that we in the near future will se hardware cartridge support for GROM (8K ROM and 5 x 6K GROM). Parsec uses 8K ROM and 3 x 6K GROM. And yes, I will also develop for the new 64K ROM hardware.

:cool:


I for one would like to see a decent follow-up to Parsec.
The "beyond Parsec" game was not a worthy sequel, I didn't like it at all :thumbsdown:

GROM support would be great. You could then stuff away all your graphics/sound data/level data whatever
without loosing any valuable address space. A big benefit. Combined with the 1K/2K we talked about before, imagine ...

I also think Bejewled would make a great game.
So, if you do consider giving that one a shot, I'll be looking forward playing it big time on my TI :D

#24 acadiel OFFLINE  

acadiel

    Dragonstomper

  • 554 posts
  • Location:USA

Posted Sat Dec 12, 2009 11:55 AM

Has anyone produced any homebrew cartridges for the TI-99? Are there resources available for cartridge building? That's one thing the Atari scene has a wealth of. It would be nice to be able to produce a ROM image using PC-based tools and then burn the image to an EPROM in order to run it on the real hardware.

tjb


I hacked my 64K cart board today to support a 27C010 (128K) EPROM, and was able to get bank switching to work with a combination of hard switching:

http://www.facebook....09&id=571432449

Three bank switched games in one 128K EPROM. :)

Mods needed: Cut 4 pins to accommodate a 32 pin EPROM and put them under some sticky tape to hold them. Pins #1, #31, and #32 on the 27C010 are wired to +5V. A16 (pin #2) on the 27C010 is wired to +5V via a 2.2k ohm pull-up resistor. There is a switch between A16 and ground and another between A15 and ground. Toggle the A16 switch to set the EPROM to use the upper 64K of the EPROM or not (in this case, I had TI Workshop there). Toggle the A15 switch in conjunction with the other side of the A16 switch to use the other half of the 64K (and the A15 switch will divide that up into 32K and 32K, so you get three carts!)

#25 acadiel OFFLINE  

acadiel

    Dragonstomper

  • 554 posts
  • Location:USA

Posted Mon Dec 14, 2009 7:21 PM

Youtube video up...



Please forgive the background noise, and excessive "uhs" and "ums" :)




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users