diff options
Diffstat (limited to 'src/constants')
-rw-r--r-- | src/constants/charmaps.asm | 366 | ||||
-rw-r--r-- | src/constants/gfx_constants.asm | 3 | ||||
-rw-r--r-- | src/constants/hardware_constants.asm | 5 | ||||
-rw-r--r-- | src/constants/text_constants.asm | 113 |
4 files changed, 416 insertions, 71 deletions
diff --git a/src/constants/charmaps.asm b/src/constants/charmaps.asm new file mode 100644 index 0000000..5bd21be --- /dev/null +++ b/src/constants/charmaps.asm @@ -0,0 +1,366 @@ +; control characters + charmap "<RAMNAME>", TX_RAM1 + charmap "<RAMTEXT>", TX_RAM2 + charmap "<RAMNUM>", TX_RAM3 + +; ascii half-width font + charmap "é", "`" + charmap "♂", "$" + charmap "♀", "%" + charmap "”", "\"" + +; TX_FULLWIDTH3 + fwcharmap 3, "A", $30 + fwcharmap 3, "B", $31 + fwcharmap 3, "C", $32 + fwcharmap 3, "D", $33 + fwcharmap 3, "E", $34 + fwcharmap 3, "F", $35 + fwcharmap 3, "G", $36 + fwcharmap 3, "H", $37 + fwcharmap 3, "I", $38 + fwcharmap 3, "J", $39 + fwcharmap 3, "K", $3a + fwcharmap 3, "L", $3b + fwcharmap 3, "M", $3c + fwcharmap 3, "N", $3d + fwcharmap 3, "O", $3e + fwcharmap 3, "P", $3f + fwcharmap 3, "Q", $40 + fwcharmap 3, "R", $41 + fwcharmap 3, "S", $42 + fwcharmap 3, "T", $43 + fwcharmap 3, "U", $44 + fwcharmap 3, "V", $45 + fwcharmap 3, "W", $46 + fwcharmap 3, "X", $47 + fwcharmap 3, "Y", $48 + fwcharmap 3, "Z", $49 + fwcharmap 3, "g", $4a + fwcharmap 3, "c", $4b + fwcharmap 3, "m", $4c + fwcharmap 3, "r.", $4d + fwcharmap 3, "♀", $4e + fwcharmap 3, "♂", $4f + fwcharmap 3, "【", $50 + fwcharmap 3, "】", $51 + fwcharmap 3, "●", $52 + fwcharmap 3, "◆", $53 + fwcharmap 3, "★", $54 + fwcharmap 3, "☆", $55 + fwcharmap 3, "_", $56 + fwcharmap 3, "■", $57 + fwcharmap 3, "ºC", $58 + fwcharmap 3, "“", $59 + fwcharmap 3, "º", $5a + fwcharmap 3, "º(2)", $5b ; duplicate + fwcharmap 3, "̳ ", $5c + fwcharmap 3, "&", $5d + fwcharmap 3, ":", $5e + fwcharmap 3, "○", $5f + fwcharmap 3, "❄", $60 + fwcharmap 3, "^", $62 + fwcharmap 3, "♪", $63 + fwcharmap 3, "a", $64 + fwcharmap 3, "b", $65 + fwcharmap 3, "d", $66 + fwcharmap 3, "e", $67 + fwcharmap 3, "f", $68 + fwcharmap 3, "h", $69 + fwcharmap 3, "i", $6a + fwcharmap 3, "j", $6b + fwcharmap 3, "k", $6c + fwcharmap 3, "l", $6d + fwcharmap 3, "n", $6e + fwcharmap 3, "o", $6f + fwcharmap 3, "p", $70 + fwcharmap 3, "q", $71 + fwcharmap 3, "s", $72 + fwcharmap 3, "t", $73 + fwcharmap 3, "u", $74 + fwcharmap 3, "v", $75 + fwcharmap 3, "w", $76 + fwcharmap 3, "x", $77 + fwcharmap 3, "y", $78 + fwcharmap 3, "z", $79 + fwcharmap 3, "'", $7a + fwcharmap 3, "”", $7b + fwcharmap 3, "r", $8e + fwcharmap 3, "┌", $97 + fwcharmap 3, "\", $98 + fwcharmap 3, "┐", $99 + fwcharmap 3, "|", $9a + fwcharmap 3, "!", $9d + fwcharmap 3, "#", $9f + fwcharmap 3, "$", $a0 + fwcharmap 3, "%", $a1 + fwcharmap 3, "(", $a4 + fwcharmap 3, ")", $a5 + fwcharmap 3, "*", $a6 + fwcharmap 3, "+", $a7 + fwcharmap 3, "、", $a8 + fwcharmap 3, "-", $a9 + fwcharmap 3, "/", $ab + fwcharmap 3, "0", $ac + fwcharmap 3, "1", $ad + fwcharmap 3, "2", $ae + fwcharmap 3, "3", $af + fwcharmap 3, "4", $b0 + fwcharmap 3, "5", $b1 + fwcharmap 3, "6", $b2 + fwcharmap 3, "7", $b3 + fwcharmap 3, "8", $b4 + fwcharmap 3, "9", $b5 + fwcharmap 3, ";", $b7 + fwcharmap 3, "<", $b8 + fwcharmap 3, "=", $b9 + fwcharmap 3, ">", $ba + fwcharmap 3, "?", $bb + fwcharmap 3, "@", $bc + fwcharmap 3, "[", $d7 + fwcharmap 3, "¥", $d8 + fwcharmap 3, "]", $d9 + +; TX_KATAKANA + fwcharmap 0, "ヲ", $10 + fwcharmap 0, "ア", $11 + fwcharmap 0, "イ", $12 + fwcharmap 0, "ウ", $13 + fwcharmap 0, "エ", $14 + fwcharmap 0, "オ", $15 + fwcharmap 0, "カ", $16 + fwcharmap 0, "キ", $17 + fwcharmap 0, "ク", $18 + fwcharmap 0, "ケ", $19 + fwcharmap 0, "コ", $1a + fwcharmap 0, "サ", $1b + fwcharmap 0, "シ", $1c + fwcharmap 0, "ス", $1d + fwcharmap 0, "セ", $1e + fwcharmap 0, "ソ", $1f + fwcharmap 0, "タ", $20 + fwcharmap 0, "チ", $21 + fwcharmap 0, "ツ", $22 + fwcharmap 0, "テ", $23 + fwcharmap 0, "ト", $24 + fwcharmap 0, "ナ", $25 + fwcharmap 0, "ニ", $26 + fwcharmap 0, "ヌ", $27 + fwcharmap 0, "ネ", $28 + fwcharmap 0, "ノ", $29 + fwcharmap 0, "ハ", $2a + fwcharmap 0, "ヒ", $2b + fwcharmap 0, "フ", $2c + fwcharmap 0, "ヘ", $2d + fwcharmap 0, "ホ", $2e + fwcharmap 0, "マ", $2f + fwcharmap 0, "ミ", $30 + fwcharmap 0, "ム", $31 + fwcharmap 0, "メ", $32 + fwcharmap 0, "モ", $33 + fwcharmap 0, "ヤ", $34 + fwcharmap 0, "ユ", $35 + fwcharmap 0, "ヨ", $36 + fwcharmap 0, "ラ", $37 + fwcharmap 0, "リ", $38 + fwcharmap 0, "ル", $39 + fwcharmap 0, "レ", $3a + fwcharmap 0, "ロ", $3b + fwcharmap 0, "ワ", $3c + fwcharmap 0, "ン", $3d + fwcharmap 0, "ガ", $3e + fwcharmap 0, "ギ", $3f + fwcharmap 0, "グ", $40 + fwcharmap 0, "ゲ", $41 + fwcharmap 0, "ゴ", $42 + fwcharmap 0, "ザ", $43 + fwcharmap 0, "ジ", $44 + fwcharmap 0, "ズ", $45 + fwcharmap 0, "ゼ", $46 + fwcharmap 0, "ゾ", $47 + fwcharmap 0, "ダ", $48 + fwcharmap 0, "ヂ", $49 + fwcharmap 0, "ヅ", $4a + fwcharmap 0, "デ", $4b + fwcharmap 0, "ド", $4c + fwcharmap 0, "バ", $4d + fwcharmap 0, "ビ", $4e + fwcharmap 0, "ブ", $4f + fwcharmap 0, "ベ", $50 + fwcharmap 0, "ボ", $51 + fwcharmap 0, "パ", $52 + fwcharmap 0, "ピ", $53 + fwcharmap 0, "プ", $54 + fwcharmap 0, "ペ", $55 + fwcharmap 0, "ポ", $56 + fwcharmap 0, "ァ", $57 + fwcharmap 0, "ィ", $58 + fwcharmap 0, "ゥ", $59 + fwcharmap 0, "ェ", $5a + fwcharmap 0, "ォ", $5b + fwcharmap 0, "ャ", $5c + fwcharmap 0, "ュ", $5d + fwcharmap 0, "ョ", $5e + fwcharmap 0, "ッ", $5f + +; TX_HIRAGANA + fwcharmap 0, "を", $10 + fwcharmap 0, "あ", $11 + fwcharmap 0, "い", $12 + fwcharmap 0, "う", $13 + fwcharmap 0, "え", $14 + fwcharmap 0, "お", $15 + fwcharmap 0, "か", $16 + fwcharmap 0, "き", $17 + fwcharmap 0, "く", $18 + fwcharmap 0, "け", $19 + fwcharmap 0, "こ", $1a + fwcharmap 0, "さ", $1b + fwcharmap 0, "し", $1c + fwcharmap 0, "す", $1d + fwcharmap 0, "せ", $1e + fwcharmap 0, "そ", $1f + fwcharmap 0, "た", $20 + fwcharmap 0, "ち", $21 + fwcharmap 0, "つ", $22 + fwcharmap 0, "て", $23 + fwcharmap 0, "と", $24 + fwcharmap 0, "な", $25 + fwcharmap 0, "に", $26 + fwcharmap 0, "ぬ", $27 + fwcharmap 0, "ね", $28 + fwcharmap 0, "の", $29 + fwcharmap 0, "は", $2a + fwcharmap 0, "ひ", $2b + fwcharmap 0, "ふ", $2c + fwcharmap 0, "へ", $2d + fwcharmap 0, "ほ", $2e + fwcharmap 0, "ま", $2f + fwcharmap 0, "み", $30 + fwcharmap 0, "む", $31 + fwcharmap 0, "め", $32 + fwcharmap 0, "も", $33 + fwcharmap 0, "や", $34 + fwcharmap 0, "ゆ", $35 + fwcharmap 0, "よ", $36 + fwcharmap 0, "ら", $37 + fwcharmap 0, "り", $38 + fwcharmap 0, "る", $39 + fwcharmap 0, "れ", $3a + fwcharmap 0, "ろ", $3b + fwcharmap 0, "わ", $3c + fwcharmap 0, "ん", $3d + fwcharmap 0, "が", $3e + fwcharmap 0, "ぎ", $3f + fwcharmap 0, "ぐ", $40 + fwcharmap 0, "げ", $41 + fwcharmap 0, "ご", $42 + fwcharmap 0, "ざ", $43 + fwcharmap 0, "じ", $44 + fwcharmap 0, "ず", $45 + fwcharmap 0, "ぜ", $46 + fwcharmap 0, "ぞ", $47 + fwcharmap 0, "だ", $48 + fwcharmap 0, "ぢ", $49 + fwcharmap 0, "づ", $4a + fwcharmap 0, "で", $4b + fwcharmap 0, "ど", $4c + fwcharmap 0, "ば", $4d + fwcharmap 0, "び", $4e + fwcharmap 0, "ぶ", $4f + fwcharmap 0, "べ", $50 + fwcharmap 0, "ぼ", $51 + fwcharmap 0, "ぱ", $52 + fwcharmap 0, "ぴ", $53 + fwcharmap 0, "ぷ", $54 + fwcharmap 0, "ぺ", $55 + fwcharmap 0, "ぽ", $56 + fwcharmap 0, "あ", $57 + fwcharmap 0, "い", $58 + fwcharmap 0, "う", $59 + fwcharmap 0, "え", $5a + fwcharmap 0, "お", $5b + fwcharmap 0, "ゃ", $5c + fwcharmap 0, "ゅ", $5d + fwcharmap 0, "ょ", $5e + fwcharmap 0, "っ", $5f + +; TX_KATAKANA, TX_HIRAGANA, and default font + fwcharmap 0, "0", $60 + fwcharmap 0, "1", $61 + fwcharmap 0, "2", $62 + fwcharmap 0, "3", $63 + fwcharmap 0, "4", $64 + fwcharmap 0, "5", $65 + fwcharmap 0, "6", $66 + fwcharmap 0, "7", $67 + fwcharmap 0, "8", $68 + fwcharmap 0, "9", $69 + fwcharmap 0, "+", $6a + fwcharmap 0, "-", $6b + fwcharmap 0, "✕", $6c + fwcharmap 0, "/", $6d + fwcharmap 0, "!", $6e + fwcharmap 0, "?", $6f + fwcharmap 0, " ", $70 + fwcharmap 0, "(", $71 + fwcharmap 0, ")", $72 + fwcharmap 0, "·", $77 + fwcharmap 0, "-(2)", $78 ; duplicate + +FW_SPACE EQU $70 + +; TX_SYMBOL +; TODO: If user-defined functions ever become a thing a symbol(*) syntax +; would probably be preferred over SYM_* + charmap "<", TX_SYMBOL + const_def + txsymbol SPACE ; $00 + txsymbol FIRE ; $01 + txsymbol GRASS ; $02 + txsymbol LIGHTNING ; $03 + txsymbol WATER ; $04 + txsymbol FIGHTING ; $05 + txsymbol PSYCHIC ; $06 + txsymbol COLORLESS ; $07 + txsymbol POISONED ; $08 + txsymbol ASLEEP ; $09 + txsymbol CONFUSED ; $0a + txsymbol PARALYZED ; $0b + txsymbol CURSOR_U ; $0c + txsymbol POKEMON ; $0d + txsymbol UNKNOWN_0E ; $0e + txsymbol CURSOR_R ; $0f + txsymbol HP ; $10 + txsymbol Lv ; $11 + txsymbol E ; $12 + txsymbol No ; $13 + txsymbol PLUSPOWER ; $14 + txsymbol DEFENDER ; $15 + txsymbol HP_OK ; $16 + txsymbol HP_NOK ; $17 + txsymbol BOX_TOP_L ; $18 + txsymbol BOX_TOP_R ; $19 + txsymbol BOX_BTM_L ; $1a + txsymbol BOX_BTM_R ; $1b + txsymbol BOX_TOP ; $1c + txsymbol BOX_BOTTOM ; $1d + txsymbol BOX_LEFT ; $1e + txsymbol BOX_RIGHT ; $1f + txsymbol 0 ; $20 + txsymbol 1 ; $21 + txsymbol 2 ; $22 + txsymbol 3 ; $23 + txsymbol 4 ; $24 + txsymbol 5 ; $25 + txsymbol 6 ; $26 + txsymbol 7 ; $27 + txsymbol 8 ; $28 + txsymbol 9 ; $29 + txsymbol DOT ; $2a + txsymbol PLUS ; $2b + txsymbol MINUS ; $2c + txsymbol CROSS ; $2d + txsymbol SLASH ; $2e + txsymbol CURSOR_D ; $2f + txsymbol PRIZE ; $30 diff --git a/src/constants/gfx_constants.asm b/src/constants/gfx_constants.asm index f5915d3..4ab84d2 100644 --- a/src/constants/gfx_constants.asm +++ b/src/constants/gfx_constants.asm @@ -14,6 +14,9 @@ palettes EQUS "* CGB_PAL_SIZE" TILE_SIZE EQU 16 ; bytes tiles EQUS "* TILE_SIZE" +TILE_SIZE_1BPP EQU 8 ; bytes +tiles_1bpp EQUS "* TILE_SIZE_1BPP" + ; wFlushPaletteFlags constants FLUSH_ONE EQU %10000000 FLUSH_ALL EQU %11000000 diff --git a/src/constants/hardware_constants.asm b/src/constants/hardware_constants.asm index a93e250..fe2731f 100644 --- a/src/constants/hardware_constants.asm +++ b/src/constants/hardware_constants.asm @@ -2,8 +2,6 @@ GBC EQU $11 -LY_VBLANK EQU 145 - ; MBC3 MBC3SRamEnable EQU $0000 MBC3RomBank EQU $2000 @@ -79,11 +77,12 @@ rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) rNR52 EQU $ff26 ; Sound on/off rLCDC EQU $ff40 ; LCD Control (R/W) -LCDC_ON EQU 7 +LCDC_ON EQU 7 rSTAT EQU $ff41 ; LCDC Status (R/W) rSCY EQU $ff42 ; Scroll Y (R/W) rSCX EQU $ff43 ; Scroll X (R/W) rLY EQU $ff44 ; LCDC Y-Coordinate (R) +LY_VBLANK EQU 145 rLYC EQU $ff45 ; LY Compare (R/W) rDMA EQU $ff46 ; DMA Transfer and Start Address (W) rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only diff --git a/src/constants/text_constants.asm b/src/constants/text_constants.asm index b5e6e22..3a50b59 100644 --- a/src/constants/text_constants.asm +++ b/src/constants/text_constants.asm @@ -1,72 +1,49 @@ -TX_END EQU $00 -TX_SYMBOL EQU $05 -TX_START EQU $06 -TX_RAM1 EQU $09 -TX_LINE EQU "\n" ; $0a -TX_RAM2 EQU $0B -TX_RAM3 EQU $0C +TX_END EQU $00 ; terminates the text -text EQUS "db TX_START, " -line EQUS "db TX_LINE, " -done EQUS "db TX_END" +; usage: TX_FULLWIDTH*, char1, TX_FULLWIDTH*, char2, ... +; source: gfx/fonts/full_width/1_kanji2.1bpp +TX_FULLWIDTH1 EQU $01 +; source: gfx/fonts/full_width/2_kanji3.1bpp +TX_FULLWIDTH2 EQU $02 +; source: gfx/fonts/full_width/3.1bpp (contains latin letters and symbols) +TX_FULLWIDTH3 EQU $03 +; source: gfx/fonts/full_width/4.1bpp +TX_FULLWIDTH4 EQU $04 - charmap "é", "`" - charmap "♂", "$" - charmap "♀", "%" - charmap "”", "\"" +TX_CTRL_START EQU $05 -; TX_SYMBOL (full-tile icons/symbols loaded at the beginning of v0Tiles2) -; TODO: Use symbols in menus (cursor tile number, tile behind cursor), draw text boxes, WriteByteToBGMap0, etc -; If user-defined functions ever become a thing a symbol(*) syntax would probably be preferred over SYM_* +; usage: TX_SYMBOL, char1, TX_SYMBOL, char2, ... +; source: gfx/fonts/symbols.2bpp +TX_SYMBOL EQU $05 - charmap "<", TX_SYMBOL - const_def - txsymbol SPACE ; $00 - txsymbol FIRE ; $01 - txsymbol GRASS ; $02 - txsymbol LIGHTNING ; $03 - txsymbol WATER ; $04 - txsymbol FIGHTING ; $05 - txsymbol PSYCHIC ; $06 - txsymbol COLORLESS ; $07 - txsymbol POISONED ; $08 - txsymbol ASLEEP ; $09 - txsymbol CONFUSED ; $0a - txsymbol PARALYZED ; $0b - txsymbol CURSOR_U ; $0c - txsymbol POKEMON ; $0d - txsymbol UNKNOWN_0E ; $0e - txsymbol CURSOR_R ; $0f - txsymbol HP ; $10 - txsymbol Lv ; $11 - txsymbol E ; $12 - txsymbol No ; $13 - txsymbol PLUSPOWER ; $14 - txsymbol DEFENDER ; $15 - txsymbol HP_OK ; $16 - txsymbol HP_NOK ; $17 - txsymbol BOX_TOP_L ; $18 - txsymbol BOX_TOP_R ; $19 - txsymbol BOX_BTM_L ; $1a - txsymbol BOX_BTM_R ; $1b - txsymbol BOX_TOP ; $1c - txsymbol BOX_BOTTOM ; $1d - txsymbol BOX_LEFT ; $1e - txsymbol BOX_RIGHT ; $1f - txsymbol 0 ; $20 - txsymbol 1 ; $21 - txsymbol 2 ; $22 - txsymbol 3 ; $23 - txsymbol 4 ; $24 - txsymbol 5 ; $25 - txsymbol 6 ; $26 - txsymbol 7 ; $27 - txsymbol 8 ; $28 - txsymbol 9 ; $29 - txsymbol DOT ; $2a - txsymbol PLUS ; $2b - txsymbol MINUS ; $2c - txsymbol x ; $2d - txsymbol SLASH ; $2e - txsymbol CURSOR_D ; $2f - txsymbol PRIZE ; $30 +; usage: TX_HALFWIDTH, char1, char2, ... +; source: gfx/fonts/half_width.1bpp +TX_HALFWIDTH EQU $06 ; sets wFontWidth to HALF_WIDTH + +; usage: <half width text>, TX_HALF2FULL, <full width text> +TX_HALF2FULL EQU $07 ; sets wFontWidth to FULL_WIDTH, and hJapaneseSyllabary to TX_KATAKANA + +TX_RAM1 EQU $09 ; prints the player's name or, in a duel, the turn duelist's name +TX_LINE EQU "\n" ; advances to a new line +TX_RAM2 EQU $0b ; prints text from wTxRam2 or wTxRam2_b +TX_RAM3 EQU $0c ; prints a number from wTxRam3 or wTxRam3_b + +; usage: TX_FULLWIDTH*, char1, char2, ... +; sources: + ; gfx/fonts/full_width/0_1_hiragana.1bpp (characters below $60) + ; gfx/fonts/full_width/0_2_digits_kanji1.1bpp (characters above or equal to $60) +TX_HIRAGANA EQU $0e ; sets hJapaneseSyllabary to TX_HIRAGANA +; sources: + ; gfx/fonts/full_width/0_0_katakana.1bpp (characters below $60) + ; gfx/fonts/full_width/0_2_digits_kanji1.1bpp (characters above or equal to $60) +TX_KATAKANA EQU $0f ; sets hJapaneseSyllabary to TX_KATAKANA + +; db char1, char2, ... defaults to the value at hJapaneseSyllabary, unless +; wFontWidth was set to HALF_WIDTH by TX_HALFWIDTH (it is FULL_WIDTH by default). +; hJapaneseSyllabary is TX_KATAKANA by default. + +TX_CTRL_END EQU $10 + +; wFontWidth constants +FULL_WIDTH EQU $0 +HALF_WIDTH EQU $1 ; non-0 |