mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 I've been fiddling around with my nodemcu (esp8266) board, Zimodem firmware and the atari and have been successful with using the modem while allowing the atari to still use the sio bus with minimal parts. I have a simple fet based level shifter (wiring diagram below, amazon part) that adds the motor control and command lines to nodemcu inputs. When either line is asserted, the Zimodem firmware allows other devices to communicate on the bus and ignores the transmission. The modified firmware adds a new Flow Control type (FCT_AMTRCTL) which must be enabled for it to work. If you wish to flash the firmware to a previously used zimodem/esp board you should format the SPIFFS before flashing so that the new flow control will be selected by default, otherwise you will have issues with it not communicating as it will be set for some other flow control scheme (this issue bit me a couple times during testing). The modified Zimodem (v3.5) firmware is in my github (atari branch) at https://github.com/mozzwald/Zimodem/tree/atari 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted October 19, 2019 Share Posted October 19, 2019 (edited) don't like the diode choice, which has been covered quite a bit lately.... the reason being the number of sio devices these days and some of the new mother boards as well. Check it out. I know we can sub whatever we want... but it's sure to lead to a couple of those why isn't this working with this or that threads... Edited October 19, 2019 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 1 minute ago, _The Doctor__ said: don't like the diode choice, which has been covered quite a bit lately.... Replace it with your diode of choice 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted October 19, 2019 Share Posted October 19, 2019 (edited) off the top of head.. 1N5819 , or one of the bat50/85's etc. it really is the way to go... tested and suggested these and a couple others... always the better choice where SIO is concerned... if I remember anything else I may post it or if someone wants to dig up more about it... that would be cool Edited October 19, 2019 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 9 hours ago, mozzwald said: I've been fiddling around with my nodemcu (esp8266) board, Zimodem firmware and the atari and have been successful with using the modem while allowing the atari to still use the sio bus with minimal parts. I have a simple fet based level shifter (wiring diagram below, amazon part) that adds the motor control and command lines to nodemcu inputs. When either line is asserted, the Zimodem firmware allows other devices to communicate on the bus and ignores the transmission. The modified firmware adds a new Flow Control type (FCT_AMTRCTL) which must be enabled for it to work. If you wish to flash the firmware to a previously used zimodem/esp board you should format the SPIFFS before flashing so that the new flow control will be selected by default, otherwise you will have issues with it not communicating as it will be set for some other flow control scheme (this issue bit me a couple times during testing). The modified Zimodem (v3.5) firmware is in my github (atari branch) at https://github.com/mozzwald/Zimodem/tree/atari So no Rverter circuit? Just this? Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 51 minutes ago, Dropcheck said: So no Rverter circuit? Just this? That's it. ? 2 Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 Hmmmm...... ? Let me try this. Hey, how about this level shifter? 8 Channel Bi-directional Logic Level Converter Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 10 minutes ago, Dropcheck said: Hmmmm...... ? Let me try this. Hey, how about this level shifter? 8 Channel Bi-directional Logic Level Converter I tried a similar level shifter and it didn't work (TXS0108) so I got the fet based one instead. Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted October 19, 2019 Share Posted October 19, 2019 I bought these: https://www.ebay.com/itm/202624346925 Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 (edited) 7 minutes ago, mozzwald said: I tried a similar level shifter and it didn't work (TXS0108) so I got the fet based one instead. So it sounds like you might be using I2C on the NODEMCU. Adafruit indicates that an alternative option for 4 channel Bi-directional level shifter is i2C friendly and that board is FET based. Or maybe the 74LVC245 chip which has supposedly a stronger output drive Edited October 19, 2019 by Dropcheck added info Quote Link to comment Share on other sites More sharing options...
manterola Posted October 19, 2019 Share Posted October 19, 2019 1 hour ago, Dropcheck said: So no Rverter circuit? Just this? For almost everything there is the hardware way and the software way of doing things 1 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 22 minutes ago, Dropcheck said: So it sounds like you might be using I2C on the NODEMCU. Adafruit indicates that an alternative option for 4 channel Bi-directional level shifter is i2C friendly and that board is FET based. Or maybe the 74LVC245 chip which has supposedly a stronger output drive Definitely not using i2c on the nodemcu. Not really sure what was causing the problem. I got garbage on both the atari and pc when testing with a usb to uart adapter. Also tried 2 different boards to make sure it wasn't a bad one. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 Just a few more notes about the setup... You can flash the nodemcu with the usb port as normal. When Zimodem starts up, it switches the TX & RX lines from the default GPIO 1 & 3 to GPIO 15 & 13. This prevents the bootloader messages from being spewed out to the atari at powerup. This also means, you will not see anything on a serial terminal on the computer when connected with the usb port (also the command & motor lines would need to be pulled low for transmission to occur). The 1k resistor on GPIO 15 is required to prevent the nodemcu bootloader from trying to boot from SD card at powerup. The pull down on Atari side Motor Control was needed as the level shifter wasn't pulled down enough to register a low reading. Can anyone recommend a bbs that has files available for download with Xmodem? I want to see if it will work with bobterm. Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 (edited) 9 minutes ago, mozzwald said: Just a few more notes about the setup... You can flash the nodemcu with the usb port as normal. When Zimodem starts up, it switches the TX & RX lines from the default GPIO 1 & 3 to GPIO 15 & 13. This prevents the bootloader messages from being spewed out to the atari at powerup. This also means, you will not see anything on a serial terminal on the computer when connected with the usb port (also the command & motor lines would need to be pulled low for transmission to occur). The 1k resistor on GPIO 15 is required to prevent the nodemcu bootloader from trying to boot from SD card at powerup. The pull down on Atari side Motor Control was needed as the level shifter wasn't pulled down enough to register a low reading. Can anyone recommend a bbs that has files available for download with Xmodem? I want to see if it will work with bobterm. Quote The Basement and Part-Time BBSs have files for download too (see my signature for telnet addresses). Incidentally, some of the BBSs use telnet protocol (I believe SFHQ and Boot Factory use telnet mode) and others (such as the Basement, Part-Time, and the Resistance) use raw mode. So, it probably would be good to try file transfers on a variety of BBSs. You probably should also test uploading too. -JP Basement BBS ( telnet: basementbbs.ddns.net:9000 Web: http://basementbbs.ddns.net:7000/ ) Part-Time BBS ( telnet: ptbbs.ddns.net:8000 Web: http://ptbbs.ddns.net:7000/pt.html ) I was able to dl with this bbs, Edited October 19, 2019 by Dropcheck cleaned up quote Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted October 19, 2019 Share Posted October 19, 2019 1 hour ago, mozzwald said: That's it. ? Awesome! Can't wait to try this! My multi-meter is broken so I'll have to read resistors by color code. For some reason the tolerance bands always mess me up. =:O Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 5 minutes ago, a8isa1 said: Awesome! Can't wait to try this! My multi-meter is broken so I'll have to read resistors by color code. For some reason the tolerance bands always mess me up. =:O I believe 1K Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted October 19, 2019 Share Posted October 19, 2019 2 hours ago, Dropcheck said: I believe 1K I can't find my bag of assorted resistors. Is 1K5 too big for this purpose? -SteveS Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 21 minutes ago, a8isa1 said: I can't find my bag of assorted resistors. Is 1K5 too big for this purpose? -SteveS That would probably work 1 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 19, 2019 Author Share Posted October 19, 2019 4 hours ago, Dropcheck said: I was able to dl with this bbs, I don't have access to the files area so I installed mystic bbs on a linux box at home. I am unable to send or receive files. When connected to a server, the disk access causes the connection to be dropped and the modem is put back in command mode. Looks like more work to be done in Zimodem code ? Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted October 19, 2019 Share Posted October 19, 2019 5 hours ago, mozzwald said: I don't have access to the files area so I installed mystic bbs on a linux box at home. I am unable to send or receive files. When connected to a server, the disk access causes the connection to be dropped and the modem is put back in command mode. Looks like more work to be done in Zimodem code ? I would ask for elevated bbs privilege to access the files area first. Then try to dl from the actual bbs. Try an unmodified version of zimodem with your server as a quality control. If you also have the same issues, then it's not your modifications. It's more likely settings. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 20, 2019 Author Share Posted October 20, 2019 1 hour ago, Dropcheck said: I would ask for elevated bbs privilege to access the files area first. Then try to dl from the actual bbs. Try an unmodified version of zimodem with your server as a quality control. If you also have the same issues, then it's not your modifications. It's more likely settings. The problem is that when connected to a bbs, any SIO activity causes the connection to die and the modem is put back in AT command mode. There is a noticeable delay when the system tries to read from floppy. Then, I assume the connection is lost and the system reads from the disk just fine. In AT command mode, SIO activity is working fine. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 20, 2019 Author Share Posted October 20, 2019 2 hours ago, mozzwald said: The problem is that when connected to a bbs, any SIO activity causes the connection to die and the modem is put back in AT command mode. There is a noticeable delay when the system tries to read from floppy. Then, I assume the connection is lost and the system reads from the disk just fine. In AT command mode, SIO activity is working fine. I found the problem. DTR code was causing the connection to break during disk activity. Removing that seems to be working. I sent and received a small txt file with xmodem. I will clean up the code and push changes to github tomorrow. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 20, 2019 Author Share Posted October 20, 2019 9 hours ago, mozzwald said: I found the problem. DTR code was causing the connection to break during disk activity. Removing that seems to be working. I sent and received a small txt file with xmodem. I will clean up the code and push changes to github tomorrow. The fix is up. https://github.com/mozzwald/Zimodem/tree/atari 5 Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted October 21, 2019 Share Posted October 21, 2019 15 hours ago, mozzwald said: The fix is up. https://github.com/mozzwald/Zimodem/tree/atari In your ESP8266 sketch you have COMMAND connected to GPIO12 and Motor Control to 16. In your schematic these are reversed. After switching my wires around to match the sketch I was able to communicate. I'm not using a level converter. I think everything is working. At least when I switched from MyDOS to SpartaDOS X all seems fine. Here is what else I've done. I restored DSR and DTR to the original GPIOs. As you documented this should not matter. Atari doesn't use these. However, my v0.90 NodeMCU dev boards have N/C for GPIOs 9 and 10. I also un-swapped your swapped RX and TX. My wiring was already configured for GPIOs 1 & 3. Thanks for this, mozzwald! I'll let you know if I discover anything. -SteveS 1 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted October 21, 2019 Author Share Posted October 21, 2019 7 hours ago, a8isa1 said: In your ESP8266 sketch you have COMMAND connected to GPIO12 and Motor Control to 16. In your schematic these are reversed. After switching my wires around to match the sketch I was able to communicate. I'm not using a level converter. I think everything is working. At least when I switched from MyDOS to SpartaDOS X all seems fine. Here is what else I've done. I restored DSR and DTR to the original GPIOs. As you documented this should not matter. Atari doesn't use these. However, my v0.90 NodeMCU dev boards have N/C for GPIOs 9 and 10. I also un-swapped your swapped RX and TX. My wiring was already configured for GPIOs 1 & 3. Thanks for this, mozzwald! I'll let you know if I discover anything. -SteveS Oops, yeah, I have the CMD and MTR lines wrong the wiring diagram, sorry about that. You should probably use a level shifter, but to each his own. You may burn out the esp. The swap for TX/RX is to prevent the esp boot msgs from being sent to the Atari at power up. I thought it could interfere with boot. Keep this in mind if you have any issues booting with it connected. If you could try doing a file transfer and report your results it would be much appreciated. I can do small files ~15k or less but anything larger never starts and just times out using Bob Term. And yesterday I tested it with Platoterm at 1200 baud which worked great. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.