Difference between revisions of "Macronix DSP"

From Rare Gaming Dump
(Adding MXIC DSP)
 
(I added gba decryption notes)
 
Line 13: Line 13:
 
  DSP-ADPCM
 
  DSP-ADPCM
  
== DSP Specs ==
+
==DSP Specs==
 
   Clock: 81MHz
 
   Clock: 81MHz
 
   Bits: 16bit
 
   Bits: 16bit
Line 25: Line 25:
 
   Sampling Frequency: 48KHz
 
   Sampling Frequency: 48KHz
  
== DSP Programs ==
+
==DSP Programs==
 
   Bootrom IPL microcode x2 (Macronix, Nintendo)
 
   Bootrom IPL microcode x2 (Macronix, Nintendo)
 
   DSP ARAM/Init microcode
 
   DSP ARAM/Init microcode
 
   Memory Card microcode - handles memory card security & unlocking
 
   Memory Card microcode - handles memory card security & unlocking
 
   Audio System(AX) microcode - mixing, filters, Dolby logic pro II, effects done on CPU
 
   Audio System(AX) microcode - mixing, filters, Dolby logic pro II, effects done on CPU
   JAudio(JSystem) microcode - mixing, filters, Dolby logic pro II, effects, channels, GBA in some games
+
   JAudio(JSystem) microcode - mixing, filters, Dolby logic pro II, effects, channels, GBA decryption in some games
 
   GBA Multiboot microcode - decrypts GBA multiboot program
 
   GBA Multiboot microcode - decrypts GBA multiboot program
  
== Homebrew DSP Programs ==
+
==Homebrew DSP Programs==
 
   ASnd microcode - mixing
 
   ASnd microcode - mixing
 
   AESnd microcode - mixing
 
   AESnd microcode - mixing
  
== Cyndanera Engine DSP Programs ==
+
==Cyndanera Engine DSP Programs==
 
   Sarah microcode - mixing, filters, Dolby logic pro II, effects, FM & PSG-Noise, GBA Decryption
 
   Sarah microcode - mixing, filters, Dolby logic pro II, effects, FM & PSG-Noise, GBA Decryption

Latest revision as of 18:00, 23 November 2024

Macronix DSP is a 16 bit programmable DSP coprocessor in the Nintendo GameCube\Wii\Wii U, it was manufactured by Macronix. It has it's own ADPCM hardware decoder to off load the DSP. It stores raw DSP data in the 16 MB of ARAM along with audio data, but ARAM also can store extra data such as textures, animations, for example.

Macronix DSP microcode is written in assembly you will require a assembler to assemble your code. asnd & aesnd is the homebrew dsp microcode that exist in devkitpro for the Nintendo GameCube.

JAudio(JSystem) DSP microcode also seems to contain these types

SRC_SQUARE_WAVE
SQUARE_WAVE_25PCT
SAW_WAVE
PCM8
PCM16
DSP-ADPCM

DSP Specs

 Clock: 81MHz
 Bits: 16bit
 Endian: Big
 Data RAM: 8KB
 Data ROM: 4KB
 Instruction RAM: 8KB
 Instruction ROM: 8KB (Macronix, Nintendo)
 Hardware Decoder: DSP-ADPCM
 Channels: 64
 Sampling Frequency: 48KHz

DSP Programs

 Bootrom IPL microcode x2 (Macronix, Nintendo)
 DSP ARAM/Init microcode
 Memory Card microcode - handles memory card security & unlocking
 Audio System(AX) microcode - mixing, filters, Dolby logic pro II, effects done on CPU
 JAudio(JSystem) microcode - mixing, filters, Dolby logic pro II, effects, channels, GBA decryption in some games
 GBA Multiboot microcode - decrypts GBA multiboot program

Homebrew DSP Programs

 ASnd microcode - mixing
 AESnd microcode - mixing

Cyndanera Engine DSP Programs

 Sarah microcode - mixing, filters, Dolby logic pro II, effects, FM & PSG-Noise, GBA Decryption