Closed cbmbas closed 4 years ago
OK, so ath1 always comes back to the command prompt.
Jim
Actually, just doing mdm_off_hook at ath1 won't account for the situation when a connection is alreayd active (say, for instance, after an atdt/ata and then a +++ to get back into cmd mode. ath1 needs to reconnect to the existing connection if still there. I have made some mods, though, so please test.
I think I added the correct code in. Please let me know if more is needed.
Thanks alot Jim ! Your ATH1 implementation works pretty much perfect.
Everything works as expected on my BBS.... finally.
Tested on VICE with latest Version from Groepaz (IP232 updates) and real Hardware and Moses modded C*BASE 3.1.
So it should work with any C*BASE and for sure other BBS Software too.
Really great.
See ya.
Larry / R.O.L.E.
Gesendet: Freitag, 29. November 2019 um 04:08 Uhr Von: "RETRO Innovations" notifications@github.com An: go4retro/tcpser tcpser@noreply.github.com Cc: cbmbas larrycool@web.de, Author author@noreply.github.com Betreff: Re: [go4retro/tcpser] ATH1 - "make Line busy" doesn't work (#6)
I think I added the correct code in. Please let me know if more is needed.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Please check modemcore.c ATH1 should to do: Pick up the phone -> Off-Hook and make the line busy Instead it answers an incomming call like ATA does.
ATH1 is very useful for SysOps that want to set the line busy for maintanance f.e.
I did a quick hack on modemcore.c to change its behaviour, but there might be additional code changes neccessary. At least some "optical response" using a RS232 Tester which shows the Status of each line via LED would be nice to "see" that the line is busy. However changing the following line will set the line busy via ATH1. A caller would get the content of the "Busy File" given at the -B Option.
modemcore.c case 'H': if (num == 0) { mdm_disconnect(cfg); } else if (num == 1) { // wrong at this point: // mdm_answer(cfg);
// Instead: mdm_off_hook(cfg); mdm_set_control_lines(cfg); } else cmd = AT_CMD_ERR; break;