Skip to content

XM7 emulates Fujitsu FM-7 and Fujitsu FM77AV. It reads 15 files, 10 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
Detail Value
Type standalone
Classification Other
Source https://github.com/nakatamaho/XM7-for-SDL
Upstream http://retropc.net/ryu/xm7/
Version V3.4 L61a SDL/Agar 0.3.2pre2
Revision nakatamaho/XM7-for-SDL@2a48dceaf8a3
Profiled 2026-10-20
Profile YAML, JSON
Cores xm7
Systems Fujitsu FM-7, Fujitsu FM77AV
Technical 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.

15 files: 10 required, 5 optional.

File Required
FBASIC30.ROM yes
INITIATE.ROM yes
SUBSYS_C.ROM yes
SUBSYS_A.ROM yes
SUBSYS_B.ROM yes
SUBSYSCG.ROM yes
KANJI1.ROM yes
KANJI2.ROM yes
DICROM.ROM yes
EXTSUB.ROM yes
BOOT_MMR.ROM no
KANJI.ROM no
relay_on.wav no
relayoff.wav no
fddseek.wav no

In this collection: 6 in repo, 6 missing and 3 unsourceable.

FBASIC30.ROM required in repo

F-BASIC V3.0 ROM

INITIATE.ROM required in repo

FM77AV initiator ROM

SUBSYS_C.ROM required in repo

FM-7 sub system ROM

SUBSYS_A.ROM required in repo

FM77AV type A sub system ROM

SUBSYS_B.ROM required in repo

FM77AV type B sub system ROM

SUBSYSCG.ROM required in repo

FM77AV character generator and sub system ROM

KANJI1.ROM required unsourceable

JIS83 first standard kanji ROM

  • Not collectable: 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. (acknowledged gaps)

KANJI2.ROM required unsourceable

JIS83 second standard kanji ROM

  • Not collectable: 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. (acknowledged gaps)

DICROM.ROM required missing

FM77-101/FM77-211 dictionary ROM

EXTSUB.ROM required missing

FM77AV40EX/SX extended sub system ROM

5 files

BOOT_MMR.ROM optional missing

FM-77 MMR boot ROM

  • Without it the hidden boot area of the extended ROM is filled from INITIATE.ROM offset 0x1a00.

KANJI.ROM optional unsourceable

JIS78 first standard kanji ROM

  • Without it a JIS78 table is generated from KANJI1.ROM.
  • Not collectable: 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. (acknowledged gaps)

relay_on.wav optional missing

Cassette relay on sound

relayoff.wav optional missing

Cassette relay off sound

fddseek.wav optional missing

Floppy drive seek sound

.