- Details
- Category: Information
MAME has undergone some rare, but important changes in usage that users should be aware of. In particular, when many releases are skipped, things may suddenly appear broken, but there may have been a change a while back.
These changes may require you to modify your existing MAME setup to achieve the same behaviour as before the release.
- Details
- Category: Information
This version log of MAME specifically lists all TI-related changes in the code. Have a look here to see whether the latest release adds interesting features for you.
|
Version |
Release date | Git Revision | New features | Fixes | Bugs or Regressions |
| 0.283 | ? | ? | |||
| 0.282 | 2025-10-31 | 7b051ce4afa | - | - | - |
| 0.281 | 2025-09-25 | 2843a3deb81 | - | - | - |
| 0.280 | 2025-08-30 | ec9abd86c6c | - | - | - |
| 0.279 | 2025-08-01 | 7589dee02c5 | Added 2025 TIPI DSR | State save/restore now works with all cartridges; fixed crash when leaving emulation with unconnected TIPI; BQ4847 indicates good battery | - |
| 0.278 | 2025-06-30 | 9c81bd5615e | SAMS card supports 256, 1024, and 4096 KiB RAM. | HFE format is back again; Corcomp controller does not crash when a drive is accessed that is not connected | - |
| 0.277 | 2025-04-29 | 84cb44566cb | - | - | - |
| 0.276 | 2025-03-30 | 758c8a169a4 | 384K onboard SRAM expansion for Geneve; I/O port splitter; Arcturus sidecar cartridge; Speech synthesizer as sidecar and on adapter card | Behavior of TMS5200, fixes speech synthesis for OPA GROMs | ? |
| 0.275 | 2025-02-26 | 455ffbbd7e6 | - | - | - |
| 0.274 | 2025-01-31 | cd82a83c3dc | - | - | - |
| 0.273 | 2024-12-31 | e11cae0a15a | - | - | - |
| 0.272 | 2024-11-30 | 5d8e4cf07e3 | - | - | - |
| 0.271 | 2024-10-31 | 4da96a0c4fb | - | - | - |
| 0.270 | 2024-09-25 | ef032a31e50 | - | - | - |
| 0.269 | 2024-08-29 | 6d1970f5f10 | - | Fixed TIPI instabilities. Fixed SGPU instabilities in the debugger and on startup (uninitialized variables). | HFE removed from supported formats (will return after rewrite) |
| 0.268 | 2024-07-31 | acea8712d6a | - | When no hard disk image is provided, the emulator does not bail out but simply handles it as unreadable. | - |
| 0.267 | 2024-06-30 | 663abae0716 | - | Fixed ti99_4ev crash when cartridge is inserted during runtime | - |
| 0.266 | 2024-05-31 | cd7817b220f | - | Fixed Horizon Ramdisk latches to be reset with the system reset and Geneve pages c0-df to be kept on-board | - |
| 0.265 | 2024-04-24 | f8af5cc2cff | - | Bug in tms9900.cpp that locked up the emulated TI console on RESET; bug in the multicart connector | - |
| 0.264 | 2024-03-27 | 5b670ad51ff | - | - | - |
| 0.263 | 2024-02-28 | 93d83183259 | - | - | - |
| 0.262 | 2024-01-31 | d48a61f9210 | - | - | - |
| 0.261 | 2023-11-28 | ca50094e8d5 | - | - | - |
| 0.260 | 2023-10-24 | 0a7f1fe9cf0 | - | - | - |
| 0.259 | 2023-09-29 | 4ff20056c3d | - | - | HX5102 sometimes fails to read an MFM disk (starts with FM instead of MFM) |
| 0.258 | 2023-08-29 | 2e0aa823508 | Support for updated TIPI DSR | Fixed HX5102 problems with DSDD | - |
| 0.257 | 2023-07-28 | f811a66c530 | - | - | - |
| 0.256 | 2023-06-27 | b41370db026 | - | - | TI-99/8 only reads DSDD disks with -oslog on some computers |
| 0.255 | 2023-05-31 | c6650dc0721 | - | - | Build fails for Raspbian since commit a504bde3a (update to LZMA 22.01). See building for Raspi. |
| 0.254 | 2023-04-26 | bfa8d724a00 | - | - | - |
| 0.253 | 2023-03-31 | b6d9756c5e0 | - | - | - |
| 0.252 | 2023-02-22 | fb98822c349 | - | 0.251 regression fixed | - |
| 0.251 | 2022-12-31 | 34e6ec1ef82 | - | - | All TI drivers (from TI-99/xx to Geneve) crash with segfault; fixed with revision 2bfe2358fb9 |
| 0.250 | 2022-11-29 | b7cbe74c4be | - | - | - |
| 0.249 | 2022-10-27 | 91c5b9eceab | - | Changed Genmod DIP defaults | - |
| 0.248 | 2022-09-27 | 2d3d0deec8f | - | - | - |
| 0.247 | 2022-08-31 | fa2d36c6347 | - | - | - |
| 0.246 | 2022-07-31 | 205b03897c6 | - | TIPI card working with real Raspberry | - |
| 0.245 | 2022-07-01 | 03c2563b592 | - | Added AMA/B/C dec to DDCC-1, req by Genmod; fixed tipi async mode; CRU 1800 default for tipi | - |
| 0.244 | 2022-05-25 | bcf77373a5f | - | 9995 decrementer; cartridges with smaller ROMs than 8K; gromemu now allows up to 4096 banks | - |
| 0.243 | 2022-04-29 | addbb8ab40b | TIPI async mode | TIPI debugging, stability; TMS9901 counter update by S0 | - |
| 0.242 | 2022-04-01 | e8166b52740 | TIPI emulation | Geneve/Genmod debugging | HFE format writing disabled |
| 0.241 | 2022-02-24 | 31f001e5019 | - | DSK4 motor now operated by DDCC1; P-Code card works in debugger | Debugger does not work in Genmod ("Bad RAM") |
| 0.240 | 2022-01-26 | f0ab44fe1c8 | - | - | - |
| 0.239 | 2021-12-29 | 80bcaea1ed9 | WHTech SCSI card (without Block mode DMA); new Geneve boot EPROM 2.0 | - | No reading/writing to DSK4 at DDCC1 |
| 0.238 | 2021-11-24 | fb21b789040 | - | - | - |
| 0.237 | 2021-10-26 | 34d8357465c | - | - | - |
| 0.236 | 2021-09-29 | 5e865af5405 | - | - | - |
| 0.235 | 2021-08-31 | ec9ba6fa76c | - | - | - |
| 0.234 | 2021-07-28 | 2633c19a68f | - | - | - |
| 0.233 | 2021-07-01 | 05d0cf61e7f | - | HFDC hangs with not connected drives; now also using timed steps for sector I/O instead of buffered steps only | - |
| 0.232 | 2021-05-27 | 2b0f01bc3ae | - | - | - |
| 0.231 | 2021-04-28 | 1f221136613 | - | Changed default floppy step rates and Corcomp monoflop config | - |
| 0.230 | 2021-03-31 | 943c06cba08 | - | IDE card AME/AMD decoding | - |
| 0.229 | 2021-02-24 | 4322eaae9d6 | - | Debugger write for Geneve | - |
| 0.228 | 2021-01-27 | 140f4469331 | - | - | ARM build broken (Raspi), fixed with fd5fb05acee |
| 0.227 | 2020-12-31 | d85735634cd | - |
Horizon RAMDisk reimplemented; paged378 cartridges mirror smaller ROMs; corrected fill byte after data CRC in HFDC |
- |
| 0.226 | 2020-10-28 | 3c56452b07a | - | BQ4847 is correctly detected by IDEDSR | - |
| 0.225 | 2020-09-29 | 5a1fd0cc172 | SID Master 99 | Gromemu type allows for bank-switched ROMs | Horizon RAMDisk broken |
| 0.224 | 2020-08-25 | 5892c78a152 | - | - | - |
| 0.223 | 2020-08-06 | c55a261d26d | TI-99/2 Expansion port and 32K expansion | Debugger write to PEB from TI-99/4A (regression from release 0.173) | - |
| 0.222 | 2020-06-26 | 6d50d60a43b | - | Changed default switch setting in IDE controller; fixed some issues in clock chips | - |
| 0.221 | 2020-05-19 | e8a0e0469b0 | PGRAM(+) card, IDE controller with clock chip selection | IDE controller with RTC-65271 | - |
| 0.220 | 2020-04-05 | c5c5723b9d5 | CorComp and Myarc DDCC-1 floppy controllers, FORTi card | Stale datamux byte cleanup | - |
| 0.219 | 2020-02-29 | 221f0064426 | Selectable EVPC memory size | - | - |
| 0.218 | 2020-02-02 | 0e2a252d309 | Low-level emulation of the Geneve mainboard (Gate Array, PAL, Genmod) |
TI-99/2 floppy loads program files with more than 1 sector; fixed datamux so that Ambulance runs again; Cassette working again |
- |
| 0.217 | 2019-12-25 | 13997a8f317 | - | Sound wait states | - |
| 0.216 | 2019-11-27 | b8b7c7e232 | - | - | - |
| 0.215 | 2019-10-30 | e9ef4808dd | - | - | - |
| 0.214 | 2019-09-25 | 24d07a12d7 | Pluggable keyboard for the Geneve | - | - |
| 0.213 | 2019-09-04 | f7172322a2 | Mouse optional for EVPC and Geneve, must be plugged explicitly. This prevents mouse pointer capturing in Windows when mouse is not needed. | - | - |
| 0.212 | 2019-07-31 | 1182bd9325 | - | CRU base address setting for RS232 | Cassette operations |
| 0.211 | 2019-06-27 | 1b969a8acb | - | - | - |
| 0.210 | 2019-05-30 | ad45c9c609 | - | TMS9901 counter now counts at all times, not only when set to non-null. | - |
| 0.209 | 2019-04-24 | 2b317bf296 gcc < 9 |
- |
Fixed CRU multi-bit operations with *Rx+; fixed TI FDC issues with Geneve GPL mode; fixed SGCPU regression with CRU operations |
- |
| 0.208 | 2019-03-27 | 9483624864 | - | Fixed Geneve GPL mode, fixed status bits (C and OV) for SLA and INV | - |
| 0.207 | 2019-02-27 | 40fc33967c | - | - | Geneve GPL mode lockup (e12e17ce8) |
| 0.206 | 2019-01-30 | cf02fe333a | - | - | Changes in key mappings (757436bbfb) |
| 0.205 | 2018-12-26 | b691c38273 | - | Reject cartridges with more than 2 MiB dump size to avoid mem corruption | Cassette operations broken in 99/8 (since 0.198) |
| 0.204 | 2018-11-28 | c6150e7542 | - | - | - |
| 0.203 | 2018-10-31 | b57a140101 | - | - | - |
| 0.202 | 2018-09-26 | 856478fbda | - | - | - |
| 0.201 | 2018-08-29 | 4dc302ed05 | All disk formats (DSK, DTK, HFE) allow for 16 sectors/track; HX5102 working with 99/2 | Formatting works in 99/8 (also when changing densities); track dumps now working safely in PC99. Full cassette support for 99/2(32K). Unneeded cassette channel (Ch.1) removed. | - |
| 0.200 | 2018-07-25 | ff19cd3977 | - | - | - |
| 0.199 | 2018-06-27 | f2e805a153 | BIOS selection for Geneve; GenMod now a separate driver (check ROM zips) | Double density for HX5102 (HFE format only) | - |
| 0.198 | 2018-05-30 | c5f6a62d59 | TI-99/2 running; HX5102 can host two drives | Fixed interrupt latching in 9995 (for 99/2); OSD blank disk creation; double-sided disks with HX5102 | HX5102 cannot handle double density |
| 0.197 | 2018-04-25 | 74293f8247 | Hexbus floppy HX5102 working | Read track for TIFDC; can now load Diskassembler from MG | HX5102 cannot handle double-sided disks |
| 0.196 | 2018-03-28 | e8f2016076 | - | - | - |
| 0.195 | 2018-02-28 | e44e85b8ef | - | - | - |
| 0.194 | 2018-01-31 | 5be2496d0c | Selectable VRAM size for Geneve | Debugging in cartridges, esp. MiniMemory | - |
| 0.193 | 2017-12-27 | bf28b347fb | - | Removed auto-waitstates from Geneve | - |
| 0.192 | 2017-11-29 | d771f54227 | - | - | - |
| 0.191 | 2017-10-25 | a5db728b9c | - | - | - |
| 0.190 | 2017-09-27 | f57574c238 | - | - | - |
| 0.189 | 2017-08-30 | 2beedc540f | - | - | - |
| 0.188 | 2017-07-26 | 7b45ec19f1 | Hexbus WIP | - | - |
| 0.187 | 2017-06-28 | 1d9648b01c | Hexbus early WIP; new cartridge type "paged7" for TI-CALC | - | - |
| 0.186 | 2017-05-31 | e4c6cb15e0 | Rearranged bus/ti99 source subtree; introduced ioport as a slot (PEB must now be plugged in) | - | - |
| 0.185 | 2017-04-26 | fe01a1342c | - | - | - |
| 0.184 | 2017-03-29 | 7768128734 | Bus mouse is a separate device, can be used with EVPC now | TI-99/4 crashes; jerky Geneve mouse; debugging for TI-99/8; sector read on HFDC | - |
| 0.183 | 2017-02-22 | c207031 | - | - | - |
| 0.182 | 2017-01-25 | dc374ba | - | - | - |
| 0.181 | 2016-12-27 | bbeda6a | - | - | - |
| 0.180 | 2016-11-29 | cfc8419 | - | Fixed state saving | - |
| 0.179 | 2016-10-26 | 32b7e58 | - | - | - |
| 0.178 | 2016-09-28 | 012d47d | HxC HFE format support, MAME state save capability; improved performance for 99/8 | Tag for MEXP-1 RAM (led to error on start) | TI-99/4 unstable, presumably buffer overflow |
| 0.177 | 2016-08-31 | 1ecb023 | New floppy sounds | Stuck INT line in TMS9902; RS232 line mapping; issues with deleted marks in single density; double stepping; debugger access to cartridge | - |
| 0.176 | 2016-07-27 | 4887ce1 | - | - | - |
| 0.175 | 2016-06-29 | 63f9a01 | - | - | - |
| 0.174 | 2016-05-25 | 68785dc | Per-chip system ROM dumps, new cartridge ZIP files (download from WHTech), split "paged" into "paged16k" (Atarisoft) and "paged12k" (Extended Basic); | Fixed GROMEMU, fixed MBX, multi-cart can be switched without reset | - |
| 0.173 | 2016-04-27 | cfee536 | GROMs rewritten as synchronous devices; TI-99/8 mainboard rewritten; Horizon with 8M setting | HOLD behavior of TMS9995; issues with paged37x cartridges; missing AlphaLock on SGCPU | GROMEMU cartridges broken |
| 0.172 | 2016-03-30 | 913ab1e | - | - | AlphaLock does not work for SGCPU |
| 0.171 | 2016-02-24 | 3abcaee | - | - | - |
| 0.170 | 2016-01-27 | b1d6f6d | - | - | - |
| 0.169 | 2015-12-30 | 4afd75e | - | - | - |
| 0.168 | 2015-11-25 | 0825ce4 | - | - | - |
| 0.167 | 2015-10-28 | 47f5637 | - | Speech working again | - |
| 0.166 | 2015-09-30 | 8e4ced4 | - | - | Speak command only works after preceding Speak External |
| 0.165 | 2015-08-26 | efa3a67 | PFM512 support for Geneve; Floppy drive sounds; Cartridge types paged377, paged378 (no GROM yet); HFDC switch "wait for HD" (TB 3) | Track dump images working again. 32K expansion mod is off by default now (turn on in OSD menu or choose 32kmem card) | - |
| 0.164 | 2015-07-29 | 1b452e3 | Modern low-level MFM hard disk emulation. Removed legacy floppy emulation. | PIO fixed (no more lockups) | Track dump images (dtk) may show CRC errors. |
| 0.163 | 2015-06-24 | d1583b9 | Removed legacies 'tifdcleg' and 'bwgleg' | - | - |
| 0.162 | 2015-05-27 | 64e16ca | MAME and MESS distributed as one single application | - | - |
| 0.161 | 2015-04-29 | 76b978d | - | - | - |
| 0.160 | 2015-03-25 | 0147bb4 | Added a non-toggling Alphalock key for use with physical keyboards | UCSD Pascal disks do not crash the emulation anymore | - |
| 0.159 | 2015-02-25 | 6ae44e4 | - | - | - |
| 0.158 | 2015-01-28 | 26e7a17 | - | - | - |
| 0.157 | 2015-01-03 | e6f78d5 | - | - | - |
| 0.156 | 2014-11-26 | ebeaa95; switched from svn | - | - | - |
| 0.155 | 2014-10-15 | svn 32761 | - | BwG saves double density data again | - |
| 0.154 | 2014-07-23 | 31396 | Modern floppy emulation for HFDC (old one remains 'hfdc', new one is 'hfdcnew') | - | - |
| 0.153 | 2014-04-07 | 29406 | Modern floppy system for TI FDC and BwG (old ones renamed to 'tifdcleg' and 'bwgleg') | Several fixes in HSGPL | HSGPL still found to crash when initializing GRAM; new BwG corrupts image on write (MFM) - bwgleg still working |
| 0.152 | 2013-12-24 | 26738 | TI-99/8 with working Pascal | Fixed BwG double density and TI FDC issues | - |
| 0.151 | 2013-11-09 | 26005 | Improved timing by split memory access | tms9995: Fixed decrementer bug; improved debugger access | - |
| 0.150 | 2013-09-17 | 25362 | TI-99/4QI available | BwG controller DIP setting defaults to DSK1-DSK4. HSGPL SCON subprogram now working. RS232 dropouts fixed. | - |
| 0.149 | 2013-06-12 | 23624 | (Almost) All cartridges available via software list | Introduced a new cartridge type "gromemu" which allows for 8K "GROM emulations" | DSK2 and DSK3 yield IO error 6 with tifdc. BwG corrupts file on write. |
| 0.148 | 2013-01-11 | 20193 | Accepts TI99-PC disk images with bad sector map | TMS99xx overflow bit; HDC9234 flag for setting delete mark | - |
| 0.147 | 2012-09-17 | 17960 | Cycle-precise CPU; LOAD interrupt; configurable RESET trigger in cartslot; VDP memory now visible in Debugger | READY line-driven speech output | - |
| 0.146 | 2012-05-21 | 17371 (u5) MAME / MESS merge | - | - | 8K GROM cartriges stopped working (e.g. RXB) |
| 0.145 | 2012-02-07 | - | Complete architectural redesign | - | - |
| 0.144 | 2011-11-15 | - | - | Fixed problems with GRAM Kracker | - |
| 0.143 | 2011-06-29 | - | Full RS232 connectivity | HSGPL flashing; SAMS fix; no more HSGPL crash with plugged-in cartridge | - |
| 0.142 | 2011-04-04 | - | Configurable v9938 RAM (128/192), MEMEX emulation | Multicolor mode | - |
| 0.141 | 2011-01-09 | - | - | - | HSGPL flashing does not work |
| 0.140 | 2010-10-31 | - | - | - | - |
| 0.139 | 2010-08-01 | - | GRAM Kracker. Paged379i cartridges can now host 128 KiB. EVPC fully configurable. | HSGPL, SGCPU, EVPC. Lots of small fixes, now all working properly. | IDE support (required rewrite) |
| 0.138 | 2010-05-22 | - | Reorganized configuration; selectable speed for disk drives | HFDC and its chipset are completely rewritten. No more crash when formatting disks/hd with HFDC. Changed speech processor to TMC 0285. | HSGPL and SGCPU (TI-99/4P) broken |
| 0.137 | 2010-03-14 | - | Track dump disk images ("PC99") | Defineable noise (-4/-8) corrected | - |
| 0.136 | 2010-01-10 | - | - | Noise generator adjusted for preset noises | - |
| 0.135 | 2009-11-07 | - | New cartridge types: paged379i and pagedcru; chdman now allows to create uncompressed writeable images. | - | - |
| 0.134 | 2009-09-15 | - | - | Fixed chdman; hard drive images stay writeable | - |
| 0.133 | 2009-07-23 | - | P-Code card | ROM-only modules are usable with the automatic cartridge selector | - |
| 0.132 | 2009-06-16 | - | - | - | chdman sets hard drive to read-only after conversion |
| 0.131 | 2009-05-03 | - | Multi-cartridge handling with complex images | Port control fixed (CRU); TI-99/8 declared working again. | - |
| 0.130 | 2009-03-10 | - | - | - | TI-99/8 locks up on startup. Declared GAME_NOT_WORKING. |
| 0.129 | 2009-01-06 | - | Geneve got a dip switch to toggle between the version 0.9 ("Swan") and version 1.0 boot eprom. | - | - |
| 0.128 | 2008-10-20 | - | - | Geneve hard disk regression fixed. Real-time clock init fixed (DOW was incorrectly set). Natural keyboard now takes F12 as QUIT instead of ESC (TI-99) | - |
| 0.127 | 2008-08-25 | - | - | - | Geneve can't read hard drive images. |
| 0.126 | 2008-07-08 | - | Mini Memory keeps contents in NVRAM. | Peripheral cards (including floppy controllers) work again; mem_mask processing fixed | - |
| 0.125 | 2008-05-10 | - | - | Natural keyboard arrow keys, delete key. | Peripheral cards (including floppy controllers) deactivated. |
| 0.124 | 2008-03-25 | - | - | - | Floppy controllers broken due to mem_mask inverted; natural keyboard arrow keys do not work. |
| 0.123 | 2008-02-09 | - | - | Mechatronic mouse axis swapping resolved; more floppy cleanups; fixed TI99_8 regression and made the floppy drive usable. | - |
| 0.122 | 2007-12-30 | - | - | Refactorings and code cleanups | - |
| 0.121 | 2007-11-24 | - | - | Border is displayed again. | - |
| 0.114 | 2007-04-12 | - | - | Fixed assertion failure for ti99/4a and ti99/8 | - |
| 0.98 | 2005-07-10 | - | - | - | Floppy access broken. |
- Details
- Category: Information
From time to time, I run some benchmarks on various machines for MAME, to be able to give some advice on minimum hardware requirements.
To run MAME, and in particular the TI emulations, your host (PC, Laptop) must offer a minimum performance. You might wonder why a PC with gigahertz CPU may run into trouble when emulating an 80ies computer with 3 Megahertz clock, but the point is that MAME emulates the electrical circuits at a fairly precise level, and while in your real system, lots of things may happen in parallel, this is not the case in emulation.
Here are some tests that show you what you can expect. The percentages show how well the emulator managed to keep pace with the real system; they indicate the number of emulated seconds in relation to the real time seconds. Only when you have a 100% result, the emulation runs at the precise speed; otherwise the running time is stretched. One may also say that the numbers say how much work it has managed to do when the real system did 100%.
PC platform
The following table comprises PC platforms like laptops or desktops. As shown, the TI-99 emulations in MAME run satisfactorily on platforms after 2010.
Raw bench performance
In this table, performance data has been recorded from bare benchmark runs without graphic output. In that case, the emulation is run without time synchronization, at maximum speed. If you get a 200% value this means that the emulation runs at twice the speed as the real system.
It is not sufficient to get a 100% benchmark value in this test. This is because the graphic output means a considerable load for the emulation; see the table in the next section. Hence, these values are independent of the graphic performance of your system.
| MAME release | Speed GHz | TI-99/4A | TI-99/4A + EVPC | SGCPU aka TI-99/4P | Geneve | TI-99/8 + HX5102 | TI-99/2 + HX5102 | |
| PC Core i7-6700 | 0.218 | 4.0 | 731% |
706% | 827% | 483% | 243% | 568% |
Emulated disk operations also cause a high performance impact. For example, if we let the Geneve boot during the test, the performance drops from 483% to 416%.
Graphic performance
In this table, performance data has been recorded from test runs with graphic output. This is most interesting to see whether you can expect a good emulation experience without lagging, chopped sounds, or unrealistic slow execution. However, the value definitely depends on the performance of your graphic card (2D performance). It may be better or worse for your specific card.
| MAME release | Speed GHz | TI-99/4A | TI-99/4A + EVPC | SGCPU aka TI-99/4P | Geneve | TI-99/8 + HX5102 | TI-99/2 + HX5102 | |
| Atom N270 | 0.230 | 1.6 | 14% | 16% | n.t. | 13% | n.t. | n.t. |
| Laptop Celeron | 0.208 | 2.0 | 19% | 14% | 15% | 14% | 10% | 16% |
| Thinkpad T60 Core2 Duo | 0.208 | 1.8 | 92% | 89% | 91% | 85% | 45% | 91% |
| Laptop Core i5-3320M | 0.208 | 2.6 | 100% | 100% | 100% | 100% | 100% | 100% |
| PC Core i7-6700K | 0.208 | 4.0 | 100% | 100% | 100% | 100% | 100% | 100% |
| PC Core i7-7700 | 0.208 | 3.6 | 100% | 100% | 100% | 100% | 100% | 100% |
Small devices
I also ran some tests on Raspberry Pi. Before Pi 4, the Raspberry was plainly unusable for the TI-99 emulation in MAME. You may have probably heard about MAME emulations running decently on the Raspberry, but the performance of MAME largely depends on the emulated system. The TI-99 family is emulated in high precision, which requires a lot of performance.
The entries suffixed with "32bit" and "64bit" refer to the Raspberry Pi OS installation (32 bit or 64 bit) as of July 2023. The entries without width specification refer to the Raspbian OS (32 bit). Note that from MAME 0.254 on, Raspberry Pi OS is mandatory as underlying operating system.
Raw bench performance
As above, the plain emulation performance without graphic output is considered. These values are independent of the graphic performance of the device.
| MAME release | Speed GHz | TI-99/4A | TI-99/4A + EVPC | SGCPU aka TI-99/4P | Geneve | TI-99/8 + HX5102 | TI-99/2 + HX5102 | |
| RPi 4 | 0.223 | 1.5 | 141% | 131% | 154% | 74% | 45% | 85% |
| RPi 4 32bit | 0.256 | 1.5 | 138% | 122% | 142% | 72% | 47% | 73% |
| RPi 4 64bit | 0.256 | 1.5 | 164% | 149% | 182% | 84% | 54% | 105% |
| RPi 5 64 Bit | 0.272 | 2.4 | 402% | 353% | 415% | 199% | 128% | 255% |
Graphic performance
This table shows the performance with graphic output.
| MAME release | Speed GHz | TI-99/4A | TI-99/4A + EVPC | SGCPU aka TI-99/4P | Geneve | TI-99/8 + HX5102 | TI-99/2 + HX5102 | |
| RPi 3B+ | 0.208 | 1.4 | 6% | 4% | 4% | 4% | 4% | 5% |
| RPi 4 | 0.223 | 1.5 | 100% | 97% | 99% | 64% | 44% | 79% |
| RPi 4 32bit | 0.256 | 1.5 | 100% | 94% | 95% | 63% | 46% | 70% |
| RPi 4 64bit | 0.256 | 1.5 | 100% | 100% | 100% | 78% | 50% | 98% |
| RPi 5 64 Bit | 0.272 | 2.4 | 100% | 100% | 100% | 100% | 100% | 100% |
I believe that the Raspberry Pi3 B+ was not running by optimum conditions, and there may be some tricks to get a better performance. To my surprise, the Raspberry Pi 4 managed to run the TI-99/4A emulation in full speed. This mean a tremendous increase in performance and makes it possible to run the MAME emulation on that device for the first time.
The graphic output has a much smaller footprint on the Pi 4 than expected. It seems as if the graphic performance is not a bottleneck for the Raspberry anymore.
Note however, as mentioned above, that the performance highly depends on further emulation operations with high impact, like disk operations. This means that if you do a lot of disk operations, the TI-99/4A performance on the Raspberry Pi 4 drops from 100% to 92%. This may still be sufficient for a good emulation experience, though.
With the new Raspberry Pi 5, these concerns became secondary. The Pi 5 actually runs all emulated systems at full speed. I used a 8 GiB version for testing, but unless you are building MAME from sources, the 4 GiB version should suffice.
Even if a Raspberry seemingly performs well for all your typical PC applications, the MAME emulation is a big challenge for it. You should keep in mind that a typical high-end PC pulls about 200 W electrical power, while a Raspberry does not exceed 15 W. The higher power consumption comes from the high performance of CPU and graphics card. Hence, some basic physical considerations tell us that a Raspberry will not reach the performance of a fully equipped desktop PC.
- Details
- Category: Information
In MAME (release 0.247 and higher), the following TI hardware is emulated:
Computers
- TI-99/2
- TI-99/4
- TI-99/4A
- TI-99/4A QI
- TI-99/8
- SGCPU (TI-99/4A in the box)
- Geneve 9640
- Geneve 9640 Mod (aka Genmod)
Peripheral devices
- Peripheral Expansion Box
- 32K Memory Expansion Card
- Bus mouse (EVPC, Geneve)
- BwG Floppy Disk Controller (SNUG)
- Cartridge Expander
- Cassette recorder
- Corcomp Disk Controller (orig/revised)
- Enhanced Video Processor Card 1 (SNUG)
- Floppy Disk Drives
- FORTi Sound card
- GRAM Kracker
- Handheld controllers (Joysticks)
- Hard Disk Drives (generic/Seagate)
- Hexbus peripheral system
- High Speed GPL Card (SNUG)
- Horizon Ramdisk (HRD4000)
- HX5102 Hexbus floppy drive
- IDE adapter card (Nouspikel)
- Mechatronics Mouse
- Memex Card (Myarc)
- Memory Expansion Card (Myarc)
- Myarc Disk Drive Controller Card (DDCC1)
- Myarc Hard and Floppy Disk Controller
- P-Code Card
- PFM512(A) (Geneve)
- PGRAM(+) Card
- Remote Handset Controllers (TI-99/4)
- RS232/PIO card (TI)
- SID Master 99 sound card
- Speech Synthesizer adapter card
- SuperAMS Memory Card (Asgard, SW99ers)
- TI Floppy Disk Controller Card
- TIPI Card
- WHTSCSI adapter
Sidecar expansions
- Arcturus game cartridge
- Speech Synthesizer
- 2-way port splitter
Media
- Solid State Software cartridges
- Cassettes (wav files)
- Floppy disks images
- Hard disk images
- Details
- Category: Information
Before you start with MAME, and in particular with the TI emulations, there are some points of interest you should know.