diff options
author | Nebuleon Fumika | 2012-12-26 14:42:02 -0500 |
---|---|---|
committer | Nebuleon Fumika | 2012-12-26 14:42:02 -0500 |
commit | e5869adc4469115c7eac9abf70145fc178e017de (patch) | |
tree | 552805b1c150fea2f5e905e550d034f71c03fb75 /source/65c816.h | |
parent | 139c793b584a76acd42d72ec019d2cabab7d3ee7 (diff) | |
download | snes9x2005-e5869adc4469115c7eac9abf70145fc178e017de.tar.gz snes9x2005-e5869adc4469115c7eac9abf70145fc178e017de.tar.bz2 snes9x2005-e5869adc4469115c7eac9abf70145fc178e017de.zip |
Merge Registers structures into their respective CPUs to avoid additional memory addresses being loaded every opcode.
Diffstat (limited to 'source/65c816.h')
-rw-r--r-- | source/65c816.h | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/source/65c816.h b/source/65c816.h index a82de8d..04b591c 100644 --- a/source/65c816.h +++ b/source/65c816.h @@ -117,14 +117,14 @@ #define SetCarry() (ICPU._Carry = 1) #define SetZero() (ICPU._Zero = 0) #define ClearZero() (ICPU._Zero = 1) -#define SetIRQ() (Registers.PL |= IRQ) -#define ClearIRQ() (Registers.PL &= ~IRQ) -#define SetDecimal() (Registers.PL |= Decimal) -#define ClearDecimal() (Registers.PL &= ~Decimal) -#define SetIndex() (Registers.PL |= IndexFlag) -#define ClearIndex() (Registers.PL &= ~IndexFlag) -#define SetMemory() (Registers.PL |= MemoryFlag) -#define ClearMemory() (Registers.PL &= ~MemoryFlag) +#define SetIRQ() (ICPU.Registers.PL |= IRQ) +#define ClearIRQ() (ICPU.Registers.PL &= ~IRQ) +#define SetDecimal() (ICPU.Registers.PL |= Decimal) +#define ClearDecimal() (ICPU.Registers.PL &= ~Decimal) +#define SetIndex() (ICPU.Registers.PL |= IndexFlag) +#define ClearIndex() (ICPU.Registers.PL &= ~IndexFlag) +#define SetMemory() (ICPU.Registers.PL |= MemoryFlag) +#define ClearMemory() (ICPU.Registers.PL &= ~MemoryFlag) #define SetOverflow() (ICPU._Overflow = 1) #define ClearOverflow() (ICPU._Overflow = 0) #define SetNegative() (ICPU._Negative = 0x80) @@ -132,17 +132,17 @@ #define CheckZero() (ICPU._Zero == 0) #define CheckCarry() (ICPU._Carry) -#define CheckIRQ() (Registers.PL & IRQ) -#define CheckDecimal() (Registers.PL & Decimal) -#define CheckIndex() (Registers.PL & IndexFlag) -#define CheckMemory() (Registers.PL & MemoryFlag) +#define CheckIRQ() (ICPU.Registers.PL & IRQ) +#define CheckDecimal() (ICPU.Registers.PL & Decimal) +#define CheckIndex() (ICPU.Registers.PL & IndexFlag) +#define CheckMemory() (ICPU.Registers.PL & MemoryFlag) #define CheckOverflow() (ICPU._Overflow) #define CheckNegative() (ICPU._Negative & 0x80) -#define CheckEmulation() (Registers.P.W & Emulation) +#define CheckEmulation() (ICPU.Registers.P.W & Emulation) -#define ClearFlags(f) (Registers.P.W &= ~(f)) -#define SetFlags(f) (Registers.P.W |= (f)) -#define CheckFlag(f) (Registers.PL & (f)) +#define ClearFlags(f) (ICPU.Registers.P.W &= ~(f)) +#define SetFlags(f) (ICPU.Registers.P.W |= (f)) +#define CheckFlag(f) (ICPU.Registers.PL & (f)) typedef union { @@ -166,7 +166,5 @@ struct SRegisters{ uint16 PC; }; -EXTERN_C struct SRegisters Registers; - #endif |