aboutsummaryrefslogtreecommitdiff
path: root/source/65c816.h
diff options
context:
space:
mode:
authorNebuleon Fumika2012-12-26 14:42:02 -0500
committerNebuleon Fumika2012-12-26 14:42:02 -0500
commite5869adc4469115c7eac9abf70145fc178e017de (patch)
tree552805b1c150fea2f5e905e550d034f71c03fb75 /source/65c816.h
parent139c793b584a76acd42d72ec019d2cabab7d3ee7 (diff)
downloadsnes9x2005-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.h34
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