Wow. Great video! It's absolutely crazy how people have managed to reverse engineer the entire game that builds to a bit for bit identical to the real rom
This is awesome, I applied the basic principles in your video and was able to reverse engineer a portion of my favorite all SNES game Chrono Trigger to find a portion of the code where experience is added. At first I found the value where the total experience was stored in ram, and use breakpoints to walk backwards until eventually I was able to find the code where it was calculated. In Chrono Trigger they calculate how much xp to add after each monster is killed in battle, and it's stored in a ram value that is then used after the battle is complete to display and ultimately add to the character's pools. There was a CLC just before the ADC, so i changed the opcode in that byte of the rom to the one for ASL, which doubles experience. I made a new game genie code from this and now I get to enjoy this game again without all the extra grinding required to level up. It's so much better than some of the other codes I've seen which just grant levels or experience.. the game plays much smoother and you still feel a sense of accomplishment. Anyway, thank you for walking through this, this is my first time diving into assembly even though I'm a veteran software developer of 25 years and it's alot of fun, I can't wait to make patches for my other favorite games now.
You are amazing! Being able to create and explain how to make possible the biggest rumour on videogame history is just mind blowing. Thank you very much!!
Great video! I'm interested in your course but unfortunately it's taking place during working hours. Will there be a fully remote course at some point or are you planning to deliver the course on a weekend sometime soon? I have a piece of firmware that I would like to tweak but struggling to get started so I'm definitely interested.
Very fascinating stuff. I've always wanted to try to reverse engineer old games like this. It's too bad the game I want to reverse engineer uses some strange kind of compression making it difficult to decompile/disassemble the code. I'll get around to it eventually for sure though.
One thing I want to be able to do is dissect and disassemble compressed data.
I've been translating a Japanese-Only NeoGeo Pocket Color game, and while the text characters were uncompressed graphics, the menus use compressed graphics, which I cannot directly edit.
1:32 Is BGB just as good as Sameboy? The text scrolling doesn't bug me that much, but that was cool to see automated all the same. Thing is, wouldn't that affect all message box type scenes, including Hall Of Fame and such?
Could I suggest reverse engineer popular NES games, due to NesDevWiki all important registers are there explained in an exhausting detail, which would make reverse engineering easier
That's insane. About 12 years ago I had pointed out to someone on yahoo answers that asked if the mew myth was real, that it might be possible for someone to make a romhack that implements it via working in the ROM code...and someone has actually gone and done it.
Just found your channel and watched a few videos. Liked and subbed. Amazing vids and nostalgia overflow!
1 like
Eduard Khil2020-11-23 14:34:41 (edited 2020-11-23 14:37:01 )
Hi, maybe I'm a little late but I'd like to know how you knew which steps to follow in order to export a functioning ROM. I mean, how did you know that you had to order each block of memory because otherwise it would't have worked? Did you learn it somewhere? If yes, where? I tried searching for this specific thing but didn't find anything, please share!
you could go a tiny step further and use an SRAM chip in combination with an ATmega/ESP. so when you start the gameboy it loads a program from SD into the SRAM chip, which then functions as ROM (ie the gameboy cannot write to it, only the ATmega/ESP can). that way the gameboy doesn't have to access the ATmega/ESP directly, which should make the code easier as the ATmega/ESP doesn't need to constantly check for reads/writes from the gameboy, it just needs to load data into it once every time it's powered on.
6 likes
Henrik Andersson2020-04-29 11:13:29 (edited 2020-04-29 11:14:19 )
You got very lucky that the game is so simple that it actually has a dedicated wait for dialogue loop. No event oriented programming here.
Serious question hope you can help - how do you patch the GBA NES Classic games so they work correctly on an EverDrive X5? I own a dozen of these and want to play backups but theyâve got loads of unnecessary ram size checks and stuff like that which make them run like crap when detected.
I didn't think it was that rare, but I'm subscribed to you and hadn't watched any LiveOverflow... hope you get some traffic in the reverse direction haha
And i mean not save editor (the editors that are already finsished) I mean real hex modding etc (i tried mod my game saves of animal crossing new horizons but its all in old chinese and doesnt make sence at all)
@stacksmashing Thanks for the quick response, I love when the YouTubers respond to their comments (I know that when you've got 29,7m subscribers one more is nothing but consider-me subscribed), I'll try it tomorrow( I imagine that we're in different time zones). Keep making these amazing videos.
i know its old but... you say at 7:15 "go to the backtrace and use the earliest entry" ... WHICH backtrace ??? you dont show where it is and in the backtrace you have open, its dont there... where i can get the similar point (by you "5d57")... PS: im german and have to make it for german versions...
I did not :) I initially created this channel to just give some Tipps for working with Ghidra - as it got more âsuccessfulâ than I had expected I also realized that I like to make videos about more than Ghidra, so went back to my âoldâ nick
By complete luck when I ^C on terminal I was able to execute commands, but the terminal doesn't look as a helpful as on MAC. I tried on WSL also but with similar results.
Brilliant I have a challenge I know some brilliant mind like you Will solve it I need help with a Korean nintendo wii Locked on error 003 after update there is way to fix it but it's a painful and I can't find a modchip if there any way through software please and a lot of thanks to you for your time and work
stacksmashing / Ghidra Ninja I see. Well great work anyways; love your content so keep up the great work. Some of the most educations but then simultaneously skill-testing content and experiences out there. Much love <3
Wow. Great video! It's absolutely crazy how people have managed to reverse engineer the entire game that builds to a bit for bit identical to the real rom
34 likesThis is awesome, I applied the basic principles in your video and was able to reverse engineer a portion of my favorite all SNES game Chrono Trigger to find a portion of the code where experience is added. At first I found the value where the total experience was stored in ram, and use breakpoints to walk backwards until eventually I was able to find the code where it was calculated. In Chrono Trigger they calculate how much xp to add after each monster is killed in battle, and it's stored in a ram value that is then used after the battle is complete to display and ultimately add to the character's pools. There was a CLC just before the ADC, so i changed the opcode in that byte of the rom to the one for ASL, which doubles experience. I made a new game genie code from this and now I get to enjoy this game again without all the extra grinding required to level up. It's so much better than some of the other codes I've seen which just grant levels or experience.. the game plays much smoother and you still feel a sense of accomplishment. Anyway, thank you for walking through this, this is my first time diving into assembly even though I'm a veteran software developer of 25 years and it's alot of fun, I can't wait to make patches for my other favorite games now.
8 likesMy childhood right here. Patching modding game roms, adding new elements, and maps. Quality Content đ
26 likesReplies (1)
Back then I stopped at making action replay codes.
3 likesThese tools are much nicer than the hex editors and patch makers we were using twenty something years ago when hacking all of the Pokémon encounters into a single game and translating G/S
7 likesReplies (1)
bruh I remember being in a dalnet irc channel and translating gold and silver back in the day with a group of people. Small world.
0 likesYou are amazing! Being able to create and explain how to make possible the biggest rumour on videogame history is just mind blowing. Thank you very much!!
3 likesLoving these collaboration videos between you and LiveOverflow! Can't wait to see more!
9 likesI know Ghidra (and the fact it can output C like code), but I did not know it worked with GB roms. Thanks for the video.
98 likesReplies (2)
It's because ghidra turns stuff into an intermediary language.
0 likesWell the GB is Z80 based. So it would be reletively easy to add support into ghidra
1 likeGreat video! I'm interested in your course but unfortunately it's taking place during working hours. Will there be a fully remote course at some point or are you planning to deliver the course on a weekend sometime soon? I have a piece of firmware that I would like to tweak but struggling to get started so I'm definitely interested.
0 likesVery fascinating stuff. I've always wanted to try to reverse engineer old games like this. It's too bad the game I want to reverse engineer uses some strange kind of compression making it difficult to decompile/disassemble the code. I'll get around to it eventually for sure though.
1 likeReplies (1)
What game?
0 likesAwesome Video!!! Game modding is what brought me into this field years ago, so there a tad of nostalgia for me too...
1 likeOne thing I want to be able to do is dissect and disassemble compressed data.
1 likeI've been translating a Japanese-Only NeoGeo Pocket Color game, and while the text characters were uncompressed graphics, the menus use compressed graphics, which I cannot directly edit.
1:32 Is BGB just as good as Sameboy?
1 likeThe text scrolling doesn't bug me that much, but that was cool to see automated all the same. Thing is, wouldn't that affect all message box type scenes, including Hall Of Fame and such?
This is amazing content. Thank you for posting!
1 likeCould I suggest reverse engineer popular NES games, due to NesDevWiki all important registers are there explained in an exhausting detail, which would make reverse engineering easier
3 likesThat's insane. About 12 years ago I had pointed out to someone on yahoo answers that asked if the mew myth was real, that it might be possible for someone to make a romhack that implements it via working in the ROM code...and someone has actually gone and done it.
0 likesNice video ! I love this collaboration ! Hope this will get you some new subscribers ^^
5 likesAwesome video and subscribed. I love Gameboy since I got one as a kid as well as reverse engineering gameboy games!
1 likeJust found your channel and watched a few videos. Liked and subbed. Amazing vids and nostalgia overflow!
1 likeHi, maybe I'm a little late but I'd like to know how you knew which steps to follow in order to export a functioning ROM. I mean, how did you know that you had to order each block of memory because otherwise it would't have worked? Did you learn it somewhere? If yes, where? I tried searching for this specific thing but didn't find anything, please share!
0 likesGreat vid! Next stop should be an arduino/esp based sd cartridge.
25 likesReplies (1)
you could go a tiny step further and use an SRAM chip in combination with an ATmega/ESP. so when you start the gameboy it loads a program from SD into the SRAM chip, which then functions as ROM (ie the gameboy cannot write to it, only the ATmega/ESP can).
6 likesthat way the gameboy doesn't have to access the ATmega/ESP directly, which should make the code easier as the ATmega/ESP doesn't need to constantly check for reads/writes from the gameboy, it just needs to load data into it once every time it's powered on.
You got very lucky that the game is so simple that it actually has a dedicated wait for dialogue loop. No event oriented programming here.
0 likesThese videos are soooooo good! Thankyou!
1 likeAmazing work thank you
0 likesI just discovered your channel and I already love it !
0 likesAwesome, I'm a little lost, where did you learn to use Ghidra so well?
0 likesSerious question hope you can help - how do you patch the GBA NES Classic games so they work correctly on an EverDrive X5? I own a dozen of these and want to play backups but theyâve got loads of unnecessary ram size checks and stuff like that which make them run like crap when detected.
0 likesim curious about how similar this is to GBA reverse engineering
0 likesSuper cool video! I noticed your channel via LiveOverflow. Keep up the good work!
1 like@2:31 that certainly is the easy way.
0 likesWould be more interested in building teh game to register a smooth auto-scroll mod, instead of a janky hack.
Amazing that people still hack GB games in 2020!
11 likesVery nice video!
1 likeEvery Stacksmashing and LiveOverflow video ends in, "there was a MUCH simpler way of doing this"
0 likesI didn't think it was that rare, but I'm subscribed to you and hadn't watched any LiveOverflow... hope you get some traffic in the reverse direction haha
5 likesexcelent video, i will try reverse engineering
0 likesThanks a lot for this video !
1 likeAwesome and interesting video!!
1 likethis guy is crazy...in a good way. amazing
2 likesHa I love that you made the truck move!!! Brings a smile to my face.
0 likesWill there be videos about the GBA/GBA roms?
0 likesNice, can't wait to watch this
2 likesIs it possible to modify sound files with this?
0 likesActually, I discovered Live Overflow via your channel !
38 likesWow that was awesome
1 likeHey
0 likesCould you maybe do some ds/3ds modding stuff
And i mean not save editor (the editors that are already finsished)
I mean real hex modding etc (i tried mod my game saves of animal crossing new horizons but its all in old chinese and doesnt make sence at all)
Would be nice
Nintendo ds/3ds or switch modding
Thanks in adventage
Sincerly,
3ds_hacker
I'm trying to replicate the Mew Myth on the code, does anybody know what line is Vermillion Dock in wild_mons.asm?
1 likeReplies (2)
It's line 94! :)
0 likes@stacksmashing Thanks for the quick response, I love when the YouTubers respond to their comments (I know that when you've got 29,7m subscribers one more is nothing but consider-me subscribed), I'll try it tomorrow( I imagine that we're in different time zones). Keep making these amazing videos.
0 likesi know its old but... you say at 7:15 "go to the backtrace and use the earliest entry" ... WHICH backtrace ???
0 likesyou dont show where it is and in the backtrace you have open, its dont there...
where i can get the similar point (by you "5d57")...
PS: im german and have to make it for german versions...
From where start revese engineering and how to master it ??
0 likesLegit just got so excited that you uploaded
39 likesOMG this is so cool
0 likestysm that's so cool!
5 likesThanks bro! It was hard to understand because im 13 and from germany but thanks! Sub from me ;)
0 likesWOW, what a video!
2 likesThis is awesome..
1 likeThere is a NES Famicon ROM that I want to convert to an SNES ROM.. is that possible?
0 likesvery cool
2 likesNow flash it to an empty card
0 likesGood stuff
2 likesQuestion, Did stacksmashing make Ghidra why his name also has Ghidra Ninja?
1 likeReplies (2)
I did not :) I initially created this channel to just give some Tipps for working with Ghidra - as it got more âsuccessfulâ than I had expected I also realized that I like to make videos about more than Ghidra, so went back to my âoldâ nick
1 likestacksmashing / Ghidra Ninja ok thanks
1 likeYour videos are like a rollercoaster
0 likesReplies (2)
Not sure if that's a compliment :D
1 like@stacksmashing it is!
0 likesThat dont work on Windows. The debugger opens a console, but i cant write anytging into it, or have any more options.
0 likesReplies (1)
By complete luck when I ^C on terminal I was able to execute commands, but the terminal doesn't look as a helpful as on MAC. I tried on WSL also but with similar results.
0 likesSo know MewTwos Cave is full of Truck Cabins!
19 likesPlease patch the truck, create a dungeon, let us catch mew âlegitâ instead of doing the hack a the ?celladon? Bridge!:)
0 likesYou should make a discord server
1 likeBrilliant I have a challenge I know some brilliant mind like you Will solve it I need help with a Korean nintendo wii Locked on error 003 after update there is way to fix it but it's a painful and I can't find a modchip if there any way through software please and a lot of thanks to you for your time and work
1 likeI know this is probably a small thing but GBA4iOS? Jailbroken? :)
1 likeReplies (4)
Nah just self-compiled :)
1 likehttps://github.com/CocoaBob/GBA4iOS
stacksmashing / Ghidra Ninja Did you sign the IPA with AltStore or just push it with Xcode? Love to see people working on these things.
0 likesI compiled it myself and signed + installed it with Xcode
0 likesstacksmashing / Ghidra Ninja I see. Well great work anyways; love your content so keep up the great work. Some of the most educations but then simultaneously skill-testing content and experiences out there. Much love <3
0 likesI really donât know what you are saying but I like it
0 likesRefers to Red as Ash...
0 likesLiterally unwatchable
I didnt get much of this, but its nice
0 likesReplies (2)
A bit like females, I donât get much of them but they are nice when I do
1 like@Un Named Channel hahahahđđ
0 likesAll your item needs fulfilled!
1 likeIsn't that a reference to "All your base are belong to us"?
Replies (3)
wtf? not all sentences beginning with "all your" are a reference to that meme, this doesnt even sound similar
0 likesalso, pokemon red and blue predate that meme anyways
@noxabellus it's an example of engrish, just like all your base are belong to us
0 likes@iProgramInCpp 'All your item needs fulfilled' is valid as a sentence though (even if it would be better followed by 'here')
0 likeslaughs in mew glitch
1 likenice...
1 likeça c'est du parlé Anglais à la "accent Français" ...
0 likesbrooo u are insaaaaane
0 likes"Joystick" is NOT the + that you can find in the console. Its called "D-PAD".
0 likesYou are singing.
0 likesDisliked & reported to Nintendo, you flipping pirate
0 likes.
0 likesBist du Luxemburger?
0 likesReplies (1)
Nop
0 likes