vdp rendering, fix for CD (sprites from WORD RAM)

This commit is contained in:
kub 2020-03-27 19:22:19 +01:00
parent 82b3e6cf3c
commit bd73e6eec0
3 changed files with 35 additions and 35 deletions

View file

@ -849,6 +849,24 @@ void ym2612_unpack_state(void);
// videoport.c
extern unsigned SATaddr, SATmask;
static __inline void UpdateSAT(u32 a, u32 d)
{
unsigned num = (a-SATaddr) >> 3;
Pico.est.rendstatus |= PDRAW_DIRTY_SPRITES;
if (!(a & 4) && num < 128) {
((u16 *)&VdpSATCache[num])[(a&3) >> 1] = d;
}
}
static __inline void VideoWriteVRAM(u32 a, u16 d)
{
PicoMem.vram [(u16)a >> 1] = d;
if (!((u16)(a^SATaddr) & SATmask))
UpdateSAT(a, d);
}
PICO_INTERNAL_ASM void PicoVideoWrite(unsigned int a,unsigned short d);
PICO_INTERNAL_ASM unsigned int PicoVideoRead(unsigned int a);
unsigned char PicoVideoRead8DataH(void);