Attaching a Terminal Emulator to a MAME Serial Port

25May22

Generally MAME emulations that would use a terminal make use of the built in terminal emulation. So you can just start MAME and get going with a screen like this:

But that has some limitations, such as you can’t copy from it, or paste into it. Also if you want to use the MAME display (layout) for some blinkenlights or similar, then there has to be some other way of connecting a terminal.

Of course, there’s a way to deal with that. Running:

rc2014 rc2014bp5 -bus:1 micro -bus:1:micro:rs232 null_modem -bitb socket.localhost:1234

Is telling MAME:

  • rc2014 is starting my cut down emulator that I compiled whilst waiting for the 0.244 release (after which it can just be mame).
  • rc2014bp5 selects the 5 slot backplane
  • -bus:1 micro puts an RC2014 Micro card into the first slot
  • -bus:1:micro:rs232 null_modem configures the RS232 port on the RC2014 Micro to use null modem connectivity (rather than the default terminal)
  • -bitb socket.localhost:1234 then connects that null modem (serial) port to (TCP) port 1234 on localhost.

MAME itself will show No screens attached to the system:

But now I can attached a Terminal Emulator such as TeraTerm or PuTTY using Other to port 1234:

MAME should be configured for serial at 115200 baud:

And the terminal settings might take some fiddling with local echo etc.

Click to get a clearer view

COM ports

It’s also possible to connect to a COM port using something like:

rc2014 rc2014bp5 -bus:1 micro -bus:1:micro:rs232 null_modem -bitb COM6

Here I’m using com0com to provide a pair of COM ports on Windows (COM4 and COM6). I’ve found that the terminal emulator should be connected first (to COM4) so that MAME doesn’t hang when trying to connect to COM6. Again make sure that you have matching (fastest) baud rates in MAME and the terminal emulator.

This approach seems to be more reliable for cursor movement within the terminal emulation :)



No Responses Yet to “Attaching a Terminal Emulator to a MAME Serial Port”

  1. Leave a Comment

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.