Reverse engineering?

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

User avatar
SusiKette
Posts: 147
Joined: Fri Mar 16, 2018 1:52 pm
Location: Finland

Re: Reverse engineering?

Post by SusiKette »

I didn't mention it before but even though I'm new on this forum doesn't mean that I'm new to programming the NES or reverse engineering. The main reason I made this thread was to find how other people do this and see if its more efficient than what I have been doing until now (even though last time I did these things was 2 or so years ago).

While Recca might be complicated, I have managed to reverse engineer something the stage 2 wavy background motion (apart from one variable) earlier. I would probably lose interest in reverse engineering if the game itself wouldn't interest me and that is one of the biggest reasons I chose Recca (and that I it is a shoot 'em up). I could start by reverse engineering simple parts of the game first and then move to the more complex content.

I'll see if I find another game to reverse engineer that would keep me interested long enough to actually get something done. One of the classic Mega Man games, Crisis Force, Getsu Fuuma Den and maybe Metroid. I remember trying to reverse engineer the maze gameplay mechanics from Getsu Fuuma Den once so I might try that again.
Avatar is pixel art of Noah Prime from Astral Chain
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Re: Reverse engineering?

Post by thefox »

SusiKette wrote:In the data logger there is a section called "CHR logged as data". What does this mean? Is it like palettes and nametables etc.?
I'm guessing it's CHR data that was read back via $2007. Some games store arbitrary data in CHR. For example, SMB1 stores the "SUPER MARIO BROS" logo on the title screen in CHR, and copies it to nametables from there. (I guess it it first copies from CHR to CPU RAM, then CPU RAM to nametables. Although it wouldn't be too surprising if it copies directly from CHR to nametables, resetting the PPU address for every byte.)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Reverse engineering?

Post by nesrocks »

SusiKette wrote:I could start by reverse engineering simple parts of the game first and then move to the more complex content..
That's definitely the way to go. I guess it's the same with decyphering an ancient language. You start with the easy stuff to give you a picture of what to make of the complicated stuff. Like I said in my reply, the more you comment on fceux's debugger the easier it gets to navigate, and you will see that a lot of what you have commented gets called elsewhere and suddenly everything starts to make sense.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Post Reply