86Box v4.2.1
September 1, 2024 - written by richardg867This is the September 2024 update to 86Box, bringing in the results of a month-long bugfix marathon started right after the original v4.2 release.
The removal of 32-bit builds and the release of a new Patreon feature preview, both outlined in the v4.2 post, are still on track for the next full release.
Important notes
We need help!
While this release has many bugfixes, we could have done so much more if not for our limited resources. Our development team consists entirely of volunteers, many with full-time jobs, who have poured countless hours of work and even out-of-pocket money to help make 86Box the best retro PC emulator out there. While donations through Patreon and PayPal are always appreciated, the project also needs help in other ways.
Code contributions
We are lacking contributors in various areas of expertise, including but not limited to:
- Linux host interfacing, for fixing mouse input, keyboard shortcuts and other recurring issues that our Linux users face.
- Qt on C++, to address our user interface code’s many loose ends from being modeled after the old Win32 interface.
- Dynamic recompilers, to help close the performance gap between our emulation and full virtualization, analyzing potential optimizations on known pain points such as the complex and well-utilized x86 MMU.
- ARM assembly, for diagnosing a dynamic recompiler issue with MMX acceleration that has stumped us, and potentially bringing the ARM recompiler to parity with our tried-and-true x86 one.
Our GitHub and Discord are always open to pull requests and code contribution discussions, respectively; we will follow development and provide constructive feedback if needed. The codebase documentation is currently lacking in details about the emulator’s inner workings, but this is something we are looking into correcting in the future.
Testing
In our mission to cover almost two decades’ worth of the very diverse PC ecosystem, 86Box ends up emulating a large quantity of hardware which only piles up over time. We admit to having lost our way in the past when it comes to adding new hardware components; from the many machines added in the last few releases (just for the novelty of their unique platform-BIOS combinations) to the Matrox video cards, a lot of new stuff did not work properly at first and had to be bugfixed later, not to mention all the existing components that have remained broken for several releases because no one noticed.
Even if you’re not a programmer, you can help us with testing this sheer mass of hardware, observing any issues with drivers, applications, or even different behavior from the real thing if you happen to have it. With how open and unpredictable the PC platform can be, writing emulation is only half the battle, and testing is key to make sure the next user doesn’t get a nasty surprise when building their emulated system; after all, the beauty of 86Box is the ability to go absolutely wild with hardware configurations (want to see how much a Voodoo 3 gets bottlenecked by a Pentium 1?) without having to procure real components, which are often getting too old and expensive to be practical to use.
ROM set update
A minor change was made to the ROM set. Users of the Diamond Stealth 3D 4000 video card based on the S3 ViRGE/GX2 chip should update the ROM set, as a newer video BIOS version was located. If this update is not present, the card will disappear from emulated machines and the video card selector until the ROM set is updated.
Updating the ROM set will also change the Phoenix XT clone machine to a newer BIOS revision which was also located.
Changelog
Emulator
- Fixed keyboard shortcuts for full screen mode when the Keyboard requires capture option is set
Machines
- Added video overscan delta option to the IBM PCjr (fixing the game on the screenshot above)
- Fixed some copy protected games on the IBM PCjr
- Fixed CMOS password and other boot issues on the Radisys EPC-2102
- Fixed PCI device IRQs on the A-Trend ATC6310BXII
- Fixed on-board S3 ViRGE video on the Intel AP440FX
- Fixed incorrect CPU speed reporting on the HP Vectra VL 5 Series 4
- Fixed missing CPU selections on the DataExpert SX495
- Fixed Genoa Unknown 486 extended memory support
- Fixed Acer A1G hanging during POST with some CPUs
- Fixed Olivetti M19 display corruption in high resolution mode
- Fixed IBM PCjr / Tandy 1000 family display corruption with some games
- Fixed Tandy 1000 display corruption on soft reboot
- Fixed IBM PCjr not rebooting on cartridge removal
- Fixed IBM PCjr video type selection not working
- Changed minimum RAM on the Tandy 1000 to 384 KB and on the Tandy 1000 HX to 256 KB
- Changed Phoenix XT clone BIOS revision to a newer one
- Renamed Tandy 1000 to the SX variant to better reflect its hardware and firmware
Hardware
- Core
- Fixed 8087 FPU inaccuracy causing diagnostic test failures
- Display
- Improved emulation performance of ATI Mach64 and S3 ViRGE cards
- Added miroCRYSTAL 3D (S3 ViRGE) PCI video card
- Fixed hard reset crashes with more video cards
- Fixed Voodoo Banshee/3 crashing the emulator with
banshee_do_screen_to_screen_blt: unknown srcFormat
message on more full motion video applications - Fixed rendering issues with some drivers on S3 ViRGE and Trident TGUI cards
- Fixed Diamond Stealth VRAM (S3 86C911) slowing emulation performance
- Fixed hangs or display corruption with S3 cards on soft reboot
- Fixed Compaq EGA display corruption in high resolution mode
- Fixed Compaq EGA compatibility with non-Compaq machines
- Fixed VGA color accuracy issue with some DOS games
- Changed Diamond Stealth 3D 4000 (S3 ViRGE/GX2) video BIOS to a newer version
- Input
- Added more model options to the 3M MicroTouch
- Added crosshair cursor hiding option to the 3M MicroTouch
- Fixed 3M MicroTouch not working with some drivers
- Fixed keyboard controller inaccuracy causing keyboard lock-ups with some DOS applications
- Fixed serial mouse crashing the emulator if attached to a non-existent serial port
- Sound
- Fixed Aztech Sound Galaxy Pro 16 AB not working with some drivers
- Fixed IBM PCjr / Tandy 1000 / TNDY sound issues with some games
- Fixed MPU-401 playback issues with some games, particularly in intelligent mode
- Renamed SB MIDI input option on Sound Blaster cards to DSP MIDI
- Network
- Fixed modem crashing the emulator with
Assertion failed!
message under heavy Telnet traffic - Fixed modem autodetection taking too long on Windows 9x
- Fixed modem SLIP not being reachable on some Windows configurations
- Fixed loss of received packets on DEC and NE2000-based cards
- Changed PLIP to require SLiRP mode like the modem
- Fixed modem crashing the emulator with
- Storage
- Added generic AMD 53C974 card based on the PCscsi controller
- Fixed dynamic VHD corruption with MFM/RLL controllers in specific cases
- Fixed hanging issues with the Pro Audio Spectrum 16 SCSI controller
- Fixed Tekram DC-390 not working with some drivers
- Fixed WD MFM/RLL controllers not booting from hard disk when set to IRQ 2