Files
RISC-B/docs/memory.md
2025-02-18 14:44:08 +01:00

1.9 KiB
Raw Permalink Blame History

Memory Map Documentation

PCM Buffer

Function Address
PCM Voice Buffer (High Byte) 0xDF00
PCM Voice Buffer (Low Byte) 0xDF01

If you want to write to both, write low byte first

Voice Generators

Voice Volume Waveform Phase Frequency (High Byte, write last) Frequency (Low Byte)
Voice 0 0xDF02 0xDF03 0xDF04 0xDF05 0xDF06
Voice 1 0xDF07 0xDF08 0xDF09 0xDF0A 0xDF0B
Voice 2 0xDF0C 0xDF0D 0xDF0E 0xDF0F 0xDF10

Display Controls

Display Address
Display A 0xDF12
Display B 0xDF13
Display C 0xDF14
Display D 0xDF15
Display E 0xDF16
Display F 0xDF17
Display G 0xDF18
Display H 0xDF19

Switch Inputs

Switch Bank First 2 rows Address Last 2 rows Address
Switches A 0xDF20 0xDF21
Switches B 0xDF22 0xDF23
Switches C 0xDF24 0xDF25
Switches D 0xDF26 0xDF27

GPU Memory

  • Base Address: 0xEF00
  • Size: 160 × 160 pixels
  • End Address: 0xEF00 + (160 × 160) = GPU_END
  • Color Encoding:
    • Red: Bits [7:5] scaled (0-7 → 0-255)
    • Green: Bits [4:2] scaled (0-7 → 0-255)
    • Blue: Bits [1:0] scaled (0-3 → 0-255)
    • Pixels are stored in a texture-compatible RGBA8888 format.

Memory Operations