NokiMo
vitorvilela
vitorvilela

patreon


Status Update + Ideas for new Patreon content

Hi! I'm aware you all have noticed an activity decline over my Patreon and this has a direct correlation of the current on-going projects: Super Metroid SA-1 (currently focused) and Super Mario World Widescreen.

As reported on my last progress update, Super Metroid is still being a huge project and a reverse engineering challenge. I figured out that the reverse engineering tools I used for the previous projects, such as Super R-Type and Race Drivin', is barely effective against a game like Super Metroid not just because it's a 3 MB game but also it introduces many assembly optimizations, macros (the same section of code repeated many times with little changes for optimization) and data abstraction (possibly for letting more variety of enemies and scenes at cost of more complex code structure). There is still around ~200 KB of binary data (out of 3 MB) to figure out before we can change the memory map layout to SA-1 and attempt booting the game.

Once the game is done, I will make sure to write new reverse engineering tools otherwise games with the same complexity as Super Metroid will take too much time to work on and this concerns me since I'm aware people are interested in many different kind of games and is looking forward for the future projects as soon as possible.

Super Mario World Widescreen on the other hand is almost done. Only the koopaling bosses need to be adapted to the wide screen size. The challenge there is just the amount of hardcoded code and recalculation of some offsets to keep in mind the extended widescreen region.

Ideas for new Patreon content

This come into another idea I'm been thinking lately for letting me produce interesting content for Patreon, Twitter and GitHub while the major releases are work in progress.

Unlike other projects that involves making tools (i.e. utility and emulators) or FPGA architectural projects, it's hard to share work in progress results here because I can't produce any fancy diagram or take any result screenshot since 70-80% development process is just analyzing, annotating and writing assembly code, so it's hard to just make an article stating "check out these 5,000 lines which I have recently analyzed" ...

With that kept in mind and nothing really interesting to share about the current projects, I always had interest in sharing how the SNES works and share a bit of my knowledge for other people learn and make SNES projects as well. In the other day I was discussing with someone how hard it's just to initialize the Super Nintendo and even more to print a "hello world" message, a thing that usually you can do in 3-4 lines of code in modern programming languages.

So what would be your thoughts of me producing Patreon articles of SNES tutorials, tips/tricks and some more technical information while there is no releases available?

I'm open for thoughts and ideas, of course! Make sure to drop a comment here about this.

Comments

This would be great! I'm really interested in learning how the SNES works and your ideas to share tips would be very interesting.

Ryan

I'd also love to see some tutorials or even just a few words on the tools used to start hacking the SNES (esp. hardware required to see the results on real consoles).

Woof

I would LOVE to see some tutorials! But also, journals with little snippets of code, and what you changed, would be pretty cool too!

Scrapolapolous

What Dolphin does is interesting, I wasn't aware that they made regularly reports of the emulation progress state. I'm been also in parallel studying part of the work done by the SM community. Without it the SA-1 disassembly would not be viable at all in the moment, probably requiring years to finish. The work they did gave me the opportunity of trying out the SA-1 method

Vitor

Sometimes all a developer journal needs is a brief description of a problem you encountered, and how you overcame it, what you learned from it, and how you'll approach it in the future. I wouldn't stress needing to put out this sort of content though, but I like to read through Dolphin-Emu's progress reports when they put them out and they're written well so that readers not as familiar with the in-depth technical aspects can understand what the challenges were and how they tackled them. As ever, looking forward to the completed SA1 conversion of Super Metroid, and happy to provide testing and feedback for it. As you're documenting what is data and what is program, have you discerned anything like how map and item location information is stored? I believe that particular information would be useful for jump-starting a randomizer of the SA1 conversion. https://github.com/Dessyreqt/smrandomizer

RupeeClock

Write when you feel you want to and avoid feeling pressure that you *should* write stuff as there's not been an update for a while. It's always fascinating reading the technical details of what you're doing but not at the expense of adding pressure to you.

Adam Londero


Related Creators