Log In  
Follow
Synth_dfr

Cart #22439 | 2016-06-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
58

I'm not sure if this is documented, but I accidentally discovered some neat features of the audio engine while playing Jelpi in corrupted mode.
I noticed that sometimes the music would be affected in a way that couldn't be possible with just the editor. By experimenting a little further I discovered a small section in memory dedicated to effects:

0x5f40: play channel twice slower
0x5f41: a very short delay (cheap reverb/unison simulation)
0x5f42: distortion (rounds the output waveform to min or max depending on which is nearest)
0x5f43: low-pass filter

For each of these values, bits 0 to 3 correspond to channels 1 to 4 respectively (for example, poke(0x5f42,6) will apply distortion to channels 2 and 4). Bits 4 to 7 seem to be unused.

With that in mind, I decided to code a little program that would apply random effects to random tracks until the song becomes completely destroyed. Here's the result (the song is pretty cheesy I have to admit).
Enjoy :)

58
10 comments