Super Mario Music Overview

I took a class on DSP System Development and one subject learned I found interesting was digital resonators.  I made an expansion board for the DSP development kit we were using in class.  The board included a 128 X 64 graphical LCD.  I wrote a program that plays the outdoor music from the original Super Mario Brothers NES game and shows a simple graphic on the LCD.  I had disassembled the sound engine from Super Mario Brothers so I had the source code for the music as a starting point.  As part of the project, I had to also design a low pass filter to remove high frequency popping noises from the output audio stream.  The issue is that the digital resonators change their frequency abruptly and cause the output audio stream to create a significant popping noise during the note transitions.  The digital filter removes the popping noises.  Also, an optional echo effect was added to the project.


Super Mario Music PCB Pictures

Expansion PCB top

Expansion PCB top

Expansion PCB Bottom

Expansion PCB Bottom

Super Mario Music Project Disassembled

Super Mario Music Project Disassembled

Super Mario Music Project Assembled

Super Mario Music Project Assembled

 
Super Mario Music Display Screenshot

Super Mario Music Display Screenshot

 

Super Mario Music PCB Schematic

Expnsion Board Schematic Page 1

Expnsion Board Schematic Page 1

Expansion Board Schematic Page 2

Expansion Board Schematic Page 2


Super Mario Music PCB Design

 
Main PCB Top Layer

Main PCB Top Layer

Main PCB Bottom Layer

Main PCB Bottom Layer

 
Main PCB Power Layer

Main PCB Power Layer

Main PCB Ground Layer

Main PCB Ground Layer

Main PCB Top, Bottom and Silkscreen Layers

Main PCB Top, Bottom and Silkscreen Layers

 
Backplane PCB Top Layer

Backplane PCB Top Layer

Backplane PCB Bottom Layer

Backplane PCB Bottom Layer

 
Backplane PCB Power Layer

Backplane PCB Power Layer

Back-plane PCB Ground Layer

Back-plane PCB Ground Layer

Back-plane PCB Top, Bottom and Silkscreen Layers

Back-plane PCB Top, Bottom and Silkscreen Layers


Super Mario Music Printed Parts

Super Mario Music Printed Parts

Super Mario Music Printed Parts


Super Mario Music Source Code Files

The source files are written in C and were developed using Texas Instruments Code Composer Studio.

main.h    main.c    LCD.h    LCD.c


Super Mario Music Sampled Audio Output

Finally, Below are recordings of the output.  The first one is the audio after being passed through the low pass filter.  The second one has the filter disabled and popping noises during note transitions can be heard.  The third one has the echo feature active.