Texas Instruments TI-99/4A emulator ti99sim for Fedora Linux

Just a few weeks ago in December 2018, I bought Synapse Software's classic video game Picnic Paranoia for Atari 400/800 and Apple II computers. The Atari original was released in 1982 and the ports were released in 1983. After having acquired those two games, I also bought a release for Texas Instruments TI-99/4A to have a complete set of three - one for each hardware platform that had this game available.

I guess that the Atari 400/800 and Apple II versions are pretty rare, but the TI99/4A version is classified as very common on some Texas Instruments collectors' web pages. The low price I paid is also a clear indication that this TI99/4 release is not at all rare. Despite the fact that this cartridge is common, it is still good to have it for completeness, and because of the fact that I do not have any other games for TI99/4A.

As you can see, the box is rather huge compared to a standard-sized Teho energy drink can. What is more, this port was not done by Synapse Software, but by Atarisoft:

picnic paranoia ti99 cartridge box

Anyway, it is now Friday, January 4th, 2019 and today I decided to try out the TI99/4A version using some emulator on Fedora Linux 28. Instead of going for MAME, I wanted to find a specialized TI99/4A emulator. After some searching I found ti99sim. It was written by Marc Rousseau and it seems to be a very good emulator, but like usual, its author does not wish to distribute Texas Instruments system ROMs with his code base. TI99 is obsolete, all right, but it is safer not to release the system ROMs because of insane copyright laws.

Just like with my earlier tutorial NEC PC-8800 8-bit emulator xm8 for Fedora Linux, I almost went crazy when trying to find a system ROM file called TI-994A.ctg. It was very annoying to do the web searches with Google, Yandex, Duckduckgo, and so on, but finally I found the damn ROM file and got ti99sim-sdl up and running. What a big relief after so many frustrating failures! Based on the search results, I am not the only one who is missing file TI-994A.ctg.

But as fate would have it, my picparn.ctg (Picnic Paranoia cartridge image for TI99/4A) just would not start. For some reason, after selecting 2 PICNIC, the screen just fills with blue and black vertical bars, and the game simply will not progress any further. It looks like this:

picnic paranoia failure on ti99sim

The SHA1 sum for the non-working picparn.ctg is 68f2aafc1e98ab2030244915443a86bdffbc2aa0. If you have a Picnic Paranoia cartridge image that works, please send it to me. My email address is <kalevi@kolttonen.fi>.

The emulator ti99sim compiled without too much hassle on Fedora Linux 28, but gcc emitted some C++ compiler warnings that really should be paid attention to. But once again, I was simply too lazy to be bothered, and was happy with the resulting binary executable /opt/ti99sim/bin/ti99sim-sdl that seems to work just fine.

Here are the RPMs for Fedora Linux. Make sure to get ti99sim-system-roms RPM too, it is essential for the ti99sim-sdl emulator to work!

I installed the RPM packages using sudo rpm -Uvh <package> command directly, because I knew I already had all the library dependencies satisfied. But to pull in SDL development headers and the SDL shared library itself, you should probably do:

sudo dnf -y install ti99sim-0.15.0-kk1.x86_64.rpm

sudo dnf -y install ti99sim-system-roms-1.0.0-1.noarch.rpm

For testing purposes and amusement you will probably want a game, so here is one classic for you:

Uncompress with command:

gunzip polepos.ctg.gz

Create a directory for ti99sim-sdl to search, and copy the game into it:

sudo mkdir /opt/ti99sim/cartridges

sudo cp -iv polepos.ctg /opt/ti99sim/cartridges

Finally, plug in your USB controller. Then start the Pole Position TI99/4A game in fullscreen NTSC mode:

/opt/ti99sim/bin/ti99sim-sdl --fullscreen=2 --NTSC --joystick1=1 polepos.ctg &

This is what it looked like on my Lenovo ThinkPad 480 laptop:

pole position on ti99sim-sdl

Have lots of fun!

Kalevi Kolttonen <kalevi@kolttonen.fi>

Helsinki, Finland