Programming for Super Mario World hacks

65c816 Assembly

ROM hacking (Super Mario World to be exact) has been a major influence on my creative skills and output.

Along the way I picked up the assembly language of the SNES's processor (referred to as simply ASM in the Super Mario World hacking community), which was actually one of the first programming languages I learned! ASM is used to program custom resources for the game (blocks, sprites and patches), and knowing it goes a long way in making your hack stand out and bring some of your more complex ideas to life.

I've made quite a few resources this way — ranging from really simple tweaks in my early days to pretty large-scale projects in recent times — some of which I uploaded to SMW Central for others to use. (The submission dates on the site aren't always accurate since many of them were reuploaded years after they were made.)

A lot of these won't make sense if you're not familiar with SMW hacking, but I'm listing them here for the sake of completeness.

Custom blocks

Custom Sprites



I also made a tool (written in Go) that converts images containing colored rectangles into palette files, which the level editor can insert into the game.