I have reviewed the changes, and I feel we are still missing support for
many valid modes that could be dumped but don't require non-standard NEO
extensions.
I have prepared a new PR here to address this:
https://github.com/hatari/hatari/pull/33
<https://github.com/hatari/hatari/pull/33>
The explanation is there, but I'll summarize here:
My original PR only contained a very small amount of code to support
non-standard NEO extensions for video modes it can't represent in its
traditional form. I believe my comments explaining it were misunderstood
to indicate that a large portion of the code was written to accommodate
this, which was not the case. Unfortunately the PR was heavily modified
and merged without giving me a chance to comment beforehand, otherwise I
would have been willing to adapt the PR myself.
I have re-integrated the merged changes back into my original PR
(configuration rename, etc.) to limit the PR to be as minor as I can, to
only the one function to write a NEO file.
I have re-introduced the code needed to support the missing resolutions.
This covers cases like when Falcon is 320x200x4bpp yet not in
compatibility mode, among many others.
The non-standard NEO palette extension code is removed, and non-standard
BPP or dimensions are now forbidden by the error case. I left additional
comments explaining exactly what is lacking for the cases that are being
rejected with the errors, to help if future maintenance is needed.