Files I forgot to add + provisional no more

This commit is contained in:
RichardG867
2021-12-01 17:15:08 -03:00
parent 70c4eb274f
commit 5dee8c50b6
3 changed files with 230 additions and 1 deletions

View File

@@ -1 +1,3 @@
This is a provisional website for 86Box as seen on https://86box.github.io/.
Website for 86Box
=================
This is the 86Box website, located at [86box.net](https://86box.net).

View File

@@ -0,0 +1,227 @@
---
layout: post
title: "86Box v3.0"
description: "86Box v3.0 is here. Check out what's new."
author: "richardg867"
image: "/assets/images/v3.0/hero.png"
---
{% include image.html url="/assets/images/v3.0/hero.png" %}
It has arrived. Some have raised concerns about what the future holds for the 86Box project after it took us nearly 3 years to finish v2.00 (which is 2 years old by now), but fear not, as we continue to work on making 86Box the best emulator for PC software preservation and gaming alike. As always, you can download v3.0 [from GitHub](https://github.com/86Box/86Box/releases/tag/v3.0). Read on to check out what's new in this release, because there's a lot.
{% include imageheading.html url="/assets/images/v3.0/machines.png" heading="Machines" %}
86Box v3.0 provides a total of **288 emulated machine entries**, more than tripling the amount of machines compared to the previous v2.07 release. A number of newly-added machines bring [unique features](https://86box.readthedocs.io/en/latest/hardware/machinespecific.html): [obscure chipsets](#smsc), [gas plasma displays](https://en.wikipedia.org/wiki/Compaq_Portable_III), [multiple supported CPU types](https://collection.batyra.pl/motherboards/freewayslot12), unusual BIOSes and more.
Many of these additions were made possible through investigation and testing work by developers and community members like [**richardg867**](https://github.com/richardg867), [**tiseno100**](https://github.com/tiseno100), [**evasive**](https://www.elhvb.com), [**Carlos S. M.**](https://twitter.com/Carlos_SM1995), **explorerexe** and others, so we would like to thank them. The BIOS identification tools developed internally for this effort will eventually be open-sourced through the [86Box GitHub organization](https://github.com/86Box).
{% include imageheading.html url="/assets/images/v3.0/ux.png" heading="User experience" %}
Several refinements have been made to the 86Box user interface introduced in the previous v2.00 release, starting with a **new look**. We have a new logo, designed by [**OBattler**](https://github.com/OBattler) and enhanced by [**laciba96**](https://github.com/laciba96) and [**Foxlet**](https://github.com/foxlet). New icons were also drawn by [**OBattler**](https://github.com/OBattler) in the Windows 9x aesthetic, with the old icons and another set by [**laciba96**](https://github.com/laciba96) available through the **Icon set** option in the new **Preferences** window.
The user interface now has **translations** contributed by community members, also available through the **Preferences** window:
* 🇨🇳 **Chinese (Simplified)** by [**startmenu**](https://github.com/startmenu)
* 🇭🇷 **Croatian** by [**dob205**](https://github.com/dob205)
* 🇨🇿 **Czech** by [**dhrdlicka**](https://github.com/dhrdlicka)
* 🇬🇧 **English (United Kingdom)** by [**jriwanek**](https://github.com/jriwanek)
* 🇫🇮 **Finnish** by [**ts-korhonen**](https://github.com/ts-korhonen)
* 🇫🇷 **French** by [**jvernet**](https://github.com/jvernet)
* 🇩🇪 **German** by [**dob205**](https://github.com/dob205)
* 🇭🇺 **Hungarian** by [**laciba96**](https://github.com/laciba96)
* 🇮🇹 **Italian** by **explorerexe**
* 🇯🇵 **Japanese** by [**OBattler**](https://github.com/OBattler)
* 🇧🇷 **Portuguese (Brazil)** by [**altiereslima**](https://github.com/altiereslima)
* 🇵🇹 **Portuguese (Portugal)** by [**OBattler**](https://github.com/OBattler) and **DoutorHouse**
* 🇷🇺 **Russian** by [**OBattler**](https://github.com/OBattler)
* 🇸🇮 **Slovenian** by [**daviunic**](https://github.com/daviunic) and [**OBattler**](https://github.com/OBattler)
* 🇪🇸 **Spanish (Spain)** by [**mgtroyas**](https://github.com/mgtroyas)
* 🇹🇷 **Turkish** by **luennix**
Inspired by other PC virtualizers, [**dhrdlicka**](https://github.com/dhrdlicka) introduced the **Media menu**, which provides an alternative way of changing the emulated machine's removable media aside from clicking their respective status bar icons.
As the list of emulated machines grew unwieldy, [**OBattler**](https://github.com/OBattler) split it into categories, and [**richardg867**](https://github.com/richardg867) reorganized the CPU list into individual families and their available speed ratings, adjusted dynamically around what the selected machine supports.
{% include image.html url="/assets/images/v3.0/machinetypes.png" description="So many machines." %}
The 86Box interface no longer looks like a blurry mess on HiDPI displays thanks to [**driver1998**](https://github.com/driver1998) adding **HiDPI support**, including the latest Per-Monitor v2 mode supported by Windows 10. HiDPI scaling of the emulated machine's display can be disabled through an option in the **View menu**, in case the picture is too big or (as a result of non-integer scales) too blurry on your HiDPI display; that option can also be combined with the existing scale factor options.
[**richardg867**](https://github.com/richardg867) and [**dhrdlicka**](https://github.com/dhrdlicka) upgraded the interface's prompts and message boxes to the modern **Task Dialogs** introduced in Windows Vista. Welcome to 2007. These modern dialogs also bring in a new feature: you can now disable the prompts displayed when saving settings, resetting the emulated machine or quitting 86Box, by checking the **Don't show this message again** box.
[**OBattler**](https://github.com/OBattler) added a menu option to dial in a specific resolution for the emulated display area, and optionally lock it for a more immersive windowed experience.
{% include imageheading.html url="/assets/images/v3.0/docs.png" heading="Documentation" %}
86Box now has proper documentation, located at [**86box.readthedocs.io**](https://86box.readthedocs.io/en/v3.0/). This new documentation provides descriptions for all [settings](https://86box.readthedocs.io/en/v3.0/settings/) and [features](https://86box.readthedocs.io/en/v3.0/usage/menubar.html) the emulator provides, notes on [machine-specific quirks](https://86box.readthedocs.io/en/v3.0/hardware/machinespecific.html) and [more advanced features](https://86box.readthedocs.io/en/v3.0/hardware/ideterqua.html), and [specifications](https://86box.readthedocs.io/en/v3.0/dev/formats/index.html) developed as part of the project such as the [**86F**](https://86box.readthedocs.io/en/v3.0/dev/formats/86f.html) floppy bitstream image file format.
The documentation's source files are on a [GitHub repository](https://github.com/86Box/docs), so anyone can contribute to it. [**richardg867**](https://github.com/richardg867) wrote most pages, with some bits written by [**daviunic**](https://github.com/daviunic), [**dhrdlicka**](https://github.com/dhrdlicka) and [**OBattler**](https://github.com/OBattler).
{% include imageheading.html url="/assets/images/v3.0/under.png" heading="Under the hood" %}
As part of this release, a number of important additions and improvements were made to the emulator's internal components. This section gets a bit technical.
### Plug and Play
[**richardg867**](https://github.com/richardg867) built a framework for **ISA Plug and Play** cards, a commonly requested feature. Plug and Play is implemented on the following ISA cards:
* PnP variants of the **Creative Sound Blaster 16** and **AWE32** sound cards;
* The new **Crystal CS4236B** sound card;
* The new **AMD PCnet-ISA+** and **Realtek RTL8019AS** network cards;
* Tertiary and quaternary **IDE controllers**, which now have a **Plug and Play** option in the **IRQ** box, allowing PnP to pick any available I/O port range and IRQ line.
It is worth noting to the younger crowd that ISA Plug and Play was a complex beast, hence the "Plug and Pray" nickname it eventually earned. Device resources can be assigned by both the BIOS and the operating system, and conflicts may arise (and hair-pulling may ensue) when mixing PnP and non-PnP cards without proper configuration.
Still somewhat on the subject of Plug and Play, [**richardg867**](https://github.com/richardg867) also added SMBus and I2C bus emulation, allowing 86Box machines to have 86Box-branded SDRAM memory modules and VGA monitors, which identify themselves through [SPD](https://en.wikipedia.org/wiki/Serial_presence_detect) and [DDC](https://en.wikipedia.org/wiki/Display_Data_Channel) respectively where applicable and supported. On top of that, ISA and SMBus hardware monitoring chips were added to motherboards containing those, always reporting fixed temperatures (fun fact: the reported 86°F value was completely accidental), voltages and fan speeds.
{% include image.html url="/assets/images/v3.0/i2c.png" description="Get your 86Box RAM and monitor today!" %}
### ACPI
[**Advanced Configuration and Power Interface**](https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface) is a standardized interface through which a PC operating system can take control of power management and device configuration duties, instead of relying on the system's BIOS to do so. Features provided by that interface include standardized soft power off (marking the end of "It's now safe to turn off your computer") and sleep mode. ACPI is now a cornerstone of modern PC architecture, so much that it became a **system requirement** for Windows starting with Vista, or Longhorn build 5048 for the beta enthusiasts out there.
86Box now features ACPI support thanks to [**OBattler**](https://github.com/OBattler)'s work. Soft power off and hibernation automatically close 86Box, and sleep mode pauses emulation. Having ACPI also allows for running **Windows Vista and 7** as guests on newer emulated machines, as seen on the screenshot which opened this post. We **really** don't recommend running these versions of Windows, as they were never really meant to run on the old hardware we work with, especially if it's not being emulated at full speed; if you want to try anyway, [use Windows 7 with Service Pack 1](http://web.archive.org/web/20110814164028/http://support.microsoft.com/kb/980358), and don't expect driver support for video, sound or networking.
Keep in mind ACPI is only available on **select Socket 7 and newer machines**. Adding to that, early ACPI is notoriously buggy; you may have difficulties getting it to work, partially due to both Windows and Linux having lockouts which prevent ACPI from working if the machine's BIOS was made before a specific year: **1999** for Windows starting with 98 Second Edition, or **2001** for Linux starting with kernel 2.6.
{% include image.html url="/assets/images/v3.0/win7.png" description="We were so preoccupied with whether or not we could, we didn't stop to think if we should." %}
### Rewrites and improvements
Several internal components were rewritten or reworked by [**OBattler**](https://github.com/OBattler):
* The Programmable Interval Timer (PIT) and Programmable Interrupt Controller (PIC) were rewritten to fix several outstanding bugs with older software such as Microsoft Word 1.0 for DOS and the MR BIOS. Work has also started on an AT keyboard controller rewrite to fix even more bugs in a future release.
* The memory framework was reworked to support features required by newly-added CPUs, such as [SMM](https://en.wikipedia.org/wiki/System_Management_Mode) for SL-Enhanced 486 models, and [PAE](https://en.wikipedia.org/wiki/Physical_Address_Extension) for the Pentium II. Up to 2 GB of emulated RAM can now be used where supported, or up to 3 GB on 64-bit builds of 86Box.
* The dynamic recompiler and graphics rendering system were tweaked, resulting in a slight emulation performance increase in some cases.
* Network emulation performance and stability have been improved.
{% include imageheading.html url="/assets/images/v3.0/cpus.png" heading="CPUs" %}
v3.0 also brings in several new CPU families. It's important to mention that most of these new CPUs raise the clock speed bar by quite a bit, and even the latest and greatest host systems struggle to emulate them, so stick to something like a Pentium 1 if you're running speed-sensitive tasks such as games or if your PC isn't a modern high-end one.
### Intel Pentium Pro, Pentium II and Celeron
After many years of waiting (going back to the start of the 86Box project!), emulation of Intel's P6 CPU family has finally arrived. This brings the Pentium Pro, Pentium II "Klamath"/"Deschutes" and Celeron "Mendocino" CPUs, which can be run on the new Socket 8, Slot 1/2 and Socket 370 machines respectively; with the Celeron "Mendocino" also being available on Slot 1, simulating the use of a "slotket" Socket 370 adapter. P6 core emulation was developed by [**OBattler**](https://github.com/OBattler), instruction timings were refined by [**nerd73**](https://github.com/nerd73), and the Celeron "Mendocino" was added by [**tiseno100**](https://github.com/tiseno100).
Our P6 emulation is not fully accurate due to the core's out-of-order engine and integrated L2 cache, both of which are too complex to emulate, though the Pentium II "Deschutes" instruction timings in particular were tweaked to benchmark reasonably close to a real CPU.
### Enter Super Socket 7
[**OBattler**](https://github.com/OBattler) brought more Socket 7 CPUs to 86Box by adding the [**AMD K6**](https://en.wikipedia.org/wiki/AMD_K6), [**K6-2**](https://en.wikipedia.org/wiki/AMD_K6-2) and [**K6-III**](https://en.wikipedia.org/wiki/AMD_K6-III), as well as the [**IDT WinChip 2**](https://en.wikipedia.org/wiki/WinChip), with an instruction timing model based on PCem's implementation.
Note that a [Super Socket 7](https://en.wikipedia.org/wiki/Super_Socket_7) machine is required for the K6-III, as well as the highest clock speeds available for the K6-2 and WinChip 2.
### The underdog VIA Cyrix III
Tester extraordinaire [**nerd73**](https://github.com/nerd73) has contributed emulation of the [VIA Cyrix III](https://en.wikipedia.org/wiki/Cyrix_III) family of CPUs based on the Samuel core, released in 2000, making it our newest CPU family yet. While it uses the same PGA370 socket as the later Pentium III chips, the Cyrix III is a 586-class CPU based on Centaur's [IDT WinChip](https://en.wikipedia.org/wiki/WinChip) design (despite carrying the Cyrix brand), therefore limiting it to the same software that would run on a Pentium MMX or WinChip 2. While the last Cyrix-branded chip performed just as badly as the WinChip it was based on -- the contributor describes it as a "really fast 486 with Pentium instructions" -- its power consumption was best-in-class, which led VIA to further develop its core into the better-known C3, C7 and Nano series.
The Cyrix III is available on all newly-added Socket 370 and Slot 1 (the latter also simulating a "slotket") machines. While motherboard compatibility with this CPU was hit-or-miss, we did our best to specifically pick boards that are compatible, either officially or unofficially; in the latter case, the BIOS may misidentify the Cyrix III as an Intel CPU or display garbage instead of the CPU name, a minor issue with no other implications.
### 386 and 486 odds and ends
[**nerd73**](https://github.com/nerd73) also added emulation of IBM's [386SLC, 486SLC and 486BL](https://en.wikipedia.org/wiki/IBM_386SLC), available on PS/2 machines; as well as SL-Enhanced models of Intel and AMD 486 CPUs, available where supported. The 486SLC and 486BL were notable for having a 386-class core derived from the 386SLC, with the 486 instruction set and a small L1 cache added on top. The SL-Enhanced 486 models support the [System Management Mode](https://en.wikipedia.org/wiki/System_Management_Mode) feature, designed for "Green PC" and laptop power management applications, which resulted in litigation between Intel and AMD over its implementation and eventually became a standard feature on x86 CPUs.
[**richardg867**](https://github.com/richardg867) implemented the **STPC series** of System-on-Chip devices marketed by STMicroelectronics for embedded applications between the late 1990s and early 2000s. These chips featured a Cyrix Cx486DX CPU core running at up to 133 MHz, integrated PCI chipset, and optional integrated VGA (not emulated yet). The STPC Client, Consumer-II, Elite and Atlas are emulated, with at least one machine representing each. In keeping with the embedded theme, they have also implemented the **ALi M6117** SoC, which had a long run from Acer Labs to Nvidia (yes, that Nvidia) and DM&amp;P; this chip has a 33 or 40 MHz 386SX CPU core and an integrated ALi M1217 chipset providing most peripherals, allowing for <a href="https://images.google.com/images?q=Kontron+DIMM-PC%2F386-I" title="Disclaimer: this board did not make it to v3.0 due to technical issues.">tiny 386SX systems</a>.
{% include imageheading.html url="/assets/images/v3.0/chipsets.png" heading="Chipsets" %}
Picking a chipset was an important step in PC building back in the 1990s, even more so than it is today; back then, any given x86 CPU platform had many chipset choices offered by several vendors. This often came down to choosing between the **higher quality** options from **Intel or AMD**, or the **lower cost** options from **VIA, ALi, SiS and others**; granted, there were outliers providing high performance at a low price, and some motherboard manufacturers that [weren't exactly honest about their chipset choices](https://hardwaresecrets.com/chipset-aliases-tx-pro-vx-pro-and-co/).
While the performance and reliability differences from one chipset to the other don't really translate into emulation, all chipsets have their own set of quirks and features <small>(sorry)</small>, with the different levels of integration and variety of BIOS choices making them worth emulating. 86Box v3.0 is the **chipset release**, bringing in many new emulated chipsets contributed by several developers.
[**OBattler**](https://github.com/OBattler) overhauled the Intel 430 series chipset emulation and introduced the 440 series, with [**tiseno100**](https://github.com/tiseno100) bringing in additional variants. Highlights include the legendary **440BX** for the Pentium II platform, and the **430TX** for the Pentium platform. The lesser-known 420 series for the 486 platform was also expanded by [**OBattler**](https://github.com/OBattler), with the 420EX and 420ZX joining the existing 420TX.
<a name="smsc" />[**richardg867**](https://github.com/richardg867) and [**OBattler**](https://github.com/OBattler) expanded upon the Intel 440 work by adding the **SMSC VictoryBX-66**, a relatively unknown combination of Intel's acclaimed 440BX northbridge and Standard Microsystems' **SLC90E66 Victory66** southbridge, [announced in late 2000](https://www.eetimes.com/smc-begins-sampling-pc-chip-set-line-for-pentium-based-systems/) and released in early 2001 as the product of a technology exchange agreement between the two companies. This chipset's obscurity was a result of its late release; the 440BX northbridge was quite outdated by 2001, with the final nail in its coffin put by the Intel 815 chipset released the year before, ending the notorious Intel-Rambus disaster which had extended the BX's life for motherboard manufacturers.
Chipsets from the **VIA Apollo** series were also added, ranging from the **VPX** for the Pentium platform to the **Pro 133A** for the Pentium II/III platform, with [**tiseno100**](https://github.com/tiseno100) working on the northbridges and [**richardg867**](https://github.com/richardg867) on the southbridges. One highlight is the **MVP3**, seen by many as the best Super Socket 7 chipset ever made.
[**nerd73**](https://github.com/nerd73) contributed the **OPTi 82C546/547 "Python"** for the Pentium platform, which provided [VESA Local Bus](https://en.wikipedia.org/wiki/VESA_Local_Bus) and optionally also PCI connectivity, making it a highly unusual design, given that VLB was designed with the 486 CPU bus architecture in mind. On the 486 platform, they have also provided the **Chips & Technologies CS8230** and **OPTi 82C291**.
Last but not least, v3.0 saw the start of a **chipset task force** run by [**tiseno100**](https://github.com/tiseno100) and [**OBattler**](https://github.com/OBattler), which has implemented numerous chipsets from the 386/486 era and beyond; while the list is too large for this post, it includes models from ALi, Chips & Technologies, IMS, Intel, OPTi, SiS, UMC (lots of reverse engineering involved), VIA and VLSI. The task force is still active and working on more chipsets for a future release of 86Box, so [stay tuned...](/assets/images/v3.0/i815.png)
{% include imageheading.html url="/assets/images/v3.0/hardware.png" heading="More new hardware" %}
This release brings a variety of new hardware components and peripherals across the board:
### Magneto-optical discs and drives
The [**magneto-optical disc**](https://en.wikipedia.org/wiki/Magneto-optical_drive) joins the Iomega ZIP in 86Box's removable storage device emulation. MO discs were available in capacities up to 1.3 GB, and while the standard was not very successful, it had a cult following in Japan.
MO emulation was developed by [**claunia**](https://github.com/claunia) as an independent fork of 86Box, with upstreaming and finishing by [**TC1995**](https://github.com/TC1995), [**OBattler**](https://github.com/OBattler) and [**driver1998**](https://github.com/driver1998).
### Video
[**TC1995**](https://github.com/TC1995) was the star of the video department on this release, bringing us the following in cooperation with [**OBattler**](https://github.com/OBattler):
* Porting the **3dfx Voodoo Banshee** and **Voodoo3** video cards over from PCem, as well as adding the **3dfx Velocity 100** OEM variant of the Voodoo3;
* Adding the **86C924**, **86C928**, **Vision868**, **Vision968**, **Trio64V+**, **Trio64V2** and **Trio3D/2X** to the range of emulated S3 cards;
* Adding the **TGUI 9660XGi** and **9680XGi** to the range of emulated Trident cards, while also finishing the **9400CXi** and **9440AGi** from v2.xx;
* Adding the Tseng ET4000-based **Kasan Hangulmadang-16 Korean VGA**;
* Overhauling emulation of the **G2 GC205** and **Headland HT216-32** while adding the HT209-based **Radius SVGA Multiview**;
* Fixing numerous driver-specific bugs on existing video cards.
[**richardg867**](https://github.com/richardg867) added basic **AGP support**, making the 3dfx Voodoo3 and S3 Trio3D/2X our first AGP video cards.
[**tiseno100**](https://github.com/tiseno100) implemented the **CL-GD 5401**, Cirrus Logic's first VGA chip, based on the AVGA1 acquired as part of Acumos. They have also added the **Schetmash Iskra EGA**, a Cyrillic-capable clone of the IBM EGA designed for the **Iskra-3104** Soviet XT clone, which 86Box v3.0 also emulates.
### Networking
[**TC1995**](https://github.com/TC1995) implemented the **AMD PCnet-FAST III** Am79C973 and **PCnet-PCI II** Am79C970A Ethernet controllers, based on their emulation in VirtualBox. The PCnet family is best known for being emulated by all major virtualizers (VMware, VirtualBox and QEMU), and is natively supported by Windows (NT 3.51 to XP), Linux and many other operating systems.
Two new Plug and Play ISA network cards were added: [**OBattler**](https://github.com/OBattler) brought the NE2000-based **Realtek RTL8019AS**, and [**richardg867**](https://github.com/richardg867) brought the **AMD PCnet-ISA+**.
### SCSI
[**TC1995**](https://github.com/TC1995) implemented the AMD Am53C974 PCscsi controller, based on QEMU's emulation. The **Tekram DC-390** SCSI card uses that controller, and its BIOS supports CD-ROM boot.
[**OBattler**](https://github.com/OBattler) added the **53C815**, **53C820**, **53C825A**, **53C860** and **53C875** to the range of emulated NCR SCSI controllers. Many BIOSes include a Symbios SDMS option ROM for the 53C860 which is also capable of CD-ROM boot, so you might see the SCSI BIOS show up on some machines even if the SCSI card's *Enable BIOS* option is unchecked. When migrating emulated machines from v2.xx, keep in mind the 53C810 no longer has an onboard option ROM; use the 53C815 instead.
### Sound
The **Sound Blaster AWE64 Gold** was added by [**lemondrops**](https://github.com/lemondrops) to the list of emulated Creative Sound Blaster cards. The AWE64 is a slightly improved, Plug and Play only variant of the AWE32.
[**richardg867**](https://github.com/richardg867) added the **Crystal CS4236B** sound card, a Plug and Play ISA chip with support for both Sound Blaster Pro and Windows Sound System standards, whose family lives on in modern retro sound projects such as the [Orpheus Sound Card](http://orpheus-soundcard.eu).
[**TC1995**](https://github.com/TC1995) implemented the Sound Blaster-compatible **Aztech Sound Galaxy 16** card, based on an user contribution to PCem.
An AC'97 codec implementation was developed by [**richardg867**](https://github.com/richardg867), powering the **Ensoniq AudioPCI** \(which also had some outstanding issues fixed by [**OBattler**](https://github.com/OBattler)\), as well as the on-board audio on later VIA chipsets introduced in this release.
### PostScript PDF printer
[**dhrdlicka**](https://github.com/dhrdlicka) expanded parallel port printer emulation by bringing in a PostScript printer, which uses the Ghostscript library to output PDF files. This printer can be used with generic PostScript drivers or, in absence of those, [Apple LaserWriter drivers](https://86box.readthedocs.io/en/v3.0/settings/ports.html#lpt1-3-device). If the `gsdll32.dll` or `gsdll64.dll` library included with 86Box downloads is missing or PDF conversion otherwise fails, the original PostScript files are saved.
### POST card
[**richardg867**](https://github.com/richardg867) introduced the option for a POST diagnostic card, which displays diagnostic codes reported by the machine's BIOS on the status bar. These codes are helpful for debugging hardware setups which fail to boot. As with real POST cards, the leftmost value is the most recent code reported, while the rightmost value is the second most recent code; both are in hexadecimal.
### PCI bridges
Due to the way the PCI bus works, PCI-based machines have a limited number of slots to work with, with the exact slot count varying from one machine to the other. In previous versions of 86Box, running out of PCI slots (often an issue with Voodoo 2 SLI setups) resulted in a silent failure; no error message would be shown, and any cards that didn't "fit" simply wouldn't work.
[**richardg867**](https://github.com/richardg867) worked around this limitation by implementing emulation of the **DEC 21150** PCI-PCI bridge. This bridge takes up a single PCI slot and provides 9 more slots; it is automatically deployed whenever the emulated machine runs out of available PCI slots, and works without any additional drivers or setup on the operating system side, although some devices may not work correctly under a bridge, such as the game port built into the Ensoniq AudioPCI sound card on Windows.
{% include imageheading.html url="/assets/images/v3.0/linux.png" heading="One more thing: Linux is coming" %}
This is quite definitely the request we've received the most ever since the 86Box project started. After a couple false starts over the years, we are glad to announce that **a Linux and macOS version is being worked on**, with initial porting done by [**Cacodemon345**](https://github.com/Cacodemon345), macOS support tweaks by [**dob205**](https://github.com/dob205), and a new cross-platform Qt user interface (pictured below) by [**jgilge**](https://github.com/jgilje), all newcomers to the project.
As of writing, the user interface is not finished yet, as it took us some time to determine the right **UI toolkit** to use. However, v3.0 already has some of the groundwork done: **64-bit Windows builds** of 86Box are now available (though 32-bit builds are still recommended on 64-bit systems due to the slight performance impact), as we have located and fixed bugs related to the 64-bit dynamic recompiler, which is required for x64 and ARM64 Linux distributions as well as macOS on Intel and Apple Silicon.
Our plan is to release the Linux and macOS version alongside a minor release in the not-so-distant future. For now, interested users can download experimental Linux builds from [Jenkins](https://ci.86box.net/job/86Box/), or use CMake to compile manually from the master branch on [our GitHub repository](https://github.com/86Box/86Box). The Jenkins builds and main GitHub repository currently have a barebones user interface developed by [**Cacodemon345**](https://github.com/Cacodemon345), with command line controls similar to QEMU's Monitor, requiring manual editing of `86box.cfg` to configure emulated machines.
{% include image.html url="/assets/images/v3.0/newui.png" description="Preliminary version of the new user interface on Linux and macOS. (courtesy of <a href='https://github.com/dob205'><b>dob205</b></a>)" %}
{% include imageheading.html url="/assets/images/v3.0/contributors.png" heading="Contributors" %}
An open source project is nothing without its contributors, so the 86Box development team would like to thank [all contributors](https://github.com/86Box/86Box/graphs/contributors) (and some outside GitHub) the project has had so far, who have made and will continue to make this emulator awesome.
We would also like to thank our **[Patreon supporters](https://www.patreon.com/86box)** and **[one-time donors](https://paypal.me/86Box)**. Consider supporting the development of 86Box through those methods.
*Image credits: [cpu-collection.de](http://www.cpu-collection.de/) (most CPUs), [ZyMOS @ Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Ic-photo-IBM--50G6950--1M16L45P5--\(386-CPU\).png) (IBM 486), [PLASMA online](http://www.plasma-online.de/) (chipsets)*

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB