TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Pokémon Crystal disassembled source code

106 pointsby beltexabout 11 years ago

11 comments

aculverabout 11 years ago
Unlike a disassembly of code that is written in a higher-level language like C, these old NES and Gameboy games were written in the assembly language you&#x27;re seeing disassembled. Obviously there are no comments and labels, but the actual <i>logic</i> and the intent of the original developer is clearly communicated.<p>This allows for a really special type of awesome when you&#x27;re working on fan translations and ROM hacks. You actually have the opportunity to analyze the work of the developers you idolized when you were younger, and celebrate a their clever hacks or curse them for their spaghetti code, 15 to 25 years later. Furthermore, you can contribute your own clever hacks to the code base.
评论 #7770871 未加载
评论 #7769488 未加载
minimaxirabout 11 years ago
Two interesting fun facts about Pokemon Crystal:<p>1) Pokemon Gold&#x2F;Silver, the prior versions of Crystal, was programmed by <i>four</i> people. (<a href="http://en.wikipedia.org/wiki/Pokémon_Gold_and_Silver#Development_and_release" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pokémon_Gold_and_Silver#Develop...</a>)<p>2) Crystal is 1MB in size. Yes, one megabyte.
评论 #7768276 未加载
评论 #7769014 未加载
评论 #7768615 未加载
评论 #7768495 未加载
Idekaabout 11 years ago
This is certainly a thing of beauty. See, for instance, the way the trainers are defined:<p><a href="https://github.com/kanzure/pokecrystal/blob/master/trainers/trainers.asm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kanzure&#x2F;pokecrystal&#x2F;blob&#x2F;master&#x2F;trainers&#x2F;...</a><p>It almost looks like a high-level language.
评论 #7768953 未加载
评论 #7769062 未加载
kanzureabout 11 years ago
Repo owner here. Yes, it&#x27;s a disassembly, but also it compiles back into the original ROM if you follow the README (it&#x27;s not a &quot;dump and flee&quot;).
评论 #7769127 未加载
评论 #7770308 未加载
LazerBearabout 11 years ago
This made me wonder if it&#x27;s possible to automatically reverse engineer a small binary file into human readable (and understandable) source code. Assuming you know the language and compiler used (and all of its quirks and optimizations), and considering that human written programs aren&#x27;t so random and their patterns are most likely predictable, I think it should be possible though not at all trivial. Are there any projects attempting this?
评论 #7769403 未加载
评论 #7770237 未加载
niedbalskiabout 11 years ago
This is fairly nonlegal, right? ...
评论 #7768284 未加载
评论 #7768920 未加载
评论 #7768228 未加载
评论 #7768303 未加载
Sir_Cmpwnabout 11 years ago
Relevant: <a href="https://bitbucket.org/iimarckus/pokered" rel="nofollow">https:&#x2F;&#x2F;bitbucket.org&#x2F;iimarckus&#x2F;pokered</a>
评论 #7768748 未加载
Rolpaabout 11 years ago
Well, it looks like I can finally catch&#x27;em all (after fifteen years!)
评论 #7768634 未加载
serfabout 11 years ago
any clue what language the original development took place in?
评论 #7768464 未加载
pdwabout 11 years ago
Wow, it looks like half a dozen people have been working on this for two years...
jevinskieabout 11 years ago
I flagged this story because I don&#x27;t like to see blatant copyright violations on HN. Instead, I would have loved to seen a tool that automatically disassembles a user-provided ROM to the equivalent of this repo.
评论 #7769018 未加载