void ApuCA() { // MOV1 membit,C MemBit(); if (APUCheckCarry()) S9xAPUSetByte(S9xAPUGetByte(IAPU.Address) | (1 << IAPU.Bit), IAPU.Address); else S9xAPUSetByte(S9xAPUGetByte(IAPU.Address) & ~(1 << IAPU.Bit), IAPU.Address); IAPU.PC += 3; }
void ApuEA() { // NOT1 membit MemBit(); S9xAPUSetByte(S9xAPUGetByte(IAPU.Address) ^ (1 << IAPU.Bit), IAPU.Address); IAPU.PC += 3; }
void Apu0C() { // ASL abs Absolute(); uint8_t Work8 = S9xAPUGetByte(IAPU.Address); ASL(Work8); S9xAPUSetByte(Work8, IAPU.Address); IAPU.PC += 3; }
void Apu6C() { // ROR abs Absolute(); uint8_t Work8 = S9xAPUGetByte(IAPU.Address); ROR(Work8); S9xAPUSetByte(Work8, IAPU.Address); IAPU.PC += 3; }
void Apu4C() { // LSR abs Absolute(); uint8 Work8 = S9xAPUGetByte(((IAPU.Address))); LSR(Work8); S9xAPUSetByte(Work8, IAPU.Address); IAPU.PC += 3; }
void Apu2C() { // ROL abs Absolute(); uint8 Work8 = S9xAPUGetByte(((IAPU.Address))); ROL(Work8); S9xAPUSetByte(Work8, IAPU.Address); IAPU.PC += 3; }
void Apu4E() { // TCLR1 abs Absolute(); uint8_t Work8 = S9xAPUGetByte(IAPU.Address); S9xAPUSetByte(Work8 & ~IAPU.Registers.YA.B.A, IAPU.Address); Work8 &= IAPU.Registers.YA.B.A; APUSetZN8(Work8); IAPU.PC += 3; }
void Apu0E() { // TSET1 abs Absolute(); uint8 Work8 = S9xAPUGetByte(IAPU.Address); S9xAPUSetByte(Work8 | IAPU.YA.B.A, IAPU.Address); Work8 &= IAPU.YA.B.A; APUSetZN8(Work8); IAPU.PC += 3; }
void Apu8C() { // DEC abs Absolute(); uint8_t Work8 = S9xAPUGetByte(IAPU.Address) - 1; S9xAPUSetByte(Work8, IAPU.Address); APUSetZN8(Work8); #ifdef SPC700_SHUTDOWN IAPU.WaitCounter++; #endif IAPU.PC += 3; }