Here’s the example bass guitar player. Play through the notes with the gamepad (directions on screen). In main.asm, are the tables and include files for the samples. The TIMER section should be pretty self explanatory, as in ‘note_play’. I left all the samples as a single block, because it’s easier that way. All the samples and support tables are address independent (but you do need to include them in sequential order like in my example in order to use the tables). That means you need to add (OR) the page offset when loading the pointer. I also added a generic envelope system (delay & decay) to make the samples more appropriate.