------------------------------------------------------------ Technology/z80/CPM/KERMIT, (sdf.org), 11/28/2018 ------------------------------------------------------------ I had previously mentioned that I had my z80 going, but that I didn't have a way to backup my files. Now that I think about it, I believe that I partially solved this problem before, but since I spent the time to solve it again, I figured I'd post about it. The Grant Searle z80 CP/M SBC has two serial ports. One is built out with a max232 chip, so you can just plug in a normal DB9 serial connector and hook it up to your pc (or other hardware that does the RS232 thing.) The other serial port on Grant's design is a TTL connection, which lets you connect easily to modern hobby stuff, to Grant's terminal design, etc. In CP/M, thanks to Grant's BIOS, the IOBYTE is handled such that you can select the serial port you want to use for your terminal at boot time by pressing space, and it will be assigned to the CON: device automagically. The TTL serial port is assigned to the logical CRT: device, while the RS232 is assigned to the TTY: device. If you press space on the CRT:, then it's set as the CON:, likewise if you press space on the TTY:... this happens at the monitor level, before you boot into BASIC or CP/M. In theory, you can use the device that isn't assigned to the CON: for other things, via other CP/M logical devices. Also, you can change device logical assignments with STAT or by poking the iobyte (3). It's a nice setup. Except, it doesn't work the same way in both CON: setups. I had to learn this the hard way (by fiddling. It's OK, it's also the fun way.) Because I have a serial terminal with a DB9 port right on it, I was using the RS232 connection for my main terminal, and the TTL as my second serial port. It would *kind of* work, sometimes. At first I thought it was because I had the wrong software in CP/M. Then I thought I had the wrong parameters on the other side of the equation (minicom on a modern computer with a USB->TTL cable.) I went through all kinds of troubleshooting, getting very mixed results. Finally, I figured it was my USB->TTL cables (both of them. they were cheap, after all.) So, I hooked up the second TTL port to a full max232 setup, and promptly got the same poor and inconsistent results. Just for kicks, after all else failed, I decided to try my terminal on the second port (now that it had RS232 connected up), and the first port as my secondary... that is, the original TTL on Grant's design was now my primary, the RS232 on Grant's design was now my secondary. This is, I think, how Grant intended things to be anyway. And, bingo, everything works consistently. I don't exactly know why, but this setup works right, the other does not. Today I went back and tried out KERMIT again, and was able to transfer a binary file properly without a hitch. Thanks KERMIT. So, I have a functional backup/transfer solution, and I didn't have to write it myself. Now, I can use the computer for whatever I want. Within reason.