So I finally got around to trying the TI99/4a FinalGROM99 cartridge. Here it is:
This is a multicart cartridge in that multiple cartridges can be stored on a single cartridge. It succeeds the FlashROM99 released in 2016. The FinalGROM99 github site says that it is released as Open Source Hardware under the CERN OHL license and the GNU GPL license. It is (c) 2017 Ralph Benzinger.
I bought mine from The Brewing Academy. It came in a 3D printed cartridge shell with a printed instruction manual and catalog.
How to use
Basically you put cartridge dumps or other images files onto a SD (FAT16) or SDHC (FAT32) card. SDHX cards won’t work. You can put the images into folders to organize them. For best performance it is best to copy all the files at once. Then you put the SD card into the FinalGROM99 cartridge, insert the cartridge into the TI and turn it on. You can then use the built-in menu system to select the binary you want to run.
It appears the binary then is copied from the SD card to the SRAM. It is like that cartridge has been installed. If you do a warm restart, FCTN-=/+, or press the FinalGROM99 right button (closest to middle of cartridge), you don’t get the FinalGROM99 menu instead you, get the select cartridge menu items.
If you want to get back to the FinalGROM99 menu, you can either power off the computer and power it back on or press the FinalGROM99 left button (closest to edge of cartridge), after a warm restart.
Here are some links to FinalGROM99 compatible Files:
- FlashROM99 Compatible Files
- whtech FTP FlashROM99, login as anonymous, no passwd
- whtech FTP FinalGROM99, login as anonymous, no passwd
How it works
The cartridge itself has a Cypress 1MB SRAM, Xilinx CPLD XC95144XL, and an Atmel ATmega 328P. It also has a SD card socket and 2 micro push buttons. The 1MB SRAM is divided into 128 banks of 8KB each. The CPLD implements all of the cartridge logic. The ATmega 328 reads the SD card. The ATmega 328 uses a modified version of the Petit FatFS.
Giving it a try
It works very well for game cartridges. I got to try many games that I never played before such as Beyond Parsec, Burger Time, Munchman II, Robotron:2084 and many others.
I was excited to try the development tools as well, such as the Mini Memory, FBForth, and TurboForth. Unfortunately the Forth’s are limited because they require libraries to be loaded from disk. Likewise the Mini Memory needs the line assembler to be loaded from cassette.