mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-14 05:53:47 -06:00
The segaboot.gcm ref split the Dolphin.exe revision note into a part of its own that named the binary without an address.
300 lines
14 KiB
YAML
300 lines
14 KiB
YAML
emulator: TeknoParrot
|
|
type: standalone
|
|
core_classification: other
|
|
source: "https://github.com/teknogods/TeknoParrotUI"
|
|
upstream: closed-source
|
|
author: "TeknoGods"
|
|
profiled_date: "2026-10-20"
|
|
source_commit: "b75872addc1d5cce81a62f4c1468eab59e2d3cbe"
|
|
upstream_gone: "teknogods/TeknoParrotUI answers 404 on the API and the web, and the teknogods organisation no longer lists it. Observed 2026-11-06. thecrixux/TeknoParrotUI keeps master at the analysed commit."
|
|
source_mirror: "https://github.com/thecrixux/TeknoParrotUI"
|
|
core_version: "TeknoParrotUI 7ffcdf1"
|
|
version_basis:
|
|
kind: unverified
|
|
why: host_gone
|
|
display_name: "Arcade - PC-based and Sega/Namco boards (TeknoParrot)"
|
|
cores:
|
|
- teknoparrot
|
|
systems:
|
|
- sega-naomi
|
|
- sega-naomi2
|
|
- sega-naomigd
|
|
- sammy-atomiswave
|
|
- sega-hikaru
|
|
- sega-chihiro
|
|
- sega-triforce
|
|
- sega-lindbergh
|
|
- namco-system246
|
|
- namco-system256
|
|
- namco-system357
|
|
mode: standalone
|
|
|
|
notes: |
|
|
Launcher and emulator suite for arcade boards. TeknoParrotUI is open source
|
|
and read here at its pinned commit. It runs a game through one of the
|
|
components its updater installs from the releases of teknogods/TeknoParrot,
|
|
every one of them closed source: the TeknoParrot and ElfLdr2 loaders for
|
|
PC-based and Lindbergh boards, forks of Dolphin (Triforce), Play! and PCSX2x6
|
|
(Namco System 246/256), RPCS3 (Namco System 357/369) and Cxbx-Reloaded
|
|
(Chihiro), and a family of board emulators named Tekno* (TeknoNaomi,
|
|
TeknoMVS, TeknoCPS, TeknoModel2 and others).
|
|
ref: TeknoParrotUi/MainWindow.xaml.cs:509-669,
|
|
TeknoParrotUi.Common/EmulatorType.cs:9-67
|
|
|
|
RetroBat starts TeknoParrotUi.exe and picks the component by the core name:
|
|
triforce, pcsx2x6, play, namco2x6, namco3xx, chihiro, or none for the
|
|
loaders. For Triforce, System 2x6 and Chihiro the game image itself is
|
|
written as the profile's game path.
|
|
ref: emulatorlauncher emulatorLauncher/Generators/TeknoParrot.generator.cs:177-201,
|
|
emulatorlauncher emulatorLauncher/Generators/TeknoParrot.generator.cs:266-270
|
|
|
|
The components read here are the release assets of 2026-10: TeknoNaomi
|
|
0.1.0.5, pcsx2x6 1.0.0.11, RPCS3 1.0.0.7, cxbxr 1.0.0.20, CrediarDolphin
|
|
1.0.0.10, Play 1.0.0.34 and TeknoParrotElfLdr2Core 1.0.0.1472. TeknoNaomi,
|
|
TeknoMVS, TeknoModel2 and TeknoS11 are protected with VMProtect
|
|
(release-manifest.json "protected": true) and expose no ROM name, size or
|
|
hash to a static read. The TeknoParrot and ElfLdr2 loaders name no
|
|
firmware either.
|
|
|
|
TeknoNaomi takes --set, --rom-root (the folder of the selected game ZIP) and
|
|
--chd-root. Its catalog, exported into TeknoParrotUI, gives each of the 349
|
|
sets the ordered list of romsets it opens under the ROM root: the set, its
|
|
parent, then a BIOS set. Nine BIOS sets close those lists. Their members and
|
|
hashes live only inside the protected binary.
|
|
ref: TeknoParrotUi.Common/TeknoNaomiCatalog.cs:17-372,
|
|
TeknoParrotUi.Common/TeknoNaomiLaunch.cs:56-77,
|
|
TeknoParrotUi.Common/TeknoNaomiLaunch.cs:90-98
|
|
|
|
The pcsx2x6 component is ReaverTeknoGods/pcsx2x6 at
|
|
c6e731ac0b9859011d358c021b7e2c9c95296a93 (the build reports
|
|
v0.0.22-24-gc6e731ac0), a fork of PS2Homebrew-arcade/pcsx2x6 whose merge
|
|
base with it is 956d4c66b0ac2eaefe7591a763f7b3cc80d1eae1. The release ships
|
|
portable.txt, and an empty portable.txt puts the data root in a TeknoParrot
|
|
folder beside the executable, so the BIOS folder is pcsx2x6/TeknoParrot/bios.
|
|
ref: pcsx2x6 pcsx2/Pcsx2Config.cpp:2196-2202, pcsx2x6 pcsx2/Pcsx2Config.cpp:2311
|
|
|
|
Play! runs System 246/256 games from its arcadedefs (dongle, CD or HDD image)
|
|
with HLE and loads no BIOS. CrediarDolphin ships Sys/Triforce/segaboot.gcm,
|
|
which it opens for the test menus, and the free DSP ROMs in Sys/GC. The
|
|
RPCS3 fork refuses to boot without installed PS3 firmware ("Missing Firmware
|
|
Detected!"). The cxbxr fork keeps the Chihiro media board files of
|
|
Cxbx-Reloaded under EmuMediaBoard.
|
|
|
|
Not documented: the BIOS sets of TeknoMVS, TeknoCPS, TeknoSS32 and the other
|
|
Tekno* board emulators. TeknoParrotUI names only the game ZIP for them
|
|
(ExecutableName in GameProfiles) and the binaries are protected.
|
|
|
|
files:
|
|
# TeknoNaomi BIOS sets, read from the ROM root beside the game ZIP
|
|
- name: naomi.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi
|
|
description: "NAOMI BIOS"
|
|
note: "Last media directory of 160 catalog sets."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:22, TeknoParrotUi.Common/TeknoNaomiLaunch.cs:56-77"
|
|
|
|
- name: naomi2.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi2
|
|
description: "NAOMI 2 BIOS"
|
|
note: "Last media directory of 45 catalog sets."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:42"
|
|
|
|
- name: naomigd.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomigd
|
|
description: "NAOMI GD-ROM BIOS"
|
|
note: "Last media directory of 92 catalog sets, the GD-ROM games whose disk images are read from --chd-root."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:38"
|
|
|
|
- name: awbios.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sammy-atomiswave
|
|
description: "Atomiswave BIOS"
|
|
note: "Last media directory of 34 catalog sets."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:31"
|
|
|
|
- name: hikaru.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-hikaru
|
|
description: "Hikaru BIOS"
|
|
note: "Last media directory of 8 catalog sets."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:363"
|
|
|
|
- name: hod2bios.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi
|
|
description: "The House of the Dead 2 BIOS"
|
|
note: "Last media directory of hotd2, hotd2e, hotd2o and hotd2p."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:123-126"
|
|
|
|
- name: f355bios.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi
|
|
description: "Ferrari F355 Challenge twin BIOS"
|
|
note: "Last media directory of f355twin, f355twinp and f355twn2."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:100-102"
|
|
|
|
- name: f355dlx.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi
|
|
description: "Ferrari F355 Challenge deluxe BIOS"
|
|
note: "Last media directory of f355 and f355p."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:98-99"
|
|
|
|
- name: airlbios.zip
|
|
required: true
|
|
category: bios_zip
|
|
system: sega-naomi
|
|
description: "Airline Pilots deluxe BIOS"
|
|
note: "Last media directory of alpilot."
|
|
source_ref: "TeknoParrotUi.Common/TeknoNaomiCatalog.cs:29"
|
|
|
|
# pcsx2x6 component, System 246/256 (RetroBat core pcsx2x6)
|
|
- name: COH-H31100.rom0
|
|
found_by: content
|
|
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom0"
|
|
system: namco-system246
|
|
required: true
|
|
min_size: 4194304
|
|
max_size: 8388608
|
|
validation: [size, romdir]
|
|
romdir:
|
|
reset_compare: 10
|
|
missing_reset: ends_walk
|
|
terminated_names: true
|
|
extinfo: true
|
|
unreadable_romver: ends_walk
|
|
truncated_walk: ends_walk
|
|
description: "COH-H arcade board BIOS"
|
|
aliases:
|
|
- COH-H31000.BIN
|
|
- 246C.bin
|
|
- 256.BIN
|
|
note: >-
|
|
Found by content: the BIOS folder is listed with a * mask, files outside 4
|
|
to 8 MB are skipped, and the first whose romdir holds RESET and a readable
|
|
ROMVER is used. The boot stops when none loads. The name is the one the
|
|
board dumper writes. The aliases are the three board dumps held here.
|
|
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:16-17, pcsx2x6 pcsx2/ps2/BiosTools.cpp:80-206, pcsx2x6 pcsx2/ps2/BiosTools.cpp:267-291, pcsx2x6 pcsx2/VMManager.cpp:1663-1676"
|
|
|
|
- name: COH-H31100.rom1
|
|
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom1"
|
|
system: namco-system246
|
|
required: false
|
|
max_size: 4194304
|
|
description: "ROM1 board region"
|
|
note: "Tried as {bios}.rom1 then {biosbase}.rom1, read into the 4 MB ROM1 region. Skipped when absent."
|
|
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:223-250, pcsx2x6 pcsx2/ps2/BiosTools.cpp:375"
|
|
|
|
- name: COH-H31100.rom2
|
|
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.rom2"
|
|
system: namco-system246
|
|
required: false
|
|
max_size: 4194304
|
|
description: "ROM2 board region"
|
|
note: "Tried as {bios}.rom2 then {biosbase}.rom2, read into the 4 MB ROM2 region. Skipped when absent."
|
|
source_ref: "pcsx2x6 pcsx2/ps2/BiosTools.cpp:223-250, pcsx2x6 pcsx2/ps2/BiosTools.cpp:376"
|
|
|
|
- name: COH-H31100.nvm
|
|
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.nvm"
|
|
aliases:
|
|
- COH-H31000.NVM
|
|
- 246C.nvm
|
|
- 256.NVM
|
|
system: namco-system246
|
|
required: false
|
|
hle_fallback: true
|
|
size: 1024
|
|
description: "Board NVRAM"
|
|
note: "The BIOS path with its extension replaced by nvm. A default image is built when it cannot be read, and a hardcoded iLinkId stands in when the file carries none."
|
|
source_ref: "pcsx2x6 pcsx2/CDVD/CDVD.cpp:164-167, pcsx2x6 pcsx2/CDVD/CDVD.cpp:169-196"
|
|
|
|
- name: COH-H31100.mec
|
|
path: "pcsx2x6/TeknoParrot/bios/COH-H31100.mec"
|
|
aliases:
|
|
- COH-H31000.MEC
|
|
- 246C.mec
|
|
- 256.MEC
|
|
system: namco-system246
|
|
required: false
|
|
hle_fallback: true
|
|
size: 4
|
|
description: "Mechacon version"
|
|
note: "The BIOS path with its extension replaced by mec. Written with the default mechacon version when absent."
|
|
source_ref: "pcsx2x6 pcsx2/CDVD/CDVD.cpp:196-211"
|
|
|
|
# RPCS3 component, System 357/369 (RetroBat core namco3xx)
|
|
- name: PS3UPDAT.PUP
|
|
system: namco-system357
|
|
required: true
|
|
storage: large_file
|
|
description: "PlayStation 3 system software update"
|
|
note: "Installed into dev_flash through Install firmware from PS3UPDAT.PUP. Without dev_flash/sys/external/liblv2.sprx the boot stops and the \"Missing Firmware Detected!\" dialog asks for PS3UPDAT.PUP."
|
|
source_ref: "RPCS3 1.0.0.7 rpcs3.exe (sha256 89990c08039bdb21) Emulator::Load 0x14109dac2-0x14109db62 (ppu_exec ok and fs::is_file of dev_flash sys/external/liblv2.sprx false), 0x14109dbc0-0x14109dbd2 (an LLE firmware module is configured), 0x14109dc75-0x14109dced (Kill, then on_missing_fw on the main thread, boot ends), main_window 0x140cc6b50-0x140cc6b82 (Missing Firmware Detected! dialog), HandlePupInstallation 0x140cc1456: 0x140cc15a7 (fs::file open of the selected PUP), 0x140cc15ff (could not be opened), 0x140cc1635-0x140cc16d3 (pup_object parse: empty, not a PUP, incomplete)"
|
|
|
|
# cxbxr component, Chihiro (RetroBat core chihiro)
|
|
- name: fpr21042_m29w160et.bin
|
|
path: "EmuMediaBoard/fpr21042_m29w160et.bin"
|
|
system: sega-chihiro
|
|
required: true
|
|
size: 2097152
|
|
validation: [size]
|
|
description: "Chihiro media board flash ROM"
|
|
note: "Opened for a Chihiro XBE started directly (boot.id beside it). The emulator aborts when it is missing or not 2 MB, then writes the two SEGABOOT halves out of it when they are absent."
|
|
source_ref: "cxbxr 1.0.0.20 cxbxr-emu.dll (sha256 4396e61e874359c9) FUN_100c2dc0 0x100c2dc0-0x100c2dfa (static std::string fpr21042_m29w160et.bin), FUN_103deed0 0x103df6a7-0x103df72d (EmuMediaBoard path plus that name, exists check, CxbxrAbort Chihiro Media Board ROM could not be found), 0x103df744-0x103df769 (fopen, abort when it fails), 0x103df777-0x103df7b2 (fseek end, ftell, abort unless 0x200000), 0x103df83a-0x103df92e (SEGABOOT halves written when absent)"
|
|
|
|
- name: ic10_g24lc64.bin
|
|
path: "EmuMediaBoard/Chihiro/ic10_g24lc64.bin"
|
|
system: sega-chihiro
|
|
required: true
|
|
description: "Base board QC microcontroller firmware"
|
|
note: "\"Failed to load base board firmware\" and abort when it cannot be loaded."
|
|
source_ref: "cxbxr 1.0.0.20 cxbxr-emu.dll (sha256 4396e61e874359c9) FUN_102d0f70 0x102d10ae-0x102d10d7 (std::string ic10_g24lc64.bin), 0x102d12f7-0x102d13d6 (EmuMediaBoard\\Chihiro path, fopen and mapped-file helper FUN_102d0bf0 into 0x1070e560), 0x102d1461-0x102d1465 and 0x102d1af1-0x102d1b04 (CxbxrAbort Failed to load base board firmware)"
|
|
|
|
- name: pc20_g24lc64.bin
|
|
path: "EmuMediaBoard/Chihiro/pc20_g24lc64.bin"
|
|
system: sega-chihiro
|
|
required: true
|
|
description: "Base board SC microcontroller firmware"
|
|
note: "\"Failed to load base board qc firmware\" and abort when it cannot be loaded."
|
|
source_ref: "cxbxr 1.0.0.20 cxbxr-emu.dll (sha256 4396e61e874359c9) FUN_102d0f70 0x102d10ff-0x102d1128 (std::string pc20_g24lc64.bin), 0x102d1496-0x102d1576 (path, FUN_102d0bf0 into 0x1070e590), 0x102d15d1-0x102d15d5 and 0x102d1b0e-0x102d1b21 (CxbxrAbort Failed to load base board qc firmware)"
|
|
|
|
- name: ic11_24lc024.bin
|
|
path: "EmuMediaBoard/Chihiro/ic11_24lc024.bin"
|
|
system: sega-chihiro
|
|
required: true
|
|
description: "Base board configuration EEPROM"
|
|
note: "\"Failed to load base board EEPROM\" and abort when it cannot be loaded."
|
|
source_ref: "cxbxr 1.0.0.20 cxbxr-emu.dll (sha256 4396e61e874359c9) FUN_102d0f70 0x102d1150-0x102d117c (std::string ic11_24lc024.bin), 0x102d1606-0x102d1669 (path, FUN_102d0bf0 into 0x1070e578), 0x102d1688-0x102d168c and 0x102d1b2b-0x102d1b3e (CxbxrAbort Failed to load base board EEPROM)"
|
|
|
|
- name: backup_ram.bin
|
|
path: "EmuMediaBoard/Chihiro/backup_ram.bin"
|
|
system: sega-chihiro
|
|
required: false
|
|
unsourceable: "written by the emulator, no canonical file"
|
|
has_builtin: true
|
|
description: "Base board backup memory"
|
|
note: "Created by the emulator as 128 KiB of zeros when absent (\"Could not create Backup File\" on failure), then loaded."
|
|
source_ref: "cxbxr 1.0.0.20 cxbxr-emu.dll (sha256 4396e61e874359c9) FUN_102d0f70 0x102d1180-0x102d11c2 (std::string backup_ram.bin), 0x102d16eb-0x102d1725 (exists check), 0x102d1789-0x102d17cb (fopen, fseek 0x1ffff, fputc 0, fclose), 0x102d17ad and 0x102d1b4d-0x102d1b60 (CxbxrAbort Could not create Backup File), 0x102d1865 and 0x102d1887-0x102d188b, 0x102d1b6a-0x102d1b7d (FUN_102d0bf0 load, CxbxrAbort Failed to load base board BACKUP RAM)"
|
|
|
|
# CrediarDolphin component, Triforce (RetroBat core triforce)
|
|
- name: segaboot.gcm
|
|
path: "CrediarDolphin/Sys/Triforce/segaboot.gcm"
|
|
system: sega-triforce
|
|
required: false
|
|
bundled: true
|
|
size: 2097152
|
|
sha1: "87918619c632ac9de270d4fdf396a57eb57fc620"
|
|
description: "Triforce boot program"
|
|
note: "Shipped in the CrediarDolphin 1.0.0.10 release. User/Triforce/segaboot.gcm is preferred when present. Read into the media board firmware for the test menus, \"Failed to open segaboot.gcm, which is required for test menus\" and no test menu otherwise."
|
|
source_ref: "CrediarDolphin Source/Core/Core/HW/DVD/AMMediaboard.cpp:498-526 at ReaverTeknoGods/CrediarDolphin 44afbabf7135303e9a29805f4b0bc12080545d3a (the revision Dolphin.exe 1.0.0.10, sha256 d7e5a7fe2989c7db, reports as its build and whose message it carries)"
|