Hi All,
I couldn't find a decent XMODEM program that would allow me to upload and download files to my Cromemco machine. So I wrote my own version of XMODEM. My version supports sending and receiving XMODEM files via either TUART port, user-selectable baud rates up to 76.8K baud, using either checksum or CRC error checking. It buffers up to 48 XMODEM blocks (128 bytes each) in RAM before initiating a CDOS disk operation, to keep things fast. I have used this program to transfer large files to and from my (virtual) PC, using Hyperterm - it works great. (My PC's serial port can't do 76.8K baud, but 38.4K baud is pretty nice.)
This program requires a Z80 CPU, a TUART, CDOS, and about 7K of free
memory starting at address 0100h. I assume that TUART port A is at
address 20H, and TUART port B is at address 50H, though these addresses
can be changed with a simple equ statement near the beginning of the
program. I assume a 4 MHz Z80. If yours runs slower, some of the timeouts will be longer, that is all - it will still work fine.
This version of XMODEM fast and easy to use. It has a simple command-line interface - just type XMODEM for a help screen that explains the command-line options.
I *think* this will also work under CP/M (on a Z80 machine with a TUART), though I haven't looked into this deeply, or tried it yet.
You can get a copy of my source code, XMODEM.Z80 (intended to be assembled with Cromemco's
ASMB.COM) here:
https://docs.google.com/open?id=0B-XdfCubTNJJY0pRaW91WFZQSUUYou can download the Z80 executable,
XMODEM.COM here:
https://docs.google.com/open?id=0B-XdfCubTNJJMTlBdmdQWHJmYkUComments are, of course, welcome. Hopefully some of you will find this useful.