Classroom Glossary Public page

Week 8: Audio, Video, and HDMI on MiSTer

The NES output pixels at NTSC and sound at sample rate. MiSTer wraps those signals through scaling, framebuffering, and HDMI encoding to land them on a modern monitor. This week you trace that path and produce a visible or audible artefact by modifying the audio mix.


Reading

  • Copetti, the audio + video sections of the NES writeup; revisit with the MiSTer scaler context.
  • MiSTer-devel docs, the scaler-and-audio section.
  • Altice, I Am Error, the chapter on Famicom audio. Sets up why the APU choices became the sonic signature of the console.

Lecture

Roughly three hours across two sessions. Key arc:

  • From PPU pixels to HDMI. Scaler, line buffer, video timing generator.
  • From APU samples to stereo line-out. Mix bus, DAC, output stage.
  • Why MiSTer scales rather than passes through raw NTSC. The HDMI sync constraint.
  • Audio mix modification. The five-line change that adds reverb.
  • Lag accumulation across the scaler. The competitive-gaming pedagogical aside.

Lab pack

Lab Pack 8 traces the HDMI output path and modifies the audio mix. See Lab Pack 8: HDMI Output Path Trace.

Classroom tools

  • SPK-101 classroom: NES APU inspector. Already-shipped, drops you into the live APU channel data.
  • Quartus Prime Lite for the MiSTer compile.
  • iverilog plus yosys for the synthesise-then-verify loop on the academy-mirror core if you are taking the no-DE10 path.

Architecture comparison sidebar

Modern game consoles do scaling in dedicated silicon and report sub-frame latency. MiSTer does it in soft logic on a 2014 Cyclone V and the cost shows up as a frame or two of lag. The pedagogical point is that the scaler is a real subsystem with real cost, and 'free upscaling' is never free.

Reflection prompts

  1. How many clock cycles does the MiSTer scaler add between PPU pixel and HDMI pixel?
  2. If you remove the line buffer entirely and pass raw NTSC, what breaks?
  3. Why does MiSTer mix stereo even though the NES is mono?

What is next

Module 9 closes the analyze-not-copy loop by mapping the NES's memory-mapped I/O pattern against the SB6141 cable modem you will reverse in RE-101.