another MAME release has become available: 0.186. As I said, I won't announce every release, since you may have heard already that there is always a new release on last Wednesday of a month.
However, this time there is an important change with the configuration parameters of the TI-99/4, 4A, and 8. The Peripheral Expansion Box (PEB) has turned into a "slot option", that is, it will have to plugged into a new slot named "ioport". This is indeed what you see with the real iron. With this change, you have to add "ioport" as a prefix to all cards that are plugged into the PEB, or you will get an error message on start. So I recommend that you update your starter scripts or the configuration in QMC2 with this new release.
mame64 ti99_4a -ioport peb -ioport:peb:slot3 speech -ioport:peb:slot8 hfdc
This change does not affect the Geneve 9640 and the SGCPU (inofficially called TI-99/4P) because these systems have no console outside of the PEB, but the flex cable interface card of the TI-99/4A is replaced by their respective system boards. Accordingly, there is nothing where the PEB would be plugged into.
The ti99_4ev driver (which is a TI-99/4A console without video processor and with a modified GROM 1) will have the PEB as default option for the I/O port, and the EVPC card will be inserted by default in slot 2. I decided to go this way because otherwise you will get no output at all, since the ti99_4ev driver has no VDP. Still, all further devices need the "ioport" prefix.
The good news is that this is a one-time change in your start scripts, or in QMC2, and once done it will not bother you anymore.
So what is the reason for this slightly disruptive change?
1. From an architectural point of view, the PEB emulation was somewhat inconsistent with the rest of the machine. It was modeled as a subdevice, just like the CPU or the sound chip, while the cartridge port and the joystick port were already proper slot devices which allow for plugging in a device from a specific collection.
2. There is more than the PEB which may go into the I/O port - consider games like Arcturus. Currently, we can only use a modified version that runs as a normal cartridge, but this is different to the real iron.
3. There is a whole bunch of "sidecar" peripherals, which are plugged into the I/O port as a daisy chain. To be able to emulate them some day, we need the I/O port available as a slot device.
4. As you may know, I am currently working on the Hexbus emulation that shall eventually be available for the existing emulations of the TI-99/8, /2, CC40, and TI-74 Basicalc. However, as with the TI-99/4A, the PEB is currently a hard-coded subdevice of the TI-99/8, and I'd like to get rid of this artifact, not only because the intended peripheral concept is Hexbus for the 99/8 but also because the PEB is just burning performance in the emulation without any benefit. Still, the 99/8 emulation has an I/O port (which differs from the one of the 99/4A, by the way), so the PEB may be attached if desired.
5. Finally, my working queue still contains the emulation of further prototype systems, particularly the "TI-99/4B" and "TI-99/5", as described on Fabrice's website. Both system do not even have an I/O port, so you cannot attach a PEB to it; they are Hexbus-only systems.
If those reasons are still not convincing enough, let me just add that now the way is clear for the Hexbus emulation.
If you are interested what happened in MAME outside of the TI-99 family, here are the official release notes from the MAME forum: http://forums.bannis...t&Number=109718