diff --git a/z80.h b/z80.h index 372a8c4..bf20410 100644 --- a/z80.h +++ b/z80.h @@ -225,7 +225,7 @@ class root { unsigned on_get_int_mode() const { return 0; } void on_set_int_mode(unsigned mode) { unused(mode); } void on_set_is_int_disabled(bool f) { unused(f); } - fast_u8 on_get_int_vector() { return 0xFF; } + fast_u8 on_get_int_vector() { return 0xff; } void set_i_on_ld(fast_u8 i) { self().on_set_i(i); } @@ -3770,7 +3770,9 @@ class internals::executor_base : public B { break; case 2: { // ack(7) w(3) w(3) r(3) r(3) - fast_u16 vector_addr = make16(self().on_get_i(), self().on_get_int_vector()); + fast_u8 v = self().on_get_int_vector(); + fast_u8 i = self().on_get_i(); + fast_u16 vector_addr = make16(i, v); fast_u8 lo = self().on_read_cycle(vector_addr); fast_u8 hi = self().on_read_cycle(inc16(vector_addr)); isr_addr = make16(hi, lo); }