
4.0.1 / 17-10-2023
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.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.