FM Sound Synthesizer Unit programming
This page was last modified 23:37, 9 February 2021 by Mars2000you. Based on work by Gdx.

Cartridge Detection

There are two versions of the FM Sound Synthesizer Unit:

  • the SFG-01 that has a 16kB ROM (0000h-3FFFh) mirrored on all other pages
  • the SFG-05 that has a 32kB ROM (0000h-7FFFh).

To found it and determinate the version, you must read the bytes from 0080h to 0088h in the slots. These bytes must contain the following data:

  • 0080h-0085h contain the string "MCHFM0".
  • 0086h contains the ROM serial.
  • 0087h contains the ID of FM sound chip type. (This byte is always 0 in all ROMs I found so OPM and OPP seem not differentiated, help us to confirm it please)
  • 0088h contains the ROM version. Most significant 4bits correspond to the major version (0 for v1, 1 for v2, etc) and least significant 4bits indicate the revision. (Basically, you can consider that 0~0Fh is for SFG-01 and 10h or more for SFG-05.)