diff options
Diffstat (limited to 'avr/z180-serv.c')
-rw-r--r-- | avr/z180-serv.c | 5 |
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); } |