mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 17:33:30 -05:00
The buildbot publishes four cores no profile named. Geartowns (FM Towns) and CoolbarEmu get profiles read from their source, Xenia Edge gains its libretro build, and pokketstation follows its repository's rename to Pokket, re-read at HEAD.
151 lines
7.3 KiB
YAML
151 lines
7.3 KiB
YAML
emulator: "Geartowns"
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/drhelius/Geartowns"
|
|
upstream: "https://github.com/drhelius/Geartowns"
|
|
profiled_date: "2026-10-17"
|
|
source_commit: "25d2025be28e9fcc319f597a516f21e0778f770b"
|
|
core_version: "0.0.6-8-g25d2025"
|
|
display_name: "Fujitsu - FM Towns (Geartowns)"
|
|
cores:
|
|
- "geartowns"
|
|
systems:
|
|
- "fmtowns"
|
|
|
|
notes: |
|
|
FM Towns emulator by Ignacio Sanchez (drhelius). The same tree builds the
|
|
desktop application and the libretro core (platforms/libretro). The core
|
|
emulates the Model 1/2, 1F/2F, 10F/20F, II CX, UX, UG, HG and the Marty
|
|
(src/system/machine_profiles.h:61-75, `emulated` field). The version string
|
|
is `git describe` at build time (platforms/libretro/Makefile:369-371).
|
|
|
|
retro_load_game() fails when load_bios() finds no firmware
|
|
(platforms/libretro/libretro.cpp:704-708). load_bios() searches
|
|
system/geartowns first, then the system directory itself, each time
|
|
accepting first only a set made for the selected model and then any set
|
|
(platforms/libretro/libretro.cpp:798-825). Firmware::FindSources() takes
|
|
as candidates the folder itself, every direct subfolder and every .zip in
|
|
it (src/media/firmware.cpp:286-346); folder and zip names are free. A
|
|
candidate counts only when the System, OS, Font and Dictionary ROMs are all
|
|
present at the right size, and the CRC32 of its System ROM names the set
|
|
(src/media/firmware.cpp:375-414, src/media/firmware.h:114-123).
|
|
|
|
Six sets are known (src/media/firmware.h:114-123): fmtowns (Model 1/2),
|
|
freetowns (Free FM Towns Project replacement ROMs, used by the Model 1/2),
|
|
fmtownsux (UX, also used by 1F/2F, 10F/20F, CX and UG), fmtmarty (Marty),
|
|
fmtownshr and fmtownsftv (both used by the HG, HR preferred). On Auto the
|
|
model comes from the game database and falls back to the Model 1/2 or to
|
|
the first model in release order that has a set
|
|
(src/geartowns_core.cpp:1624-1649, src/geartowns_core.cpp:1691-1696). A set
|
|
made for another model still loads in the second pass, with a warning
|
|
(platforms/libretro/libretro.cpp:827-860).
|
|
|
|
File names are matched without case, inside a zip only at the archive root
|
|
(src/media/firmware.cpp:614-663). Accepted names per component are
|
|
FMT_SYS.ROM, FMT_SYS_A.ROM, FMTHR_SYS.ROM; FMT_DOS.ROM, FMT_DOS_A.ROM;
|
|
FMT_FNT.ROM; FMT_DIC.ROM; FMT_F20.ROM, FMT_F20_A.ROM; MYTOWNS.ROM,
|
|
MYTOWNSUX.ROM, MYTOWNSM2.ROM, MYTOWNSFTV.ROM, MYTOWNSHR.ROM; MAR_EX0.ROM to
|
|
MAR_EX3.ROM (src/media/firmware.cpp:28-42). Without separate files the
|
|
Marty components are cut from MROM.M36 and MROM.M37, 2 MiB each
|
|
(src/media/firmware.cpp:497-508): OS at 0 and the first three extension
|
|
parts in M36; the fourth extension part, 20-dot font at 0x80000,
|
|
dictionary at 0x100000, font at 0x180000 and System ROM at 0x1C0000 in M37.
|
|
|
|
Each component must have its exact size or it is rejected
|
|
(src/media/firmware.cpp:530-612, src/common/defines.h:47-54): System
|
|
256 KiB, OS 512 KiB, Font 256 KiB, Dictionary 512 KiB, 20-dot Font 512 KiB,
|
|
Serial 32 bytes, Extension 2 MiB (four 512 KiB parts). System, OS, Font and
|
|
Dictionary are required; a missing 20-dot Font or Extension is replaced by
|
|
0xFF, a missing Serial ROM is generated (src/media/firmware.cpp:73-163,
|
|
src/media/firmware.cpp:258-261). The CRC32 of every component is looked up
|
|
in game_db.h (src/media/firmware.cpp:165-182, src/media/game_db.h:303-335);
|
|
an unknown CRC only produces a warning. The Free FM Towns set is known by
|
|
System 65DC3B1F, OS 43C18E92, Font 736D9CB1 and a blank Dictionary
|
|
504BF849. The Marty slices are known by System 937311F6, OS 2BC2AF96,
|
|
Extension E1A9FA72 and 20-dot Font 75660AAC.
|
|
|
|
The CMOS is written by the core next to the saves
|
|
(platforms/libretro/libretro.cpp:2753-2767); it is state, not a file to
|
|
obtain.
|
|
|
|
files:
|
|
- name: "fmtowns.zip"
|
|
description: "FM Towns Model 1/2 firmware set"
|
|
system: "fmtowns"
|
|
category: bios_zip
|
|
path: "geartowns/fmtowns.zip"
|
|
required: true
|
|
contents:
|
|
- { name: "fmt_sys.rom", size: 262144, crc32: "53319e23" }
|
|
- { name: "fmt_dos.rom", size: 524288, crc32: "112872ee" }
|
|
- { name: "fmt_fnt.rom", size: 262144, crc32: "955c6b75" }
|
|
- { name: "fmt_dic.rom", size: 524288, crc32: "b314c659" }
|
|
source_ref: "platforms/libretro/libretro.cpp:704-708, platforms/libretro/libretro.cpp:807-825, src/media/firmware.h:116, src/media/firmware.cpp:28-33, src/media/firmware.cpp:286-346, src/media/game_db.h:303-307"
|
|
note: >
|
|
Set for the Model 1/2, the machine Auto falls back to. The same four
|
|
files load from any subfolder of system/geartowns or from
|
|
system/geartowns itself. The core has no CRC for a Model 1/2 20-dot
|
|
Font; fmt_f20.rom is read when present.
|
|
|
|
- name: "fmtownsux.zip"
|
|
description: "FM Towns II UX firmware set"
|
|
system: "fmtowns"
|
|
category: bios_zip
|
|
path: "geartowns/fmtownsux.zip"
|
|
required: false
|
|
contents:
|
|
- { name: "fmt_sys_a.rom", size: 262144, crc32: "92f3fa67" }
|
|
- { name: "fmt_dos_a.rom", size: 524288, crc32: "22270e9f" }
|
|
- { name: "fmt_fnt.rom", size: 262144, crc32: "dd6fd544" }
|
|
- { name: "fmt_dic.rom", size: 524288, crc32: "82d1daa2" }
|
|
- { name: "mytownsux.rom", size: 32, crc32: "5cc7e6bc" }
|
|
source_ref: "src/media/firmware.h:118-119, src/media/firmware.cpp:28-34, src/media/game_db.h:309-314"
|
|
note: "Set for the UX, also used by the 1F/2F, 10F/20F, CX and UG."
|
|
|
|
- name: "fmtmarty.zip"
|
|
description: "FM Towns Marty firmware set"
|
|
system: "fmtowns"
|
|
category: bios_zip
|
|
path: "geartowns/fmtmarty.zip"
|
|
required: false
|
|
contents:
|
|
- { name: "mrom.m36", size: 2097152 }
|
|
- { name: "mrom.m37", size: 2097152 }
|
|
source_ref: "src/media/firmware.h:120, src/media/firmware.cpp:497-508, src/media/game_db.h:316-320"
|
|
note: >
|
|
The core checks the CRC32 of the slices it cuts from the two mask
|
|
ROMs, not of the files: System 937311F6, OS 2BC2AF96, Extension
|
|
E1A9FA72, 20-dot Font 75660AAC. The Marty 2 layout with separate
|
|
FMT_*.ROM and MAR_EX0.ROM to MAR_EX3.ROM files is read the same way.
|
|
|
|
- name: "fmtownshr.zip"
|
|
description: "FM Towns II HR firmware set"
|
|
system: "fmtowns"
|
|
category: bios_zip
|
|
path: "geartowns/fmtownshr.zip"
|
|
required: false
|
|
contents:
|
|
- { name: "fmthr_sys.rom", size: 262144, crc32: "8aeff982" }
|
|
- { name: "fmt_dos.rom", size: 524288 }
|
|
- { name: "fmt_fnt.rom", size: 262144 }
|
|
- { name: "fmt_dic.rom", size: 524288 }
|
|
- { name: "mytownshr.rom", size: 32, crc32: "c52f0e89" }
|
|
source_ref: "src/media/firmware.h:121, src/media/firmware.cpp:28-34, src/media/game_db.h:322-324"
|
|
note: "First choice for the HG; the HR itself is not emulated."
|
|
|
|
- name: "fmtownsftv.zip"
|
|
description: "FM Towns II Fresh TV firmware set"
|
|
system: "fmtowns"
|
|
category: bios_zip
|
|
path: "geartowns/fmtownsftv.zip"
|
|
required: false
|
|
contents:
|
|
- { name: "fmt_sys.rom", size: 262144, crc32: "afe4ebcf" }
|
|
- { name: "fmt_dos.rom", size: 524288 }
|
|
- { name: "fmt_fnt.rom", size: 262144 }
|
|
- { name: "fmt_dic.rom", size: 524288 }
|
|
- { name: "fmt_f20.rom", size: 524288, crc32: "9f55a20c" }
|
|
- { name: "mytownsftv.rom", size: 32, crc32: "a961aae7" }
|
|
source_ref: "src/media/firmware.h:122, src/media/firmware.cpp:28-34, src/media/game_db.h:326-329"
|
|
note: "Second choice for the HG; the MF/Fresh itself is not emulated."
|