Hey folks! Got my Altairduino a few days ago, and immediately spent 2 hours or so assembling it after it arrived... and it worked, first go! I guess my soldering experience has paid off in the long run...
Anyway, one of the major reasons why I wanted to get this kit was to use CP/M and write assembly programs. I want to be able to transfer files back and forth, and so I noticed that (very kindly) the CP/M disk has two transfer programs included, PCGET and PCPUT.
Most of the information I've seen on this forum pertains to using TeraTerm, which is a Windows-only serial terminal. I use Manjaro. So, I figured it couldn't be that difficult, and started poking around with the many serial terminals I've used under Linux.
The first issue is, as others have pointed out, the Arduino can't seem to keep up with 115200 baud when sending large amounts of data. The advice I've seen is to add an inter-character delay (a feature on TeraTerm that has worked for some people). Well, almost none of the serial terminal packages available on Linux support this feature. I finally found one that does -- CuteCom. I also tried sending using moserial, but it doesn't support character delay and it immediately fell over upon trying to send a file.
However. I've now run into another issue. When the serial connection is established, the Altairduino seems to reset itself. This is making things really difficult, as all the serial packages I've used seem to reset the serial interface before starting an XMODEM transfer. In the past, I've used zmodem to send files to my Windows 3.11 laptop, and that worked great using the sz program. But because it's necessary to first connect, type "PCGET filename" and then hit enter, I have no choice but to reset the serial connection.
Earlier today I started writing a python script to make transfers easier. It was going to connect, type out PCGET followed by the filename, and then send the file. Python actually has an xmodem package, which surprised me. However, I ran into the same issue -- the xmodem package doesn't support inter-character delays. So, frustrated, I thought "How hard can the xmodem protocol be?" and started implementing it so that I can control the byte timing. Well, this also has failed -- it does seem to send the PCGET command, but then the Altairduino seems to either crash or reset. The lights stop blinking, it doesn't respond to commands, and then I need to reset and re-load CP/M from scratch (even the reset switch doesn't do a warm boot, which is odd).
So I'm really at my wits end. My final idea is to grab my USB to serial converter, and then send the file on the second port of the 2SIO, as PCGET seems to support that. But that's a bit clunky... however, I may not have much choice.
Any suggestions or tips would be greatly appreciated!