# HG changeset patch # User Dylan Holmes # Date 1333268433 18000 # Node ID 8fa0f36140b45ddb6007579a1ed38f8d581eaf98 # Parent 3d4f60b4a4af6ac128aea86cb16945503b234243 began writing out my notes on the ROM in an org file. diff -r 3d4f60b4a4af -r 8fa0f36140b4 org/rom.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/org/rom.org Sun Apr 01 03:20:33 2012 -0500 @@ -0,0 +1,24 @@ +#+title: Notes on Deconstructing Pokemon Yellow +#+author: Dylan Holmes +#+email: rlm@mit.edu +#+description: +#+keywords: simulated hearing, openal, clojure, jMonkeyEngine3, LWJGL, AI +#+SETUPFILE: ../../aurellem/org/setup.org +#+INCLUDE: ../../aurellem/org/level-0.org +#+BABEL: :exports both :noweb yes :cache no :mkdirp yes + +* Mapping the ROM + +| ROM address (hex) | Description | Format | Example | +|-------------------+-----------------+-----------------+-----------------| +| | <15> | <15> | <15> | +| 04495- | Prices of items. | Each price is two bytes of binary-coded decimal. Prices are separated by zeroes. Priceless items[fn::Like the Pok\eacute{}dex and other unsellable items.] are given a price of zero. | The cost of lemonade is 0x03 0x80, which translates to a price of ₱350. | +| 045B7-0491E | Names of the items in memory. | Variable-length item names (strings of character codes). Names are separated by a single 0x80 character. | MASTER BALL#ULTRA BALL#... | +| 05EDB. | Which Pok\eacute{}mon to show during Prof. Oak's introduction. | A single byte, the Pok\eacute{}mon's internal id. | In Pok\eacute{}mon Yellow, it shows Pikachu during the introduction; Pikachu's internal id is 0x54. | +| 27D99-27DFF | Names of the Pok\eacute{}mon types. | Variable-length type names (strings of character codes). Names are separated by a single 0x80 character. | NORMAL#FIGHTING#... | +| 38000- | The basic properties and effects of moves. | Fixed-length (6 byte) continguous descriptions (no separating character): move-index, move-effect, power, move-type, accuracy, pp. | | +| 39462- | The Pok\eacute{}mon cry data. | Fixed-length (3 byte) descriptions of cries. | | +| 40687- | Species data from the Pok\eacute{}dex: species name, height, weight, etc. | Fixed-length sequences of bytes. See below for specifics. | | +| E8000-E876C | Names of the \ldquo{}190\rdquo{} species of Pok\eacute{}mon in memory. | Fixed length (10-letter) Pok\eacute{}mon names. Any extra space is padded with the character 0x80. The names are in \ldquo{}internal order\rdquo{}. | RHYDON####KANGASKHANNIDORAN♂#... | +| | | | | +| | | | |