Hacker News new | past | comments | ask | show | jobs | submit login

Why couldnt someone just reverse engineer the source code? It seems to me conditional jumps would be a good start and maybe work backwards from things that look like auto wins.

I doubt the team had the budget or bytes to obfuscate the bytecode.




I'm not going to look at the code, but this guy's head-bob animation does occupy a privileged position early in the sprite table:

https://dl.dropboxusercontent.com/u/6821374/Screen%20Shot%20...

Of course if that makes it a hint, then it suggests the sprite right next to it (the guy on the right side of the audience with glasses) is also some kind of clue... does anybody know that one?


Found it... it's a clue for Super Macho Man:

https://www.youtube.com/watch?v=rcJneBFV9cI&t=32m33s


Can you find the sprite for the light bulb man that's a cue for the first Bald Bull fight. He's on the far right side of the ring, under bottom rope.

Seen here: https://youtu.be/U_iVHVGqMIU?t=1m16s Here: https://youtu.be/U_iVHVGqMIU?t=1m47s And, Here: https://youtu.be/U_iVHVGqMIU?t=3m27s


Pretty sure it's the ones marked 242 and 234 here: https://dl.dropboxusercontent.com/u/6821374/Screen%20Shot%20...


The machine code may still be obfuscated, but not for the sake of obfuscation. Cartridge ROM space was tight, so you end up with lots of tricks (like overlapping graphics and code) in some NES games to save space. That's not to mention the scarcity of clock cycles and RAM.


There's nothing wrong with that idea, conceptually. Practically speaking, it's just a bigger pain in the butt than you might think. You've got as many as a couple thousand individual, numbered variables to look for patterns in, controlled by a few 10's of thousands of instructions. It's quite possible to do; it just takes someone with Nintendo/6502 programming experience, an eye for patterns, and a ton of time :-)


> Why couldnt someone just reverse engineer the source code?

You make it sound like something one could do in a spare 15 minutes.


Why haven't we landed a man on mars yet? I mean its just a rocket and a man, how easy.


I imagine the average game - in assembly language - has several conditional jumps.


For all we know the code isn't explicitly tied together, so you'd have to find two things going off (probably) the same condition, and they even then might be going off two different (yet related) conditions that are non-obvious just looking at the code.

Just because the two things sync up doesn't mean the code makes that obvious.


The real question is why would someone reverse engineer the source code for no reason? You would have to know what you are looking for before you started.


you'd have to know to look




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: