Posts for Ouroboros2Grace


Experienced Forum User
Joined: 1/29/2014
Posts: 4
Aqfaq wrote:
Ouroboros2Grace wrote:
I can't seem to get the movie file posted above working, can anybody else?
I can run it just fine. Emulator: VBA-rerecording-v22 ROM: Revelations - The Demon Slayer (U) [C][!].gbc Nice to see some action in this thread.
Thanks for posting the emulator version. Got it to work now. Looks like a really solid route. There's not too much room for improvement. I'll see if I can make a script that does the battles. I'll be honest though, probably going to take a few months. Will post back here when I have something to share.
Experienced Forum User
Joined: 1/29/2014
Posts: 4
There's a TAS route planned out above, not sure if it's 100% optimal but looks pretty solid. A TAS probably wouldn't have much entertainment value, except maybe to the few that have played it or just really enjoy RPG TASs. You're probably right that for the purposes of TASing I'm better off brute forcing walking across the map. However my personal reasons for getting involved with this game are more around 100% understanding of the code with the goal of either creating cool hacked roms of the game or a very faithful reproduction of the game than doing a TAS. Of course I'm still going to do a TAS but since my priority is understanding the code, for me personally, brute forcing is not the best option. For reverse engineering, the best tools I've found so far are BGB, Bizhawk, and GBRead. It's a very slow and very painful process for someone that has never done assembly before. For example, locating the RNG function took about an hour and I spent probably 8 hours or so trying to completely understand the 29 lines of code it has.
Experienced Forum User
Joined: 1/29/2014
Posts: 4
I recently started reverse engineering this game. So far I've been able to determine that the RNG function is at 03DB and uses FF9C as its input. Each call to the function generates a new value for FF9C and keeps the random number in register a. I'm fairly sure the only thing that affects FF9C is when it gets incremented every frame. Therefore, the only way to change an auto battle is idling before pressing auto. The next thing I'm going to try to figure out is what determines random encounters. Almost every step on overworld seems to generate 2 calls to the RNG (seems like there's a built in no random encounter for about 5 steps after leaving town or a battle) but I'm fairly sure that the coordinates also play a factor. I would be glad to have some help, so please reply here or PM me if you're interested in helping work on this game. PS: In the event I give up on this and you're reading this several years later. STILL CONTACT ME. I've been fascinated with this game for nearly a decade already, chances are no matter how many times I start/give up reverse engineering it I'll still be interested in starting it again. PPS: I can't seem to get the movie file posted above working, can anybody else?
Post subject: GBC reverse engineering process
Experienced Forum User
Joined: 1/29/2014
Posts: 4
I am working on reverse engineering a GBC game, "Revelations the Demon Slayer" (an RPG). It isn't very popular but it has a lot of childhood nostalgia for me. I'm looking for tools that would help me in this process. I have/know about/employ bizhawk and bgb debugging, breakpoints on memory read/write, tracelogging, lua scripting, and RAM searches. Are there any tools to make this a bit easier? Specifically I'm looking for some features that FCEUX has like code/data logging that integrates with a hex editor for smart coloring of bytes or with the trace logger to selectively log code. I have a general sense of what assembly is and how to back trace through of tracelog to find where memory values are calculated but the process is very tedious for my limited knowledge of assembly. A tool that could automate that and basically come up with the steps a value goes through before it gets written to a memory address would be nice. Sorry if these are really easy to find and I'm just an idiot for not being able to. I've spent several hours trying to find tools like what I'm describing. Sidenote: I understand that diving this deep into the assembly of the game will mostly likely not be worth the time/trouble from a TASing standpoint. However I'd still like to do it just for the sake of knowledge about the game's inner workings. Hopefully it will result in finding glitches (there are currently none known) and will have massive TAS benefits but I don't have my hopes up.