void ApuDE() { // CBNE dp+X,rel uint8_t Work8 = OP1 + IAPU.Registers.X; Relative2(); if (S9xAPUGetByteZ(Work8) != IAPU.Registers.YA.B.A) { IAPU.PC = IAPU.RAM + (uint16_t) Int16; APU.Cycles += IAPU.TwoCycles; APUShutdown(); } else IAPU.PC += 3; }
void Apu6E() { // DBNZ dp,rel uint8_t Work8 = OP1; Relative2(); uint8_t W1 = S9xAPUGetByteZ(Work8) - 1; S9xAPUSetByteZ(W1, Work8); if (W1 != 0) { IAPU.PC = IAPU.RAM + (uint16_t) Int16; APU.Cycles += IAPU.TwoCycles; } else IAPU.PC += 3; }
void ApuDE() { // CBNE dp+X,rel uint8 Work8 = OP1 + IAPU.X; Relative2(); if (S9xAPUGetByteZ(Work8) != IAPU.YA.B.A) { IAPU.PC = IAPU.RAM + (uint16) Int16; CPU.APU_Cycles += IAPU.TwoCycles; APUShutdown(); } else IAPU.PC += 3; }