if (est->rendstatus != rendstatus_old || lines != rendlines) {\r
rendlines = lines;\r
// mode_change() might reset rendstatus_old by calling SetColorFormat\r
+ int rendstatus = est->rendstatus;\r
emu_video_mode_change(loffs, lines, coffs, columns);\r
- rendstatus_old = est->rendstatus & (PDRAW_BORDER_32|PDRAW_INTERLACE|\r
- PDRAW_32X_SCALE|PDRAW_SOFTSCALE|PDRAW_32_COLS|PDRAW_30_ROWS);\r
+ rendstatus_old = rendstatus;\r
// mode_change() might clear buffers, redraw needed\r
est->rendstatus |= PDRAW_SYNC_NEEDED;\r
}\r
} else {
if ((mode & 4) && (Pico.video.reg[0] & 0x20)) {
// SMS mode 4 with 1st column blanked
- columns = 248;
Pico.est.rendstatus |= PDRAW_SMS_BLANK_1;
+ columns = 248;
}
switch (mode) {
// SMS2 only 224/240 line modes, e.g. Micro Machines
case 0x06|0x08:
+ Pico.est.rendstatus |= PDRAW_30_ROWS;
loffs = screen_offset = 0;
lines = 240;
break;
coffs = (FinalizeLineSMS == NULL && columns == 248 ? 8 : 0);
if (FinalizeLineSMS != NULL && (PicoIn.opt & POPT_EN_SOFTSCALE)) {
// softscaling always generates 320px, but no scaling in 8bit fast
+ Pico.est.rendstatus |= PDRAW_SOFTSCALE;
coffs = 0;
columns = 320;
} else if (!(PicoIn.opt & POPT_DIS_32C_BORDER)) {
+ Pico.est.rendstatus |= PDRAW_BORDER_32;
line_offset -= coffs;
coffs = (320-columns) / 2;
if (FinalizeLineSMS == NULL)