Files
libretro/emulators/magicengine.yml
T
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00

96 lines
4.8 KiB
YAML

emulator: MagicEngine
type: standalone
core_classification: other
source: "https://www.magicengine.com/"
upstream: closed-source
author: "David Michel, Cedric Michel"
profiled_date: "2026-10-20"
core_version: "1.1.3"
display_name: "NEC - PC Engine / CD-ROM / SuperGrafx (MagicEngine)"
cores:
- magicengine
systems:
- nec-pc-engine
- nec-pc-engine-cd
- nec-supergrafx
mode: standalone
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.
files:
- name: syscard3.pce
system: nec-pc-engine-cd
required: false
hle_fallback: true
description: "Super CD-ROM2 System Card 3.0"
note: "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."
source_ref: "pce.exe image 0x100118e7-0x100118f3 (default), 0x10007752-0x10007f65 (automatic choice and fallback), 0x10082630"
- name: syscard2.pce
system: nec-pc-engine-cd
required: false
hle_fallback: true
description: "CD-ROM2 System Card 2.x"
note: "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."
source_ref: "pce.exe image 0x100118b8-0x100118de (default), 0x10007f2c-0x10007f65"
- name: syscard1.pce
system: nec-pc-engine-cd
required: false
hle_fallback: true
description: "CD-ROM2 System Card 1.0"
note: "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."
source_ref: "pce.exe image 0x100118a7-0x100118c1 (default), 0x10007f2c-0x10007f65"
- name: ge.pce
aliases: [gexpress.pce]
system: nec-pc-engine-cd
required: false
hle_fallback: true
description: "Games Express System Card"
note: "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."
source_ref: "pce.exe image 0x100118f8-0x10011910 (default), 0x10007f2c-0x10007f65"