Jump to content

MESS -> MAME script conversions

Recommended Posts

So, finally got to using a newer version of MAME/MESS than 0.152 with 0.197 installed from the repositories.  I'll likely eventually upgrade it to the trunk, but for now, I've got bigger fish to fry. 


Trying a MESS script copied from the old computer throws all kind of errors, which brings me to a point: **this is why I often feel unmotivated to upgrade things - because useless and unnecessary changes seem to be the order of the day**.  Anyway, now that I have that off my chest, here's an example script from the MESS days:

mess64 ti99_4ev \
-peb:slot3 speech \
-peb:slot4 samsmem \
-peb:slot5 pcode \
-peb:slot6 tirs232 \
-peb:slot8 hfdc \
-hard1 ~/mess/TI-HD.hd \
-gromport multi \
-cart1 ~/mess/ti_carts/extended_basic.rpk \
-cart3 ~/mess/ti_carts/editor_assembler.rpk \
-cart4 ~/mess/ti_carts/ti-writer.rpk

Changing "mess64" to "mame' and attempting to launch the  following segments "peb" and "hard1", "hard2", etc give errors, and MAME doesn't start.


Of course, I've already done a bit of investigating, noticing that for some arbitrary and pointless reason "peb" now has to be the more verbose "ioport:peb".   I'm still having trouble with "hard1", and didn't find solution for that.   And I'm sure there are other erroneous syntax in this script that used to work perfectly. 


Any advice / help would be greatly appreciated.  Thank you for reading!  :)


Share this post

Link to post
Share on other sites
2 hours ago, WhataKowinkydink said:

Of course, I've already done a bit of investigating, noticing that for some arbitrary and pointless reason "peb" now has to be the more verbose "ioport:peb".

Are you interested why I did it?

Share this post

Link to post
Share on other sites
Posted (edited)

Some advice when asking for information or help on a forum: It's not a problem if you don't know the reason why something has been done or changed. You may, however, assume that the author had something in mind with that, and that it is neither "arbitrary" nor "pointless". Call it touchy, but sometimes I find it modestly motivating to write an answer on that premise.


OK, first to your current problem:


You have to define the type of hard disk. Previously, MESS only used a hard disk image that was accessed on a high-level base, not really an emulation at that point. Now in MAME, the HFDC and the hard disk drives are emulated as devices, and there is a choice between different Seagate drives and a generic one that automatically adapts to the hard disk image (i.e. it magically grows enough heads to read the image). Since emulated hard disk drives always require an image, but you don't want to mount three images every time, you can now select how many and which kinds of hard disks are attached. The connectors are named "h1", "h2", "h3". I assume that your hard disk image does not match an ST225 geometry, so the "generic" type is best to use.


... -ioport:peb:slot8:hfdc:h1 generic -hard1 myimage.hd


The same is true for the floppy drives. You have to decide which type of floppy drive you are using; a 5.25" (40 track) or 3.5" (80 track). The first two floppy drives are already mounted by default (floppy drives may run without image) as two 5.25" drives ("525dd"). If you need more than two drives, you have to add them using the connectors f1, f2, f3, and f4.


... -ioport:peb:slot8:hfdc:f3 525dd -flop3 mythirdimage.dsk


As I said, flop1 and flop2 are already available because two drives are mounted by default. I recommend not to use 80 track drives unless you know that you only use 80 track images with them. Once you write on a disk image in a drive with 80 tracks, you cannot read it in a 40 track drive any longer.


Next, you seem to be using the TI-99/4A with EVPC. There is some change here because the EVPC as such is now emulated as a card, and it occupies slot2 by default. So you just stay clear of the slot2, or you won't get any graphic output. Also, you can now attach or detach the mouse.


... -ioport:peb:slot2:evpc:colorbus busmouse


The problem with an attached mouse is that in Windows, the mouse pointer is captured when you launch MAME with mouse support. I already told the responsible devs that this is not really desirable, but for the time being, you can just detach the mouse (i.e. leave it detached) if you don't need it. (Note that this could not be configured in MESS, you had to live with that.) The advantage of the new colorbus connector is that theoretically you could attach a light pen in place of the mouse (if it were emulated).


The multi-expander (gromport multi) is certainly supported, and will continue to be supported, even though I'm normally not using it. It's fun to see the Review Module Library, but its benefit is marginal, and lots of cartridges don't work with it. Also, I recommend to create customized launch scripts for the most frequently used configurations. There is no wear on the connectors in the emulation, so we can afford to change the configuration whenever we need to.


The RPK modules should be replaced by the ZIP cartridges for all classic modules (not homebrew). The ZIP modules are verified to be authentic whereever possible, i.e. they are unpatched. The RPK module format is only supported for the TI-99/4A in whole MAME, and it is still there because I keep it for so long until we have a practical way of creating ZIP modules for homebrew cartridges. That is, your line should be


-cart1 exbasic -cart2 editass -cart3 writer


Now for your question about the change to the arguments.


My intention is to eventually support the sidecar expansions. For that reason, I have to model the I/O port as a "MAME slot device" so that it accepts devices to be plugged in. This, however, made the PEB a pluggable device so that you have to first plug it in (-ioport peb) and then all configurations in the PEB need that longer device path. For the Geneve and the SGCPU (ti99_4p), this is not the case; you still have "-peb:slotX", because neither of them has an I/O port. Actually, I considered to remove the PEB from the Geneve and SGCPU (so you only had -slotX), but this would require to write a lot of duplicate code just for the purpose of creating a simpler argument chain.


Another reason to "unplug" the PEB was the TI-99/8. It turned out that the TI-99/8 did not run well with the expansion cards of the TI-99/4A, in particular it did not run with the TI floppy disk controller: When you entered Extended Basic II, the console crashed. The reason was that the authors of Extended Basic II simply assumed that you can set up a PAB in CPU memory, which is only possible for the Hexbus devices. Hence, I had to work on the Hexbus which brought us the HX5102 and the Hexbus support, and we can now productively use the TI-99/8 in MAME. The PEB may now be plugged into the 99/8, or it may stay unplugged.


Remember that all this was not possible in MESS. It is a consequence of restructuring, and further progress in the code.


In some hopefully not too distant future, I envisage an intuitive, maybe graphical plug-together configuration of emulated systems in MAME. You'd pick a console, the PEB, then you drag and drop the cards you want to have, push a cartridge in the GROM port, and there you are. The already existing Lua interface seem to pave a way in that direction. But I had to to those changes at some point in time, well knowing that some people may be upset when things change, unregarded of the fact that I am available on this forum to quickly help when there are any issues.


Edited by mizapf
Forgot the slot
  • Like 3
  • Thanks 3

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...