First post, by kas1e
Lately found that on 2 different BIG ENDIAN PPC OS such as AmigaOS4 and MorphOS some games and apps give us broken colors (while everything shows correctly in the same apps/games, on the same DOSBox svn build, with the same config, but on X86 or X84). It doesn't matter if you use "normal" or "dynamic" core, as well as doesn't matter if you use SDL1 which is currently official in DOSBox, or SDL2 build, issue with colors always there. I also tested it not only on machine:svga_s3, but also on vesa_nolfb and vesa_oldvbe: the same result (at least only those 3 seems to give the ability to use more than 256 colors).
Firstly I found that issue only in old diskmag "HUGI", which issues prior 20 or so was done for DOS. That how it looks like:
http://kas1e.mikendezign.com/aos4/dosbox/dosb … colors_hugi.jpg
Then, while testing more games, found the same issue in those ones as:
"The 11th-hour" game:
http://kas1e.mikendezign.com/aos4/dosbox/dosb … lors_11hour.jpg
Intro in animation scenes in "TombRaider":
http://kas1e.mikendezign.com/aos4/dosbox/dosb … _tombraider.jpg
And the last one in "Screamer2":
http://kas1e.mikendezign.com/aos4/dosbox/dosb … s_screamer2.jpg
http://kas1e.mikendezign.com/aos4/dosbox/dosb … er2_in_game.jpg
Now, Dominus in "PowerPC Dynamic Compiler thread" says that with SDL1.2x there is a color bug that shows on OS X and higher colors. But as I say at the beginning I have those color bugs and with SDL1 and with SDL2.
But what is more important, with the Screamer2 game it was easy to reproduce that issue INDEED because of more colors. Screamer2 game has 4 different exes to run :
start65h: to run in hi-res mode with 65k colors
start65l: to run in low-res mode, but still with 65k colors
starth: to run in hi-res mode with 256 colors
startl: to run in low-res mode with 256 colors
And, if we run binaries which will use 256 colors, all looks and renders correct and fine. But if we use 2 binaries which want 65k colors, then the issue is there!
So it looks like it DOSBox's big-endian issues when it comes to handling 65k (and more?) colors.
Does anyone have any idea where to even look in DOSBox's code? Logically it's probably something in vga.cpp & vga.h, as well as vga_s3.cpp too.
Probably some easy test-case can be done/written/found, but for time being if anyone willing to test this issue, the smallest test case is HUGI diskmag: https://files.scene.org/get:nl-ftp/mags/hugi/hugi17.zip , just 3mb, nothing to install, only unpack and run "hugi17d.exe" to see an issue.
And if anyone even in interest to take a look at and trying to fix it, I will happily donate at least 50$ for. Sure nothing, but to just motivate even a little bit 😀
Thanks in advance!