# SPU2 Contract

Status: `Draft`

## Purpose

Define the audio subsystem boundary.

## Owns

- SPU2 register-visible state,
- SPU2 RAM interface,
- DMA/AutoDMA coordination,
- audio sample generation/mixing,
- handoff into retroDE audio output.

## Inputs

- IOP-side register writes,
- DMA traffic,
- reset/clocking controls.

## Outputs

- audio samples or intermediate audio stream,
- interrupt/status signals,
- trace events.

## Questions to lock

- Is any audio required before first "system boot" milestone?
- What is the first useful milestone:
  - register visibility only
  - DMA playback path
  - simple tone / RAM playback
- Where should final resampling/adaptation to platform audio occur?

## Allowed early stubs

- register-visible no-audio model,
- test-tone generator,
- RAM playback without full SPU2 effects path.
