data/claims/paladins-quest-tables.yamlPaladin's Quest's data tables (US ROM)
Game: Q7126357.
Every enemy in the game, 165 and a blank, with what a battle loads from its record: HP, attack, defense, agility, a level the party's is measured against, its defense against four types of spell, the experience and gold it gives, and the item it may drop with the chance in percent. The battle code sets each field's use; the HP column is the base a battle varies by up to a tenth, except in battles where a flag fixes it. 160 of the 165 match a row of odino's enemy list on attack, defense, agility and the first four letters of the name, and 157 of those also on experience and gold; the item names the guide's drop in 159 of the 160. paladins-quest-tables/enemies
0x10000-0x10D9D — $02:8000: the 166 records of 21 bytesPaladin's Quest (USA) · 0x12492-0x125DD — the name pointers, one per record, bank $02Paladin's Quest (USA) · 0x125DE-0x12AF2 — the names, each a length byte and the letters, decoded with our reading of the fontPaladin's Quest (USA) · 0x8E4F-0x8E67 — $01:8E4F-$8E67: record number times 21Paladin's Quest (USA) · 0xAC15-0xACD4 — $01:AC15-$ACD4: battle start: bytes 0-1 into the slot's HP and max HP, varied; 2-3, 4-5, 6-7 and 8-12 copiedPaladin's Quest (USA) · 0xC06D-0xC07E — $01:C06D-$C07E: an enemy heal: max HP minus HP, capped at a quarter of max HPPaladin's Quest (USA) · 0xA063-0xA12B — $01:A063-$A12B: physical damage: an enemy target's defense is bytes 4-5Paladin's Quest (USA) · 0xA18E-0xA1EF — $01:A18E-$A1EF: action choice: the party's average level minus byte 8Paladin's Quest (USA) · 0xA1F1-0xA1FA — $01:A1F1-$A1FA: an enemy's attack, bytes 2-3, becomes its action's powerPaladin's Quest (USA) · 0xD6E7-0xD7AD — $01:D6E7-$D7AD: a spell's target: an enemy's defense is byte 9, 10, 11 or 12, picked by the spell's typePaladin's Quest (USA) · 0xACE7-0xAD59 — $01:ACE7-$AD59: turn order: an enemy's speed is bytes 6-7Paladin's Quest (USA) · 0x9DEB-0x9E1F — $01:9DEB-$9E1F: victory: bytes 14-15 and 16-17 summedPaladin's Quest (USA) · 0x8904-0x8943 — $01:8904-$8943: the 16-17 total added to the party's moneyPaladin's Quest (USA) · 0x8CE9-0x8D33 — $01:8CE9-$8D33: victory: byte 18 an item, dropped when a roll below 100 is under byte 19Paladin's Quest (USA) · 0xD7AE-0xD841 — $01:D7AE-$D841: an enemy caster's spell strength from bytes 9-12Paladin's Quest Experience Chart / Enemy List (v1.0) · Enemy ListPakrat 18 38 13 4 6 2 -Paladin's Quest Experience Chart / Enemy List (v1.0) · Enemy ListRackgorn 260 220 180 220 370 50 S tavernChecked by claude, 2026-11-08 — read the records from the ROM (scratch/gen-tables.mjs), the reader routines in our disassembly, and matched each record against the pinned enemy listRevised after a check by a second AI model, 2026-11-08.File offset 0x10000 ($02:8000), 21 bytes a record, in the order of the name pointers at 0x12492; names are decoded through our reading of the game's font. Bytes 0-1: a battle stores them as both the enemy's HP and its maximum (a heal routine measures the gap between the two), after adding (HP/100, rounded down) times a roll from -10 to +10; when a battle flag ($1843) is set the roll is fixed at its middle and the HP is the table's. Bytes 2-3: the enemy's attack, the power of its physical action. Bytes 4-5: its defense in the physical-damage routine. Bytes 6-7: its speed in the turn-order roll. Byte 8: the party's average level minus this byte sets the chance the enemy takes the action coded 22 instead of the one it would otherwise pick (paladins-quest/enemy-level-gap), so it acts as a level. Bytes 9-12: copied to the battle slot; the spell-defense routine reads 9 for a spell of type 1 (a party member's Luck in the same place), 10 for type 3 (Fire), 11 for type 2 (Light) and 12 for type 4 (Sky), the types the Fire, Bolt and Break lines carry; an enemy caster's strength is a sum of two of them (paladins-quest/spell-damage). Bytes 14-15 and 16-17: summed over the defeated enemies; the second total goes to the party's money, so it is gold, and the first is named experience by the guide's match (paladins-quest/experience-share). Byte 18: an item number (paladins-quest-tables/items). Byte 19: the drop chance in percent (paladins-quest/item-drop). Byte 13 is not copied at battle start; byte 20 is read by another battle routine and not named. Record 0 is a blank ('--------', 1 HP). The guide's HP differs from the table's in 103 of the 160 matched rows, by -9.1% to +10.0%, the battle's variation.
The names of the game's 256 item numbers: 1 to 192 are its items, from Lth to S tavern; the rest are blanks, 'No item', and repeats of earlier names. They match the ZSNES save-state guide's hex item list in 252 of 256 entries and differ at 4: 14, 'Light drs' in the guide and 'Liht drs' in the ROM; 133, 'Bombl' in the guide and 'Bombbl' in the ROM; 154, 'R crab' in the guide and 'R crag' in the ROM; 255, 'No Item' in the guide and blank in the ROM. The Averlus guide spells 'Liht drs', 'Bombbl' and 'R crag' as the ROM does. The drop code reads an enemy's item byte through this table. No table of the items' stats, prices or who may equip them has been found. paladins-quest-tables/items
0x11D33-0x11F32 — the name pointers, bank $02Paladin's Quest (USA) · 0x11F33-0x12491 — the names, length-prefixedPaladin's Quest (USA) · 0x8D61-0x8D70 — $01:8D61-$8D70: the drop message: an item number times 2 into the pointer tablePaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex ListC0 - S tavernPaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex ListC1 -> EF - Hair ornPaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex ListF0 - Wndr btPaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex ListFE -> FF - "No Item"Paladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex List9A - R crabPaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex List0E - Light drsPaladin's Quest ZSNES Save State Hacking Guide (v1.2) · 6) Item Hex List85 - Bombl 0Paladin's Quest: FAQ/Walkthrough (v2.00) · WeaponsR crag | Rock Crag | +32 AttackPaladin's Quest: FAQ/Walkthrough (v2.00) · CharactersBody - Liht drsPaladin's Quest: FAQ/Walkthrough (v2.00) · CharactersBelt - Bombbl 9Checked by claude, 2026-11-08 — decoded each pointer's name from the ROM, read the drop message's lookup in our disassembly, and compared every number with the pinned hex listRevised after a check by a second AI model, 2026-11-08.Pointer table at 0x11D33 ($02:9D33), two bytes per item into bank $02. Entry 0 and 243 to 253 are blanks, 254 is 'No item', 255 is empty, and 193 to 242 repeat the names of items 39 to 42, as the guide's list does. The guide writes a count after the ammunition items ('Minibl 0'); the comparison drops it.
All 37 spells, with the spirits each is built from, its HP cost, and its power: 8 spells use one spirit, 28 use a pair, and Spirit uses all eight. The casting code takes the cost from the caster's HP and marks the spirits as used; the damage code scales the power by the caster's mastery of those spirits. The spirits match the Averlus guide's pairs for 36 of 36 (its list leaves out Spirit), and the cost matches RPGClassics' table for 36 of 37; the exception is BoltA, 28 in the ROM and 40 in RPGClassics. paladins-quest-tables/spells
0x1192A-0x11A07 — $02:992A: the 37 records of 6 bytesPaladin's Quest (USA) · 0x11C46-0x11D29 — the spell names, length-prefixed, Dft A to SpiritPaladin's Quest (USA) · 0xB3D1-0xB41D — $01:B3D1-$B41D: casting: byte 0 ORed into the battle's spirit record, byte 5 taken from HPPaladin's Quest (USA) · 0xD7AE-0xD841 — $01:D7AE-$D841: the caster's strength from the spirits in byte 0Paladin's Quest (USA) · 0xD5C4-0xD628 — $01:D5C4-$D628: spell damage: byte 3 picks the target's defense, byte 4 is the powerPaladin's Quest (USA) · 0xD6E7-0xD7AD — $01:D6E7-$D7AD: the defense byte 3 picksPaladin's Quest: FAQ/Walkthrough (v2.00) · Spirits/SpellsAL (Air/Light) BoltA: Lightning on all enemies.Paladin's Quest Magic · Magic SpellsBoltA Bolt All 40 A + L All enemiesChecked by claude, 2026-11-08 — decoded the records and names from the ROM (scratch/gen-tables.mjs), read the casting and damage routines in our disassembly, and compared spirits and costs with the two pinned guidesRevised after a check by a second AI model, 2026-11-08.File offset 0x1192A ($02:992A), 6 bytes a record in the order of the spell names at 0x11C46. Byte 0 has one bit per spirit, Earth $80 down to Sphere $01; byte 5 is the cost. Byte 3 picks the target's defense: for a party member 1 is Luck, 2 its Light mastery, 3 Fire, 4 Sky, 5 twice what its Water mastery exceeds its Fire (0 if it doesn't), 6 its level and 7 its battle defense; for an enemy, 1 to 4 are its bytes 9, 11, 10 and 12, 5 is byte 9 less byte 10 (0 if below, not doubled), 6 its level and 7 its defense (paladins-quest-tables/enemies). Bytes 3 and 4 are named from the routine most attack spells take (paladins-quest/spell-damage); for spells that routine doesn't serve, such as the support spells, they are listed as stored. Byte 2 is $80, $81 or $82 for every attack spell and sorts them as RPGClassics' target column does (one enemy, a group, all) for the Bolt, Fire and Break lines; Dft A carries $80 and Dft S $82 (paladins-quest/dft-names). Byte 1 is 3 for AntiPS and Healup, 2 for Warp, Escape, Peace and Hire, and 1 for the rest, which fits where each can be cast. Bytes 1 and 2 are read from their pattern, not from code.
The experience a character needs for each level, from 1 (0) to the cap of 99 (999,999); one table serves every character. Each level costs more than the last up to level 59; from level 60 to 98 each total is 20,039 above the previous total, and level 99 costs 15,322, which lands on the cap. The level-up code compares a character's experience with the next level's total and stops at 99. All 99 totals match the guide's chart. paladins-quest-tables/experience
0x470A3-0x471CE — $08:F0A3: 100 totals, three bytes each, low byte firstPaladin's Quest (USA) · 0x8AAA-0x8AFE — $01:8AAA-$8AFE: a level up when experience reaches the total at the character's level times 3; none at 99Paladin's Quest Experience Chart / Enemy List (v1.0) · Experience Chart| 59 | 20,019 | 203,156 |Paladin's Quest Experience Chart / Enemy List (v1.0) · Experience Chart| 99 | 15,322 | 999,999 |Checked by claude, 2026-11-08 — read the totals from the ROM and the level-up test in our disassembly, and compared each total with the pinned chartRevised after a check by a second AI model, 2026-11-08.File offset 0x470A3 ($08:F0A3). The table stores a 100th entry, 999,999 again, which the level-up test never reads, since it stops at 99.
Cited by: Growth rate
The starting records of the game's characters, one for each character number from 1 to 33 (numbers 32 and 33 are copies of Nails): level, experience, maximum HP, Strength, Speed, Defense, Luck, and their mastery of each spirit they can use. A new game copies the whole table to memory; when a character joins, the record goes into the party, and the level-up, casting and spell code read its fields there. The level-up messages name the four stats. Of the Averlus guide's profiles, the 30 with a starting level match on level and the five stats in 30 and on the spirits in 30. paladins-quest-tables/characters
0x4768A-0x479E3 — $08:F68A: the 33 records of 26 bytesPaladin's Quest (USA) · 0x11B30-0x11BE3 — the character names, length-prefixed, Chezni to MeanMaPaladin's Quest (USA) · 0x6A05F-0x6A06E — $0D:A05F-$A06E: new game: the whole table copied to RAMPaladin's Quest (USA) · 0x6B396-0x6B549 — $0D:B396-$B549: a join: the record's fields into a party slotPaladin's Quest (USA) · 0x8AAA-0x8AFE — $01:8AAA-$8AFE: level and three-byte experiencePaladin's Quest (USA) · 0x17735-0x17748 — $02:F735-$F748: the stats' RAM fields and messagesPaladin's Quest (USA) · 0x176FA-0x1771C — $02:F6FA-$F71C: the messages: Strength, Speed, Defense, Luck, Max HPPaladin's Quest (USA) · 0xD7AE-0xD841 — $01:D7AE-$D841: the eight mastery bytes, one per spiritPaladin's Quest: FAQ/Walkthrough (v2.00) · Characters, HawkStarting Stats: MHP - 1380Paladin's Quest: FAQ/Walkthrough (v2.00) · Characters, G Razav (2)G Razav (2) Age: 19 Sex: Male Race: Rackgo Quote: I've become strong! Starting Level: 55Paladin's Quest ZSNES Save State Hacking Guide (v1.2) · 8) Character Hex List1F - GRasavChecked by claude, 2026-11-08 — read the records from the ROM, the copy and level-up routines in our disassembly, and compared level, stats and spirits with each pinned profileRevised after a check by a second AI model, 2026-11-08.File offset 0x4768A ($08:F68A), 26 bytes a record, indexed by the character number (number - 1 times 26): a byte that matches the number's place in the name list at 0x11B30 (the join doesn't read it; it stores the number itself), level, three-byte experience, two-byte HP and maximum HP, two-byte Strength, Speed, Defense and Luck, a byte with one bit per usable spirit (the spell table's order), and eight mastery bytes, Earth to Sphere. The join copies each field to the party record; the HP it copies is the record's HP or, when a flag the join tests is set, the maximum. A spirit column is empty where the character's bit is clear; that bit is named by the guide's match, not by code read. The guide calls the stats Pwr, Agi and End. The ROM's name list has 30 names; record 30, character number 31, which the ZSNES guide's character list calls GRasav and the Averlus guide G Razav (2), the stronger G Razav who joins later; the guide's J Razav and G Razav are the ROM's JRasav and GRasav. Nails has no starting level in the guide, so his record is outside the tally. Records 31 and 32 are byte-for-byte copies of Nails' record.
What each character gains at a level up: for each of Strength, Speed, Defense, Luck and Max HP, a fixed base plus a random roll from 0 up to a per-character range, so Chezni gains 24 to 26 Max HP a level. Strength, Speed, Defense and Luck stop at 999 and Max HP at 9,999. 4 character numbers gain nothing: Chill and Nails, and numbers 32 and 33, the two copies of Nails' record. paladins-quest-tables/growth
0x10D9E-0x10EE7 — $02:8D9E: 33 records of 10 bytes, one per character idPaladin's Quest (USA) · 0x8B00-0x8C30 — $01:8B00-$8C30: the level-up loop: the slot's character number, record (number - 1) times 10, five stats, caps 999 and 9,999Paladin's Quest (USA) · 0x8C41-0x8C55 — $01:8C41-$8C55: a gain: the base byte plus a roll from 0 to the range bytePaladin's Quest (USA) · 0xA8E-0xAB2 — $00:8A8E-$8AB2: the roll: a number below A from a 256-byte tablePaladin's Quest (USA) · 0x17735-0x17748 — $02:F735-$F748: the order of the five stats and their RAM fieldsPaladin's Quest (USA) · 0x176FA-0x1771C — $02:F6FA-$F71C: the messages naming themChecked by claude, 2026-11-08 — read the level-up loop and the gain routine in our disassembly, and each record from the ROM (scratch/gen-tables.mjs)Revised after a check by a second AI model, 2026-11-08.File offset 0x10D9E ($02:8D9E), right after the enemy table; two bytes a stat, the range and then the base, in the order Strength, Speed, Defense, Luck, Max HP; each cell reads base to base plus range. Indexed by the character number the join stores, the same number that indexes the characters and hiring tables; numbers 32 and 33 select records 31 and 32 there, the copies of Nails. The ids that gain nothing are 8, 27, 32, 33; Nails has no level in the guide, and the experience code also skips 27, 32 and 33 (paladins-quest/experience-share). No guide found lists these gains, so the table has no second source.
Cited by: Growth rate
How each character is hired: the fee, a second fee the hiring code takes instead when the character's bit is set in a per-character flag array, and the six items the character joins wearing. The hiring code checks the party's money against the fee and takes it; the join copies the six items into the party record. The fee matches the Averlus guide's recruitment cost for 19 of the 21 characters it gives one for. Lilie's fee is 0: the guide lists '34800G/Free' and explains that the 34,800 is the price of her equipment, which you must buy before she joins early, and that her fee is free. GRasav (2) has 1,000 in the ROM where the guide says Free. The equipment matches the guide's profiles for 31 of 31, leaving out the count the guide writes after a belt item ('Minibl 9'). paladins-quest-tables/party
0x472AC-0x47689 — $08:F2AC: the 33 records of 30 bytesPaladin's Quest (USA) · 0x6AF25-0x6AF73 — $0D:AF25-$AF73: hiring: a flag test; clear, the fee at offset 19 with the text at 5; set, the fee at 21 with the text at 9Paladin's Quest (USA) · 0x6DDFE-0x6DE3B — $0D:DDFE-$DE3B: the flag: one bit per character number in a flag arrayPaladin's Quest (USA) · 0x6DEEA-0x6DEF1 — $0D:DEEA-$DEF1: its bit masksPaladin's Quest (USA) · 0x3F74C-0x3F75E — $07:F74C-$F75E: the party's money against the feePaladin's Quest (USA) · 0x6B10E-0x6B121 — $0D:B10E-$B121: the fee taken from the moneyPaladin's Quest (USA) · 0x6B396-0x6B549 — $0D:B396-$B549: the join: offsets 23-29 into the party recordPaladin's Quest: FAQ/Walkthrough (v2.00) · Characters, LilieRecruitment Cost: 34800G/FreePaladin's Quest: FAQ/Walkthrough (v2.00) · Characters, LilieEquipment: Head - Hair orn R. Hand - Life wh L. Hand - Life cor Body - Drem drs Legs - Wndr bt Belt - NothingPaladin's Quest: FAQ/Walkthrough (v2.00) · Characters, LilieTechnically, I suppose her recruitment cost should be free since she doesn't force you to pay her when she actually joins youChecked by claude, 2026-11-08 — read the records from the ROM and the hiring and join routines in our disassembly, and compared fee and equipment with each pinned profileRevised after a check by a second AI model, 2026-11-08.File offset 0x472AC ($08:F2AC), 30 bytes a record in the characters table's order (the id bytes agree in 31 of 33). Offset 19 is the fee and 21 the flagged fee, both two bytes; 23 to 28 are item numbers; the join copies them without naming the slots, so the order head, left hand, right hand, body, belt, legs is named by the guide match (Lilie's 39, 42, 41, 43, 0, 40 are Hair orn, Life Cor, Life wh, Drem drs, nothing, Wndr bt, against the guide's head, right hand, left hand, body, legs, belt); 29 is copied with them. Offsets 5 to 16 are six two-byte text numbers the hiring dialogue shows; 1 and 2 index two tables in bank $07 and 3 is printed as a number, none named. The flagged fee is nonzero for Zuran (1000), Destry (100), Checan (3000). Fee differences: Lilie (ROM 0, guide 34800G/Free); G Razav (2) (ROM 1000, guide Free).