Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

APU (Audio Processing Unit)

  • https://www.nesdev.org/wiki/APU
  • https://www.emulationonline.com/systems/nes/apu-audio/
채널
Pulse 1
Pulse 2
Triangle
Noise
DMC

레지스터

$4000PULSE1_CONTROL_REGISTER# DDLC VVVV (duty, length halt, constant vol, volume)
$4001PULSE1_SWEEP_REGISTER# EPPP NSSS (enable, period, negate, shift)
$4002PULSE1_TIMER_LOW_REGISTER# TTTT TTTT (timer low 8 bits)
$4003PULSE1_TIMER_HIGH_REGISTER# LLLL LTTT (length index, timer high 3 bits)
$4004PULSE2_CONTROL_REGISTER
$4005PULSE2_SWEEP_REGISTER
$4006PULSE2_TIMER_LOW_REGISTER
$4007PULSE2_TIMER_HIGH_REGISTER
$4008TRIANGLE_LINEAR_REGISTER# CRRR RRRR (control flag, linear reload)
$400ATRIANGLE_TIMER_LOW_REGISTER
$400BTRIANGLE_TIMER_HIGH_REGISTER
$400CNOISE_CONTROL_REGISTER# –LC VVVV (length halt, constant vol, volume)
$400ENOISE_MODE_PERIOD_REGISTER# M— PPPP (mode, period index)
$400FNOISE_LENGTH_REGISTER# LLLL L— (length index)

Pulse

Triangle

Noise

DMC (Delta Modulation Channel)

  • https://www.nesdev.org/wiki/APU_DMC

  • DPCM(Delta Pulse Code Modulation)

    • DMC 채널이 사용하는 오디오 인코딩 방식