Geargrafx
Geargrafx emulates NEC PC Engine, NEC SuperGrafx, NEC PC Engine CD and Pioneer LaserActive. It reads 7 files, 3 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator geargrafxOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator geargrafxOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator geargrafxSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator geargrafxInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator geargrafxOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator geargrafxTechnical notes
Geargrafx is a PC Engine / TurboGrafx-16 / SuperGrafx / CD-ROM emulator by Ignacio Sanchez (drhelius). HuCard games run without any external file.
CD-ROM content (cue, chd, mmi) needs a System Card image from the frontend
system directory. load_bios() in platforms/
picks the file name from the core option geargrafx_cdrom_bios
(platforms/): System Card 1 loads
syscard1.pce, System Card 2 loads syscard2.pce, System Card 3 (the default)
and Force Game Express load syscard3.pce. The older values Auto and Game
Express are still accepted and map to the same. The path is
"{system_directory}/{name}" (platforms/). When the
card is missing the core posts "CD-ROM BIOS not found" and continues
(platforms/). gexpress.pce is then always
attempted from the same directory (platforms/).
load_bios() runs from retro_load_game() for CD content only
(platforms/) and again on retro_reset() when a
CD is loaded (platforms/). With the libretro
VFS the file goes through load_bios_file() into LoadBiosFromBuffer(),
otherwise through Media::LoadBios() (platforms/,
src/media.cpp:526-569).
Media::LoadBiosData() (src/media.cpp:740-783) strips a 512-byte header when
the size is the expected size plus 512, then rejects any image whose size
is not GG_BIOS_SYSCARD_SIZE (0x40000) or GG_BIOS_GAME_EXPRESS_SIZE (0x8000)
(src/defines.h:53-54). CRC32 is computed over the accepted image.
GatherBIOSInfoFromDB() (src/media.cpp:1121-1155) looks the CRC up in
k_game_database entries flagged GG_GAMEDB_BIOS_SYSCARD or
GG_GAMEDB_BIOS_GAME_EXPRESS (src/game_db.h:48-56). An unknown CRC marks the
image "Unknown" and invalid but it is still used.
For CD content the ROM banks map onto the System Card buffer, or onto the
Game Express buffer when the disc is a Game Express title
(src/media.cpp:1188-1197). A Game Express disc is detected by its CRC in
game_db.h (GG_GAMEDB_GAME_EXPRESS, src/media.cpp:1087-1091), named by the
card field of an MMI image (src/media.cpp:915-917) or forced by the option
(src/media.cpp:929-933). With no card loaded the buffer is zeros and the CD
does not boot. Arcade Card titles are also detected from game_db.h and run
on the selected System Card.
MMI content is a LaserActive LD-ROM2 image. retro_load_game() also calls
load_pac_bios() for it (platforms/), which
reads the NEC PAC firmware from the system directory according to the core
option geargrafx_laseractive_region (platforms/):
Japan loads pac-n1.bin and falls back to pce-lp1.bin, US loads pac-n10.bin,
Auto (the default) loads both regions
(platforms/). Media::LoadPacBiosData()
(src/media.cpp:648-710) accepts 0x80000 bytes (GG_BIOS_LASERACTIVE_SIZE,
src/defines.h:55), with or without a 512-byte header, and compares the
CRC32 with the values hardcoded for the region. An unknown CRC is logged
and the image is still used. SelectPacBios() (src/media.cpp:712-738) follows
the option, then the regionCode of the MMI image, then whichever region is
loaded. An MMI image that names no card maps the PAC firmware
(src/media.cpp:1188-1197), and one that names a card uses the System Card or
Game Express buffer. retro_load_game() fails when the firmware the MMI
image needs is not loaded (platforms/).
Backup RAM is exposed through RETRO_MEMORY_SAVE_RAM
(platforms/) and saved by the frontend. A
connected Memory Base 128 is persisted by the core itself as
geargrafx_mb128.sav in the frontend save directory
(platforms/). Both are state the core writes,
not files a user obtains.
7 files: 3 required, 4 optional.
In this collection: 7 in repo and 0 missing.
Required
Section titled “Required”| File | Status | Hash |
|---|---|---|
syscard3.pceSuper CD-ROM System Card 3.0
Hashes, validation and source
| required for NEC PC Engine CD in repo | CRC32 6d9a73ef |
pac-n1.binLaserActive NEC PAC-N1 v1.02 (Japan)
Hashes, validation and source
| required for Pioneer LaserActive in repo Region: Japan | CRC32 a8cb694c |
pac-n10.binLaserActive NEC PAC-N10 v1.02 (US)
Hashes, validation and source
| required for Pioneer LaserActive in repo Region: North America | CRC32 01223dd5 |
Optional
Section titled “Optional”| File | Status | Hash |
|---|---|---|
syscard2.pceCD-ROM System Card 2.0 / 2.1
Hashes, validation and source
| in repo | CRC32 52520bc6 |
syscard1.pceCD-ROM System Card 1.0 (Japan)
Hashes, validation and source
| in repo | CRC32 3f9f95a4 |
gexpress.pceGames Express CD Card
Hashes, validation and source
| in repo | CRC32 51a12d90 |
pce-lp1.binLaserActive NEC PCE-LP1 v1.02 (Japan)
Hashes, validation and source
| in repo Region: Japan | CRC32 76116a02 |
Profile data
Section titled “Profile data”Valid BIOS CRC32
-
syscard:
- crc32: 3F9F95A4, name: CD-ROM System Card 1.0 (J)
- crc32: 52520BC6, name: CD-ROM System Card 2.0 (J)
- crc32: 283B74E0, name: CD-ROM System Card 2.1 (J)
- crc32: 6D9A73EF, name: Super CD-ROM System 3.0 (J)
- crc32: 0ECEA1F3, name: Super CD-ROM System 3.0 (J) NuFont Hack
- crc32: FF2A5EC3, name: TurboGrafx CD System Card 2.0 (USA)
- crc32: 2B5B75FE, name: TurboGrafx CD Super System 3.0 (USA)
-
game express:
- crc32: 51A12D90, name: Games Express CD Card Blue Version (J)
- crc32: 16AAF05A, name: Games Express CD Card Green Version (J)
-
laseractive japan:
- crc32: A8CB694C, name: PAC-N1 v1.02
- crc32: 76116A02, name: PCE-LP1 v1.02
-
laseractive us:
- crc32: 01223DD5, name: PAC-N10 v1.02
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start