diff options
author | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-12-03 21:03:44 +1100 |
---|---|---|
committer | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-12-03 21:03:44 +1100 |
commit | 78d3f650b2ca507e3d5376d3cad4d93df1901569 (patch) | |
tree | 997f7fae4c137af410e38f6acf790e2c7e20cebc /src/cpu/addressing.c | |
parent | 09288876a8080b2a643a8c644eb116c021f0c397 (diff) |
making CPU more correct, STILL not working
Diffstat (limited to 'src/cpu/addressing.c')
-rw-r--r-- | src/cpu/addressing.c | 3 |
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: |