MiSTer_MidiLink icon indicating copy to clipboard operation
MiSTer_MidiLink copied to clipboard

Can we dial into modem?

Open BODYPRINT opened this issue 11 months ago • 2 comments

Hi mate,

First, thanks for this awesome software!

Using Mister Minimig Using TCP Modem with the following INI settings for 2400 Baud play...

[MINIMIG]
MUNT_OPTIONS        = TCP
TCP_TERM_ROWS       = 22
USB_SERIAL_BAUD     = 2400
TCP_BAUD            = 2400
UPD_BAUD            = 2400
UDP_FLOW            = 0
0 = none, 3=cts/rts, 4 = xon/xoff
TCP_SERVER_PORT     = 6333
UDP_SERVER_PORT     = 6333

I have opened Port 6333 TCP/UDP in my Router

My friend is on the other end on a real Amiga using the Hayesduino. https://github.com/BODYPRINT/Hayesduino

I can dial him and he can answer no problem but he can't seem to dial into me. Does this Modem implementation have the ability to receive calls and answer? I notice there is no ATA command.

Also, can we change the BAUD rate and Handshake options on the fly somehow without having to edit the INI and reboot the Mister each time?

Also, this seems more stable than when we both play using our Hayesduino's. (Knight's of the Sky crashes our Modems) Do you know off hand the buffer size your modem uses maybe?

Thanks heaps, Phil.

BODYPRINT avatar Jan 09 '25 12:01 BODYPRINT

Yes, it does have the ability to receive calls and has been tested with Knights of the Sky --> https://www.youtube.com/watch?v=TH1GDu2Da9A

There is no ATA command because the modem automatically answers TCP on the port defined by "TCP_SERVER_PORT" by default.

I suspect you need to do more than just open a port in your router. You need to do port-forwarding to the MiSTer.

You can change the baud rate in the MiSTer's OSD under "UART" and you don't need to specify anything in the INI. Not sure why you are changing the UDP stuff in this scenario.

You can change the flow control with the following AT commands:

AT&K0 - Disable local flow control AT&K3 - RTS/CTS bidirectional hardware flow control AT&K4 - XON/XOFF bidirectional software flow control

Also it is unnecessary to reboot the MiSTer after making INI changes. You can reset just MidiLink in the same OSD menu where you set the BAUD.

I doubt the issue has anything to do with buffer size as Knights of the Sky is very sensitive to lag and does not even work with other WiFI modems. To get that game to work with MidiLink I disabled the Nagle's algorithm --> https://en.wikipedia.org/wiki/Nagle%27s_algorithm

Hope that helps...

bbond007 avatar Jan 09 '25 15:01 bbond007

Thanks again. It's all making more sense now. I reset the Minimig values back to the default in Midilink.INI and just changed TCP_SERVER_PORT to 6333.

I managed to dial in over my local network on port 6333. Hopefully my Port Forward works this time. Will try again over the weekend.

Using Term 4.8, AT&K3 doesn't always work. Not sure if it's a Term issue or the daemon!? If I start the Midilink at 9600 baud and reset UART I can't get RTS/CTS to work. There's no comm (AT) with modem when do AT&K3 and then turn on RTS/CTS in Term. But if I start at 2400 Baud, do AT&K3 and then use the ATBAUD6 command, I have to switch Term over quickly and it seems to work ok.

EDIT: Seems I have to set Term to RTS/CTS (DSR) first, then back to RTS/CTS

BODYPRINT avatar Jan 10 '25 14:01 BODYPRINT