Produced in 2017, FinalGROM 99 was a circuit board designed by Ralph Benzinger which plugged into the cartridge slot on a TI99/4a, and allowed an SDHC memory card to be plugged into it allowing access to almost unlimited module images including many forms of Extended Basic. The FinalGROM permitted a file structure on the SDHC card of several folders which could be nested.
A user able to download files and transfer them to an SDHC card was able to make an immediate start with no greater knowledge or skill.
The FinalGROM99 used a programmable array to emulate TI's GROM chips, making it possible to run extracted cartridge images which used the GROM technology. This meant that many module images no longer required a separate 32k ram to run in. However the FinalGROM99 was still able to run cartridge programs converted to or in the case of more modern programs, written for EA5 format (eg for FlashROM99 but then still required the 32k ram to run them in.
To begin, create folders on your SDHC card for your images- for example Games, Educational etc. Each of these folders may then contain additional subfolders to keep menu lists short- Games for example may be A-M, N-Z and 32k required (to keep separate those program requiring the 32k ram peripheral). Then transfer the .bin images to the folders on the card.
Switch off the TI 99 and plug in the FinalGROM99, then insert the SDHC card into the FinalGROM99. Switch on the TI 99 and wait until the activity indicator on the cartridge is no longer lit. Press any key to bring up the TI menu screen. Select FinalGROM99 for the first folder listing then navigate with alphabetic keys.
Module dumps were still subject to the peripheral limitations of the original modules, so that LOGO required 32k ram and ADVENTURE required disk or cassette operation. And some MBX modules would still refuse to work if they could not find an MBX system.
A good collection of the required module images can be found on ftp://ftp.whtech.com/Cartridges/FinalGROM99/. These include some newer programs.
The board contained RAM emulating GROM and RAM in the usual module address space, but if the program was written to use the 32k peripheral address space, that was still required.
The FinalGROM99 module has two reset switches. The right hand button causes the TI console to reset to its title screen, but if you have loaded a TI module it will still be available. To reload the FinalGROM99 menu list of programs, when the TI is at the title screen (and only then) press the left reset button on the cartridge. Now press a key.
The board contains an LED which lit to indicate BUSY or used a flash code to communicate some errors (eg bad SDHC card) (Do nothing until the LED goes out!)
The project was fully described on https://endlos99.github.io/finalgrom99/
The board could be fitted into an old TI99/4a module, or 3d printed modules were being produced.
The FinalGROM99 module could also use the TI consoles AID key (FCTN 7). When a list of programs was on the TI screen, pressing AID produced a question mark at bottom right. You could then enter a letter corresponding to a program on the list. IF there was no help text, you returned to the menu. If there was help text this was displayed and could for example tell you what keys to use, what peripherals were optional or how to play the game. The text files were added to the folders on the SDHC card, limited to 32 character width and about 150 lines. Long AID files were pages with the usual comma and full stop keys on the TI keyboard.
The rules were that the AID text file: Must be in the same folder as the program Must have the same filename as the main bin file, defined as: i. If there was a Grom file than that file name eg moduleG.bin would have a help file moduleG.txt ii If there was no grom file but there was a file ending in C then that filename eg modC.bin to modC.txt iii. if the filename was gamemodule.bin then the aid file would be gamemodule.txt
If you needed blank lines in your text file these needed a single space.
The FinalGROM99 was written to permit its onboard systems to be updated by an undate file on an SDHC card. Using a .pld file update, at worst you would need to redo or go back to an old .pld file. However using the more extreme update using an .avr file, if anything goes wrong, the module can be bricked and require more direct reprogramming using a suitable device. Caution therefore: Never have a file on your SDHC card with a filename finishing with the extension .avr.