Fixed a regression bug that made the first CGB frame blank instead of repeated.
This commit is contained in:
parent
ce5153544c
commit
38ee020653
@ -974,11 +974,17 @@ void GB_display_run(GB_gameboy_t *gb, uint8_t cycles)
|
|||||||
GB_STAT_update(gb);
|
GB_STAT_update(gb);
|
||||||
|
|
||||||
if (gb->frame_skip_state == GB_FRAMESKIP_LCD_TURNED_ON) {
|
if (gb->frame_skip_state == GB_FRAMESKIP_LCD_TURNED_ON) {
|
||||||
|
if (GB_is_cgb(gb)) {
|
||||||
|
GB_timing_sync(gb);
|
||||||
|
gb->frame_skip_state = GB_FRAMESKIP_FIRST_FRAME_SKIPPED;
|
||||||
|
}
|
||||||
|
else {
|
||||||
if (!GB_is_sgb(gb) || gb->current_lcd_line < LINES) {
|
if (!GB_is_sgb(gb) || gb->current_lcd_line < LINES) {
|
||||||
display_vblank(gb);
|
display_vblank(gb);
|
||||||
}
|
}
|
||||||
gb->frame_skip_state = GB_FRAMESKIP_SECOND_FRAME_RENDERED;
|
gb->frame_skip_state = GB_FRAMESKIP_SECOND_FRAME_RENDERED;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
gb->frame_skip_state = GB_FRAMESKIP_SECOND_FRAME_RENDERED;
|
gb->frame_skip_state = GB_FRAMESKIP_SECOND_FRAME_RENDERED;
|
||||||
if (!GB_is_sgb(gb) || gb->current_lcd_line < LINES) {
|
if (!GB_is_sgb(gb) || gb->current_lcd_line < LINES) {
|
||||||
|
Loading…
Reference in New Issue
Block a user