---
layout: post
title: "86Box v4.2.1"
description: "Release for September 2024."
authors: ["richardg867"]
image: "/assets/images/v4.2.1/hero.png"
---

{% include imageheading.html url="/assets/images/v4.2.1/hero.png" separator=" " %}

This 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]({% post_url 2024-07-26-86box-v4-2 %}).

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](https://www.patreon.com/86box) and [PayPal](https://paypal.me/86Box) 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]({% post_url 2022-01-07-pcem-migration-guide %}#the-new-recompiler).

Our [GitHub](https://github.com/86Box/86Box) and [Discord](https://discord.gg/v5fCgFw) are always open to pull requests and code contribution discussions, respectively; we will follow development and provide constructive feedback if needed. The [codebase documentation](https://86box.readthedocs.io/en/latest/dev/api/index.html) 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
* **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
