#GAME NAME: Dragon Warrior II (U) [!].nes // list of additional table files switched into from some block's #TABLE: #SUB TABLE: credits.tbl #SUB TABLE: cursor.tbl #SUB TABLE: heights.tbl #SUB TABLE: menu.tbl #SUB TABLE: menu_links.tbl #SUB TABLE: pos.tbl #SUB TABLE: pos2.tbl #SUB TABLE: widths.tbl // if you need to edit it, the dictionary for the main script is at $B49B-$B686, with the entry lengths stored at $B44B-$B49A #BLOCK NAME: Main Script Part 1 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $B762 #POINTER TABLE STOP: $B7BD #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 16 #AUTO JUMP START: $17FE7 #AUTO JUMP STOP: $B7C2 #ATLAS PTRS: Yes #BASE POINTER: $C010 #TABLE: dw2_script.tbl #COMMENTS: Both #END BLOCK // bank swap #BLOCK NAME: Main Script Part 2 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $B7BE #POINTER TABLE STOP: $B7C1 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 16 #ATLAS PTRS: Yes #BASE POINTER: $10 #TABLE: dw2_script.tbl #COMMENTS: Both #END BLOCK // Note that the original game uses " DETOXICATE " instead of " DETOXICATE[line]" and abcde will combine DETOXICATE's trailing space with " UNCURSE[line]"'s leading space into a single " " token (<$82> instead of <$81><$81>), but DW2's menu code doesn't handle those the same way when they terminate a menu line, so you'll want to edit that line before re-inserting it. #BLOCK NAME: Menus #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $7652 #POINTER TABLE STOP: $76E5 #POINTER SIZE: $02 #POINTER SPACE: $00 #SCRIPT STOP: $7F20 #SORT OUTPUT BY STRING ADDRESS: Yes #STRINGS END AT NEXT POINTER: Yes #ATLAS PTRS: Yes #BASE POINTER: -$3FF0 #TABLE: menu_params.tbl #COMMENTS: Both #END BLOCK // pointer points 1 byte before data, relying on X > 0; string length is set at $3EDBE #BLOCK NAME: "ADVENTURE LOG", stored backwards #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $3EDC4 #POINTER TABLE STOP: $3EDC5 #POINTER SIZE: $02 #POINTER SPACE: $00 #SCRIPT STOP: $3EDDC #ATLAS PTRS: Yes #BASE POINTER: $30011 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Prologue #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1CAB1 #POINTER TABLE STOP: $1CAB2 #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $14010 #TABLE: spacer.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: End Credits #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $242AE #POINTER TABLE STOP: $242AF #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $1C010 //#SCRIPT STOP: $247D5 #TABLE: credits_spacer.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Monster Counts #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $BF0A #POINTER TABLE STOP: $BF0B #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 8 #ATLAS PTRS: Yes #BASE POINTER: $10 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Direction Names #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1925E #POINTER TABLE STOP: $1925F #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 4 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Prince of Cannock Names #TYPE: FIXED_STRING #STRING LENGTH: 64 #STRING END: No #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1AD13 #POINTER TABLE STOP: $1AD14 #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Princess of Moonbrooke Names #TYPE: FIXED_STRING #STRING LENGTH: 64 #STRING END: No #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1AD31 #POINTER TABLE STOP: $1AD32 #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Items 1 Line 1 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18032 #POINTER TABLE STOP: $18033 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 32 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Items 2 Line 1 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18040 #POINTER TABLE STOP: $18041 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 32 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Items 1 Line 2 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18034 #POINTER TABLE STOP: $18035 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 32 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Items 2 Line 2 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18042 #POINTER TABLE STOP: $18043 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 32 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Spells #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18036 #POINTER TABLE STOP: $18037 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 32 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK // pluralization code: 0x01C805 - 0x01C8F1 // -ngo -> -ngo // -f -> -ves (not used) // -y -> -ies // -i -> -ies // -rus -> -rii, -s -> -ses // -ch -> -ches, -sh -> -shes // -man -> -men, -Man -> -Men // -mouse -> -mice, -Mouse -> -Mice // -dead -> -dead // - -> -s #BLOCK NAME: Monsters 1 Line 1 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18038 #POINTER TABLE STOP: $18039 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 50 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Monsters 2 Line 1 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18044 #POINTER TABLE STOP: $18045 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 33 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Monsters 1 Line 2 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1803A #POINTER TABLE STOP: $1803B #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 50 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Monsters 2 Line 2 #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $18046 #POINTER TABLE STOP: $18047 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 33 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK #BLOCK NAME: Crests #TYPE: NORMAL #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $19C36 #POINTER TABLE STOP: $19C37 #POINTER SIZE: $02 #POINTER SPACE: $00 #STRINGS PER POINTER: 3 #ATLAS PTRS: Yes #BASE POINTER: $10010 #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK // stuff used for redrawing sections of the main COMMAND menu when switching between EQUIP windows #BLOCK NAME: COMMAND menu partial redraw (the actually used version) #TYPE: FIXED_STRING && FIXED_LINE #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $3F90D #POINTER TABLE STOP: $3F90E #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $30010 #STRING LENGTH: $40 #STRING END: No #LINE LENGTH: 4 #LINE END: No #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK // same as above, but called during battle where there is no COMMAND menu; completely useless? #BLOCK NAME: COMMAND menu partial redraw (the useless version) #TYPE: FIXED_STRING && FIXED_LINE #METHOD: POINTER_RELATIVE #POINTER ENDIAN: LITTLE #POINTER TABLE START: $1803C #POINTER TABLE STOP: $1803D #POINTER SIZE: $02 #POINTER SPACE: $00 #ATLAS PTRS: Yes #BASE POINTER: $10010 #STRING LENGTH: $40 #STRING END: No #LINE LENGTH: 4 #LINE END: No #TABLE: dw2.tbl #COMMENTS: Both #END BLOCK