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
732e6b8
..
368b640
100644
(file)
--- a/
Pico/Memory.s
+++ b/
Pico/Memory.s
@@
-386,17
+386,14
@@
m_read8_misc2:
cmp r2, #0x4000
\r
mvnne r0, #0
\r
bxne lr @ invalid
\r
cmp r2, #0x4000
\r
mvnne r0, #0
\r
bxne lr @ invalid
\r
-.if EXTERNAL_YM2612
\r
ldr r1, =PicoOpt
\r
ldr r1, [r1]
\r
tst r1, #1
\r
ldr r1, =PicoOpt
\r
ldr r1, [r1]
\r
tst r1, #1
\r
- beq m_read8_fake_ym2612
\r
- tst r1, #0x200
\r
- beq YM2612Read_
\r
- b YM2612Read_940
\r
-.else
\r
- b YM2612Read_
\r
-.endif
\r
+
\r
+ ldrne r1, =ym2612_st
\r
+ ldrne r1, [r1]
\r
+ ldrneb r0, [r1, #0x11] @ ym2612_st->status
\r
+ bxne lr
\r
\r
m_read8_fake_ym2612:
\r
ldr r3, =(Pico+0x22200)
\r
\r
m_read8_fake_ym2612:
\r
ldr r3, =(Pico+0x22200)
\r
@@
-451,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
@@
-505,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
@@
-596,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
@@
-650,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
@@
-754,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