summaryrefslogtreecommitdiff
path: root/src/cpu/addressing.c
diff options
context:
space:
mode:
authoralekseiplusplus <alekseijeaves@protonmail.com>2023-12-03 21:03:44 +1100
committeralekseiplusplus <alekseijeaves@protonmail.com>2023-12-03 21:03:44 +1100
commit78d3f650b2ca507e3d5376d3cad4d93df1901569 (patch)
tree997f7fae4c137af410e38f6acf790e2c7e20cebc /src/cpu/addressing.c
parent09288876a8080b2a643a8c644eb116c021f0c397 (diff)
making CPU more correct, STILL not working
Diffstat (limited to 'src/cpu/addressing.c')
-rw-r--r--src/cpu/addressing.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cpu/addressing.c b/src/cpu/addressing.c
index f381e51..fd9bf7e 100644
--- a/src/cpu/addressing.c
+++ b/src/cpu/addressing.c
@@ -11,13 +11,14 @@ void* current_instruction;
address fAddressGetAddress(Addressing mode, short x) {
switch(mode){
case eImplied:
- case eIndirectAbsolute:
case eRelative:
case eImmediate:
case eAccumulator:
return 0x0000;
case eAbsolute:
return x;
+ case eIndirectAbsolute:
+ return GetMemory(x) + ((address)GetMemory(x+1) << 8);
case eAbsoluteIndexedX:
return x + X;
case eAbsoluteIndexedY: