While the simulation of hardware circuits is in no way problematic with respect to copyright (since we produce a new system by observing the behavior of the original one), the distribution of memory contents is generally subject to copyright, and unlicenced distribution is considered an offense by most jurisdictions.
Some countries know exemptions in the case of legacy software that is not runnable without the hardware, when the hardware is not available anymore. Other countries do not have corresponding exemptions. So you have to be aware of the following:
Consequently, I will not provide links for downloading these files. Find out by yourself how to get them. The safest way (from a legal standpoint) is to dump the contents from the real equipment if you own such a system.
At least for the TI-99/8 we have a written consent from TI that the ROM contents may be freely distributed. For TI-99/8 ROMs have a look at Planet99.net (login required).
Rumours are that you should also try the FTP site of WHTech.
The ROM dumps used for the TI emulations can be identified by this list. The required files must be present when starting the emulation. If an optional file is missing, the emulation will run, provided that the affected component that needs the ROM is not accessed. You will get a warning message stating that ROMs are missing and that the emulation will probably not run correctly.
Systems may be parents of others. In that case, the child systems borrow the ROM files from the parents if they do not have them in their own ZIP file. This means that if you have the ti99_4a.zip file, you can always launch the European version ti99_4ae since all files are equal, and the ti99_4a is the parent of ti99_4ae.
- ti99_4 is the parent of ti99_4e (european version)
- ti99_4a is the parent of ti99_4ae and ti99_4ev
- ti99_8 is the parent of ti99_8e
MAME is tolerant about the file names inside the ZIP files; the only important key is the hash code. ROM contents are compared by their hash code to make sure that the contents are authentic. Files may be renamed within the ZIP files.
The following table refers to MAME versions 0.212 and higher. The ROM dumps are distributed over a set of ZIP files. Each ZIP file corresponds to a single system or peripheral extension.
Main systems
These are the ROMs for the consoles, the Geneve, and the SGCPU.
TI-99/4A (ti99_4a)
Also comprises the European version (ti99_4ae)
File name | CRC | SHA-1 | Description |
994a_grom0.u500 | 2445a5e8 | ea15d8b0ac52112dc0d5f4ab9a79ac8ca1cc1bbc | GROM chip 0000-17ff |
994a_grom1.u501 | b8f367ab | 3ecead4b83ec525084c70b6123d4053f8a80e1f7 | GROM chip 2000-37ff |
994a_grom2.u502 | e0bb5341 | e255f0d65d69b927cecb8fcfac7a4c17d585ea96 | GROM chip 4000-57ff |
994a_rom_hb.u610 | ee859c5f | a45245707c3dccea902b718554a882d214a82504 | ROM chip 0000-1fff high bytes |
994a_rom_lb.u611 | 37859301 | f4e774fd5913b387a763f1b8de5524c54b255434 | ROM chip 0000-1fff low bytes |
TI-99/4A modified for use with EVPC (ti99_4ev)
Inherits from ti99_4a
File name | CRC | SHA-1 | Description |
994ev_grom1.u501 | 6885326d | 1a98de5ee886dce705de5cce11034a7be31aceac | Modified GROM chip 2000-37ff |
TI-99/4QI (ti99_4qi)
Inherits from ti99_4a
File name | CRC | SHA-1 | Description |
994qi_grom0.u29 | 8b07772d | 95dcf5b7350ade65297eadd2d680c27561cc975c | Modified GROM chip 0000-17ff |
Geneve 9640 (geneve)
File name | CRC | SHA-1 | Description |
genbt098.bin | b2e20df9 | 2d5d09177afe97d63ceb3ad59b498b1c9e2153f7 | Boot EPROM v0.98 ("Swan") |
genbt100.bin | 8001e386 | b44618b54dabac3882543e18555d482b299e0109 | Boot EPROM v1.00 |
Geneve 9640 modified (genmod)
Reuses the boot EPROM from the Geneve 9640 (v1.00)
File name | CRC | SHA-1 | Description |
gnmbt100.bin | 8001e386 | b44618b54dabac3882543e18555d482b299e0109 | Boot EPROM v1.00 |
SNUG TI-99/4P aka SGCPU (ti99_4p)
Also requires a prepared HSGPL card and the EVPC.
File name | CRC | SHA-1 | Description |
sgcpu_hb.bin | aa100730 | 35e585b2dcd3f2a0005bebb15ede6c5b8c787366 | ROM 0000-7FFF high bytes |
sgcpu_lb.bin | 2a5dc818 | dec141fe2eea0b930859cbe1ebd715ac29fa8ecb | ROM 0000-7FFF low bytes |
TI-99/8 (ti99_8)
May use the HX5102 as storage. TI-99/4A expansion cards are not guaranteed to work.
ROM file | CRC | SHA-1 | Description |
cd2325a.vsm | 1f58b571 | 0ef4f178716b575a1c0c970c56af8a8d97561ffe | Speech ROM chip 1 |
cd2326a.vsm | 65d00401 | a367242c2c96cebf0e2bf21862f3f6734b2b3020 | Speech ROM chip 2 |
g0_f830.bin | 1026db60 | 7327095bf4f390476e69d9fd8424e98ea1f2325a | GROM 0 at address F830 (System) |
g1_f830.bin | 93a43d65 | 19be8a07d674bc7554c2bc9c7a5725d81e888e6e | GROM 1 at address F830 |
g2_f830.bin | 06f2b901 | f65e0fcb2c63e230b4a9563c72f91259b94ce955 | GROM 2 at address F830 |
g0_f840.bin | 44501071 | 4b5ef7f1aa43a87e7ae4f02090944be5c39b1f26 | GROM 0 at address F840 (Text-to-Speech) |
g1_f840.bin | 5a271d9e | bb95befa2ffba2cc17ac437386e069e8ff621248 | GROM 1 at address F840 |
g2_f840.bin | d52502df | 17063e33ee8709d0df8030f38bb92c4322d55e1e | GROM 2 at address F840 |
g3_f840.bin | 86c12396 | 119b6df9211b5399245e017721fc51b88b60879f | GROM 3 at address F840 |
g4_f840.bin | f17a2ef8 | dcb044f71d7f8a165b41f39e35a368d8f2d63b67 | GROM 4 at address F840 |
g5_f840.bin | 7dc41301 | dff714da68de352db93fba309db8e5a8ae7cab1a | GROM 5 at address F840 |
g6_f840.bin | 7e310a90 | e927d8b3f8b32aa4fb9f7d080d5262c566a77fc7 | GROM 6 at address F840 |
g7_f840.bin | 3a9d20df | 1e6f9f8ec7df4b997a7579be742d0a7d54bc8763 | GROM 7 at address F840 |
g0_f850.bin | 2d948672 | cf15912d6dae5a450e0cfd796aa36ea5e521dc56 | GROM 0 at address F850 (P-Code library 1) |
g1_f850.bin | 7d64a842 | d5884bb2af21c8027311478ee506beac6f46203d | GROM 1 at address F850 |
g2_f850.bin | e5ed8900 | 03826882ce10fb5a6b3a9ccc85d3d1fe51979d0b | GROM 2 at address F850 |
g3_f850.bin | 87aaf19e | fdbe163773b8a30fa6b9508e679be6fa4f99bf7a | GROM 3 at address F850 |
g4_f850.bin | d3e789a5 | 5ab06aa75ca694b1035ce5ac0bebacc928721388 | GROM 4 at address F850 |
g5_f850.bin | 49fd90bd | 44b2cef29c2d5304a0dcfedbdcdf9f21f2201bf9 | GROM 5 at address F850 |
g6_f850.bin | 31bac4ab | e29049f0597d5de0bfd5c9c7bfea902abe858010 | GROM 6 at address F850 |
g7_f850.bin | 71534098 | 75e87123efde885e27dd749e07cb189eb2cc45a8 | GROM 7 at address F850 |
g0_f860.bin | 0ceef210 | b89957fbff094b758746391a69dea6907c66b950 | GROM 0 at address F860 (P-Code library 2) |
g1_f860.bin | fc87de25 | 4695b7f979f59a01ec16c55e4587c3379482b658 | GROM 1 at address F860 |
g2_f860.bin | e833e350 | 6ffe501981a1112be1af596a489d96e287fc6be5 | GROM 2 at address F860 |
u25a_pas.bin | d7ed6dd6 | 32212ce6426ceccbff73d342d4a3ef699c0ae1e4 | ROM (16K) containing Pascal support |
u25_rom1.bin | b574461a | 42c6aed44802cfabdd26b565d6e5ddfcd689f11e | ROM containing ROM1 (16K), Text-to-speech DSR (8K), Hexbus DSR (8K) |
u4_rom0.bin | 901eb8d6 | 13190c5e834baa9c0a70066b566cfcef438ed88a | ROM0 (only used in 99/4A mode) |
TI-99/4 (ti99_4)
Less successful predecessor of the TI-99/4A.
File name | CRC | SHA-1 | Description |
994_grom0.u500 | aa757e13 | 4658d3d01c0131c283a30cebd12e76754d41a84a | GROM chip 0000-17ff |
994_grom1.u501 | c863e460 | 6d849a76011273a069a98ed0c3feaf13831c942f | GROM chip 2000-37ff |
994_grom2.u502 | b0eda548 | 725e3f26f8c819f356e4bb405b4102b5ae1e0e70 | GROM chip 4000-57ff |
994_rom_hb.u610 | 6fcf4b15 | d085213c64701d429ae535f9a4ac8a50427a8343 | ROM chip 0000-1fff high bytes |
994_rom_lb.u611 | 491c21d1 | 7741ae9294c51a44a78033d1b77c01568a6bbfb9 | ROM chip 0000-1fff low bytes |
TI-99/2 24K (ti99_224)
Uses 24K ROM; earlier prototype. Does not support Hexbus.
File name | CRC | SHA-1 | Description |
rom0000.bin | c57436f1 | 71d9048fed0317cfcc4cd966dcbc3bc163080cf9 | ROM 0000-1FFF |
rom2000.bin | be22c6c4 | 931931d61732bacdab1da227c01b8045ca860f0b | ROM 2000-3FFF |
rom4000.bin | 926ca20e | 91624a16aa2c62c7ebc23128308709efdebddca3 | ROM 4000-5FFF |
TI-99/2 32K (ti99_232)
Uses 32K ROM; later prototype. May use HX5102 as storage.
File name | CRC | SHA-1 | Description |
rom0000.u2a | 01b94f06 | ef2e0c5f0492d7d024ebfe3fad29c2b57ea849e1 | ROM 0000-1FFF |
rom2000.u12 | 0a32f80a | 32ed98481998be295e637eaa2117337cfa4a7984 | ROM 2000-3FFF |
rom4000a.u3 | 10c11fab | d43e0952538e66e2cedc307b71b65cb388cbe8e3 | ROM 4000-5FFF Bank 1 |
rom4000b.u2b | 34dd52ed | e01892b1b110d7d592a7e7f1f39f9f46ea0818db | ROM 4000-5FFF Bank 2 |
Peripheral Expansion Cards
These are cards that are plugged into the Peripheral Expansion Box (PEB).
SNUG BwG disk controller (ti99_bwg)
File name | CRC | SHA-1 | Description |
bwg_dsr.u15 | 06f1ec89 | 6ad77033ed268f986d9a5439e65f7d391c4b7651 | DSR ROM (4 banks) |
SNUG Enhanced Video Processor Card (ti99_evpc)
Runs on ti99_4ev, sgcpu
File name | CRC | SHA-1 | Description |
evpc_dsr.u21 | a062b75d | 6e8060f86e3bb9c36f244d88825e3fe237bfe9a9 | Card DSR |
Myarc Hard and Floppy Disk Controller (ti99_hfdc)
Standard floppy and hard disk controller. Runs with TI-99/4A and Geneve. Supports 2 sides, single (9) and double (18) density, and 40 or 80 tracks.
File name | CRC | SHA-1 | Description |
hfdc_dsr.u34 | 66fbe0ed | 11df2ecef51de6f543e4eaf8b2529d3e65d0bd59 | Card DSR |
Myarc Memory Expansion Card MEXP-1 (ti99_myarcmem)
Configured to run with Myarc Extended Basic II.
File name | CRC | SHA-1 | Description |
myarc512k_xb2_dsr.bin | 41fbb96d | 4dc7fdfa46842957bcbb0cf2c37764e4bb6d877a | Card DSR |
P-Code Card (ti99_pcode)
Card has a master enable/disable switch (check DIP settings).
File name | CRC | SHA-1 | Description |
pcode_grom0.u11 | 505e5df0 | 66911fba7599c64981180f8a673581f4b05941ff | Card GROM 0000-17FF |
pcode_grom1.u13 | 63b546d5 | 3d830c8bdac102275ec0702eff1ebf4b67484f52 | Card GROM 2000-37FF |
pcode_grom2.u14 | 28821e5c | c147bd5d8d624caa690284bfc253c6699e3518d4 | Card GROM 4000-57FF |
pcode_grom3.u16 | 1db4a4a5 | f7a0ba8050f00ccc1ee328c66df5cc4269748ced | Card GROM 6000-77FF |
pcode_grom4.u19 | 9618eb9b | 1f223f3febcb93e648cefe49c83bfeac802be9d6 | Card GROM 8000-97FF |
pcode_grom5.u20 | c47efe6d | f5b56c7de1cb1e7345a0716d35f00a3a9722febe | Card GROM A000-B7FF |
pcode_grom6.u21 | 06a34c93 | 56172c56afa3868f2098328f81881022230d949d | Card GROM C000-D7FF |
pcode_grom7.u22 | a09ca8d9 | 2ea33d875f9c8e7c00df023a0d8d4461d50f0a87 | Card GROM E000-F7FF |
pcode_rom0.u1 | 3881d5b0 | a60e0468bb15ff72f97cf6e80979ca8c11ed0426 | Card ROM 4000-4FFF |
pcode_rom1.u18 | 46a06b8b | 24e2608179921aef312cdee6f455e3f46deb30d0 | Card ROM 5000-5FFF 2 Banks |
TI Floppy Disk Controller Card (ti99_tifdc)
Supports 2 sides, FM recording (single density), and 40 tracks.
File name | CRC | SHA-1 | Description |
fdc_dsr.u26 | 693c6b6e | 0c24fb4944843ad3f08b0b139244a6bb05e1c6c2 | Card DSR 4000-4FFF |
fdc_dsr.u27 | 2c921087 | 3646c3bcd2dce16b918ee01ea65312f36ae811d2 | Card DSR 5000-5FFF |
TI RS232/PIO Card (ti99_rs232)
Provides two serial interfaces and one parallel interface. May be used twice in the system to get two more serial interfaces and one more parallel interface. Check DIP settings for CRU base.
File name | CRC | SHA-1 | Description |
rs232pio_dsr.u1 | eab382fb | ee609a18a21f1a3ddab334e8798d5f2a0fcefa91 | Card DSR 4000-4FFF |
Other devices
GRAMKracker (ti99_gkracker)
To be used in the GROM port (cartridge slot).
File name | CRC | SHA-1 | Description |
gkracker.bin | 86eaaf9f | a3bd5257c63e190800921b52dbe3ffa91ad91113 | GK loader |
Speech Synthesizer (ti99_speech)
Also used as a peripheral card (using an adaptor card)
File name | CRC | SHA-1 | Description |
cd2325a.u2a | 1f58b571 | 0ef4f178716b575a1c0c970c56af8a8d97561ffe | Speech ROM 128 Kbit |
cd2326a.u2b | 65d00401 | a367242c2c96cebf0e2bf21862f3f6734b2b3020 | Speech ROM 128 Kbit |
HX5102 Hexbus Floppy Drive (ti_hx5102)
Used with TI-99/8 and TI-99/2 32K. Supports 2 sides, single (9) or double density (16 sectors) and 40 or 77 tracks.
File name | CRC | SHA-1 | Description |
hx5102_rom1.u25 | 40621a77 | 1532f6f23e0104326c21909cb0ec46936242a12a | Drive firmware 8K |
hx5102_rom2.u29 | 57c2603b | 2f1d01378943436f0abd5b20710f6c8c175fde13 | Drive firmware 8K |