# vpc **Repository Path**: sean537/vpc ## Basic Information - **Project Name**: vpc - **Description**: No description available - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-11 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [VPC](https://www.ithink537.top) ![测试调试构建](https://github.com/Sean537/vpc/actions/workflows/test-debug-builds.yml/badge.svg) ![测试发布构建](https://github.com/Sean537/vpc/actions/workflows/test-release-builds.yml/badge.svg) VPC 是一个基于 [VPC](https://github.com/sarah-walker-pcem/pcem) 的模拟器。 当前版本: v1.0.0 [更新日志](CHANGELOG.md) VPC 使用 GPL v2.0 许可证发布,详情请参见 [COPYING](COPYING)。 :exclamation: 注意: 本项目不包含任何受版权保护的ROM文件,将来也不会包含。请不要索要这些文件。 ## BSD 和 Linux 补充说明 你需要以下库和构建工具(以及它们的依赖): - SDL2 - wxWidgets 3.x - OpenAL - CMake - Ninja(推荐使用,但如果你喜欢也可以使用Makefile生成器) 打开终端窗口,导航到VPC目录,然后输入: ### Linux/BSD ```bash cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release . ninja ``` ### Windows (MSYS2) ```bash cmake -G "Ninja" -DMSYS=TRUE -DCMAKE_BUILD_TYPE=Release . ninja ``` 然后运行 `./src/pcem` 启动程序。 Linux/BSD 版本会将 BIOS ROM 镜像、配置文件和其他数据存储在 `~/.vpc` 目录中。 你可以使用 `-DVPC_DISPLAY_ENGINE=` 指定显示引擎。目前唯一有效的选项是 wxWidgets。 下面列出了配置选项。它们的格式为 -D`选项`=`值`。这里列出的`值`是默认值。 ``` -DCMAKE_BUILD_TYPE=Release : 生成发布版本。推荐日常使用。 -DCMAKE_BUILD_TYPE=Debug : 启用调试功能编译。 -DUSE_NETWORKING=ON : 构建时包含网络支持。 -DUSE_PCAP_NETWORKING=ON : 构建时包含pcap网络支持。(需要启用USE_NETWORKING才能编译)需要libpcap。 -DUSE_ALSA=OFF : 构建时包含通过ALSA输出MIDI的支持。需要libasound。(仅限Linux) -DFORCE_X11=ON : Enables a hack to force X11 on Wayland systems. See #128 for details. (Linux Only) -DPLUGIN_ENGINE=ON : 构建时包含插件支持。构建libvpc-plugin-api并将VPC与之链接。 ``` 如果你使用 -DCMAKE_BUILD_TYPE=Debug,以下是一些可以启用的额外调试选项: ``` -DVPC_SLIRP_DEBUG=OFF : 构建时包含SLIRP_DEBUG调试输出 -DVPC_RECOMPILER_DEBUG=OFF : 构建时包含RECOMPILER_DEBUG调试输出 -DVPC_NE2000_DEBUG=OFF : 构建时包含NE2000_DEBUG调试输出 -DVPC_EMU8K_DEBUG_REGISTERS=OFF : 构建时包含EMU8K_DEBUG_REGISTERS调试输出 -DVPC_SB_DSP_RECORD_DEBUG=OFF : 构建时包含SB_DSP_RECORD_DEBUG调试输出 -DVPC_MACH64_DEBUG=OFF : 构建时包含MACH64_DEBUG调试输出 -DVPC_DEBUG_EXTRA=OFF : 构建时包含DEBUG_EXTRA调试输出 ``` 如果你使用 -DCMAKE_BUILD_TYPE=RelWithDebInfo,还有以下附加选项: ``` -DVPC_RELDEB_AS_RELEASE=ON : 当此选项关闭时,RelWithDebInfo构建会启用调试日志 ``` 如果使用 `-DUSE_EXPERIMENTAL=ON` 构建,你可以添加一些额外模块。这些模块未经测试, 不完整,可能会也可能不会出现在VPC的未来版本中。我们不提供启用这些模块的构建版本,因为 它们可能甚至无法编译成功。 ``` -DUSE_EXPERIMENTAL_PGC=ON : 构建时包含专业图形控制器支持。 -DUSE_EXPERIMENTAL_PRINTER=ON : 构建时包含打印机支持。需要freetype。 ``` 在Linux/BSD版本中,菜单是一个弹出式菜单。当鼠标未被捕获时,右键点击主窗口即可调出。 CD-ROM支持目前只能访问 `/dev/cdrom`。这个功能尚未经过充分测试。 ## 链接 ### VPC模拟的硬件 硬件类型 | 链接 --- | --- 系统 | [8088](#8088-based)
[8086](#8086-based)
[286](#286-based)
[386](#386-based)
[486](#486-based)
[Pentium](#pentium-based)
[Super Socket 7](#super-socket-7-based) 显卡 | [基础显卡](#basic-cards)
[无加速(S)VGA卡](#unaccelerated-svga-cards)
[2D加速SVGA卡](#2d-accelerated-svga-cards)
[3D加速SVGA卡](#3d-accelerated-svga-cards)
[仅3D显卡](#3d-only-cards) 声卡 | [声卡列表](#sound-cards) 硬盘控制器 | [控制器列表](#hdd-controller-cards) 其他 | [其他设备](#misc-cards) ### [已测试软件](TESTED.md) (列表) - [DOS系统](TESTED.md#dos) - [Windows系统](TESTED.md#windows) - [Windows NT系统](TESTED.md#windows-nt) - [OS/2系统](TESTED.md#os2) - [Linux系统](TESTED.md#linux) - [应用程序](TESTED.md#applications) - [游戏](TESTED.md#games) - [演示程序](TESTED.md#demos) - [模拟器](TESTED.md#emulators) --- ## 系统 ### 基于8088处理器的系统 发布年份 | 机型 | 所需ROM文件
(位于./roms/目录) :-: | --- | --- 1981 | IBM PC
8088处理器,4.77 MHz
16KB - 640KB内存(最少64KB) | ibmpc/pc102782.bin
ibmpc/basicc11.f6
ibmpc/basicc11.f8
ibmpc/basicc11.fa
ibmpc/basicc11.fc 1983 | Compaq Portable Plus
8088处理器,4.77 MHz
128KB - 640KB内存 | compaq_pip/Compaq Portable Plus 100666-001 Rev C.bin 1983 | IBM XT
8088处理器,4.77 MHz
64KB - 640KB内存 | ibmxt/5000027.u19
ibmxt/1501512.u18 1983 | Leading Edge Model M
8088处理器,7.16 MHz
128KB - 704KB内存 | leadingedge_modelm/Leading Edge - Model M - BIOS ROM - Version 4.71.bin 1984 | IBM PCjr [[5]](#system-note-5)
8088处理器,4.77 MHz
64KB - 640KB内存(最少128KB)
内置16色图形
3声道声音
通常不兼容PC | ibmpcjr/bios.rom 1984 | Tandy 1000 [[5]](#system-note-5)
8088处理器,4.77 MHz
128KB - 640KB内存
内置16色图形
3声道声音 | tandy/tandy1t1.020 1985 | Commodore PC10
8088处理器,4.77 MHz
640KB内存 CGA/单色显示 | cbm_pc10/cbm-pc10c-bios-v4.41-318085-08.bin 1985 | NCR PC4i
8088处理器,4.77 MHz
256KB - 640KB内存 | ncr_pc4i/NCR_PC4i_BIOSROM_1985.BIN 1986 | DTK Clone XT
8088处理器,8/10 MHz
64KB - 640KB内存 | dtk/dtk_erso_2.42_2764.bin 1986 | Phoenix XT clone
8088处理器,8/10 MHz
64KB - 640KB内存 | pxxt/000p001.bin 1987 | Hyundai Super 16T
8088/8087处理器,4.77/8.0 MHz
640KB内存
EGA 16色图形
| super16t/hyundai-super-16t-system-bios-hea-v1.12ta.bin 1987 | Tandy 1000HX
8088处理器,7.16 MHz
256KB - 640KB内存
内置16色图形
3声道声音
ROM中内置DOS 2.11 | tandy1000hx/v020000.u12 1987 | Thomson TO16 PC
8088处理器,9.54 MHz
512KB - 640KB内存 | to16_pc/TO16_103.bin 1987 | Toshiba T1000 [[1]](#system-note-1) [[5]](#system-note-5)
8088处理器,4.77 MHz
512KB - 1024KB内存
内置LCD的CGA显示 | t1000/t1000.rom
t1000/t1000font.rom 1987 | VTech Laser Turbo XT
8088处理器,10 MHz
640KB内存 | ltxt/27c64.bin 1987 | Zenith Data SupersPort
8088处理器,8 MHz
128KB - 640KB内存
内置LCD显示当前尚未模拟 | zdsupers/z184m v3.1d.10d 1988? | ©Anonymous Generic Turbo XT BIOS
8088处理器,8+ MHz
64KB - 640KB内存 | genxt/pcxt.rom 1988 | Atari PC3
8088处理器,8 MHz
640KB内存 | ataripc3/AWARD_ATARI_PC_BIOS_3.08.BIN 1988 | Juko XT clone | jukopc/000o001.bin 1988 | Schneider Euro PC
8088处理器,9.54 MHz
512KB - 640KB内存 | europc/50145
europc/50146 1989 | AMI XT clone
8088处理器,8+ MHz
64KB - 640KB内存 | amixt/ami_8088_bios_31jan89.bin 1989 | Hyundai Super 16TE
8088/8087处理器,10 MHz
640KB内存
EGA 16色图形
| super16te/hyundai-super-16te-system-bios-v2.00id.bin 2015 | Xi8088
8088处理器,4.77-13.33 MHz
640KB内存 | xi8088/bios-xi8088.bin ### 基于8086处理器的系统 发布年份 | 机型 | 所需ROM文件
(位于./roms/目录) :-: | --- | --- 1984 | Compaq Deskpro
8086处理器,8 MHz
128KB - 640KB内存 | deskpro/Compaq - BIOS - Revision J - 106265-002.bin 1984 | Olivetti M24 [[5]](#system-note-5)
8086处理器,8 MHz
128KB - 640KB内存
内置增强型CGA(支持640x400x2) | olivetti_m24/olivetti_m24_version_1.43_low.bin
olivetti_m24/olivetti_m24_version_1.43_high.bin 1986 | Amstrad PC1512 [[5]](#system-note-5)
8086处理器,8 MHz
512KB - 640KB内存
增强型CGA(支持640x200x16)
自定义鼠标接口 | pc1512/40043.v1
pc1512/40044.v2
pc1512/40078.ic127 1987 | Amstrad PC1640 [[5]](#system-note-5)
8086处理器,8 MHz
640KB内存
内置Paradise EGA
自定义鼠标接口 | pc1640/40043.v3
pc1640/40044.v3
pc1640/40100 1987 | Toshiba T1200 [[1]](#system-note-1) [[5]](#system-note-5)
8086处理器,9.54 MHz
1MB - 2MB内存
内置LCD上的CGA显示 | t1200/t1200_019e.ic15.bin
t1200/t1000font.rom 1988 | Amstrad PPC512/640 [[5]](#system-note-5)
8086处理器,8 MHz
512KB - 640KB内存
内置等离子显示屏的CGA | ppc512/40107.v2
ppc512/40108.v2
ppc512/40109.bin 1988 | Sinclair PC200/Amstrad PC20 [[5]](#system-note-5)
8086处理器,8 MHz
512KB - 640KB内存
内置CGA(支持50Hz PAL电视输出) | pc200/pc20v2.0
pc200/pc20v2.1
pc200/40109.bin 1988 | VTech Laser XT3
8086处理器,10 MHz
512KB - 1152KB内存 | lxt3/27c64d.bin 1989 | Amstrad PC2086 [[5]](#system-note-5)
8086处理器,8 MHz
640KB内存
内置VGA | pc2086/40179.ic129
pc2086/40180.ic132
pc2086/40186.ic171 1989 | Tandy 1000SL/2 [[5]](#system-note-5)
8086处理器,9.54 MHz
512KB - 768KB内存
内置16色图形
4声道声音 | tandy1000sl2/8079047.hu1
tandy1000sl2/8079048.hu2 1990 | Amstrad PC3086 [[5]](#system-note-5)
8086处理器,8 MHz
640KB内存
内置VGA | pc3086/fc00.bin
pc3086/c000.bin 1991 | Amstrad PC5086
8086处理器,8 MHz
640KB内存 | pc5086/sys_rom.bin ### 基于286处理器的系统 发布年份 | 机型 | 所需ROM文件
(位于./roms/目录) :-: | --- | --- 1984 | IBM AT
286处理器,6或8 MHz
256KB - 16MB内存 | ibmat/at111585.0
ibmat/at111585.1 1986 | Compaq Portable II
286处理器,8 MHz
256KB - 15MB内存 | compaq_pii/109739-001.rom
compaq_pii/109740-001.rom 1986 | IBM XT Model 286
286处理器,6 MHz
256KB - 16MB内存 | ibmxt286/BIOS_5162_21APR86_U34_78X7460_27256.BIN
ibmxt286/BIOS_5162_21APR86_U35_78X7461_27256.BIN 1986 | Toshiba T3100e [[1]](#system-note-1) [[5]](#system-note-5)
286处理器,12 MHz
1MB - 5MB内存
气体等离子显示屏上的CGA显示 | t3100e/t3100e_font.bin
t3100e/t3100e.rom 1987 | IBM PS/2 Model 50 [[5]](#system-note-5)
286处理器,10 MHz
1MB - 16MB内存
内置VGA
MCA总线 | i8550021/90x7420.zm13
i8550021/90x7423.zm14
i8550021/90x7426.zm16
i8550021/90x7429.zm18 1988 | Bull Micral 45
286处理器,12 MHz
1MB - 6MB内存 | bull_micral_45/even.fil
bull_micral_45/odd.fil 1988 | Commodore PC30-III
286处理器,12 MHz
512KB - 16MB内存 | cmdpc30/commodore pc 30 iii even.bin
cmdpc30/commodore pc 30 iii odd.bin 1988 | IBM PS/2 Model 30-286
286处理器,10 MHz
1MB - 16MB内存
内置VGA
MCA总线 | ibmps2_m30_286/33f5381a.bin 1989 | Epson PC AX
286处理器
256KB - 16MB内存 | epson_pcax/EVAX
epson_pcax/ODAX 1989 | Epson PC AX2e
286处理器,12 MHz
256KB - 16MB内存 | epson_pcax2e/EVAX
epson_pcax2e/ODAX 1990 | AMI 286 clone
286处理器,8+ MHz
512KB - 16MB内存 | ami286/amic206.bin 1990 | Award 286 clone
286处理器,8+ MHz
512KB - 16MB内存 | award286/award.bin 1990 | Dell System 200
286处理器,12 MHz
640KB - 16MB内存 | dells200/dell0.bin
dells200/dell1.bin 1990 | IBM PS/1 Model 2011 [[5]](#system-note-5)
286处理器,10 MHz
512KB - 16MB内存
内置VGA
ROM中内置DOS 4.01 + GUI菜单系统 | ibmps1/f80000.bin ? | Goldstar GDC-212M
286处理器,12 MHz
512KB - 4MB内存 | gdc212m/gdc212m_72h.bin ? | GW-286CT GEAR
286处理器,8+ MHz
512KB - 16MB内存 | gw286ct/2ctc001.bin ? | Hyundai Super-286TR
286处理器,12 MHz
1MB - 4MB内存 | super286tr/award.bin ? | Samsung SPC-4200P
286处理器,12 MHz
512KB - 2MB内存 | spc4200p/u8.01 ? | Samsung SPC-4216P
286处理器,12 MHz
1MB - 5MB内存 | spc4216p/phoenix.bin
   
spc4216p/7101.u8
spc4216p/ac64.u10 ? | Samsung SPC-4620P
286处理器,12 MHz
1MB - 5MB内存
内置韩文ATI-28800 | spc4620p/31005h.u8
spc4620p/31005h.u10
spc4620p/svb6120a_font.rom
spc4620p/31005h.u8
spc4620p/31005h.u10 ? | Tulip AT Compact
286处理器
640KB - 16MB内存 | tulip_tc7/tc7be.bin
tulip_tc7/tc7bo.bin ### 基于386处理器的系统 发布年份 | 机型 | 所需ROM文件
(位于./roms/目录) :-: | --- | --- 1987 | IBM PS/2 Model 80 [[5]](#system-note-5)
386DX处理器,20 MHz
1MB - 12MB内存
内置VGA
MCA总线 | i8580111/15f6637.bin
i8580111/15f6639.bin 1988 | ECS 386/32
386DX处理器,20 MHz
1MB - 16MB内存 | ecs386_32/386_32_even.bin
ecs386_32/386_32_odd.bin 1989 | IBM PS/2 Model 70 (type 3) [[5]](#system-note-5)
386DX处理器,25 MHz
2MB - 16MB内存
内置VGA
MCA总线 | ibmps2_m70_type3/70-a_even.bin
ibmps2_m70_type3/70-a_odd.bin 1989 | Compaq Deskpro 386
386DX处理器,20 MHz
1MB - 15MB内存 | deskpro386/109592-005.u11.bin
deskpro386/109591-005.u13.bin 1989 | Epson PC AX3
386SX处理器,16 MHz
256KB - 16MB内存 | epson_pcax3/EVAX3
epson_pcax3/ODAX3 1989 | IBM PS/2 Model 55SX
386SX处理器,16 MHz
1MB - 8MB内存
内置VGA
MCA总线 | i8555081/33f8146.zm41
i8555081/33f8145.zm40 1990 | DTK 386SX clone
386SX处理器
512KB - 16MB内存 | dtk386/3cto001.bin 1990 | IBM PS/1 Model 2121 [[5]](#system-note-5)
386SX处理器,20 MHz
1MB - 16MB内存
内置VGA | ibmps1_2121/fc0000.bin 1990 | Samsung SPC-6000A
386DX处理器
1MB - 32MB内存 | spc6000a/3c80.u27
spc6000a/9f80.u26 1992 | Acermate 386SX/25N [[5]](#system-note-5)
386SX处理器,25 MHz
2MB - 16MB内存
内置Oak SVGA | acer386/acer386.bin
acer386/oti067.bin 1992 | Amstrad MegaPC [[2]](#system-note-2) [[5]](#system-note-5)
386SX处理器,25 MHz
1MB - 16MB内存
内置VGA
| megapc/41651-bios lo.u18
megapc/211253-bios hi.u19 1992 | Commodore SL386SX-25 [[5]](#system-note-5)
386SX处理器,25 MHz
1MB - 16MB内存
内置AVGA2 | cbm_sl386sx25/f000.bin
cbm_sl386sx25/c000.bin 1992 | Packard Bell Legend 300SX
386SX处理器,16 MHz
1MB - 16MB内存 | pb_l300sx/pb_l300sx.bin 1992 | Samsung SPC-6033P
386SX处理器,33 MHz
2MB - 12MB内存 | spc6033p/phoenix.bin
spc6033p/svb6120a_font.rom 1994 | AMI 386DX clone
386DX处理器,40 MHz
1MB - 32MB内存 | ami386dx/opt495sx.ami 1994 | AMI 386SX clone
386SX处理器,25 MHz
1MB - 16MB内存 | ami386/ami386.bin 1994 | MR 386DX clone
通用386DX克隆机,搭载MR BIOS | mr386dx/opt495sx.mr ? | KMX-C-02
386SX处理器
512KB - 16MB内存 | kmxc02/3ctm005.bin ### 基于486的系统 发布年份 | 机器型号
(及附加硬件) | 支持的CPU | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | --- 1990 | IBM PS/2 Model 70 (type 4) [[3]](#system-note-3)
2MB - 16MB内存
内置VGA
MCA总线 | 486DX处理器,25 MHz | ibmps2_m70_type3/70-a_even.bin
ibmps2_m70_type3/70-a_odd.bin 1993 | AMI 486 clone
1MB - 32MB内存 | 486处理器,16-66 MHz | ami486/ami486.bin 1993 | Elonex PC-425X [[5]](#system-note-5)
1MB - 256MB内存
内置Trident TGUI9440CXi | 486SX处理器,25 MHz | elx_pc425x/elx_pc425x.bin
   
elx_pc425x/elx_pc425x_bios.bin
elx_pc425x/elx_pc425x_vbios.bin 1993 | IBM PS/1 Model 2133 (EMEA 451)
2MB - 64MB内存
内置Cirrus Logic GD5426 | 486SX处理器,25 MHz | ibmps1_2133/PS1_2133_52G2974_ROM.bin 1993 | Packard Bell PB410A [[5]](#system-note-5)
1MB - 64MB内存
内置HT-216显示芯片 | 486处理器,25-120 MHz
Am5x86处理器,133-160 MHz
Cx5x86处理器,100-133 MHz
Pentium Overdrive处理器,63-83 MHz | pb410a/PB410A.080337.4ABF.U25.bin 1994 | AMI WinBIOS 486 clone
1MB - 32MB内存 | 486处理器,16-66 MHz | win486/ali1429g.amw 1995 | Award SiS 496/497
1MB - 64MB内存 | 486处理器,16-120 MHz
Am5x86处理器,133-160 MHz
Cx5x86处理器,100-133 MHz
Pentium Overdrive处理器,63-83 MHz | sis496/sis496-1.awa ### 基于Pentium的系统 发布年份 | 机器型号
(及附加硬件) | 支持的CPU | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | --- 1994 | Intel Premiere/PCI (Batman's Revenge)
1MB - 128MB内存 | Pentium处理器,60-66 MHz
Pentium Overdrive处理器,120-133 MHz | revenge/1009af2_.bi0
revenge/1009af2_.bi1 1995 | Intel Advanced/EV (Endeavor) [[4]](#system-note-4)
1MB - 128MB内存 | Pentium处理器,75-133 MHz
Pentium Overdrive处理器,125-200 MHz | endeavor/1006cb0_.bi0
endeavor/1006cb0_.bi1 1995 | Intel Advanced/ZP (Zappa)
1MB - 128MB内存 | Pentium处理器,75-133 MHz
Pentium Overdrive处理器,125-200 MHz | zappa/1006bs0_.bio
zappa/1006bs0_.bi1 1995 | Packard Bell PB520R (Robin LC) [[5]](#system-note-5)
1MB - 128MB内存
内置Cirrus Logic GD-5434 | Pentium处理器,60-66 MHz
Pentium Overdrive处理器,120-133 MHz | pb520r/1009bc0r.bio
pb520r/1009bc0r.bi1
pb520r/gd5434.bin 1995 | Packard Bell PB570 (Hillary) [[5]](#system-note-5)
1MB - 128MB内存
内置Cirrus Logic GD-5430 | Pentium处理器,75-133 MHz
Pentium Overdrive处理器,125-200 MHz | pb570/1007by0r.bio
pb570/1007by0r.bi1
pb570/gd5430.bin 1996 | ASUS P/I-P55TVP4
1MB - 128MB内存 | Pentium处理器,75-200 MHz
Pentium MMX处理器,166-233 MHz
Mobile Pentium MMX处理器,120-300 MHz
Cyrix 6x86处理器,PR90(80 MHz)-PR200(200 MHz)
Cyrix 6x86MX/MII处理器,PR166(133 MHz)-PR400(285 MHz)
IDT WinChip处理器,75-240 MHz
IDT Winchip 2处理器,200-240 MHz
IDT Winchip 2A处理器,200-233 MHz
AMD K6处理器,166-300 MHz
AMD K6-2处理器(AFR-66),233-300 MHz | p55tvp4/tv5i0204.awd 1996 | ASUS P/I-P55T2P4
1MB - 512MB内存 | Pentium处理器,75-200 MHz
Pentium MMX处理器,166-233 MHz
Mobile Pentium MMX处理器,120-300 MHz
Cyrix 6x86处理器,PR90(80 MHz)-PR200(200 MHz)
Cyrix 6x86MX/MII处理器,PR166(133 MHz)-PR400(285 MHz)
IDT WinChip处理器,75-240 MHz
IDT Winchip 2处理器,200-240 MHz
IDT Winchip 2A处理器,200-233 MHz
AMD K6处理器,166-300 MHz
AMD K6-2处理器(AFR-66),233-300 MHz | p55t2p4/0207_j2.bin 1996 | Award 430VX PCI
1MB - 128MB内存 | Pentium处理器,75-200 MHz
Pentium MMX处理器,166-233 MHz
Mobile Pentium MMX处理器,120-300 MHz
Cyrix 6x86处理器,PR90(80 MHz)-PR200(200 MHz)
Cyrix 6x86MX/MII处理器,PR166(133 MHz)-PR400(285 MHz)
IDT WinChip处理器,75-240 MHz
IDT Winchip 2处理器,200-240 MHz
IDT Winchip 2A处理器,200-233 MHz
AMD K6处理器,166-300 MHz
AMD K6-2处理器(AFR-66),233-300 MHz | 430vx/55xwuq0e.bin 1996 | Itautec Infoway Multimidia
8MB - 128MB内存 | Pentium处理器,75-133 MHz
Pentium Overdrive处理器,125-200 MHz | infowaym/1006bs0_.bio
infowaym/1006bs0_.bi1 1997 | Epox P55-VA
1MB - 128MB内存 | Pentium处理器,75-200 MHz
Pentium MMX处理器,166-233 MHz
Mobile Pentium MMX处理器,120-300 MHz
Cyrix 6x86处理器,PR90(80 MHz)-PR200(200 MHz)
Cyrix 6x86MX/MII处理器,PR166(133 MHz)-PR400(285 MHz)
IDT WinChip处理器,75-240 MHz
IDT Winchip 2处理器,200-240 MHz
IDT Winchip 2A处理器,200-233 MHz
AMD K6处理器,166-300 MHz
AMD K6-2处理器(AFR-66),233-300 MHz | p55va/va021297.bin ### 基于Super Socket 7的系统 发布年份 | 机器型号
(及附加硬件) | 支持的CPU | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | --- 1998 | FIC VA-503+
1MB - 512MB内存 | AMD K6处理器,166-300 MHz
AMD K6-2处理器,233-550 MHz
AMD K6-2+处理器,450-550 MHz
AMD K6-III处理器,400-450 MHz
AMD K6-III+处理器,400-500 MHz
Pentium处理器,75-200 MHz
Pentium MMX处理器,166-233 MHz
Mobile Pentium MMX处理器,120-300 MHz
Cyrix 6x86处理器,PR90(80 MHz)-PR200(200 MHz)
Cyrix 6x86MX/MII处理器,PR166(133 MHz)-PR400(285 MHz)
IDT WinChip处理器,75-240 MHz
IDT WinChip2处理器,200-250 MHz
IDT Winchip 2A处理器,PR200(200 MHz)-PR300(250 MHz) | fic_va503p/je4333.bin ### 基于Socket 8的系统 发布年份 | 机器型号
(及附加硬件) | 支持的CPU | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | --- 1996 | Intel VS440FX
8MB - 256MB内存 | Pentium Pro处理器,150-200 MHz
Pentium II Overdrive处理器,300-333 MHz | vs440fx/1018CS1_.BI1
vs440fx/1018CS1_.BI2
vs440fx/1018CS1_.BI3
vs440fx/1018CS1_.BIO
vs440fx/1018CS1_.RCV ### 基于Slot 1的系统 发布年份 | 机器型号
(及附加硬件) | 支持的CPU | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | --- 1998 | Gigabyte GA-686BX
8MB - 512MB内存 | Pentium II处理器,233-450 MHz
Celeron处理器,266-533 MHz
Cyrix III处理器,500 MHz | ga686bx/6BX.F2a #### 附加说明 `[1]` 东芝按键映射: VPC将[Fn]映射到`右Ctrl`和`右Alt`键。支持以下功能: 按键组合 | 功能 ---|--- Fn + Num Lock | 切换数字键盘 Fn + Home | 内置LCD显示 Fn + Page Down | 启动Turbo模式 Fn + Right | 切换LCD字体 Fn + End | 外接CRT显示 Fn + SysRQ | 切换窗口 `[2]` Amstrad MegaPC (386SX):原机器内置世嘉MD游戏主机功能,但在VPC中未模拟该功能。 `[3]` IBM PS/2 Model 70 (type 4) (486DX):PCem的FPU模拟并非位精确,无法通过IBM的浮点测试。因此,该机器在启动时总是会显示12903和162错误。可以忽略这些错误 - 按F1键继续启动。 `[4]` Intel Advanced/EV (Endeavor) (Pentium):实际主板上集成了Sound Blaster 16声卡,可选配S3 Trio64V+显卡。在模拟器中这两个设备均未作为板载设备实现。 `[5]` 部分系统具有固定的图形适配器:
** = 可以使用外置显卡。
系统 | 显卡 | 附加信息 | ** --- | --- | --- | :-: Amstrad MegaPC | Paradise 90C11 | PVGA1的升级版本,512KB显存 | ✔ Acer 386SX/25N | Oak OTI-067 | 另一款512KB的SVGA克隆显卡 | ✔ Amstrad PC1512 | CGA | 具有新模式 (640x200x16) | X Amstrad PC1640 | Paradise EGA |   | ✔ Amstrad PC2086/PC3086 | Paradise PVGA1 | 早期SVGA克隆显卡,256KB显存 | ✔ Amstrad PPC512/640 | CGA/MDA | 输出至640x200等离子显示屏 | ✔ Commodore SL386SX-25 | AVGA2 | 256KB - 512KB显存 | X Elonex PC-425X | Trident TGUI9400CXi | 512KB显存 | X IBM PCjr | CGA | 具有多种新模式:
160x200 x 16色
320x200 x 16色
640x200 x 4色 | X IBM PS/1 Model 2011 | 标准VGA | 256KB显存 | X IBM PS/1 Model 2121 | 基础(未知型号)SVGA | 256KB显存 | X IBM PS/2系列 | 标准VGA | 256KB显存 | X Olivetti M24 [[6]](#system-note-6)| CGA | 具有双倍分辨率文本模式 + 640x400模式 | X Packard Bell PB410A | Headland HT-216 |   | ✔ Packard Bell PB520R | Cirrus Logic GD-5434 |   | ✔ Packard Bell PB570 | Cirrus Logic GD-5430 |   | ✔ Sinclair PC200 | CGA | 可输出至50Hz电视机(英国) | ✔ Tandy 1000 | PCjr显卡克隆 | 80年代游戏广泛支持 | X Tandy 1000 SL/2 | 改进版Tandy 1000 | 支持640x200x16模式 | X Toshiba T系列 | CGA | 输出至内置LCD或等离子显示屏 | X `[6]` Olivetti M24 (显示):目前还没有找到这款机器的字体ROM文件,如果没有提供,将使用MDA字体 - 由于是14行而不是16行,看起来会有些奇怪。
## 显卡 ### 基础显卡 硬件 | 附加信息 | 所需ROM文件
(位于 ./roms/ 文件夹) --- | --- | --- MDA (1981) | 80x25单色文本 | (无) CGA (1981) | 40x25和80x25文本
320x200 4色模式
620x200 2色模式
支持合成输出显示约16色 | (无) Hercules (1982) | 80x25单色文本
720x348单色图形模式 | (无) Plantronics ColorPlus | 增强型CGA显卡,支持320x200x16和640x200x4模式 | (无) Wyse WY-700 | 兼容CGA的显卡,支持1280x800模式 | (无) MDSI Genius | 单色纵向显示板,支持728x1008模式 | 8x12.bin IBM EGA (1984) | 文本支持高达80x43
图形支持高达640x350 16色 | ibm_6277356_ega_card_u44_27128.bin ATI EGA Wonder 800+ | 增强型EGA兼容显卡,支持高达800x600 16色 | ATI EGA Wonder 800+ N1.00.BIN Hercules InColor | 增强型Hercules显卡,具有自定义720x350 16色模式 | (无) ### 无加速(S)VGA显卡 硬件 | 附加信息 | 所需ROM文件
(位于 ./roms/ 文件夹) --- | --- | --- ATI Korean VGA | 基于ATI-28800芯片
512KB显存
支持高达8位色深
支持韩文字体 | atikorvga.bin
ati_ksc5601.rom ATI VGA Edge-16 | 基于ATI-18800芯片
512KB显存
支持高达8位色深 | vgaedge16.vbi ATI VGA Charger | 基于ATI-28800芯片
512KB显存
支持高达8位色深 | bios.bin AVGA2 | 也称为Cirrus Logic GD5402
256KB - 512KB显存
支持高达8位色深 | avga2vram.vbi IBM VGA (1987) | 256KB显存
文本支持高达80x50
图形支持高达320x200 256色或640x480 16色 | ibm_vga.bin Kasan Hangulmadang-16 | 基于ET4000AX芯片
1MB显存
支持高达8位色深
支持韩文字体 | et4000_kasan16.bin
kasan_ksc5601.rom OAK OTI-037C | 256KB显存
支持高达8位色深 | oti037/bios.bin OAK OTI-067 | 256KB - 512KB显存
支持高达8位色深 | oti067/bios.bin Olivetti GO481 (Paradise PVGA1A) | 256KB显存
支持高达8位色深 | oli_go481_lo.bin
oli_go481_hi.bin Trident 8900D SVGA | 256KB - 1MB显存
支持高达24位色深 | trident.bin Trident 9000B SVGA | 512KB显存
支持高达8位色深 | tvga9000b/BIOS.BIN Trident TGUI9400CXi | 1MB - 2MB显存
支持高达24位色深 | 9440.vbi Trigem Korean VGA | 基于ET4000AX芯片
1MB显存
支持高达8位色深
支持韩文字体 | tgkorvga.bin
tg_ksc5601.rom Tseng ET4000AX SVGA | 1MB显存
支持高达8位色深 | et4000.bin ### 2D加速SVGA显卡 硬件 | 附加信息 | 所需ROM文件
(位于 ./roms/ 文件夹) --- | --- | --- ATI Graphics Pro Turbo | 基于Mach64GX芯片
1MB - 4MB显存 | mach64gx/bios.bin ATI Video Xpression | 基于Mach64VT2芯片
2MB - 4MB显存
具有视频加速功能 | atimach64vt2pci.bin Cirrus Logic GD-5428 | 1MB - 2MB显存 | Machspeed_VGA_GUI_2100_VLB.vbi Cirrus Logic GD-5429 | 1MB - 2MB显存 | 5429.vbi Cirrus Logic GD-5430 | 1MB - 2MB显存 | gd5430/pci.bin Cirrus Logic GD-5434 [[1]](#graphics-note-1) | 2MB - 4MB显存 | gd5434.bin Diamond Stealth 32 SVGA | 基于ET4000/W32p芯片
1MB - 2MB显存 | et4000w32.bin IBM 1MB SVGA Adapter/A | 基于Cirrus Logic GD5428芯片
1MB显存
仅支持PS/2型号 | SVGA141.ROM Number Nine 9FX | 基于S3 Trio64芯片
1MB - 2MB显存 | s3_764.bin Paradise Bahamas 64 | 基于S3 Vision864芯片
1MB - 4MB显存 | bahamas64.bin Phoenix S3 Trio32 | 基于S3 Trio32芯片
512KB - 2MB显存 | 86c732p.bin Phoenix S3 Trio64 | 基于S3 Trio64芯片
1MB - 4MB显存 | 86c764x1.bin Trident TGUI9440 | 1MB - 2MB显存 | 9440.vbi ### 3D加速SVGA显卡 硬件 | 附加信息 | 所需ROM文件
(位于 ./roms/ 文件夹) --- | --- | --- 3DFX Voodoo Banshee (参考版) | 基于Voodoo Banshee芯片
8MB - 16MB显存 | pci_sg.rom 3DFX Voodoo 3 2000 | 基于Voodoo 3芯片
16MB显存 | voodoo3_2000/2k11sd.rom 3DFX Voodoo 3 3000 | 基于Voodoo 3芯片
16MB显存 | voodoo3_3000/3k12sd.rom Creative Labs 3D Blaster Banshee | 基于Voodoo Banshee芯片
16MB显存 | blasterpci.rom Diamond Stealth 3D 2000 [[2]](#graphics-note-2)| 基于S3 ViRGE/325芯片
2MB - 4MB显存 | s3virge.bin S3 ViRGE/DX [[3]](#graphics-note-3)| 基于S3 ViRGE/DX芯片
2MB - 4MB显存 | 86c375_1.bin ### 仅3D显卡 硬件 | 附加信息 --- | --- 3DFX Voodoo Graphics [[4]](#graphics-note-4)| 3D加速器。90年代末游戏广泛支持。 Obsidian SB50 [[5]](#graphics-note-5)| 配备2个TMU的Voodoo显卡 3DFX Voodoo 2 [[6]](#graphics-note-6)| 改进版Voodoo Graphics
更高时钟频率
2个TMU
三角形设置等功能。 #### 附加说明 `[1]` Cirrus Logic GD-5434:实际芯片也支持1MB配置,但PCem目前不支持该配置。 `[2]` Diamond Stealth 3D 2000:PCem通过软件模拟ViRGE S3D引擎。我测试的大多数游戏都能运行,但可能存在一些问题。/325版本的Direct3D驱动程序质量较差(经常出现三角形缺失),建议使用/DX版本。 `[3]` S3 ViRGE/DX:Windows自带的驱动程序与/325版本类似,但有更好的版本可用(建议尝试1997年8月21日版本)。使用正确的驱动程序后,许多早期Direct3D游戏可以正常运行(尽管速度较慢)。 `[4]` 3DFX Voodoo Graphics:PCem通过软件进行模拟。得益于新的动态重编译器,模拟速度比v10版本快得多,在使用两个渲染线程时应该能在大多数机器上达到Voodoo 1的性能水平。和以前一样,模拟的CPU仍是大多数游戏的瓶颈。

PCem可以模拟6MB和8MB配置,但默认使用4MB配置以保证兼容性。它还可以模拟原始显卡的屏幕滤镜,但目前这会明显影响性能。

我测试的几乎所有游戏都能正常运行,只有极少数例外 - Screamer 2和Rally存在严重问题。 `[5]` Obsidian SB50:该显卡的驱动程序较为有限 - 官方驱动程序在Direct3D中不支持2个TMU。 `[6]` 3DFX Voodoo 2:PCem可以模拟8MB和12MB配置。它还可以模拟6MB和10MB配置(2MB帧缓冲内存),这些配置虽然从未在PC市场销售,但在街机系统中存在。
## 声卡 硬件 | 说明 --- | --- PC扬声器 | 所有PC上的标准蜂鸣器。支持采样/RealSound技术。 Tandy PSG | PCjr和Tandy 1000使用的德州仪器芯片。支持3个音色加噪声。使用了B-em模拟器的代码(略有修改)。PCem模拟了SN76496(PCjr和Tandy 1000)和NCR8496(目前用于Tandy 1000HX)之间的差异。Maniac Mansion和Zak McKraken只有在后者上才能正确发声。 Tandy PSSJ | 用于Tandy 1000SL/2,克隆自NCR8496,增加了一个额外的频率分频器(是否有软件真正使用过这个功能?)和一个8位DAC。 PS/1音频卡 | SN76496克隆芯片加8位DAC。SN76496的地址与PCjr/Tandy不同,所以大多数软件不支持它。 Gameblaster | Creative Labs的Gameblaster/Creative音乐系统,是Creative在1987年推出的第一款声卡。配备两个飞利浦SAA1099芯片,提供12个方波声道加4个噪声声道。支持立体声! Adlib | 使用Yamaha YM3812芯片,提供9个2操作符FM声道,或6个声道加节奏段。PCem使用DOSBox的dbopl模拟器。 Adlib Gold | OPL3加YM318Z 12位数字部分。可能存在一些bug(测试软件不多)。现已模拟环绕声模块。 Sound Blaster [[1]](#sound-note-1) | 详见链接说明。 Gravis Ultrasound | 32声道采样回放。端口地址固定为240,IRQ和DMA可通过驱动程序更改。与之前版本相比,模拟质量显著提升。 Windows Sound System | 16位数字音频 + OPL3。注意这仅模拟WSS本身,不应与带有额外组件的兼容主板驱动程序一起使用(如Turtle Beach Monte Carlo) Aztech Sound Galaxy Pro 16 AB (Washington) | 兼容SB + 兼容WSS Innovation SSI-2001 | SID6581芯片。使用resid-fp模拟。主板端口固定为280。 Ensoniq AudioPCI (ES1371)
Sound Blaster PCI 128
| 基本PCI声卡。通过软件模拟Sound Blaster。 ### 附加说明 `[1]` Sound Blaster:模拟了多个Sound Blaster型号。 * SB v1.0 - 最早的版本。限制为22khz,且无自动初始化DMA(有时会导致爆音)。 * SB v1.5 - 增加了自动初始化DMA * SB v2.0 - 提升至41khz * SB Pro v1.0 - 立体声,使用双OPL2芯片。 * SB Pro v2.0 - 立体声,使用OPL 3芯片 * SB 16 - 16位立体声 * SB AWE32 - SB 16 + 波表MIDI。需要真实AWE32声卡的ROM转储文件。 所有声卡默认设置为地址220,IRQ 7和DMA 1(高DMA 5)。SB16和AWE32的IRQ和DMA可在驱动程序中更改。autoexec.bat中的相关SET命令为`SET BLASTER = A220 I7 D1 Tx` - 其中Tx为:SB v1.0使用T1,SB v2.0使用T3,SB Pro使用T4,SB16使用T6。 AWE32需要一个名为`awe32.raw`的ROM转储文件。AWE-DUMP是一个可以从真实声卡获取转储的工具。大多数EMU8000功能应该可以工作,但滤波器不够准确,混响/合唱效果目前尚未模拟。
## 硬盘控制器卡 接口 | 硬件 | 说明 | 所需ROM文件
(位于 ./roms/ 文件夹) :-: | --- | --- | ---- MFM | 固定磁盘适配器 (Xebec) | IBM XT原配的MFM控制器。该控制器仅支持HD类型0、2、13和16。 | ibm_xebec_62x0822_1985.bin MFM | DTC 5150X | 8位MFM控制器。
要配置驱动器类型,运行`DEBUG.EXE`并输入`g=c800:5`。 | dtc_cxd21a.bin MFM | AT固定磁盘适配器 | IBM AT原配的MFM控制器。所有AT兼容BIOS均支持。 | (无) ESDI | Western Digital WD1007V-SE1 | 16位ESDI控制器 | 62-000279-061.bin ESDI | IBM ESDI固定磁盘控制器 | MCA ESDI控制器。仅支持PS/2型号。 | 90x8969.bin
90x8970.bin IDE | 标准IDE | 标准IDE控制器。所有AT兼容BIOS均支持。如有疑问请使用此选项! | (无) IDE | XTIDE | 8位IDE控制器。BIOS可从[此处](http://code.google.com/p/xtideuniversalbios/)获取。
v2.0.0 beta 1是我主要测试的版本。v2.0.0 beta 3已知存在一些问题。 | ide_xt.bin IDE | XTIDE (AT) | 16位IDE控制器。 | ide_at.bin IDE | XTIDE (PS/1) | PS/1型号2033的IDE控制器。此机型需要BIOS版本v1.1.5。PS/1对XTIDE较为挑剔,我发现禁用XTIDE配置中的"完整操作模式"效果最好。 | ide_at_1_1_5.bin SCSI | Longshine LCS-6821N | 8位SCSI控制器。 | Longshine LCS-6821N - BIOS version 1.04.bin SCSI | Rancho RT1000B | 8位SCSI控制器。 | Rancho_RT1000_RTBios_version_8.10R.bin SCSI | Trantor T130B | 8位SCSI控制器。 | trantor_t130b_bios_v2.14.bin SCSI | IBM SCSI适配器(带缓存) | MCA SCSI控制器。仅支持PS/2型号。 | 92F2244.U68
92F2245.U69 SCSI | Adaptec AHA-1542C | 16位SCSI控制器。 | adaptec_aha1542c_bios_534201-00.bin SCSI | BusLogic BT-545S | 16位SCSI控制器。 | BusLogic_BT-545S_U15_27128_5002026-4.50.bin
## 其他扩展卡 硬件 | 说明 --- | --- 串行鼠标 | COM1端口上的微软兼容串行鼠标。兼容驱动程序随处可见。 M24鼠标 | 尚未见到其DOS鼠标驱动程序,但常规扫描码模式和Windows 1.x驱动程序可用。 PC1512鼠标 | PC1512的特殊正交鼠标。需要Amstrad的专用驱动程序。 PS/2鼠标 | 标准2键PS/2鼠标。与串行鼠标一样,兼容驱动程序很常见。 Microsoft PS/2 Intellimouse | 带滚轮的PS/2鼠标。 ATAPI CD-ROM | 可使用OAKCDROM.SYS、VDD-IDE.SYS和我测试过的所有操作系统的内置驱动程序。