Am Tue, 29 Nov 2016 18:55:57 +0100 (CET)
There is a bug in all versions of Hatari I've tried; if you record a
Falcon video, and it change the screen size, the recording will abort
if you are using 32-bit rendering. Only with 16-bit the recording
will continue. Yes this is with --force-max.
I think this happens because we're rendering Falcon hi-color mode
always with 16 bpp by default, while the indexed resolutions are
rendered into 32 bpp. So if a demo switches between hi-color and
indexed mode, the recording has to be stopped because the bpp of the
host screen changed.
Maybe we should rather always use 32 bpp nowadays, e.g. with a patch
like this:
diff -r df34f122c82a src/falcon/videl.c
--- a/src/falcon/videl.c    Mon Nov 28 11:01:05 2016 +0100
+++ b/src/falcon/videl.c    Tue Nov 29 22:44:59 2016 +0100
@@ -863,10 +863,8 @@
 /* User selected another zoom mode, so set a new screen resolution
now */
 void VIDEL_ZoomModeChanged(bool bForceChange)
 {
-    int bpp = videl.save_scrBpp == 16 ? 16 :
ConfigureParams.Screen.nForceBpp;
-
     Screen_SetGenConvSize(videl.save_scrWidth, videl.save_scrHeight,
-                          bpp, bForceChange);
+                          ConfigureParams.Screen.nForceBpp,
bForceChange);
 }
@@ -903,7 +901,7 @@
     }
     if (change) {
         LOG_TRACE(TRACE_VIDEL, "Videl : video mode change to
%dx%d@%d\n", videl.save_scrWidth, videl.save_scrHeight,
videl.save_scrBpp);
-        Screen_SetGenConvSize(
videl.save_scrWidth,
videl.save_scrHeight, videl.save_scrBpp == 16 ? 16 :
ConfigureParams.Screen.nForceBpp, false);
+        Screen_SetGenConvSize(
videl.save_scrWidth,
videl.save_scrHeight, ConfigureParams.Screen.nForceBpp, false);
     }
     if (vw < 32 || vh < 32) {
... but this needs a bit of testing before I dare to commit it, to see
whether it has performance impacts or other problems...