First post, by FalconFour
I'm a sucker for anachronism. You know something that really bugged me? That Windows 3.x supported Hercules, but 95/98 didn't. You can try to load the Win3.x driver into Win95 by upgrading, but the best you'll get is a BSOD (black screen of death on Hercules, that is) claiming an exception occurred, the moment it tries loading the driver and going graphical. Hercules on 9x was dead... for 30 years.
Now it's back.
Presenting... Herc9x. Crafted from the torched and gutted carcass of vmdisp9x, the only open-source mostly-feature-complete modern-ish driver architecture I could find for Win9x, this driver adequately massages one of those old single-chip graphics cards you have in the junk bin into semi-competently displaying the world of Windows 9x through a 1-bit lens.
Relies heavily/exclusively on Windows 9x's DIB engine, which is new for Windows 95 and a big reason that Hercules was never ported to it. The Hercules display area is an unusual-aspect 720x348 (2.06 AR). To compensate for this, a virtual mode is also implemented - 720x522 (1.38 AR) which skips every 3rd scanline and produces a distorted, but much-more-usable, display area.
Very open to contributors to help fix bugs:
- Stability. The driver is not fully stable. Random crashes (system hangs) occur both during rapid drawing activity and near-idle states, but it can also stay stable for over an hour playing audio in Winamp and it can blast through the rapid draws of winning Solitaire without crashing. This is the primary issue still under investigation.
- INF installation not supported. The driver must be installed manually via SYSTEM.INI. Normal Add New Hardware / INF-based installation does not work because the driver breaks too many VGA and PnP conventions. Display Properties and Device Manager will not show the driver.
- DOS box corruption. Opening a DOS prompt (Command Prompt) shows a "This program cannot run in a window" message. The driver blocks full-screen DOS switching since there is no VGA hardware to switch to. DOS/console applications are not currently usable.
- Black rectangles. Black boxes sometimes appear behind removed on-screen objects (ghost artifacts). This appears to be a limitation of the Windows 9x DIB engine itself when operating in 1-bit color mode - the same behavior occurs with Microsoft's own framebuf.drv on VGA hardware in monochrome mode.
- ISA bus contention. Heavy drawing activity generates substantial ISA bus traffic from the async blit timer. This can cause stuttering on ISA sound cards sharing the bus.
Find it here - easy download under the Releases section: https://github.com/FalconFour/Herc9x
