If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Dragon Warrior Monsters/ROM map
Jump to navigation
Jump to search
The following article is a ROM map for Dragon Warrior Monsters.
Bank 0
rst 00
ROM0:0000 E1 pop hl ROM0:0001 87 add a ROM0:0002 85 add l ROM0:0003 6F ld l,a ROM0:0004 3E 00 ld a,00 ROM0:0006 8C adc h ROM0:0007 67 ld h,a ROM0:0008 2A ldi a,(hl) ROM0:0009 66 ld h,(hl) ROM0:000A 6F ld l,a ROM0:000B E9 jp hl ROM0:000C 2A ldi a,(hl) ROM0:000D 66 ld h,(hl) ROM0:000E 6F ld l,a ROM0:000F C9 ret
rst 10
ROM0:0010 FA 00 40 ld a,(4000) ROM0:0013 F5 push af ROM0:0014 7C ld a,h ROM0:0015 EA 00 21 ld (2100),a ROM0:0018 CB 37 swap a ROM0:001A 1F rra ROM0:001B E6 03 and a,03 ROM0:001D EA 00 41 ld (4100),a ROM0:0020 29 add hl,hl ROM0:0021 26 00 ld h,00 ROM0:0023 01 01 40 ld bc,4001 ROM0:0026 09 add hl,bc ROM0:0027 CD 08 00 call 0008 ROM0:002A F1 pop af ROM0:002B EA 00 21 ld (2100),a ROM0:002E CB 37 swap a ROM0:0030 1F rra ROM0:0031 E6 03 and a,03 ROM0:0033 EA 00 41 ld (4100),a ROM0:0036 C9 ret
rst 38
ROM0:0038 1E 01 ld e,01 ROM0:003A 1A ld a,(de) ROM0:003B 3C inc a ROM0:003C 12 ld (de),a ROM0:003D C9 ret
rst 40
ROM0:0040 F3 di ROM0:0041 C3 6E 03 jp 036E ROM0:0044 01 1A 18 ld bc,181A ROM0:0047 B8 cp b ROM0:0048 C3 EA 2E jp 2EEA ROM0:004B FA 90 CD ld a,(CD90) ROM0:004E 18 B0 jr 0000
rst 50
ROM0:0050 D9 reti
0:0051
ROM0:0051 FA 02 C0 ld a,(C002) ROM0:0054 B7 or a ROM0:0055 C9 ret
rst 58
ROM0:0058 C3 DD 2E jp 2EDD ROM0:005B D9 reti
rst 60
ROM0:0060 D9 reti
0:0061
ROM0:0061 F3 di ROM0:0062 F5 push af ROM0:0063 C5 push bc ROM0:0064 D5 push de ROM0:0065 E5 push hl ROM0:0066 21 40 FF ld hl,FF40 ROM0:0069 CB 86 res 0,(hl) ROM0:006B CB 8E res 1,(hl) ROM0:006D 21 C2 DD ld hl,DDC2 ROM0:0070 34 inc (hl) ROM0:0071 FA 84 C9 ld a,(C984) ROM0:0074 B7 or a ROM0:0075 20 34 jr nz,00AB ROM0:0077 3C inc a ROM0:0078 EA 84 C9 ld (C984),a ROM0:007B CD 90 FF call FF90 ROM0:007E CD F7 0E call 0EF7 ROM0:0081 80 add b ROM0:0082 06 0A ld b,0A ROM0:0084 21 8E 00 ld hl,008E ROM0:0087 2A ldi a,(hl) ROM0:0088 E2 ld (ff00+c),a ROM0:0089 0C inc c ROM0:008A 05 dec b ROM0:008B 20 FA jr nz,0087 ROM0:008D C9 ret
0:008E
ROM0:008E 3E C0 ld a,C0 ROM0:0090 E0 46 ld (ff00+46),a ROM0:0092 3E 28 ld a,28 ROM0:0094 3D dec a ROM0:0095 20 FD jr nz,0094 ROM0:0097 C9 ret
0:0098
ROM0:0098 13 inc de ROM0:0099 CD 90 12 call 1290 ROM0:009C CD 00 40 call 4000 ROM0:009F CD BA 17 call 17BA ROM0:00A2 AF xor a ROM0:00A3 EA 84 C9 ld (C984),a ROM0:00A6 E1 pop hl ROM0:00A7 D1 pop de ROM0:00A8 C1 pop bc ROM0:00A9 F1 pop af ROM0:00AA D9 reti
0:00AB
ROM0:00AB CD C2 00 call 00C2 ROM0:00AE AF xor a ROM0:00AF E0 0F ld (ff00+0F),a ROM0:00B1 FA 99 C9 ld a,(C999) ROM0:00B4 E0 FF ld (ff00+FF),a ROM0:00B6 FB ei ROM0:00B7 CD ED 04 call 04ED ROM0:00BA E1 pop hl ROM0:00BB D1 pop de ROM0:00BC C1 pop bc ROM0:00BD F1 pop af ROM0:00BE CD A7 04 call 04A7 ROM0:00C1 D9 reti
0:00C2
ROM0:00C2 21 91 C9 ld hl,C991 ROM0:00C5 2A ldi a,(hl) ROM0:00C6 E0 42 ld (ff00+42),a ROM0:00C8 2A ldi a,(hl) ROM0:00C9 E0 43 ld (ff00+43),a ROM0:00CB 2A ldi a,(hl) ROM0:00CC E0 4A ld (ff00+4A),a ROM0:00CE 2A ldi a,(hl) ROM0:00CF E0 4B ld (ff00+4B),a ROM0:00D1 2A ldi a,(hl) ROM0:00D2 E0 47 ld (ff00+47),a ROM0:00D4 2A ldi a,(hl) ROM0:00D5 E0 48 ld (ff00+48),a ROM0:00D7 2A ldi a,(hl) ROM0:00D8 E0 49 ld (ff00+49),a ROM0:00DA 7E ld a,(hl) ROM0:00DB E0 45 ld (ff00+45),a ROM0:00DD FA C1 DD ld a,(DDC1) ROM0:00E0 EA C0 DD ld (DDC0),a ROM0:00E3 FA 90 C9 ld a,(C990) ROM0:00E6 E0 40 ld (ff00+40),a ROM0:00E8 FA C7 DD ld a,(DDC7) ROM0:00EB B7 or a ROM0:00EC C8 ret z
0:00ED (jp 1214)
ROM0:00ED C3 14 12 jp 1214
ROM start
ROM0:0100 00 nop ROM0:0101 C3 50 01 jp 0150 ... ROM0:0150 FE 11 cp a,11 ROM0:0152 3E 00 ld a,00 ROM0:0154 20 01 jr nz,0157 ROM0:0156 3C inc a ROM0:0157 EA 1D C8 ld (C81D),a ROM0:015A 31 FF DF ld sp,DFFF ROM0:015D CD DE 11 call 11DE ROM0:0160 CD 88 12 call 1288 ROM0:0163 CD 80 00 call 0080 ROM0:0166 21 00 80 ld hl,8000 ROM0:0169 01 00 1C ld bc,1C00 ROM0:016C AF xor a ROM0:016D CD C7 12 call 12C7 ROM0:0170 21 8A C8 ld hl,C88A ROM0:0173 AF xor a ROM0:0174 22 ldi (hl),a ROM0:0175 22 ldi (hl),a ROM0:0176 22 ldi (hl),a ROM0:0177 77 ld (hl),a ROM0:0178 3E 04 ld a,04 ROM0:017A EA EE C8 ld (C8EE),a ROM0:017D 3E 00 ld a,00 ROM0:017F EA 8A C8 ld (C88A),a ROM0:0182 3E 01 ld a,01 ROM0:0184 EA 00 61 ld (6100),a ROM0:0187 3E 00 ld a,00 ROM0:0189 EA 00 41 ld (4100),a ROM0:018C 3E 00 ld a,00 ROM0:018E EA 00 61 ld (6100),a ROM0:0191 3E 00 ld a,00 ROM0:0193 EA 00 41 ld (4100),a ROM0:0196 3E 0A ld a,0A ROM0:0198 EA 00 01 ld (0100),a ROM0:019B 3E 01 ld a,01 ROM0:019D EA 00 21 ld (2100),a ROM0:01A0 3E 00 ld a,00 ROM0:01A2 EA 00 41 ld (4100),a ROM0:01A5 3E 01 ld a,01 ROM0:01A7 EA 1C C8 ld (C81C),a ROM0:01AA 3E FF ld a,FF ROM0:01AC EA B7 C8 ld (C8B7),a ROM0:01AF EA B8 C8 ld (C8B8),a ROM0:01B2 CD 31 33 call 3331 ROM0:01B5 AF xor a ROM0:01B6 EA C7 C8 ld (C8C7),a ROM0:01B9 FA 1D C8 ld a,(C81D) ROM0:01BC B7 or a ROM0:01BD 28 07 jr z,01C6 ROM0:01BF AF xor a ROM0:01C0 E0 4F ld (ff00+4F),a ROM0:01C2 E0 70 ld (ff00+70),a ROM0:01C4 E0 56 ld (ff00+56),a ROM0:01C6 CD 24 10 call 1024 ROM0:01C9 38 07 jr c,01D2 ROM0:01CB AF xor a ROM0:01CC EA 1C C8 ld (C81C),a ROM0:01CF C3 8B 02 jp 028B ROM0:01D2 01 0C 00 ld bc,000C ROM0:01D5 CD CF 10 call 10CF ROM0:01D8 3E 14 ld a,14 ROM0:01DA EA 74 C7 ld (C774),a ROM0:01DD 21 00 08 ld hl,0800 ROM0:01E0 D7 rst 10 ROM0:01E1 CD 13 10 call 1013 ROM0:01E4 3E 02 ld a,02 ROM0:01E6 EA 74 C7 ld (C774),a ROM0:01E9 21 00 08 ld hl,0800 ROM0:01EC D7 rst 10 ROM0:01ED CD 13 10 call 1013 ROM0:01F0 3E 03 ld a,03 ROM0:01F2 EA 74 C7 ld (C774),a ROM0:01F5 21 00 08 ld hl,0800 ROM0:01F8 D7 rst 10 ROM0:01F9 CD 13 10 call 1013 ROM0:01FC 3E 04 ld a,04 ROM0:01FE EA 74 C7 ld (C774),a ROM0:0201 21 00 08 ld hl,0800 ROM0:0204 D7 rst 10 ROM0:0205 CD 13 10 call 1013 ROM0:0208 3E 05 ld a,05 ROM0:020A EA 74 C7 ld (C774),a ROM0:020D 21 00 08 ld hl,0800 ROM0:0210 D7 rst 10 ROM0:0211 CD 13 10 call 1013 ROM0:0214 3E 06 ld a,06 ROM0:0216 EA 74 C7 ld (C774),a ROM0:0219 21 00 08 ld hl,0800 ROM0:021C D7 rst 10 ROM0:021D CD 13 10 call 1013 ROM0:0220 3E 07 ld a,07 ROM0:0222 EA 74 C7 ld (C774),a ROM0:0225 21 00 08 ld hl,0800 ROM0:0228 D7 rst 10 ROM0:0229 CD 13 10 call 1013 ROM0:022C 3E 08 ld a,08 ROM0:022E EA 74 C7 ld (C774),a ROM0:0231 21 00 08 ld hl,0800 ROM0:0234 D7 rst 10 ROM0:0235 CD 13 10 call 1013 ROM0:0238 3E 09 ld a,09 ROM0:023A EA 74 C7 ld (C774),a ROM0:023D 21 00 08 ld hl,0800 ROM0:0240 D7 rst 10 ROM0:0241 CD 13 10 call 1013 ROM0:0244 3E 0C ld a,0C ROM0:0246 11 03 08 ld de,0803 ROM0:0249 01 00 08 ld bc,0800 ROM0:024C CD 3E 11 call 113E ROM0:024F CD 13 10 call 1013 ROM0:0252 3E 0D ld a,0D ROM0:0254 11 04 08 ld de,0804 ROM0:0257 CD E5 10 call 10E5 ROM0:025A CD 13 10 call 1013 ROM0:025D 3E 12 ld a,12 ROM0:025F EA 74 C7 ld (C774),a ROM0:0262 21 00 08 ld hl,0800 ROM0:0265 D7 rst 10 ROM0:0266 CD 13 10 call 1013 ROM0:0269 3E 0A ld a,0A ROM0:026B EA 74 C7 ld (C774),a ROM0:026E 21 00 08 ld hl,0800 ROM0:0271 D7 rst 10 ROM0:0272 CD 13 10 call 1013 ROM0:0275 3E 13 ld a,13 ROM0:0277 EA 74 C7 ld (C774),a ROM0:027A 21 00 08 ld hl,0800 ROM0:027D D7 rst 10 ROM0:027E CD 13 10 call 1013 ROM0:0281 3E 01 ld a,01 ROM0:0283 EA 1C C8 ld (C81C),a ROM0:0286 3E FF ld a,FF ROM0:0288 EA 1B C8 ld (C81B),a ROM0:028B CD A5 12 call 12A5 ROM0:028E CD 17 14 call 1417 ROM0:0291 CD EF 13 call 13EF ROM0:0294 CD 0B 14 call 140B ROM0:0297 CD 60 16 call 1660 ROM0:029A AF xor a ROM0:029B EA 6A C8 ld (C86A),a ROM0:029E EA 25 C8 ld (C825),a ROM0:02A1 EA 29 C8 ld (C829),a ROM0:02A4 EA 2A C8 ld (C82A),a ROM0:02A7 EA C8 C8 ld (C8C8),a ROM0:02AA EA C9 C8 ld (C8C9),a ROM0:02AD EA 0E DF ld (DF0E),a ROM0:02B0 CD 0F 03 call 030F ROM0:02B3 AF xor a ROM0:02B4 EA 8E C8 ld (C88E),a ROM0:02B7 EA 8F C8 ld (C88F),a ROM0:02BA EA A3 C8 ld (C8A3),a ROM0:02BD EA 40 C7 ld (C740),a ROM0:02C0 EA 41 C7 ld (C741),a ROM0:02C3 EA A2 C8 ld (C8A2),a ROM0:02C6 EA A4 C8 ld (C8A4),a ROM0:02C9 EA A5 C8 ld (C8A5),a ROM0:02CC E0 D3 ld (ff00+D3),a ROM0:02CE EA B9 C8 ld (C8B9),a ROM0:02D1 EA 78 DA ld (DA78),a ROM0:02D4 21 B1 C8 ld hl,C8B1 ROM0:02D7 22 ldi (hl),a ROM0:02D8 22 ldi (hl),a ROM0:02D9 22 ldi (hl),a ROM0:02DA 77 ld (hl),a ROM0:02DB FA 6C C8 ld a,(C86C) ROM0:02DE B7 or a ROM0:02DF CC D0 12 call z,12D0 ROM0:02E2 FA 8E C8 ld a,(C88E) ROM0:02E5 B7 or a ROM0:02E6 28 F3 jr z,02DB ROM0:02E8 FA 50 C8 ld a,(C850) ROM0:02EB B7 or a ROM0:02EC 28 04 jr z,02F2 ROM0:02EE CB 7F bit 7,a ROM0:02F0 28 E9 jr z,02DB ROM0:02F2 F3 di ROM0:02F3 FA 6C C8 ld a,(C86C) ROM0:02F6 B7 or a ROM0:02F7 C4 31 33 call nz,3331 ROM0:02FA CD DE 11 call 11DE ROM0:02FD CD 13 10 call 1013 ROM0:0300 3E 00 ld a,00 ROM0:0302 EA 74 C7 ld (C774),a ROM0:0305 21 00 08 ld hl,0800 ROM0:0308 D7 rst 10 ROM0:0309 CD 13 10 call 1013 ROM0:030C C3 8B 02 jp 028B
Bank 41
There's a table at ROM41:4007 which points to the various string tables stored in this bank.
Personality name tables
ROM41:4997 personality name pointer table, size of 2x27, all pointing to within this bank. These are indexed by (idx(Charge) * 9 + idx(Mixed) * 3 + idx(Cautious)) where idx(x) is: * 0 if x >= 0xC0 * 1 if 0x40 <= x < 0xC0 * 2 if x < 0x40 Effectively this means the indexes are best to worst, worsening Cautious first, then carrying from Mixed, etc. ROM41:7159 personality names start here, each terminated by F0, in the order specified by the pointer table.
Personality adjustment tables
These tables are 4x8, each row containing 1 byte each of the adjustments for Charge, Mixed, Cautious, and Motivation respectively. Each table represents what happens when you select a certain Plan in battle. The row corresponds to a combination of the monster's current Motivation and level. Note that selecting Fight makes no adjustments to personality stats.
Run
ROM50:59B0 -4, 0, 0, -10 # Motivation < 151 && Level < 10 -3, 0, 0, -5 # Motivation < 151 && 10 <= Level < 20 -2, 0, 0, -3 # Motivation < 151 && 20 <= Level < 30 -1, 0, 0, -2 # Motivation < 151 && Level >= 30 -8, 0, 0, -15 # Motivation >= 151 && Level < 10 -6, 0, 0, -10 # Motivation >= 151 && 10 <= Level < 20 -4, 0, 0, -5 # Motivation >= 151 && 20 <= Level < 30 -2, 0, 0, -3 # Motivation >= 151 && Level >= 30
Charge
ROM57:70A9 7, -1, 0, 3 # Motivation < 151 && Level < 10 5, -1, 0, 2 # Motivation < 151 && 10 <= Level < 20 3, -1, 0, 1 # Motivation < 151 && 20 <= Level < 30 2, -1, 0, 1 # Motivation < 151 && Level >= 30 10, -1, 0, 4 # Motivation >= 151 && Level < 10 7, -1, 0, 3 # Motivation >= 151 && 10 <= Level < 20 5, -1, 0, 2 # Motivation >= 151 && 20 <= Level < 30 5, 0, 0, 1 # Motivation >= 151 && Level >= 30
Mixed
ROM57:70C9 0, 7, -2, 3 # Motivation < 151 && Level < 10 0, 5, -2, 2 # Motivation < 151 && 10 <= Level < 20 0, 4, -1, 1 # Motivation < 151 && 20 <= Level < 30 0, 3, -1, 1 # Motivation < 151 && Level >= 30 0, 10, -3, 4 # Motivation >= 151 && Level < 10 0, 7, -2, 3 # Motivation >= 151 && 10 <= Level < 20 0, 5, -1, 2 # Motivation >= 151 && 20 <= Level < 30 0, 5, 0, 1 # Motivation >= 151 && Level >= 30
Cautious
ROM57:70E9 -2, 0, 7, 3 # Motivation < 151 && Level < 10 -2, 0, 5, 2 # Motivation < 151 && 10 <= Level < 20 -1, 0, 4, 1 # Motivation < 151 && 20 <= Level < 30 -1, 0, 3, 1 # Motivation < 151 && Level >= 30 -2, 0, 10, 4 # Motivation >= 151 && Level < 10 -2, 0, 7, 3 # Motivation >= 151 && 10 <= Level < 20 -1, 0, 5, 2 # Motivation >= 151 && 20 <= Level < 30 0, 0, 5, 1 # Motivation >= 151 && Level >= 30
Command
ROM57:7109 0, 0, 0, -1 # Motivation < 151 && Level < 10 0, 0, 0, -2 # Motivation < 151 && 10 <= Level < 20 0, 0, 0, -2 # Motivation < 151 && 20 <= Level < 30 0, 0, 0, -1 # Motivation < 151 && Level >= 30 0, 0, 0, -1 # Motivation >= 151 && Level < 10 0, 0, 0, -2 # Motivation >= 151 && 10 <= Level < 20 0, 0, 0, -2 # Motivation >= 151 && 20 <= Level < 30 0, 0, 0, -1 # Motivation >= 151 && Level >= 30
Internal Data for Dragon Warrior Monsters
| |
---|---|