Best customized video drivers for classic Windows to use with 86Box

I’ve tested lots of drivers, different 86Box hardware configurations in classic Windows to achieve best performance, highest resolutions and color depths. And came to a conclusion that the best emulated hardware for classic Windows is:

- Windows 1.0x – VMI ImageManager 1024 (1024x800x256 colors);
- Windows/286 – XGA (1024x768x256 colors);
- Windows/386 – 8514/a (1024x768x256 colors);
- Windows 3.0 – Tseng Labs ET4000 (1024x768x256 colors or 800x600x65536 colors);
- Windows 3.1x – Matrox Millennium II (1600x1200x65536 colors or 1280x1024x32bit color);
- Windows NT 3.1 - S3 Vision968 (1024x768x16mil or 1600x1200x256 colors)
- Windows NT 3.5x - Matrox Millennium II (1920x1080x16mil or 1280x1024x32bit colors)


Moreover, I have patched some of these drivers to make them look better.

Windows 1.0x
I took the famous IM1024.drv from Microsoft Windows Device Driver Library, Vol.1. Some of you may know that this driver uses large (and ugly) UI elements, like huge scrollbars, and large system font (VMILO.FON), you may like it or not. I’ve modified the driver in hex editor by taking the resource table from standard EGAHIRES.DRV that comes with Windows 1.0x, changing offsets and testing it. Yet I’ve reverted the boot screen and system font to default ones (this is optional). Finally, I’ve packed it back to the Device Driver Library, Vol.1. Tested on Windows 1.01, 1.02, 1.03 and 1.04.

Before:


After:



Windows/286
The best and highest-performing drivers for Windows 2.x are the XGA drivers. They make a perfect look and do not need any customization. Unfortunately, there are no XGA drivers for Windows/386 as they were never made.



Windows/386
So, here we must go with IBM 8514/a drivers. The version that comes with Windows/386 v2.11 is quite buggy and glitchy, some bitmaps are broken. I took the latter version of 8514.DRV from Microsoft Word 1.0’s runtime. There’s another issue with 8514/a drivers: all UI elements are larger, including title bars, scrollbars, icons, cursors, and so on, and this looks so ugly. I’ve made it look almost like the XGA driver by taking the resource table from XGA.DRV and changing offsets of each resource. Now it’s nice. But you can still select “Large UI” during installation, if needed. I’ve made a floppy disk image that can be used to install Windows with these drivers. Tested on Windows/386 2.03, 2.1 and 2.11.

Default (Large) UI:


Small UI:



Windows 3.0
From everything I’ve found and tested, the best video drivers for Windows 3.0/3.0a/MME turned out to be Tseng Labs ET4000. They are likely to be the only ones that work in 16-bit color in 86Box. You may select any ET4000-compatible card, as for me, I’ve achieved the best performance on [VLB] ET4000/w32p Rev. D with 1MB of memory. These are original video drivers from Tseng, I’ve added three video modes from Win3.1 beta drivers that still work under Windows 3.0 (1024x768x16, 1024x768x256, 1280x1024x16 small fonts). You must use 1.2MB 5.25” floppy version of Windows 3.0, before installation you have to replace SETUP.INF with SETUP.W30 (if Windows 3.0 is used) or SETUP.W3A (for Windows 3.0a). If you wish to use Windows MME, just upgrade your existing Windows 3.0 or 3.0a installation so everything will be fine. The only issue I’ve noticed with 16-bit color is that some icons appear monochrome (not sure if it is a driver bug or 86Box emulation bug).




Windows 3.1x
The best and highest-performing drivers for Windows 3.1x are the Matrox Millennium II drivers. They leave all the competitors behind and do not need any customization. Drivers come with an utility that can switch resolutions without having to restart Windows!




Windows NT 3.1
The main drivers’ problem under NT 3.1 is stability. After testing several hardware configurations, the most stable driver for me is S3 with video adapter S3 Vision968 (Phoenix, 4MB VRAM) selected. Matrox Millennium crashed from time to time, maybe I did something wrong. It runs in 1024x768x16mil colors or in 1600x1200x256 colors.



Windows NT 3.5x
The best driver for NT 3.5x is Matrox Millennium II. It doesn’t crash anymore as it did in NT 3.1. In Windows NT 3.51 the driver even supports hardware 3D acceleration, in NT 3.5 it doesn’t. It supports high resolutions (also in 16:9!) up to 1920x1080x16mil colors or 1280x1024x32bit colors.



Conclusion
The most difficult part was the hex-editing of resource table as I haven’t found any resource editing software that works with Windows 1.x or 2.x NE executables. Now I am glad to share these drivers with you!

Initially I made this post on GitHub's 86Box discussions some weeks ago, but 30 seconds after posting my account was banned and the post was deleted. And no one in support explained why that happened and what Term I may have violated. I am talking about abandoned hardware and software from late 80's/early 90's. Hope it won't be deleted from here since this is a nice contribution for the whole ABW community!

Comments

  • Wow! That's a lot of work, and appreciate that you were willing to share it with WinWorld.

    "The most difficult part was the hex-editing of resource table as I haven’t found any resource editing software that works with Windows 1.x or 2.x NE executables. Now I am glad to share these drivers with you!"

    Have you tried Whitewater Group resource editor? It came with their C compiler. After Symantec bought them, they then continued it under their branding. Typical of the era, some commands are arcane, but I've used it many, many times over the years for legitimate *and not so legitimate) projects.

    I've uploaded several pf my favorite editors here:
    https://archive.org/details/@der_appleseed?query=resource
    https://archive.org/details/whitewater-resource-toolkit-3.01a
    https://archive.org/details/resource-workshop-1.02
    https://archive.org/details/wre-11a

    "Initially I made this post on GitHub's 86Box discussions some weeks ago, but 30 seconds after posting my account was banned and the post was deleted. And no one in support explained why that happened and what Term I may have violated."

    That is unfortunate. And it's why we have the phrase "arbitrary and capricious". So many tender skinned fools get positions of power where they play favorites, or who knows what the twisted motivation is.
  • Yes, I've tried Whitewater Group resource toolkit v3.01a. When trying to open *.drv file from Windows 1.x/2.x it says "Not Windows 3.0 executable file".
    And Borland resource workshop can open and extract Windows 2.x resources, but compiles them only in Windows 3.0 format.
    Microsoft's resource compiler RC.EXE from Windows 2.x SDK didn't help either, probably I did something wrong.

    So I had to find out what is the correct resource table format using just a HEX editor by trial and error, as I couldn't find any documentation. It's quite similar to Windows 3.0 NE format, with some exceptions.
  • edited March 17
    "Microsoft's resource compiler RC.EXE from Windows 2.x SDK didn't help either, probably I did something wrong."

    Considering what you accomplished, I doubt that.

    OK, well looks like all the possible editors have been tried, so I will make a note in my personal stash about what you found. Thanks again.

    EDIT: Just a thought: wondering if there was a resource editor in the early OS/2 SDKs that might work?
  • With ExeScope 4.51 and 6.50, was able to open IM1024.DRV,unfortunately, the only res accessible was the font section.
  • And it crashes if you open another section. Tried that already. Will check OS/2 SDK someday, it definitely should have something to edit resources.

    I can write a small hex-editing guide, if needed. It's not so hard if you already know what you're doing.
Sign In or Register to comment.