bug fixes in drc, audio, display

This commit is contained in:
kub 2020-01-14 22:49:03 +01:00
parent 8ac9ab7fcb
commit b9bc876c9c
14 changed files with 130 additions and 93 deletions

View file

@ -368,10 +368,12 @@ int dismips(uintptr_t pc, uint32_t insn, char *buf, size_t buflen, unsigned long
else
snprintf(buf, buflen, "%s %s, %s, %d", pi->name, rd, rt, sa);
break;
//dext: pos,size-1 dextm: pos,size-33 dextu: pos-32,size-1
//dins: pos,pos+size-1 dinsm: pos,pos+size-33 dinsu: pos-32,pos+size-33
case F_IMM_TS:
if (insn & 0x01) sb+=32;
if (insn & 0x02) sa+=32;
if (insn & 0x04) sb-=sa;
if (insn & 0x01) sb+=32; // ...m
if (insn & 0x02) sa+=32; // ...u
if (insn & 0x04) sb-=sa; // ins
snprintf(buf, buflen, "%s %s, %s, %d, %d", pi->name, rt, rs, sa, sb+1);
break;
case B_IMM_S:

View file

@ -176,7 +176,10 @@ void plat_debug_cat(char *str)
void emu_video_mode_change(int start_line, int line_count, int is_32cols)
{
// clear whole screen in all buffers
memset32(g_screen_ptr, 0, g_screen_ppitch * g_screen_height * 2 / 4);
if (currentConfig.renderer != RT_16BIT && !(PicoIn.AHW & PAHW_32X))
memset32(Pico.est.Draw2FB, 0, (320+8) * (8+240+8) / 4);
else
memset32(g_screen_ptr, 0, g_screen_ppitch * g_screen_height * 2 / 4);
}
void pemu_loop_prep(void)