So I designed a PCB to fit a 6551 internally on the 128. This gives it a nice high speed hardware serial port. Instead of putting a line driver and real RS232 socket I put an ESP WiFi modem on it, so it's an internal WiFi modem that doesn't take up the cartridge port OR the user port.
So once installed the C128 acts as if it has a WiFi modem installed. I used the firmware from Github which works quite well. This means it does TCP connections, from what I read it can accept incoming as well as outgoing. You can connect to a BBS directly or to your PC if you have software on the PC capable of dealing with the IP connection. It's possible to simply unplug the ESP module and connect a TTL Serial to USB adapter directly giving you a USB serial cable from the 128 if you need as well, that would just appear as a serial device on the PC.
The WiFi modem is meant for comms software like Desterm and acts as a modem, so expects AT commands to connect.
You can probably rewrite the ESP fw to do what you want easily. My idea was to have a boot rom on the 128 that initialised the 6551 and sent the modem commands to connect to a port on my server. The server would accept the connection and send a file (whatever was in a shared direcory at the time called boot.rom). The 128 boot rom would accept that data and write it into ram as per the load address then jump to the start
Thats quite a bit of coding but it would mean you had a net boot 128!
I would love to figure how to get incoming connections to host bbs or even httpd. I have the c-64 WiFi modem that works great, and I think it uses the same code from Bo...but I can't figure out how to get it to accept incoming. I use Desterm with the 80 column dealo you made for me an dig dig it too btw.
If you have the BoZ code from Github I think this is what you need to read,
ATA : If a server listener has generated a RING, then ATA will switch the last rung connection to Stream mode (see ATD). ATA/ : Repeats the previous command (no idea why...)
ATAn : Causes Zimodem to create a server listening on port n. When a connection is received, the terminal will generate 1 or more RINGs according to the ATS0 register, followed by a normal CONNECT respose. At this point, all other commands related to connections may be used normally, unless ATS41 is > 0, in which case incoming connections are automatically sent to Stream mode as per ATD or ATA. Listeners are listed along with other connections using ATC0. ATAPn"[HOSTNAME]:[PORT]" : Adding a P modifier causes all incoming connection input to be translated to PETSCII ATATn"[HOSTNAME]:[PORT]" : Adding a T modifier causes connection streaming input to be translated per TELNET when the changed to Stream mode ATAEn"[HOSTNAME]:[PORT]" : Adding a E modifier causes connection terminal echo to be enabled when the changed to Stream mode ATAXn"[HOSTNAME]:[PORT]" : Adding a X modifier causes connection XON/XOFF flow control to be enabled when the changed to Stream mode
ATN0 : Shuts down all listeners, leaving client connections open ATNn : if n > 0 then same as ATAn
I will be putting one of my internal WiFi models on eBay when I have it complete.
Ok, so it opens a TCP port and communicates through that. It will be a bit more difficult to set that up since it requires a host address to connect to. My serial setup currently doesn't require anything to be configured on the C128 side so I'll have to think about that.