First post, by techweenie
I use real DOS on real hardware in 2026 because I can. I also host and participate in LAN parties with that hardware. Pure DOS gaming presents a world of challenges, some of which are easier to solve than others. The biggest challenge plaguing my group of friends was performance in BUILD engine games like Duke 3D and Redneck Rampage. I spent tremendous effort to enable write combining, optimize memory management, and replace components of DOS with faster and more modern equivalents. None of it helped the BUILD games until I stumbled across a paragraph somewhere on the web talking about HDPMI32. I grabbed a copy and low and behold it worked! But my tweaking didn't stop there.
I've known about DOS/32A for a long time, and my research indicated it could further improve performance and stability. I swapped all the compatible games over to it only to find LFB write combining stopped working with BUILD again. WTF. Many hours of diagnosis later I discovered the 9.1.x series removed HDPMI32 compatibility for some DOSBox related reason. Well I don't care about DOSBox, I'm on real DOS. So I began to investigate.
DOS/32A developed diverging code paths after 7.1, each with valuable improvements. The 8.00 release contains some performance optimizations, while the 9.1 branch introduced bug fixes and SSE support. Wanting the best of both worlds, I had ChatGPT analyze everything and provide a report of what it would take to restore HDPMI32 detection and merge the enhancements. Turns out that was all rather trivial. What was not trivial was getting it to compile correctly on modern 64 bit Windows and pass testing in DOSBox-X.
Today, I'm happy to announce the first stable release of DOS/32A, version 26.0. It properly detects HDPMI32, which restores LFB WC in BUILD games. For reference, that's a +20fps gain in Redneck Rampage on my system. This is an ongoing project and further improvements can be made by modernizing the ancient code. This project is entirely executed by ChatGPT, and I do not claim any credit for the work. The initial version 26.0 is just adaptation and merging of original hand written source code. Later point releases will be partial AI rewrites using modern code techniques.
https://github.com/calculatetech/dos32a
I know many of you don't trust AI code, and that's fine. But at the end of the day I solved a real world problem most of you probably didn't know existed. Take it or leave it.
