From: Leo C Date: Mon, 13 Jun 2016 21:04:35 +0000 (+0200) Subject: Z180 parameter checks X-Git-Tag: hexrel-6.8.1~14 X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/commitdiff_plain/910e72069ea19a79e06e7146a5e42d0bb05a9c2f Z180 parameter checks --- 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); } diff --git a/avr/z80-if.c b/avr/z80-if.c index ae3bd66..08d417b 100644 --- a/avr/z80-if.c +++ b/avr/z80-if.c @@ -577,7 +577,6 @@ void z80_memfifo_init(const fifo_t f, uint32_t addr) { fifo_dsc[f].base = addr; -DBG_P(2, "z80_memfifo_init: %i, %lx\n", f, addr); if (addr != 0) { z80_bus_cmd(Request); @@ -585,6 +584,11 @@ DBG_P(2, "z80_memfifo_init: %i, %lx\n", f, addr); fifo_dsc[f].idx_in = z80_read(addr + FIFO_INDEX_IN); fifo_dsc[f].idx_out = z80_read(addr + FIFO_INDEX_OUT); z80_bus_cmd(Release); + + if (fifo_dsc[f].idx_in != 0 || fifo_dsc[f].idx_out != 0) { + DBG_P(1, "## z80_memfifo_init: %i, %lx, in: %.2x, out: %.2x, mask: %.2x\n", + f, addr, fifo_dsc[f].idx_in, fifo_dsc[f].idx_out, fifo_dsc[f].mask); + } } }