Skip to content

MagicEngine emulates NEC PC Engine, NEC PC Engine CD and NEC SuperGrafx. It reads 4 files, none of them required: it starts games without them.

About this profile
Detail Value
Type standalone
Classification Other
Source https://www.magicengine.com/
Upstream closed-source
Version 1.1.3
Profiled 2026-10-20
Profile YAML, JSON
Cores magicengine
Systems NEC PC Engine, NEC PC Engine CD, NEC SuperGrafx
Author David Michel, Cedric Michel
Install this emulator's files

With RetroBat: the installer finds RetroBat and its BIOS folder, then downloads only the files MagicEngine reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1))) --emulator magicengine
Technical notes

PC Engine emulator by David and Cedric Michel, distributed as a closed Windows binary. The build read is pce.exe 1.1.3, dated 17 June 2008, sha1 b58461eca2614326bd776d12b01c4ab2e7d0f579, the copy RetroBat installs as magicengine (version 0.08.06.17).

RetroBat starts it as pce.exe "<rom>" with the emulator folder as working directory and runs it only for the pcengine and supergrafx HuCard systems. The generator writes pce.ini (paths for cheats, screenshots and saved_games, video, language) and the controller section, and sets no system ROM. A HuCard carries its whole program, so this route reads the game file, pce.ini and the games.idx index the program keeps in its own folder, nothing else. ref: emulatorlauncher Generators/MagicEngine.Generator.cs:20-83, retrobat system/templates/emulationstation/es_systems.cfg (pcengine, supergrafx)

pce.exe is a loader. 0x426ec0, called from 0x401712, decrypts about 1.2 MB held in .data at 0x4484c0 (0x2491e eight-byte blocks of a SAFER style cipher whose exp and log tables sit at 0x448220 and 0x448320), inflates it with 0x426b00 into a 0x1f8d50-byte buffer, applies the relocation list that follows and jumps to offset 0x1000. That routine was run under an x86 emulator to obtain the program image, and the addresses below are addresses in that image relocated to base 0x10000000. The pce.cfg RetroBat ships is the binary keyboard and gamepad layout (ME10CONFIG) and names no file.

System cards are four paths of the [pce] section, system_card_1 to system_card_4, defaulting to syscard1.pce, syscard2.pce, syscard3.pce and ge.pce (0x100118a7-0x10011910, setter 0x100094e0, getter 0x10008b00). default_system_card picks the card a CD boots with: 0 automatic, 1 to 4 one of the four files, 5 to 7 Magic System 1.0, 2.0 or 3.0, a system card BIOS built into the program. Automatic means the third path, syscard3.pce. The chosen file goes through the HuCard loader (0x10082630, 0x10082250) with no size or hash check, and when it cannot be opened the boot falls back to Magic System 3.0 (0x10007752-0x10007f79, 0x100826b0). A card named on the command line after -cd is loaded the same way without that fallback. The internal HuCard database names the dumps it recognises as system cards by CRC32: 3f9f95a4 (1.0), 52520bc6 (2.0), 283b74e0 (2.1), 6d9a73ef and 2b5b75fe (3.0), 51a12d90 (Game Express), which drives the title shown and not the boot (0x10142e40-0x10143c20). arcade_card only turns the Arcade Card hardware on and loads no file. CD saves go to backup.dat and backup.idx, written by the program. RetroBat does not route pcenginecd to MagicEngine today, so these files only matter when it is run on a CD by hand.

4 files: 0 required, 4 optional. 4 have an HLE fallback.

In this collection: 4 in repo and 0 missing.

syscard3.pce optional in repo HLE fallback

Super CD-ROM2 System Card 3.0

  • system_card_3, the card an automatic CD boot loads. Opened by the relative name unless the ini sets a path, read through the HuCard loader without a size or hash check. When it cannot be opened the boot uses the built-in Magic System 3.0.

syscard2.pce optional in repo HLE fallback

CD-ROM2 System Card 2.x

  • system_card_2, loaded when default_system_card is 2 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened.

syscard1.pce optional in repo HLE fallback

CD-ROM2 System Card 1.0

  • system_card_1, loaded when default_system_card is 1 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened.

ge.pce optional in repo HLE fallback

Games Express System Card

  • Source: offset 0x100118f8-0x10011910 in pce.exe image, offset 0x10007f2c-0x10007f65 in pce.exe image
  • Collection copy: bios/NEC/PC Engine/gecard.pce
  • Platforms: AmberELEC: bios/gexpress.pce, BizHawk: PCECD_gecard.pce, EmuELEC: bios/gexpress.pce, Lakka: gecard.pce, gexpress.pce, Recalbox: pcengine/gexpress.pce, RetroArch: gecard.pce, gexpress.pce, RetroDECK: bios/gexpress.pce, RetroPie: gecard.pce, gexpress.pce, RomM: tg16/gecard.pce, tg16/gexpress.pce, turbografx-cd/gecard.pce, turbografx-cd/gexpress.pce
  • system_card_4, loaded when default_system_card is 4 or the card is picked in the boot menu. Falls back to Magic System 3.0 when it cannot be opened.
.