Metal Slader Glory - Director's Cut:ROM map/Dictionary

From Data Crystal
Jump to: navigation, search

The dictionary stores dictionary entries for the dialogue to use. It uses bytes that correspond to the CHR, expect for control codes. Control codes start with 0x00 ([BLACK 1] in the table file).

Hex values

The dictionary values are stored sequentially in the pointer table. The dictionary byte values go from 0x00 to 0x7F then jumps from 0x8080 to 0x8EF5. The 0x7F pointer entry would correspond to 0x7F in hex. The 0x80 pointer entry would correspond to 0x8080, and the 0x81 pointer entry would correspond to 0x8081. For translations, use the first byte range for your most used characters to save space.

Character codes

Character codes display character's names in the dialogue. Here's some examples from the English translation:

<e no="32" PrimaryAddress="0x173465" SecondaryPointer="0xFFFFFFFF" Byte_Length="0x0A">[BLACK 1][???3] 忠 「[BLACK 1]%[BLACK 1]4</e>
<e no="33" PrimaryAddress="0x173059" SecondaryPointer="0xFFFFFFFF" Byte_Length="0x0B">[BLACK 1]!エリナ 「[BLACK 1]%[???1]”</e>
<e no="34" PrimaryAddress="0x1728CC" SecondaryPointer="0xFFFFFFFF" Byte_Length="0x0C">[BLACK 1][!!]あ゛すさ 「[BLACK 1]%[BLACK 2]M</e>
<e no="35" PrimaryAddress="0x1722BE" SecondaryPointer="0xFFFFFFFF" Byte_Length="0x0D">[BLACK 1]?チャ―ミ― 「[BLACK 1]%[TILE 09][!!]</e>
<e no="36" PrimaryAddress="0x172920" SecondaryPointer="0xFFFFFFFF" Byte_Length="0x0C">[BLACK 1][!!]゛ケ ン 「[BLACK 1]%%[???3]</e>

The format is as so:

  • The 0x00s are constants.
  • The second byte is for the length of the speaker's name entry. " 忠 「" is four character's long and the "[???3]" is 0x04 in the CHR.
  • It deals with the character's speech, pitch and maybe other things as well.
    • BYTE3's last nibble controls the character's typing speed. $00 is the fastest. Below is a non-exhaustive list of some character's speed values.
      • $04 = Elina's speed.
      • $05 = Tadashi's speed.
      • $06 = Azusa's speed.