| Final Fantasy IV's cartridge ROM as Final Fantasy II (USA) (Rev 1), version 1.1 of the North American release, counted by part of the game: each stretch of code or data goes to the part the disassembly's labels and comments say it serves, and the value sums the bytes of each part. | 0x0-0xfffff | Code notes |
| Each of the 224 monsters has a property block that starts with its level (the top bit marks a boss), its HP, three indexes into a table of three-byte triples (a multiplier, a rate, and a value) for its attack, defense, and magic defense, an index into a table of agility ranges, and a byte whose low six bits pick its item set and top two bits its drop odds; experience and gil sit in tables of two bytes per monster. When a battle starts, the game copies the level, sets current and maximum HP to the HP, sets MP to the HP divided by 16, rolls agility between the range's two values, and copies the attack triple; for defense and magic defense it stores the rate byte and then the value at the same address, so the value overwrites the rate. HP runs from 1 (Shadow) to 65,500 (Golbez) and experience up to 65,000 (Mind); 64 monsters have the boss bit. | 0x726a0-0x734380x71800-0x71eff0x72000-0x7267f | Code |
| The 64 item sets hold four items each, and each monster's item byte picks a set and its drop odds. After a won battle each defeated monster's top two bits decide whether it drops an item: 11 always, 01 when a random number from 0 to 98 is under 5, 10 when it is under 25, 00 never. That number is a byte of the 256-byte random table modulo 99, and the table holds each byte value once, so the odds are 15 and 75 in 256 (computed). A drop takes the set's first item when a random byte is under $80, the second under $D0, the third under $FC, and otherwise the fourth: 128, 80, 44, and 4 in 256 (computed). A battle keeps at most 8 drops. A successful steal takes the set's first item, ten at a time for items $54 to $60, and ends without one when both odds bits are set. 84 monsters never drop, 135 have the 15-in-256 odds, 1 the 75-in-256, and 4 always drop; sets 27, 45, 61 belong to no monster. | 0x71f00-0x71fff0xa6e00-0xa6eff | Code |
| The price table has a byte for each of the 256 items: with the top bit clear the price is the byte times 10, with it set the low seven bits times 1,000 (the shop code multiplies them by 250 and then by 4). Prices run up to 125,000 (Dummy); 21 items cost 0, two of them unnamed. | 0x7a450-0x7a54f0x78000-0x7906f | Code |
| Each of the 48 shops lists up to 8 items, ended by $FF; the shop menu reads the list at the shop number times 8 and each item's price from the price table (ff4-tables/item-prices). The shops sell from 1 to 8 items. | 0x9a300-0x9a47f | Code |
| 18 party slots point into 13 level-up tables (Tellah's serves three slots; Kain's, Rydia's, Rosa's, and Yang's two each), each 5 bytes per level from the character's starting level to 69, then 8 stat bytes. When the game checks a character after a battle it adds the entry's experience, a 19-bit number, to the experience at the last level, and gains a level while the character's experience reaches that sum, checking again after each level, up to level 99. The first byte's top five bits pick which of strength, agility, stamina, intellect, and spirit change and its low three bits by how much (+0 to +6, or 7 for −1), kept from 1 to 99. HP rises by the second byte plus a random 0 to an eighth of it, up to 9,999, and MP by the third byte's low five bits plus a random 0 to an eighth of that, up to 999. From level 70 on, the level-69 entry serves, with its first byte replaced by one of the 8 stat bytes at random. The rows are 832 entries. | 0x7b500-0x7c3c7 | Code |
| Each of 512 map numbers has an encounter-rate byte and a battle-group byte; 109 maps have a nonzero rate. On those maps each check for a battle starts one when a random byte (a table byte plus a running offset) is under the rate, so the rate is the chance in 256 for a uniform byte (computed); a second random byte picks one of the group's 8 battles, the first four 43 in 256 each, the next two 32, then 16 and 4 (computed from the code's cutoffs $2B, $56, $81, $AC, $CC, $EC, $FC). Maps 256 and up take battles numbered from 256. | 0x74342-0x74a950x70000-0x70fff | Code |
| On the overworld the battle rate comes from an 8 × 8 grid of 32 × 32-tile areas, 10, 8, or 7 in 256, and the battle group from a matching grid of groups 0 to 6; the underground has a rate of 8 and a 4 × 4 grid of groups 7, 8, and 10, and the moon a rate of 8 and four quarters, all group 9. Each group lists 8 battles picked with the same odds as on maps (ff4-tables/map-encounters); underground and moon battles are numbered from 256. Groups 11 to 15 hold only battle 0 eight times and are in no grid, so they are never used. | 0x74796-0x74815 | Code |
| The song table has 70 entries, each a three-byte pointer to a song's script; this is the game's track listing, by song number, with where the game plays each, from every request found: the song byte of each of the 383 maps, 375 song commands in the event scripts, 49 song control codes in dialogue, 14 song commands in monster action scripts, the battle properties' song field, the world and vehicle song tables, and constants in the field, battle, menu, and cutscene code. 62 entries are requested; no request found reaches 56, 57, 58, 59, 60, 61, 64, 65. Entries 56, 57, 58, 59, 60, 61 point to the same script as entry 0. | 0x3721d-0x372ee0xb71-0xb7b0x90000-0x9668a0x80000-0x87e200x9a500-0x9cd8f0x88000-0x8fffa0x76700-0x770b80x736c0-0x739890x70000-0x70fff | Code |
| Song entries 56 to 61 point to the same 18-byte script as entry 0, and no request found asks for any of them. | 0x3721d-0x372ee0x372ef-0x37300 | Code notes |
| Song 64 has a script of its own, 201 bytes, but no request found asks for it. | 0x3721d-0x372ee0x374c6-0x3758e | Code notes |
| Song 65 has a script of its own, 201 bytes, but no request found asks for it. | 0x3721d-0x372ee0x3758f-0x37657 | Code notes |