531 lines
14 KiB
NASM
531 lines
14 KiB
NASM
; DMGTRIS
|
|
; Copyright (C) 2023 - Randy Thiemann <randy.thiemann@gmail.com>
|
|
|
|
; This program is free software: you can redistribute it and/or modify
|
|
; it under the terms of the GNU General Public License as published by
|
|
; the Free Software Foundation, either version 3 of the License, or
|
|
; (at your option) any later version.
|
|
|
|
; This program is distributed in the hope that it will be useful,
|
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
; GNU General Public License for more details.
|
|
|
|
; You should have received a copy of the GNU General Public License
|
|
; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
IF !DEF(GLOBALS_ASM)
|
|
DEF GLOBALS_ASM EQU 1
|
|
|
|
|
|
INCLUDE "hardware.inc"
|
|
INCLUDE "structs.asm"
|
|
INCLUDE "rgb555.asm"
|
|
|
|
|
|
; Set up charmap.
|
|
CHARMAP " ", 1
|
|
CHARMAP "0", 2
|
|
CHARMAP "1", 3
|
|
CHARMAP "2", 4
|
|
CHARMAP "3", 5
|
|
CHARMAP "4", 6
|
|
CHARMAP "5", 7
|
|
CHARMAP "6", 8
|
|
CHARMAP "7", 9
|
|
CHARMAP "8", 10
|
|
CHARMAP "9", 11
|
|
CHARMAP "A", 12
|
|
CHARMAP "B", 13
|
|
CHARMAP "C", 14
|
|
CHARMAP "D", 15
|
|
CHARMAP "E", 16
|
|
CHARMAP "F", 17
|
|
CHARMAP "G", 18
|
|
CHARMAP "H", 19
|
|
CHARMAP "I", 20
|
|
CHARMAP "J", 21
|
|
CHARMAP "K", 22
|
|
CHARMAP "L", 23
|
|
CHARMAP "M", 24
|
|
CHARMAP "N", 25
|
|
CHARMAP "O", 26
|
|
CHARMAP "P", 27
|
|
CHARMAP "Q", 28
|
|
CHARMAP "R", 29
|
|
CHARMAP "S", 30
|
|
CHARMAP "T", 31
|
|
CHARMAP "U", 32
|
|
CHARMAP "V", 33
|
|
CHARMAP "W", 34
|
|
CHARMAP "X", 35
|
|
CHARMAP "Y", 36
|
|
CHARMAP "Z", 37
|
|
CHARMAP "!", 38
|
|
CHARMAP "?", 39
|
|
CHARMAP "[", 40
|
|
CHARMAP "]", 41
|
|
CHARMAP "-", 42
|
|
CHARMAP "'", 43
|
|
CHARMAP "a", 207
|
|
CHARMAP "b", 208
|
|
CHARMAP "c", 209
|
|
CHARMAP "d", 210
|
|
CHARMAP "m", 211
|
|
CHARMAP ":", 212
|
|
CHARMAP ".", 254
|
|
CHARMAP "k", 47
|
|
CHARMAP "v", 45
|
|
CHARMAP "o", 44
|
|
CHARMAP "n", 46
|
|
|
|
|
|
; Waits for PPU mode to be 0 or 1.
|
|
; We don't wait for 2 because it's super short and impractical to do much of anything in.
|
|
MACRO wait_vram
|
|
.wvr\@
|
|
ldh a, [rSTAT]
|
|
bit STATB_BUSY, a
|
|
jr nz, .wvr\@
|
|
ENDM
|
|
|
|
|
|
; Waits for PPU mode to be at the start of mode 1.
|
|
; We do this by checking for scanline 144.
|
|
MACRO wait_vblank
|
|
ld b, 144
|
|
.wvb\@
|
|
ldh a, [rLY]
|
|
cp a, b
|
|
jr nz, .wvb\@
|
|
ENDM
|
|
|
|
|
|
; Waits for PPU mode to be at the end of mode 1.
|
|
; We do this by checking for scanline 0.
|
|
MACRO wait_vblank_end
|
|
ld b, 0
|
|
.wvbe\@
|
|
ldh a, [rLY]
|
|
cp a, b
|
|
jr nz, .wvbe\@
|
|
ENDM
|
|
|
|
|
|
; Sets the background palette to A.
|
|
MACRO set_bg_palette
|
|
ldh [rBGP], a
|
|
ENDM
|
|
|
|
|
|
; Sets the object0 palette to A.
|
|
MACRO set_obj0_palette
|
|
ldh [rOBP0], a
|
|
ENDM
|
|
|
|
|
|
; Sets the object1 palette to A.
|
|
MACRO set_obj1_palette
|
|
ldh [rOBP1], a
|
|
ENDM
|
|
|
|
|
|
; Sets all palettes to A.
|
|
MACRO set_all_palettes
|
|
set_bg_palette
|
|
set_obj0_palette
|
|
set_obj1_palette
|
|
ENDM
|
|
|
|
MACRO no_jump
|
|
nop
|
|
nop
|
|
ret
|
|
ENDM
|
|
|
|
|
|
; Writes two bytes to a register pair.
|
|
MACRO lb
|
|
ld \1, (LOW(\2) << 8) | LOW(\3)
|
|
ENDM
|
|
|
|
|
|
; Bank names
|
|
DEF BANK_MAIN EQU 0
|
|
DEF BANK_OTHER EQU 1
|
|
DEF BANK_SFX EQU 2
|
|
DEF BANK_TITLE EQU 3
|
|
DEF BANK_GAMEPLAY EQU 4
|
|
DEF BANK_GAMEPLAY_BIG EQU 5
|
|
DEF BANK_MUSIC_0 EQU 6
|
|
DEF BANK_MUSIC_1 EQU 7
|
|
DEF BANK_MUSIC_2 EQU 8
|
|
DEF BANK_MUSIC_3 EQU 9
|
|
|
|
; Some useful palettes.
|
|
DEF PALETTE_REGULAR EQU %11100100
|
|
DEF PALETTE_INVERTED EQU %00011011
|
|
DEF PALETTE_INVERTED_L EQU %01101111
|
|
DEF PALETTE_MONO_0 EQU %11111111
|
|
DEF PALETTE_MONO_1 EQU %10101010
|
|
DEF PALETTE_MONO_2 EQU %01010101
|
|
DEF PALETTE_MONO_3 EQU %00000000
|
|
DEF PALETTE_DARKER_0 EQU %11100100
|
|
DEF PALETTE_DARKER_1 EQU %11111001
|
|
DEF PALETTE_DARKER_2 EQU %11111110
|
|
DEF PALETTE_DARKER_3 EQU %11111111
|
|
DEF PALETTE_LIGHTER_0 EQU %11100100
|
|
DEF PALETTE_LIGHTER_1 EQU %10010000
|
|
DEF PALETTE_LIGHTER_2 EQU %01000000
|
|
DEF PALETTE_LIGHTER_3 EQU %00000000
|
|
|
|
; Sprite base positions.
|
|
DEF NEXT_BASE_X EQU 100
|
|
DEF NEXT_BASE_Y EQU 37
|
|
DEF HOLD_BASE_X EQU 100
|
|
DEF HOLD_BASE_Y EQU 75
|
|
DEF QUEUE_BASE_X EQU 142
|
|
DEF QUEUE_BASE_Y EQU 34
|
|
DEF SCORE_BASE_X EQU 97
|
|
DEF SCORE_BASE_Y EQU 105
|
|
DEF LEVEL_BASE_X EQU 100
|
|
DEF CLEVEL_BASE_Y EQU 126
|
|
DEF NLEVEL_BASE_Y EQU 138
|
|
DEF GRADE_BASE_X EQU 145
|
|
DEF GRADE_BASE_Y EQU 22
|
|
DEF TIME_BASE_X EQU 100
|
|
DEF TIME_BASE_Y EQU 152
|
|
DEF TELLS_BASE_X EQU 142
|
|
DEF TELLS_BASE_Y EQU 118
|
|
DEF TELLS_Y_DIST EQU 7
|
|
DEF TELLS_X_DIST EQU 12
|
|
|
|
; Piece names
|
|
DEF PIECE_I EQU 0
|
|
DEF PIECE_Z EQU 1
|
|
DEF PIECE_S EQU 2
|
|
DEF PIECE_J EQU 3
|
|
DEF PIECE_L EQU 4
|
|
DEF PIECE_O EQU 5
|
|
DEF PIECE_T EQU 6
|
|
DEF PIECE_NONE EQU 7
|
|
|
|
; Sound effect names
|
|
DEF REG_NR10_CH1_SWEEP EQU $10
|
|
DEF REG_NR11_CH1_LENDT EQU $11
|
|
DEF REG_NR12_CH1_VOLEV EQU $12
|
|
DEF REG_NR13_CH1_FRQLO EQU $13
|
|
DEF REG_NR14_CH1_FRQHI EQU $14
|
|
DEF REG_NR21_CH2_LENDT EQU $16
|
|
DEF REG_NR22_CH2_VOLEV EQU $17
|
|
DEF REG_NR23_CH2_FRQLO EQU $18
|
|
DEF REG_NR24_CH2_FRQHI EQU $19
|
|
DEF REG_NR30_CH3_DACEN EQU $1A
|
|
DEF REG_NR31_CH3_LENGT EQU $1B
|
|
DEF REG_NR32_CH3_VOLUM EQU $1C
|
|
DEF REG_NR33_CH3_FRQLO EQU $1D
|
|
DEF REG_NR34_CH3_FRQHI EQU $1E
|
|
DEF REG_NR41_CH4_LENGT EQU $20
|
|
DEF REG_NR42_CH4_VOLEV EQU $21
|
|
DEF REG_NR43_CH4_FQRND EQU $22
|
|
DEF REG_NR44_CH4_CNTRL EQU $23
|
|
DEF REG_NR50_MVOLVINPN EQU $24
|
|
DEF REG_NR51_MASTERPAN EQU $25
|
|
DEF REG_NR52_MASTERCTL EQU $26
|
|
DEF REG_WAVE_PATTERN_0 EQU $30
|
|
DEF REG_WAVE_PATTERN_1 EQU $31
|
|
DEF REG_WAVE_PATTERN_2 EQU $32
|
|
DEF REG_WAVE_PATTERN_3 EQU $33
|
|
DEF REG_WAVE_PATTERN_4 EQU $34
|
|
DEF REG_WAVE_PATTERN_5 EQU $35
|
|
DEF REG_WAVE_PATTERN_6 EQU $36
|
|
DEF REG_WAVE_PATTERN_7 EQU $37
|
|
DEF REG_WAVE_PATTERN_8 EQU $38
|
|
DEF REG_WAVE_PATTERN_9 EQU $39
|
|
DEF REG_WAVE_PATTERN_A EQU $3A
|
|
DEF REG_WAVE_PATTERN_B EQU $3B
|
|
DEF REG_WAVE_PATTERN_C EQU $3C
|
|
DEF REG_WAVE_PATTERN_D EQU $3D
|
|
DEF REG_WAVE_PATTERN_E EQU $3E
|
|
DEF REG_WAVE_PATTERN_F EQU $3F
|
|
DEF END_OF_SAMPLE EQU $FF
|
|
DEF END_OF_SONG EQU $FE
|
|
DEF END_OF_SFX EQU $FE
|
|
DEF CHANGE_BANK EQU $FD
|
|
DEF CHANGE_PLAYHEAD EQU $FC
|
|
DEF SFX_IRS EQU $80
|
|
DEF SFX_IHS EQU 10
|
|
DEF SFX_LINE_CLEAR EQU 11
|
|
DEF SFX_LAND EQU 12
|
|
DEF SFX_LOCK EQU 13
|
|
DEF SFX_LEVELLOCK EQU 14
|
|
DEF SFX_LEVELUP EQU 15
|
|
DEF SFX_RANKUP EQU 16
|
|
DEF SFX_READYGO EQU 17
|
|
DEF SFX_RANKGM EQU 18
|
|
DEF MUSIC_MENU EQU $EE
|
|
DEF MUSIC_ROLL EQU $EF
|
|
|
|
; Tile data offsets
|
|
; Shared
|
|
DEF TILE_BLANK EQU 1
|
|
DEF TILE_0 EQU 2
|
|
|
|
; Title
|
|
DEF TILE_SELECTED EQU 92
|
|
DEF TILE_UNSELECTED EQU 93
|
|
|
|
; Gameplay
|
|
DEF TILE_FIELD_EMPTY EQU 108
|
|
DEF TILE_PIECE_0 EQU 48
|
|
DEF TILE_CLEARING EQU 106
|
|
DEF TILE_GHOST EQU 107
|
|
DEF TILE_PIECE_SMALL_0 EQU 116
|
|
DEF TILE_PIECE_BONE EQU 104
|
|
DEF TILE_SMALL_0 EQU 213
|
|
DEF TILE_BONE EQU 104
|
|
DEF TILE_INVIS EQU 255
|
|
DEF TILE_QUEUE_BONE EQU 105
|
|
DEF TILE_ROT_MODE_MYCO EQU 253
|
|
DEF GAME_OVER_R10 EQU 147
|
|
DEF GAME_OVER_R12 EQU 167
|
|
DEF GAME_OVER_R14 EQU 187
|
|
DEF GAME_OVER_OTHER EQU 145
|
|
|
|
; Button mode.
|
|
DEF BUTTON_MODE_NORM EQU 0
|
|
DEF BUTTON_MODE_INVR EQU 1
|
|
DEF BUTTON_MODE_COUNT EQU 2
|
|
|
|
; RNG mode.
|
|
DEF TILE_RNG_MODE_BASE EQU 130
|
|
DEF RNG_MODE_TGM1 EQU 0
|
|
DEF RNG_MODE_TGM2 EQU 1
|
|
DEF RNG_MODE_TGM3 EQU 2
|
|
DEF RNG_MODE_HELL EQU 3
|
|
DEF RNG_MODE_NES EQU 4
|
|
DEF RNG_MODE_COUNT EQU 5
|
|
|
|
; Rotation mode.
|
|
DEF TILE_ROT_MODE_BASE EQU 135
|
|
DEF ROT_MODE_ARS EQU 0
|
|
DEF ROT_MODE_ARSTI EQU 1
|
|
DEF ROT_MODE_NES EQU 2
|
|
DEF ROT_MODE_MYCO EQU 3
|
|
DEF ROT_MODE_COUNT EQU 4
|
|
|
|
; Drop mode.
|
|
DEF TILE_DROP_MODE_BASE EQU 138
|
|
DEF DROP_MODE_FIRM EQU 0
|
|
DEF DROP_MODE_SNIC EQU 1
|
|
DEF DROP_MODE_HARD EQU 2
|
|
DEF DROP_MODE_LOCK EQU 3
|
|
DEF DROP_MODE_NONE EQU 4
|
|
DEF DROP_MODE_COUNT EQU 5
|
|
|
|
; Speed curve selection.
|
|
DEF SCURVE_ENTRY_SIZE EQU 13
|
|
DEF SCURVE_DMGT EQU 0
|
|
DEF SCURVE_TGM1 EQU 1
|
|
DEF SCURVE_TGM3 EQU 2
|
|
DEF SCURVE_DEAT EQU 3
|
|
DEF SCURVE_SHIR EQU 4
|
|
DEF SCURVE_CHIL EQU 5
|
|
DEF SCURVE_MYCO EQU 6
|
|
DEF SCURVE_COUNT EQU 7
|
|
|
|
; 20G mode.
|
|
DEF TILE_HIG_MODE_BASE EQU 143
|
|
DEF HIG_MODE_OFF EQU 0
|
|
DEF HIG_MODE_ON EQU 1
|
|
DEF HIG_MODE_COUNT EQU 2
|
|
|
|
DEF FILTER_MODE_DLRU EQU 0
|
|
DEF FILTER_MODE_ULRD EQU 1
|
|
DEF FILTER_MODE_LRUD EQU 2
|
|
DEF FILTER_MODE_UDLR EQU 3
|
|
DEF FILTER_MODE_NONE EQU 4
|
|
DEF FILTER_MODE_COUNT EQU 5
|
|
|
|
DEF BG_MODE_LITE EQU 0
|
|
DEF BG_MODE_DARK EQU 1
|
|
DEF BG_MODE_COUNT EQU 2
|
|
|
|
; VRAM Offsets for gameplay tiles
|
|
DEF FIELD_RNG EQU $9852
|
|
DEF FIELD_ROT EQU $9892
|
|
DEF FIELD_DROP EQU $9912
|
|
DEF FIELD_HIG EQU $9952
|
|
DEF FIELD_TOP_LEFT EQU $9800
|
|
|
|
; Gameplay definitions.
|
|
DEF LEADY_TIME EQU 80
|
|
DEF GO_TIME EQU 40
|
|
DEF PIECE_SPAWN_X EQU 5
|
|
DEF PIECE_SPAWN_Y EQU 3
|
|
DEF PIECE_SPAWN_X_BIG EQU 3
|
|
DEF PIECE_SPAWN_Y_BIG EQU 3
|
|
DEF ROTATION_STATE_DEF EQU 0
|
|
DEF ROTATION_STATE_CW EQU 1
|
|
DEF ROTATION_STATE_180 EQU 2
|
|
DEF ROTATION_STATE_CCW EQU 3
|
|
|
|
; Game states. (Let these increase by 3)
|
|
DEF STATE_TITLE EQU 0
|
|
DEF STATE_GAMEPLAY EQU 3
|
|
DEF STATE_GAMEPLAY_BIG EQU 6
|
|
|
|
; Other
|
|
DEF STACK_SIZE EQU 64
|
|
DEF EASTER_0 EQU $9865
|
|
DEF EASTER_1 EQU $9885
|
|
DEF SLAM_ANIMATION_LEN EQU 6
|
|
|
|
; Magic location for bank id.
|
|
DEF rBANKID EQU $4007
|
|
|
|
; Grade names.
|
|
DEF GRADE_9 EQU 0
|
|
DEF GRADE_8 EQU 1
|
|
DEF GRADE_7 EQU 2
|
|
DEF GRADE_6 EQU 3
|
|
DEF GRADE_5 EQU 4
|
|
DEF GRADE_4 EQU 5
|
|
DEF GRADE_3 EQU 6
|
|
DEF GRADE_2 EQU 7
|
|
DEF GRADE_1 EQU 8
|
|
DEF GRADE_S1 EQU 9
|
|
DEF GRADE_S2 EQU 10
|
|
DEF GRADE_S3 EQU 11
|
|
DEF GRADE_S4 EQU 12
|
|
DEF GRADE_S5 EQU 13
|
|
DEF GRADE_S6 EQU 14
|
|
DEF GRADE_S7 EQU 15
|
|
DEF GRADE_S8 EQU 16
|
|
DEF GRADE_S9 EQU 17
|
|
DEF GRADE_S10 EQU 18
|
|
DEF GRADE_S11 EQU 19
|
|
DEF GRADE_S12 EQU 20
|
|
DEF GRADE_S13 EQU 21
|
|
DEF GRADE_M1 EQU 22
|
|
DEF GRADE_M2 EQU 23
|
|
DEF GRADE_M3 EQU 24
|
|
DEF GRADE_M4 EQU 25
|
|
DEF GRADE_M5 EQU 26
|
|
DEF GRADE_M6 EQU 27
|
|
DEF GRADE_M7 EQU 28
|
|
DEF GRADE_M8 EQU 29
|
|
DEF GRADE_M9 EQU 30
|
|
DEF GRADE_M EQU 31
|
|
DEF GRADE_MK EQU 32
|
|
DEF GRADE_MV EQU 33
|
|
DEF GRADE_MO EQU 34
|
|
DEF GRADE_MM EQU 35
|
|
DEF GRADE_GM EQU 36
|
|
DEF GRADE_NONE EQU 255
|
|
DEF GRADE_S10_PLUS EQU 4
|
|
|
|
; Game mode
|
|
DEF MODE_LEADY EQU 0
|
|
DEF MODE_GO EQU 3
|
|
DEF MODE_POSTGO EQU 6
|
|
DEF MODE_PREFETCHED_PIECE EQU 9
|
|
DEF MODE_SPAWN_PIECE EQU 12
|
|
DEF MODE_PIECE_IN_MOTION EQU 15
|
|
DEF MODE_DELAY EQU 18
|
|
DEF MODE_GAME_OVER EQU 21
|
|
DEF MODE_PRE_GAME_OVER EQU 24
|
|
DEF MODE_PAUSED EQU 27
|
|
DEF MODE_PREROLL EQU 30
|
|
|
|
; Helpers to avoid magic numbers
|
|
DEF SCORE_ONES EQU 7
|
|
DEF SCORE_TENS EQU 6
|
|
DEF SCORE_HUNDREDS EQU 5
|
|
DEF SCORE_THOUSANDS EQU 4
|
|
DEF SCORE_TENTHOUSANDS EQU 3
|
|
DEF SCORE_HUNDREDTHOUSANDS EQU 2
|
|
DEF SCORE_MILLIONS EQU 1
|
|
DEF SCORE_TENMILLIONSS EQU 0
|
|
DEF CLEVEL_THOUSANDS EQU 0
|
|
DEF CLEVEL_HUNDREDS EQU 1
|
|
DEF CLEVEL_TENS EQU 2
|
|
DEF CLEVEL_ONES EQU 3
|
|
DEF NLEVEL_THOUSANDS EQU 0
|
|
DEF NLEVEL_HUNDREDS EQU 1
|
|
DEF NLEVEL_TENS EQU 2
|
|
DEF NLEVEL_ONES EQU 3
|
|
DEF LEVEL_MULT_1A EQU $02
|
|
DEF LEVEL_MULT_1B EQU $50
|
|
DEF LEVEL_MULT_2A EQU $05
|
|
DEF LEVEL_MULT_3A EQU $07
|
|
DEF LEVEL_MULT_3B EQU $50
|
|
|
|
; Title screens
|
|
DEF TITLE_MAIN EQU 0
|
|
DEF TITLE_PROFILE EQU 3
|
|
DEF TITLE_SETTINGS EQU 6
|
|
DEF TITLE_RECORDS EQU 9
|
|
DEF TITLE_CREDITS EQU 12
|
|
|
|
DEF TITLE_MAIN_OPTION_BASE EQU $98C3
|
|
DEF TITLE_MAIN_OPTIONS EQU 6
|
|
DEF TITLE_MAIN_PROFILE EQU $9801
|
|
DEF TITLE_MAIN_ROT EQU $99E2
|
|
DEF TITLE_MAIN_DROP EQU $99E9
|
|
DEF TITLE_MAIN_SCURVE EQU $99F0
|
|
DEF TITLE_MAIN_RNG EQU $9A22
|
|
DEF TITLE_MAIN_HIG EQU $9A29
|
|
DEF TITLE_MAIN_START EQU $9A30
|
|
DEF TITLE_MAIN_SEL_START_N EQU 0
|
|
DEF TITLE_MAIN_SEL_START_B EQU 1
|
|
DEF TITLE_MAIN_SEL_PROFILE EQU 2
|
|
DEF TITLE_MAIN_SEL_SETTINGS EQU 3
|
|
DEF TITLE_MAIN_SEL_RECORDS EQU 4
|
|
DEF TITLE_MAIN_SEL_CREDITS EQU 5
|
|
|
|
DEF TITLE_SETTINGS_OPTION_BASE EQU $9840
|
|
DEF TITLE_SETTINGS_OPTIONS EQU 7
|
|
DEF TITLE_SETTINGS_RNG EQU $984F
|
|
DEF TITLE_SETTINGS_ROT EQU $986F
|
|
DEF TITLE_SETTINGS_DROP EQU $988F
|
|
DEF TITLE_SETTINGS_SCURVE EQU $98AF
|
|
DEF TITLE_SETTINGS_HIG EQU $98CF
|
|
DEF TITLE_SETTINGS_START EQU $98EF
|
|
DEF TITLE_SETTINGS_TETRY EQU $99C0
|
|
DEF TITLE_SETTINGS_SEL_BACK EQU 6
|
|
|
|
DEF TITLE_PROFILE_OPTION_BASE EQU $9840
|
|
DEF TITLE_PROFILE_OPTIONS EQU 9
|
|
DEF TITLE_PROFILE_INDEX EQU $984F
|
|
DEF TITLE_PROFILE_NAME_0 EQU $986F
|
|
DEF TITLE_PROFILE_NAME_1 EQU $988F
|
|
DEF TITLE_PROFILE_NAME_2 EQU $98AF
|
|
DEF TITLE_PROFILE_BUTTONS EQU $98CF
|
|
DEF TITLE_PROFILE_FILTER EQU $98EF
|
|
DEF TITLE_PROFILE_BG EQU $990F
|
|
DEF TITLE_PROFILE_RESET EQU $992F
|
|
DEF TITLE_PROFILE_BACK EQU $994F
|
|
DEF TITLE_PROFILE_TETRY EQU $99C0
|
|
DEF TITLE_PROFILE_SEL_RESET EQU 7
|
|
DEF TITLE_PROFILE_SEL_BACK EQU 8
|
|
|
|
DEF TITLE_RECORDS_MODE EQU $9848
|
|
DEF TITLE_RECORDS_SCORE_BASE EQU $98A2
|
|
DEF TITLE_RECORDS_RNG_BASE EQU 96
|
|
DEF TITLE_RECORDS_ROT_BASE EQU 101
|
|
DEF TITLE_RECORDS_DROP_BASE EQU 105
|
|
DEF TITLE_RECORDS_HIG_BASE EQU 110
|
|
DEF TITLE_RECORDS_GRADE_BASE EQU 112
|
|
DEF TITLE_RECORDS_RESET_BASE EQU 150
|
|
DEF TITLE_RECORDS_RESET_LOC EQU $9A13
|
|
|
|
DEF PROFILE_SIZE EQU 64
|
|
DEF PROFILE_COUNT EQU 10
|
|
DEF HISCORE_ENTRY_SIZE EQU 32
|
|
DEF HISCORE_ENTRY_COUNT EQU 10
|
|
DEF HISCORE_TABLE_COUNT EQU 7
|
|
|
|
ENDC
|