I’ve deemed the source code stable enough to tag and release a new version with:
- AdLib emulation
- Faster CPU emulation (50% faster!)
- Various bugs fixed especially in the audio subsystem
The configuration file (ibmulator.ini) has changed so if you are upgrading delete/rename the old one to recreate.
Not much else to add, it’s AdLib, everyone knows this card, a milestone in the PC audio history.
The actual sound generator is from DOSBox, so expect high fidelity with the original. Actually the results are even better for those games that used the AdLib to generate sampled audio, like Another World (Out of This World).
Faster CPU emulation
This is the most rewarding optimization I’ve ever implemented, for its simplicity and the end results: ~50% faster emulation!
The previous implementation was so absurd that this optimization is actually just a more sensible way to use C++ function pointers. If you are curious see this commit.
This optimization allows for better CPU overclocking. The problem though is the PS/1 halts at POST code 05 for speeds faster than 35MHz, and with error code 102 at 17, 18MHz.
Various bugs fixed
The Mixer is more stable and can recover properly when there are hiccups caused, for example, by the main thread not emulating the machine fast enough.
The PC Speaker emulation is also more accurate and RealSound titles are now working properly.
Also a long standing bug that affected titles like Populous has finally been fixed.