8514/A changes:
1. Correct interlaced display resolution.
2. Added a limit to cursor coordinates.
3. Test/WIP features of the add-on Mach8 side (ATI 8514/A Ultra) such as configurable BIOS.
4. Made the CMD 5 of the acceleration (Polygon Boundary) more accurate per manual (as much as I could regarding the clipping).
Cirrus related:
1. Added SUBSYS PCI vendor/device ID of the 5480 (per manual).
IBM VGA:
1. Built-in/option rom-less VGA don't need the "available" flag.
ATI Mach8/32:
1. As with 8514/A, corrected interlaced display.
XGA-1/-2:
1. Moved the XGA R/W memory size tests out of the SVGA R/W routines to reflect the per card basis, although anything that uses its own SVGA mapping would call the tests there (such as Cirrus, Headland and ATI) when not accessing the LFB. This finally puts an end to the XGA MCA mapping enabling bugs.
2. Re-organized the ISA standalone and non-standalone (INMOS) sides of the chips so that they work properly and remove the FILE rom loading hack from init.
3. The Memory Mapped R/W sides now account for instance in their address range.
4. INMOS only: prevent any ROM address access to anything lower than 0xc8000 to not conflict with the main BIOS rom loading.
5. Fixed native pitch by using the correct register, this fixes non 1024x768 resolutions under NT.
6. More logs when enabled to see any future bugs.
AT/286 based early (1988) laptop with indestructible magnesium case.
Also add emulation of 3 specific Conner HDDs as required by stock 1520 BIOS.
It only works with these particular drives and requires them to be somewhat
slow or reads will hang. The alternative is to use RomBuster to patch your
BIOS.
The machine had 3 display options (640x480 plasma or 2 different LCDs).
For now we need to use stock CGA with mono amber monitor to get some of
the plasma feel. Next step is to add Yamaha V6366 video card support.
It seems that Ctrl+End was used on non-Win32 platforms because
WxWidgets couldn’t use non-modifier keys as a keyboard sequence. Qt
can, and F8+F12 interferes with the operation of software a lot less
than Ctrl+End does (try doing some text editing!).
86Box hasn’t used WxWidgets for quite some time and this platform
limitation hack has long outlived its necessity.
SVGA: Added an indicator of the internal line to make matters easier for some vertical resolution problems.
TGUI 9400CXi: Fixed the basic acceleration as much as I could.
TGUI 9440AGi+: As with the line indicator, make matters easier for some resolution problems plus some refactoring of the bpp. Added write protection to some regs based on some documentation on the vt8601.
TGUI cursor: fixed the left edge of the cursor X offset.
S3: Apply the vblankstart = dispend statement only on enhanced modes, fixes vertical display on The Incredible Machine for DOS.
Commented out some excess logs.
Ported the latest changes/fixes to the above controller from QEMU and added a bios-less AMD Am53c974 device (non-DC390).
The latest changes fix the AMD-branded DOS ASPI drivers on both cards (even without bios).
* plat_vidapi() accepts char pointer, which never gets modifed
later on. Mark it as const.
* In src/config.c, va_name is initialized as NULL, however,
plat_vidapi_name() never returns a NULL pointer, nor it was
initialized under a condition branch. Removing NULL, might
save one instruction, which requires zeroing the register
before setting its initial value.