Difference between revisions of "Hardware/Macronix DSP"

m (updated dsp page)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Macronix DSP is a 16 bit programmable DSP coprocessor in the Nintendo GameCube\Wii\Wii U it was manufactured by Macronix.  
+
Macronix DSP is a 16 bit programmable DSP(Slave Processor) 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 has it's own ADPCM hardware decoder to off load the DSP.  
Audio Data is stored in Mem1 or Mem2
+
16 MB of ARAM stores PCM\ADPCM, but ARAM also can store extra data such as textures, animations, data, for example.  
In Wii mode the clock speed has changed from 81MHz to 121.5MHz.
 
  
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\Wii.  
+
Macronix DSP microcode is written in assembly you will require a assembler to assemble your code. asnd & aesnd is the homebrew dsp microcode that exists in libogc for the Nintendo GameCube\Wii, can mix up to 64 channels(AX\JAudio) and 16 or 32 channels(ASnd\AESnd) respectively in software.
  
JAudio(JSystem) DSP microcode also seems to contain these types:
+
JAudio(JSystem) DSP microcode also seems to contain these types
 
  SRC_SQUARE_WAVE
 
  SRC_SQUARE_WAVE
 
  SQUARE_WAVE_25PCT
 
  SQUARE_WAVE_25PCT
Line 13: Line 12:
 
  PCM16
 
  PCM16
 
  DSP-ADPCM
 
  DSP-ADPCM
 
Sarah DSP microcode(UCode) is written by Milo Charming Magician for the MXIC 16-bit DSP Slave Processor:
 
Reverb, Dolby Logic Pro II, Pitch Modulation, FIR Filter
 
PCM8, PCM16, DSP-ADPCM, FM, PSG-Wave, PSG-Noise
 
LFO, PG, EG(ADSR), Channel Control(Volume, Panning, Keyon, Keyoff)
 
Particle Systems, Animation, and GBA Multiboot Decryption.
 
  
 
== DSP Specs ==
 
== DSP Specs ==
Line 34: Line 27:
 
   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
+
   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 done on DSP
 
   GBA Multiboot microcode - decrypts GBA multiboot program
 
   GBA Multiboot microcode - decrypts GBA multiboot program
  
Line 41: Line 34:
 
   ASnd microcode - mixing
 
   ASnd microcode - mixing
 
   AESnd microcode - mixing
 
   AESnd microcode - mixing
 
== Cyndanera DSP Programs ==
 
  Sarah microcode - Audio System(Mixing\FX\DLP2\FM\PSG\Noise), Particle Systems, Animation, GBA Decryption
 
  
 
[[Category:Hardware]]
 
[[Category:Hardware]]

Latest revision as of 02:11, 29 January 2025

Macronix DSP is a 16 bit programmable DSP(Slave Processor) 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. 16 MB of ARAM stores PCM\ADPCM, but ARAM also can store extra data such as textures, animations, data, 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 exists in libogc for the Nintendo GameCube\Wii, can mix up to 64 channels(AX\JAudio) and 16 or 32 channels(ASnd\AESnd) respectively in software.

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(GC) or 121.5MHz(Wii)
 Bits: 16bit
 Endian: Big
 Data RAM: 8KB
 Data ROM: 4KB
 Instruction RAM: 8KB
 Instruction ROM: 8KB (Macronix, Nintendo)
 Hardware Decoder: DSP-ADPCM

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 done on DSP
 GBA Multiboot microcode - decrypts GBA multiboot program

Homebrew DSP Programs

 ASnd microcode - mixing
 AESnd microcode - mixing