I've been learning how to make an SNES game in 65816 Assembly with the help of this guide. It's a really cool set of blog posts.

https://georgjz.github.io/snesaa01/

SNES Assembly Adventure 01: Develop for the SNES

Learn how to get started in writing your own game for the SNES by setting up a development environment

Machine Code Construction Yard
I've rendered my first sprite! I'm doing all of the sprite and color palette encoding by hand to learn how it works. It involved converting everything to binary, rotating that, and converting the result to hex. The colors were way off at first, but I managed to get a working sprite.

I spent my evening debugging a tricky issue in the 65816 assembly code of my SNES game. Before finding a debugger, I was able to find the line of code causing the problem, but couldn't figure out what the actual issue was!

It turns out I was pushing a value to the stack from an 8-bit register and comparing it with a 16-bit register, so instead of the loop ending at $0014, it was trying to loop until $8014 due to the adjacent memory on the stack!

Not the progress I'd hoped, but good learning!

Tonight's progress isn't really in the game itself, but in the tooling. I wrote a little 40 line program in C to help translate my sprite index values into hex to be pasted into the hex editor.

I'm sure appending the binary directly to the sprite file wouldn't be too hard, but I don't remember how to do that. I suppose `man 3 fwrite` could probably tell me...

Nah, that feels like work, this will do fine.

I've now got my game running on my SNES. Its not much, just half a character that you can move around with the controller, but the foundation is in place to keep going with this!

@ryan I am just now seeing this being your latest venture. I haven’t gotten far myself, but I started with an Apple II emulator and “Assembly Lines” by Roger Wagner. At some point while googling I learned the Apple IIGS and the SNES used nearly identical CPUs.

I think this is awesome and going retro to learn more about computers has given me a lot of joy and you reminded me to get back to it. Cheers💾🥂

@danielperez I've seen that in the assembler docs! That's awesome! Enjoy!