Cite as
zeromus/DragonWarrior3
Original
https://github.com/zeromus/DragonWarrior3
Pinned
zeromus/DragonWarrior3 @ b35d5fd2046c33254f4387aa92bd3bce730f6c97
Accessed
2026-10-21
Licence
none stated (no LICENSE file)
Credit
zeromus and CaH4e3, who disassembled and commented Dragon Warrior III for the NES (disassembly/bank*.inc). Every label and comment quoted in dw3 claims is theirs.
Notes
The source is a reworked build, not the retail ROM: the README warns that CaH4e3 "reprogrammed some things" and that "the timing of the game has changed from the original ROM". The dw3 claims therefore rest on the retail ROM's bytes (dragon-warrior-iii-nes-rom), disassembled with da65 (cc65) in research/private and compared with these files: every routine cited sits at the same bank and address in both and has the same instructions.

Cited on

Claims (7)

In Dragon Warrior III (the North American NES release), each step reads the area's encounter class: classes 0–2 first pass a roll of 16, 64, or 128 in 256 and then use a multiplier of 1, and classes 3–7 use 1, 2, 4, 8, or 16. The multiplier times the terrain's odds, capped at 100, is then compared with a random byte; the overworld's odds rise at night (grass 10 by day and 13 by night, forest 18 and 22, hills 25 and 31, and 4 and 5 aboard the ship, which uses terrain 0), and carrying the Golden Claw sets them to 100.disassembly/bank00.inc L606–665disassembly/bank00.inc L1444–1447disassembly/tile_ids.inc L1–5disassembly/bank00.inc L500–510Code
In Dragon Warrior III (NA NES), a hero's attack takes X=A−⌊D/2⌋, attack power less half the monster's defense; under 2 it deals 0 or 1, and otherwise ⌊X⌊r/4⌋/64⌋, where r is a bell-shaped roll centered on 128 clamped to 102–153, so 25/64 to 38/64 of X.disassembly/bank04.inc L7013–7062disassembly/bank04.inc L9560–9563Code
In Dragon Warrior III (NA NES), a hero lands "a tremendous hit" when a random byte falls below 4 (1 in 64), or below 32 (1 in 8) with the Sword of Destruction or the Demon Axe; a Fighter first gets a roll below its level. The hit deals attack power × (54 + a roll of 0–10) / 64, plus 1, ignoring defense.disassembly/bank04.inc L3541–3568disassembly/bank04.inc L7146–7154disassembly/bank04.inc L7763–7778Code
Dragon Warrior III (NA NES) keeps Dragon Warrior II's critical-hit odds for most heroes, 1 in 64, and its 1 in 8 with the Sword of Destruction.disassembly/bank04.inc L3551–3555disassembly/bank04.inc L7763–7775Code
In Dragon Warrior III (NA NES), each round every hero and monster gets a key of a quarter of its agility plus a random share of the other three quarters, so from a quarter to all of it, and a selection sort sets the order from the highest key down.disassembly/bank04.inc L242–300disassembly/bank04.inc L333–345Code
Dragon Warrior III (NA NES) changes Dragon Warrior II's round order: Dragon Warrior II adds a random byte (and a random 0 or 1) to half the agility, while Dragon Warrior III scales the agility itself by a random factor from a quarter to one.disassembly/bank04.inc L333–345Code
In Dragon Warrior III (NA NES), running never works in a special battle; it always works when the party leader's level less a level the encounter setup stores at $5F (zeromus reads it as the enemies') is 10 or more, or when bit 3 of the battle-state byte $0566 is set, and otherwise it fails when a random byte is below 128, 128, 64, or 0 for the first, second, third, and fourth try, so the fourth try always escapes.disassembly/bank02.inc L3309–3353disassembly/bank00.inc L927–933disassembly/bank04.inc L66–72Code