1
0
Fork 0
mirror of https://github.com/imjasonh/nescript synced 2026-07-08 17:06:04 +00:00
nescript/tests/emulator
Claude 9b54ff83c0
audio: always enable all four tone channels on sfx trigger
Writing $07 in `emit_play_triangle` and $0B in `emit_play_noise`
meant that a noise play following an in-progress triangle note
would clear bit 2 of $4015 and cut the triangle off mid-envelope
(and vice versa). Write $0F from both paths so every trigger keeps
pulse1, pulse2, triangle, and noise enabled; channels with no
active envelope stay silent via the runtime's per-channel counter
gating. Also fixes the attribute-byte packing comment in
`png_to_nametable` — the code was correct, the doc string had the
quadrant order backwards.

The only observable ROM change is `examples/noise_triangle_sfx.nes`
(two immediate operands shift) and its audio hash golden; the
committed PNG golden is byte-identical. Found in independent code
review after the section landed.

https://claude.ai/code/session_01MaNVcDmK9gsspRkdxowQAM
2026-04-14 12:09:46 +00:00
..
goldens audio: always enable all four tone channels on sfx trigger 2026-04-14 12:09:46 +00:00
.gitignore tests/emulator: byte-exact golden-image diffs 2026-04-12 21:30:18 +00:00
harness.html tests/emulator: record audio goldens alongside screenshots 2026-04-12 22:33:48 +00:00
package-lock.json platformer: end-to-end side-scroller demo + three runtime bug fixes 2026-04-13 13:04:26 +00:00
package.json platformer: end-to-end side-scroller demo + three runtime bug fixes 2026-04-13 13:04:26 +00:00
record_gif.mjs docs: regenerate platformer.gif and lock it as a CI invariant 2026-04-13 18:04:17 +00:00
run_examples.mjs tests/emulator: record audio goldens alongside screenshots 2026-04-12 22:33:48 +00:00