SamSuka
vitorvilela
vitorvilela

patreon


Why is SnesLab my Most Important Project

No, it's not SA-1 Pack, nor SMW hacking, nor SNES researching, much less SPC Studio. SnesLab means much more than you can imagine and you will understand why on this article.

"The time is flying!"

November 10, 2019. Have you noticed how fast is 2019 going so far? You are not the only who thinks that the time is apparently getting faster. The real is that we are getting more and more busy as we get older and this applies specially for who is on the young days. And this is completely natural and expected. With things getting more and more connected and dynamic, we tend to do much more things than we used to do compared to the past, everything for, who knows, getting a better life in the future.

Okay, there are exceptions for this. For all people that are reaching their senior years, they are (hopefully!) getting their fruits for all hard work done though the previous years and finally getting some more spare time for enjoying life and doing their hobbies and recreations, which can be traveling the world, learning new things, playing videogames, going out with their car, studying music or whatever thing they might like.

Cool, but what does it have to do with ROM hacking?

Even if I consider myself pretty experienced on SNES ROM hacking, even if I experimented different techniques, tools, made many mistakes and learned different ways of doing the same thing, the main problem on ROM hacking is still one: free time.

And this gets worse for me personally since my main hobby is SA-1 ROM hacking: most of my work done is literally reverse engineering the entire game, then dissecting it until you figure how it works and which portions needs to be moved to the SA-1 chip and which portions must stay on the SNES CPU (such as: audio communication, PPU I/O, DMA routines and more). In addition, apply a memory remap to ensure all work memory that was previously on the SNES CPU memory map is now on the shared SA-1 memory map, so the SA-1 CPU and SNES CPU can both read and write the same region.

Although the SA-1 Collection Project allowed me to reverse engineer games slight faster, in practice it ended up taking the same amount time as doing the process manually, because thanks for it I can do SA-1 conversions on games that I considered impossible to, like Contra III for its large amount of inlined code which totals six banks of code, but with a cost of it taking much more time compared to Gradius III, which had only two banks of code.

A fact is that during the entire 2019 year I only managed to convert two SNES games to the SA-1 chip, which are Gradius III and Contra III, with the former being a surprisingly great success! However, it was only two games. Even with my ten year SNES ROM hacking experience and using most of my spare free time for it, I could only do two games during the entire year, basically.

I could not dedicated to any other ROM hacking project I had plans for this year: SPC Studio has not even a single line of C# code written, I could not even start coding a new boss for Touhou Mario 2 and I could not do any significant SMW hacking contribution to the year unlike 2018 which I worked together FuSoYa and released Lunar Magic 3.00. The only thing I did was the proof-of-concept that it's possible to have much large sprites on the game by remanaging the OAM memory structure the game uses: https://www.youtube.com/watch?v=pfDtOvUP5Pg 

And we don't know what the future predicts for us

For who regularly checks out my Twitter account, you probably saw my post about the shocking moment I passed on last Thursday. Thankfully nothing went bad and the cops ended up capturing the two minors that were driving the car and I have checked out the car model and it's the same that almost collided with the bus I was going home. You can read the news report about that here (in portuguese). But that makes me wonder that life is short and we never know what is up for tomorrow.

In addition to that, 2020 is now nearby and for who don't know, I'm gonna return to college to finish my bachelor degree at Computer Engineering which I paused in the beginning of this year since I got a full-time work and with the many issues my current university was having with my course I preferred focusing on my new work and leave my studies for the next year. But that means that once college is back, my free time will be drastically reduced, for pretty much me only having free time on Sundays.

And at the same time, the amount of requests I receive only keeps increasing. Checking out my recent Discord DMs and Twitter mentions, I can list the following SA-1 conversion requests, in no particular order:

...and more that I likely missed to. If I keep doing the same amount of conversions, let's say, two per year, it would take 13 years for doing just that above list. Of course that is just overkill. And I didn't even take in account games that have over 128 banks of data and code, which would take much more time than a game that has only 32 banks of data and code like Contra III.

My point is I just don't have all of the free time available because of real life duties (college, work) and the complexity of my work (SA-1), don't forgeting the other projects that are important as well, like the SPC Studio that aims for being a multiple game music inserter and digital audio workstation for them, similar to FL Studio and FamiTracker.

So what to do?

I think it's clear that we can't do everything and we need to prioritize the most important projects. It's a thing that we end up figuring when we start getting older and experienced. But we can also encourage more people into learning the same techniques, we can teach people interested in learning how classic games works, help them with tools, examples, documents... Basically the idea behind this is sharing the knowledge cross the maximum people possible for horizontally scaling projects and with that achieve more SNES ROM hacks.

I may not keep ROM hacking forever, but by sharing knowledge my legacy will stay forever and that's what it matters in the end. If we manage to build a strong community and properly share all knowledge that every single SNES ROM hacker has, we will build an extremely strong fortress of knowledge that anyone will be able to make their own SA-1 ROM hacks, their own SNES widescreen ROM hacks, new translations, new tools, new findings and much more.

That's my goal.

My goal is not doing the maximum amount of SA-1 ROM hacks.

My goal is teaching the maximum amount of people about SA-1 ROM hacking.

And that applies for all my other SNES related projects.

SnesLab is here

Every new project I work for now I will make sure that there is a SnesLab article about my technique and tools. This will be a special incentive for ensuring that everything I do, anyone else will be able to do it as well.

The SNES has a really nice architecture to work about. There is some very well known SNES games community like Super Mario World, Yoshi's Island, Mario Kart, F-Zero, Earthbound and many more but there is very little SNES homebrew, very little enhancement chip researchment and very little general SNES projects. The purpose of SnesLab is exactly being the main gateway of documents, knowledge, resources and ROM hacks, in a manner that anyone can start learning from just viewing the documents and start developing the SNES ROM hacking scene as consequence.

Regardless of how things end up going on the future, one thing I'm sure: my knowledge, along from many ROM hackers will be available for whoever would like to learn more about ROM hacking and that will open a great opportunity for cool things coming out eventually.

And If you don't know about SnesLab, make sure to give it a visit: https://www.sneslab.net/. I'm always open for feedback and new ideas on the SnesLab Discord server and the Wiki is open for everyone editing it and contributing with something you know.

Learn more


Why is SnesLab my Most Important Project

More Creators