The current URL is datacrystal.tcrf.net.
Dragon Warrior Monsters/ROM map
The following article is a ROM map for Dragon Warrior Monsters.
Bank 00
rst $10
This method is used to call functions stored in other banks. It's usually preceded by writes to RAM locations (which act as arguments to the function being called). The function to call is selected via HL, so the rst $10 call is always directly preceded by a write to HL. In this, H is the bank of the function to call, while L is the index of it.
At the start of every bank, besides bank 0, is a byte indicating the bank itself, followed by a list of 2-byte address which address the cross-bank functions stored in that bank. The index is the index into this table (0-based).
For example, the start of bank 1 looks like this:
01:4000 01 = Bank index
01:4001 1D 40 = Cross-bank function 0's address (call it with mov hl,$0100; rst $10;)
01:4003 D3 4D = Cross-bank function 1's address
01:4005 1C 42 = Cross-bank function 2's address
...
01:401B E1 69 = Cross-bank function 13's address
01:40D1 ... = Cross-bank function 0's code
Text functions
00:07AB HandleTextCharacter 00:0D78 ReadNextTextByte
Math functions
00:1dbe Mul8x8To16 HL = A * C 00:1de6 Mul16x8To24 E:HL = BC * A 00:1e0d Div16x8To16 HL = HL // A; A = HL % A 00:1e1e Div24x8To16 HL = E:HL // A; A = E:HL % A 00:2f45 CmpHLvsBC 00:2f4b Div16x16To16 DE = HL // BC; BC = HL % BC
Bank 01
Load next dungeon floor
ROM1:69E1 FA 35 C9 ld a,(C935) ;a = current_gate ROM1:69E4 21 22 6A ld hl,6A22 ROM1:69E7 85 add l ROM1:69E8 6F ld l,a ROM1:69E9 3E 00 ld a,00 ROM1:69EB 8C adc h ROM1:69EC 67 ld h,a ROM1:69ED 7E ld a,(hl) ;a = offset specific to current gate and current floor ROM1:69EE F5 push af ROM1:69EF FA 35 C9 ld a,(C935) ;a = current_gate ROM1:69F2 87 add a ROM1:69F3 21 42 6A ld hl,6A42 ;hl points to an array of pointers to Gates floors thresholds ROM1:69F6 85 add l ROM1:69F7 6F ld l,a ROM1:69F8 3E 00 ld a,00 ROM1:69FA 8C adc h ROM1:69FB 67 ld h,a ROM1:69FC 2A ldi a,(hl) ROM1:69FD 66 ld h,(hl) ROM1:69FE 6F ld l,a ;hl = pointer_to_gate_floor_thresholds ROM1:69FF 0E FF ld c,FF ROM1:6A01 FA 39 C9 ld a,(C939) ;a = current_floor ROM1:6A04 3C inc a ;current_floor++ ROM1:6A05 BE cp (hl) ROM1:6A06 0C inc c ;current_floor_threshold++ ROM1:6A07 23 inc hl ROM1:6A08 30 F7 jr nc,6A01 ROM1:6A0A F1 pop af ROM1:6A0B 81 add c ;a = offset_specific_to_current_gate_and_current_floor + current_floor_threshold ROM1:6A0C EA 38 CA ld (CA38),a ;write result of querying 1:6A22 + current_floor_threshold array in wCA38 ROM1:6A0F 01 1A 00 ld bc,001A ;bc = 26 ROM1:6A12 CD E6 1D call 1DE6 ;hl = bc × a ROM1:6A15 7D ld a,l ROM1:6A16 C6 AE add a,AE ROM1:6A18 6F ld l,a ROM1:6A19 7C ld a,h ROM1:6A1A CE 6A adc a,6A ROM1:6A1C 67 ld h,a ;hl = 0x6AAE + ((offset_specific_to_current_gate_and_current_floor + current_floor_threshold) × 26) ROM1:6A1D 7E ld a,(hl) ROM1:6A1E EA A9 C8 ld (C8A9),a ;store the value pointed to in wC8A9 ROM1:6A21 C9 ret
1:6A22 array (offsets specific to current gate and current floor)
00 01 03 05 07 09 0C 0F 12 16 1A 1E 22 27 2C 31 36 3B 40 45 4A 4F 55 59 5D 61 65 69 6D 71 75 79
1:6A42 array - Pointers to Gates floors thresholds
82 6A - Gate of Beginning 83 6A - Gate of Villager 83 6A - Gate of Talisman 83 6A - Gate of Memories 83 6A - Gate of Bewilder 83 6A - 86 6A - Gate of Peace 86 6A - Gate of Bravery 86 6A - 8A 6A - 8A 6A - 8A 6A - 8E 6A - 83 6A - 8E 6A - 93 6A - 93 6A - 86 6A - 98 6A - 98 6A - 98 6A - 9D 6A - A3 6A - A3 6A - A3 6A - A3 6A - A3 6A - A3 6A - A3 6A - A3 6A - A3 6A - A7 6A - Unused Gate
1:6A82 array - Gates floors thresholds
These numbers are used for monsters encounters, music and other stuff
FF - No threshold 03 06 FF - 3; 6 04 06 09 FF - 4; 6; 9 04 06 09 FF - 4; 6; 9 04 06 09 0D FF - 4; 6; 9; 13 05 09 0D 11 FF - 5; 9; 13; 17 06 0B 10 15 FF - 6; 11; 16; 21 06 0B 10 15 1A FF - 6; 11; 16; 21; 26 06 0B 15 FF - 6; 11; 21 06 0B 15 29 3D 51 FF - 6; 11; 21; 41; 61; 81
1:6AAE array - Gates floors thresholds data
32 arrays of 26 bytes (to document)
Bank 03
Monster info table
Base info for monsters starts at ROM03:4461. This table has 221 entries at 43 bytes each. See the names here
Format:
00: Family: 00 = Slime 01 = Dragon 02 = Beast 03 = Flying 04 = Plant 05 = Bug 06 = Devil 07 = Zombie 08 = Material 09 = ??? (Boss) 01: Base level cap 02: [[#Experience table|Experience table]] index 03: Percentage of females: v = raw val (F:M ratio) 00 = 0/256 (0:100) 01 = 26/256 (13:115 ~ 10:90) 02 = 128/256 (50:50) 03 = 214/256 (107:21 ~ 84:16) 04: ? 06: Base skills (3 skills, 1 byte per) 09: ? 0F: Resistances (27 bytes) 2A: ?
Bank 13
Experience table
At ROM13:41E6, there are 32 entries of 297 bytes each. Those 297 bytes are an array of 99 3-byte records. Each 3-byte record is an integer representing the total experience points required to achieve that level (1-based index into the array).
To use this, find the row associate with the ID mentioned in the monster info table then use the column as the level. Level 1 is always 0 exp because all monsters start at level 1 when hatched.
| id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 12900 | 15700 | 18900 | 22500 | 26500 | 30900 | 35700 | 40900 | 46500 | 52500 | 58900 | 65700 | 72900 | 80500 | 88500 | 96900 | 105700 | 114900 | 124500 | 134500 | 145500 | 157500 | 170500 | 184500 | 199500 | 215500 | 232500 | 250500 | 269500 | 289500 | 310500 | 332500 | 355500 | 379500 | 404500 | 429500 | 454500 | 479500 | 504500 | 529500 | 554500 | 579500 | 604500 | 629500 | 654500 | 679500 | 704500 | 729500 | 754500 | 779500 | 804500 | 829500 | 854500 | 879500 | 904500 | 929500 | 954500 | 979500 | 1004500 | 1029500 | 1054500 | 1079500 | 1104500 | 1129500 | 1154500 | 1179500 | 1204500 | 1229500 | 1254500 | 1279500 | 1304500 | 1329500 | 1354500 | 1379500 | 1404500 | 1429500 | 1454500 |
| 1 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 12900 | 15700 | 18900 | 22500 | 26500 | 30900 | 35700 | 40900 | 46500 | 52500 | 58900 | 65700 | 72900 | 80500 | 88500 | 96900 | 105700 | 114900 | 124500 | 134500 | 146500 | 160500 | 176500 | 194500 | 214500 | 236500 | 260500 | 286500 | 314500 | 344500 | 374500 | 404500 | 434500 | 464500 | 494500 | 524500 | 554500 | 584500 | 614500 | 644500 | 674500 | 704500 | 734500 | 764500 | 794500 | 824500 | 854500 | 884500 | 914500 | 944500 | 974500 | 1004500 | 1034500 | 1064500 | 1094500 | 1124500 | 1154500 | 1184500 | 1214500 | 1244500 | 1274500 | 1304500 | 1334500 | 1364500 | 1394500 | 1424500 | 1454500 | 1484500 | 1514500 | 1544500 | 1574500 | 1604500 | 1634500 | 1664500 | 1694500 | 1724500 | 1754500 |
| 2 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13100 | 16300 | 20100 | 24500 | 29500 | 35100 | 41300 | 48100 | 55500 | 63500 | 72100 | 81300 | 91100 | 101500 | 112500 | 124100 | 136300 | 149100 | 162500 | 176500 | 191500 | 207500 | 224500 | 242500 | 261500 | 281500 | 302500 | 324500 | 347500 | 371500 | 396500 | 421500 | 446500 | 471500 | 496500 | 521500 | 546500 | 571500 | 596500 | 621500 | 646500 | 671500 | 696500 | 721500 | 746500 | 771500 | 796500 | 821500 | 846500 | 871500 | 896500 | 921500 | 946500 | 971500 | 996500 | 1021500 | 1046500 | 1071500 | 1096500 | 1121500 | 1146500 | 1171500 | 1196500 | 1221500 | 1246500 | 1271500 | 1296500 | 1321500 | 1346500 | 1371500 | 1396500 | 1421500 | 1446500 | 1471500 | 1496500 | 1521500 | 1546500 |
| 3 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13100 | 16300 | 20100 | 24500 | 29500 | 35100 | 41300 | 48100 | 55500 | 63500 | 72100 | 81300 | 91100 | 101500 | 112500 | 124100 | 136300 | 149100 | 162500 | 176500 | 192500 | 210500 | 230500 | 252500 | 276500 | 302500 | 330500 | 360500 | 390500 | 420500 | 450500 | 480500 | 510500 | 540500 | 570500 | 600500 | 630500 | 660500 | 690500 | 720500 | 750500 | 780500 | 810500 | 840500 | 870500 | 900500 | 930500 | 960500 | 990500 | 1020500 | 1050500 | 1080500 | 1110500 | 1140500 | 1170500 | 1200500 | 1230500 | 1260500 | 1290500 | 1320500 | 1350500 | 1380500 | 1410500 | 1440500 | 1470500 | 1500500 | 1530500 | 1560500 | 1590500 | 1620500 | 1650500 | 1680500 | 1710500 | 1740500 | 1770500 | 1800500 | 1830500 |
| 4 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13300 | 16900 | 21300 | 26500 | 32500 | 39300 | 46900 | 55300 | 64500 | 74500 | 85300 | 96900 | 109300 | 122500 | 136500 | 151300 | 166900 | 183300 | 200500 | 218500 | 237500 | 257500 | 278500 | 300500 | 323500 | 347500 | 372500 | 397500 | 422500 | 447500 | 472500 | 497500 | 522500 | 547500 | 572500 | 597500 | 622500 | 647500 | 672500 | 697500 | 722500 | 747500 | 772500 | 797500 | 822500 | 847500 | 872500 | 897500 | 922500 | 947500 | 972500 | 997500 | 1022500 | 1047500 | 1072500 | 1097500 | 1122500 | 1147500 | 1172500 | 1197500 | 1222500 | 1247500 | 1272500 | 1297500 | 1322500 | 1347500 | 1372500 | 1397500 | 1422500 | 1447500 | 1472500 | 1497500 | 1522500 | 1547500 | 1572500 | 1597500 | 1622500 |
| 5 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13300 | 16900 | 21300 | 26500 | 32500 | 39300 | 46900 | 55300 | 64500 | 74500 | 85300 | 96900 | 109300 | 122500 | 136500 | 151300 | 166900 | 183300 | 200500 | 218500 | 238500 | 260500 | 284500 | 310500 | 338500 | 368500 | 398500 | 428500 | 458500 | 488500 | 518500 | 548500 | 578500 | 608500 | 638500 | 668500 | 698500 | 728500 | 758500 | 788500 | 818500 | 848500 | 878500 | 908500 | 938500 | 968500 | 998500 | 1028500 | 1058500 | 1088500 | 1118500 | 1148500 | 1178500 | 1208500 | 1238500 | 1268500 | 1298500 | 1328500 | 1358500 | 1388500 | 1418500 | 1448500 | 1478500 | 1508500 | 1538500 | 1568500 | 1598500 | 1628500 | 1658500 | 1688500 | 1718500 | 1748500 | 1778500 | 1808500 | 1838500 | 1868500 | 1898500 |
| 6 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13500 | 17500 | 22500 | 28500 | 35500 | 43500 | 52500 | 62500 | 73500 | 85500 | 98500 | 112500 | 127500 | 143500 | 160500 | 178500 | 197500 | 217500 | 238500 | 260500 | 283500 | 307500 | 332500 | 357500 | 382500 | 407500 | 432500 | 457500 | 482500 | 507500 | 532500 | 557500 | 582500 | 607500 | 632500 | 657500 | 682500 | 707500 | 732500 | 757500 | 782500 | 807500 | 832500 | 857500 | 882500 | 907500 | 932500 | 957500 | 982500 | 1007500 | 1032500 | 1057500 | 1082500 | 1107500 | 1132500 | 1157500 | 1182500 | 1207500 | 1232500 | 1257500 | 1282500 | 1207500 | 1332500 | 1357500 | 1382500 | 1407500 | 1432500 | 1457500 | 1482500 | 1507500 | 1532500 | 1557500 | 1582500 | 1607500 | 1632500 | 1657500 | 1682500 |
| 7 | 0 | 2 | 7 | 15 | 30 | 50 | 90 | 140 | 215 | 330 | 500 | 760 | 1080 | 1480 | 1980 | 2600 | 3380 | 4360 | 5580 | 6950 | 8500 | 10500 | 13500 | 17500 | 22500 | 28500 | 35500 | 43500 | 52500 | 62500 | 73500 | 85500 | 98500 | 112500 | 127500 | 143500 | 160500 | 178500 | 197500 | 217500 | 238500 | 260500 | 284500 | 310500 | 338500 | 368500 | 398500 | 428500 | 458500 | 488500 | 518500 | 548500 | 578500 | 608500 | 638500 | 668500 | 698500 | 728500 | 758500 | 788500 | 818500 | 848500 | 878500 | 908500 | 938500 | 968500 | 998500 | 1028500 | 1058500 | 1088500 | 1118500 | 1148500 | 1178500 | 1208500 | 1238500 | 1268500 | 1298500 | 1328500 | 1358500 | 1388500 | 1418500 | 1448500 | 1478500 | 1508500 | 1538500 | 1568500 | 1598500 | 1628500 | 1658500 | 1688500 | 1718500 | 1748500 | 1778500 | 1808500 | 1838500 | 1868500 | 1898500 | 1928500 | 1958500 |
| 8 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 25800 | 31400 | 37800 | 45000 | 53000 | 61800 | 71400 | 81800 | 93000 | 105000 | 117800 | 131400 | 145800 | 161000 | 177000 | 193800 | 211400 | 229800 | 249000 | 269000 | 290250 | 312750 | 336500 | 361500 | 387750 | 415250 | 444000 | 474000 | 506000 | 540000 | 576000 | 614000 | 654000 | 695000 | 737000 | 780000 | 824000 | 869000 | 915000 | 962000 | 1010000 | 1059000 | 1109000 | 1159000 | 1209000 | 1259000 | 1309000 | 1338520 | 1409000 | 1459000 | 1509000 | 1559000 | 1609000 | 1659000 | 1709000 | 1759000 | 1809000 | 1859000 | 1909000 | 1959000 | 2009000 | 2059000 | 2109000 | 2159000 | 2209000 | 2259000 | 2309000 | 2359000 | 2409000 | 2459000 | 2509000 | 2559000 | 2609000 | 2659000 | 2709000 | 2759000 | 2809000 |
| 9 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 25800 | 31400 | 37800 | 45000 | 53000 | 61800 | 71400 | 81800 | 93000 | 105000 | 117800 | 131400 | 145800 | 161000 | 177000 | 193800 | 211400 | 229800 | 249000 | 269000 | 292100 | 318300 | 347600 | 380000 | 415500 | 454100 | 495900 | 540900 | 586900 | 633900 | 681900 | 730900 | 780900 | 831900 | 883900 | 936900 | 990900 | 1045900 | 1101900 | 1158900 | 1216900 | 1275900 | 1335900 | 1395900 | 1455900 | 1515900 | 1575900 | 1635900 | 1695900 | 1755900 | 1815900 | 1875900 | 1935900 | 1995900 | 2055900 | 2115900 | 2175900 | 2235900 | 2295900 | 2355900 | 2415900 | 2475900 | 2535900 | 2595900 | 2655900 | 2715900 | 2775900 | 2835900 | 2895900 | 2955900 | 3015900 | 3075900 | 3135900 | 3195900 | 3255900 | 3315900 | 3375900 |
| 10 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 26200 | 32600 | 40200 | 49000 | 59000 | 70200 | 82600 | 96200 | 111000 | 127000 | 144200 | 162600 | 182200 | 203000 | 225000 | 248200 | 272600 | 298200 | 325000 | 353000 | 382500 | 413500 | 446256 | 480000 | 515500 | 552500 | 591000 | 631000 | 671600 | 712800 | 754600 | 797000 | 840000 | 883600 | 927800 | 972600 | 1018000 | 1064000 | 1110800 | 1158400 | 1206800 | 1256000 | 1306000 | 1356000 | 1406000 | 1456000 | 1506000 | 1556000 | 1606000 | 1656000 | 1706000 | 1756000 | 1806000 | 1856000 | 1906000 | 1956000 | 2006000 | 2056000 | 2106000 | 2156000 | 2206000 | 2256000 | 2306000 | 2356000 | 2406000 | 2456000 | 2506000 | 2556000 | 2606000 | 2656000 | 2706000 | 2756000 | 2806000 | 2856000 | 2906000 | 2956000 | 3006000 |
| 11 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 26200 | 32600 | 40200 | 49000 | 59000 | 70200 | 82600 | 96200 | 111000 | 127000 | 144200 | 162600 | 182200 | 203000 | 225000 | 248200 | 272600 | 298200 | 325000 | 353000 | 383750 | 417250 | 453500 | 492500 | 534250 | 578750 | 626000 | 676000 | 726600 | 777800 | 829600 | 882000 | 935000 | 988600 | 1042800 | 1097600 | 1153000 | 1209000 | 1265800 | 1323400 | 1381800 | 1441000 | 1501000 | 1561000 | 1621000 | 1681000 | 1741000 | 1801000 | 1861000 | 1921000 | 1981000 | 2041000 | 2101000 | 2161000 | 2221000 | 2281000 | 2341000 | 2401000 | 2461000 | 2521000 | 2581000 | 2641000 | 2701000 | 2761000 | 2821000 | 2881000 | 2941000 | 3001000 | 3061000 | 3121000 | 3181000 | 3241000 | 3301000 | 3361000 | 3421000 | 3481000 | 3541000 |
| 12 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 26600 | 33800 | 42600 | 53000 | 65000 | 78600 | 93800 | 110600 | 129000 | 149000 | 170600 | 193800 | 218600 | 245000 | 273000 | 302600 | 333800 | 366600 | 401000 | 435550 | 470250 | 505100 | 540100 | 575600 | 611600 | 648100 | 685100 | 722600 | 760600 | 799100 | 838100 | 877600 | 917600 | 957600 | 997600 | 1037600 | 1077600 | 1117600 | 1157600 | 1197600 | 1237600 | 1277600 | 1317600 | 1357600 | 1397600 | 1437600 | 1477600 | 1517600 | 1557600 | 1597600 | 1637600 | 1677600 | 1717600 | 1757600 | 1797600 | 1837600 | 1877600 | 1917600 | 1957600 | 1997600 | 2037600 | 2077600 | 2117600 | 2157600 | 2197600 | 2237600 | 2277600 | 2317600 | 2357600 | 2397600 | 2437600 | 2477600 | 2517600 | 2557600 | 2597600 | 2637600 | 2677600 |
| 13 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 26600 | 33800 | 42600 | 53000 | 65000 | 78600 | 93800 | 110600 | 129000 | 149000 | 170600 | 193800 | 218600 | 245000 | 273000 | 302600 | 333800 | 366600 | 401000 | 436800 | 474000 | 512600 | 552600 | 593600 | 635600 | 678600 | 722600 | 767600 | 813600 | 860600 | 908600 | 957600 | 1007600 | 1057600 | 1107600 | 1157600 | 1207600 | 1257600 | 1307600 | 1357600 | 1407600 | 1457600 | 1507600 | 1557600 | 1607600 | 1657600 | 1707600 | 1757600 | 1807600 | 1857600 | 1907600 | 1957600 | 2007600 | 2057600 | 2107600 | 2157600 | 2207600 | 2257600 | 2307600 | 2357600 | 2407600 | 2457600 | 2507600 | 2557600 | 2607600 | 2657600 | 2707600 | 2757600 | 2807600 | 2857600 | 2907605 | 2957600 | 3007600 | 3057600 | 3107600 | 3157600 | 3207600 |
| 14 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 27000 | 35000 | 45000 | 57000 | 71000 | 87000 | 105000 | 125000 | 147000 | 171000 | 197000 | 225000 | 255000 | 287000 | 321000 | 357000 | 395000 | 435000 | 477000 | 519750 | 563250 | 607500 | 652500 | 697000 | 741000 | 784500 | 827500 | 870000 | 912000 | 953500 | 994500 | 1035000 | 1075000 | 1115000 | 1155000 | 1195000 | 1235000 | 1275000 | 1315000 | 1355000 | 1395000 | 1435000 | 1475000 | 1515000 | 1555000 | 1595000 | 1635000 | 1675000 | 1715000 | 1755000 | 1795000 | 1835000 | 1875000 | 1915000 | 1955000 | 1995000 | 2035000 | 2075000 | 2115000 | 2155000 | 2195000 | 2235000 | 2275000 | 2315000 | 2355000 | 2395000 | 2435000 | 2475000 | 2515000 | 2555000 | 2595000 | 2635000 | 2675000 | 2715000 | 2755000 | 2795000 | 2835000 |
| 15 | 0 | 5 | 15 | 30 | 60 | 100 | 180 | 280 | 430 | 660 | 1000 | 1520 | 2160 | 2960 | 3960 | 5200 | 6760 | 8760 | 11160 | 13900 | 17000 | 21000 | 27000 | 35000 | 45000 | 57000 | 71000 | 87000 | 105000 | 125000 | 147000 | 171000 | 197000 | 225000 | 255000 | 285500 | 316500 | 348000 | 380000 | 412500 | 445500 | 479000 | 513000 | 547500 | 582500 | 619000 | 657000 | 696500 | 737500 | 780000 | 824000 | 869500 | 916500 | 965000 | 1015000 | 1066000 | 1118000 | 1171000 | 1225000 | 1280000 | 1336000 | 1393000 | 1451000 | 1510000 | 1570000 | 1630000 | 1690000 | 1750000 | 1809744 | 1870000 | 1930000 | 1990000 | 2050000 | 2110000 | 2170000 | 2230000 | 2290000 | 2350000 | 2410000 | 2470000 | 2530000 | 2590000 | 2650000 | 2710000 | 2770000 | 2830000 | 2890000 | 2950000 | 3010000 | 3070000 | 3130000 | 3190000 | 3250000 | 3310000 | 3370000 | 3430000 | 3490000 | 3550000 | 3610000 |
| 16 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 51000 | 61000 | 72000 | 84000 | 97000 | 111000 | 126000 | 142000 | 159800 | 179400 | 200800 | 224000 | 249000 | 275000 | 302000 | 330000 | 359000 | 389000 | 420000 | 452000 | 485000 | 519000 | 554000 | 590500 | 628500 | 668000 | 709000 | 751500 | 795500 | 841000 | 888000 | 936500 | 986500 | 1038500 | 1092500 | 1148500 | 1206500 | 1266500 | 1328500 | 1392500 | 1458500 | 1526500 | 1596500 | 1666500 | 1736500 | 1806500 | 1876500 | 1946500 | 2016500 | 2086500 | 2156500 | 2226500 | 2296500 | 2366500 | 2436500 | 2506500 | 2576500 | 2646500 | 2716500 | 2786500 | 2856500 | 2926500 | 2996500 | 3066500 | 3136500 | 3206500 | 3276500 | 3346500 | 3416500 | 3486500 | 3556500 | 3626500 | 3696500 | 3766500 | 3836500 | 3906500 | 3976500 |
| 17 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 51000 | 61000 | 72000 | 84000 | 97000 | 111000 | 126000 | 142000 | 159800 | 179400 | 200800 | 224000 | 249000 | 275500 | 303500 | 333000 | 364000 | 396500 | 430500 | 466000 | 503000 | 541500 | 581500 | 623500 | 667500 | 713500 | 761500 | 811500 | 863500 | 917500 | 973500 | 1031500 | 1091500 | 1152500 | 1214500 | 1277500 | 1341500 | 1406500 | 1472500 | 1539500 | 1607500 | 1676500 | 1746500 | 1816500 | 1886500 | 1956500 | 2026500 | 2096500 | 2166516 | 2236500 | 2306500 | 2376500 | 2446500 | 2516500 | 2586500 | 2656500 | 2726500 | 2796500 | 2866500 | 2936500 | 3006500 | 3076500 | 3146500 | 3216500 | 3286500 | 3356500 | 3426500 | 3496500 | 3566500 | 3636500 | 3706500 | 3776500 | 3846500 | 3916500 | 3986500 | 4056500 | 4126500 |
| 18 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 52400 | 65200 | 80400 | 98000 | 118000 | 140400 | 165200 | 192400 | 222000 | 254000 | 288400 | 325200 | 364400 | 405600 | 448400 | 492400 | 537200 | 582800 | 629200 | 676400 | 724400 | 773400 | 823400 | 874400 | 926400 | 979400 | 1033400 | 1088400 | 1144400 | 1201400 | 1259400 | 1318400 | 1378400 | 1439400 | 1501400 | 1564400 | 1628400 | 1693400 | 1759400 | 1826400 | 1894400 | 1963400 | 2033400 | 2103400 | 2173400 | 2243400 | 2313400 | 2383400 | 2453400 | 2523400 | 2593400 | 2663400 | 2733400 | 2803400 | 2873400 | 2943400 | 3013400 | 3083400 | 3153400 | 3223400 | 3293400 | 3363400 | 3433400 | 3503400 | 3573400 | 3643400 | 3713400 | 3783400 | 3853400 | 3923400 | 3993400 | 4063400 | 4133400 | 4203400 | 4273400 | 4343400 | 4413400 |
| 19 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 52400 | 65200 | 80400 | 98000 | 118000 | 140400 | 165200 | 192400 | 222000 | 254000 | 288400 | 325200 | 364400 | 406000 | 450000 | 496400 | 545200 | 596400 | 650000 | 706000 | 770000 | 842000 | 922000 | 1010000 | 1106000 | 1210000 | 1322000 | 1442000 | 1562000 | 1682000 | 1802000 | 1922000 | 2042000 | 2162000 | 2282000 | 2402000 | 2522000 | 2642000 | 2762000 | 2882000 | 3002000 | 3122000 | 3242000 | 3362000 | 3482000 | 3602000 | 3722000 | 3842000 | 3962000 | 4082000 | 4202000 | 4322000 | 4442000 | 4562000 | 4682000 | 4802000 | 4922000 | 5042000 | 5162000 | 5282000 | 5402000 | 5522000 | 5642000 | 5762000 | 5882000 | 6002000 | 6122000 | 6242000 | 6362000 | 6482000 | 6602000 | 6722000 | 6842000 | 6962000 | 7082000 | 7202000 | 7322000 |
| 20 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 52500 | 65500 | 81000 | 99000 | 120000 | 144000 | 171000 | 201000 | 233000 | 267000 | 303000 | 341000 | 381000 | 422000 | 464000 | 507000 | 551000 | 596000 | 642000 | 689000 | 737000 | 786000 | 836000 | 887000 | 939000 | 992000 | 1046000 | 1101000 | 1157000 | 1214000 | 1272000 | 1331000 | 1391000 | 1452000 | 1514000 | 1577000 | 1641000 | 1706000 | 1772000 | 1839000 | 1907000 | 1976000 | 2046000 | 2116000 | 2186000 | 2256000 | 2326000 | 2396000 | 2466000 | 2536000 | 2606000 | 2676000 | 2746000 | 2816000 | 2886000 | 2956000 | 3026000 | 3096000 | 3166000 | 3236000 | 3306000 | 3376000 | 3446000 | 3516000 | 3586000 | 3656000 | 3726000 | 3796000 | 3866000 | 3936000 | 4006000 | 4076000 | 4146000 | 4216000 | 4286000 | 4356000 | 4426000 |
| 21 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 53200 | 67600 | 85200 | 106000 | 130000 | 156000 | 184000 | 214000 | 246000 | 280000 | 316000 | 354000 | 394000 | 436000 | 480000 | 526000 | 574000 | 624000 | 676000 | 730000 | 786000 | 844000 | 904000 | 965000 | 1027000 | 1090000 | 1154000 | 1219000 | 1285000 | 1352000 | 1420000 | 1489000 | 1559000 | 1630000 | 1702000 | 1775000 | 1849000 | 1924000 | 2000000 | 2077000 | 2155000 | 2234000 | 2314000 | 2394000 | 2474000 | 2554000 | 2634000 | 2714000 | 2794000 | 2874000 | 2954000 | 3034000 | 3114000 | 3194000 | 3274000 | 3354000 | 3434000 | 3514000 | 3594000 | 3674000 | 3754000 | 3834000 | 3914000 | 3994000 | 4074000 | 4154000 | 4234000 | 4314000 | 4394000 | 4474000 | 4554000 | 4634000 | 4714000 | 4794000 | 4874000 | 4954000 | 5034000 |
| 22 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 54000 | 70000 | 90000 | 112000 | 136000 | 162000 | 190000 | 220000 | 252000 | 286000 | 322000 | 360000 | 400000 | 441000 | 483000 | 526000 | 570000 | 615000 | 661000 | 708000 | 756000 | 805000 | 855000 | 906000 | 958000 | 1011000 | 1065000 | 1120000 | 1176000 | 1233000 | 1291000 | 1350000 | 1410000 | 1470000 | 1530000 | 1590000 | 1650000 | 1710000 | 1770000 | 1830000 | 1890000 | 1950000 | 2010000 | 2070000 | 2130000 | 2190000 | 2250000 | 2310000 | 2370000 | 2430000 | 2490000 | 2550000 | 2610000 | 2670000 | 2730000 | 2790000 | 2850000 | 2910000 | 2970000 | 3030000 | 3090000 | 3150000 | 3210000 | 3270000 | 3330000 | 3390000 | 3450000 | 3510000 | 3570000 | 3630000 | 3690000 | 3750000 | 3810000 | 3870000 | 3930000 | 3990000 | 4050000 |
| 23 | 0 | 10 | 30 | 60 | 120 | 220 | 360 | 560 | 860 | 1320 | 2000 | 3040 | 4320 | 5920 | 7920 | 10400 | 13520 | 17520 | 22320 | 27800 | 34000 | 42000 | 54000 | 70000 | 90000 | 113000 | 139000 | 168000 | 200000 | 235000 | 273000 | 314000 | 358000 | 405000 | 455000 | 506000 | 558000 | 611000 | 665000 | 720000 | 776000 | 833000 | 891000 | 950000 | 1010000 | 1070000 | 1130000 | 1190000 | 1250000 | 1310000 | 1370000 | 1430000 | 1490000 | 1550000 | 1610000 | 1671000 | 1733000 | 1796000 | 1860000 | 1925000 | 1991000 | 2058000 | 2126000 | 2195000 | 2265000 | 2335000 | 2405000 | 2475000 | 2545000 | 2615000 | 2685000 | 2755000 | 2825000 | 2895000 | 2965000 | 3035000 | 3105000 | 3175000 | 3245000 | 3315000 | 3385000 | 3455000 | 3525000 | 3595000 | 3665000 | 3735000 | 3805000 | 3875000 | 3945000 | 4015000 | 4085000 | 4155000 | 4225000 | 4295000 | 4365000 | 4435000 | 4505000 | 4575000 | 4645000 |
| 24 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 43200 | 59200 | 79200 | 101700 | 126700 | 152700 | 180700 | 210700 | 242700 | 276700 | 312700 | 350700 | 390700 | 431700 | 473700 | 516700 | 560700 | 605700 | 651700 | 698700 | 746700 | 795700 | 845700 | 895700 | 945700 | 995700 | 1045700 | 1095700 | 1145700 | 1195700 | 1245700 | 1295700 | 1345700 | 1396200 | 1447200 | 1498700 | 1550700 | 1603200 | 1656200 | 1709700 | 1763700 | 1818200 | 1873200 | 1929700 | 1987700 | 2047200 | 2108200 | 2170700 | 2234700 | 2300200 | 2367200 | 2435700 | 2505700 | 2575700 | 2645700 | 2715700 | 2785700 | 2855700 | 2925700 | 2995700 | 3065700 | 3135700 | 3205700 | 3275700 | 3345700 | 3415700 | 3485700 | 3555700 | 3625700 | 3695700 | 3776992 | 3835700 | 3905700 | 3975700 | 4045700 | 4115700 | 4185700 | 4255700 | 4325700 | 4395700 | 4465700 | 4535700 | 4605700 | 4675700 | 4745700 | 4815700 | 4885700 |
| 25 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 43200 | 59200 | 79200 | 104200 | 134200 | 168200 | 205200 | 245200 | 287200 | 330200 | 374200 | 418700 | 463700 | 509200 | 555200 | 601700 | 648700 | 696200 | 744200 | 792700 | 841700 | 891200 | 941200 | 991700 | 1042700 | 1094200 | 1146200 | 1198700 | 1251700 | 1305200 | 1359200 | 1413700 | 1468700 | 1524200 | 1580200 | 1636700 | 1693700 | 1751200 | 1809200 | 1867700 | 1926700 | 1986200 | 2046200 | 2108200 | 2172200 | 2238200 | 2306200 | 2376200 | 2448200 | 2522200 | 2598200 | 2676200 | 2756200 | 2836200 | 2916200 | 2996200 | 3076200 | 3156200 | 3236200 | 3316200 | 3396200 | 3476200 | 3556200 | 3636200 | 3716200 | 3796200 | 3876200 | 3956200 | 4036200 | 4116200 | 4196200 | 4276200 | 4356200 | 4436200 | 4516200 | 4596200 | 4676200 | 4756200 | 4836200 | 4916200 | 4996200 | 5076200 | 5156200 | 5236200 | 5316200 | 5396200 | 5476200 |
| 26 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 43200 | 59200 | 79200 | 104200 | 134200 | 168200 | 205200 | 245200 | 288200 | 333200 | 380200 | 429200 | 479200 | 529700 | 580700 | 632200 | 684200 | 736700 | 789700 | 843200 | 897200 | 951700 | 1006700 | 1062200 | 1118200 | 1174700 | 1231700 | 1289200 | 1347200 | 1405700 | 1464700 | 1524200 | 1584200 | 1644200 | 1704200 | 1764200 | 1824200 | 1884200 | 1944200 | 2004200 | 2064200 | 2124200 | 2184200 | 2245200 | 2307200 | 2370200 | 2434200 | 2499200 | 2565200 | 2632200 | 2700200 | 2769200 | 2839200 | 2909200 | 2979200 | 3049200 | 3119200 | 3189200 | 3259200 | 3329200 | 3399200 | 3469200 | 3539200 | 3609208 | 3679200 | 3749200 | 3819200 | 3889200 | 3959200 | 4029200 | 4099200 | 4169200 | 4239200 | 4309200 | 4379200 | 4449200 | 4519200 | 4589200 | 4659200 | 4729200 | 4799200 | 4869200 | 4939200 | 5009200 | 5079200 | 5149200 | 5219200 |
| 27 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 44400 | 62400 | 84400 | 111400 | 143400 | 181400 | 225400 | 275400 | 325400 | 375400 | 425400 | 475400 | 525400 | 575900 | 626900 | 678400 | 730400 | 782900 | 835900 | 889400 | 943400 | 997900 | 1052900 | 1108400 | 1164400 | 1220900 | 1277900 | 1335400 | 1393400 | 1451900 | 1510900 | 1570400 | 1630400 | 1690900 | 1751900 | 1813400 | 1875400 | 1937900 | 2000900 | 2064400 | 2128400 | 2192900 | 2257900 | 2324400 | 2392400 | 2461900 | 2532900 | 2605400 | 2679400 | 2754900 | 2831900 | 2910400 | 2990400 | 3070400 | 3150400 | 3230400 | 3310400 | 3390400 | 3470400 | 3550400 | 3630400 | 3710400 | 3790400 | 3870400 | 3950400 | 4030400 | 4110400 | 4190400 | 4270400 | 4350400 | 4430400 | 4510400 | 4590400 | 4670400 | 4750400 | 4830400 | 4910400 | 4990400 | 5070400 | 5150400 | 5230400 | 5310400 | 5390400 | 5470400 | 5550400 | 5630400 | 5710400 |
| 28 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 44400 | 62400 | 84400 | 111400 | 143400 | 181400 | 225400 | 275400 | 325400 | 375400 | 425400 | 475400 | 525400 | 575900 | 626900 | 678400 | 730400 | 782900 | 835900 | 889400 | 943400 | 997900 | 1052900 | 1108400 | 1164400 | 1220900 | 1277900 | 1335400 | 1393400 | 1451900 | 1510900 | 1570400 | 1630400 | 1691400 | 1753400 | 1816400 | 1880400 | 1945400 | 2011400 | 2078400 | 2146400 | 2215400 | 2285400 | 2356400 | 2428400 | 2501400 | 2575400 | 2650400 | 2726400 | 2803400 | 2881400 | 2960400 | 3040400 | 3120400 | 3200400 | 3280400 | 3360400 | 3440400 | 3520400 | 3600400 | 3680400 | 3760400 | 3840400 | 3920400 | 4000400 | 4080400 | 4160400 | 4240400 | 4320400 | 4400400 | 4480400 | 4560400 | 4640400 | 4720400 | 4800400 | 4880400 | 4960400 | 5040400 | 5120400 | 5200400 | 5280400 | 5360400 | 5440400 | 5520400 | 5600400 | 5680400 | 5760400 |
| 29 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 44400 | 62400 | 84400 | 111400 | 143400 | 181400 | 225400 | 275400 | 325400 | 375400 | 425400 | 475400 | 525400 | 575900 | 626900 | 678400 | 730400 | 782900 | 835900 | 889400 | 943400 | 997900 | 1052900 | 1108400 | 1164400 | 1220900 | 1277900 | 1335400 | 1393400 | 1451900 | 1510900 | 1570400 | 1630400 | 1692400 | 1756400 | 1822400 | 1890400 | 1960400 | 2032400 | 2106400 | 2182400 | 2260400 | 2340400 | 2422400 | 2506400 | 2592400 | 2680400 | 2770400 | 2862400 | 2956400 | 3052400 | 3150400 | 3250400 | 3350400 | 3450400 | 3550400 | 3650400 | 3750400 | 3850400 | 3950400 | 4050400 | 4150400 | 4250400 | 4350400 | 4450400 | 4550400 | 4650400 | 4750400 | 4850400 | 4950400 | 5050400 | 5150400 | 5250400 | 5350400 | 5450400 | 5550400 | 5650400 | 5750400 | 5850400 | 5950400 | 6050400 | 6150400 | 6250400 | 6350400 | 6450400 | 6550400 | 6650400 |
| 30 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 44400 | 62400 | 84400 | 111400 | 143400 | 181400 | 225400 | 275400 | 325400 | 375400 | 425400 | 475400 | 525400 | 576400 | 628400 | 681400 | 735392 | 790400 | 846400 | 903400 | 961400 | 1020400 | 1080400 | 1141400 | 1203400 | 1266400 | 1330400 | 1395400 | 1461400 | 1528400 | 1596400 | 1665400 | 1735400 | 1806400 | 1878400 | 1951400 | 2025400 | 2100400 | 2176400 | 2253400 | 2331400 | 2410400 | 2490400 | 2572400 | 2656400 | 2742400 | 2830400 | 2920400 | 3012400 | 3106400 | 3202400 | 3300400 | 3400400 | 3500400 | 3600400 | 3700400 | 3800400 | 3900400 | 4000400 | 4100400 | 4200400 | 4300400 | 4400400 | 4500400 | 4600400 | 4700400 | 4800400 | 4900400 | 5000400 | 5100400 | 5200400 | 5300400 | 5400400 | 5500400 | 5600400 | 5700400 | 5800400 | 5900400 | 6000400 | 6100400 | 6200400 | 6300400 | 6400400 | 6500400 | 6600400 | 6700400 | 6800400 |
| 31 | 0 | 100 | 300 | 600 | 1200 | 2200 | 3600 | 5600 | 8600 | 13200 | 20000 | 30400 | 44400 | 62400 | 84400 | 111400 | 143400 | 181400 | 225400 | 275400 | 327400 | 381400 | 437400 | 495400 | 555400 | 616400 | 678400 | 741400 | 805400 | 870400 | 936400 | 1003400 | 1071400 | 1140400 | 1210400 | 1281400 | 1353400 | 1426400 | 1500400 | 1575400 | 1651400 | 1728400 | 1806400 | 1885400 | 1965400 | 2046400 | 2128400 | 2211400 | 2295400 | 2380400 | 2466400 | 2553400 | 2641400 | 2730400 | 2820400 | 2911400 | 3003400 | 3096400 | 3190400 | 3285400 | 3381400 | 3478400 | 3576400 | 3675400 | 3775400 | 3875400 | 3975400 | 4075400 | 4175400 | 4275400 | 4375400 | 4475400 | 4575400 | 4675400 | 4775400 | 4875400 | 4975400 | 5075400 | 5175400 | 5275400 | 5375400 | 5475400 | 5575400 | 5675400 | 5775400 | 5875400 | 5975400 | 6075400 | 6175400 | 6275400 | 6375400 | 6475400 | 6575400 | 6675400 | 6775400 | 6875400 | 6975400 | 7075400 | 7175400 |
Bank 16
Unevolved skill map
At ROM16:4874, an array of 256 bytes mapping a skill ID (as the array index) to the base skill ID in its evolution chain. Such as Blazemost mapping to Blaze. If an entry cannot be inherited, it maps to FF (this is only used for fake skills).
Breeding table
At ROM16:4b30, not entirely sure the purpose yet but it's involved in breeding. One purpose is that it can add additional pluses during the breeding, but all those fields are 0s, so this is an unused feature.
Load floor data for current gate?
RO16:5B76 FA 35 C9 ld a,(C935) RO16:5B79 87 add a RO16:5B7A 87 add a RO16:5B7B 87 add a RO16:5B7C 21 A6 70 ld hl,70A6 ;hl = pointer to gate floor data? RO16:5B7F 85 add l RO16:5B80 6F ld l,a RO16:5B81 3E 00 ld a,00 RO16:5B83 8C adc h RO16:5B84 67 ld h,a RO16:5B85 2A ldi a,(hl) RO16:5B86 EA 36 C9 ld (C936),a RO16:5B89 2A ldi a,(hl) RO16:5B8A EA 37 C9 ld (C937),a RO16:5B8D 2A ldi a,(hl) RO16:5B8E EA 38 C9 ld (C938),a RO16:5B91 E5 push hl RO16:5B92 2A ldi a,(hl) RO16:5B93 EA 3A C9 ld (C93A),a RO16:5B96 2A ldi a,(hl) RO16:5B97 EA 3B C9 ld (C93B),a RO16:5B9A 23 inc hl RO16:5B9B 23 inc hl RO16:5B9C 7E ld a,(hl) RO16:5B9D EA 3C C9 ld (C93C),a RO16:5BA0 E1 pop hl RO16:5BA1 FA 39 C9 ld a,(C939) ;a = current_floor RO16:5BA4 47 ld b,a RO16:5BA5 3C inc a RO16:5BA6 BE cp (hl) RO16:5BA7 28 38 jr z,5BE1 ;if(current_floor == last_floor), jump to 16:5BE1 - Load Gate's Boss floor RO16:5BA9 FA 35 C9 ld a,(C935) RO16:5BAC B7 or a RO16:5BAD 28 10 jr z,5BBF RO16:5BAF FA 99 C8 ld a,(C899) RO16:5BB2 CB 67 bit 4,a RO16:5BB4 28 09 jr z,5BBF RO16:5BB6 3E 03 ld a,03 RO16:5BB8 CD FB 1D call 1DFB RO16:5BBB FE 02 cp a,02 RO16:5BBD 28 5D jr z,5C1C RO16:5BBF FA 36 C9 ld a,(C936) RO16:5BC2 87 add a RO16:5BC3 87 add a RO16:5BC4 87 add a RO16:5BC5 87 add a RO16:5BC6 21 A6 71 ld hl,71A6 RO16:5BC9 85 add l RO16:5BCA 6F ld l,a RO16:5BCB 3E 00 ld a,00 RO16:5BCD 8C adc h RO16:5BCE 67 ld h,a RO16:5BCF CD C0 5F call 5FC0 RO16:5BD2 EA 36 C9 ld (C936),a RO16:5BD5 FA 36 C9 ld a,(C936) RO16:5BD8 EA 68 C9 ld (C968),a RO16:5BDB 3E 01 ld a,01 RO16:5BDD EA 69 C9 ld (C969),a RO16:5BE0 C9 ret
Load Gate's Boss floor
RO16:5BE1 FA 35 C9 ld a,(C935) ;a = current_gate RO16:5BE4 87 add a RO16:5BE5 87 add a RO16:5BE6 87 add a ;a = current_gate × 8 RO16:5BE7 21 AA 70 ld hl,70AA RO16:5BEA 85 add l RO16:5BEB 6F ld l,a RO16:5BEC 3E 00 ld a,00 RO16:5BEE 8C adc h RO16:5BEF 67 ld h,a ;hl = 0x70AA + (current_gate × 8) RO16:5BF0 2A ldi a,(hl) RO16:5BF1 EA 68 C9 ld (C968),a ;Writes the 5th byte of the array to wC968 RO16:5BF4 3E 00 ld a,00 RO16:5BF6 EA 69 C9 ld (C969),a ;Writes 0 to wC969 RO16:5BF9 2A ldi a,(hl) ;a = 6th byte of the array RO16:5BFA CB 37 swap a RO16:5BFC 47 ld b,a RO16:5BFD E6 F0 and a,F0 RO16:5BFF F6 08 or a,08 RO16:5C01 EA 6F C9 ld (C96F),a RO16:5C04 78 ld a,b RO16:5C05 E6 0F and a,0F RO16:5C07 EA 70 C9 ld (C970),a RO16:5C0A 2A ldi a,(hl) RO16:5C0B CB 37 swap a RO16:5C0D 47 ld b,a RO16:5C0E E6 F0 and a,F0 RO16:5C10 F6 08 or a,08 RO16:5C12 EA 71 C9 ld (C971),a RO16:5C15 78 ld a,b RO16:5C16 E6 0F and a,0F RO16:5C18 EA 72 C9 ld (C972),a RO16:5C1B C9 ret
16:70A6 - Gate's Boss floor array
aa bb cc dd ee ff gg hh ee - Gate's last floor 00 00 00 05 30 07 02 01 - Gate of Beginning 01 01 01 05 31 01 06 01 - Gate of Villager 01 01 02 06 32 05 01 01 - Gate of Talisman 02 01 02 05 33 04 06 01 - Gate of Memories 02 02 03 06 34 00 07 01 - Gate of Bewilder 03 02 03 09 35 01 06 01 03 02 04 08 36 05 01 02 - Gate of Peace 03 03 04 09 37 05 07 02 - Gate of Bravery 04 03 05 0C 38 08 03 02 04 04 05 0B 39 02 01 02 04 04 05 0B 3C 02 06 02 04 04 06 0C 10 08 05 02 05 06 06 0E 3B 04 01 02 05 06 06 0F 3A 01 07 02 05 06 07 10 3D 04 07 02 06 07 07 12 3E 04 01 03 07 07 08 14 3F 06 03 03 07 05 08 13 40 04 06 03 08 08 09 17 42 04 06 03 08 09 09 19 43 05 05 03 08 05 09 19 44 00 03 03 09 0A 0A 1D 45 04 07 03 0A 0B 0B 1E 46 05 06 03 0A 0B 0B 1D 47 05 06 03 0A 0B 0B 1B 48 04 07 03 0B 0C 0C 1E 49 04 07 03 0B 0C 0C 1E 4A 09 07 03 0B 0D 0D 1E 4B 04 07 03 0C 0D 0D 1E 4C 05 05 03 0D 0E 0E 1B 4D 05 07 03 0E 0E 0E 1E 4E 08 0C 03 0F 0F 0F 63 4F 05 06 03 - Unused dungeon, last floor 99
Bank 41
There's a table at ROM41:4007 which points to the various string tables stored in this bank.
Monster name tables
The monster name pointers start at ROM41:4339, size of 2x256, all pointing to within this bank. The monster names start at ROM41:5B1F and are back-to-back, each terminated by F0.
00: DrakSlime 01: SpotSlime 02: WingSlime 03: TreeSlime 04: Snaily 05: SlimeNite 06: Babble 07: BoxSlime 08: Slime 09: Healer 0A: FangSlime 0B: RockSlime 0C: SlimeBorg 0D: Slabbit 0E: SpotKing 0F: KingSlime 10: Metaly 11: Metabble 12: MetalKing 13: GoldSlime 14: DragonKid 15: Tortragon 16: Pteranod 17: Gasgon 18: FairyDrak 19: LizardMan 1A: Poisongon 1B: Swordgon 1C: Dragon 1D: MiniDrak 1E: MadDragon 1F: Rayburn 20: Chamelgon 21: LizardFly 22: Andreal 23: KingCobra 24: Spikerous 25: GreatDrak 26: Crestpent 27: WingSnake 28: Coatol 29: Orochi 2A: BattleRex 2B: SkyDragon 2C: Divinegon 2D: Tonguella 2E: Almiraj 2F: CatFly 30: PillowRat 31: Saccer 32: GulpBeast 33: Skullroo 34: WindBeast 35: Anteater 36: SuperTen 37: IronTurt 38: Mommonja 39: HammerMan 3A: Grizzly 3B: Yeti 3C: MadGopher 3D: FairyRat 3E: Unicorn 3F: Goategon 40: WildApe 41: Trumpeter 42: KingLeo 43: DarkHorn 44: MadCat 45: BigEye 46: Picky 47: Wyvern 48: BullBird 49: Florajay 4A: DuckKite 4B: MadPecker 4C: MadRaven 4D: MistyWing 4E: Dracky 4F: BigRoost 50: StubBird 51: LandOwl 52: MadGoose 53: MadCondor 54: Blizzardy 55: Phoenix 56: ZapBird 57: WhipBird 58: FunkyBird 59: RainHawk 5A: MadPlant 5B: FireWeed 5C: FloraMan 5D: WingTree 5E: CactiBall 5F: Gulpple 60: Toadstool 61: AmberWeed 62: Stubsuck 63: Oniono 64: DanceVegi 65: TreeBoy 66: FaceTree 67: HerbMan 68: BeanMan 69: EvilSeed 6A: ManEater 6B: Snapper 6C: Rosevine 6D: Watabou 6E: GiantSlug 6F: Catapila 70: Gophecada 71: Butterfly 72: WeedBug 73: GiantWorm 74: Lipsy 75: StagBug 76: ArmyAnt 77: GoHopper 78: TailEater 79: ArmorPede 7A: Eyeder 7B: GiantMoth 7C: Droll 7D: ArmyCrab 7E: MadHornet 7F: HornBeet 80: Armorpion 81: Digster 82: Pixy 83: ArcDemon 84: AgDevil 85: Demonite 86: DarkEye 87: EyeBall 88: SkulRider 89: EvilBeast 8A: 1EyeClown 8B: Gremlin 8C: MedusaEye 8D: Lionex 8E: GoatHorn 8F: Orc 90: Ogre 91: GateGuard 92: ChopClown 93: Grendal 94: Akubar 95: MadKnight 96: Gigantes 97: Centasaur 98: EvilArmor 99: Jamirus 9A: Durran 9B: Spooky 9C: Skullgon 9D: Putrepup 9E: RotRaven 9F: Mummy A0: DarkCrab A1: DeadNite A2: Shadow A3: Hork A4: Mudron A5: NiteWhip A6: MadSpirit A7: WindMerge A8: Reaper A9: DeadNoble AA: WhiteKing AB: BoneSlave AC: Skeletor AD: Servant AE: Copycat AF: JewelBag B0: EvilWand B1: MadCandle B2: CoilBird B3: Facer B4: SpikyBoy B5: MadMirror B6: RogueNite B7: Goopi B8: Voodoll B9: MetalDrak BA: Balzak BB: SabreMan BC: CurseLamp BD: Roboster BE: EvilPot BF: Gismo C0: LavaMan C1: IceMan C2: Mimic C3: MudDoll C4: Golem C5: StoneMan C6: BombCrag C7: GoldGolem C8: DracoLord C9: DracoLord CA: Hargon CB: Sidoh CC: Baramos CD: Zoma CE: Pizzaro CF: Esterk D0: Mirudraas D1: Mirudraas D2: Mudou D3: DeathMore D4: DeathMore D5: DeathMore D6: Darkdrium D7: TERRY? D8: Tatsu D9: Diago DA: Samsi DB: Bazoo DC-E0: E1-FF: ?????
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.
00: HOTBLOOD
01: DARING
02: DAREDEVIL
03: LONE WOLF
04: VAIN
05: EZ GOING
06: SMUG
07: SNOBBY
08: RECKLESS
09: COOL/CALM
0a: WHIMSY
0b: NOSY
0c: WHIZ KID
0d: ORDINARY
0e: HASTY
0f: STUBBORN
10: REBEL
11: SPOILED
12: HUMANE
13: UNCERTAIN
14: CARELESS
15: SHREWED
16: CAREFREE
17: GULLIBLE
18: SLY
19: COWARD
1a: LAZY
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
Bank 52
Skill functions
52:4011 SkillFunctionTable 52:41CD SkillBlaze 52:41D4 SkillFirebal 52:41DB SkillBang 52:41E2 SkillInfernos 52:41E9 SkillIceBolt 52:41F0 SkillBolt 52:41F7 SkillBeat 52:422B SkillSacrifice 52:4235 SkillSleep 52:427C SkillStopSpell 52:42AA SkillSurround 52:42D8 SkillPanicAll 52:4308 SkillRobMagic 52:4330 SkillTakeMagic 52:434A SkillSap 52:436D SkillUpper 52:4385 SkillSlow 52:43A8 SkillSpeed 52:43C0 SkillBarrier 52:43FB SkillTwinHits 52:4415 SkillMagicWall 52:4434 SkillMagicBack 52:446C SkillTransform 52:4479 SkillIRONIZE 52:447F SkillIronize 52:44C4 SkillHeal 52:44F8 SkillVivify 52:457E SkillFarewell 52:458F SkillAntidote 52:45A7 SkillNumbOff 52:45D8 SkillDeChaos 52:45FE SkillCurseOff 52:4616 SkillChance 52:4625 SkillPoisonHit_StepGuard_Whistle_Attack_Run 52:462F SkillPsycheUp_TwinSlash 52:464C SkillRamming 52:4653 SkillBeserker 52:467C SkillKamikaze 52:4683 SkillMassacre 52:46BE SkillChargeUP 52:46CF SkillHighJump 52:470F SkillSuckAir 52:4720 SkillFireSlash 52:472A SkillBoltSlash 52:4734 SkillVacuSlash 52:473E SkillIceSlash 52:4748 SkillMetalCut 52:4752 SkillDrakSlash 52:475C SkillBeastCut 52:4766 SkillBirdBlow 52:4770 SkillDevilCut 52:477A SkillZombieCut 52:4784 SkillCleanCut 52:478E SkillMultiCut 52:4798 SkillBiAttack 52:480C SkillCallHelp 52:4888 SkillFocus 52:4897 SkillSquallHit 52:48B4 SkillRainSlash 52:4918 SkillWindBeast 52:492B SkillRockThrow 52:4932 SkillFireAir 52:493C SkillFrigidAir 52:4946 SkillBigBang 52:494D SkillMegaMagic 52:4954 SkillPalsyAir 52:497B SkillPoisonGas 52:49D2 SkillCurse 52:4A00 SkillAhhh 52:4A22 SkillSandStorm 52:4A57 SkillEerieLite 52:4A7B SkillOddDance 52:4AA3 SkillSideStep 52:4AC5 SkillLureDance 52:4AE7 SkillLushLicks 52:4B34 SkillLegSweep 52:4B68 SkillWarCry 52:4B92 SkillImitate 52:4BA1 SkillDeMagic_ThickFog 52:4BAB SkillSurge 52:4BB6 SkillUltraDown 52:4BD0 SkillTatsuCall 52:4C31 SkillCover 52:4C3B SkillTailWind 52:4C72 SkillDodge 52:4C81 SkillBladeD_Defense 52:4CA5 SkillSuckAll 52:4CDC SkillDanceShut 52:4D0A SkillMouthShut 52:4D38 SkillMeditate 52:4D92 SkillLifeSong 52:4DE9 SkillLifeDance 52:4E0A SkillDaze 52:4E0E SkillBeDragon 52:4E15 SkillSmashlime 52:4E1F SkillSheldodge 52:4E29 SkillBranching 52:4E33 SkillGigaSlash 52:4E3A SkillRUN 52:4E6D SkillAhhh 52:4E8A SkillHitAlly 52:4EA4 SkillHitEnemy 52:4EBE SkillHitRandom 52:4ED8 SkillTrip 52:4EE3 SkillScared 52:4EE7 SkillParalyze 52:4EF9 SkillSmashed 52:4F2C SkillHealUsAll 52:4F35 SkillALLCHANGE 52:4F54 SkillBIGSLEEP 52:4F7F SkillMP0 52:4FA1 SkillCALLEVIL 52:4FCC SkillFREEZY 52:4FFC SkillRESTOREMP 52:501F SkillMETEOR
Family check functions
52:6304 CheckIsSlime 52:6311 CheckIsDragon 52:631f CheckIsBeast 52:632d CheckIsFlying 52:633b CheckIsPlant 52:6349 CheckIsBug 52:6357 CheckIsDevil 52:6365 CheckIsZombie 52:6373 CheckIsMaterial
Math functions
These are used commonly in the skill functions to calculate damage and such
52:6b2a BCsrl3 BC >>= 3 52:6b2e BCsrl2 BC >>= 2 52:6b32 BCsrl1 BC >>= 1 52:6b37 HLsrl4 HL >>= 4 52:6b3b HLsrl3 HL >>= 3 52:6b3f HLsrl2 HL >>= 2 52:6b43 HLsrl1 HL >>= 1
Internal Data for Dragon Warrior Monsters
| |
|---|---|