New XMODEM for CDOS

26 views
Skip to first unread message

Martin Eberhard

unread,
Nov 12, 2012, 4:18:26 PM11/12/12
to crom...@googlegroups.com
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-XdfCubTNJJY0pRaW91WFZQSUU

You can download the Z80 executable, XMODEM.COM here:

https://docs.google.com/open?id=0B-XdfCubTNJJMTlBdmdQWHJmYkU

Comments are, of course, welcome. Hopefully some of you will find this useful.


Reply all
Reply to author
Forward
0 new messages