Tetorica VGM Analyzer — Sound chip support
This is the browser Analyzer's support table, also available in the app's Sound chip support dialog. It can be read without running the player or loading a music file.
Playback and analysis have different coverage. “—” means the feature is not currently available. This list describes implemented features, not a guarantee for every track or chip combination.
| Chip | Playback | ON/OFF | State display | Note-ish | Voice / Export |
|---|---|---|---|---|---|
| YM2612 | FM + DAC Seek cache | 6 FM CH, PSG | Operator Info | FM + PSG tone | TFI / VGI, audition, MIDI, MML, LilyPond |
| YM2203 | FM + SSG Seek cache | 3 FM CH, SSG | Operator Info / SSG | FM + SSG tone | TFI / VGI, audition, MIDI, MML, LilyPond |
| YM2608 | FM + SSG + Rhythm + ADPCM-B Seek cache | FM CH, SSG / Rhythm / ADPCM-B | Operator Info / SSG | FM + SSG tone | TFI / VGI, audition, MIDI, MML, LilyPond |
| YM2610 / YM2610B | FM + SSG + ADPCM-A/B Seek cache | 4 / 6 FM CH, SSG / ADPCM-A/B | Operator Info / SSG | FM + SSG tone | TFI / VGI, audition, MIDI, MML, LilyPond |
| YM2151 / YM2164 (OPM / OPP) | 8 FM CH Seek cache | 8 CH | Operator Info | FM | OPM Info, audition, OPM ZIP / snapshot, approximate TFI ZIP / snapshot, MIDI, MXDRV MML / FM-only MDX file, LilyPond |
| Sega PSG | Tone + noise Seek cache: standalone / Genesis / YM2151 / YM2164 | PSG group | PSG monitor | Tone | Tone MIDI / LilyPond; no FM voice export |
| RF5C164 | PCM (Mega-CD) Seek cache: Genesis configuration | PCM group | PCM monitor / samples | — | Sample explorer |
| 32X PWM | MAME-derived PWM Seek cache: Genesis configuration | PWM group | PWM / samples | — | Sample explorer |
| YM2413 | OPLL | 9 CH; rhythm groups | Operator Info | FM (base pitch); rhythm channels have no single pitch | Base-pitch MIDI / LilyPond, MGSDRV MML (9-sound mode; rhythm omitted except Bass Drum); no FM voice snapshot export |
| YMF262 (OPL3) | 2OP / 4OP / rhythm | 18 CH; 4OP pairs / rhythm groups | SBI Info | Note-ish / Sheet Music base pitch (2OP / 4OP) | SBI 2OP / 4OP, audition, ZIP / snapshot; MIDI / MusicXML / LilyPond; rhythm omitted, 4OP pairs use leading CH; MIDI requires multi-port support; register JSON snapshot |
| YM3526 / YM3812 | OPL / OPL2 | 9 CH | Voice / Operator Info, SBI Info | FM base pitch; rhythm CH7–9 and CSM omitted | SBI, audition, ZIP / snapshot; MIDI / MusicXML / LilyPond; OPL register-state voice snapshot JSON (no TFI/VGI conversion) |
| Y8950 | FM + ADPCM | 9 FM CH, ADPCM, chip | FM operators / register snapshot, SBI Info | 9 FM CH base pitch / Sheet Music | SBI, audition, ZIP / snapshot; MIDI / MusicXML / LilyPond; ADPCM, rhythm CH7–9 and CSM omitted. No instrument editing. |
| YMF278B | OPL4 FM + PCM | 18 FM CH, 24 PCM CH | SBI Info (FM) | FM base pitch (2OP / 4OP), Live / Song / Sheet Music; PCM and rhythm omitted | FM SBI 2OP / 4OP, audition, ZIP / snapshot; FM MIDI (multiple ports) / MusicXML / LilyPond; PCM Sample Explorer: key-on snapshots, waveform, one-pass preview / WAV; external Wave ROM when required; register JSON snapshot |
| AY-3-8910 / YM2149 | Tone + noise + envelope | 3 CH, chip | AY Operator Info | Tone | Tone MIDI / LilyPond, MGSDRV MML (PSG tracks; adds YM2413 FM tracks when mixed) |
| K051649 / K052539 (SCC / SCC+) | 5-channel wavetable; mixed with MSX AY/YM2413/Y8950 | 5 CH, chip | — | Wavetable base pitch; Live / Song / Sheet Music | MIDI / MusicXML / LilyPond, including MSX mixtures; waveform harmonics and rewriting omitted |
| Atari POKEY (single / dual) | 4 voices per chip; tone, polynomial noise and volume-only output | 4 / 8 CH, independent chip mixer | Register state, shared clocks, joined pairs, filters, noise and DAC modes | — | Playback / pause / normal seek / WAV. No score, MIDI, FM voice or instrument export; no seek checkpoint cache or analog board model. |
| WonderSwan | 4-channel wavetable, Voice PCM, sweep, noise (MAME) | 4 CH, chip / mixer | Wave / Voice PCM / Sweep / Noise | 4 CH wavetable base pitch; Live / Song. Voice PCM, sweep and noise intervals omitted from notes. | MIDI / MusicXML / LilyPond / WAV; wave RAM graph, preview and JSON / code / WAV export; timed Voice PCM capture with JSON / WAV export. Unplayed RAM is listed separately. No instrument editing or seek cache. Hyper Voice / DMA and dual-chip / variant files unsupported. |
| HuC6280 / PC Engine CD | 6-channel wavetable, DDA, noise, LFO (MAME); optional MSM5205 ADPCM | 6 CH + ADPCM toggle / mixer | Wave / PCM-DDA / Noise / LFO | 6 CH base pitch; Live / Song. DDA, noise, LFO and ADPCM omitted from notes. | MIDI / MusicXML / LilyPond; WAV includes ADPCM. Instrument editing and dual unsupported. |
| MSM5205 | 3/4-bit ADPCM; VGM 1.72 command 0x32 | ADPCM toggle / mixer | Parsed register writes | — | Playback / normal seek / WAV; reset, FIFO, prescaler and external VCLK. No note or sample export; MSM6585 and dual unsupported. |
| Other supported chip combinations | Automatic composition from the VGM header; WAV export | Chip (Genesis FM/PSG/RF5C164/PWM grouped) | — | — | Normal seeking; no combined note/voice analysis or checkpoints. Existing ROM, variant and dual-chip restrictions apply. |
| OKIM6295 | 4-voice ADPCM; standalone or with YM2151 / YM2164 (CPS-1 sound configuration), or YM3812 | Chip (single toggle) | — | — | Embedded ROM, clock/pin7 changes, standard and NMK112 banks; normal seeking; no sample/voice export |
| OKIM6258 | 4-bit ADPCM; standalone or mixed Seek cache: with YM2151 / YM2164 only | Chip (single toggle) | Sample Explorer | — | Timed ADPCM register captures / JSON / ZIP, decoded waveform, stereo preview / WAV (up to 10 s); play/stop intervals, not recovered instruments; preview restarts divider phase |
| Sega PCM (315-5218) | 16-voice 8-bit PCM; standalone, mixed with Sega PSG, or mixed with YM2151 / YM2164 Seek cache: with YM2151 / YM2164 only | 16 CH, chip | Sample Explorer | — | Unsigned 8-bit ROM snapshots, usage / bank / loop settings, waveform, raw PCM / ZIP and one-pass stereo preview / WAV; no wrapped ranges or live automation |
| NES APU + FDS (NTSC) | 2 pulse + triangle + noise + DMC; optional FDS wavetable Seek cache | 5 CH + optional FDS CH6 | — | Pulse / triangle / FDS base pitch; FDS modulation and timed envelopes omitted | MIDI / MusicXML / LilyPond; no MML or voice export. PAL/dual unsupported. |
| Game Boy DMG (LR35902) | 2 square + wave + noise Seek cache | 4 CH, chip | — | CH1/CH2 square + CH3 wave (base pitch); CH4 noise has no pitch | Base-pitch MIDI / LilyPond; no MML or FM/PCM voice export |
| SNES SPC700 / S-DSP | SPC snapshot; CPU + 8-voice DSP at 32,000 Hz | 8 voices in SPC / BRR | Captured DSP / voice registers | 8-voice Live / Pitch / Song Timeline; BRR reference estimates and manual correction | BRR waveform, decoded preview, BRR / WAV / metadata; normal seeking from original file. Analyzed base-pitch MIDI / Sheet Music / MusicXML / LilyPond; no VGM command conversion. |
- Seek cache: speeds up seeking by restoring a saved playback position and replaying only the remaining interval. Available for OPN (YM2203 / YM2608 / YM2610 / YM2610B), Genesis configurations (YM2612 / Sega PSG / RF5C164 / 32X PWM), YM2151 / YM2164 with optional Sega PSG / Sega PCM / OKIM6258, Game Boy DMG, and NES APU with optional FDS (NTSC). Every active chip must support restoration. Genesis or OPN mixed with OKIM6258, standalone Sega PCM / OKIM6258, and rows without a Seek cache label use normal seeking. Previously visited positions may be faster while their checkpoints remain cached; uncached sections still need replay. Changing the track, ROM or playback settings can invalidate the cache.
- YM2164 (OPP): selected by the VGM YM2151 clock field's bit 31. Shares the OPM analysis/export path; Timer B runs at half the YM2151 rate. Undocumented registers 0x00–0x07 are not emulated specially. Mixing with MSX AY / OPLL / Y8950 / SCC / SCC+ is supported. A second OPM/OPP chip is not supported. Playback, seeking, Timer B and note/voice extraction are covered by synthetic VGM tests; real SFG tracks have not yet been verified.
- S98: one YM2203, YM2608 or YM2612 device. Compressed S98 and multiple devices are not supported.
- SPC: accurate snes_spc CPU/DSP core. Tag length and fade are used; untagged files default to 180 seconds, with a one-hour transport limit. Note-ish and Sheet Music share background interval analysis and BRR fundamental estimates; uncertain samples use provisional C4. Reference corrections apply to displays and MIDI / MusicXML / LilyPond, never SPC playback. Only the completed analyzed interval is exported. MIDI retains timing and pitch bends; scores use semitone pitches, a 1/16 grid and assumed 4/4 with adjustable BPM. Noise has no note; pitch modulation shows its base pitch. Audible envelopes, release, echo and later held-sample RAM edits are not transcribed. Raw BRR previews omit DSP envelopes and echo. Host transfers, complete IPL ROM requirements, and real-game compatibility need individual verification. No game data or Nintendo IPL ROM is bundled.
- MSX mix: YM2151 / YM2164 + Y8950 + AY + YM2413 + K051649 / K052539 (SCC / SCC+) playback, per-chip/channel controls, Live / Song Note-ish and MIDI / MusicXML / LilyPond export. AY noise, Y8950 ADPCM/rhythm/CSM and OPLL rhythm other than Bass Drum are omitted. SCC uses waveform repeat pitch; constant waves, halted periods and test frequency modes are omitted. More than 15 melodic tracks require multi-port MIDI playback. OPM/OPP noise, partial key masks and CSM are omitted. MSX mixtures use normal seeking; mixed voice export and Operator Info are not available. When OPM/OPP is present, its FM-only MXDRV MML / MDX export is available. A second instance of any chip and mixtures with YMF278B (OPL4) are not supported.
- PCM / ADPCM sheet music: SPC BRR base-pitch transcription is experimental; other sample-based parts remain TODO. Playback pitch alone does not determine the note name: the original sample's reference pitch must also be known or estimated. Drums and sound effects may have no definite pitch.
- Sample memory: some YMF278B tracks need an imported yrw801.rom (2 MiB). YM2608 rhythm playback uses the ADPCM-A ROM. YM2610 ADPCM uses the VGM's embedded ROM data. OKIM6258 needs no external sample ROM.
- OKIM6295: uses embedded VGM ROM blocks (0x8B). Second instances and DAC stream destinations are not supported. YM2151 and YM3812 mixing is tested with synthetic ROM data and the real FM core; commercial game tracks have not been audited. OKIM6295 mixtures use normal seeking, without snapshots.
- OKIM6258: 3-bit ADPCM, recording and a second instance are not supported. YM2151 mixing is covered by synthetic tests with real cores.
- Sega PCM: an arcade chip (OutRun, Space Harrier, System 16/18/24, ...), not a stock Genesis/Mega Drive cartridge chip. ROM bank shift/mask come from the VGM header's interface register. Mixes with Sega PSG and/or YM2151 (e.g. OutRun). A second instance is not supported.
- WonderSwan: single-chip playback supports wavetable RAM writes and Voice PCM / sweep / noise. Note-ish and score exports infer only the written wavetable base frequency; CH2 Voice PCM, CH3 sweep and CH4 noise intervals are omitted. Waveform harmonics and RAM rewriting are not inferred. Wave RAM snapshots can be graphed, auditioned and exported as JSON / code / WAV. Timed Voice PCM captures preserve byte timing and hardware routing, split into at most 10-second windows, with JSON / WAV export. Unplayed RAM candidates are separate. Instrument editing is unavailable. Seeking replays from the beginning; no checkpoint cache. Hyper Voice / DMA and dual-chip / variant files are unsupported.
- Game Boy DMG: not mixed with any other chip yet. The DMG wave-RAM corruption glitch (retriggering channel 3 at an exact bad moment) is not reproduced. Note-ish/MIDI/LilyPond are write-driven approximations: length-counter timeout and channel 1 frequency sweep are time-based and not reconstructed from register writes.
- Note-ish / MIDI / MML: estimated base pitches and key intervals; PCM/drums and all modulation are not transcribed. MML uses a sixteenth-note grid. OPN exports target MUCOM88 / OPNAvoid; YM2151 / YM2164 targets MXDRV MML or compiled FM-only MDX. MDX has no PDX; noise, partial keys, CSM, live register changes, pan and LFO are not replayed.
- DAC streams: first-instance YM2612, Sega PSG, PWM, OKIM6258, HuC6280 and WonderSwan destinations are supported. Other destinations are warned about and omitted.
- All / Snapshot: All collects voices across the track; Snapshot captures the current channel states. Unsupported chips and features can leave parts of a track silent; check the playback warning area.
Check a specific file with the CLI
Browser and CLI coverage can differ. To inspect the chips recognized in a file and the available operations with your installed CLI version, run:
npx tetorica-vgm support song.vgz --json