First post, by superfury
Looking at a disassembly report of the ET4000 rev 8.01's DAC type detection, I see something weird. When it detects the result 01h(Sierra SC11048X, it will require it to set the high 3 bits of the command register(0xE0 mask) not to be able to set all bits? The same would be true for the UMC 70C178?
Edit: Just created a simple assembly file for polling said information using the ET4000 (and compatible BIOSes) function 10F1h. It executes said interrupt and simply prints the results in hex.
https://bitbucket.org/superfury/unipcemu/src/ … bly/polldac.asm
The results are interesting (when ran on UniPCemu's implementation of said chips):
AT&T 20C490: 03h (Correctly detected)
Sierra SC11487: 02h (new Sierra SS24 DAC (24-bit)) Weird? This is incorrect?
UMC 70C178 (Dosbox implementation equivalent running on UniPCemu): 02h (Same as above.)
Comparison:
Dosbox VGA: No output (invalid function on the chipset)
Dosbox ET4000 UMC70C178: 01h
So the Dosbox version reports correctly(hardcoded in the emulator itself), but UniPCemu has issue with the SC11487/UMC 70C178 chips being reported as a new Sierra SS24 DAC! That's why Windows 9x seems to assume there's a 24-bit color mode, when there actually is none!
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io