mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05:00
Each standalone profile records where its version is read: the source at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package), or, where no reading can be made, kind unverified with the reason: a host the tools cannot read, a forge gone or not answering, no build recorded as read, a pin on another branch. Those keep their value, unconfirmed.
159 lines
6.1 KiB
YAML
159 lines
6.1 KiB
YAML
emulator: XM7
|
|
display_name: "Fujitsu - FM-7 (XM7/SDL)"
|
|
type: standalone
|
|
core_classification: other
|
|
source: "https://github.com/nakatamaho/XM7-for-SDL"
|
|
upstream: "http://retropc.net/ryu/xm7/"
|
|
profiled_date: "2026-10-20"
|
|
source_commit: "2a48dceaf8a3a0de92cf369b039ac5fab2bb351a"
|
|
core_version: "V3.4 L61a SDL/Agar 0.3.2pre2"
|
|
version_basis:
|
|
kind: file
|
|
path: "linux-sdl/vm/xm7.h"
|
|
pattern: '#if XM7_VER >= 3\n#define\s+VERSION\s+"(V[^"]+)"[\s\S]*?#else\n#define\s+LEVEL\s+"([^"]+)"[\s\S]*?#else\n#define\s+LOCALVER\s+"(SDL/Agar [^"]+)"'
|
|
format: "{1} {2} {3}"
|
|
cores:
|
|
- xm7
|
|
systems:
|
|
- fm7
|
|
- fm77av
|
|
mode: standalone
|
|
|
|
notes: |
|
|
K.Ohta's SDL and Agar port of PI.'s XM7, an FM-7, FM-77 and FM77AV series
|
|
emulator. The CMake build sets XM7_VERSION 3 (linux-sdl/CMakeLists.txt:23,
|
|
linux-sdl/cmake/config_xm7.cmake:20), the FM77AV40EX/SX level, so every ROM
|
|
path below is the XM7_VER >= 3 branch. RetroPie builds this repository with
|
|
OpenGL and OpenCL off.
|
|
|
|
ROMs are read by file_load (linux-sdl/sdl/sdl_file.c:21-59), which prepends
|
|
ModuleDir and reads a fixed byte count. A file shorter than that count is
|
|
refused and anything past it is ignored. main sets ModuleDir to $HOME/.xm7/,
|
|
or ./.xm7/ when HOME is unset (linux-sdl/sdl/windows_main.cpp:79-94). No hash
|
|
or checksum of any ROM is computed.
|
|
|
|
system_init stops at the first device whose init returns FALSE
|
|
(linux-sdl/vm/system.c:124-127, 171, 203). MainLoop then sets error code 1
|
|
and shows "Error init VM. Please check ROMS and system-memory."
|
|
(linux-sdl/ui-agar/agar_main.cpp:166-168, 546-548), and no machine runs. A
|
|
ROM whose absence makes its init return FALSE is required below.
|
|
|
|
The three drive sound effects are read with SDL_LoadWAV from RSSDIR, which
|
|
defaults to SHAREDIR, /usr/local/share/xm7/ (linux-sdl/sdl/build_config.h:76-86,
|
|
linux-sdl/sdl/api_snd2.cpp:660). The name is appended to that directory
|
|
without a separator, and each name is tried in lower case, upper case,
|
|
capitalized and as written (linux-sdl/sdl/api_snd2.cpp:213-267). A missing
|
|
WAV leaves its slot silent. HEADUP.WAV and HEADDOWN.WAV are compiled out
|
|
(linux-sdl/sdl/api_snd2.cpp:160-163).
|
|
|
|
USERDIC.DAT is the FM77-211 learning RAM. It is filled with 0xFF when absent
|
|
and written back by the emulator (linux-sdl/vm/jcard.c:77-82), so it is not
|
|
listed. JSUBMON.ROM, SUBSYS_8.ROM, SUBSYSL4.ROM, ANKCG16.ROM, the FM-8 and
|
|
FM-7 boot ROMs and FBASIC10.ROM are only read when XM7_VER is 1.
|
|
|
|
files:
|
|
- name: FBASIC30.ROM
|
|
description: "F-BASIC V3.0 ROM"
|
|
required: true
|
|
min_size: 31744
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:240, linux-sdl/vm/mainmem.c:211-217"
|
|
|
|
- name: INITIATE.ROM
|
|
description: "FM77AV initiator ROM"
|
|
required: true
|
|
min_size: 8192
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:241, linux-sdl/vm/mainmem.c:225-227"
|
|
note: "Patched in memory after loading to skip the boot delay of the old and new boot sequences (linux-sdl/vm/mainmem.c:229-262)."
|
|
|
|
- name: BOOT_MMR.ROM
|
|
description: "FM-77 MMR boot ROM"
|
|
required: false
|
|
min_size: 512
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:246, linux-sdl/vm/mainmem.c:287-290, linux-sdl/vm/jcard.c:100-108"
|
|
note: "Without it the hidden boot area of the extended ROM is filled from INITIATE.ROM offset 0x1a00."
|
|
|
|
- name: SUBSYS_C.ROM
|
|
description: "FM-7 sub system ROM"
|
|
required: true
|
|
min_size: 10240
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:252, linux-sdl/vm/submem.c:212-218"
|
|
|
|
- name: SUBSYS_A.ROM
|
|
description: "FM77AV type A sub system ROM"
|
|
required: true
|
|
min_size: 8192
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:255, linux-sdl/vm/submem.c:220-222"
|
|
|
|
- name: SUBSYS_B.ROM
|
|
description: "FM77AV type B sub system ROM"
|
|
required: true
|
|
min_size: 8192
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:256, linux-sdl/vm/submem.c:223-225"
|
|
|
|
- name: SUBSYSCG.ROM
|
|
description: "FM77AV character generator and sub system ROM"
|
|
required: true
|
|
min_size: 8192
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:257, linux-sdl/vm/submem.c:226-228"
|
|
|
|
- name: KANJI1.ROM
|
|
description: "JIS83 first standard kanji ROM"
|
|
required: true
|
|
min_size: 131072
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:259, linux-sdl/vm/kanji.c:85-87"
|
|
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI1.ROM the collection holds is the PC-88 kanji ROM, another machine's font."
|
|
|
|
- name: KANJI2.ROM
|
|
description: "JIS83 second standard kanji ROM"
|
|
required: true
|
|
min_size: 131072
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:263, linux-sdl/vm/kanji.c:98-102"
|
|
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI2.ROM the collection holds is the PC-88 second level kanji ROM, another machine's font."
|
|
|
|
- name: KANJI.ROM
|
|
description: "JIS78 first standard kanji ROM"
|
|
required: false
|
|
min_size: 131072
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:260, linux-sdl/vm/kanji.c:71-81, 128-133"
|
|
unsourceable: "XM7 checks no hash and its upstream distributes no dump. The KANJI.ROM files the collection holds are MSX and FPseNG fonts, not the Fujitsu ROM."
|
|
note: "Without it a JIS78 table is generated from KANJI1.ROM."
|
|
|
|
- name: DICROM.ROM
|
|
description: "FM77-101/FM77-211 dictionary ROM"
|
|
required: true
|
|
min_size: 262144
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:264, linux-sdl/vm/jcard.c:66-68"
|
|
|
|
- name: EXTSUB.ROM
|
|
description: "FM77AV40EX/SX extended sub system ROM"
|
|
required: true
|
|
min_size: 49152
|
|
validation: [size]
|
|
source_ref: "linux-sdl/vm/xm7.h:266, linux-sdl/vm/jcard.c:92-94"
|
|
|
|
- name: relay_on.wav
|
|
description: "Cassette relay on sound"
|
|
required: false
|
|
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-157, 213-267, 660"
|
|
|
|
- name: relayoff.wav
|
|
description: "Cassette relay off sound"
|
|
required: false
|
|
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-158, 213-267, 660"
|
|
|
|
- name: fddseek.wav
|
|
description: "Floppy drive seek sound"
|
|
required: false
|
|
source_ref: "linux-sdl/sdl/api_snd2.cpp:155-159, 213-267, 660"
|