HOW WE CHECK

Accuracy, chip by chip.

Every number below comes from the conformance harness that runs before each release, never typed by hand. Four levels per chip: how closely the digital output matches a reference emulator, which community test ROMs pass, how closely the analog stage after the chip's DACs matches a real unit, and how much of the chip the shipped driver reaches. The method behind every section is in CONFORMANCE.md, and each chip's own sheet has the full detail.

Famicom Ricoh 2A03

in progress

Digital parity

Compared with Nes_Snd_Emu 0.1.7 (blargg): 3.9 % identical (3,577,340 of 92,173,307 cycles), 13 of 13 logs with any divergence.

First divergence: script-dmc, cycle 0, tri - ours 15, the oracle's 0.

Compared with Mesen 2 (b9fa69d, 2026-06-04): 65.8 % identical (60,662,173 of 92,173,307 cycles), 13 of 13 logs with any divergence.

First divergence: script-dmc, cycle 0, tri - ours 15, the oracle's 0.

Test ROMs

29 of 29 test ROMs pass.
  • apu_test/1-len_ctr: pass
  • apu_test/2-len_table: pass
  • apu_test/3-irq_flag: pass
  • apu_test/4-jitter: pass
  • apu_test/5-len_timing: pass
  • apu_test/6-irq_flag_timing: pass
  • apu_test/7-dmc_basics: pass
  • apu_test/8-dmc_rates: pass
  • apu_reset/4015_cleared: pass
  • apu_reset/4017_timing: pass
  • apu_reset/4017_written: pass
  • apu_reset/irq_flag_cleared: pass
  • apu_reset/len_ctrs_enabled: pass
  • apu_reset/works_immediately: pass
  • dmc_tests/buffer_retained: pass
  • dmc_tests/latency: pass
  • dmc_tests/status: pass
  • dmc_tests/status_irq: pass
  • apu_2005/01.len_ctr: pass
  • apu_2005/02.len_table: pass
  • apu_2005/03.irq_flag: pass
  • apu_2005/04.clock_jitter: pass
  • apu_2005/05.len_timing_mode0: pass
  • apu_2005/06.len_timing_mode1: pass
  • apu_2005/07.irq_flag_timing: pass
  • apu_2005/08.irq_timing: pass
  • apu_2005/09.reset_timing: pass
  • apu_2005/10.len_halt_timing: pass
  • apu_2005/11.len_reload_timing: pass

Analog stage

The mixer is measured against a real console's own recordings; the output filters are not measured yet.

  • square: -32.7 dB (console -32.2 dB)
  • triangle: -33.0 dB (console -30.9 dB)
  • noise: -13.8 dB (console -16.2 dB)
  • dmc: -31.0 dB (console -27.2 dB)

Driver coverage

The shipped driver reaches 4 of the chip's 5 voices.

Full sheet on GitHub ↗

Game Boy DMG APU

in progress

Digital parity

Compared with Gb_Snd_Emu 0.1.4 (blargg): 57.3 % identical (83,100,392 of 145,122,916 cycles), 7 of 7 logs with any divergence.

First divergence: script-envelopes, cycle 419432, ch1 - ours 0, the oracle's 15.

Compared with SameBoy (DMG-B): 94.8 % identical (137,606,353 of 145,122,916 cycles), 6 of 7 logs with any divergence.

First divergence: script-envelopes, cycle 427391, ch1 - ours 15, the oracle's 0.

Test ROMs

12 of 12 test ROMs pass.
  • dmg_sound/01-registers: pass
  • dmg_sound/02-len_ctr: pass
  • dmg_sound/03-trigger: pass
  • dmg_sound/04-sweep: pass
  • dmg_sound/05-sweep_details: pass
  • dmg_sound/06-overflow_on_trigger: pass
  • dmg_sound/07-len_sweep_period_sync: pass
  • dmg_sound/08-len_ctr_during_power: pass
  • dmg_sound/09-wave_read_while_on: pass
  • dmg_sound/10-wave_trigger_while_on: pass
  • dmg_sound/11-regs_after_power: pass
  • dmg_sound/12-wave_write_while_on: pass

Analog stage

Not measured yet. This stage is a placeholder, not a result.

Driver coverage

The shipped driver reaches 4 of the chip's 4 voices.

Full sheet on GitHub ↗

Mega Drive YM2612 + SN76489

in progress

Digital parity

Compared with Nuked-OPN2 1.0.12 (Nuke.YKT): 100.0 % identical (2,233,636,083 of 2,233,636,083 cycles), 0 of 8 logs with any divergence.

First divergence: none, every measured cycle is identical.

Compared with MAME sn76496 (Sega VDP PSG, 76c7d197): 89.1 % identical (1,990,757,028 of 2,233,636,083 cycles), 4 of 8 logs with any divergence.

First divergence: script-psg-edges, cycle 8054100, psg1 - ours 15, the oracle's 0.

Test ROMs

No community test ROM suite exists for this chip yet.

Analog stage

Not measured yet. This stage is a placeholder, not a result.

Driver coverage

The shipped driver reaches 4 of the chip's 10 voices.

Full sheet on GitHub ↗

Super Famicom S-DSP

in progress

Digital parity

Compared with snes_spc 0.9.0 (blargg): 100.0 % identical (23,859,200 of 23,859,200 cycles), 0 of 5 logs with any divergence.

First divergence: none, every measured cycle is identical.

Test ROMs

No community test ROM suite exists for this chip yet.

Analog stage

Not measured yet. This stage is a placeholder, not a result.

Driver coverage

The shipped driver reaches 4 of the chip's 8 voices.

Full sheet on GitHub ↗

C64 MOS 6581 SID

in progress

Digital parity

Compared with reSID-fp (libsidplayfp, drfiemost), as a 6581: 100.0 % identical (42,759,764 of 42,759,764 cycles), 0 of 11 logs with any divergence.

First divergence: none, every measured cycle is identical.

Also checked against a real 6581 (6581R4AR_3789_14): the combined-waveform bits before the DAC.

  • saw+triangle: 82.0 % of entries exact (3358 of 4096), 1500 of 32768 bits differ.
  • pulse+triangle: 83.1 % of entries exact (3404 of 4096), 922 of 32768 bits differ.
  • pulse+saw: 75.0 % of entries exact (3072 of 4096), 1623 of 32768 bits differ.
  • pulse+saw+triangle: 94.1 % of entries exact (3854 of 4096), 457 of 32768 bits differ.

Test ROMs

14 of 14 test ROMs pass.
  • busvalue/busvalue: pass
  • envelope/testADSRDelayBug: pass
  • osc_topbit/osc_topbit_test_noise_old: pass
  • osc_topbit/osc_topbit_test_pulse_old: pass
  • osc_topbit/osc_topbit_test_triangle_old: pass
  • osc3-wave0/osc3-wave0: pass
  • oscinit/allinit: pass
  • oscinit/noiseinit: pass
  • oscinit/oscinit: pass
  • resid-test/envrate: pass
  • resid-test/envsustain: pass
  • resid-test/envtime: pass
  • resid-test/noisetest: pass
  • ringmod/ringmodtest: pass

Analog stage

A profile built from public documentation, unmeasured against a real unit.

Driver coverage

The shipped driver reaches 3 of the chip's 3 voices.

Full sheet on GitHub ↗

Regenerated on every push from the harness's own numbers: pnpm --filter chipvoice-conform status writes this page's data file alongside the README board and every chip's sheet.