SheepShaver can send modem commands but nothing exists to send the expected response.
You're asking for an emulated modem to appear on the emulated serial port.
https://en.wikipedia.org/wiki/Hayes_AT_command_set
https://en.wikipedia.org/wiki/Command_m ... _Data_mode
Then there's fax modems.
https://en.wikipedia.org/wiki/Fax_modem
https://en.wikipedia.org/wiki/List_of_I ... mendations
You might need other sideband signals to be considered. A Mac serial port can support 2 or 3 of those so some can be ignored. CTS, DCD, DTR, RTS.
Other signals that can probably be ignored: DSR, RI, RTR.
https://en.wikipedia.org/wiki/RS-232
There's also the BREAK condition.
https://www.decisivetactics.com/support ... nd-a-break
For your purposes, you might not need any of these extra signals - you might just need the serial port to think it's always ready or always clear to send, etc.
You might only need to implement a couple modem commands. Monitor the characters being sent to the modem port. Then lookup what the response should be.
Can a program outside of SheepShaver connect to the emulated serial port and monitor the output to send a proper response?
DingusPPC creates a unix domain socket for the modem port. I connect to it in Terminal.app using this command:
Code: Select all
socat UNIX-CLIENT:dingussocket -,cs8,parenb=0,echo=0,icanon=0,isig=0,icrnl=0
to do Open Firmware input/output.
google AI says I can do something like this:
Code: Select all
socat UNIX-LISTEN:/tmp/test.sock,fork SYSTEM:"read line; echo 'Received: \$line'; echo 'Response From Server'"
I would replace "read line" with something that gets characters one at a time and adds it to a buffer, then the next part would look for the dialling command inside the buffer, then play the sounds for the digits of the phone number.