Originally the 'BIOS' was set to change to mode 0. When the Generic Turbo XT BIOS boots, it detects the VGA but doesn't switch to mode 2/3(messing up the output intended for 80x25 text modes) or simply starts mode 0/1. The top row(and everything after it) is split in two 40x25 lines when I set the default video mode to 0 instead of 3. Looking at the BIOS source code reveals that it doesn't set AL anywhere before calling the mode set. Maybe it tries to use the mode set on initialization of the used BIOS(Either an external VGA at C000+:0003, or it's own (I believe it's for CGA cards). It does execute some AH=0xF calls at the start.
Edit: Tried Windows 3.0 with different graphics card setup:
- VGA works.
- VGA with monochrome display fails when used with Dosbox's int10_modes.cpp-based handlers. It works without problems using an actual IBM VGA BIOS (BIOS image taken from PCE emulator's "IBM VGA BIOS (1986-10-27)"). It seems to run fine in Dosbox 0.74?
- EGA works.
- CGA works.
Anyone knows why VGA with monochrome display fails? Everything is reduced to big white blocklike blobs. Even the mouse.
Edit: Just verified using an actual IBM VGA BIOS: The "VGA with monochrome display" display setting with an actual IBM VGA BIOS works. It also works in Dosbox 0.74. When using the Dosbox video mode in my emulator with the Dosbox-based BIOS video mode, it gives junk for some reason?
Video mode code used, based on Dosbox code:
https://bitbucket.org/superfury/x86emu/src/94 … ode.c?at=master
Dosbox 'BIOS' mode 11h:
The attachment vga_monochrome_mode11h_bmp.zip is no longer available
IBM VGA BIOS mode 11h:
The attachment vga_monochrome_mode11h_bmp_VGABIOS.zip is no longer available