notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
win32 Pico mostly finished
[picodrive.git]
/
Pico
/
Memory.s
diff --git
a/Pico/Memory.s
b/Pico/Memory.s
index
7e16384
..
368b640
100644
(file)
--- a/
Pico/Memory.s
+++ b/
Pico/Memory.s
@@
-448,10
+448,13
@@
m_read8_above_rom:
tst r1, #5
\r
bne SRAMRead
\r
m_read8_ar_nosram:
\r
tst r1, #5
\r
bne SRAMRead
\r
m_read8_ar_nosram:
\r
+ ldr r2, =PicoRead16Hook
\r
stmfd sp!,{r0,lr}
\r
stmfd sp!,{r0,lr}
\r
+ ldr r2, [r2]
\r
bic r0, r0, #1
\r
mov r1, #8
\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
ldmfd sp!,{r1,lr}
\r
tst r1, #1
\r
moveq r0, r0, lsr #8
\r
@@
-502,8
+505,7
@@
m_read16_rom4: @ 0x200000 - 0x27ffff, SRAM area (NBA Live 95)
tst r1, #5
\r
beq m_read16_nosram
\r
stmfd sp!,{lr}
\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
ldmfd sp!,{pc}
\r
m_read16_nosram:
\r
ldr r1, [r3, #4] @ romsize
\r
@@
-593,12
+595,13
@@
m_read16_above_rom:
tst r1, #5
\r
beq m_read16_ar_nosram
\r
stmfd sp!,{lr}
\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
ldmfd sp!,{pc}
\r
m_read16_ar_nosram:
\r
+ ldr r2, =PicoRead16Hook
\r
+ ldr r2, [r2]
\r
mov r1, #16
\r
mov r1, #16
\r
- b
OtherRead16End
\r
+ b
x r2
\r
\r
.pool
\r
\r
\r
.pool
\r
\r
@@
-647,14
+650,13
@@
m_read32_rom4: @ 0x200000 - 0x27ffff, SRAM area (does any game do long reads?)
tst r1, #5
\r
beq m_read32_nosram
\r
stmfd sp!,{r0,lr}
\r
tst r1, #5
\r
beq m_read32_nosram
\r
stmfd sp!,{r0,lr}
\r
- bl SRAMRead
\r
+ bl SRAMRead
16
\r
ldmfd sp!,{r1,lr}
\r
stmfd sp!,{r0,lr}
\r
add r0, r1, #2
\r
ldmfd sp!,{r1,lr}
\r
stmfd sp!,{r0,lr}
\r
add r0, r1, #2
\r
- bl SRAMRead
\r
+ bl SRAMRead
16
\r
ldmfd sp!,{r1,lr}
\r
orr r0, r0, r1, lsl #16
\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
m_read32_nosram:
\r
ldr r1, [r3, #4] @ romsize
\r
@@
-751,16
+753,20
@@
m_read32_ram:
bx lr
\r
\r
m_read32_above_rom:
\r
bx lr
\r
\r
m_read32_above_rom:
\r
+ ldr r2, =PicoRead16Hook
\r
bic r0, r0, #1
\r
bic r0, r0, #1
\r
- stmfd sp!,{r0,lr}
\r
+ ldr r2, [r2]
\r
mov r1, #32
\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
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
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
ldmfd sp!,{r1,lr}
\r
orr r0, r0, r1, lsl #16
\r
bx lr
\r