Difference between revisions of "Dragon Quest III (Game Boy Color):ROM map"

From Data Crystal
Jump to navigation Jump to search
(Created page with "* 0x5000 to 0xBFFF: complete font, standard Game Boy format (2BPP linear). ** 0x5000 to 0x5FFF: kana and frieds (8x8); ** 0x6000 to 0x7FFF: same (8x16); ** 0x9000 to 0x9FFF: s...")
 
(Added text and graphics information)
 
Line 1: Line 1:
* 0x5000 to 0xBFFF: complete font, standard Game Boy format (2BPP linear).
+
(Assume every BANK:ADDRESS pair is in hex)
** 0x5000 to 0x5FFF: kana and frieds (8x8);
 
** 0x6000 to 0x7FFF: same (8x16);
 
** 0x9000 to 0x9FFF: small kanji (8x8);
 
** 0xA000 to 0xBFFF: big kanji (8x16);
 
** The characters are exactly the same, for small and big fonts, plus the kanji part is intact at BD3E.
 
  
* 0x180000: classes, personalities, magic, places, items, monster and people names, signs, characteristics plus some descriptions, placed in a weird way without pointers.
+
* Graphics
* 0x184000 até 0x1C0000: dialogue...
+
** 01:4A2F - Several symbols and characters (N, /, H, M, P, Lv, etc...), compressed
* 0x1E0000 até 0x1E8000: the dialogue keep going...
+
** 01:4AD1 - Several tiles related to drawing numbers and text borders, compressed
 +
** 01:5000 - Normal characters in 2bpp format, 176 tiles
 +
** 01:6000 - Double-height characters in 2bpp format, 352 (176 * 2) tiles
 +
** 02:5000 - Kanji in 2bpp format, left over from Japanese version presumably, 256 tiles
 +
** 02:6000 - Double-height Kanji in 2bpp format, same as above, 512 tiles
 +
** 09:7609 - 'G' and asterisk in 2bpp format, loaded when the Gold or Menu is brought up, 2 tiles
 +
 
 +
Every bank except for banks 0x42 to 0x49 has its bank stored at 0x4000.
 +
 
 +
There are 0x18 text banks, specified in a table at 02:4083. Each text bank has a text loading routine that starts at 0x4001. Text is split up into smaller groups of pointers (this is a bit redundant, as the groups could be skipped altogether). Text starts right after the text pointers.
 +
 
 +
* Text
 +
** 0x60 - 0x0E group pointers starting at 0x4fc7, text pointers start at 0x4fe5, contains items and other list items like spells
 +
** 0x61 - 0x06 group pointers starting at 0x4039, text pointers start at 0x4045
 +
** 0x62 - 0x15 group pointers starting at 0x4039, text pointers start at 0x4063
 +
** 0x63 - 0x17 group pointers starting at 0x4039, text pointers start at 0x4067
 +
** 0x64 - 0x04 group pointers starting at 0x4039, text pointers start at 0x4041
 +
** 0x65 - 0x0A group pointers starting at 0x4039, text pointers start at 0x404D
 +
** 0x66
 +
** 0x67
 +
** 0x68
 +
** 0x69
 +
** 0x6A
 +
** 0x6B
 +
** 0x6C
 +
** 0x6D
 +
** 0x6E
 +
** 0x6F
 +
** 0x78
 +
** 0x79
 +
** 0x2A
 +
** 0x1D
 +
** 0x1F
 +
** 0x2F
 +
** 0x2E (yes 2E is specified after 2F)
 +
** 0x04
 +
** 0x29

Latest revision as of 10:47, 16 July 2022

(Assume every BANK:ADDRESS pair is in hex)

  • Graphics
    • 01:4A2F - Several symbols and characters (N, /, H, M, P, Lv, etc...), compressed
    • 01:4AD1 - Several tiles related to drawing numbers and text borders, compressed
    • 01:5000 - Normal characters in 2bpp format, 176 tiles
    • 01:6000 - Double-height characters in 2bpp format, 352 (176 * 2) tiles
    • 02:5000 - Kanji in 2bpp format, left over from Japanese version presumably, 256 tiles
    • 02:6000 - Double-height Kanji in 2bpp format, same as above, 512 tiles
    • 09:7609 - 'G' and asterisk in 2bpp format, loaded when the Gold or Menu is brought up, 2 tiles

Every bank except for banks 0x42 to 0x49 has its bank stored at 0x4000.

There are 0x18 text banks, specified in a table at 02:4083. Each text bank has a text loading routine that starts at 0x4001. Text is split up into smaller groups of pointers (this is a bit redundant, as the groups could be skipped altogether). Text starts right after the text pointers.

  • Text
    • 0x60 - 0x0E group pointers starting at 0x4fc7, text pointers start at 0x4fe5, contains items and other list items like spells
    • 0x61 - 0x06 group pointers starting at 0x4039, text pointers start at 0x4045
    • 0x62 - 0x15 group pointers starting at 0x4039, text pointers start at 0x4063
    • 0x63 - 0x17 group pointers starting at 0x4039, text pointers start at 0x4067
    • 0x64 - 0x04 group pointers starting at 0x4039, text pointers start at 0x4041
    • 0x65 - 0x0A group pointers starting at 0x4039, text pointers start at 0x404D
    • 0x66
    • 0x67
    • 0x68
    • 0x69
    • 0x6A
    • 0x6B
    • 0x6C
    • 0x6D
    • 0x6E
    • 0x6F
    • 0x78
    • 0x79
    • 0x2A
    • 0x1D
    • 0x1F
    • 0x2F
    • 0x2E (yes 2E is specified after 2F)
    • 0x04
    • 0x29