Test ROMs and NSFs for NES and Famicom expansion audio.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
cc65
misc
vrc7_patches
.gitignore
clip_5b.s
clip_5b_build.bat
clip_5b_table.ods
clip_vrc7.s
clip_vrc7_build.bat
db_5b.s
db_5b_build.bat
db_apu.s
db_apu_build.bat
db_fds.s
db_fds_build.bat
db_mmc5.s
db_mmc5_build.bat
db_n163.s
db_n163_build.bat
db_vrc6.s
db_vrc6_build.bat
db_vrc7.s
db_vrc7_build.bat
lfo_vrc7.s
lfo_vrc7_build.bat
noise_5b.s
noise_5b_build.bat
noise_vrc7.s
noise_vrc7_build.bat
patch_vrc7.s
patch_vrc7_build.bat
readme.md
sine_5b.inc
sine_dmc.inc
sine_table.py
swap.inc
swap.s
swap_fds.cfg
swap_fds.s
swap_nes.cfg
swap_nsf.cfg
sweep_5b.s
sweep_5b_build.bat

readme.md

nes-audio-tests

Test ROMs and NSFs for NES and Famicom expansion audio. This collection is for testing various details of audio, and verifying emulator implementation. Pre-built ROMs can be found in the build/ folder.

Relative volume tests:

  • db_apu - Full volume APU square vs. APU triangle.

  • db_vrc6 - Full volume APU square vs. full volume VRC6 square. Hotswap.

  • db_vrc7 - Full volume APU square vs. full volume VRC7 pseudo-square (2:1 modulator at 50%, full feedback). Hotswap.

  • db_fds - Full volume APU square vs. full volume FDS square. Hotswap.

  • db_mmc5 - Full volume APU square vs. full volume MMC5 square. Hotswap.

  • db_n163 - Full volume APU square vs. full volume N163 square, 1 channel mode. Hotswap.

  • db_5b - Full volume APU square vs. volume 12 5B square. Hotswap.

    I am collecting results from these volume tests for a survey. Information is available here:

Hotswap test ROMs are to be loaded on a suitable dev cart. On reset they copy their code to RAM and begin executing there. A buzz will be played through the DMC channel to indicate it is ready, and it will wait ~4 seconds for you to pull out the cartridge, then insert an appropriate expansion audio cartridge. Another buzz will indicate the code is still running before the test begins. After completing the cart will repeat the test. (Hotswapping frequently causes a crash, so it may take multiple attempts.) NROM versions of the hotswap ROMs may be used if the dev cart does not support the original mapper.

Some people are uncomfortable with the idea of hotswapping cartridges. It has been safe in my experience, doing it hundreds of times, but I cannot guarantee it's a 100% safe procedure. All I can say is that it's been worth the risk for me to be able to test these things. Do not hotswap your cartridges if you don't accept this risk.

Other tests: (these are not survey tests, merely part of my personal ongoing investigations)

  • patch_vrc7 - Comparison of prospective VRC7 built-in patch set against the actual set. Hotswap.
  • lfo_vrc7 - Demonstration that the LFO can be reset by flipping bit 7 of $E000 on and off.
  • clip_vrc7 - Demonstration of clipping in the VRC7 amplifier.
  • clip_5b - Demonstration of compression in the 5B amplifier.
  • noise_vrc7 - White noise to characterize the VRC7 filters.
  • noise_5b - White noise to characterize the 5B filters.
  • sweep_5b - Frequency sweep and noise to characterize the 5B filters. (Good for APU too.)

Notes:

  • swap.s - common code for hotswap tests

Building:

License:

  • These files may be freely redistributed and modified for any purpose. Credit to the original author and/or a link to the original source would be appreciated, but is not required.