History
Well, here's my contribution to the TI-99/4A community. A few years back, I thought it would be neat to be able to play my old TI games on my PC. Instead of doing the smart thing (looking for an existing emulator), I sat down and wrote my own. At first is was a simple text-based simulation of the TI. Then I added graphical support for the OS/2 Presentation Manager. When I got bored with that, I ported it to Windows and added sound support. Now I've decided to try my hand at a Linux/cross-platform version. In the spirit of Linux and Open Source, I'm releasing the code under the GPL license.
Note: In order to run the emulator, you need to create a cartridge that contains the console ROM & GROMs from the TI. Texas Instruments will not allow these to be distributed, so you'll need to find a way to get them yourself. Please don't e-mail me asking for a copy - I won't even bother to respond. If you have a working copy of v9t9, instructions are included to help you create the required cartridge.
What's New
14-Jul-2012
Version 0.0.11: It's been a while, but this project is still alive. There hasn't been any single feature that warranted a new release, but since it's been so long since the last release, I thought I'd make a new one. The biggest change is the support for 64-bit systems. New Makefiles should make it easier to build on the Mac. There have also been a number of minor changes to the utilities and internal code (see the README file for details). Finally, limited support for CF7+/nanoPEB images has been added.
20-Sep-2003
Version 0.0.10: Minor improvements to some of the utilities and a fix for the install. The most notable improvement to the utilities is the ability to read .ark files (files compressed using Barry Boone's archiver). Using the disk utility, files in an archive can be extracted to a file and added to an existing disk image (oh yeah, disk can now add files as well).
30-Aug-2003
Version 0.0.9: Finally, ti99sim now runs on Mac OS X! I managed to convince my brother to let me play around on his Mac in an effort to get ti99sim working. The good news: It compiles and runs just fine on the Mac (last time I checked). The bad news: 1) I don't currently have access to the Mac, so no Mac release in the archives yet. 2) I'm not familiar enough with Mac OS X to make a proper install package. In order to use ti99sim, you'll need to open a terminal window and use the command line (just like everybody else).
For those of you that don't have a Mac, this release also adds resizable window support, new scaling routines (Scale2X & Scale3X from the AdvanceMAME project) for double-size and triple-size windows, an alternate color palette selection, selectable master volume level, and several minor improvements. There is also a new utility that will let you play speech samples from the speech synthesizer ROM from the command line.
30-Aug-2002
Version 0.0.8: Changes include: improved support for international keyboards, more accurate clock cycle emulation, proper support of reduced frame rates, better audio quality under Windows NT, and a verbose
mode added to most programs. Emulation of the TMS9901 has also been rewritten to provide programs access to the chip's timer mode. There is also a new utility: dumpspch. This program allows you to dump a valid TI Speech ROM to either a hexadecimal or parsed text file. The parsed file allows you to more easily edit the individual LPC-10 speech frames. The modified file can then be converted back to a valid spchrom.bin file using mkspch. The decode utility has also been reworked to do a better job at detecting and recovering audio data from .wav files. The number of different .wav file formats supported has also been expanded. The README.html file has been updated and cleaned up as well.
06-Dec-2001
Version 0.0.7: There was a bug in the convert-ctg utility released in v0.0.6 that resulted in the inability to create a DSR cartridge (which meant no disk I/O). The TMS9918A (VDP) emulation support has also been improved and includes multicolor mode support, 4 sprite/line limit, 5th sprite detection, and coincidence checking. A few more minor changes and one new utility: list - a simple command line tool to list a TI BASIC/Extended BASIC program.
Features
General
- Emulation of the TI-99/4A Home Computer.
- Core emulator written in C for portability to multiple platforms.
- Tracks the emulated CPU speed so it runs at the right speed even on the fastest processors.
- Runs under Linux, Mac OS X, and Win32 (Windows 9X, Windows NT)
- Speed is kept as close as possible to the actual speed of the TI.
- Supports banked cartridges (like TI Extended BASIC).
- 32K RAM Expansion emulation.
- Save/restore the complete computer state (So you can pick up that game you were playing right where you left off).
- Save/restore the contents of battery-backed RAM cartridges (Mini-Memory, Gram Kracker™, etc…) to disk when cartridge is removed.
- Support for Gram Kracker™ emulation (requires actual GK GROM images).
- TMS9901 emulation support.
Graphics
- Uses SDL for graphics, sound, and joysticks - supports X11 and Win32.
- All documented modes emulated.
- Full sprite support: 4 sprite per line limit / co-incidence checking / 5th sprite flag/index.
- Scalable & Resizable window.
- Full screen mode.
Sound Support
- Three voice support using native sound device.
- Noise generation supported.
Speech Synthesis
- Access the built-in speech ROM (TI Extended BASIC). NOTE: Requires a speech synthesizer ROM dump.
- Modules with external speech samples (Parsec, Alpiner, Terminal Emulator II, ...).
Joystick Support
- Hardware joystick support.
- Emulated joystick using the numeric keypad.
Disk Support
- Emulation of the floppy disk controller (currently limited to SSSD and DSSD images).
- Complete read/write support for floppy disks. NOTE: Requires a TI disk controller ROM dump.
- Supports disk images created by AnaDisk, v9t9, PC99, and CF7+.
- The disk utility can convert between formats, add, remove, and extract files.
Coming soon
- Cassette I/O support.
- Add a GUI and port menus/hot-keys/features from Windows version.
Programs included
- ti99sim-sdl - The SDL based version of the emulator.
- ti99sim-console - A simple, text-based emulator with an MG Explorer style interface.
- convert-ctg - A utility to convert various files to the cartridge format used by ti99sim. It will convert cartridge files on a TI disk created by a Gram Kracker™, specially formatted hex dumps, and .hex/.bin files from v9t9 to the native cartridge file format.
- decode - A simple program to convert a .wav file recording of a TI audio tape into a binary file. Supports all integer PCM formats (8/16/32-bit, mono/stereo/multi-track).
- disk - A simple program to display a listing of files on a TI disk image created by AnaDisk, v9t9, or PC99. All disk densities are supported, from SSSD to DSDD. In addition to listing disk contents, it can add and delete files to/from the disk image as well as extract files from a disk image to
normal
PC files or v9t9 FIAD files. - dumpcpu - A TMS9900 disassembler that will dump the ROM code in a cartridge file.
- dumpgrom - A GPL disassembler to dump the contents of GPL code in a cartridge.
- dumpspch - A utility to dump the contents of the TI Speech ROM to a text file.
- list - A utility to list TI BASIC/Extended BASIC programs stored in
normal
PC format or FIAD format. - mkspch - A utility to create a spchrom.bin file for the emulator.
- say - A utility to playback speech samples found in the spchrom.bin file.
Latest
ti99sim-0.0.11.x86.tar.gz
ti99sim-0.0.11.amd64.tar.gz
ti99sim-0.0.11.win32.zip
Past versions can be found in the archives.
Requirements
- Simple DirectMedia Layer - A cross-platform multimedia library
- Linux distributions using the provided binaries require gcc 4.6 run-time libraries (libstdc++.so.6, libm.so.6, libgcc_s.so.1, and libc.so.6).
Contact
Interesting TI-99/4A related links
- The TI-99/4A Tech Pages - An excellent collection of all sorts of information about the TI-99/4A.
- TI-99/4A Vendors - A list of companies dealing with the TI.