summaryrefslogtreecommitdiff
path: root/avr/z180-serv.c
diff options
context:
space:
mode:
Diffstat (limited to 'avr/z180-serv.c')
-rw-r--r--avr/z180-serv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/avr/z180-serv.c b/avr/z180-serv.c
index f55b7a8..0ce6b9b 100644
--- a/avr/z180-serv.c
+++ b/avr/z180-serv.c
@@ -399,6 +399,7 @@ static const FLASH char * const FLASH rc_messages[] = {
FSTR("Access byond disk size"), /* 04 */
FSTR("Write protect"), /* 05 */
FSTR("No media"), /* 06 */
+ FSTR("R/W address == 0 !!!!"), /* 07 */
};
void msg_cpm_result(uint8_t subf, uint8_t rc, int res)
@@ -530,6 +531,10 @@ void do_msg_cpm_rw(uint8_t subf, int len, uint8_t * msg)
drv_debug(MIDDLE, PSTR(" T:%4d, S:%2d, cnt:%2d, lba: %.8lx, addr: %.5lx"),
track, sec, secs, pos, addr);
+ if (addr == 0) {
+ return msg_cpm_result(subf, 0x07, res);
+ }
+
if (dowrite && dp->opt & DRV_OPT_RO) {
return msg_cpm_result(subf, 0x05, res);
}