mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-06 15:48:05 -04:00
PicoVideoRead optimization
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@511 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
2aa27095f2
commit
9761a7d0d4
10 changed files with 90 additions and 64 deletions
|
@ -501,10 +501,8 @@ u32 PicoReadM68k8(u32 a)
|
|||
case 0xd0>>1: case 0xd2>>1: case 0xd4>>1: case 0xd6>>1:
|
||||
case 0xd8>>1: case 0xda>>1: case 0xdc>>1: case 0xde>>1:
|
||||
// VDP
|
||||
if ((a&0xe700e0)==0xc00000) {
|
||||
d=PicoVideoRead(a);
|
||||
if ((a&1)==0) d>>=8;
|
||||
}
|
||||
if ((a&0xe700e0)==0xc00000)
|
||||
d=PicoVideoRead8(a);
|
||||
break;
|
||||
case 0xe0>>1: case 0xe2>>1: case 0xe4>>1: case 0xe6>>1:
|
||||
case 0xe8>>1: case 0xea>>1: case 0xec>>1: case 0xee>>1:
|
||||
|
|
|
@ -126,6 +126,7 @@ m_s68k_decode_write_table:
|
|||
.extern z80Read8
|
||||
.extern OtherRead16
|
||||
.extern PicoVideoRead
|
||||
.extern PicoVideoRead8
|
||||
.extern Read_CDC_Host
|
||||
.extern m68k_reg_write8
|
||||
.extern OtherWrite16
|
||||
|
@ -611,13 +612,7 @@ m_m68k_read8_vdp:
|
|||
tst r0, #0x70000
|
||||
tsteq r0, #0x000e0
|
||||
bxne lr @ invalid read
|
||||
stmfd sp!,{r0,lr}
|
||||
bic r0, r0, #1
|
||||
bl PicoVideoRead @ TODO: implement it in asm
|
||||
ldmfd sp!,{r1,lr}
|
||||
tst r1, #1
|
||||
moveq r0, r0, lsr #8
|
||||
bx lr
|
||||
b PicoVideoRead8
|
||||
|
||||
|
||||
m_m68k_read8_ram:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue