Creeating some new items from 2 Dummy items, and modifying the first weapon and first armor; this will help me identify where the 256 items’ bytes are in the rom;
Weapon 0
no name
“Physical” bit
“Unarmed”
should match weapon 1, which is used for Empty (Barehand) attacks
Weapon 127
🧵“NewWhip”
(changed icon from ⚔)
“Aerial/Bow/Whip” bit
Armor 0
no name
set “Shield” slot bit
Price: 180
Weight: 1
Evade: 10
Armor 95
⚔“NewCape”
set “Armor” slot bit
“ElfCape” dodge bit
Making a patch to capture all 4 spots where these values changed, I then went back and filled in the altered bytes in the outline above. Choosing the last weapon and first armor was a bit risky, as their bytes are going to be contiguous. But judging from the placement of these bytes it’s easy to infer which match up for the very first weapon (0) and very last armor (95).

For a better experiment, I went back and removed the changes to “armor 0” so that the bytes for “weapon 127” would be easier to track.

Unexpectedly, the final changed byte at $112B01 also reverted, from reverting armor 0! Completely unsure what that might mean… it could be related to number of pieces of “armor (body)”, or to the price or weight values. Damn, I changed too much at once 😹 Bad experiment design!
At least it’s conclusive the 7 bytes $110600 - 110606 match the armor 0 item. But I’m really gonna need to make changes to single items at a time, in order to map this out accurately. The pattern of whch bytes correspond to what will eventually be clear.
A possible calculation based on this experiment can measure how many bytes are given to each item, though. I suspect it’s 8, and since I have the totals for both weapons & armor, I can take the range of bytes in these patches and see if it matches up to 8 per item.
128 + 96 = 224 224 x 8 = 1792 = $700 $111B5E - $ 110001 = $1B5D = 7005
Whoa, 7005 is far more than 8 per 224 entries!
In fact, it’s 31… So it’s crazy but it seems like each item might have 32 bytes reserved for its properties! Considering that every Job only require 4 bytes to indicate which of the 32 types of weapons and armor it can equip, this really seems “roomy” and is a surprising amount of space per item.
I need to consult a rom map to verify this. 32 bytes is enough data to encode a 16 color palette!
| D10000-D105FF | weapon properties (128 items, 12 bytes each) |
| D10600-D10A7F | armor properties (96 items, 12 bytes each) |
| D10A80-D10B7F | useable item properties (32 items, 8 bytes each) |