86Box 4.0
See the release announcement for more information!
What's Changed
- fix build for non-dynarec platforms by @sharkcz in #2896
- 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
- Minitrace fixes so it compiles again by @jriwanek in #2971
- Fix Github win32 QT Builds by @jriwanek in #2972
- 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 some issues on non QT unix builds by @jriwanek in #2977
- 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
- Misc fixes by @jriwanek in #2984
- Initial Monster FDC support by @jriwanek in #2985
- 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
- Add Western Digital WDXT-GEN by @jriwanek in #2987
- Backport commit e1e3475bd482e3350a2ec442a0a9fda8ba5cff06 from PCem by @Cacodemon345 in #2988
- Correct mistakes in monster-fdc by @jriwanek in #2989
- 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
- Initial P2 Covington support by @jriwanek in #2999
- 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
- Add CodeQL checking by @jriwanek in #3009
- Add Slot1 to Socket 8 slotket by @jriwanek in #3011
- (GHA) Buildsystem updates by @jriwanek in #3012
- Missed bits by @jriwanek in #3014
- 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
- Fix compile on OpenBSD by @jriwanek in #3069
- Support up to 4 sound cards by @jriwanek in #3071
- 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
- Add many more flash rom options by @jriwanek in #3076
- Fix non QT builds & Add support for Termux by @jriwanek in #3077
- Underlying plumbing for multi-net in win32 ui by @jriwanek in #3080
- Fix ECS P6BAP's IRQ steering table by @luennix in #3081
- 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
- Make dual video card code use array by @jriwanek in #3091
- Make CMakePresets.json better by @jriwanek in #3095
- 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
- add command 0xea - set stream mode by @jgilje in #3098
- Machine table updates by @jriwanek in #3099
- Detect TigerVNC pointer by @jgilje in #3103
- Serial Passthrough Support by @jriwanek in #3106
- 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 #3124
- Fix the wdxt by @jriwanek in #3130
- Make joysticks work with the PCjr by @einstein95 in #3133
- Network & display settings layout tweaking by @ts-korhonen in #3122
- Fix accidental reversion from Socket 7 to socket 5 in two machines by @jriwanek in #3134
- Bump version to 4.0 by @jriwanek in #3143
- qt: Poll for 4th and 5th mouse buttons on Windows by @Cacodemon345 in #3136
- device: Add extended parameters infrastructure by @Cacodemon345 in #3123
- More warning fixes by @lemondrops in #3144
- Add Wacom SD-510C tablet emulation by @Cacodemon345 in #3010
- Fix a bug in the VTech Laser Turbo XT by @jriwanek in #3147
- Yet more clang-formatting by @jriwanek in #3148
- Language strings for missing video 2 rom, and capitalize dynarec by @jriwanek in #3151
- Tabs to spaces in win32 lang files (1/2) by @jriwanek in #3155
- Magic numbers for sound freq changed to defines by @jriwanek in #3156
- chmod +x .ci/build.sh .ci/static2dll.sh by @Lili1228 in #3157
- mouse_wacom_tablet: Resets now set the mode properly by @Cacodemon345 in #3166
- mouse_wacom_tablet: Point mode is disabled when suppressed mode is enabled by @Cacodemon345 in #3167
- Some cleanups in win_settings.c by @jriwanek in #3154
- Add and enable Wacom ArtPad emulation by @Cacodemon345 in #3173
- Update zh-TW.rc by @kzmidze in #3171
- Update zh-TW.po by @kzmidze in #3170
- wacom: Fix settings reporting by @Cacodemon345 in #3174
- vnc: report absolute mouse coordinates by @Cacodemon345 in #3175
- Accept raw input from non-primary monitor windows on Qt by @ts-korhonen in #3176
- qt: Multimonitor and absolute mouse input fixes by @Cacodemon345 in #3177
- vid_mga: Make Matrox Millennium multi-monitor compatible by @Cacodemon345 in #3182
- mpu401: Extend MPU401_QUEUE to 1024 bytes by @Cacodemon345 in #3181
- vid_voodoo_banshee: Extend screen filter buffers to 2048 * 3 bytes by @Cacodemon345 in #3180
- Whitespace in win32 lang files (2/2) by @jriwanek in #3189
- Gm/gh 2944 ega 64k mvp by @OBattler in #3217
- cpu_busspeed is now a double by @Cacodemon345 in #3210
- Update zh-TW.po by @kzmidze in #3203
- Update zh-TW.rc by @kzmidze in #3200
- Update ko-KR.rc by @snowruna in #3196
- ET4000w32/i (and non-i): More fixes, see below. by @TC1995 in #3218
- vid_ega: Merge renderers and fix a few extra bugs by @iamgreaser in #3221
- vid_ega: Make the read-write CRTC registers readable by @iamgreaser in #3226
- Fix mistake in Thrustmaster ACM code by @jriwanek in #3232
- qt: Fix mute icon in CD-ROM menus by @Cacodemon345 in #3229
- Update ymfm to latest upstream version by @jriwanek in #3247
- Fix RPM spec file by @rderooy in #3245
- Update unix.c to add a missing semicolon for Apple build by @Moonif in #3244
- Update MiniVHD to 1.0.3 by @jriwanek in #3248
- viso: Make sure to close file descriptors by @cold-brewed in #3251
- macOS: Bundle fluidsynth and ghostscript by @cold-brewed in #3250
- 386_common: Optimize I/O permission checking for word and dword operations by @richardg867 in #3268
- 386_common: Handle IOPB segment limit corner case more like the old code by @richardg867 in #3270
- qt_d3d9renderer: HiDPI and stability fixes by @Cacodemon345 in #3272
- qt: Destroy existing Direct3D 9 devices if it exists by @Cacodemon345 in #3273
- Add macbox to README.md by @Moonif in #3279
- Update uk-UA.rc and uk-UA.po by @SuperMaxusa in #3271
- add linbox to README.md by @Dungeonseeker in #3263
- Fix build by adding pic.h include in sis_85c50x.c by @cartifanwlr in #3282
- OHCI: Replace magic numbers with named enums by @Cacodemon345 in #3284
- OHCI: HcHCCA's lower 8 bits are always zero by @Cacodemon345 in #3286
- usb: Set up infrastructure for system interrupts from OHCI by @Cacodemon345 in #3288
- Initial softfloat port from Bochs to 86box, currently selectable only on QT. by @TC1995 in #3285
- mouse_wacom_tablet.c: fix warnings by @Cacodemon345 in #3291
- usb: Port reset logic is now on a timer by @Cacodemon345 in #3292
- Re-added the IBM PS/2 model 70 type 4 (Softfloat is always used in this machine). by @TC1995 in #3290
- Fix some variant type comparisons by @jriwanek in #3295
- Softfloat fpu in win32 ui by @jriwanek in #3296
- Make codeql check more of the code by @jriwanek in #3298
- Allow configuration of additional network adaptors in win32 ui by @jriwanek in #3300
- usb: Add infrastructure for interrupt descriptor polling by @Cacodemon345 in #3301
- CDROM models in win32 ui (1/2) by @jriwanek in #3303
- usb: More USB endpoint device infrastructure work by @Cacodemon345 in #3305
- usb: start hooking up USB interrupts to chipsets by @Cacodemon345 in #3306
- Accelerator fixes: XGA and 8514/A, see below. by @TC1995 in #3307
- usb: Hook up USB interrupts to rest of the chipsets by @Cacodemon345 in #3314
- usb: More work on frame timing and events by @Cacodemon345 in #3316
- VDE networking support by @jguillaumes in #3315
- usb: Increment HcFmNumber in EOF function by @Cacodemon345 in #3317
- Fix: Load the interface list even if PCAP is not selected by @jguillaumes in #3318
- usb: Implement HCCA reads and writes by @Cacodemon345 in #3320
- usb: Transfer and endpoint descriptor structure by @Cacodemon345 in #3321
- usb: Start implementing Endpoint/Transfer descriptor parsing by @Cacodemon345 in #3322
- vde: Properly initialize a variable and fix sizing by @cold-brewed in #3328
- vde: Don't fatal() in network driver by @cold-brewed in #3327
- network: Add null network driver by @cold-brewed in #3326
- USB: Finish work on OHCI by @Cacodemon345 in #3324
- Sonarcloud support and GHA fixes by @jriwanek in #3345
- Fix PCjr memory steps by @jriwanek in #3351
- Some code smell fixes from sonarlint by @jriwanek in #3350
- Update network drivers to provide error message by @cold-brewed in #3365
- More fixes for sonarcloud findings by @jriwanek in #3372
- Yet more sonarlint fixes by @jriwanek in #3374
- VHD: Store disk type in config and use it when auto-creating an image⦠by @jriwanek in #3377
- sonarlint work in the win32 ui by @jriwanek in #3381
- Introduce compiler checks for pclog/fatal calls by @Cacodemon345 in #3380
- Even more sonarlint work by @jriwanek in #3383
- Win32 fixes by @jriwanek in #3384
- Allow HDD Speed to be set in win32 ui (1/2) by @jriwanek in #3385
- CD-ROM models in win32 ui (1/2) by @jriwanek in #3388
- network: ne2k / dp8390 fixes for netware by @cold-brewed in #3389
- Update mac library bundling process, add VDE by @cold-brewed in #3390
- Build / CI: Add dependencies for VDE by @cold-brewed in #3391
- Force 'page_in_evict_list' to be always inlined by @Cacodemon345 in #3396
- Add some defines to build succesfully on FreeBSD by @chungy in #3393
- (mostly) Fix EGA split screen - fix done by @cons-cinnabar by @iamgreaser in #3395
- Clean up some qt warnings by @cold-brewed in #3398
- unix_serial_passthrough: Define cleanups and changes by @Cacodemon345 in #3401
- cmake: Include freetype directory properly on FreeBSD by @Cacodemon345 in #3403
- Fix minor qt6 warning by @cold-brewed in #3400
- Fix loading of PCAP network device by @cold-brewed in #3415
- Update zh-TW.rc and zh-TW.po by @kzmidze in #3418
- Next round of sonarlint cleanups by @jriwanek in #3428
- Always include dirent.h on non-Windows by @Cacodemon345 in #3402
- Next round of sonarlint cleanups by @jriwanek in #3430
- Add contribution guidelines by @dgurney in #3432
- Sorting the 8088 according to the alphabet :D by @telanus in #3425
- Improvements to
plat_tempfile()
-generated file names by @lemondrops in #3437 - Add a machine flag for machines with a cassette port by @lemondrops in #3438
- Fix ISABugger not being actually disabled on machines without ISA by @lemondrops in #3439
- qt: Hide the dynarec checkbox if built without a dynarec by @lemondrops in #3441
- unix: add a monitor command to display version and license info by @lemondrops in #3442
- Add a machine flag for machines requiring softfloat FPU and improve the related UI behavior by @lemondrops in #3440
- Another round of sonarlint work by @jriwanek in #3449
- unix: Add a missing #include by @lemondrops in #3450
- qt: Change default disk image type to dynamic vhd by @cold-brewed in #3455
- macos: Add special mapping for insert key by @cold-brewed in #3456
- FluidSynth code improvements by @lemondrops in #3458
- Fix GitHub Actions failing by @lemondrops in #3459
- AdLib Gold: timer period fixes (see below). by @TC1995 in #3461
- Tseng ET4000W32/i: hardware cursor fixes (see below). by @TC1995 in #3462
- SCSI card and CD-ROM fixes (below). by @TC1995 in #3463
- ATI Mach64GX/VT2 fixes (see below). by @TC1995 in #3464
- CPU with softfloat features (below). by @TC1995 in #3465
- Machine features and fixes: by @TC1995 in #3466
- Video features and fixes: by @TC1995 in #3467
- S3 Pre-ViRGE changes: by @TC1995 in #3468
- S3 ViRGE change: by @TC1995 in #3469
- SoftFloat MMX: by @TC1995 in #3470
- Fix several instances of uninitialized variables. by @jriwanek in #3483
- Update documentation by @cigaryno in #3479
- Translation pt-BR by @altiereslima in #3488
- Next round of sonarlint work by @jriwanek in #3489
- rtc: Fix crash when closing device by @cold-brewed in #3487
- Fix build on clang by @jriwanek in #3492
- Fix my clang fix by @jriwanek in #3493
- XGA 16bpp fixes (see below). by @TC1995 in #3495
- More Sonarlint work in src/video by @jriwanek in #3510
- Update CHINESE_TRADITIONAL by @kzmidze in #3513
- Mach64GX/VT2 aperture fix for win98fe (see below). by @TC1995 in #3518
- Create a .gitattributes file by @jriwanek in #3528
- Fix missed bits from pci rewrite in pci_dummy.c by @jriwanek in #3527
- Clang warning cleanup by @cold-brewed in #3532
- Reduce CGA vertical res from 400 to 200. by @anikom15 in #3352
- Add new platform function to get cpu string by @cold-brewed in #3533
- Yet more Sonarlint and a few warning fixes. by @jriwanek in #3534
- qt: Fix qt6 regex compatibility by @cold-brewed in #3536
- ymfm: Clean up numerous warnings by @cold-brewed in #3539
- More sprintf and warning cleanup by @cold-brewed in #3540
- Fix line endings for good by @lemondrops in #3542
- Video changes: (see below) by @TC1995 in #3543
- Sonarlinting and clang formatting in src/cpu by @jriwanek in #3544
- More warning cleanups by @cold-brewed in #3551
- postcard: Clean up some gcc warnings by @cold-brewed in #3550
- More ATI Mach8/32 changes: by @TC1995 in #3549
- Dribs and drabs which have escaped by @jriwanek in #3545
- isapnp: Revert macro changes by @cold-brewed in #3552
- qt: Recalculate new disk image size from CHS before creating it by @lemondrops in #3560
- New batch of ATI Mach8/32 changes: by @TC1995 in #3570
- Compile fix. by @TC1995 in #3571
- ATI 68875 RAMDAC, clearly the bpp's get set in the mach32 card directly. by @TC1995 in #3572
- Compile fix (3). by @TC1995 in #3573
- Compile fix (4). by @TC1995 in #3574
- Joystick code improvements by @jriwanek in #3579
- Warning fixes and more tabs to spaces by @jriwanek in #3580
- Switched back to the "Graphics Ultra Pro" ISA-based BIOS by @TC1995 in #3581
- Pitch fix for Mach8/32. by @TC1995 in #3582
- Fix broken VHD handling by @lemondrops in #3583
- Add license, latest stable release and download count to readme by @jriwanek in #3589
- Fix LLVM GHA builds as best I can for now and some small fixes for MSVC by @jriwanek in #3590
- Update language modules by @kzmidze in #3592
- MCA Cirrus 2401 fix. by @TC1995 in #3594
- Compaq Deskpro 386 1988 BIOS ROM change: by @TC1995 in #3608
- 8514/A and XGA handling refactor by @lemondrops in #3622
- Latest round of sonarlint work by @jriwanek in #3623
- Fixing up path_get_slash return value by @cold-brewed in #3624
- Assorted TGUI9440/96x0 fixes: by @TC1995 in #3625
- Change NEC CD-ROM DRIVE:74 to 75. by @TC1995 in #3626
- More XGA fixes: by @TC1995 in #3628
- More 8514/A related fixes: by @TC1995 in #3629
- qt: Remove a trailing space in a label in qt_settingsnetwork.ui by @lemondrops in #3630
- Make plat_fallthrough and plat_unused headers less fragile by @jriwanek in #3631
- Revert earlier machine settings updates by @cold-brewed in #3635
- qt: Temporarily hide the Mitsumi CD-ROM bus in dropdowns by @lemondrops in #3639
- qt: Expand the number of items displayed in comboboxes to 30 by @lemondrops in #3638
- Revert toolbar changes, add separator by @cold-brewed in #3640
- Update the credits in the About dialog by @lemondrops in #3644
New Contributors
- @sharkcz made their first contribution in #2896
- @brunocastello made their first contribution in #2964
- @FreeFull made their first contribution in #3004
- @randomtechkid made their first contribution in #3062
- @jgilje made their first contribution in #3098
- @MarekKnapek made their first contribution in #3124
- @einstein95 made their first contribution in #3133
- @snowruna made their first contribution in #3196
- @iamgreaser made their first contribution in #3221
- @Moonif made their first contribution in #3244
- @Dungeonseeker made their first contribution in #3263
- @cartifanwlr made their first contribution in #3282
- @jguillaumes made their first contribution in #3315
- @cigaryno made their first contribution in #3479
- @anikom15 made their first contribution in #3352
Full Changelog: v3.11...v4.0