Skip to content

Commit

Permalink
[#18] Move the generic implementations of the on_set_regp2() handlers…
Browse files Browse the repository at this point in the history
… to the root module.
  • Loading branch information
kosarev committed Jul 4, 2021
1 parent 450046a commit 1f32317
Showing 1 changed file with 12 additions and 17 deletions.
29 changes: 12 additions & 17 deletions z80.h
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,16 @@ class root {
unreachable("Unknown register.");
}

void on_set_regp2(regp2 rp, fast_u16 nn) {
switch(rp) {
case regp2::bc: return self().on_set_bc(nn);
case regp2::de: return self().on_set_de(nn);
case regp2::hl: return self().on_set_hl(nn);
case regp2::af: return self().on_set_af(nn);
}
unreachable("Unknown register.");
}

// No dummy implementations for the following handlers as
// being forgotten to be implemented, they would lead to
// problems that are hard to diagnose.
Expand Down Expand Up @@ -2419,16 +2429,6 @@ class i8080_executor : public internals::executor_base<B> {
base::on_set_reg(r, n);
}

void on_set_regp2(regp2 rp, fast_u16 nn) {
switch(rp) {
case regp2::bc: return self().on_set_bc(nn);
case regp2::de: return self().on_set_de(nn);
case regp2::hl: return self().on_set_hl(nn);
case regp2::af: return self().on_set_af(nn);
}
unreachable("Unknown register.");
}

fast_u8 on_fetch_cycle() {
fast_u16 addr = self().get_pc_on_fetch();
self().on_set_addr_bus(addr);
Expand Down Expand Up @@ -2952,13 +2952,8 @@ class z80_executor : public internals::executor_base<B> {
}

void on_set_regp2(regp2 rp, iregp irp, fast_u16 nn) {
switch(rp) {
case regp2::bc: return self().on_set_bc(nn);
case regp2::de: return self().on_set_de(nn);
case regp2::hl: return self().on_set_iregp(irp, nn);
case regp2::af: return self().on_set_af(nn);
}
unreachable("Unknown register.");
return rp == regp2::hl ? self().on_set_iregp(irp, nn) :
base::on_set_regp2(rp, nn);
}

bool check_condition(condition cc) {
Expand Down

0 comments on commit 1f32317

Please sign in to comment.