Last update: March 29th 2023

TI994W - TI99 for Windows

zip file Download Ti994w version 7.2c now
with L99 v1.9.1 (januari 2023)
with XA99 v3.3.a (march 2023)
5.3c added command file interface, see the help file
6.1a added speech (adopted from Tursi's Classic99)
6.2a beautified the sound and speech debug messages
6.2b added option for keyboard buffer and fixed sprite x/y location checks
6.2c added option for setting speed, change colors, 4:3 screen ratio
6.3a added option for setting TI keyboard scan rate and cleaned-up the keyboard code
7.1a added option for configuring a keyboard map for Azerty / Dvorac keyboards
7.1b Clear TI keyboard buffer if shift, ctrl or alt key is released
7.2a Fixed maximize bug when screen in 80 column mode, Added option for Maximum sprite limitation per scanline.
7.2b Fixed small bug in sprite priority table.
7.2c Added enable mouse option.
zip file Download 80 column tests

When using the v38xxxx tests, use the editor assembler module option 5. When program is started you can try the following keys: [0-3] show screen 0-3, [+] one scanline up, [-] one scanline down, [enter] display some info, [Q] quits. Also see the V9938 manual. You can find one here "ftp://ftp.whtech.com/".

This is my own written TI99/4A emulator which I use for testing, creating software and debugging. I started the creation of this emulator since I had Windows-98 and have used it in Windows-NT, Windows 2000, Windows XP, Windows 7-64, Windows 8-64, Windows 8.1-64 and Windows 10-64 bit. All the programs (inclusive the IDE and HDX DSR) I wrote for the TI99/4A are now all written, compiled (C99), assembled (XA99) and linked (L99) on my PC and first tested on TI994W. The final test is always done on a real TI99/4A or Geneve home computer.

Ti994W emulates:

  • A maximum of 64Kb of RAM. The TI99/4A ROM is also loaded at this space.

  • A maximum of 64Kb for GROM

  • A Super AMS card with 1Mb of RAM

  • The TI-keyboard

  • Joystick1 and/or Joystick2

  • DSK, DSK1, DSK2, DSK3, PIO/1, (RS232/1 and RS232/2) devices via very facke DSR routines (DSR1000.BIN)

  • RS232/1 and HDX1 devices

  • DSK, DSK1, DSK2 and DSK3 as a disk on a disk (DOAD)

  • IDE1 through IDE8 with none or one to four partitions per device (DOAD)

  • TMS9918 VDP with Graphics, Text, Multicolor and Bitmap mode and 16Kb of VDP-ram

  • V9938 VDP with all Graphics, Text, Multicolor and Bitmap modes, 128Kb of VDP-ram and 64Kb of expansion-ram

  • Cf7a+ as designed by Jaime Malilong (DOAD)

  • Banked ROM cartridges with a maximum of 16x8Kb

  • Generates sound (adopted from Tursi's Classic99)

  • Generates speech (adopted from Tursi's Classic99)


Ti994w has a build in debugger with witch it is possible to single step in CPU and GPL mode. It is also possible to dis-assemble code, inspect GROM memory and inspect or change CPU or VDP memory and add memory locations to a watch window as byte, word or string.

Ti994w impression An impression of the Ti994w emulator while single stepping in GPL.


Data send to the parallel port will be redirected to the default windows printer. If your default windows printer is a PDF printer then it is easy to create PDF files this way. Data send to one of the serial ports can be redirected to a real COM port of the Windows computer, or can be redirected to a serial-line wich can be connected to the Ti99Print program.

Also the HDX-device is fully functional and can be connected to the Ti99Hdx server program via a real COM port of the Windows computer or a serial-line (simulated COM port).

Warning: goto_ti99geek.html could not be included.