tst r1, #5\r
bne SRAMRead\r
m_read8_ar_nosram:\r
+ ldr r2, =PicoRead16Hook\r
stmfd sp!,{r0,lr}\r
+ ldr r2, [r2]\r
bic r0, r0, #1\r
mov r1, #8\r
- bl OtherRead16End\r
+ mov lr, pc\r
+ bx r2\r
ldmfd sp!,{r1,lr}\r
tst r1, #1\r
moveq r0, r0, lsr #8\r
tst r1, #5\r
beq m_read16_nosram\r
stmfd sp!,{lr}\r
- bl SRAMRead\r
- orr r0, r0, r0, lsl #8\r
+ bl SRAMRead16\r
ldmfd sp!,{pc}\r
m_read16_nosram:\r
ldr r1, [r3, #4] @ romsize\r
tst r1, #5\r
beq m_read16_ar_nosram\r
stmfd sp!,{lr}\r
- bl SRAMRead\r
- orr r0, r0, r0, lsl #8\r
+ bl SRAMRead16\r
ldmfd sp!,{pc}\r
m_read16_ar_nosram:\r
+ ldr r2, =PicoRead16Hook\r
+ ldr r2, [r2]\r
mov r1, #16\r
- b OtherRead16End\r
+ bx r2\r
\r
.pool\r
\r
tst r1, #5\r
beq m_read32_nosram\r
stmfd sp!,{r0,lr}\r
- bl SRAMRead\r
+ bl SRAMRead16\r
ldmfd sp!,{r1,lr}\r
stmfd sp!,{r0,lr}\r
add r0, r1, #2\r
- bl SRAMRead\r
+ bl SRAMRead16\r
ldmfd sp!,{r1,lr}\r
orr r0, r0, r1, lsl #16\r
- orr r0, r0, r0, lsl #8\r
bx lr\r
m_read32_nosram:\r
ldr r1, [r3, #4] @ romsize\r
bx lr\r
\r
m_read32_above_rom:\r
+ ldr r2, =PicoRead16Hook\r
bic r0, r0, #1\r
- stmfd sp!,{r0,lr}\r
+ ldr r2, [r2]\r
mov r1, #32\r
- bl OtherRead16End\r
+ stmfd sp!,{r0,r2,lr}\r
+ mov lr, pc\r
+ bx r2\r
mov r1, r0\r
- ldmfd sp!,{r0}\r
+ ldmfd sp!,{r0,r2}\r
stmfd sp!,{r1}\r
add r0, r0, #2\r
mov r1, #32\r
- bl OtherRead16End\r
+ mov lr, pc\r
+ bx r2\r
ldmfd sp!,{r1,lr}\r
orr r0, r0, r1, lsl #16\r
bx lr\r