mirror of
https://github.com/imjasonh/nescript
synced 2026-07-08 17:06:04 +00:00
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 |
||
|---|---|---|
| .. | ||
| goldens | ||
| .gitignore | ||
| harness.html | ||
| package-lock.json | ||
| package.json | ||
| record_gif.mjs | ||
| run_examples.mjs | ||