Greetings,
I hope this information is not old. I searched the forum and didn't find anything on Xmodem - I hope I didn't miss something.
I have had success with using Xmodem CRC16 for transferring files in and out of my Imsai 8080 which works nicely for acquiring files from and backing up to the outside world. Previously I tried PIP and found it to be very slow requiring the injection of character and line delays. To acquire a large source listing file I found I needed to break the file up into chunks small enough to fit into the buffer as otherwise data was lost during disk write cycles. This required patching the source code back together with my favorite CP/M line editor. The PIP process was prone to error and I couldn't figure out how to use it for binary file transfers.
For Xmodem I am using a 9600 Baud port and the transfer throughput runs around 6 KB/S. It interfaces with Windows XP Hyperterminal quite nicely. I have transferred a number of files and have not noticed any errors. I transferred a COM file out and then back in again and it still ran OK on the Imsai.
I found this news group post describing an Xmodem source listing for 8080/Z80 CP/M machines:
https://groups.google.com/forum/#!topic/comp.os.cpm/1EdJzNh1ekM
The source listing looked very professional to me so I decided to try and get it to run on my Imsai. I decided direct communications to the port would be better than passing data via CP/M using the PUNCH/READER API. This required modifying the source listing a little with simple IO interface routines with the appropriate port status and data bus addresses. Sample interface routines were given in the source code comments which made this process easy. The most difficult part for me after I managed to get the source code loaded into the Imsai was re-learning how to use the line editor and CP/M assembler tools (it has been over 35 years since I did this, /))). Getting the source listing fixed back up with the characters that were lost during the PIP file transfer required a few re-assembler cycles. The Xmodem source listing can be found here:
https://docs.google.com/file/d/0B-XdfCubTNJJMXlrVHA4WHRvVjQ/edit?usp=sharing
A special thanks goes to Martin Eberhard for his good work and for posting this source code!
Best Regards,
tma
I hope this information is not old. I searched the forum and didn't find anything on Xmodem - I hope I didn't miss something.
I have had success with using Xmodem CRC16 for transferring files in and out of my Imsai 8080 which works nicely for acquiring files from and backing up to the outside world. Previously I tried PIP and found it to be very slow requiring the injection of character and line delays. To acquire a large source listing file I found I needed to break the file up into chunks small enough to fit into the buffer as otherwise data was lost during disk write cycles. This required patching the source code back together with my favorite CP/M line editor. The PIP process was prone to error and I couldn't figure out how to use it for binary file transfers.
For Xmodem I am using a 9600 Baud port and the transfer throughput runs around 6 KB/S. It interfaces with Windows XP Hyperterminal quite nicely. I have transferred a number of files and have not noticed any errors. I transferred a COM file out and then back in again and it still ran OK on the Imsai.
I found this news group post describing an Xmodem source listing for 8080/Z80 CP/M machines:
https://groups.google.com/forum/#!topic/comp.os.cpm/1EdJzNh1ekM
The source listing looked very professional to me so I decided to try and get it to run on my Imsai. I decided direct communications to the port would be better than passing data via CP/M using the PUNCH/READER API. This required modifying the source listing a little with simple IO interface routines with the appropriate port status and data bus addresses. Sample interface routines were given in the source code comments which made this process easy. The most difficult part for me after I managed to get the source code loaded into the Imsai was re-learning how to use the line editor and CP/M assembler tools (it has been over 35 years since I did this, /))). Getting the source listing fixed back up with the characters that were lost during the PIP file transfer required a few re-assembler cycles. The Xmodem source listing can be found here:
https://docs.google.com/file/d/0B-XdfCubTNJJMXlrVHA4WHRvVjQ/edit?usp=sharing
A special thanks goes to Martin Eberhard for his good work and for posting this source code!
Best Regards,
tma