Dragon Warrior Monsters/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (Xkeeper moved page Dragon Warrior Monsters:ROM map to Dragon Warrior Monsters/ROM map: normalize subpages and titles)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rommap|game=Dragon Warrior Monsters}}
{{rommap|game=Dragon Warrior Monsters}}


==Bank 0==
== Bank 00 ==
===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===
=== 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===
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.
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===
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).
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===
For example, the start of bank 1 looks like this:
ROM0:0050 D9              reti


===0:0051===
<pre>
  ROM0:0051 FA 02 C0        ld  a,(C002)
01:4000  01    = Bank index
  ROM0:0054 B7              or  a
01:4001  1D 40 = Cross-bank function 0's address (call it with mov hl,$0100; rst $10;)
  ROM0:0055 C9              ret  
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
</pre>


===rst 58===
=== Text functions ===
ROM0:0058 C3 DD 2E        jp  2EDD
ROM0:005B D9              reti


===rst 60===
<pre>
ROM0:0060 D9              reti
00:07AB HandleTextCharacter
00:0D78 ReadNextTextByte
</pre>


===0:0061===
=== Math functions ===
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===
<pre>
ROM0:008E 3E C0            ld  a,C0
00:1dbe Mul8x8To16  HL = A * C
  ROM0:0090 E0 46            ld  (ff00+46),a
00:1de6 Mul16x8To24  E:HL = BC * A
ROM0:0092 3E 28            ld  a,28
00:1e0d Div16x8To16  HL = HL // A; A = HL % A
ROM0:0094 3D              dec  a
00:1e1e Div24x8To16 HL = E:HL // A; A = E:HL % A
ROM0:0095 20 FD            jr  nz,0094
00:2f45 CmpHLvsBC
ROM0:0097 C9              ret 
00:2f4b Div16x16To16 DE = HL // BC; BC = HL % BC
</pre>


===0:0098===
== Bank 03 ==
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===
=== Monster info table ===
ROM0:00AB CD C2 00        call 00C2
Base info for monsters starts at ROM03:4461. This table has 221 entries at 43 bytes each. See the names [[#Monster name tables|here]]
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===
Format:
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)===
<pre>
  ROM0:00ED C3 14 12        jp   1214
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: ?
</pre>
 
== 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|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.
 
<div style="overflow-x:scroll; width:100%">
{| class="prettytable"
! 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
|}
</div>
 
== 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.
 
== 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.
 
<pre>
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: ?????
</pre>
 
=== 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.
 
<pre>
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
</pre>
 
== 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 ===
<pre>
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
</pre>
 
=== Family check functions ===
<pre>
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
</pre>
 
=== Math functions ===
These are used commonly in the skill functions to calculate damage and such
 
<pre>
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
</pre>


===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
{{Internal Data|game=Dragon Warrior Monsters}}
{{Internal Data|game=Dragon Warrior Monsters}}

Latest revision as of 01:33, 15 April 2024

Chip tiny.png 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 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.

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