picodrive: Only honor reset and power buttons on leading edge. Works around bug where resetting every frame broke the emu
This commit is contained in:
parent
a105f29d04
commit
05299c618f
Binary file not shown.
|
@ -201,16 +201,18 @@ static void Blit(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static uint32_t PrevButtons;
|
||||||
ECL_EXPORT void FrameAdvance(MyFrameInfo *f)
|
ECL_EXPORT void FrameAdvance(MyFrameInfo *f)
|
||||||
{
|
{
|
||||||
current_frame = f;
|
current_frame = f;
|
||||||
PicoInputWasRead = 0;
|
PicoInputWasRead = 0;
|
||||||
PicoPad[0] = f->Buttons & 0xfff;
|
PicoPad[0] = f->Buttons & 0xfff;
|
||||||
PicoPad[1] = f->Buttons >> 12 & 0xfff;
|
PicoPad[1] = f->Buttons >> 12 & 0xfff;
|
||||||
if (f->Buttons & 0x1000000)
|
if ((f->Buttons & 0x1000000) > (PrevButtons & 0x1000000))
|
||||||
PicoPower();
|
PicoPower();
|
||||||
if (f->Buttons & 0x2000000)
|
if ((f->Buttons & 0x2000000) > (PrevButtons & 0x2000000))
|
||||||
PicoReset();
|
PicoReset();
|
||||||
|
PrevButtons = f->Buttons;
|
||||||
|
|
||||||
PicoFrame();
|
PicoFrame();
|
||||||
Blit();
|
Blit();
|
||||||
|
|
Loading…
Reference in New Issue