Jump to content
IGNORED

The FinalGROM 99


ralphb

Recommended Posts

*** UPDATE: Please see here for final FinalGROM 99! ***

 

Since fall I've been working on a successor cartridge to the FlashROM 99, and my prototype is finally in a state where I can present it:

https://www.youtube.com/watch?v=_ZUQY5fRBhc

As you can see, the look and feel of the FinalGROM 99 is very similar to the FlashROM (as are the videos :)). But the new cart also offers some substantial improvements:

  • supports both ROM and GROM images
  • has 512K of RAM for 64 banks or 56 banks + 5 GROMs
  • supports folders
  • can use raw cartridge dumps
  • fits regular cartridge shell (eventually)

Note that the reset button is not working yet, so I had to turn the console off and on again in the video.

At the heart of the FinalGROM 99 is a CPLD (complex programmable logic device), which replaces all of the 74 logic ICs found on the FlashROM. CPLDs are similar to very, very small FPGAs, but predate those by quite a bit. The XC95144XL used here is probably the last "modern" chip that supports 5V signal levels.

post-35214-0-39078600-1484070647_thumb.jpg

The microcontroller still manages the SD card, loads images, and generates the menus. While the picture shows an ATmega 328, a 168 is actually sufficient.

The SRAM chip has 512K, which is the upper affordable limit for 3V parallel SRAM. This yields 64 banks, with GROMs residing in the upper 8 banks (although only 5 are used now).

Finally, the voltage converter transforms the 5V supplied by the TI into 3.3V used by all board components. That includes the CPLD, which can read 5V signals, but outputs 3.3V signals (which the TI99 can understand).

Probably the biggest downside of the FinalGROM 99 is the reliance on SMT technology, which is more difficult to solder by hand. But 5V tolerant CPLDs are not available in through-hole or PLCC format, the only exception being some Atmel CPLDs that could only be programmed by ridiculously expensive software. :(

But please note that this is a prototype! This cart won't even fit the TI cartridge port, as my board layout has been exceptionally stupid. :dunce: But thanks to the port expander, I could still use the board and even add a FlashROM for debugging purposes. At last I found the true purpose of a Widgit!

The final version of the FinalGROM 99 will replace the microcontroller and the voltage controller by SMD parts. I'm still undecided whether I should go full SMD or keep through-hole caps and resistors. Button and LED will definitely remain through-hole, so that people can mount those parts in a cart shell.

The next steps will be to design the final board and get new PCBs. That done, I can send out some test boards. Note that updating the CPLD will require a JTAG cable, whereas the ATmega can be updated via SD card (at least that's the plan).

:?: Do you have any reasonable suggestions for features? One thing that had already been suggested was write support. If the logic fits, I could add a DIP switch (or an SD config file) that would enable writing to select parts of the RAM. Are there any precedents for this? I know of Mini Memory and the Wiesbaden Supermodule -- are there any others?

Finally, please excuse the somewhat grandiose name of the cart. ;) The natural name FlashGROM seemed just too close to FlashROM, so to avoid confusion I went with FinalGROM.

 

EDIT: added link to released cart

Edited by ralphb
  • Like 32
Link to comment
Share on other sites

Will the ROM space be larger than 32KiB?

 

I may never go beyond that with fbForth, but I have certainly thought about it, considering that I am nearly maxed out at 32KiB. For one thing, I could put the default font back in the ROM as well as some of the standard add-ons from FBLOCKS.

 

...lee

Link to comment
Share on other sites

 

Finally, please excuse the somewhat grandiose name of the cart.

 

 

 

Actually with the specifications, it may indeed be the very last cartridge ever designed for the TI. And if I remember a comment Rasmus made a week or so ago I think the future of this cart is going to be amazing.

 

Now since there is probably going to be a boat load of people wanting them, I imagine the signup list is going to be rather long, so...

 

+1

before anyone else gets any ideas!

Link to comment
Share on other sites

Are the RAM banks presented as ROM or RAM? Your comment about write-support caught my attention ;)

 

Will the cartridge support ROM bank swapping as used by Extended BASIC or similar cartridges/applications?

 

If RAM is presented as RAM, will it bank-switch like the ROM cartridges (i.e., are they compatible) and if so, can the RAM be write protected?

  • Like 1
Link to comment
Share on other sites

That's is awesome... As an aside, I'd love to hear about tooling for SMD.

 

Oh, wait... that wasn't expressive enough... That is completely awesome! I love the name of it too.

 

I thought the menu system in the FlashROM99 was excellent. And with GROM support, we can ditch those 32k grom conversions. ( We'll keep the native EA/5 apps converted though :) cause, I gotta push 32k cards :) )

My point: The menu might get large! It might need more navigation options than < and >. Maybe Something like 'S' jumps to titles starting with S. Just something around that would be nice.

 

I can imagine nearly everything but basic or forth disk software loading from this cart. And then if more basic is compiled, or the embedding of BASIC in a GROM is made convenient, then even more basic might live here.

 

-M@

  • Like 2
Link to comment
Share on other sites

That's is awesome... As an aside, I'd love to hear about tooling for SMD.

 

Oh, wait... that wasn't expressive enough... That is completely awesome! I love the name of it too.

 

I thought the menu system in the FlashROM99 was excellent. And with GROM support, we can ditch those 32k grom conversions. ( We'll keep the native EA/5 apps converted though :) cause, I gotta push 32k cards :) )

My point: The menu might get large! It might need more navigation options than < and >. Maybe Something like 'S' jumps to titles starting with S. Just something around that would be nice.

 

I can imagine nearly everything but basic or forth disk software loading from this cart. And then if more basic is compiled, or the embedding of BASIC in a GROM is made convenient, then even more basic might live here.

 

-M@

 

it'll support folders, so I think the menu will be hierarchical too...

  • Like 1
Link to comment
Share on other sites

Wow, thanks for your enthusiastic comments! Time to get working again then ...

 

Will the ROM space be larger than 32KiB?

 

Yes, you'll have 512 KB of ROM, divided into 64 banks.

 

Is there a max number of roms/groms supported on the SD card? or per directory?

 

Yes, I kept the 171 images limit, but now it's per directory. You could have 171 directories, and each one of that could have 171 programs, or maybe more directories. Directories can be up to 127 chars deep, including /. In fact, I recommend to have fewer games per folder, as it takes a bit longer to scan GROM images for building the menu.

 

GROM images are horrible. Not only can the image name appear way down in GROM 6, but there are also autostarting GROMs without name at all. Those are listed with their filename plus an asterisk (*).

 

Maybe stupid question but... Will this module support RXB, USCD Pascal, XB 2.7, Plato? On demo there was Miner 49'er. Is this module working now or other module which are plug on side port?

 

Not yet, but I'll try to. All of those only page the upper 4K, right? Or is it the lower?

 

Note that the images were just everything I could find on WHTech in one particular folder. I haven't tested all of them, but some aren't playing nice (Schach for the TI 99/4 (?) comes to mind).

 

Are the RAM banks presented as ROM or RAM? Your comment about write-support caught my attention ;)

 

If RAM is presented as RAM, will it bank-switch like the ROM cartridges (i.e., are they compatible) and if so, can the RAM be write protected?

 

That's still totally open. Are there any cartridges (other than MM and WSM mentioned above) that had RAM in past? I would imagine that if you make the RAM bankable, you'd do so independently of the ROM.

 

But I'd like to stress that there's not that much space left in the CPLD, so I cannot realize every good suggestion here,

 

My point: The menu might get large! It might need more navigation options than < and >. Maybe Something like 'S' jumps to titles starting with S. Just something around that would be nice.

 

I'll think about it. Pressing S would, of course, start entry 'S'. But maybe with a modifier ...

 

Thanks for all the feedback/suggestions!

  • Like 5
Link to comment
Share on other sites

This is another revolution! This looks like the multi-cartridge we have all waited for! Congrats to this milestone. It will be a pleasure to share the news tonight on the TI-99 Austrian group meeting.

Can you share a bit the history til this prototype stage? Was there a lot of private communication going on, or did you work on this all on your own?

How is the compatibility with QI (v2.2) consoles?

 

Feature wise:

- keep the hole in the final pcb design to allow easy 3d shell production

- possibility to use all 8 groms from the board, when the 3 groms from the mainboard are removed (jumper?)

 

here are some more Cartridges that might use write-enable:

- Austrian Gram Modul (from the 80s)

- Super Space I & II

- XB III+ (includes 32K of banked ram)

- GramKracker

- Super Cart (E/A grom with 8K ram)

- Hamburg Modul (from the 80s)

  • Like 3
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...