---
layout: post
title: "PCem Migration Guide"
description: "Learn how to migrate your setups from PCem to 86Box."
authors: ["richardg867"]
image: "/assets/images/pcem-migration/hero.png"
---
{% include imageheading.html url="/assets/images/pcem-migration/hero.png" separator=" " %}
PCem users sometimes ask us about migrating their emulated setups to 86Box. While it is true that 86Box started out as a fork of PCem, we have since rewritten many components and made many additions, outgrowing our "fork" status. This post details all the differences between the two emulators that you have to keep in mind when migrating your setups to 86Box.
---
## Performance will be different
One aspect commonly used to compare PCem and 86Box is the emulation performance. There is indeed such a difference, but not everything is as black and white as it seems.
### The New Recompiler
PCem v15 introduced a rewritten dynamic recompiler, which was primarily aimed at improving emulation performance in games; however, it also caused minor to severe performance regressions in other applications. One example of a regressed application is the (ironically related to a game) **MapEdit** level editor for Wolfenstein 3D, which we measured to lose as much as **85%** emulation speed with the new recompiler on a relatively sensible Pentium 75 setup.
On **x86 host systems**, 86Box uses the **previous recompiler** from PCem versions before v15, with optimizations performed by us, as we have determined that the new one causes too many regressions to be adopted as a sensible default. There is a way for you to try out the new recompiler on 86Box, though: go to our [experimental builds page](/builds), find whatever build number you're using ([here's 8200](/builds#8200), the release build for v5.3) and download the **New Recompiler (beta)** variant that's right for your host operating system.
On the other hand, **ARM host systems** always use the new recompiler, as the old one has not received an ARM version. It's worth noting both recompiler variants for macOS are **universal binaries**; the old recompiler one automatically switches over to the new recompiler when running on Apple Silicon.
### Accuracy is slow
PCem's emulation of some core system components, such as the Programmable Interval Timer (PIT), takes a few shortcuts to improve performance. These shortcuts are perfectly fine for games, which is what PCem targets; although, they have caused issues with the software preservation side of things, as we found out with **Microsoft Word 1.0**, the **MR BIOS** and other old pieces of software.
In addition to taking fewer shortcuts, 86Box also tries to follow the specifications of these components, rather than implement the minimum viable feature set, which is - once again - good enough for games, but not good enough for some other applications. Generally speaking, the more accurate a component's emulation is made, the more host CPU horsepower it will require. There are certain limits to what's attainable to emulate (as an example, we don't handle CPU cache, as that is too complex [even for other non-PC emulators](https://dolphin-emu.org/blog/2017/02/01/dolphin-progress-report-january-2017/#50-2204-hack-to-protect-lower-mem1-from-malicious-game-code-by-booto "Our issues involved BIOS cache test errors on some machines")\), but we try to follow what's possible.
{: #cache}
---
## Machine manager
After years of requests, 86Box v5.0 finally brought a preview for a built-in manager, which allows you to keep and run multiple emulated machine configurations from one place. As with PCem, open 86Box directly to start the manager. You can also use [**Avalonia 86**](https://github.com/notBald/Avalonia86) or other manager applications developed by the community.
There is **no migration path** for configuration files, as the format is too different. You will have to reconfigure your emulated machine on 86Box, but that's a nice opportunity to double-check your configuration while also checking out our features. More on the differences between PCem and 86Box in the configuration department later.
---
## Machine list
86Box has most of the machines PCem emulates, though we have removed, renamed and/or recategorized some of them for various reasons. The table below (make sure to scroll down) provides a reference for **v5.3**.
| PCem name | 86Box category and name | Notes |
|-----------|-------------------------|-------|
| [8088] AMI XT clone | 8088:
[8088] AMI XT clone | |
| [8088] Atari PC3 | 8088:
[8088] Atari PC 3 | As with PCem, on-board devices such as the Atari bus mouse are not emulated. |
| [8088] Compaq Portable Plus | 8088:
[8088] Compaq Portable | |
| [8088] DTK XT clone | 8088:
[8088] DTK PIM-TB10-Z | |
| [8088] Generic XT clone | 8088:
[8088] Generic XT clone | |
| [8088] IBM PC | 8088:
[8088] IBM PC | The 1981 and 1982 variants differ in [BIOS versions and memory size limits](https://86box.readthedocs.io/en/v5.3/hardware/machinespecific.html#ibmpc). |
| [8088] IBM PCjr | 8088:
[8088] IBM PCjr | |
| [8088] IBM XT | 8088:
[8088] IBM XT | The 1982 and 1986 variants differ in [BIOS versions and memory size limits](https://86box.readthedocs.io/en/v5.3/hardware/machinespecific.html#ibmxt). |
| [8088] Juko XT clone | 8088:
[8088] Juko ST | |
| [8088] Leading Edge Model M | - | Not implemented yet. |
| [8088] NCR PC4i | 8088:
[8088] NCR PC4i | 86Box emulates the NCR Graphics Adapter (NGA) that went with this machine. |
| [8088] Phoenix XT clone | 8088:
[8088] Phoenix XT clone | |
| [8088] Schneider EuroPC | 8088:
[8088] Schneider EuroPC | |
| [8088] Tandy 1000 | 8088:
[8088] Tandy 1000 | |
| [8088] Tandy 1000 HX | 8088:
[8088] Tandy 1000 HX | |
| [8088] Thomson TO16 PC | 8088:
[8088] Thomson TO16 | |
| [8088] Toshiba T1000 | 8088:
[8088] Toshiba T1000 | |
| [8088] VTech Laser Turbo XT | 8088:
[8088] VTech Laser Turbo XT | |
| [8088] Xi8088 | 8088:
[8088] Xi8088 | |
| [8088] Zenith Data SupersPort | 8088: [8088]
Zenith Data Systems SupersPort |
| [8086] Amstrad PC1512 | 8086:
[8086] Amstrad PC1512 | |
| [8086] Amstrad PC1640 | 8086:
[8086] Amstrad PC1640 | |
| [8086] Amstrad PC2086 | 8086:
[8086] Amstrad PC2086 | |
| [8086] Amstrad PC3086 | 8086:
[8086] Amstrad PC3086 | |
| [8086] Amstrad PC5086 | 8086:
[8086] Amstrad PC5086 | |
| [8086] Amstrad PPC512/640 | 8086:
[8086] Amstrad PPC512/640 | |
| [8086] Compaq Deskpro | 8086:
[8086] Compaq Deskpro | |
| [8086] Olivetti M24 | 8086:
[8086] Olivetti M21/24/24SP | |
| [8086] Sinclair PC200 | 8086:
[8086] Amstrad PC20(0) | The Sinclair PC200 is a rebranded Amstrad PC20 with the same hardware. |
| [8086] Tandy 1000 SL/2 | 8086:
[8086] Tandy 1000 SL/2 | |
| [8088] Toshiba T1200 | 8086:
[8086] Toshiba T1200 | |
| [8086] VTech Laser XT3 | 8086:
[8086] VTech Laser XT3 | |
| [286] AMI 286 clone | 80286:
[NEAT] DataExpert 286 | |
| [286] Award 286 clone | 80286:
[SCAT] Hyundai Solomon 286KP | |
| [286] Bull Micral 45 | - | Not implemented yet. |
| [286] Commodore PC 30 III | 80286:
[ISA] Commodore PC 30 III | |
| [286] Compaq Portable II | 80286:
[ISA] Compaq Portable II | |
| [286] DELL System 200 | 80286:
[C&T PC/AT] Dell System 200 | |
| [286] Epson PC AX | - | Not implemented yet. |
| [286] Epson PC AX2e | - | Not implemented yet. |
| [286] Goldstar GDC-212M | 80286:
[SCAT] Goldstar GDC-212M | |
| [286] GW-286CT GEAR | 80286:
[SCAT] GW-286CT GEAR | |
| [286] Hyundai Super-286TR | 80286:
[SCAT] Hyundai Super-286TR | |
| [286] IBM AT | 80286:
[ISA] IBM AT | |
| [286] IBM PS/1 model 2011 | 80286:
[ISA] IBM PS/1 model 2011 | |
| [286] IBM PS/2 Model 30-286 | 80286:
[ISA] IBM PS/2 model 30-286 | |
| [286] IBM PS/2 Model 50 | 80286:
[MCA] IBM PS/2 model 50 | |
| [286] IBM XT Model 286 | 80286:
[ISA] IBM XT Model 286 | |
| [286] Samsung SPC-4200P | 80286:
[SCAT] Samsung SPC-4200P | |
| [286] Samsung SPC-4216P | 80286:
[SCAT] Samsung SPC-4216P | |
| [286] Samsung SPC-4620P | 80286:
[SCAT] Samsung SPC-4620P | |
| [286] Toshiba T3100e | 80286:
[ISA] Toshiba T3100e | |
| [286] Trigem 286M | 80286:
[GC103] TriGem 286M | |
| [286] Tulip AT Compact | 80286:
[C&T PC/AT] Tulip AT Compact | |
| [386SX] Acer 386SX25/N | i386SX:
[ALi M1409] Acer 100T | |
| [386SX] AMA-932J | i386SX:
[HT18] AMA-932J | |
| [386SX] AMI 386SX clone | - | Removed due to bugs and a lack of identification. |
| [386SX] Amstrad MegaPC | i386SX:
[WD76C10] Amstrad MegaPC | As with PCem, the integrated Mega Drive is not emulated. |
| [386SX] Commodore SL386SX-25 | i386SX:
[SCAMP] Commodore SL386SX-25 | |
| [386SX] DTK 386SX clone | i386SX:
[NEAT] DTK 386SX clone | |
| [386SX] Epson PC AX3 | - | Not implemented yet. |
| [386SX] IBM PS/1 model 2121 | i386SX:
[ISA] IBM PS/1 model 2121 | |
| [386SX] IBM PS/2 Model 55SX | i386SX:
[MCA] IBM PS/2 model 55SX | |
| [386SX] KMX-C-02 | i386SX:
[SCAT] KMX-C-02 | |
| [386SX] Packard Bell Legend 300SX | i386SX:
[ACC 2036] Packard Bell PB300/PB320 | |
| [386SX] Samsung SPC-6033P | i386SX:
[SCAMP] Samsung SPC-6033P | |
| [386DX] AMI 386DX clone | i386DX/i486:
[OPTi 495SX] DataExpert SX495 | 486 CPUs are also supported, like on the real motherboard. |
| [386DX] Compaq Deskpro 386 | i386DX:
[ISA] Compaq Deskpro 386 | |
| [386DX] ECS 386/32 | i386DX:
[C&T 386] ECS 386/32 | |
| [386DX] IBM PS/2 Model 70 (type 3) | i386DX:
[MCA] IBM PS/2 model 70 (type 3) | |
| [386DX] IBM PS/2 Model 80 | i386DX:
[MCA] IBM PS/2 model 80 (type 2) | The Type 3 is also available. |
| [386DX] MR 386DX clone | i386DX/i486: [OPTi 495SX]
DataExpert SX495 | MR BIOS selectable through the machine's **Configure** button. |
| [386DX] Samsung SPC-6000A | i386DX:
[C&T 386] Samsung SPC-6000A | |
| [486] AMI 486 clone | i486 (Socket 168 and 1):
[ALi M1429] Olystar LIL1429 | |
| [486] AMI WinBIOS 486 | i486 (Socket 2):
[ALi M1429G] Kaimei SA-486 | |
| [486] Award SiS 496/497 | i486 (Socket 3):
[SiS 496] Rise Computer R418 | Not an exact match. The R418 is closest in chipset, BIOS and feature set. |
| [486] Elonex PC-425X | - | BIOS is undumped, preventing us from implementing this machine. |
| [486] IBM PS/1 Model 2133 (EMEA 451) | - | Removed due to [cache abuse](#cache) by the BIOS diagnostics. |
| [486] IBM PS/2 Model 70 (type 4) | i486 (Socket 168 and 1):
[MCA] IBM PS/2 model 70 (type 4) | |
| [486] Packard Bell PB410A | i486 (Socket 2): [ACC 2168] Packard
Bell PB410/PB410A/PB420/PB420T | |
| [Socket 4] Intel Premiere/PCI | Socket 4:
[i430LX] Intel Premiere/PCI | |
| [Socket 4] Packard Bell PB520R | Socket 4:
[i430LX] Packard Bell Robin LC | |
| [Socket 5] Intel Advanced/EV | Socket 7 (Single Voltage):
[i430FX] Intel Advanced/EV | |
| [Socket 5] Intel Advanced/ZP | Socket 5:
[i430FX] Intel Advanced/ZP | |
| [Socket 5] Itautec Infoway Multimidia | - | OEM version of the Intel Advanced/ZP above, with an undumped BIOS. |
| [Socket 5] Packard Bell PB570 | - | Inaccurate spec sheets being investigated as of writing. |
| [Socket 7] ASUS P/I-P55TVP4 | Socket 7 (Dual Voltage):
[i430VX] ASUS P/I-P55TVP4 | See [PIIX southbridge mismatch](#piix-southbridge-mismatch). |
| [Socket 7] ASUS P/I-P55T2P4 | Socket 7 (Dual Voltage):
[i430HX] ASUS P/I-P55T2P4 | See [PIIX southbridge mismatch](#piix-southbridge-mismatch). |
| [Socket 7] Epox P55-VA | Socket 7 (Dual Voltage):
[i430VX] Epox P55-VA | See [PIIX southbridge mismatch](#piix-southbridge-mismatch). |
| [Socket 7] Shuttle HOT-557 | Socket 7 (Dual Voltage):
[i430VX] Shuttle HOT-557 | See [PIIX southbridge mismatch](#piix-southbridge-mismatch). |
| [Super 7] FIC VA-503+ | Super Socket 7:
[VIA MVP3] FIC VA-503+ | Not to be confused with the FIC VA-503**A**, which is a very different board. |
| [Socket 8] Intel VS440FX | Socket 8:
[i440FX] Intel VS440FX | See [PIIX southbridge mismatch](#piix-southbridge-mismatch). |
| [Slot 1] Gigabyte GA-686BX | Slot 1:
[i440BX] Gigabyte GA-686BX | |
{: .scroll .td2nowrap}