Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
P

pcem

> 编程语言
Open source

PCem

1.9K stars0 likes0 views
WebsiteGitHub

About

PCem

PCem

Download: Windows/Linux/vNext (Wise Global Solutions Mirror)

Latest version: v17 Changelog

PCem is licensed under GPL v2.0, see COPYING for more details.

You can submit patches on our forum. Before you do, please note the guidelines for submitting patches.

:exclamation: Note: NO COPYRIGHTED ROM FILES ARE INCLUDED NOR WILL THEY BE. PLEASE DO NOT ASK FOR THEM.

BSD and Linux supplement

You will need the following libraries and buildtools (and their dependencies):

  • SDL2
  • wxWidgets 3.x
  • OpenAL
  • CMake
  • Ninja (Recommended, but you can use a Makefile generator if you prefer)
  • CLang Toolchain

Open a terminal window, navigate to the PCem directory, create a build directory, then enter in that build directory:

Linux/BSD

cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release ..
ninja

then ./src/pcem to run.

BIOS ROM images, configuration files, and other data are stored in ~/.pcem. You can also create a .pcem folder with the Binary, and run it in a portable mode.

The configure options are specified below. They are in the format of -DOption=Value. Value under here is the default value.

…

If you are using -DCMAKE_BUILD_TYPE=Debug, there are some more debug options you can enable if needed

  -DPCEM_SLIRP_DEBUG=OFF           : Build PCem with SLIRP_DEBUG debug output
  -DPCEM_RECOMPILER_DEBUG=OFF      : Build PCem with RECOMPILER_DEBUG debug output
  -DPCEM_NE2000_DEBUG=OFF          : Build PCem with NE2000_DEBUG debug output
  -DPCEM_EMU8K_DEBUG_REGISTERS=OFF : Build PCem with EMU8K_DEBUG_REGISTERS debug output
  -DPCEM_SB_DSP_RECORD_DEBUG=OFF   : Build PCem with SB_DSP_RECORD_DEBUG debug output
  -DPCEM_MACH64_DEBUG=OFF          : Build PCem with MACH64_DEBUG debug output
  -DPCEM_DEBUG_EXTRA=OFF           : Build PCem with DEBUG_EXTRA debug output

If you are using -DCMAKE_BUILD_TYPE=RelWithDebInfo, there are additional options you can do

  -DPCEM_RELDEB_AS_RELEASE=ON     : Builds RelWithDebInfo with debugging logging enabled when this is off

They are some extra modules you can add if you build with -DUSE_EXPERIMENTAL=ON. These modules are untested. incomplete, and may or may not be in a future build of PCem. We do not provide builds with these enabled as well. It is also possible they may not even build.

  -DUSE_EXPERIMENTAL_PGC=ON       : Build PCem with Professional Graphics Controller support.
  -DUSE_EXPERIMENTAL_PRINTER=ON   : Build PCem with Printer support. Requires freetype.

The menu is a pop-up menu in the Linux/BSD port. Right-click on the main window when mouse is not captured.

CD-ROM support currently only accesses /dev/cdrom. It has not been heavily tested.

On Windows, if you want to use PCAP networking, you will need to install npcap and replace the libpcap.dll in PCem dir using the wpcap.dll installed in C:\Windows\System32

Links

PCem emulates the following hardware:

Hardware Links
Systems 8088
8086
286
386
486
Pentium
Super Socket 7
Graphics Basic
Unaccelerated (S)VGA cards
2D accelerated SVGA cards
3D accelerated SVGA cards
3D only cards
Sound Cards
HDD Controller Cards
Misc Cards

Software Tested (list)

  • DOS
  • Windows
  • Windows NT
  • OS/2
  • Linux
  • Applications
  • Games
  • Demos
  • Emulators

Systems

8088 based

Release Machine ROM file needed
(within ./roms/ folder)
1981 IBM PC
8088 at 4.77 MHz
16KB - 640KB RAM (min. 64KB)
ibmpc/pc102782.bin
ibmpc/basicc11.f6
ibmpc/basicc11.f8
ibmpc/basicc11.fa
ibmpc/basicc11.fc
1983 Compaq Portable Plus
8088 at 4.77 MHz
128KB - 640KB RAM
compaq_pip/Compaq Portable Plus 100666-001 Rev C.bin
1983 IBM XT
8088 at 4.77 MHz
64KB - 640KB RAM
ibmxt/5000027.u19
ibmxt/1501512.u18
1983 Leading Edge Model M
8088 at 7.16 MHz
128KB - 704KB RAM
leadingedge_modelm/Leading Edge - Model M - BIOS ROM - Version 4.71.bin
1984 IBM PCjr [5]
8088 at 4.77 MHz
64KB - 640KB RAM (min. 128KB)
Built-in 16 colour graphics
3 voice sound
Not generally PC compatible.
ibmpcjr/bios.rom
1984 Tandy 1000 [5]
8088 at 4.77 MHz
128KB - 640KB RAM
Built-in 16 colour graphics
3 voice sound
tandy/tandy1t1.020
1985 Commodore PC10
8088 at 4.77 MHz
640KB RAM CGA/Monochrome
cbm_pc10/cbm-pc10c-bios-v4.41-318085-08.bin
1985 NCR PC4i
8088 at 4.77 MHz
256KB - 640KB RAM
ncr_pc4i/NCR_PC4i_BIOSROM_1985.BIN
1986 DTK Clone XT
8088 at 8/10 MHz
64KB - 640KB RAM
dtk/dtk_erso_2.42_2764.bin
1986 Phoenix XT clone
8088 at 8/10 MHz
64KB - 640KB RAM
pxxt/000p001.bin
1987 Hyundai Super 16T
8088/8087 at 4.77/8.0 MHz
640KB RAM
EGA 16 colour graphics
super16t/hyundai-super-16t-system-bios-hea-v1.12ta.bin
1987 Tandy 1000HX
8088 at 7.16 MHz
256KB - 640KB RAM
Built-in 16 colour graphics
3 voice sound
Has DOS 2.11 in ROM
tandy1000hx/v020000.u12
1987 Thomson TO16 PC
8088 at 9.54 MHz
512KB - 640KB RAM
to16_pc/TO16_103.bin
1987 Toshiba T1000 [1] [5]
8088 at 4.77 MHz
512KB - 1024KB RAM
CGA on built-in LCD
t1000/t1000.rom
t1000/t1000font.rom
1987 VTech Laser Turbo XT
8088 at 10 MHz
640KB RAM
ltxt/27c64.bin
1987 Zenith Data SupersPort
8088 at 8 MHz
128KB - 640KB RAM
Built-in LCD video is not currently emulated
zdsupers/z184m v3.1d.10d
1988? ©Anonymous Generic Turbo XT BIOS
8088 at 8+ MHz
64KB - 640KB RAM
genxt/pcxt.rom
1988 Atari PC3
8088 at 8 MHz
640KB RAM
ataripc3/AWARD_ATARI_PC_BIOS_3.08.BIN
1988 Juko XT clone jukopc/000o001.bin
1988 Schneider Euro PC
8088 at 9.54 MHz
512KB - 640KB RAM
europc/50145
europc/50146
1989 AMI XT clone
8088 at 8+ MHz
64KB - 640KB RAM
amixt/ami_8088_bios_31jan89.bin
1989 Hyundai Super 16TE
8088/8087 at 10 MHz
640KB RAM
EGA 16 colour graphics
super16te/hyundai-super-16te-system-bios-v2.00id.bin
2015 Xi8088
8088 at 4.77-13.33 MHz
640KB RAM
xi8088/bios-xi8088.bin

8086 based

Release Machine ROM file needed
(within ./roms/ folder)
1984 Compaq Deskpro
8086 at 8 MHz
128KB - 640KB RAM
deskpro/Compaq - BIOS - Revision J - 106265-002.bin
1984 Olivetti M24 [5]
8086 at 8 MHz
128KB - 640KB RAM
Built-in enhanced CGA (supports 640x400x2)
olivetti_m24/olivetti_m24_version_1.43_low.bin
olivetti_m24/olivetti_m24_version_1.43_high.bin
1986 Amstrad PC1512 [5]
8086 at 8 MHz
512KB - 640KB RAM
Enhanced CGA (supports 640x200x16)
Custom mouse port
pc1512/40043.v1
pc1512/40044.v2
pc1512/40078.ic127
1987 Amstrad PC1640 [5]
8086 at 8 MHz
640KB RAM
Built-in Paradise EGA
Custom mouse port
pc1640/40043.v3
pc1640/40044.v3
pc1640/40100
1987 Toshiba T1200 [1] [5]
8086 at 9.54 MHz
1MB - 2MB RAM
CGA on built-in LCD
t1200/t1200_019e.ic15.bin
t1200/t1000font.rom
1988 Amstrad PPC512/640 [5]
8086 at 8 MHz
512KB - 640KB RAM
Built-in CGA w/ plasma display
ppc512/40107.v2
ppc512/40108.v2
ppc512/40109.bin
1988 Sinclair PC200/Amstrad PC20 [5]
8086 at 8 MHz
512KB - 640KB RAM
Built-in CGA (supports TV-out 50hz PAL)
pc200/pc20v2.0
pc200/pc20v2.1
pc200/40109.bin
1988 VTech Laser XT3
8086 at 10 MHz
512KB - 1152KB RAM
lxt3/27c64d.bin
1989 Amstrad PC2086 [5]
8086 at 8 MHz
640KB RAM
Built-in VGA
pc2086/40179.ic129
pc2086/40180.ic132
pc2086/40186.ic171
1989 Tandy 1000SL/2 [5]
8086 at 9.54 MHz
512KB - 768KB RAM
Built-in 16 colour graphics
4 voice sound
tandy1000sl2/8079047.hu1
tandy1000sl2/8079048.hu2
1990 Amstrad PC3086 [5]
8086 at 8 MHz
640KB RAM
Built-in VGA
pc3086/fc00.bin
pc3086/c000.bin
1991 Amstrad PC5086
8086 at 8 MHz
640KB RAM
pc5086/sys_rom.bin

286 based

Release Machine ROM file needed
(within ./roms/ folder)
1984 IBM AT
286 at 6 or 8 MHz
256KB - 16MB RAM
ibmat/at111585.0
ibmat/at111585.1
1986 Compaq Portable II
286 at 8 MHz
256KB - 15MB RAM
compaq_pii/109739-001.rom
compaq_pii/109740-001.rom
1986 IBM XT Model 286
286 at 6 MHz
256KB - 16MB RAM
ibmxt286/BIOS_5162_21APR86_U34_78X7460_27256.BIN
ibmxt286/BIOS_5162_21APR86_U35_78X7461_27256.BIN
1986 Toshiba T3100e [1] [5]
286 at 12 MHz
1MB - 5MB RAM
CGA on gas-plasma display
t3100e/t3100e_font.bin
t3100e/t3100e.rom
1987 IBM PS/2 Model 50 [5]
286 at 10 MHz
1MB - 16MB RAM
Built-in VGA
MCA bus
i8550021/90x7420.zm13
i8550021/90x7423.zm14
i8550021/90x7426.zm16
i8550021/90x7429.zm18
1988 Bull Micral 45
286 at 12 MHz
1MB - 6MB RAM
bull_micral_45/even.fil
bull_micral_45/odd.fil
1988 Commodore PC30-III
286 at 12 MHz
512KB - 16MB RAM
cmdpc30/commodore pc 30 iii even.bin
cmdpc30/commodore pc 30 iii odd.bin
1988 IBM PS/2 Model 30-286
286 at 10 MHz
1MB - 16MB RAM
Built-in VGA
MCA bus
ibmps2_m30_286/33f5381a.bin
1989 Epson PC AX
286
256KB - 16MB RAM
epson_pcax/EVAX
epson_pcax/ODAX
1989 Epson PC AX2e
286 at 12 MHz
256KB - 16MB RAM
epson_pcax2e/EVAX
epson_pcax2e/ODAX
1990 AMI 286 clone
286 at 8+ MHz
512KB - 16MB RAM
ami286/amic206.bin
1990 Award 286 clone
286 at 8+ MHz
512KB - 16MB RAM
award286/award.bin
1990 Dell System 200
286 at 12 MHz
640KB - 16MB RAM
dells200/dell0.bin
dells200/dell1.bin
1990 IBM PS/1 Model 2011 [5]
286 at 10 MHz
512KB - 16MB RAM
Built-in VGA
DOS 4.01 + GUI menu system in ROM
ibmps1/f80000.bin
? Goldstar GDC-212M
286 at 12 MHz
512KB - 4MB RAM
gdc212m/gdc212m_72h.bin
? GW-286CT GEAR
286 at 8+ MHz
512KB - 16MB RAM
gw286ct/2ctc001.bin
? Hyundai Super-286TR
286 at 12 MHz
1MB - 4MB RAM
super286tr/award.bin
? Samsung SPC-4200P
286 at 12 MHz
512KB - 2MB RAM
spc4200p/u8.01
? Samsung SPC-4216P
286 at 12 MHz
1MB - 5MB RAM
spc4216p/phoenix.bin
   or
spc4216p/7101.u8
spc4216p/ac64.u10
? Samsung SPC-4620P
286 at 12

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言