PicoVideoRead optimization

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@511 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2008-07-01 16:12:04 +00:00
parent 2aa27095f2
commit 9761a7d0d4
10 changed files with 90 additions and 64 deletions

View file

@ -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:

View file

@ -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: