News:

11 March 2016 - Forum Rules

Main Menu

Link to the Past (SNES) ASM Hacking?

Started by Dogeritos, November 24, 2014, 10:02:12 PM

Previous topic - Next topic

Dogeritos

Where would I start in ASM hacking for this game? I've seen that someone made a day/night cycle for LttP using ASM hacking. How would I do something like that?
So nacho
Much cheese
Wow
Dogeritos

FAST6191

Do you know SNES/65816 assembly, some other kind of assembly or a fairly low level programming language already? It is quite fine if you want to learn and this is the game you want to do it on (ASM can be rather dry and having a game you care to work on definitely helps).

One tends not to set about "ASM hacking" for the sake of ASM hacking -- you tend to have a goal in mind.

What you want. A debugging emulator, some docs on the matter and possibly some notes (or at least some cheats to help direct you in some cases). RHDN has a lot of each of those

Debugging emulators... I am never sure what folks are going for in SNES debugging world. Older tutorials, hacks and the like might have used Geiger's SNES9X debugger, newer ones might have uses BSNES/Higan
http://www.romhacking.net/?page=utilities&category=17&platform=9&game=&author=&os=&level=&perpage=20&title=&desc=&utilsearch=Go
Docs on SNES assembly.
http://www.romhacking.net/?page=documents&category=11&platform=9&game=&author=&perpage=20&level=&title=&desc=&docsearch=Go

Tools to do the deed (mainly the assembler programs) once you have what you want to hack
http://www.romhacking.net/?page=utilities&category=18&platform=9&game=&author=&os=&level=&perpage=20&title=&desc=&utilsearch=Go

Speaking of cheats I tend to suggest people turn RAM based cheats into assembly driven ones; infinite health might be instead of holding this area of RAM to be constant then find the function(s) that alter that area of RAM and make it so they do not touch it. After that figuring out item costs, mana costs and the like by tracing back through the game is good -- assembly is not only a hack making skillset but also one to help pull apart the games and analyse how they work.

Day night cycle. If memory serves the opening of the game is set at night/during a storm. Coding in a full day/night cycle in a game that does not have one would be a pain, making a game use an existing mode, even if it is one that is only used a handful of times in the game, on the other hand is a far less daunting prospect. Couple that with some kind of timer to shift between the two, possibly also altering the enemy patterns and warp points/exits in the case of houses, and you are away. If you want to add something to use the lighting options the game engine sports then even better.
If I had to do it from scratch it would probably be done like the storm -- some kind of colour change, overlay or something to darken the screen, a timer and maybe something altered to just add that little bit more (light from house windows or something).


Dogeritos

Thanks, I'll have to read up and all on these different programming languages, and see what I can make :woot!:
So nacho
Much cheese
Wow
Dogeritos