ARM bugfix: actually return the correct value when reading from slot I/O card

- Allows NSCT.dsk to boot on ARM architecture devices
This commit is contained in:
Aaron Culliney
2016-01-23 12:57:50 -08:00
parent f8e4ba3551
commit d44aad062a

View File

@@ -20,10 +20,10 @@ ENTRY(func) SYM(r1, softswitches); \
SYM(r1, pointer); \
tst r0, $SS_CXROM; \
bne 1f; \
push {r0, EffectiveAddr, PC_Reg, /*SP_Reg, F_Reg, Y_Reg, X_Reg, A_Reg,*/ lr}; \
push {EffectiveAddr, PC_Reg, /*SP_Reg, F_Reg, Y_Reg, X_Reg, A_Reg,*/ lr}; \
ldr r1, [r1]; \
blx r1; \
pop {r0, EffectiveAddr, PC_Reg, /*SP_Reg, F_Reg, Y_Reg, X_Reg, A_Reg,*/ pc}; \
pop {EffectiveAddr, PC_Reg, /*SP_Reg, F_Reg, Y_Reg, X_Reg, A_Reg,*/ pc}; \
1: ldr r1, [r1]; \
ldrb r0, [r1, EffectiveAddr]; \
mov pc, lr;