I'm troubleshooting a file transfer issue with sending files via XMODEM from a Linux system to a Z80-MBC2[1] CP/M system. The Z80-MBC2 is a great 8 MHz Z80 homebrew computer kit that can boot a number of operating systems, including CP/M 2.2 and CP/M 3.0.
On the Z80-MBC2, under CP/M 3.0 I execute the command XMODEM TEST.TXT /R. Then, on the Linux side, from a Minicom session I initiate a file transfer and select the TEST.TXT file. Minicom shows these status messages, nothing happens, and the file is not transferred:
Xmodem sectors/kbytes sent: 0/ 0k
Retry 0: Timeout on sector ACK
Retry 0: Timeout on sector ACK
Retry 0: Timeout on sector ACK
...
However, I can successfully transfer to the board very short files, e.g. a few tens of bytes. Transferring files from the board to Linux works fine.
XMODEM TEST.TXT /X0 /R doesn't help, as well as changing Minicom's XMODEM send command to sx -B 128 -vv.
Although the Z80-MBC2 requires a recent firmware version to make XMODEM transfers to the Z80 board work[2], I have the right version and the issue may be unrelated. I'm also reasonably sure it's not something hardware related, as I got a professionally assembled and tested Z80-MBC2 unit.
Any insight, advice, or troubleshooting steps to suggest?
Some more details on my setup. The Z80-MBC2 is connected via serial USB (115200 bps, 8N1, no hardware flow control; only 115200 bps supported) to an i7 ASUS Chromebox 3. I control the Z80 from the Minicom terminal emulator under Crostini, which is the Linux container of chromeOS.
[1] https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computerHi! If the problem still exists. I wrote special version of XModem software for PC (both for Linux and Windows, might be compiled via Lazarus 3.0) than impements an adjustable delay after each byte, sent to remote CP/M computer. It lets CP/M with fast UART chip like Z80DART or Z80SIO, working at 115.2 kbps or faster, receive files without errors. At CP/M side i tested XMODEM.COM and QTERM.COM, both work ok. The repo is here: https://github.com/ivang78/xmodem .
[2] https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer/log/160375-new-ios-for-xmodem-support
Hi! If the problem still exists. I wrote special version of XModem
software for PC (both for Linux and Windows, might be compiled via
Lazarus 3.0) than impements an adjustable delay after each byte, sent
to remote CP/M computer. It lets CP/M with fast UART chip like
work ok. The repo is here: https://github.com/ivang78/xmodem .
work ok. The repo is here: https://github.com/ivang78/xmodem .The supplied Linux binary requires glibc 2.34 while my Linux
system based on Debian Bullseye provides version 2.31.
So I guess I need to build XMODEM from source with Free Pascal, right?
Do I need the full Lazarus or is Free Pascal enough?
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 03:56:17 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
809 files (9,648M bytes) |
| Messages: | 264,528 |