This repository has been archived by the owner on Oct 5, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Audio Memory
coltonisgod234 edited this page Sep 17, 2024
·
5 revisions
The audio processing unit ("APU") in the system has 4 channels, and 4 voices per channel. each channel plays a different, non-configurable, type of wave, each channel plays a different wave:
OLD:
Ch # | Wave type | Byte indexes from 0x3000 |
---|---|---|
Ch 0 | Square | 0x00, 0x01, 0x02, 0x03 |
Ch 1 | Triangle | 0x04, 0x05, 0x06, 0x07 |
Ch 2 | Sawtooth | 0x08, 0x09, 0x0a, 0x0b |
Ch 3 | Sine | 0x0c, 0x0d, 0x0e, 0x0f |
The high nibble of each byte holds an index into a table of frequencies (APU_PITCH_TALBE
) the low nibble holds an index into a table of volume levels (currently not implemented)
NEW DESIGN (old one fucking sucks):
Ch # | Wave type | Format |
---|---|---|
Ch 0 | Square melody | pitch table |
Ch 1 | Triangle | pitch table |
Ch 2 | Sine wave | pitch table |
Ch 3 | Noise | pitch table |
Ch 4 | Reserved | Reserved |
Ch 5 | Pulse wave | speed table |
Ch 6 | Square misc | pitch table |
Ch 7 | Triangle melody | pitch table |
Ch 8 | Triangle misc | pitch table |
Ch 9 | Pulse wave #2 | pitch table |
Ch 10 | configuration byte | config |
PixelPulse 6502 Is Licensed Under The GNU GPL v3.0
This Wiki Is Very Unfinished, As Well As This Whole Project
- The system itself