4.2.1 / 03-09-2024
86Box
Accuracy
Performance
Features
86Box (formerly known as PCem Unofficial, PCem Experimental, or PCem-X) is an unofficial branch of the PCem emulator, which aims to run older operating systems and software designed for IBM PC systems and compatibles from 1981 through fairly recent system designs based on the PCI bus.
Features include but are not limited: Low level emulation of 8086-based processors up to the Pentium with focus on accuracy, Great range of customizability of virtual machines such as the very first IBM PC 5150 from 1981, or the more obscure IBM PS/2 line of systems based on the Micro Channel Architecture, Lots of supported peripherals including video adapters, sound cards, network adapters, hard disk controllers, and SCSI adapters and much more!
It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines:
86Box Manager - It's an optional configuration manager to create and edit multiple isolated virtual machines while running at the same time and much more...
--
Windows: 7+
Mac: Intel / Rosetta 2+
CPU: minimum Intel Core 2 or AMD Athlon 64 processor
RAM: 4GB
--4.3--
See the release announcement for more information!
What's Changed
Microtouch: Simplify mouse button and calibration checks by @mourix in #4656
Microtouch: add option to turn off visible mouse crosshair by @mourix in #4657
Miscellaneous UI fixes by @lemondrops in #4666
Microtouch: add controller type selection and start adding legacy modes for them by @mourix in #4668
Microtouch: serial fixes, poll rate increases, mode status, cleanups by @mourix in #4681
Microtouch: fix compilation warnings, optimize command handling and liftoffs by @mourix in #4685
AMD/DC390 SCSI fixes of the day (August 4th, 2024) by @TC1995 in #4688
Tandy related cleaning, and logging compile fixes in pit_fast by @jriwanek in #4696
add helper script to download ROMS to user's home directory by @tjemg in #4695
SCSI fixes of the day (August 8th, 2024) by @TC1995 in #4702
TGUI9440 (VLB/PCI) change of the day (August 9th, 2024) by @TC1995 in #4706
Video changes of the day (August 12th, 2024, S3/TGUI/SVGA) by @TC1995 in #4712
S3 ViRGE class: Rethreading for future investigation. by @TC1995 in #4717
Attempt at fixing the threading of the ViRGE. by @TC1995 in #4718
S3 changes (and TVP3026) of the day (August 15th, 2024) by @TC1995 in #4719
Add a link to the build guide to README.md by @jriwanek in #4724
ViRGE changes of the day (August 20th, 2024) by @TC1995 in #4735
qt_private_headers are needed for both qt5 and qt6 by @jgilje in #4736
Mach64 changes of the day (August 21st, 2024) by @TC1995 in #4738
Minor but important changes to minivhd's dynamic/diff vhd handling by @TC1995 in #4750
Honor the composite mode of the PCjr and Tandy 1000 by @TC1995 in #4751
Add miroCRYSTAL 3D video card by @MaxwellS04 in #4723
Some fixes to the Streams engine of the ViRGE/Trio3D by @TC1995 in #4760
Fix SDL UI failing to build when C++11 threads are disabled by @lemondrops in #4758
--4.2--
See the release announcement for more information!
What's Changed
Add Novell NetWare 2.x Card Key emulation by @Cacodemon345 in #4209
Modem emulation (includinng SLIP connectivity) by @Cacodemon345 in #4247
net_modem: TCP/IP support and Telnet emulation by @Cacodemon345 in #4248
unix_netsocket.c: Unused variables warnings cleanup by @Cacodemon345 in #4249
Fix brace warning by @Cacodemon345 in #4250
netsockets: Swap port number by @Cacodemon345 in #4251
unix_netsocket.c: Fix comparison value by @Cacodemon345 in #4252
net_modem.c: Make sure the CONNECT response gets through by @Cacodemon345 in #4263
net_modem: process '&' escaped commands properly by @Cacodemon345 in #4264
net_modem.c: Fix memory leak by @Cacodemon345 in #4268
[v4.2] Cleanup of legacy and unused things by @lemondrops in #4283
[v4.2] Fix CD-ROM menu not updating after ejecting a CD from the guest side by @lemondrops in #4284
[v4.2] Check for pcap DLL in Npcap's installation directory on Windows by @lemondrops in #4285
Fix broken translation for ZIP drives by @usergithub64 in #4286
Modify the PCAP filter to allow multicast packets by @cold-brewed in #4289
Fix incompatible pointers of the generic PIT and PCjr's by @TC1995 in #4293
Add the Tandy 4000 AT compatible and SCAT-286-003 machines by @TC1995 in #4294
Fix zip disk image load crash by @cold-brewed in #4298
CI, workflows: Add vulkan-headers for MSYS2 by @lemondrops in #4299
Disable UCRT64 in msys2 workflow by @cold-brewed in #4309
Fix gcc warning with use of strncpy by @cold-brewed in #4310
Allow connection to a VDE switch run by the same user by @redoste in #3681
Modem fixes by @lemondrops in #4321
Modem additions by @lemondrops in #4322
Modem (and related) cleanups by @lemondrops in #4323
Voodoo: vertical display programming fix. by @TC1995 in #4324
Tseng Labs fixes and bug-compatible fixes too. by @TC1995 in #4326
UI updates: softfloat and voodoo by @cold-brewed in #4327
MAC address configuration, machine move detection by @cold-brewed in #4328
Add host_cpu and emu_build_num to config by @cold-brewed in #4329
Fix Error initializing Hard Disk Controller in Siemens Nixdorf D824 by @flama12333 in #4347
Voodoo UI option fix by @cold-brewed in #4350
Fix missing devices and machines on Linux (and probably MacOS/*nix in general) by @thedax in #4358
Rename dtk 386 clone to DTK PM-1630C by @flama12333 in #4352
the DEC 21143-based NIC expects a SROM Format version of 3 by @TC1995 in #4374
qt: Disable bus channels that are currently in use by @cold-brewed in #4373
Further fixes to the code related to the Mach8/32 mode changes. by @TC1995 in #4401
Workaround to prevent timeouts with the T130B driver on NT 3.1. by @TC1995 in #4402
Cleanup of the XGA mapping to be less messed up. by @TC1995 in #4403
Adding Vietnamese language (vi-VN) translation file by @Barnacl437 in #4416
Fix and hook up the Vietnamese translation by @lemondrops in #4417
Update .gitattributes by @lemondrops in #4418
snd_sb.c: Fix compilation error by @lemondrops in #4422
GHA maintenance by @lemondrops in #4423
minor fixes/corrections for vi-VN translation by @Barnacl437 in #4425
Clean up warning in DeviceConfig by @cold-brewed in #4434
Update Olivetti M240 BIOS to 2.11 by @jester-xbmc in #4446
XGA 1-2: Pattern and cursor/sprite fixes. by @TC1995 in #4454
Add new platform functions for global directories by @cold-brewed in #4458
GHA: Disable 32-bit windows builds by @cold-brewed in #4457
Add support for pcjs json floppy images by @cold-brewed in #4467
Remove unused vcpkg/LLVM GHA workflow by @cold-brewed in #4474
Restore debug register emulation for 486+ CPUs behind a compile-time option by @lemondrops in #4484
Fixes for translation not working in the main window by @usergithub64 in #4486
Fix onboard flag for actual onboard ViRGE BIOSes. by @TC1995 in #4500
Added Machine Motherboard Acer100T by @josephillips85 in #4508
Fixing bus type by @josephillips85 in #4509
Add BocaRAM/XT plus more EMS improvements by @jriwanek in #4510
Improvements to the RAMpage XT and EMS logging by @jriwanek in #4511
Correct IBM 5170 memory size, more IBM ISA memory cards by @jriwanek in #4514
Correct max mem on IBM 286 clones and the XT/286 by @jriwanek in #4517
Fix granularity of Generic AT RAM expansion card by @jriwanek in #4521
mem.c: Remove (conditionally) duplicate definitions by @lemondrops in #4524
Add onboard C&T 69000 video to the ADLink NuPRO-592 by @lemondrops in #4525
Fixes for calibration and baud rate workaround by @OBattler in #4531
Compile fixes for Qt6 on Windows by @Cacodemon345 in #4274
Make sure timers don't go completely out of sync upon altering TSC vi… by @OBattler in #4557
Windows ARM64 build fix by @cold-brewed in #4584
UUID updates by @cold-brewed in #4585
Fix strings in enumeration of host drives by @cold-brewed in #4583
Support additional serial ports ala the MP5587-1/2 by @jriwanek in #4588
FDC improvements, some bug fixes & cleanups by @jriwanek in #4604
Video changes of the day (July 8th, 2024) by @TC1995 in #4605
Change the AT expansion's default start_address by @jriwanek in #4606
Settings window fixes on mac and linux by @cold-brewed in #4610
Initial support for the 8-bit NE2000 compatible boards. by @indrekis in #4611
Update residfp to newer build (As of ~2023) by @jriwanek in #4615
Fix resid warnings, and also explicitly set the C++ version by @jriwanek in #4616
Library linking improvements by @lemondrops in #4618
Sort the ESS sound cards in the card list by @lemondrops in #4620
residfp: Fix unused variable warnings with Clang by @lemondrops in #4619
Nuked-OPL3: Update to latest as of 15/07/2024 by @jriwanek in #4621
Serial cleanups and forward support improvements by @jriwanek in #4627
Initial underlying code support for more than 2 video cards by @jriwanek in #4626
Arrays for fdc_current and hdc_current, and a loop fix in sound.c by @jriwanek in #4632
opti499.c: Remove an unneeded call to free() by @lemondrops in #4633
Adding SMT3 Format Hexadecimal to Microtouch driver by @mourix in #4636
Mark plat_vidapi() argument as const and remove the NULL by @rilysh in #4634
For Qt5 add Gui Private Include Header. Fix C++ union initializer syn… by @joshuashaffer in #4361
CPU Table named initializers up through socket 4 by @jriwanek in #4640
Updated description of Microtouch Emulation by @Xeon3D in #4641
Add support for wave files in cue sheets using libsnd by @OBattler in #4644
Final CPU Table named initializers work by @jriwanek in #4645
experimental preset renamed to dev_debug by @jriwanek in #4647
Initial implementation of the timed FIFO on the ViRGE by @TC1995 in #4654
--4.1.1--
See the release announcement for more information!
What's Changed
S3 ViRGE: Respect blend control compose modes on pre-GX2 ViRGE by @Cacodemon345 in #4193
S3 ViRGE/GX2: Fix screen overlay staying on Windows XP by @Cacodemon345 in #4194
Fix the internal name of the S3 Trio64V+ VLB by @cartifanwlr in #4197
S3 ViRGE: a bit of cleanup by @Cacodemon345 in #4195
S3 ViRGE: Buffer flips no longer trigger recalctimings by @Cacodemon345 in #4198
Fix AppStream metainfo file by @AsciiWolf in #4200
unix_serial_passthrough.c: check errno for EWOULDBLOCK by @rilysh in #4199
Temporary solution to a 24bpp issue and hblank. by @TC1995 in #4204
bswap.h: fix GCC requirements for bswap* builtins by @rilysh in #4201
Updates to README.md adding links to other managers by @jriwanek in #4206
S3 ViRGE/GX2: Fix frozen display when stream processors are enabled by @Cacodemon345 in #4207
MGA: Implement BPLAN for BITBLT operations by @Cacodemon345 in #4213
MGA: Move BPLAN handling to the right place by @Cacodemon345 in #4218
MGA: Implement X11 hardware cursor by @Cacodemon345 in #4221
Fix OPL audio not playing by @Cacodemon345 in #4225
Fix ACPI poweroffs disabling exit confirmations by @lemondrops in #4227
Add a correct PnP ROM for the CT4380 Sound Blaster AWE64 by @lemondrops in #4228
Add Vision Systems LBA Enhancer by @Cacodemon345 in #4240
Miscellaneous joystick cleanup by @lemondrops in #4242
Qt: Disable device checkboxes when ROMs for them aren't present by @lemondrops in #4244
Fix Novell NE2000's default IRQ being out of range by @lemondrops in #4271
GHA: Disable win32 in CodeQL by @cold-brewed in #4273
Fix Ghostscript DLL filename in an error message on 64-bit Windows by @lemondrops in #4275
Miscellaneous fixes and improvements for v4.1.1 by @lemondrops in #4276
--4.1--
This update bringing new emulated machines, new hardware and bugfixes.
Matrox video cards
Through the second half of the 1990s, the PC industry was in an all-out 3D accelerator war. Several companies tried their hand at producing hardware solutions to bring more advanced 3D games and applications to PCs, and some were more successful than others. It was a game of survival where only NVIDIA and ATI emerged victorious in the grand scheme of things.
Matrox sat right in the middle: they weren’t as big as the then-undisputed market leader 3dfx, but weren’t among more obscure names such as 3Dlabs either. The company, originally specializing in professional CAD cards, made its entry into the broader 3D market in 1995 with the MGA Millennium, followed up by the Mystique in 1996 and Millennium II in 1997. 86Box now emulates these three cards, available on the PCI bus.
Network cards
The single most popular PCI network solution of all time is now represented in 86Box, with Realtek RTL8139C+ emulation based on code from QEMU. This 100 Mbit controller first seen in the late 1990s has drivers available for a wide array of operating systems, often universally supporting the numerous revisions this chip has received over the years, including our C+ from the early 2000s.
This release also brings several PCI network cards from Digital Equipment Corporation, collectively known as the DEC Tulip family: the 21040, 21140 and 21143, also based on QEMU code. The 21040 is a 10 Mbit controller, while the 211xx models are 100 Mbit capable.
Generic compatible variants of the NE1000 and NE2000 are now available, addressing a common pitfall when setting up a Windows machine, where the network drivers provide different options on Novell and compatible cards. The D-Link DE-220P was also added as a second ISA Plug and Play NE2000 clone.
Changelog
Emulator
Fixed some very specific crashes after saving machine settings
Fixed forced 4:3 aspect ratio not always applying to a maximized window
Fixed mouse capture on the secondary monitor window
Fixed mouse capture incorrectly available while the emulated machine is paused
Fixed ROM set detection with multiple XDG_DATA_DIRS on Linux
Removed Direct3D 9 renderer due to several issues
User interface
Fixed window icon and grouping on some Linux desktop environments
Updated translations: Chinese (Simplified), Chinese (Taiwan), Russian
Machines
Added GLaBIOS XT clone machine
Added Hyundai Super-286C machine
Added ECS Panda 386V 386DX motherboard
Added DataExpert EXP4349 combo 386DX + 486 motherboard
Added J-Bond PCI400C-A Socket 2 motherboard
Added Acrosser AR-B1476, Advanced Integration Research 486PI, AMI Super Voyager PCI, Anigma BAT4IP3e, A-Trend ATC-1762, DEC Venturis 4xx, ECS AL486, Epson ActionTower 8400, ICS SB486P, Lanner Electronics AP-4100AA, MSI MS-4144 and Packard Bell PB450 Socket 3 machines
Added Lanner Electronics IAC-H488 STPC 486 machine
Added Dell Dimension XPS Pxxx (OEM version of the Intel Premiere/PCI II), FIC PT-2000, MSI MS-5109, Northgate Computer Systems Elegance Pentium 90, Shuttle HOT-539, Teknor TEK-932 and TriGem Torino Socket 5 machines
Added AMI Atlas PCI-II, ASUS SP97-XV, BCM SQ-578, Chaintech 5SBM2, Daewoo CB52X-SI, Dell Hannibal+, Gateway Tomahawk, Gigabyte GA-5SG100, Micronics Thunderbolt, MSI MS-5172, Radisys EPC-2102 and TriGem Richmond Socket 7 machines
Added Gateway Lucas Super Socket 7 machine
Added Gateway 2000 Venus (OEM version of the Intel VS440FX), AOpen AP61 and LG IBM Multinet x61 Socket 8 machines
Added Freetech/Flexus P6F99, LG IBM Multinet i x7G and NEC Mate NX MA30D/23D Slot 1 machines
Added PC Chips M773 Socket 370 motherboard
Added BIOS language selection to the IBM PS/1 Model 2011
Fixed floppy booting on Zenith Z-series machines
Fixed timer interrupt failure error on Zenith Z-series machines
Fixed incorrect memory detection on the Olivetti M19, Packard Bell PB8810 and Sanyo SX-16
Fixed keyboard error on the Hyundai SUPER-16T and 16TE
Fixed memory size error on the IBM PS/ValuePoint 433DX/Si
Fixed boot issues with Cyrix CPUs on some SiS 496 machines
Fixed Acer A1G integrated IDE controller issues
Fixed Packard Bell PB410A PS/2 mouse issues
Fixed ABIT AB-AH4 filed on the wrong category (now Socket 3)
Fixed Epson Action PC 2600 and PC Chips M919 integrated I/O issues
Fixed boot issues with some CPU speeds on MR BIOS machines
Fixed soft reboot issues on Amstrad PC machines, Intel Advanced/ATX with MR BIOS and Samsung SPC7700P-LW
Fixed PCI resource allocation issues for the single slot on the Compaq Presario 2240 and 4500
Fixed ACPI shutdown hangs on several machines
Fixed inaccurate power supply type detection on several machines
Fixed incorrect parallel port mapping on the MSI MS-5124
Fixed non-functional minimum memory amounts on the Tandy 1000 HX and ASUS P5A
Fixed boot issues and inaccurate BIOS CPU frequency read-outs on the Amstrad MegaPC
Fixed IBM 5161 expansion unit memory reporting on IBM PC and XT machines
Renamed Phoenix 286 clone to Arche AMA-2010
Renamed MR BIOS 386SX clone to Chaintech 325AX (and added original AMI BIOS)
Renamed Micro Star 586MC1 to Gigabyte GA-586IS
Changed CPU selection on Compaq Portable and Deskpro 386 machines
Changed Intel Premiere/PCI BIOS revision to a newer one
Hardware
CoreAdded debug register emulation for running software debuggers on 386 CPUs only
Reverted 8088 and 8086 CPU emulation to the one from v3.11 due to several issues
Fixed issues with the ADC and SBB instructions breaking specific applications on 8088/8086 CPUs
Fixed inaccurate cache reporting on Pentium Pro/II family CPUs (not that it matters)
Fixed missing model-specific registers on Pentium 1 and newer CPUs
Fixed incorrect Feature Control Register reporting on WinChip and Cyrix III CPUs
Fixed miscellaneous CPUID inconsistencies on several CPUs
Fixed some 486 instructions incorrectly available on 386 CPUs
Display
Added Matrox Millennium, Mystique and Millennium II PCI video cards
Added Chips & Technologies B69000 PCI video card
Added Cardex variants of the S3 Trio64V+ PCI and VLB video card
Added Realtek RTG3105 ISA video card
Added IBM 5153 monitor color option to the CGA as a new default
Added line doubling modes to the CGA
Many fixes to EGA and VGA emulation inaccuracies in corner cases
Fixed several rendering issues on Cirrus Logic, IBM 8514/A, XGA, ATI Mach8, Mach32, S3 and Tseng cards
Fixed switching between VGA and enhanced modes on the 8514/A and clones
Fixed ATI EGA Wonder emulation inaccuracies
Fixed Windows display issues on the Cirrus Logic GD5446 and GD5480
Fixed line drawing issues on Trident TGUI cards
Fixed squishing issue with some DOS games on the Voodoo Banshee/3
Fixed a rare hard reset hang with Voodoo cards
Changed Realtek RTG3106 to the 8-bit ISA bus
Input
Added mapping for sliders and other analog joystick controls on Windows hosts
Fixed joystick mapping issues with POV hats and high axis counts
Fixed duplicate game port detection with Plug and Play sound cards
Sound
Added optional PC speaker volume control to the Sound Blaster 16 family
Fixed Gravis Ultrasound crashing the emulator when accessing RAM beyond the configured amount
Fixed Sound Blaster ViBRA 16XV 8-bit DMA playback issues
Fixed AdLib Gold PCM playback issues
Network
Added Realtek RTL8139C+ PCI network card
Added DEC 21040, 21140 and 21143 PCI network cards
Added generic NE1000 and NE2000 compatible ISA network cards
Added D-Link DE-220P ISA Plug and Play network card
Added more IRQ options to PCnet ISA and VLB cards
Fixed Racal Interlan EtherBlaster detection by some drivers
Ports
Fixed ESC/P printer cutting characters near a page edge
Changed ESC/P printer dot matrix font to an improved one
Storage
Added ATAPI hard disk emulation (not hotpluggable yet)
Fixed SCSI hard disk detection hang on NetBSD
Fixed specific boot issues on Longshine, Rancho and Trantor SCSI controllers
Fixed Western Digital WD1002A-WX1 MFM controller BIOS
Fixed emulator crash during CD audio playback on Sony SCSI CD-ROM drives
Fixed small CD-ROM speed calculation inaccuracy
Fixed emulation inaccuracies with NEC and Toshiba SCSI CD-ROM drives
Renamed NCR 53C90 MCA SCSI card to 53C90A to match the emulated feature level
--4.0.1--
See the release announcement for more information!
Gravis UltraSound fixes by @lemondrops in #3664
Fix GDB stub builds due to undeclared symbol by @Theldus in #3655
GDB stub small fixes: out-of-bounds and wrong packet reply in 'qfThreadInfo' by @Theldus in #3666
Add new 4.0 dependencies to RPM spec file by @rderooy in #3672
Disable the softfloat checkbox when no FPU is selected by @lemondrops in #3694
Assorted fixes by @lemondrops in #3695
Machine table fixes by @lemondrops in #3702
Init LPT before Network to fix PLIP mode. by @yishayv in #3706
qt: Add a warning when cpu_override is enabled by @lemondrops in #3724
Updated Simp. Chinese and Japanese translations by @EmpyreusX in #3725
Fix Japanese translation (Win32 and Qt) by @EmpyreusX in #3729
GHA: Enable mac builds, homebrew fixes by @cold-brewed in #3731
Revert a testing change that shouldn't have been there by @lemondrops in #3735
Update the bug report template by @dhrdlicka in #3741
README update: Remove unmaintained managers by @cold-brewed in #3738
Issue template tweaks by @lemondrops in #3752
Future support for higher clocked CPU's + A little more lint by @jriwanek in #3753
Remove the C/C++ standard flags from the toolchain files by @lemondrops in #3754
--4.0--
See the release announcement for more information!
IDE/ATAPI: Don't overwrite data in packet writes during Phase Data In. by @TC1995 in #2922
Add the CR4 Page Global Enable bit support to Pentium Pro and Pentium II CPUs by @lemondrops in #2926
qt: Fixes for removable image files by @cold-brewed in #2929
Start of global config infrastructure by @Cacodemon345 in #2817
Corrected (more or less) the IBM PS/2 model 60 POS ID by @TC1995 in #2938
SCSI/CD-ROM fixes: Properly implemented the Toshiba specific SCSI commands by @TC1995 in #2941
S3: Don't allow 16-bit I/O pixtrans blitting on the first 8-bit I/O write port of pixtrans (non-MMIO). by @TC1995 in #2943
Fix debian/rules having accidental +x filemode by @ts-korhonen in #2954
qt: Fix status bar icons ignoring update activity setting by @ts-korhonen in #2955
nvr_at: Re-add a forgotten check for VIA NVR by @lemondrops in #2957
Minor changes to OPTi 82C929A emulation by @Ompronce in #2959
Minor changes to OPTi 82C929A emulation by @Ompronce in #2960
Minor changes to OPTi 82C929A emulation by @Ompronce in #2962
Add suggested new macOS icons by @brunocastello in #2964
Reset size of screen on 4:3 option toggling by @Cacodemon345 in #2973
qt: Don't resize renderer screen beyond window size by @Cacodemon345 in #2975
Fix many inconsistencies in GHA scripts by @jriwanek in #2978
Add Vendex HeadStart Turbo 888-XT RTC by @Cacodemon345 in #2980
Time sync now works correctly with Vendex RTC by @Cacodemon345 in #2981
Add a version of the XTIDE Universal BIOS for V20/V30 CPUs by @lemondrops in #2986
cl54xx: clear only FLAG_EXT_WRITE and FLAG_ADDR_BY16 by @Cacodemon345 in #2982
Backport commit e1e3475bd482e3350a2ec442a0a9fda8ba5cff06 from PCem by @Cacodemon345 in #2988
qt_mcadevicelist: device IDs are always 4 hex digits long by @Cacodemon345 in #2990
gdbstub: explicitly define FS_BASE and GS_BASE in features description by @Cacodemon345 in #2993
RTMidi support is now available on Haiku by @Cacodemon345 in #2994
qt_settingsdisplay: Changes are not lost on machine switch anymore by @Cacodemon345 in #2992
Fix "Multiplication result converted to larger type" from CodeQL by @jriwanek in #3001
Fix keyboard input for British keyboard layout by @FreeFull in #3004
Bumpversion.sh updated to support Debian changelog by @Dizzy611 in #3006
qt: Display architecture information in About box by @Cacodemon345 in #3000
snd_optimc: IRQs of 12, 14 and 15 are actually used by @Cacodemon345 in #3018
Apply most of the remaining formatting changes by @jriwanek in #3021
QT only: Overhauled CD-ROM selection for SCSI and ATAPI, including model and vendor specific commands by @TC1995 in #3022
Fix some bits which got lost in the last merge by @jriwanek in #3023
Add ALi M1435 southbridge and three new machines by @luennix in #3024
Fix QDI EXCELLENT II to have an AGP slot as it's supposed to. by @luennix in #3028
vid_mga: Fix Matrox Mystique MGA modes by @Cacodemon345 in #3026
Display dynarec information in the About box by @lemondrops in #3036
Add PS/2 mouse support for TriGem 486G and bump Gigabyte GA-586IP's RAM limit to 256MB by @luennix in #3048
Add SVGA multi-monitor support by @Cacodemon345 in #3044
qt: Display device name separately in device configuration by @Cacodemon345 in #3042
qt: Reload renderer of main monitor when multiple monitors are shown by @Cacodemon345 in #3060
Move DataExpert EXP8551 and PC Partner MB500N from Socket 5 to Socket 7 (Single Voltage) by @luennix in #3064
Add Gemlight GMB-P54SPS (SiS 501, Socket 5) by @luennix in #3067
QT: Fix crash in the first sound card selection. by @TC1995 in #3072
Add tertiary and quaternary FDC options + improvements to monster FDC by @jriwanek in #3074
More makefile simplification and formatting in version.h.in by @jriwanek in #3075
Fix non QT builds & Add support for Termux by @jriwanek in #3077
Underlying plumbing for multi-net in win32 ui by @jriwanek in #3080
Code for ECS P6BAT-A+ by @randomtechkid in #3062
Add Packard Bell PB810 (without on-board video, for now) by @luennix in #3078
qt: Reenable and make functional ACPI shutdown button by @Cacodemon345 in #3088
qt: Fixes to the process for selecting an existing hdd image by @cold-brewed in #3086
qt: Various fields should not be editable in settings view by @cold-brewed in #3084
Port PR#2786 (Higher scaling factors) to win32 UI by @jriwanek in #3090
Ability to build with CLANG and Regular builds by @jriwanek in #3094
Add APM flags to 386 & later, ACPI flag to Pentium and later by @jriwanek in #3093
Update libslirp to 4.7.0 with our customizations by @jriwanek in #3092
Added more ATAPI CD-ROM types (including the NEC CDR-273 4.20 drive used to be there at some point) and removed some non-working types. by @TC1995 in #3097
serial: Fix compilation with Qt by @Cacodemon345 in #3109
Serial passthrough fixes on Windows by @Cacodemon345 in #3110
serial_passthrough: Allow configuration of named pipe parameter by @Cacodemon345 in #3111
vid_tvp3026_ramdac: Don't ignore CCR2 and CCR3 bits for Cursor RAM reads/writes. by @Cacodemon345 in #3113
vid_mga: Pattern drawing now works correctly on OS/2 by @Cacodemon345 in #3114
vid_mga: Fix opaque pattern blits by @Cacodemon345 in #3116
Add Toshiba Infinia 7200 (TC430HX OEM) and add TC430HX's on-board S3 ViRGE/DX by @luennix in #3115
Port PR#199 from pcem to 86Box. by @MarekKnapek in https://gi...
--3.11--
See the release announcement for more information!
NVR: Don't fatal on failure to read NVR properly by @Cacodemon345 in #2574
qt_openglrenderer: fix fullscreen rendering on mac by @elyosh in #2581
Add an instrumentation option for performance profiling by @elyosh in #2582
qt: Adjusted "Controller 4" vertical position by @Iniquitatis in #2591
qt: Add ability to open screenshots folder by @Cacodemon345 in #2595
qt: Add option to apply fullscreen stretching modes when maximized by @Cacodemon345 in #2598
XGA: Cursor no longer gets black parts when returning from Mystify screensaver to GUI and, at the same time, keeping the Win95 cursor intact. by @TC1995 in #2599
ESDI MCA: No longer fatal on default reads, fixes Win3.0 MME installation to hard disk using ESDI MCA. by @TC1995 in #2600
qt_d3d9renderer: Clear screen backbuffer at each render by @Cacodemon345 in #2602
qt: cdrom loading fixes on Windows by @Cacodemon345 in #2604
qt: Restore Xinput2 for Qt5 builds by @Cacodemon345 in #2609
qt: Raise minimum Xi2 version requirement to 2.1 by @Cacodemon345 in #2610
qt: large sizes when entered no longer decrement by 1MB by @Cacodemon345 in #2611
Clear unfilled registers when returning CPUID results on K6-2/III/+ CPUs by @lemondrops in #2619
Fix two warnings in Qt code by @lemondrops in #2618
Remove the PS/2 mouse flag from the Gigabyte GA-586IP by @lemondrops in #2617
qt: Remember maximized state of monitor windows if enabled by @Cacodemon345 in #2621
Network overhaul: support for multiple NICs, performance improvement by @elyosh in #2630
Restore the ability to configure the first NIC with the win32 ui by @elyosh in #2632
pcap: do bounds checking in net_pcap_prepare by @elyosh in #2639
qt: fix duplicate entries in network settings by @elyosh in #2643
slirp: fix port forwarding and handle configuration with multiple nics by @elyosh in #2645
voodoo_codegen_x86*: Remove bounds checking for block_pos by @Cacodemon345 in #2646
macOS: Fix dynamic loading of bundled libraries by @cold-brewed in #2647
Implement media history manager and recently used images by @cold-brewed in #2656
macOS: Add Vulkan support via MoltenVK by @cold-brewed in #2650
Media history: small adjustment for vcpkg builds by @cold-brewed in #2658
qt_hardwarerenderer: Don't update the entire texture on blits by @Cacodemon345 in #2659
qt_hardwarerenderer: Don't blit black, hidden portions of images by @Cacodemon345 in #2662
Build fixes on Clang by @driver1998 in #2664
qt_hardwarerenderer: Fix compilation with Qt 5.12 by @Cacodemon345 in #2663
qt: Fix discord update timer to run at one second interval by @cold-brewed in #2661
qt_hardwarerenderer: Use setData on Qt 5.14 and later by @Cacodemon345 in #2668
qt: Fix potential null pointer access in media history by @cold-brewed in #2677
config: Refactor the INI parser out by @dhrdlicka in #2673
808x: Switch to __builtin_parity for parity flag setting by @Cacodemon345 in #2672
qt: Fix searching for icon packs in roms dir by @cold-brewed in #2670
XGA: Revert to the rom_init routine to load the XGA-1/XGA-2 bios by @TC1995 in #2660
machine: Add MSI MS-5124 by @Cacodemon345 in #2651
Fix a crash when saving window dimensions and coordinates by @lemondrops in #2692
qt: Media history part II: Floppy by @cold-brewed in #2703
Add NEC SV9000 (Trident TVGA9000B) by @Cacodemon345 in #2702
qt: Account for empty path in plat_fopen by @cold-brewed in #2708
Fix Qt 6.4 builds by @ts-korhonen in #2715
qt: Fix play / pause icon to reflect current state by @cold-brewed in #2713
Fix 95/98FE protection errors on emulated P6 by @nerd73 in #2720
Fix windows clang+vcpkg build. by @ts-korhonen in #2722
VISO fixes for mac / linux by @cold-brewed in #2721
vid_table: Fix build with logging enabled by @lkundrak in #2732
qt: Always resize by @Cacodemon345 in #2737
qt: Add icons to the optical media menu by @cold-brewed in #2739
qt: Fix qt6 compile by @cold-brewed in #2740
Fix Amstrad/Olivetti internal mice not working by explicitly defining the number of buttons by @lemondrops in #2741
Revert "qt: Always resize" by @Cacodemon345 in #2745
qt: Shortcut fixes by @Cacodemon345 in #2636
Fix Linux build by @Cacodemon345 in #2747
Fixes almost all the logging options which were previously broken by @jriwanek in #2750
Add secondary XT and AT fdc types, also a none type by @jriwanek in #2753
Simplify and reuse code in m_at_286_386sx.c by @jriwanek in #2754
Add option for 5-button PS/2 mouse by @Cacodemon345 in #2756
Sorted 8088 & 8086 entries alphabetically by @telanus in #2757
qt: Add earlier drive checkbox in CD-ROM settings by @Cacodemon345 in #2760
qt: Update ui pause state in plat_pause by @cold-brewed in #2758
Correct many file headers to show 86box by @jriwanek in #2755
mouse_ps2: Unify movement packet reporting mechanisms by @Cacodemon345 in #2763
qt: Rework ui pause update into a slot by @cold-brewed in #2762
qt: Add missing Windows/Menu key X11-to-Set...
--3.7.1--
Patch release addressing several issues observed on 3.7. See the updated 3.7 release announcement for a detailed changelog.
What's Changed
qt: Fix compile on ARM64 with GLES2 headers by @Cacodemon345 in #2549
qt: properly update "Show non-primary monitors" settings when they are closed by @Cacodemon345 in #2553
qt: Fix unresponsive progress bar when creating floppy images by @Cacodemon345 in #2558
pit_fast: fix off by one error with mode 2 counter by @elyosh in #2563
fluidsynth: Add channel pressure handling by @Cacodemon345 in #2562
qt: Media menu updates by @cold-brewed in #2564
Machine table changes and function cleanups by @jriwanek in #2566
Use defines instead of hardcodes for drive limits by @jriwanek in #2568
qt: Enable and make VNC work properly by @Cacodemon345 in #2569
mpu401: Add MPU-401AT I/O address ranges by @Cacodemon345 in #2570
qt: Update machine settings layout for consistency by @cold-brewed in #2571
vnc: Pause always when switching to VNC renderer by @Cacodemon345 in #2572
x86: mov r, DR6 now always writes bits 4-11 and bits 16-31 as 1 by @Cacodemon345 in #2573
--3.7--
See the release announcement for more information!
When linear framebuffer base is mapped, it's fb_only time. by @TC1995 in #2417
Initial XGA-2 implementation, (same as XGA-1 internally, but able to … by @TC1995 in #2425
Make the dedicated Longshine SCSI ASPI driver work under DOS. by @TC1995 in #2426
Fixed the overscan setting when using the 8514/A native drivers. by @TC1995 in #2427
Forgot to update the svga core source file. by @TC1995 in #2428
Actually build PAS16 on win32ui dev builds by @jriwanek in #2436
IBM ESDI MCA, 8514/A, XGA and Rancho changes: by @TC1995 in #2439
qt: Make fatal messageboxes have the correct icons by @Cacodemon345 in #2438
PGC: Properly draw 40x25 CGA text mode by @Cacodemon345 in #2433
gdbstub: Implement 'qsThreadInfo/qfThreadInfo' query by @Cacodemon345 in #2443
Fix Hard Reset dialog button order by @Cacodemon345 in #2442
Multi-monitor support by @Cacodemon345 in #2432
qt_mainwindow: Include array header by @Cacodemon345 in #2445
Restore code to properly restore coordinates by @Cacodemon345 in #2448
Make screenshots thread-safe by @Cacodemon345 in #2449
qt_d3d9renderer: Make screenshots work by @Cacodemon345 in #2446
qt_openglrenderer: Fix black area at the bottom of the screen by @Cacodemon345 in #2447
Update Soltek SL-56A5 description & SIO by @jriwanek in #2450
qt: Fix performance regression by @Cacodemon345 in #2451
Fix accidental removal of rtmidi on msys2 builds by @jriwanek in #2454
qt: switch to polling for status bar updating by @elyosh in #2453
qt: restore fixed window size properly by @Cacodemon345 in #2456
qt: Fix double free when multi-monitor is enabled and evdev is used by @Cacodemon345 in #2457
The IBM 386/486 cpu's are based on modified Intel 386 designs and, as… by @TC1995 in #2460
Don't shut down when second display is closed by @jriwanek in #2459
Revert to the IBM ESDI MCA roms to prevent a hang into booting some by @TC1995 in #2463
Fix warnings on the XGA, 8514/A and EGA Render map files. by @TC1995 in #2464
ACPI: replace 3.58MHz timer with an overflow timer by @elyosh in #2466
Revert to the old NMI way in the AudioPCI code. by @TC1995 in #2468
qt: Make renderer widget resizable only once by @Cacodemon345 in #2467
qt: don't enable blitting too early by @Cacodemon345 in #2470
ISA PS/2: Clean-ups and converted into a typedef struct. by @TC1995 in #2476
Add missing semicolon to desktop file by @AsciiWolf in #2475
Fix QListView width in the settings window by @cold-brewed in #2478
Apparently a default temp val of 0xff in the read makes XGA-1/2 panic… by @TC1995 in #2480
Made reg 0x53 (read only) default temp val to 0x70 to satisfy xgaaidos.sys' detection. by @TC1995 in #2481
Add screenshot to AppStream metainfo file by @AsciiWolf in #2486
Re-add the Soltek SL-56A5, it got lost by @jriwanek in #2488
DMA: Implemented autoinit mode in the PS/2 MCA side (although the bit… by @TC1995 in #2503
Update portuguese brazilian translation by @altiereslima in #2504
Fix crash at exit due to a unreleased mutex by @ts-korhonen in #2506
Fix a typo in qt_platform.cpp by @lemondrops in #2512
Add an option to control SBMIDI input receiving on SB Pro MCV by @lemondrops in #2513
Fix a crash with Sound Blaster Pro v2 by @lemondrops in #2515
Add the FM synth driver select option to the UI by @lemondrops in #2514
Add Reply Video Adapter for MCA (Cirrus CL-GD5426) by @Cacodemon345 in #2509
Networking: moved the pcnetPollTimer calls to a timer. by @TC1995 in #2517
Clang format in src/machine, src/win and a few other places by @jriwanek in #2522
Update internal MUNT to version 2.7.0 by @lemondrops in #2531
Clear the MT-32 LCD message on reset by @lemondrops in #2530
qt: Fix black screen when switching between renderers by @Cacodemon345 in #2529
ESDI: implement HDD timings and fix status icon updating by @elyosh in #2527
qt: Fix fullscreen at start with Direct3D 9 renderer by @Cacodemon345 in #2534
Add IRQ selection for MPU-IMC by @Cacodemon345 in #2533
qt: Fix separators not showing up on macOS by @Cacodemon345 in #2532
Add orchid variants of the GD5430 and 5434 by @jriwanek in #2536
ESDI MCA: implement HDD timings and fix status icon updating by @elyosh in #2538
Re-add other machines which went missing from the machine table by @jriwanek in #2539
qt: Important bug fixes by @Cacodemon345 in #2537
Fixed the rom loading of the boca cirrus 5428 bios. by @TC1995 in #2540
qt: Global option in preferences to use usr_path as the file image open directory by @cold-brewed in #2541
qt: fix hard freeze on hidden second windows by @Cacodemon345 in #2546
--3.6--
See the release announcement for more information!
Fix 8514/A and GUS checkboxes not being grayed out with 8-bit ISA-only machines as intended by @lemondrops in #2364
thread_test_mutex for Unix threads by @Cacodemon345 in #2371
qt: Add Drag And Drop support for removable media icons by @Cacodemon345 in #2363
qt: Add MCA device list to Tools by @Cacodemon345 in #2361
qt: Add mouse sensitivity setting by @Cacodemon345 in #2376
8514/A: Pitch no longer hardcoded to 1024, fixes 640x480x256 resolutions by @TC1995 in #2385
Added initial (and a bit buggy on OS/2, so use 8514/A on it instead) emulation of XGA by @TC1995 in #2393
Forgot one more thing about XGA. Fixes initialization of the card. by @TC1995 in #2395
More fixes to the PXBlt (BitBLT) side, now patterns work fine as well… by @TC1995 in #2404
qt: Build improvements by @Cacodemon345 in #2396
qt: add Direct3D 9 renderer by @Cacodemon345 in #2406
Fix compile with MSYS2 by @Cacodemon345 in #2407
qt: Fix crashes and freezes when switching to/from Direct3D 9 by @Cacodemon345 in #2408
qt_d3d9renderer: Account for HiDPI scaling by @Cacodemon345 in #2409
qt: attempt fixing black screen by @Cacodemon345 in #2411
Slight fixes to the 8514/A blitter in line draw, rectangle and outline by @TC1995 in #2413
Fixed the Rancho RT1000A/B aspi manager loading (rtaspi10.sys). by @TC1995 in #2415
And finally, more fixes to the XGA implementation including: by @TC1995 in #2416
--3.5--
See the release announcement for detailed information
Don't accept a directory as config file parameter by @Cacodemon345 in #2302
Add Vulkan renderer by @Cacodemon345 in #2300
qt: Disable Xi2 mouse input backend by @Cacodemon345 in #2303
Fix darkened rendering in Vulkan by @Cacodemon345 in #2304
Fix compilation error when building with Wayland by @Cacodemon345 in #2305
vulkan: HiDPI and brightness fixes by @Cacodemon345 in #2308
qt: Attempt fixing Windows/Super key input by @Cacodemon345 in #2309
qt: Fix dangling pointers on Vulkan init failure by @Cacodemon345 in #2311
Fix accidental changes by @Cacodemon345 in #2319
With bumpversion.sh my hack to update metainfo.xml is obsolete by @rderooy in #2318
Fix accidental removal of crucial line by @Cacodemon345 in #2322
qt: Force the renderer to exit at close time by @Cacodemon345 in #2326
qt: attempt fixing freezes on power off of emulated machine by @Cacodemon345 in #2329
Initial emulation of the IBM 8514/A coprocessor for both the MCA and ISA buses. by @TC1995 in #2342
change m24 BIOS rom to newer 1.44 version by @jester-xbmc in #2341
Buildable with ENABLE_DP8390_LOG by @korneliuszo in #2336
Fix the incorrect position of the 8514/A checkbox on the Display settings page by @lemondrops in #2346
Fixed the 8514/A to VGA soft reset and made the vga_on variable a global one by @TC1995 in #2353
--3.4.1--
Emulator
Fixed mouse buttons not working
User interface
Fixed middle mouse button not releasing mouse capture
--3.4--
See the release announcement for more information!
qt: Keyboard input now works properly when mouse is uncaptured by @Cacodemon345 in #2243
fluidsynth: Fallback to system soundfont if one isn't specified by @Cacodemon345 in #2241
qt: Get rid of resize rounding by @Cacodemon345 in #2245
qt: Fix creation of differencing VHDs by @Cacodemon345 in #2257
qt/languages/pt-PT.po: Fix link in "No ROMs Found" message by @Cacodemon345 in #2264
qt: Fix mistyped LCID value of en-US by @Cacodemon345 in #2265
cmake: Enable 64-bit file support on 32-bit Linux by @Cacodemon345 in #2266
Multiple ROM paths implementation by @Cacodemon345 in #2261
qt: Avoid reading absolute mouse input from cross-platform Qt code on Windows by @Cacodemon345 in #2267
Fixes to ROM loading by @dhrdlicka in #2268
Fix Qt 6 build and modifier key handling on macOS by @emilazy in #2269
unix: Fix missing include by @Cacodemon345 in #2271
win: Fix AppData directory creation by @Cacodemon345 in #2272
qt: Fix crashes on failed loads of media images by @Cacodemon345 in #2279
Cleanup and compiler warning fixes round-up for v3.4 by @lemondrops in #2288
Fix: GdbStub Code to make it compiled with Clang by @lynxluna in #2292
network.c: fix log statement by @goeiecool9999 in #2256
linux pcap fix by @goeiecool9999 in #2255
--3.3.--
See the release announcement for more information!
qt: Fix network adapter combobox being grayed out when PCap is initially enabled by @Cacodemon345 in #2133
FAudio audio backend by @Cacodemon345 in #2141
qt: Fix high CPU usage when paused by @Cacodemon345 in #2148
A few consistency changes form M&K branch by @jriwanek in #2154
Sort out the ET4000/w32p cards and add a VLB/PCI videomagic revision … by @TC1995 in #2163
vid_table.c change by @JustinJ553 in #2161
qt: Fix CD-ROM speed in settings for real by @Cacodemon345 in #2164
qt: Port Win32 86F creation code to Qt by @Cacodemon345 in #2168
Added length checks to the t128 scsi dma read/write initialization (n… by @TC1995 in #2173
qt: Add Unix manager support (client-side interface) by @Cacodemon345 in #2172
qt: Actually make client-side Unix manager integration functional by @Cacodemon345 in #2177
Qt: OpenGL 3.0 renderer by @ts-korhonen in #2175
qt: OpenGL ES 3.0 support by @Cacodemon345 in #2181
qt: Fix building with Qt 6 by @Cacodemon345 in #2180
Added the Corel LS2000 53c400-based card. by @TC1995 in #2182
qt: fix linux arm32 build error by @ts-korhonen in #2183
Added a legacy way to address some issues with the SVGA scrolling and… by @TC1995 in #2186
qt: More assortment of fixes by @Cacodemon345 in #2185
More fixes to linux arm32 build by @ts-korhonen in #2184
qt: Fix HDD path relativization on Windows by @Cacodemon345 in #2189
qt: More error handling and tweaking to OpenGL 3 renderer by @ts-korhonen in #2197
Add support for the Vendex HeadStart Turbo 888-XT by @telanus in #2196
qt: XT IDE should be XTA by @Cacodemon345 in #2194
qt: Fix a typo connecting to resetVM signal on unix manager socket by @ts-korhonen in #2200
Fix OpenGL Core renderer on macOS by @ts-korhonen in #2199
qt: opengl core; fix filter method defaulting to nearest by @ts-korhonen in #2204
Fix client socket code to match generated messages by @insanemal in #2203
qt: fix mouse getting captured even if VM has no mouse by @ts-korhonen in #2208
qt: fix multiple compiler warnings by @ts-korhonen in #2205
improve Finnish translation by @ziplantil in #2198
qt: fix Qt6 windows build by @ts-korhonen in #2209
qt: Disable processing of alt-f4 in windows. by @ts-korhonen in #2212
qt: Improve hard disk create file selection by @ts-korhonen in #2210
qt: Add support for Haiku by @Cacodemon345 in #2214
qt: Fix shaders on HD4000/4400 by @ts-korhonen in #2217
Fix yet another null dereference in lpt.c by @jriwanek in #2225
Fix Qt joystick dialog by @ts-korhonen in #2226
Add handling for several missing strings to plat_get_string on Qt and legacy Unix UIs by @lemondrops in #2229
qt: Another joystick dialog fix by @ts-korhonen in #2230
qt: mouse capture fixes by @ts-korhonen in #2231
wl_mouse: Don't uncapture mouse if is already uncaptured by @Cacodemon345 in #2235
Added deskpro386 and fixed 24bpp mode issues of the Mach64GX/VT2. by @TC1995 in #2236
--3.2.1--
Small hotfix for the Linux mouse capture speed drop and some other issues
--3.2--
See the release announcement for more information!
Updated Japanese translation by @EmpyreusX in #1960
Updated Simp. Chinese translation by @EmpyreusX in #1963
Re-added the threaded FIFO in place of the non-threaded one, but with… by @TC1995 in #1964
Fixes to config file backwards compatibility by @lemondrops in #1968
Парочка изменений // A couple of changes by @kroshmorkovkin in #1974
Update hu-HU.rc in #1975
Updates to the current German translation by @dob205 in #1977
Change MO vendor length to 9 by @Cacodemon345 in #1978
Fix plat_mmap on FreeBSD by @Cacodemon345 in #1980
Fixes for midi input by @ts-korhonen in #1979
Pass sysex messages in mpu-401 uart mode by @ts-korhonen in #1981
Fix UART-mode detection on input sysex messages by @ts-korhonen in #1983
Add hide_tool_bar config file setting by @ts-korhonen in #1984
Fix opengl core renderer message pump by @ts-korhonen in #1987
Update pt-BR.rc by @altiereslima in #1986
Exit full screen mode if changing window (with alt-tab) by @ts-korhonen in #1988
Implement the toolbar by @dhrdlicka in #1985
Update pt-BR.rc by @altiereslima in #1990
Updated Simp. Chinese and Japanese translations by @EmpyreusX in #1989
Added MIDI In/Out to the AdLib Gold as well as a fix to wave out. by @TC1995 in #2000
Added gameport at port 201h to AdLib Gold sound card by @Ompronce in #2001
Fixed incorrect control chip ID of AdLib Gold and added auxillary registers to mixer by @Ompronce in #2002
Polish translation by @Fanta-Shokata in #2006
Update the Russian translation by @lemondrops in #2007
Initial Boca Research BocaRAM/AT support by @jriwanek in #2013
Better translation by @Diicorp95 in #2015
Added TVP3026 clock emulation and hooked up to the corresponding S3 c… by @TC1995 in #2017
Fix several build issues if built with -DDYNAREC=Off by @goshhhy in #2021
Re-organized Buslogic card versions based on their microcode informat… by @TC1995 in #2023
Correctly emulate FPU concurrent execution timings by @goshhhy in #2022
More Consistency for github actions builds by @jriwanek in #2027
Added FastLine accel command to the TGUI96xx family of chips (TGUI944… by @TC1995 in #2031
MMIO writes to 0xe2e8 are no longer redirected to the FIFO functions … by @TC1995 in #2033
Add Ukrainian Translation. by @Danik2343 in #2034
Fix brief extreme noise on hard resets by @Cacodemon345 in #2036
device_t refactor by @jmlovelace in #2011
Added the Matrox Millennium card to dev branch and its respective bit… by @TC1995 in #2041
Preliminary config stuff for selectable uart type by @jriwanek in #2040
Fixes to config file backwards compatibility, take 2 by @lemondrops in #2038
Small fix for uk-UA.rc by @SuperMaxusa in #2042
Added EMS emulation to the SCAMP chipset from the PCem emulator. by @TC1995 in #2048
Qt port by @ts-korhonen in #2016
Miscellaneous code cleanup by @lemondrops in #2054
fix statusbar message by @ts-korhonen in #2056
Ported the latest fixes of the SCAMP EMS implementation from PCem. by @TC1995 in #2057
Fixed the ISA bus detection of the Mach64GX. by @TC1995 in #2059
Add MT-32 LCD message display support in the status bar by @Cacodemon345 in #2060
Fix window title after changing UI language by @Cacodemon345 in #2067
Fix untranslated hide toolbar string by @Cacodemon345 in #2066
Translation updates for Win32 and Qt (German and Croatian) by @dob205 in #2064
Qt is now on by default for non-Windows by @Cacodemon345 in #2063
Potential fixes for GitHub Actions on macOS by @dob205 in #2068
Disable LCD messages on Roland CM-32L emulation by @Cacodemon345 in #2062
Fix missing include by @Cacodemon345 in #2073
Update pl-PL.rc by @Adrianwo99 in #2070
Fix compile error by @Cacodemon345 in #2093
Fix a compile-breaking typo in qt_progsettings.c by @lemondrops in #2095
More Win32 UI, TNDY, and Soundblaster Improvements by @jriwanek in #2112
Consistency fixes to text strings by @lemondrops in #2118
Miscellaneous fixes by @lemondrops in #2117
Move the Tandy PSG ISA clones to the Dev branch by @lemondrops in #2121
Remove the last remaining trace of the defunct VRAM dumping function by @lemondrops in #2119
Updated Simp. Chinese and Japanese translations by @EmpyreusX in #2123
--3.1--
Bugfix release - See the release announcement for more information!
Fixed Olivetti M19 display bug by @EngiNerd89 in #1886
Update simplified Chinese text by @OldMadMan in #1909
Lower required OpenGL version from 3.3 -> 3.0 by @ts-korhonen in #1911
opengl: fix for shaders with version directive by @ts-korhonen in #1913
Fix that POST card's message is disappearing when language/iconset change occurs by @laciba96 in #1914
Fix null termination issue in opengl shader version replacement by @ts-korhonen in #1915
Fix wrong copyright information by @Cacodemon345 in #1916
Error handling updates on OpenGL 3.0 renderer by @ts-korhonen in #1920
Update Simplified Chinese translation by @startmenu in #1919
Fix window resizing not always working by @ts-korhonen in #1940
Add support for a joystick port at 0x209 by @jriwanek in #1948
Update pt-BR.rc by @altiereslima in #1950
Assorted fixes and improvements by @lemondrops in #1952
Added Kingston MC64 memory expansion card (adf 71d0) which allows up … by @TC1995 in #1955
Updated and standardized Simp. Chinese translation by @EmpyreusX in #1956
--3.0--
The new major release is finally here! 🥳
New logo and icons!
User interface
Localization support (#1790)
Media menu in the main menu bar (#712)
Customizable icon sets (#1817)
Nicer messages boxes using the Vista+ TaskDialog interface (#824)
HiDPI support (#992)
Discord Rich Presence support (#484)
OpenGL renderer with shader support (#1382)
Machines and CPU are now sorted into categories
Options to resize the window to a specified size and to lock the window size were added
Plug and
PrayPlaySupport for legacy ISA Plug and Play was introduced (#1316)
The following ISA PnP devices are supported:
Sound cardsCreative Sound Blaster 16 PnP
Creative Sound Blaster AWE32 PnP
Crystal CS4236B
Network cardsAMD PCnet-ISA+
Realtek RTL8019AS
SMBus and I2C emulation was introduced, allowing the emulator to report the presence of 86Box-branded memory sticks and video displays (#1110)
ACPIACPI support was added for select Socket 7 and newer machines
Windows Vista and Windows 7 can now (somewhat) run as guests under 86Box!
CPUsIntel Pentium Pro, Pentium II and Celeron emulation was added together with adequate Socket 8, Slot1/2 and Socket 370 machines
VIA Cyrix III emulation has also been added for Socket 370 and Slot 1 machines
AMD K6, K6-2, K6-III and IDT WinChip 2 were added for (Super) Socket 7
IBM 386SLC, 486SLC and 486BL emulation has been added for PS/2 machines (#502)
STPC series of x86-based SoCs has been added (#905)
ChipsetsOverhauled the emulation of i430-series and introduced i440-series chipsets
VIA Apollo series chipsets have been introduced, including the MVP3 chipset
Video
Added or overhauled video adaptersAdded 3dfx Voodoo Banshee and Voodoo3 (port from PCem)
Added S3 86C924, 86C928, Vision868, VIsion968, Trio64V+, Trio64V2 and Trio3D/2X
Added Trident TGUI 9600XGi and 9680XGi; overhauled emulation of 9400CXi and 9440AGi
Added Kasan Hangulmadang-16 Korean VGA (based on Tseng ET4000)
Overhauled emulation of G2 GC205 and Headland HT216-32; added the SVGA Multiview
Added the CL-GD5401
Added the Schetmash Iskra EGA
Numerous driver-specific bugs on existing cards have been fixed
Basic AGP support has been added (#1303)
NetworkingThe AMD PCnet-FAST III, PCnet-PCI II and PCnet-ISA+ adapters have been added, based on their emulation in VirtualBox
The Realtek RTL8019AS adapter has been added
SCSIThe option to use up to four SCSI adapters in one configuration has been added.
Added emulation of the AMD Am53C974 PCscsi controller, based on QEMU's emulation
Added the NCR 53C815, 53C820, 53C860 and 53C875 SCSI controllers
Sound
New sound cards have been added:Sound Blaster AWE64 Gold (#1563)
Crystal CS4236B (#1470)
Aztech Sound Galaxy 16 (ported from PCem)
Ensoniq AudioPCI (#1580)
AC'97 codec has been implemented (#1580)
New hardwareMagneto-optical disc and drive emulation
Generic PostScript-based printer, using the Ghostscript library (#474)
POST code diagnostic card (#618)
DEC 21150 PCI-PCI bridge (#1009)
Rewrites and improvementsPIT and PIC emulation was rewritten to fix several outstanding bugs with older software such as Microsoft Word 1.0 for DOS and MR BIOS
Memory framework was reworked to support features required by newly-added CPUs
Network emulation performance and stability have been improved
Documentation
Documentation for this release is available at 86box.readthedocs.io (available from the emulator's Help menu). We happily accept pull requests to expand the documentation in the 86Box/docs repository!
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded from the 86Box/roms repository. The roms
directory should be in the same location as 86Box.exe
.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.
--2.07--
Bugfix release.
Changes to the DirectDraw and Direct3D renderers.
Improvements to the Window Message protocol for communicating with the 86Box Manager.
Fixed a bug in the PGC/Image Manager 1024 text modes.
Fixed IDE on the SPC-4200P.
PCI Reset Control register now forces bit 4 to be written as 0, fixes resets through this register from the second soft reset onwards.
The 86F handler now returns randomly generated noise for physical holes, rather than always 0.
Fixed the video RAM addresses in the text modes on the Sigma Color 400.
Some fixes to the PC speaker - fixes amplitude in mode 1 (the intro of (Perestroika now works correctly at least on the 8088 4.77 MHz) and makes the parameters consistent with the rest of the PC speaker emulation.
Fixed the readback of the PC/XT FPU installed switch.
Added the ability to pause and resume the network thread's reception.
Fixed the state of network_wait.
Fixed slowdowns on several games that use CD Audio, such as Tomb Raider II.
The Award 286 Clone no longer has on-board IDE - the machine technically has it, but it can be disabled, so the easiest way to do it on the emulator is to make the user choose the IDE controller if they need it, and tell the BIOS to use it.
Some quick fixes for the IBM PS/2 Model 30-286. The hard disk controller is the same as the PS/1 one, and will be properly fixed in v2.10.
Some changes to the (AT) NVR code.
Applied Ryuzaki's fixes for the New Floppy/ZIP Image and Settings dialog progress bars, those now work correctly.
Increased maximum ESDI sectors 99 and fixed the cylinders truncation in config.c.
Fixed EGA and (S)VGA pel panning, fixes games like Supaplex.
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.06--
Bugfix release.
Fixed memory states set by some machines (including IBM PS/1's and MCA PS/2's).
Fixed IDE status readout on an absent device 1 with a present device 0, fixes hangs with AMI BIOS'es on hard disk detection in such cases.
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.05--
Bugfix release.
OpenAL bug fixes, fixes all OpenAL run-time warnings and errors.
Fixed the AT ESDI hard disk controller.
Reworked IDE reset and diagnostics, fixes the various IDE controller
A confirmation message box is now shown on hard reset from the manager
AT MFM hard disk controller fixes.
Deleted leftovers of the old implementation of the WIN_DRIVE_DIAGNOSTICS
Gravis UltraSound fixes, should no longer make the emulator stop
Award 286 Clone now has an on-board IDE controller as its CMOS Setup
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.04--
Bugfix release.
The S3 cards now no longer do mixing or ROP's for PIX_TRANS reads.
Closing the emulator with a window message now asks for confirmation as well.
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.03--
Bugfix release.
Fixed S3 through the plane PIX_TRANS reads.
Serial port fixes, fixes Windows NT 3.1 1991 builds hanging.
PCI PIRQ's are now always level when PCI IRQ steering is present, and MIRQ's are now edge/level according to the device that issues them, per the Intel datasheets, fixes annoyingly long wait at POST on PCI Pentium AMI BIOS'es because of secondary IDE.
Fixed for the array sizes in snd_dbopl.cc.
PCI TRC hard resets now also reset the AT keyboard controller.
Numerous serial port bug fixes, now it passes all AMIDIAG tests.
Converted the serial mouse code to my advanced timer API, which makes the code a bit cleaner (less casts and multiplications with TIMER_USEC).
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.02--
Bugfix release.
Switched from XInput to DirectInput for joysticks.
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.
--2.00--
Here is a brief list of changes since the last stable release:
Vastly improved SCSI emulation (more controllers) with SCSI hard disk support
SCSI and ATAPI Iomega ZIP emulation
Many more emulated machines and hardware
New Settings dialog and overhauled UI in general
Vastly improved emulation of IBM PC and XT and 808x
Support for directly mounting CUE/BIN images and a lot of floppy formats
More mouse types
The best Cirrus Logic emulation as of October 2019 (TM)
PS/2 emulation including MCA
Vastly improved network emulation
Improved config file format
SDL renderer
Printer emulation
ISA RTC and memory expansion board emulation
Built-in MUNT and support for FluidSynth for MIDI
Stand-alone MPU-401 emulation, both ISA and MCA, with intelligent mode support
8087 emulation
Prerequisites
86Box requires ROM files in order to operate, which can be downloaded here: https://tinyurl.com/rs20191022 (extract the ZIP file to the same directory as 86Box.exe
)
It is also recommended to use the 86Box Manager to manage virtual machines, although it is possible to use the emulator on its own, using the -P
/--vmpath
command line option.
Which ZIP should I download?
86Box
is the standard build. Download this if you don't know which one to choose.86Box-Debug
includes debug symbols. If you don't need them, you generally don't need to use this build.86Box-Optimized
are optimized builds for most modern CPU architectures. See our CPU architectures table to see which build you should download. Using the wrong binary may result in crashes.