|
Post by Pyrofer on Jun 9, 2017 20:41:50 GMT
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.
I posted a pic on reddit of the board,
https://www.reddit.com/r/c128/comments/6gb28v/internal_swiftlink_compatible_wifi_modem/
It's tested and working with Desterm and now I just need to work on the wifi modem firmware as it's one I've written myself.
|
|
|
Post by bjonte on Jun 10, 2017 10:26:05 GMT
This is very cool indeed! It would be useful to me to transfer without moving wires between the C128 machines. How does the other end work? What is required to communicate with the C128?
|
|
|
Post by Pyrofer on Jun 10, 2017 10:59:01 GMT
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. This is the modem FW I used github.com/bozimmerman/ZimodemYou 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!
|
|
|
Post by molebrain on Jun 12, 2017 13:18:10 GMT
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.
|
|
|
Post by Pyrofer on Jun 12, 2017 13:55:39 GMT
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.
|
|
|
Post by molebrain on Jun 12, 2017 15:36:15 GMT
very cool. thanks for the info!!!
|
|
|
Post by bjonte on Jun 12, 2017 17:28:29 GMT
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.
|
|
|
Post by Pyrofer on Jun 12, 2017 18:05:24 GMT
Like I said, you can just remove the ESP and connect a USB TTL Serial adapter instead and plug it into the PC directly. I am very interested in some kind of remote boot / code download feature though As it's possible with more than 1200 bps!
|
|
|
Post by molebrain on Jun 13, 2017 14:40:09 GMT
I used the USB TTL route, but it is no fun being tethered to my PC
|
|
|
Post by Pyrofer on Jun 13, 2017 18:06:39 GMT
I actually have used serial to ethernet devices with virtual com port drivers in windows and Linux. once online and connected they appear as a local serial port to the OS.
Not sure if that would solve your issue or how you would set it up.
|
|