86Box

Last updated

86Box
Developer(s) Miran Grča (including contributors)
Initial release26 June 2016;8 years ago (2016-06-26)
Stable release
4.1.1 / 21 March 2024;4 months ago (2024-03-21)
Repository github.com/86Box/86Box/
Written in C, C++
Operating system Microsoft Windows, Linux, MacOS
Type Virtual machine, emulator
License GNU GPL version 2
Website 86box.net

86Box is an IBM PC emulator for Windows, Linux and Mac based on PCem that specializes in running old operating systems and software that are designed for IBM PC compatibles. Originally forked from PCem, it later added support for other IBM PC compatible computers as well.

Contents

Features

Hardware

The main goal of 86Box is to emulate various IBM PC compatible systems/motherboards from 1981 until 1999, which includes almost all IBM PC models (including the IBM PS/1 model 2121 and the IBM PS/2 model 2011) and supports IBM PC compatible systems/motherboards.

86Box is capable of emulating Intel processors (and its respective clones, including AMD, IDT and Cyrix) from Intel 8088 through the Pentium Tillamook MMX/Mobile MMX processors and Pentium Pro/Pentium II processors from 1997 until 1999. [1] A recompiler is mandatory for P5 Pentium and Cyrix processors and optional for i486 processors and IDT WinChip processors.

86Box can emulate different graphic modes, this includes text mode, Hercules, CGA (including some composite modes and the 160 × 100 × 16 tweaked modes), Tandy, EGA, VGA (including Mode X and other tweaks), VESA, as well as various video APIs such as DirectX and 3Dfx's Glide. 86Box can also emulate various video cards such as the ATI Mach64 GX and the S3 Trio32/64/Virge series. Voodoo cards are also emulated and added support for Voodoo 1/2/3 and various optimizations. A separate recompiler has been added for Voodoo emulation, making it faster to emulate the Voodoo graphics card.

86Box can emulates some sound cards, such as the AdLib, Sound Blaster (including the Game Blaster), Sound Blaster Pro, Sound Blaster 16, Sound Blaster AWE32, Gravis UltraSound, Innovation SSI-2001, Aztech Sound Galaxy Pro 16, Windows Sound System, Ensoniq AudioPCI 64V/ES1371, and Sound Blaster PCI 128.

86Box also emulates some SCSI cards, such as SCSI cards from BusLogic and Symbios Logic.

Operating system support

Similar to Virtual PC, Bochs and QEMU, 86Box emulates almost all versions of Microsoft Windows until Windows 7 (including Service Pack 1); MS-DOS, FreeDOS and CP/M-86 are also supported. Earlier versions of OS/2 requires the hard drive to be formatted prior to installation, while OS/2 Warp 3 until Warp 4.5 requires an unaccelerated video card to run. Other operating systems are also supported on 86Box, such as versions of Linux that supports the Pentium processor, BSD derivatives (e.g. FreeBSD), and BeOS 5, which only works on the Award SiS 497 motherboard.

Host operating system support

Initially exclusive to Windows, it was ported to Linux in version 3.2 [2] [3] and macOS in version 3.4. [4]

Manager

For easier handling of multiple virtual machines at the same time and the change of its parameters, it is recommended to use 86Box with a GUI manager application. Some of them are 86Box Manager, 86Box Manager Lite and WinBox for 86Box, all available as free software too.

History

PCem

PCem
Developer(s) Michael Manley (including contributors)
Initial release15 August 2007;16 years ago (2007-08-15)
Stable release
17 / 1 December 2020;3 years ago (2020-12-01)
Repository github.com/sarah-walker-pcem/pcem/
Written in C, C++
Operating system Microsoft Windows, Linux
Type Virtual machine, emulator
License GNU GPL version 2
Website pcem-emulator.co.uk/index.html

86Box began as a fork of PCem, another open-source IBM PC emulator. [5] PCem was originally developed by Sarah Walker from 2007 until her retirement from the project in 2021, at which point she named Michael Manley as the new project maintainer. [1] Like 86Box, PCem allows users to emulate PC compatibles across a range of x86 processors—from the Intel 8088 to the Pentium II—as well as the ability to emulate sound cards (such as the Sound Blaster 16) and GPUs (including 3D accelerators such as the S3 ViRGE). This versatility allows older PC software with complex hardware requirements to run accurately, in terms of clock speed and multimedia performance, on modern hardware. A benefit of 86Box over mainstream hosted hypervisors such as VirtualBox is the ability to run custom BIOS ROMs. This allows users to closely emulate specific PC compatibles, such as those by Compaq and Asus, among others. [6]

Reception

PCem has been used by archivists in academic settings to emulate older software for the purposes of displaying historical digital art. [7] Additionally, both PCem and 86Box have been used by Microsoft to test their archival source code for successful compilation. [8]

See also

Related Research Articles

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The BIOS firmware comes pre-installed on an IBM PC or IBM PC compatible's system board and exists in some UEFI-based systems to maintain compatibility with operating systems that do not support UEFI native operation. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

<span class="mw-page-title-main">Cyrix 6x86</span> Microprocessor

The Cyrix 6x86 is a line of sixth-generation, 32-bit x86 microprocessors designed and released by Cyrix in 1995. Cyrix, being a fabless company, had the chips manufactured by IBM and SGS-Thomson. The 6x86 was made as a direct competitor to Intel's Pentium microprocessor line, and was pin compatible. During the 6x86's development, the majority of applications performed almost entirely integer operations. The designers foresaw that future applications would most likely maintain this instruction focus. So, to optimize the chip's performance for what they believed to be the most likely application of the CPU, the integer execution resources received most of the transistor budget. This would later prove to be a strategic mistake, as the popularity of the P5 Pentium caused many software developers to hand-optimize code in assembly language, to take advantage of the P5 Pentium's tightly pipelined and lower latency FPU. For example, the highly anticipated first-person shooter Quake used highly optimized assembly code designed almost entirely around the P5 Pentium's FPU. As a result, the P5 Pentium significantly outperformed other CPUs in the game.

i486 Successor to the Intel 386

The Intel 486, officially named i486 and also known as 80486, is a microprocessor. It is a higher-performance follow-up to the Intel 386. The i486 was introduced in 1989. It represents the fourth generation of binary compatible CPUs following the 8086 of 1978, the Intel 80286 of 1982, and 1985's i386.

<span class="mw-page-title-main">PowerPC</span> RISC instruction set architecture by AIM alliance

PowerPC is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple–IBM–Motorola alliance, known as AIM. PowerPC, as an evolving instruction set, has been named Power ISA since 2006, while the old name lives on as a trademark for some implementations of Power Architecture–based processors.

x86 Family of instruction set architectures

x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. The 8086 was introduced in 1978 as a fully 16-bit extension of 8-bit Intel's 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486. Colloquially, their names were "186", "286", "386" and "486".

<span class="mw-page-title-main">IBM PC compatible</span> Computers similar to the IBM PC and its derivatives

IBM PC compatible computers are technically similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. The term "IBM PC compatible" is now a historical description only, since IBM no longer sells personal computers after it sold its personal computer division in 2005 to Chinese technology company Lenovo. The designation "PC", as used in much of personal computer history, has not meant "personal computer" generally, but rather an x86 computer capable of running the same software that a contemporary IBM PC could. The term was initially in contrast to the variety of home computer systems available in the early 1980s, such as the Apple II, TRS-80, and Commodore 64. Later, the term was primarily used in contrast to Apple's Macintosh computers.

Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit segmented memory address space and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

x86-64 64-bit version of x86 architecture

x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

<span class="mw-page-title-main">DOS memory management</span> Techniques employed to give applications access to more than 640 kibibytes

In IBM PC compatible computing, DOS memory management refers to software and techniques employed to give applications access to more than 640 kibibytes (KiB) of "conventional memory". The 640 KiB limit was specific to the IBM PC and close compatibles; other machines running MS-DOS had different limits, for example the Apricot PC could have up to 768 KiB and the Sirius Victor 9000, 896 KiB. Memory management on the IBM family was made complex by the need to maintain backward compatibility to the original PC design and real-mode DOS, while allowing computer users to take advantage of large amounts of low-cost memory and new generations of processors. Since DOS has given way to Microsoft Windows and other 32-bit operating systems not restricted by the original arbitrary 640 KiB limit of the IBM PC, managing the memory of a personal computer no longer requires the user to manually manipulate internal settings and parameters of the system.

<span class="mw-page-title-main">Hauppauge Computer Works</span> Company focusing on computer software

Hauppauge Computer Works is a US manufacturer and marketer of electronic video hardware for personal computers. Although it is most widely known for its WinTV line of TV tuner cards for PCs, Hauppauge also produces personal video recorders, digital video editors, digital media players, hybrid video recorders and digital television products for both Windows and Mac. The company is named after the hamlet of Hauppauge, New York, in which it is based.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one processor architecture to run on another.

Parallels Workstation is the first commercial software product released by Parallels, Inc., a developer of desktop and server virtualization software. The Workstation software comprises a virtual machine suite for Intel x86-compatible computers which allows the simultaneous creation and execution of multiple x86 virtual computers. They distributed the product as a download package. Parallels Workstation has been discontinued for Windows and Linux as of 2013.

In computing, Intel's Advanced Programmable Interrupt Controller (APIC) is a family of programmable interrupt controllers. As its name suggests, the APIC is more advanced than Intel's 8259 Programmable Interrupt Controller (PIC), particularly enabling the construction of multiprocessor systems. It is one of several architectural designs intended to solve interrupt routing efficiency issues in multiprocessor computer systems.

<span class="mw-page-title-main">MediaGX</span> Series of x86-compatible processor

The MediaGX CPU is an x86-compatible processor that was designed by Cyrix and manufactured by National Semiconductor following the two companies' merger. It was introduced in 1997. The core is based on the integration of the Cyrix Cx5x86 CPU core with hardware to process video and audio output. Following the buyout of Cyrix by National Semiconductor and the sale of the Cyrix name and trademarks to VIA Technologies, the core was developed by National Semiconductor into the Geode line of processors, which was subsequently sold to Advanced Micro Devices.

Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM-compatible mainframes which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much electricity or floor space. However, they sacrificed performance and were not as dependable as mainframe-class hardware. These products have been popular with mainframe developers, in education and training settings, for very small companies with non-critical processing, and in certain disaster relief roles.

The Amiga computer can be used to emulate several other computer platforms, including legacy platforms such as the Commodore 64, and its contemporary rivals such as the IBM PC and the Macintosh.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

References

  1. 1 2 Bailey, Dustin (14 December 2021). "Two years later, PC emulator 86Box gets its 3.0 update with Pentium II support". PCGamesN. Publisher Collective. Archived from the original on 14 December 2021.
  2. Rizwan, Amaan (16 December 2021). "86Box Receives a Major Update After Two Years with Major Changes". EmulatorClub. Archived from the original on 21 May 2024.
  3. Dawe, Liam (17 February 2022). "Retro x86-based machine emulator 86Box v3.2 brings Linux support". GamingOnLinux. Archived from the original on 1 June 2024.
  4. "86Box v3.4". 86Box. 20 April 2022. Retrieved 26 December 2022.
  5. Manley, Michael; Sarah Walker (n.d.). "News". PCem. Archived from the original on 29 May 2024.
  6. Pounder, Les (21 May 2023). "From 8088 to Pentium: How to Emulate an Old PC Using PCem". Tom's Hardware. Future plc. Archived from the original on 21 May 2023.
  7. Colloton, Eddy; Jonathan Farbowitz; Caroline Gil Rodríguez (2022). "Disk Imaging as a Backup Tool for Digital Objects". Conservation of Time-Based Media Art. pp. 204–222. doi:10.4324/9781003034865-17. ISBN   9781003034865.
  8. Edser, Andy (26 April 2024). "Microsoft has released the source code for MS-DOS 4.0 and it's giving me all the nostalgia feels". PC Gamer. Future plc. Archived from the original on 26 April 2024.