Overblog Tous les blogs Top blogs Jeux & Jeux Vidéo Tous les blogs Jeux & Jeux Vidéo
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Nintendo Gamecube Fans

Bienvenue sur ce petit blog ou vous trouverez des petites infos sur les différentes versions de jeux, de consoles et d'accessoires autours du GameCube.

Inhouse Audio System - BAudio

Publié le 16 Avril 2026 par Milo Charming Magician in Développement

Macronix 16-bit Audio DSP

This project develops BAudio, a custom audio engine designed for the Macronix 16-bit programmable DSP used in the Nintendo GameCube, Wii, and Wii U. The DSP acts as a slave processor dedicated to real-time audio processing, with built-in hardware support for DSP-ADPCM decoding to offload audio tasks from the CPU.

The system leverages 16 MB of ARAM to store PCM and ADPCM audio data, while also allowing additional game assets such as textures and animations. All DSP logic is implemented in assembly microcode, requiring careful instruction and memory optimization to operate efficiently within hardware constraints.
 

BAudio supports:

  • PCM playback
  • DSP-ADPCM playback
  • FM synthesis based on the Yamaha YM2612/SCSP
  • Audio mixing with ADSR envelopes
  • Resampling and pitch shifting
  • DSP effects including filtering and reverb
  • Dolby Pro Logic II style surround processing
  • Message-based command handling for flexible audio control
  • Waveforms: PSG, Noise, Triangle
  • CRI ADX-ADPCM decoding
     

Macronix Audio DSP Hardware

  • Clock: 81MHz (GameCube) / 121.5 MHz (Wii)
  • Data Width: 16-bit, Big Endian
  • Memory:
    • Data RAM: 8 KB
    • Data ROM: 4 KB
    • Instruction RAM: 8 KB
    • Instruction ROM: 8 KB
  • Built-in DSP-ADPCM decoder
  • Boot ROM containing initialization microcode and data tables
  • Message/mailbox-based CPU communication interface
  • DMA access to ARAM

 

Macronix DSP16 Development Kit

  • DSP IDE & Simulator – For writing, testing, and debugging DSP microcode in a virtual environment.
  • DSP Assembler – Converts assembly source code into machine instructions for the DSP.
  • DSP Linker – Links multiple object files and resolves addresses for DSP execution.
  • hex2bin – Converts hexadecimal output files into binary or C format for loading onto the DSP.
  • mxhex2h – Converts DSP hex files into C header files for integration with CPU-side code.

Macronix DSP16 Specs

Commenter cet article