From: Nick Downing Date: Mon, 1 Dec 2025 12:39:04 +0000 (+1100) Subject: In /cpu_z80.c fix a bug with jp (hl), jp (ix), jp (iy), makes mbasic.ihx work X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=5618c257cd1c42d4845f178a84749a0bd952880b;p=multi_emu.git In /cpu_z80.c fix a bug with jp (hl), jp (ix), jp (iy), makes mbasic.ihx work --- diff --git a/cpu_z80.c b/cpu_z80.c index 50b1ebd..e312c74 100644 --- a/cpu_z80.c +++ b/cpu_z80.c @@ -786,7 +786,7 @@ void cpu_z80_execute(struct cpu_z80 *self) { cpu_z80_ret(self, self->regs.bit.pvf); break; case 0xe9: - cpu_z80_jp(self, true, cpu_z80_read_word(self, self->regs.word.hl)); + cpu_z80_jp(self, true, self->regs.word.hl); break; case 0xea: cpu_z80_jp(self, self->regs.bit.pvf, cpu_z80_fetch_word(self)); @@ -2337,7 +2337,7 @@ void cpu_z80_execute_dd(struct cpu_z80 *self) { cpu_z80_ret(self, self->regs.bit.pvf); break; case 0xe9: - cpu_z80_jp(self, true, cpu_z80_read_word(self, self->regs.word.ix)); + cpu_z80_jp(self, true, self->regs.word.ix); break; case 0xea: cpu_z80_jp(self, self->regs.bit.pvf, cpu_z80_fetch_word(self)); @@ -4662,7 +4662,7 @@ void cpu_z80_execute_fd(struct cpu_z80 *self) { cpu_z80_ret(self, self->regs.bit.pvf); break; case 0xe9: - cpu_z80_jp(self, true, cpu_z80_read_word(self, self->regs.word.iy)); + cpu_z80_jp(self, true, self->regs.word.iy); break; case 0xea: cpu_z80_jp(self, self->regs.bit.pvf, cpu_z80_fetch_word(self)); diff --git a/emu_z80.c b/emu_z80.c index 95e7fd4..838bd24 100644 --- a/emu_z80.c +++ b/emu_z80.c @@ -188,6 +188,7 @@ int bdos(int a, int c, int de, uint16_t *hl) { break; } break; +#if 0 // unlike MS-DOS version, the CP/M BASIC-80 uses direct BIOS calls case 6: // Direct console I/O de &= 0xff; @@ -220,6 +221,7 @@ int bdos(int a, int c, int de, uint16_t *hl) { break; } break; +#endif case 9: // Display string for (int data; (data = mem[de]) != '$'; de = (de + 1) & 0xffff)