Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08740 Interface Major Always Aug 1, 2023, 14:09 Aug 5, 2023, 04:21
Tester dschmidt View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS MacOS X
Status [?] Acknowledged Driver
Version 0.257 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08740: apple3: bitbanger fails to connect to localhost socket when running as null_modem
Description I haven’t been successful getting MAME’s bitbanger to work with recent-ish builds (maybe going back a year; currently on 0.257 on OSX). The old command line addition was "-rs232 null_modem -bitb socket.localhost:1977" but when I have my server up and running and I start MAME, it tells me:
Unable to load image 'socket.localhost:1977': Connection refused (generic:61)
This used to work very successfully, but now it's not. I tested build 0.253 on Windows, and while it doesn't have the Connection refused complaint, the socket is never used/doesn't work. It's been a while since I used this in anger, so it's not outside the realm of possibility that the OSes in question, having been updated regularly, aren't dong some blocking I don't know about.
Steps To Reproduce 0. Establish a server serving IP port 1977 (I use ADTPro in virtual serial over IP mode: )
1. Run mame and have it connect to the socket:
mame apple3 -skip_gameinfo -window -resolution 1024x768 -bios original -ramsize 512k -flop1 VDRIVE-2.1.0.DSK -rs232 null_modem -bitb socket.localhost:1977
2. Observe "Unable to load image 'socket.localhost:1977': Connection refused (generic:61)" message (OSX)
Additional Information
Github Commit
Regression Version
Affected Sets / Systems apple3
Attached Files
There are no relationship linked to this issue.
User avatar
Aug 1, 2023, 16:53
I can’t reproduce this on Windows. MAME will connect to a server correctly. If it fails to connect, it will print an error message, and then attempt to listen on the socket. Are you sure you don’t have a firewall issue or some other misconfiguration?
User avatar
Aug 1, 2023, 18:03
Thanks, that's encouraging - I am *not* sure I don't have a firewall issue, as I mentioned in my writeup. I am currently using a "managed" OSX machine, so I don't have the authority to disable my firewall... but I did try adding everyone in the chain to allow incoming connections, with no change in behavior. Is there anything you've done to your (Windows) firewall to allow MAME in or out?
User avatar
Aug 1, 2023, 21:59
edited on: Aug 1, 2023, 21:59
Back at home, I am trying the same thing with Windows 10 and build 0.253 - even with the firewall off, the connection fails to happen (I don't get any messages one way or the other on Windows, whether I have an app listening on port 1977 or not). It simply doesn't communicate.
User avatar
Aug 2, 2023, 07:27
I’m using Windows 10 Pro with the firewall enabled. I tested with two instances of MAME connecting to each other, both using the same command:

mame ie15 -rs232 null_modem -bitb socket.localhost:12345

The first instance to start will print some kind of error message when it attempts but fails to connect, then it will fall back to attempting to open a listening socket. The second instance to start will connect without printing any error messages. Characters typed into one instance appear in the other instance correctly. It also works using “” rather than “localhost”.

There must be some other issue with your setup, possibly with whatever you’re using to open the listening socket. Have you checked with netstat to ensure it’s actually listening on the interface/address/port you expect?
User avatar
Aug 2, 2023, 14:07
I'd love to try ie15 myself and reproduce your results - I found, but it seems to be missing 15bbb.rt5 to complete the emulation. I can't seem to find that anywhere. Any hints where I could find it?

I tried two VT52 terminals (-eia null_modem -bitb socket.localhost:12345), but they didn't see each other.
User avatar
Aug 3, 2023, 19:04
The same socket logic is used no matter which system/device you’re emulating. I use ie15 for tests because it’s self-contained and I know the default serial frame format and rate settings match the default terminal configuration (so there’s no need to go into the Machine Configuration menu and set up serial settings).

You need ROMs from both ie15_device and ie15kbd for a complete 15IE terminal:

mamed.exe -listroms ie15
ROMs required for driver "ie15" (including devices "ie15_device", "ie15kbd").

All devices with ROMs are noted.