First post, by jaclfh
Hi,
Why does VGA_StartResize(Bitu delay) in SVN have 50 ms delay by default?
Apparently, when an application sets a mode such as 13h ("mov ax,13h", "int 10h") and int 10h returns the mode has actually not been setup yet even though an application will think it is. This delay seems to be why the demo No! by Nooon runs too slow. The demo seems to measure FPS for the mode (12h and 13h) and then sets up PIT timer based on that, but since it measured the wrong FPS, the animation ends up running with half the correct speed.
The following patch fixes No! (but may break some other stuff?).
--- include/vga.h~ 2020-04-25 23:05:04.000000000 +0300
+++ include/vga.h 2020-07-08 18:57:34.186746462 +0300
@@ -417,7 +417,7 @@
void VGA_SetMode(VGAModes mode);
void VGA_DetermineMode(void);
void VGA_SetupHandlers(void);
-void VGA_StartResize(Bitu delay=50);
+void VGA_StartResize(Bitu delay=0);
void VGA_SetupDrawing(Bitu val);
void VGA_CheckScanLength(void);
void VGA_ChangedBank(void);