diff --git a/README.md b/README.md index e4148ba..4925c46 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ The game is heavily inspired by the TGM series of games and has the following fe - Invisible rolls, big mode, including big mode rolls, bone pieces, and even torikans! - Grading systems that are inspired by, but do not exactly mimic, those in the TGM series of games in many of the speed curves. - A challenging final challenge awaits you at the end of all the finite modes. +- High scores. ## Playing @@ -94,7 +95,7 @@ ScoreIncrement points are then awarded. - A/B/Start — Navigate the menus - Up/Down — Change which option is selected - Left/Right — Change the value of the option -- Select — Switch profiles while on the main menu +- Select — Switch profiles while on the main menu, hold for 5 seconds to wipe the score table currently displayed when on the records screen. ### Gameplay - A — Rotate 1 diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 300e030..85ead5a 100644 Binary files a/bin/DMGTRIS.GBC and b/bin/DMGTRIS.GBC differ diff --git a/bin/DMGTRIS.map b/bin/DMGTRIS.map index b7916a7..dda431f 100644 --- a/bin/DMGTRIS.map +++ b/bin/DMGTRIS.map @@ -32,7 +32,7 @@ ROM0 bank #0: $00f4 = DoDMGEffect.wvbe_u13 EMPTY: $00fd-$00ff ($0003 bytes) SECTION: $0100-$014f ($0050 bytes) ["Cartridge Header"] - SECTION: $0150-$0fa7 ($0e58 bytes) ["GBC Functions"] + SECTION: $0150-$0fc8 ($0e79 bytes) ["GBC Functions"] $0150 = ToATTR $0173 = GBCTitleInit $0354 = GBCTitleInit.agb @@ -55,513 +55,524 @@ ROM0 bank #0: $09f2 = GBCTitleProcess.noinc1 $0a09 = !2 $0a16 = GBCTitleProcess.eventLoopRecords - $0a17 = GBCTitleProcess.eventLoopCredits - $0a29 = GBCTitleProcess.nores2 - $0a2c = GBCTitleProcess.noinc2 - $0a39 = GBCGameplayProcess - $0a77 = GBCGameplayProcess.goverride - $0a83 = !3 - $0a8c = !4 - $0a95 = !5 - $0a9e = GBCGameplayProcess.colorfield - $0c04 = !6 - $0c12 = GBCGameplayProcess.outer1 - $0c17 = GBCGameplayProcess.inner1 - $0c3b = GBCGameplayProcess.outer2 - $0c40 = GBCGameplayProcess.inner2 - $0c65 = GBCGameplayProcess.empty - $0c69 = GBCGameplayProcess.sub59 - $0c6b = GBCGameplayProcess.sub52 - $0c6d = GBCGameplayProcess.sub45 - $0c6f = GBCGameplayProcess.sub38 - $0c71 = GBCGameplayProcess.sub31 - $0c73 = GBCGameplayProcess.sub24 - $0c75 = GBCGameplayProcess.sub17 - $0c77 = GBCGameplayProcess.sub10 - $0c79 = GBCGameplayProcess.done - $0c9b = GBCGameplayProcess.darker - $0ca2 = GBCGameplayProcess.wvr_u1 - $0caf = GBCGameplayProcess.lighter - $0cb6 = GBCGameplayProcess.wvr_u2 - $0cc3 = GBCGameplayProcess.black - $0cca = GBCGameplayProcess.wvr_u3 - $0cd7 = GBCBigGameplayProcess - $0d15 = GBCBigGameplayProcess.goverride - $0d21 = !7 - $0d2a = !8 - $0d33 = !9 - $0d3c = GBCBigGameplayProcess.colorfield - $0ea2 = !10 - $0eb0 = GBCBigGameplayProcess.outer1 - $0eb5 = GBCBigGameplayProcess.inner1 - $0ed9 = GBCBigGameplayProcess.outer2 - $0ede = GBCBigGameplayProcess.inner2 - $0f03 = GBCBigGameplayProcess.empty - $0f07 = GBCBigGameplayProcess.sub59 - $0f09 = GBCBigGameplayProcess.sub52 - $0f0b = GBCBigGameplayProcess.sub45 - $0f0d = GBCBigGameplayProcess.sub38 - $0f0f = GBCBigGameplayProcess.sub31 - $0f11 = GBCBigGameplayProcess.sub24 - $0f13 = GBCBigGameplayProcess.sub17 - $0f15 = GBCBigGameplayProcess.sub10 - $0f17 = GBCBigGameplayProcess.done - $0f39 = GBCBigGameplayProcess.darker - $0f40 = GBCBigGameplayProcess.wvr_u4 - $0f4d = GBCBigGameplayProcess.lighter - $0f54 = GBCBigGameplayProcess.wvr_u5 - $0f61 = GBCBigGameplayProcess.black - $0f68 = GBCBigGameplayProcess.wvr_u6 - $0f75 = ToVRAM - $0f75 = GBCBlitField - SECTION: $0fa8-$1791 ($07ea bytes) ["Field Function Unbanked"] - $0fa8 = BlitField - $116b = BlitField.waitendvbloop - $1171 = !0 - $11c0 = !1 - $120f = !2 - $125e = !3 - $12ad = !4 - $12fc = !5 - $134b = !6 - $139d = BigBlitField - $1560 = BigBlitField.waitendvbloop - $1566 = !7 - $15b5 = !8 - $1604 = !9 - $1653 = !10 - $16a2 = !11 - $16f1 = !12 - $1740 = !13 - SECTION: $1792-$1d3e ($05ad bytes) ["Domain Specific Functions"] - $1792 = ApplyTells - $17d0 = ApplyTells.myco - $17d5 = ApplyTells.dropmode - $17fa = ApplyNext - $1802 = ApplyNext.bone - $1821 = ApplyNext.nobone - $1842 = ApplyNext.pos - $1852 = ApplyNext.regular - $1858 = ApplyNext.postoffsets - $185c = ApplyNext.getoffn - $1867 = ApplyNext.skipoffn - $1905 = ApplyNext.done - $1908 = ApplyHold - $1910 = ApplyHold.bone - $192f = ApplyHold.nobone - $194c = ApplyHold.hide - $195e = ApplyHold.show - $196e = ApplyHold.x - $197e = ApplyHold.regular - $1984 = ApplyHold.postoffsets - $1988 = ApplyHold.getoffh - $1993 = ApplyHold.skipoffh - $19cd = ApplyTime - $1a1e = ApplyTime.loop0 - $1a4d = ApplyTime.loop1 - $1aa2 = ApplyNumbers8 - $1aef = ApplyNumbers8.one - $1af5 = ApplyNumbers8.two - $1afb = ApplyNumbers8.three - $1b01 = ApplyNumbers8.four - $1b07 = ApplyNumbers8.five - $1b0d = ApplyNumbers8.six - $1b13 = ApplyNumbers8.seven - $1b19 = ApplyNumbers8.eight - $1b1e = ApplyNumbers4 - $1b43 = ApplyNumbers4.one - $1b49 = ApplyNumbers4.two - $1b4f = ApplyNumbers4.three - $1b55 = ApplyNumbers4.four - $1b5a = SetNumberSpritePositions - $1c61 = GradeRendering - $1c96 = GradeRendering.effect - $1ca6 = GradeRendering.noeffect - $1cae = GradeRendering.drawgrade - $1cb5 = GradeRendering.regulargrade - $1cbd = GradeRendering.sgrade - $1cd3 = GradeRendering.hisgrade - $1ce9 = GradeRendering.mgrade - $1cff = GradeRendering.lettergrade - $1d1c = GradeRendering.mk - $1d22 = GradeRendering.mv - $1d28 = GradeRendering.mo - $1d2e = GradeRendering.mm - $1d34 = GradeRendering.gmgrade - SECTION: $1d3f-$21be ($0480 bytes) ["Grading Functions"] - $1d3f = GradeInit - $1d73 = GradeInit.grade9start - $1d78 = GradeInit.end - $1d7a = UpdateGrade - $1d88 = UpdateGrade.gradejumptable - $1d9d = DecayGradeProcess - $1dab = DecayGradeProcess.gradejumptable - $1dc0 = DecayGradeDelay - $1dce = DecayGradeDelay.gradejumptable - $1de3 = PrepareScore - $1df6 = DrawGradeProgressDMGT - $1e02 = !0 - $1e11 = UpdateGradeDMGT - $1e4a = UpdateGradeDMGT.checklineclears - $1e64 = UpdateGradeDMGT.clearrate - $1e75 = UpdateGradeDMGT.combomult - $1e82 = UpdateGradeDMGT.combo10 - $1e93 = UpdateGradeDMGT.combo5 - $1ea4 = UpdateGradeDMGT.combo1 - $1eb3 = UpdateGradeDMGT.prelevel - $1ec2 = UpdateGradeDMGT.single - $1ed2 = UpdateGradeDMGT.double - $1ee3 = UpdateGradeDMGT.adddonce - $1ee7 = UpdateGradeDMGT.triple - $1ef8 = UpdateGradeDMGT.addtonce - $1efc = UpdateGradeDMGT.tetris - $1f00 = UpdateGradeDMGT.levelmult - $1f18 = UpdateGradeDMGT.mult4 - $1f1e = UpdateGradeDMGT.mult3 - $1f23 = UpdateGradeDMGT.mult2 - $1f27 = UpdateGradeDMGT.mult1 - $1f28 = UpdateGradeDMGT.processgrade - $1f51 = UpdateGradeDMGT.increasegrademaybe - $1f75 = UpdateGradeDMGT.gotgm - $1f83 = DecayGradeDMGT - $1fa7 = DecayGradeDMGT.nodecay - $1fae = DecayGradeDMGT.decay - $1fbc = UpdateGradeTGM1 - $1fcd = UpdateGradeTGM1.trygradeup - $1fe8 = UpdateGradeTGM1.increasegrade - $1ffd = UpdateGradeTGM1.skipjingle - $2009 = UpdateGradeTGM1.check300 - $2028 = UpdateGradeTGM1.success300 - $202f = UpdateGradeTGM1.fail300 - $2036 = UpdateGradeTGM1.check500 - $2055 = UpdateGradeTGM1.success500 - $205c = UpdateGradeTGM1.fail500 - $2063 = UpdateGradeTGM1.check999 - $209b = UpdateGradeTGM1.success999 - $20b3 = UpdateGradeTGM1.fail999 - $20b9 = UpdateGradeDEAT - $20c5 = UpdateGradeDEAT.notgm - $20e1 = UpdateGradeDEAT.notm - $2104 = UpdateGradeDEAT.disqualify - $2122 = UpdateGradeSHIR - $2165 = UpdateGradeSHIR.s5torikan - $2175 = UpdateGradeSHIR.s10torikan - $2184 = UpdateGradeSHIR.disqualify - $2193 = UpdateGradeSHIR.l1000 - $21a9 = UpdateGradeSHIR.l500 - SECTION: $21bf-$2612 ($0454 bytes) ["SRAM Functions"] - $21bf = RestoreSRAM - $21ef = TrustedLoad - $2241 = TrustedLoad.jumps - $2259 = TrustedLoad.dmgt - $225f = TrustedLoad.tgm1 - $2265 = TrustedLoad.tgm3 - $226b = TrustedLoad.deat - $2271 = TrustedLoad.shir - $2277 = TrustedLoad.chil - $227d = TrustedLoad.myco - $2283 = TrustedLoad.search - $2295 = TrustedLoad.notfound - $229c = TrustedLoad.fallback - $22b7 = InitializeSRAM - $242a = NextProfile - $2433 = NextProfile.update - $2436 = ChangeProfile - $2436 = ChangeProfile.backup - $2465 = ChangeProfile.first - $2473 = ChangeProfile.second - $2481 = ChangeProfile.third - $248f = ChangeProfile.fourth - $249d = ChangeProfile.fifth - $24ab = ChangeProfile.sixth - $24b9 = ChangeProfile.seventh - $24c7 = ChangeProfile.eighth - $24d5 = ChangeProfile.ninth - $24e3 = ChangeProfile.tenth - $24f1 = ChangeProfile.restore - $2521 = ChangeProfile.lfirst - $2530 = ChangeProfile.lsecond - $253f = ChangeProfile.lthird - $254e = ChangeProfile.lfourth - $255d = ChangeProfile.lfifth - $256c = ChangeProfile.lsixth - $257b = ChangeProfile.lseventh - $258a = ChangeProfile.leighth - $2599 = ChangeProfile.lninth - $25a8 = ChangeProfile.ltenth - $25b7 = ResetProfile - SECTION: $2613-$298b ($0379 bytes) ["Level Functions"] - $2613 = LevelInit - $2678 = SpecialLevelInit - $2686 = SpecialLevelInit.jumps - $269b = SpecialLevelInit.dmgt - $26a0 = SpecialLevelInit.tgm1 - $26a5 = SpecialLevelInit.tgm3 - $26aa = SpecialLevelInit.deat - $26af = SpecialLevelInit.shir - $26b4 = SpecialLevelInit.chil - $26b9 = SpecialLevelInit.myco - $26be = SpecialLevelInit.loaddata - $26f3 = LevelUp - $271d = LevelUp.doit - $275f = LevelUp.checknlevel - $2790 = !0 - $27a8 = !1 - $27b1 = LevelUp.bellmaybe - $27cd = LevelUp.leveljinglemaybe - $27dd = LevelUp.checkspeedup - $27f1 = !2 - $27fe = !3 - $280f = !4 - $281c = DoSpeedUp - $285d = CheckSpecialLevelConditions - $288e = CheckSpecialLevelConditions.override - $28a9 = CheckSpecialLevelConditions.nooverride - $28af = CheckSpecialLevelConditions.speciallock - $28d3 = CheckSpecialLevelConditions.bones - $28e8 = CheckSpecialLevelConditions.enterthebonezone - $28ed = CheckSpecialLevelConditions.invis - $2902 = CheckSpecialLevelConditions.vanishoxyaction - $2907 = CheckSpecialLevelConditions.killscreen - $2918 = CheckSpecialLevelConditions.rip - $2948 = CheckSpecialLevelConditions.staffroll - $2956 = CheckSpecialLevelConditions.justkill - $296a = TriggerKillScreen - SECTION: $298c-$2c41 ($02b6 bytes) ["Grading Data"] - $298c = sTGM1GradeScores - $29ae = sTGM3InternalGradeSystem - $2a4e = sTGM3GradeBoosts - $2a6d = sTGM3LevelMultiplier - $2a71 = sTGM3BaselineCOOL - $2a7a = sTGM3REGRETConditions - $2a8e = sDMGTGrading - $2b42 = sDMGTGaugeLUT - SECTION: $2c42-$2ee1 ($02a0 bytes) ["SFX Functions"] - $2c42 = SFXInit - $2c64 = SFXPopQueue - $2c79 = SFXPushQueue - $2c8a = SFXProcessQueue - $2c9b = !0 - $2cb6 = !1 - $2cb8 = SFXTriggerNoise - $2cc5 = !2 - $2cd2 = !3 - $2cde = SFXEnqueue - $2cf3 = SFXEnqueue.findsfx - $2d08 = !4 - $2d18 = !5 - $2d28 = !6 - $2d38 = !7 - $2d48 = !8 - $2d58 = !9 - $2d68 = !10 - $2d78 = !11 - $2d88 = !12 - $2d98 = !13 - $2da8 = !14 - $2db8 = !15 - $2dc8 = !16 - $2dd8 = !17 - $2de8 = !18 - $2df7 = !19 - $2e06 = !20 - $2e15 = !21 - $2e24 = !22 - $2e32 = !23 - $2e40 = !24 - $2e4d = SFXKill - $2e80 = SFXPlayNoise - $2e8b = SFXPlayNoise.noisereg - $2e98 = !25 - $2ea2 = SFXPlayNoise.savenoiseplayhead - $2eab = SFXPlay - $2eb6 = !26 - $2eb9 = SFXPlay.play - $2ec5 = SFXPlay.getRegister - $2ecf = !27 - $2ed9 = SFXPlay.savePlayhead - SECTION: $2ee2-$3112 ($0231 bytes) ["RNG Functions"] - $2ee2 = HarvestEntropy - $2ee8 = HarvestEntropy.loop - $2f09 = RNGInit - $2f3f = !0 - $2f6f = RNGInit.complexinit - $2f86 = !1 - $2fa1 = ShiftHistory - $2fbe = GetNextHellPiece - $2fc3 = GetNextTGM1Piece - $2fc6 = !2 - $2fde = !3 - $2fe0 = GetNextTGM2Piece - $2fe3 = !4 - $2ffb = !5 - $2ffd = GetNextNesPiece - $300b = GetNextTGM3Piece - $300e = !6 - $3031 = !7 - $3034 = !8 - $3044 = !9 - $304e = !10 - $305c = !11 - $306b = !12 - $3077 = !13 - $3083 = !14 - $308f = !15 - $309b = !16 - $30a7 = !17 - $30b3 = !18 - $30c2 = GetNextPiece - $30d0 = GetNextPiece.nextpiecejumps - $30df = Next35Piece - $30df = !19 - $30e9 = Next7Piece - $30e9 = !20 - $30f3 = NextByte - SECTION: $3113-$3281 ($016f bytes) ["Hi Score Functions"] - $3113 = CheckAndAddHiscore - $311d = CheckAndAddHiscore.checkloop - $3161 = CheckAndAddHiscore.notbetter - $316d = CheckAndAddHiscore.better - $316f = InsertHiScore - $316f = InsertHiScore.copylower - $3180 = InsertHiScore.copyupper - $318d = !0 - $31a1 = InsertHiScore.findrow - $31ae = !1 - $31b2 = InsertHiScore.insert - $31fb = InsertHiScore.persist - $320c = GetHiScoreEntry - $3221 = !2 - $3225 = GetHiScoreEntry.store - $322e = InitTargetHSTable - $3239 = InitTargetHSTable.jumps - $324e = InitTargetHSTable.dmgt - $3253 = InitTargetHSTable.tgm1 - $3258 = InitTargetHSTable.tgm3 - $325d = InitTargetHSTable.deat - $3262 = InitTargetHSTable.shir - $3267 = InitTargetHSTable.chil - $326c = InitTargetHSTable.myco - $326f = InitTargetHSTable.store - SECTION: $3282-$33cb ($014a bytes) ["Progress Data"] - $3282 = sProgressData - SECTION: $33cc-$350b ($0140 bytes) ["Hi Score Data"] - $33cc = sHiscoreDefaultData - SECTION: $350c-$35eb ($00e0 bytes) ["Score Functions"] - $350c = ScoreInit - $3534 = IncreaseScore - $356c = IncreaseScore.doConvert - $356e = !0 - $3584 = IncreaseScore.carry - $3586 = IncreaseScore.postConvert - $3593 = !1 - $359a = IncreaseScore.preAddDigit - $35c2 = IncreaseScore.addDigit - $35d8 = IncreaseScore.nextDigit - SECTION: $35ec-$36b8 ($00cd bytes) ["Input Functions"] - $35ec = InputInit - $35fe = GetInput - $35fe = GetInput.btns - $360b = GetInput.readA - $360f = GetInput.setA - $361a = GetInput.clearA - $361d = GetInput.readB - $3621 = GetInput.setB - $362c = GetInput.clearB - $362f = GetInput.readSelect - $3633 = GetInput.setSelect - $363e = GetInput.clearSelect - $3641 = GetInput.readStart - $3645 = GetInput.setStart - $3650 = GetInput.clearStart - $3653 = GetInput.dpad - $3660 = GetInput.readUp - $3664 = GetInput.setUp - $366f = GetInput.clearUp - $3672 = GetInput.readDown - $3676 = GetInput.setDown - $3681 = GetInput.clearDown - $3684 = GetInput.readLeft - $3688 = GetInput.setLeft - $3693 = GetInput.clearLeft - $3696 = GetInput.readRight - $369a = GetInput.setRight - $36a5 = GetInput.clearRight - $36a8 = GetInput.priorities - $36b3 = GetInput.zero - SECTION: $36b9-$3783 ($00cb bytes) ["Title Function Trampolines"] - $36b9 = SwitchToTitle - $36c2 = TitleEventLoopHandler - $36cc = TitleVBlankHandler - $36d6 = PersistLevel - $36e4 = DrawSpeedMain - $3734 = DrawSpeedSettings - SECTION: $3784-$3849 ($00c6 bytes) ["Time Functions"] - $3784 = TimeInit - $37a4 = StartCountdown - $37b2 = ResetGameTime - $37bd = CheckTorikan - $37d4 = CheckTorikan.failure - $37d6 = CheckTorikan.success - $37d9 = HandleTimers - $37ff = HandleTimers.reduce - $380c = HandleTimers.clock - $3826 = HandleTimers.go - SECTION: $384a-$38fb ($00b2 bytes) ["Progress Functions"] - $384a = SetProgress - $3855 = SetProgress.loop - $3859 = SetProgress.correct - $3880 = SetProgress.wvr_u1 - $388c = SetProgress.wvr_u2 - $389a = SetProgress.wvr_u3 - $38a6 = SetProgress.wvr_u4 - $38b4 = SetProgress.wvr_u5 - $38c0 = SetProgress.wvr_u6 - $38ce = SetProgress.wvr_u7 - $38da = SetProgress.wvr_u8 - $38e8 = SetProgress.wvr_u9 - $38f4 = SetProgress.wvr_u10 - SECTION: $38fc-$398d ($0092 bytes) ["Code Entry Point"] - $38fc = Main - $3925 = Main.notgbc - $392b = Main.wvr_u1 - $3952 = EventLoop - $3968 = EventLoop.eventloopjumps - $3971 = EventLoopPostHandler - $3973 = EventLoopPostHandler.wvb_u2 - $3985 = EventLoopPostHandler.vblankjumps - SECTION: $398e-$39df ($0052 bytes) ["Tile Functions"] - $398e = LoadTitleTiles - $39ac = LoadGameplayTiles - $39c2 = LoadGameplayTiles.gbc - $39d1 = LoadGameplayTiles.dmg - SECTION: $39e0-$3a1b ($003c bytes) ["Time Data"] - $39e0 = sFramesToCS - SECTION: $3a1c-$3a49 ($002e bytes) ["Memory Functions"] - $3a1c = UnsafeMemCopy - $3a25 = SafeMemCopy.wvr_u1 - $3a25 = SafeMemCopy - $3a34 = UnsafeMemSet - $3a3c = SafeMemSet - $3a3c = SafeMemSet.wvr_u2 - SECTION: $3a4a-$3a6f ($0026 bytes) ["Gameplay Function Trampolines"] - $3a4a = SwitchToGameplay - $3a53 = SwitchToGameplayBig - $3a5c = GamePlayEventLoopHandler - $3a66 = GamePlayBigEventLoopHandler - SECTION: $3a70-$3a94 ($0025 bytes) ["Interrupt Initialization Functions"] - $3a70 = EnableScreenSquish - $3a8a = DisableScreenSquish - SECTION: $3a95-$3ab6 ($0022 bytes) ["OAM Functions"] - $3a95 = CopyOAMHandler - $3aa1 = ClearOAM - SECTION: $3ab7-$3ac5 ($000f bytes) ["Banking Functions"] - $3ab7 = BankingInit - SECTION: $3ac6-$3acf ($000a bytes) ["OAM DMA Code"] - $3ac6 = OAMDMA - $3ad0 = OAMDMAEnd - EMPTY: $3ad0-$3fff ($0530 bytes) - TOTAL EMPTY: $053b bytes + $0a28 = GBCTitleProcess.nores4 + $0a2b = GBCTitleProcess.noinc4 + $0a38 = GBCTitleProcess.eventLoopCredits + $0a4a = GBCTitleProcess.nores2 + $0a4d = GBCTitleProcess.noinc2 + $0a5a = GBCGameplayProcess + $0a98 = GBCGameplayProcess.goverride + $0aa4 = !3 + $0aad = !4 + $0ab6 = !5 + $0abf = GBCGameplayProcess.colorfield + $0c25 = !6 + $0c33 = GBCGameplayProcess.outer1 + $0c38 = GBCGameplayProcess.inner1 + $0c5c = GBCGameplayProcess.outer2 + $0c61 = GBCGameplayProcess.inner2 + $0c86 = GBCGameplayProcess.empty + $0c8a = GBCGameplayProcess.sub59 + $0c8c = GBCGameplayProcess.sub52 + $0c8e = GBCGameplayProcess.sub45 + $0c90 = GBCGameplayProcess.sub38 + $0c92 = GBCGameplayProcess.sub31 + $0c94 = GBCGameplayProcess.sub24 + $0c96 = GBCGameplayProcess.sub17 + $0c98 = GBCGameplayProcess.sub10 + $0c9a = GBCGameplayProcess.done + $0cbc = GBCGameplayProcess.darker + $0cc3 = GBCGameplayProcess.wvr_u1 + $0cd0 = GBCGameplayProcess.lighter + $0cd7 = GBCGameplayProcess.wvr_u2 + $0ce4 = GBCGameplayProcess.black + $0ceb = GBCGameplayProcess.wvr_u3 + $0cf8 = GBCBigGameplayProcess + $0d36 = GBCBigGameplayProcess.goverride + $0d42 = !7 + $0d4b = !8 + $0d54 = !9 + $0d5d = GBCBigGameplayProcess.colorfield + $0ec3 = !10 + $0ed1 = GBCBigGameplayProcess.outer1 + $0ed6 = GBCBigGameplayProcess.inner1 + $0efa = GBCBigGameplayProcess.outer2 + $0eff = GBCBigGameplayProcess.inner2 + $0f24 = GBCBigGameplayProcess.empty + $0f28 = GBCBigGameplayProcess.sub59 + $0f2a = GBCBigGameplayProcess.sub52 + $0f2c = GBCBigGameplayProcess.sub45 + $0f2e = GBCBigGameplayProcess.sub38 + $0f30 = GBCBigGameplayProcess.sub31 + $0f32 = GBCBigGameplayProcess.sub24 + $0f34 = GBCBigGameplayProcess.sub17 + $0f36 = GBCBigGameplayProcess.sub10 + $0f38 = GBCBigGameplayProcess.done + $0f5a = GBCBigGameplayProcess.darker + $0f61 = GBCBigGameplayProcess.wvr_u4 + $0f6e = GBCBigGameplayProcess.lighter + $0f75 = GBCBigGameplayProcess.wvr_u5 + $0f82 = GBCBigGameplayProcess.black + $0f89 = GBCBigGameplayProcess.wvr_u6 + $0f96 = ToVRAM + $0f96 = GBCBlitField + SECTION: $0fc9-$17b2 ($07ea bytes) ["Field Function Unbanked"] + $0fc9 = BlitField + $118c = BlitField.waitendvbloop + $1192 = !0 + $11e1 = !1 + $1230 = !2 + $127f = !3 + $12ce = !4 + $131d = !5 + $136c = !6 + $13be = BigBlitField + $1581 = BigBlitField.waitendvbloop + $1587 = !7 + $15d6 = !8 + $1625 = !9 + $1674 = !10 + $16c3 = !11 + $1712 = !12 + $1761 = !13 + SECTION: $17b3-$1d5f ($05ad bytes) ["Domain Specific Functions"] + $17b3 = ApplyTells + $17f1 = ApplyTells.myco + $17f6 = ApplyTells.dropmode + $181b = ApplyNext + $1823 = ApplyNext.bone + $1842 = ApplyNext.nobone + $1863 = ApplyNext.pos + $1873 = ApplyNext.regular + $1879 = ApplyNext.postoffsets + $187d = ApplyNext.getoffn + $1888 = ApplyNext.skipoffn + $1926 = ApplyNext.done + $1929 = ApplyHold + $1931 = ApplyHold.bone + $1950 = ApplyHold.nobone + $196d = ApplyHold.hide + $197f = ApplyHold.show + $198f = ApplyHold.x + $199f = ApplyHold.regular + $19a5 = ApplyHold.postoffsets + $19a9 = ApplyHold.getoffh + $19b4 = ApplyHold.skipoffh + $19ee = ApplyTime + $1a3f = ApplyTime.loop0 + $1a6e = ApplyTime.loop1 + $1ac3 = ApplyNumbers8 + $1b10 = ApplyNumbers8.one + $1b16 = ApplyNumbers8.two + $1b1c = ApplyNumbers8.three + $1b22 = ApplyNumbers8.four + $1b28 = ApplyNumbers8.five + $1b2e = ApplyNumbers8.six + $1b34 = ApplyNumbers8.seven + $1b3a = ApplyNumbers8.eight + $1b3f = ApplyNumbers4 + $1b64 = ApplyNumbers4.one + $1b6a = ApplyNumbers4.two + $1b70 = ApplyNumbers4.three + $1b76 = ApplyNumbers4.four + $1b7b = SetNumberSpritePositions + $1c82 = GradeRendering + $1cb7 = GradeRendering.effect + $1cc7 = GradeRendering.noeffect + $1ccf = GradeRendering.drawgrade + $1cd6 = GradeRendering.regulargrade + $1cde = GradeRendering.sgrade + $1cf4 = GradeRendering.hisgrade + $1d0a = GradeRendering.mgrade + $1d20 = GradeRendering.lettergrade + $1d3d = GradeRendering.mk + $1d43 = GradeRendering.mv + $1d49 = GradeRendering.mo + $1d4f = GradeRendering.mm + $1d55 = GradeRendering.gmgrade + SECTION: $1d60-$21df ($0480 bytes) ["Grading Functions"] + $1d60 = GradeInit + $1d94 = GradeInit.grade9start + $1d99 = GradeInit.end + $1d9b = UpdateGrade + $1da9 = UpdateGrade.gradejumptable + $1dbe = DecayGradeProcess + $1dcc = DecayGradeProcess.gradejumptable + $1de1 = DecayGradeDelay + $1def = DecayGradeDelay.gradejumptable + $1e04 = PrepareScore + $1e17 = DrawGradeProgressDMGT + $1e23 = !0 + $1e32 = UpdateGradeDMGT + $1e6b = UpdateGradeDMGT.checklineclears + $1e85 = UpdateGradeDMGT.clearrate + $1e96 = UpdateGradeDMGT.combomult + $1ea3 = UpdateGradeDMGT.combo10 + $1eb4 = UpdateGradeDMGT.combo5 + $1ec5 = UpdateGradeDMGT.combo1 + $1ed4 = UpdateGradeDMGT.prelevel + $1ee3 = UpdateGradeDMGT.single + $1ef3 = UpdateGradeDMGT.double + $1f04 = UpdateGradeDMGT.adddonce + $1f08 = UpdateGradeDMGT.triple + $1f19 = UpdateGradeDMGT.addtonce + $1f1d = UpdateGradeDMGT.tetris + $1f21 = UpdateGradeDMGT.levelmult + $1f39 = UpdateGradeDMGT.mult4 + $1f3f = UpdateGradeDMGT.mult3 + $1f44 = UpdateGradeDMGT.mult2 + $1f48 = UpdateGradeDMGT.mult1 + $1f49 = UpdateGradeDMGT.processgrade + $1f72 = UpdateGradeDMGT.increasegrademaybe + $1f96 = UpdateGradeDMGT.gotgm + $1fa4 = DecayGradeDMGT + $1fc8 = DecayGradeDMGT.nodecay + $1fcf = DecayGradeDMGT.decay + $1fdd = UpdateGradeTGM1 + $1fee = UpdateGradeTGM1.trygradeup + $2009 = UpdateGradeTGM1.increasegrade + $201e = UpdateGradeTGM1.skipjingle + $202a = UpdateGradeTGM1.check300 + $2049 = UpdateGradeTGM1.success300 + $2050 = UpdateGradeTGM1.fail300 + $2057 = UpdateGradeTGM1.check500 + $2076 = UpdateGradeTGM1.success500 + $207d = UpdateGradeTGM1.fail500 + $2084 = UpdateGradeTGM1.check999 + $20bc = UpdateGradeTGM1.success999 + $20d4 = UpdateGradeTGM1.fail999 + $20da = UpdateGradeDEAT + $20e6 = UpdateGradeDEAT.notgm + $2102 = UpdateGradeDEAT.notm + $2125 = UpdateGradeDEAT.disqualify + $2143 = UpdateGradeSHIR + $2186 = UpdateGradeSHIR.s5torikan + $2196 = UpdateGradeSHIR.s10torikan + $21a5 = UpdateGradeSHIR.disqualify + $21b4 = UpdateGradeSHIR.l1000 + $21ca = UpdateGradeSHIR.l500 + SECTION: $21e0-$2656 ($0477 bytes) ["SRAM Functions"] + $21e0 = RestoreSRAM + $2210 = TrustedLoad + $2262 = TrustedLoad.jumps + $227a = TrustedLoad.dmgt + $2280 = TrustedLoad.tgm1 + $2286 = TrustedLoad.tgm3 + $228c = TrustedLoad.deat + $2292 = TrustedLoad.shir + $2298 = TrustedLoad.chil + $229e = TrustedLoad.myco + $22a4 = TrustedLoad.search + $22b6 = TrustedLoad.notfound + $22bd = TrustedLoad.fallback + $22d8 = InitializeSRAM + $23f7 = ResetScores + $2405 = ResetScores.jumps + $241a = ResetScores.dmgt + $2426 = ResetScores.tgm1 + $2432 = ResetScores.tgm3 + $243e = ResetScores.deat + $244a = ResetScores.shir + $2456 = ResetScores.chil + $2462 = ResetScores.myco + $246e = NextProfile + $2477 = NextProfile.update + $247a = ChangeProfile + $247a = ChangeProfile.backup + $24a9 = ChangeProfile.first + $24b7 = ChangeProfile.second + $24c5 = ChangeProfile.third + $24d3 = ChangeProfile.fourth + $24e1 = ChangeProfile.fifth + $24ef = ChangeProfile.sixth + $24fd = ChangeProfile.seventh + $250b = ChangeProfile.eighth + $2519 = ChangeProfile.ninth + $2527 = ChangeProfile.tenth + $2535 = ChangeProfile.restore + $2565 = ChangeProfile.lfirst + $2574 = ChangeProfile.lsecond + $2583 = ChangeProfile.lthird + $2592 = ChangeProfile.lfourth + $25a1 = ChangeProfile.lfifth + $25b0 = ChangeProfile.lsixth + $25bf = ChangeProfile.lseventh + $25ce = ChangeProfile.leighth + $25dd = ChangeProfile.lninth + $25ec = ChangeProfile.ltenth + $25fb = ResetProfile + SECTION: $2657-$29cf ($0379 bytes) ["Level Functions"] + $2657 = LevelInit + $26bc = SpecialLevelInit + $26ca = SpecialLevelInit.jumps + $26df = SpecialLevelInit.dmgt + $26e4 = SpecialLevelInit.tgm1 + $26e9 = SpecialLevelInit.tgm3 + $26ee = SpecialLevelInit.deat + $26f3 = SpecialLevelInit.shir + $26f8 = SpecialLevelInit.chil + $26fd = SpecialLevelInit.myco + $2702 = SpecialLevelInit.loaddata + $2737 = LevelUp + $2761 = LevelUp.doit + $27a3 = LevelUp.checknlevel + $27d4 = !0 + $27ec = !1 + $27f5 = LevelUp.bellmaybe + $2811 = LevelUp.leveljinglemaybe + $2821 = LevelUp.checkspeedup + $2835 = !2 + $2842 = !3 + $2853 = !4 + $2860 = DoSpeedUp + $28a1 = CheckSpecialLevelConditions + $28d2 = CheckSpecialLevelConditions.override + $28ed = CheckSpecialLevelConditions.nooverride + $28f3 = CheckSpecialLevelConditions.speciallock + $2917 = CheckSpecialLevelConditions.bones + $292c = CheckSpecialLevelConditions.enterthebonezone + $2931 = CheckSpecialLevelConditions.invis + $2946 = CheckSpecialLevelConditions.vanishoxyaction + $294b = CheckSpecialLevelConditions.killscreen + $295c = CheckSpecialLevelConditions.rip + $298c = CheckSpecialLevelConditions.staffroll + $299a = CheckSpecialLevelConditions.justkill + $29ae = TriggerKillScreen + SECTION: $29d0-$2c85 ($02b6 bytes) ["Grading Data"] + $29d0 = sTGM1GradeScores + $29f2 = sTGM3InternalGradeSystem + $2a92 = sTGM3GradeBoosts + $2ab1 = sTGM3LevelMultiplier + $2ab5 = sTGM3BaselineCOOL + $2abe = sTGM3REGRETConditions + $2ad2 = sDMGTGrading + $2b86 = sDMGTGaugeLUT + SECTION: $2c86-$2f25 ($02a0 bytes) ["SFX Functions"] + $2c86 = SFXInit + $2ca8 = SFXPopQueue + $2cbd = SFXPushQueue + $2cce = SFXProcessQueue + $2cdf = !0 + $2cfa = !1 + $2cfc = SFXTriggerNoise + $2d09 = !2 + $2d16 = !3 + $2d22 = SFXEnqueue + $2d37 = SFXEnqueue.findsfx + $2d4c = !4 + $2d5c = !5 + $2d6c = !6 + $2d7c = !7 + $2d8c = !8 + $2d9c = !9 + $2dac = !10 + $2dbc = !11 + $2dcc = !12 + $2ddc = !13 + $2dec = !14 + $2dfc = !15 + $2e0c = !16 + $2e1c = !17 + $2e2c = !18 + $2e3b = !19 + $2e4a = !20 + $2e59 = !21 + $2e68 = !22 + $2e76 = !23 + $2e84 = !24 + $2e91 = SFXKill + $2ec4 = SFXPlayNoise + $2ecf = SFXPlayNoise.noisereg + $2edc = !25 + $2ee6 = SFXPlayNoise.savenoiseplayhead + $2eef = SFXPlay + $2efa = !26 + $2efd = SFXPlay.play + $2f09 = SFXPlay.getRegister + $2f13 = !27 + $2f1d = SFXPlay.savePlayhead + SECTION: $2f26-$3156 ($0231 bytes) ["RNG Functions"] + $2f26 = HarvestEntropy + $2f2c = HarvestEntropy.loop + $2f4d = RNGInit + $2f83 = !0 + $2fb3 = RNGInit.complexinit + $2fca = !1 + $2fe5 = ShiftHistory + $3002 = GetNextHellPiece + $3007 = GetNextTGM1Piece + $300a = !2 + $3022 = !3 + $3024 = GetNextTGM2Piece + $3027 = !4 + $303f = !5 + $3041 = GetNextNesPiece + $304f = GetNextTGM3Piece + $3052 = !6 + $3075 = !7 + $3078 = !8 + $3088 = !9 + $3092 = !10 + $30a0 = !11 + $30af = !12 + $30bb = !13 + $30c7 = !14 + $30d3 = !15 + $30df = !16 + $30eb = !17 + $30f7 = !18 + $3106 = GetNextPiece + $3114 = GetNextPiece.nextpiecejumps + $3123 = Next35Piece + $3123 = !19 + $312d = Next7Piece + $312d = !20 + $3137 = NextByte + SECTION: $3157-$32c5 ($016f bytes) ["Hi Score Functions"] + $3157 = CheckAndAddHiscore + $3161 = CheckAndAddHiscore.checkloop + $31a5 = CheckAndAddHiscore.notbetter + $31b1 = CheckAndAddHiscore.better + $31b3 = InsertHiScore + $31b3 = InsertHiScore.copylower + $31c4 = InsertHiScore.copyupper + $31d1 = !0 + $31e5 = InsertHiScore.findrow + $31f2 = !1 + $31f6 = InsertHiScore.insert + $323f = InsertHiScore.persist + $3250 = GetHiScoreEntry + $3265 = !2 + $3269 = GetHiScoreEntry.store + $3272 = InitTargetHSTable + $327d = InitTargetHSTable.jumps + $3292 = InitTargetHSTable.dmgt + $3297 = InitTargetHSTable.tgm1 + $329c = InitTargetHSTable.tgm3 + $32a1 = InitTargetHSTable.deat + $32a6 = InitTargetHSTable.shir + $32ab = InitTargetHSTable.chil + $32b0 = InitTargetHSTable.myco + $32b3 = InitTargetHSTable.store + SECTION: $32c6-$340f ($014a bytes) ["Progress Data"] + $32c6 = sProgressData + SECTION: $3410-$354f ($0140 bytes) ["Hi Score Data"] + $3410 = sHiscoreDefaultData + SECTION: $3550-$362f ($00e0 bytes) ["Score Functions"] + $3550 = ScoreInit + $3578 = IncreaseScore + $35b0 = IncreaseScore.doConvert + $35b2 = !0 + $35c8 = IncreaseScore.carry + $35ca = IncreaseScore.postConvert + $35d7 = !1 + $35de = IncreaseScore.preAddDigit + $3606 = IncreaseScore.addDigit + $361c = IncreaseScore.nextDigit + SECTION: $3630-$36fc ($00cd bytes) ["Input Functions"] + $3630 = InputInit + $3642 = GetInput + $3642 = GetInput.btns + $364f = GetInput.readA + $3653 = GetInput.setA + $365e = GetInput.clearA + $3661 = GetInput.readB + $3665 = GetInput.setB + $3670 = GetInput.clearB + $3673 = GetInput.readSelect + $3677 = GetInput.setSelect + $3682 = GetInput.clearSelect + $3685 = GetInput.readStart + $3689 = GetInput.setStart + $3694 = GetInput.clearStart + $3697 = GetInput.dpad + $36a4 = GetInput.readUp + $36a8 = GetInput.setUp + $36b3 = GetInput.clearUp + $36b6 = GetInput.readDown + $36ba = GetInput.setDown + $36c5 = GetInput.clearDown + $36c8 = GetInput.readLeft + $36cc = GetInput.setLeft + $36d7 = GetInput.clearLeft + $36da = GetInput.readRight + $36de = GetInput.setRight + $36e9 = GetInput.clearRight + $36ec = GetInput.priorities + $36f7 = GetInput.zero + SECTION: $36fd-$37c7 ($00cb bytes) ["Title Function Trampolines"] + $36fd = SwitchToTitle + $3706 = TitleEventLoopHandler + $3710 = TitleVBlankHandler + $371a = PersistLevel + $3728 = DrawSpeedMain + $3778 = DrawSpeedSettings + SECTION: $37c8-$388d ($00c6 bytes) ["Time Functions"] + $37c8 = TimeInit + $37e8 = StartCountdown + $37f6 = ResetGameTime + $3801 = CheckTorikan + $3818 = CheckTorikan.failure + $381a = CheckTorikan.success + $381d = HandleTimers + $3843 = HandleTimers.reduce + $3850 = HandleTimers.clock + $386a = HandleTimers.go + SECTION: $388e-$393f ($00b2 bytes) ["Progress Functions"] + $388e = SetProgress + $3899 = SetProgress.loop + $389d = SetProgress.correct + $38c4 = SetProgress.wvr_u1 + $38d0 = SetProgress.wvr_u2 + $38de = SetProgress.wvr_u3 + $38ea = SetProgress.wvr_u4 + $38f8 = SetProgress.wvr_u5 + $3904 = SetProgress.wvr_u6 + $3912 = SetProgress.wvr_u7 + $391e = SetProgress.wvr_u8 + $392c = SetProgress.wvr_u9 + $3938 = SetProgress.wvr_u10 + SECTION: $3940-$39d1 ($0092 bytes) ["Code Entry Point"] + $3940 = Main + $3969 = Main.notgbc + $396f = Main.wvr_u1 + $3996 = EventLoop + $39ac = EventLoop.eventloopjumps + $39b5 = EventLoopPostHandler + $39b7 = EventLoopPostHandler.wvb_u2 + $39c9 = EventLoopPostHandler.vblankjumps + SECTION: $39d2-$3a23 ($0052 bytes) ["Tile Functions"] + $39d2 = LoadTitleTiles + $39f0 = LoadGameplayTiles + $3a06 = LoadGameplayTiles.gbc + $3a15 = LoadGameplayTiles.dmg + SECTION: $3a24-$3a5f ($003c bytes) ["Time Data"] + $3a24 = sFramesToCS + SECTION: $3a60-$3a8d ($002e bytes) ["Memory Functions"] + $3a60 = UnsafeMemCopy + $3a69 = SafeMemCopy.wvr_u1 + $3a69 = SafeMemCopy + $3a78 = UnsafeMemSet + $3a80 = SafeMemSet + $3a80 = SafeMemSet.wvr_u2 + SECTION: $3a8e-$3ab3 ($0026 bytes) ["Gameplay Function Trampolines"] + $3a8e = SwitchToGameplay + $3a97 = SwitchToGameplayBig + $3aa0 = GamePlayEventLoopHandler + $3aaa = GamePlayBigEventLoopHandler + SECTION: $3ab4-$3ad8 ($0025 bytes) ["Interrupt Initialization Functions"] + $3ab4 = EnableScreenSquish + $3ace = DisableScreenSquish + SECTION: $3ad9-$3afa ($0022 bytes) ["OAM Functions"] + $3ad9 = CopyOAMHandler + $3ae5 = ClearOAM + SECTION: $3afb-$3b09 ($000f bytes) ["Banking Functions"] + $3afb = BankingInit + SECTION: $3b0a-$3b13 ($000a bytes) ["OAM DMA Code"] + $3b0a = OAMDMA + $3b14 = OAMDMAEnd + EMPTY: $3b14-$3fff ($04ec bytes) + TOTAL EMPTY: $04f7 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -662,7 +673,7 @@ ROMX bank #3: ROMX bank #4: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_TITLE"] - SECTION: $4008-$4d2f ($0d28 bytes) ["Title Screen Static Data"] + SECTION: $4008-$4fcf ($0fc8 bytes) ["Title Screen Static Data"] $4008 = sEasterM0 $400d = sEasterM1 $4012 = sEasterC0 @@ -693,205 +704,247 @@ ROMX bank #4: $47f0 = sTitleScreenSettingsMapEnd $4a90 = sTitleScreenProfileMap $4a90 = sTitleScreenCreditsMapEnd + $4d30 = sTitleScreenRecordsMap $4d30 = sTitleScreenProfileMapEnd - SECTION: $4d30-$56d8 ($09a9 bytes) ["Title Functions Banked"] - $4d30 = SwitchToTitleB - $4d36 = SwitchToTitleB.wvr_u1 - $4d3f = !0 - $4d62 = SwitchToTitleB.wvb_u2 - $4d69 = SwitchToTitleB.wvbe_u3 - $4d6f = SwitchTitleMode - $4d80 = SwitchTitleMode.wvr_u4 - $4d89 = !1 - $4d94 = SwitchTitleMode.jumps - $4da3 = SwitchTitleMode.switchMain - $4dd0 = SwitchTitleMode.notsgb - $4df1 = SwitchTitleMode.notmgb - $4e19 = SwitchTitleMode.agb - $4e33 = SwitchTitleMode.done - $4e3b = SwitchTitleMode.switchProfile - $4e4f = SwitchTitleMode.switchSettings - $4e63 = SwitchTitleMode.switchRecords - $4e6b = SwitchTitleMode.switchCredits - $4e7f = TitleEventLoopHandlerB - $4e8d = TitleEventLoopHandlerB.jumps - $4e9c = TitleEventLoopHandlerB.eventLoopMain - $4ec6 = TitleEventLoopHandlerB.d0 - $4eda = TitleEventLoopHandlerB.eventLoopProfile - $4f04 = TitleEventLoopHandlerB.d2 - $4f19 = TitleEventLoopHandlerB.l2 - $4f2e = TitleEventLoopHandlerB.r2 - $4f43 = TitleEventLoopHandlerB.eventLoopSettings - $4f6d = TitleEventLoopHandlerB.d1 - $4f82 = TitleEventLoopHandlerB.l1 - $4f97 = TitleEventLoopHandlerB.r1 - $4fab = TitleEventLoopHandlerB.eventLoopRecords - $4fac = TitleEventLoopHandlerB.eventLoopCredits - $4fc2 = TitleEventLoopHandlerB.quitcredits - $4fc7 = TitleVBlankHandlerB - $4fd5 = TitleVBlankHandlerB.jumps - $4fe4 = TitleVBlankHandlerB.vblankMain - $4fee = TitleVBlankHandlerB.notselected_u5 - $4ff3 = TitleVBlankHandlerB.selected_u5 - $4ff6 = TitleVBlankHandlerB.done_u5 - $5000 = TitleVBlankHandlerB.notselected_u6 - $5005 = TitleVBlankHandlerB.selected_u6 - $5008 = TitleVBlankHandlerB.done_u6 - $5012 = TitleVBlankHandlerB.notselected_u7 - $5017 = TitleVBlankHandlerB.selected_u7 - $501a = TitleVBlankHandlerB.done_u7 - $5024 = TitleVBlankHandlerB.notselected_u8 - $5029 = TitleVBlankHandlerB.selected_u8 - $502c = TitleVBlankHandlerB.done_u8 - $5036 = TitleVBlankHandlerB.notselected_u9 - $503b = TitleVBlankHandlerB.selected_u9 - $503e = TitleVBlankHandlerB.done_u9 - $5048 = TitleVBlankHandlerB.notselected_u10 - $504d = TitleVBlankHandlerB.selected_u10 - $5050 = TitleVBlankHandlerB.done_u10 - $50da = TitleVBlankHandlerB.disabled - $50e6 = TitleVBlankHandlerB.profile - $50f5 = TitleVBlankHandlerB.vblankProfile - $50ff = TitleVBlankHandlerB.notselected_u11 - $5104 = TitleVBlankHandlerB.selected_u11 - $5107 = TitleVBlankHandlerB.done_u11 - $5111 = TitleVBlankHandlerB.notselected_u12 - $5116 = TitleVBlankHandlerB.selected_u12 - $5119 = TitleVBlankHandlerB.done_u12 - $5123 = TitleVBlankHandlerB.notselected_u13 - $5128 = TitleVBlankHandlerB.selected_u13 - $512b = TitleVBlankHandlerB.done_u13 - $5135 = TitleVBlankHandlerB.notselected_u14 - $513a = TitleVBlankHandlerB.selected_u14 - $513d = TitleVBlankHandlerB.done_u14 - $5147 = TitleVBlankHandlerB.notselected_u15 - $514c = TitleVBlankHandlerB.selected_u15 - $514f = TitleVBlankHandlerB.done_u15 - $5159 = TitleVBlankHandlerB.notselected_u16 - $515e = TitleVBlankHandlerB.selected_u16 - $5161 = TitleVBlankHandlerB.done_u16 - $5180 = TitleVBlankHandlerB.vblankSettings - $518a = TitleVBlankHandlerB.notselected_u17 - $518f = TitleVBlankHandlerB.selected_u17 - $5192 = TitleVBlankHandlerB.done_u17 - $519c = TitleVBlankHandlerB.notselected_u18 - $51a1 = TitleVBlankHandlerB.selected_u18 - $51a4 = TitleVBlankHandlerB.done_u18 - $51ae = TitleVBlankHandlerB.notselected_u19 - $51b3 = TitleVBlankHandlerB.selected_u19 - $51b6 = TitleVBlankHandlerB.done_u19 - $51c0 = TitleVBlankHandlerB.notselected_u20 - $51c5 = TitleVBlankHandlerB.selected_u20 - $51c8 = TitleVBlankHandlerB.done_u20 - $51d2 = TitleVBlankHandlerB.notselected_u21 - $51d7 = TitleVBlankHandlerB.selected_u21 - $51da = TitleVBlankHandlerB.done_u21 - $51e4 = TitleVBlankHandlerB.notselected_u22 - $51e9 = TitleVBlankHandlerB.selected_u22 - $51ec = TitleVBlankHandlerB.done_u22 - $51f6 = TitleVBlankHandlerB.notselected_u23 - $51fb = TitleVBlankHandlerB.selected_u23 - $51fe = TitleVBlankHandlerB.done_u23 - $5208 = TitleVBlankHandlerB.notselected_u24 - $520d = TitleVBlankHandlerB.selected_u24 - $5210 = TitleVBlankHandlerB.done_u24 - $529a = TitleVBlankHandlerB.disabled1 - $52a6 = TitleVBlankHandlerB.buttons - $52cb = !2 - $52d3 = TitleVBlankHandlerB.donetetry - $52f9 = TitleVBlankHandlerB.vblankRecords - $52fa = TitleVBlankHandlerB.vblankCredits - $52fb = MainHandleA - $5309 = MainHandleA.jumps - $531b = MainHandleA.tosettings - $5320 = MainHandleA.tocredits - $5325 = MainHandleA.toprofile - $532a = MainHandleUp - $5336 = !3 - $533c = MainHandleDown - $5348 = !4 - $534d = SettingsHandleA - $535a = ProfileHandleB - $535a = SettingsHandleB - $535f = SettingsHandleDown - $536b = !5 - $5370 = SettingsHandleUp - $537c = !6 - $5382 = SettingsHandleLeft - $5393 = SettingsHandleLeft.jumps - $53ab = SettingsHandleLeft.buttons - $53ba = !7 - $53c3 = SettingsHandleLeft.rng - $53d2 = !8 - $53db = SettingsHandleLeft.rot - $53ea = !9 - $53f3 = SettingsHandleLeft.drop - $5402 = !10 - $540b = SettingsHandleLeft.curve - $541d = !11 - $5429 = SettingsHandleLeft.hig - $5438 = !12 - $5441 = SettingsHandleRight - $5452 = SettingsHandleRight.jumps - $546a = SettingsHandleRight.buttons - $5479 = !13 - $5481 = SettingsHandleRight.rng - $5490 = !14 - $5498 = SettingsHandleRight.rot - $54a7 = !15 - $54af = SettingsHandleRight.drop - $54be = !16 - $54c6 = SettingsHandleRight.curve - $54d8 = !17 - $54e3 = SettingsHandleRight.hig - $54f2 = !18 - $54fa = ProfileHandleA - $550e = ProfileHandleRight - $5522 = ProfileHandleRight.jumps - $5531 = ProfileHandleRight.idx - $553a = ProfileHandleRight.doit - $553d = ProfileHandleRight.l0 - $5547 = ProfileHandleRight.doit1 - $554e = ProfileHandleRight.l1 - $5558 = ProfileHandleRight.doit2 - $555f = ProfileHandleRight.l2 - $5569 = ProfileHandleRight.doit3 - $5570 = ProfileHandleLeft - $5584 = ProfileHandleLeft.jumps - $5593 = ProfileHandleLeft.idx - $559d = ProfileHandleLeft.doit - $55a0 = ProfileHandleLeft.l0 - $55aa = ProfileHandleLeft.doit1 - $55b1 = ProfileHandleLeft.l1 - $55bb = ProfileHandleLeft.doit2 - $55c2 = ProfileHandleLeft.l2 - $55cc = ProfileHandleLeft.doit3 - $55d3 = ProfileHandleDown - $55df = !19 - $55e4 = ProfileHandleUp - $55f0 = !20 - $55f6 = DecrementLevel - $560c = IncrementLevel - $5622 = InitSpeedCurve - $5631 = GetEnd - $563c = !21 - $5644 = !22 - $564c = !23 - $5654 = !24 - $565c = !25 - $5664 = !26 - $5668 = GetStart - $5673 = !27 - $567b = !28 - $5683 = !29 - $568b = !30 - $5693 = !31 - $569b = !32 - $569f = CheckLevelRange - $56b8 = CheckLevelRange.notatend - $56d8 = CheckLevelRange.notatstart - EMPTY: $56d9-$7fff ($2927 bytes) - TOTAL EMPTY: $2927 bytes + $4fd0 = sTitleScreenRecordsMapEnd + SECTION: $4fd0-$5e32 ($0e63 bytes) ["Title Functions Banked"] + $4fd0 = SwitchToTitleB + $4fd6 = SwitchToTitleB.wvr_u1 + $4fdf = !0 + $5002 = SwitchToTitleB.wvb_u2 + $5009 = SwitchToTitleB.wvbe_u3 + $500f = SwitchTitleMode + $5020 = SwitchTitleMode.wvr_u4 + $5029 = !1 + $5034 = SwitchTitleMode.jumps + $5043 = SwitchTitleMode.switchMain + $5070 = SwitchTitleMode.notsgb + $5091 = SwitchTitleMode.notmgb + $50b9 = SwitchTitleMode.agb + $50d3 = SwitchTitleMode.done + $50db = SwitchTitleMode.switchProfile + $50ef = SwitchTitleMode.switchSettings + $5103 = SwitchTitleMode.switchRecords + $5118 = SwitchTitleMode.switchCredits + $512c = TitleEventLoopHandlerB + $513a = TitleEventLoopHandlerB.jumps + $5149 = TitleEventLoopHandlerB.eventLoopMain + $5173 = TitleEventLoopHandlerB.d0 + $5187 = TitleEventLoopHandlerB.eventLoopProfile + $51b1 = TitleEventLoopHandlerB.d2 + $51c6 = TitleEventLoopHandlerB.l2 + $51db = TitleEventLoopHandlerB.r2 + $51f0 = TitleEventLoopHandlerB.eventLoopSettings + $521a = TitleEventLoopHandlerB.d1 + $522f = TitleEventLoopHandlerB.l1 + $5244 = TitleEventLoopHandlerB.r1 + $5258 = TitleEventLoopHandlerB.eventLoopRecords + $5275 = TitleEventLoopHandlerB.eventLoopCredits + $528b = TitleEventLoopHandlerB.quitrecords + $528b = TitleEventLoopHandlerB.quitcredits + $5290 = TitleVBlankHandlerB + $529e = TitleVBlankHandlerB.jumps + $52ad = TitleVBlankHandlerB.vblankMain + $52b7 = TitleVBlankHandlerB.notselected_u5 + $52bc = TitleVBlankHandlerB.selected_u5 + $52bf = TitleVBlankHandlerB.done_u5 + $52c9 = TitleVBlankHandlerB.notselected_u6 + $52ce = TitleVBlankHandlerB.selected_u6 + $52d1 = TitleVBlankHandlerB.done_u6 + $52db = TitleVBlankHandlerB.notselected_u7 + $52e0 = TitleVBlankHandlerB.selected_u7 + $52e3 = TitleVBlankHandlerB.done_u7 + $52ed = TitleVBlankHandlerB.notselected_u8 + $52f2 = TitleVBlankHandlerB.selected_u8 + $52f5 = TitleVBlankHandlerB.done_u8 + $52ff = TitleVBlankHandlerB.notselected_u9 + $5304 = TitleVBlankHandlerB.selected_u9 + $5307 = TitleVBlankHandlerB.done_u9 + $5311 = TitleVBlankHandlerB.notselected_u10 + $5316 = TitleVBlankHandlerB.selected_u10 + $5319 = TitleVBlankHandlerB.done_u10 + $53a3 = TitleVBlankHandlerB.disabled + $53af = TitleVBlankHandlerB.profile + $53be = TitleVBlankHandlerB.vblankProfile + $53c8 = TitleVBlankHandlerB.notselected_u11 + $53cd = TitleVBlankHandlerB.selected_u11 + $53d0 = TitleVBlankHandlerB.done_u11 + $53da = TitleVBlankHandlerB.notselected_u12 + $53df = TitleVBlankHandlerB.selected_u12 + $53e2 = TitleVBlankHandlerB.done_u12 + $53ec = TitleVBlankHandlerB.notselected_u13 + $53f1 = TitleVBlankHandlerB.selected_u13 + $53f4 = TitleVBlankHandlerB.done_u13 + $53fe = TitleVBlankHandlerB.notselected_u14 + $5403 = TitleVBlankHandlerB.selected_u14 + $5406 = TitleVBlankHandlerB.done_u14 + $5410 = TitleVBlankHandlerB.notselected_u15 + $5415 = TitleVBlankHandlerB.selected_u15 + $5418 = TitleVBlankHandlerB.done_u15 + $5422 = TitleVBlankHandlerB.notselected_u16 + $5427 = TitleVBlankHandlerB.selected_u16 + $542a = TitleVBlankHandlerB.done_u16 + $5449 = TitleVBlankHandlerB.vblankSettings + $5453 = TitleVBlankHandlerB.notselected_u17 + $5458 = TitleVBlankHandlerB.selected_u17 + $545b = TitleVBlankHandlerB.done_u17 + $5465 = TitleVBlankHandlerB.notselected_u18 + $546a = TitleVBlankHandlerB.selected_u18 + $546d = TitleVBlankHandlerB.done_u18 + $5477 = TitleVBlankHandlerB.notselected_u19 + $547c = TitleVBlankHandlerB.selected_u19 + $547f = TitleVBlankHandlerB.done_u19 + $5489 = TitleVBlankHandlerB.notselected_u20 + $548e = TitleVBlankHandlerB.selected_u20 + $5491 = TitleVBlankHandlerB.done_u20 + $549b = TitleVBlankHandlerB.notselected_u21 + $54a0 = TitleVBlankHandlerB.selected_u21 + $54a3 = TitleVBlankHandlerB.done_u21 + $54ad = TitleVBlankHandlerB.notselected_u22 + $54b2 = TitleVBlankHandlerB.selected_u22 + $54b5 = TitleVBlankHandlerB.done_u22 + $54bf = TitleVBlankHandlerB.notselected_u23 + $54c4 = TitleVBlankHandlerB.selected_u23 + $54c7 = TitleVBlankHandlerB.done_u23 + $54d1 = TitleVBlankHandlerB.notselected_u24 + $54d6 = TitleVBlankHandlerB.selected_u24 + $54d9 = TitleVBlankHandlerB.done_u24 + $5563 = TitleVBlankHandlerB.disabled1 + $556f = TitleVBlankHandlerB.buttons + $5594 = !2 + $559c = TitleVBlankHandlerB.donetetry + $55c2 = TitleVBlankHandlerB.vblankRecords + $55c3 = TitleVBlankHandlerB.vblankCredits + $55c4 = MainHandleA + $55d2 = MainHandleA.jumps + $55e4 = MainHandleA.tosettings + $55e9 = MainHandleA.tocredits + $55ee = MainHandleA.toprofile + $55f3 = MainHandleA.torecords + $55f8 = MainHandleUp + $5604 = !3 + $560a = MainHandleDown + $5616 = !4 + $561b = SettingsHandleA + $5628 = ProfileHandleB + $5628 = SettingsHandleB + $562d = SettingsHandleDown + $5639 = !5 + $563e = SettingsHandleUp + $564a = !6 + $5650 = SettingsHandleLeft + $5661 = SettingsHandleLeft.jumps + $5679 = SettingsHandleLeft.buttons + $5688 = !7 + $5691 = SettingsHandleLeft.rng + $56a0 = !8 + $56a9 = SettingsHandleLeft.rot + $56b8 = !9 + $56c1 = SettingsHandleLeft.drop + $56d0 = !10 + $56d9 = SettingsHandleLeft.curve + $56eb = !11 + $56f7 = SettingsHandleLeft.hig + $5706 = !12 + $570f = SettingsHandleRight + $5720 = SettingsHandleRight.jumps + $5738 = SettingsHandleRight.buttons + $5747 = !13 + $574f = SettingsHandleRight.rng + $575e = !14 + $5766 = SettingsHandleRight.rot + $5775 = !15 + $577d = SettingsHandleRight.drop + $578c = !16 + $5794 = SettingsHandleRight.curve + $57a6 = !17 + $57b1 = SettingsHandleRight.hig + $57c0 = !18 + $57c8 = ProfileHandleA + $57dc = ProfileHandleRight + $57f0 = ProfileHandleRight.jumps + $57ff = ProfileHandleRight.idx + $5808 = ProfileHandleRight.doit + $580b = ProfileHandleRight.l0 + $5815 = ProfileHandleRight.doit1 + $581c = ProfileHandleRight.l1 + $5826 = ProfileHandleRight.doit2 + $582d = ProfileHandleRight.l2 + $5837 = ProfileHandleRight.doit3 + $583e = ProfileHandleLeft + $5852 = ProfileHandleLeft.jumps + $5861 = ProfileHandleLeft.idx + $586b = ProfileHandleLeft.doit + $586e = ProfileHandleLeft.l0 + $5878 = ProfileHandleLeft.doit1 + $587f = ProfileHandleLeft.l1 + $5889 = ProfileHandleLeft.doit2 + $5890 = ProfileHandleLeft.l2 + $589a = ProfileHandleLeft.doit3 + $58a1 = ProfileHandleDown + $58ad = !19 + $58b2 = ProfileHandleUp + $58be = !20 + $58c4 = DecrementLevel + $58da = IncrementLevel + $58f0 = InitSpeedCurve + $58ff = GetEnd + $590a = !21 + $5912 = !22 + $591a = !23 + $5922 = !24 + $592a = !25 + $5932 = !26 + $5936 = GetStart + $5941 = !27 + $5949 = !28 + $5951 = !29 + $5959 = !30 + $5961 = !31 + $5969 = !32 + $596d = CheckLevelRange + $5986 = CheckLevelRange.notatend + $59a6 = CheckLevelRange.notatstart + $59a7 = RecordsHandleLeft + $59b8 = !33 + $59c0 = RecordsHandleRight + $59d1 = !34 + $59d8 = RecordsHandleSelect + $59e1 = RenderScores + $59e7 = RenderScores.wvr_u25 + $59f0 = !35 + $5a53 = RenderScores.nograde_u26 + $5a58 = RenderScores.grade_u26 + $5a5b = RenderScores.postgrade_u26 + $5abc = RenderScores.nograde_u27 + $5ac1 = RenderScores.grade_u27 + $5ac4 = RenderScores.postgrade_u27 + $5b25 = RenderScores.nograde_u28 + $5b2a = RenderScores.grade_u28 + $5b2d = RenderScores.postgrade_u28 + $5b8e = RenderScores.nograde_u29 + $5b93 = RenderScores.grade_u29 + $5b96 = RenderScores.postgrade_u29 + $5bf7 = RenderScores.nograde_u30 + $5bfc = RenderScores.grade_u30 + $5bff = RenderScores.postgrade_u30 + $5c60 = RenderScores.nograde_u31 + $5c65 = RenderScores.grade_u31 + $5c68 = RenderScores.postgrade_u31 + $5cc9 = RenderScores.nograde_u32 + $5cce = RenderScores.grade_u32 + $5cd1 = RenderScores.postgrade_u32 + $5d32 = RenderScores.nograde_u33 + $5d37 = RenderScores.grade_u33 + $5d3a = RenderScores.postgrade_u33 + $5d9b = RenderScores.nograde_u34 + $5da0 = RenderScores.grade_u34 + $5da3 = RenderScores.postgrade_u34 + $5e04 = RenderScores.nograde_u35 + $5e09 = RenderScores.grade_u35 + $5e0c = RenderScores.postgrade_u35 + EMPTY: $5e33-$7fff ($21cd bytes) + TOTAL EMPTY: $21cd bytes ROMX bank #5: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_GAMEPLAY"] @@ -2925,8 +2978,8 @@ HRAM bank #0: TOTAL EMPTY: $0003 bytes SUMMARY: - ROM0: 15045 bytes used / 1339 free - ROMX: 64126 bytes used / 34178 free in 6 banks + ROM0: 15113 bytes used / 1271 free + ROMX: 66008 bytes used / 32296 free in 6 banks SRAM: 2951 bytes used / 5241 free in 1 bank WRAM0: 3907 bytes used / 189 free HRAM: 124 bytes used / 3 free diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index 20ade9d..a2dd081 100644 Binary files a/bin/DMGTRIS.pocket and b/bin/DMGTRIS.pocket differ diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index 749dcb1..04b80af 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -42,404 +42,415 @@ 00:09ef GBCTitleProcess.nores1 00:09f2 GBCTitleProcess.noinc1 00:0a16 GBCTitleProcess.eventLoopRecords -00:0a17 GBCTitleProcess.eventLoopCredits -00:0a29 GBCTitleProcess.nores2 -00:0a2c GBCTitleProcess.noinc2 -00:0a39 GBCGameplayProcess -00:0a77 GBCGameplayProcess.goverride -00:0a9e GBCGameplayProcess.colorfield -00:0c12 GBCGameplayProcess.outer1 -00:0c17 GBCGameplayProcess.inner1 -00:0c3b GBCGameplayProcess.outer2 -00:0c40 GBCGameplayProcess.inner2 -00:0c65 GBCGameplayProcess.empty -00:0c69 GBCGameplayProcess.sub59 -00:0c6b GBCGameplayProcess.sub52 -00:0c6d GBCGameplayProcess.sub45 -00:0c6f GBCGameplayProcess.sub38 -00:0c71 GBCGameplayProcess.sub31 -00:0c73 GBCGameplayProcess.sub24 -00:0c75 GBCGameplayProcess.sub17 -00:0c77 GBCGameplayProcess.sub10 -00:0c79 GBCGameplayProcess.done -00:0c9b GBCGameplayProcess.darker -00:0ca2 GBCGameplayProcess.wvr_u1 -00:0caf GBCGameplayProcess.lighter -00:0cb6 GBCGameplayProcess.wvr_u2 -00:0cc3 GBCGameplayProcess.black -00:0cca GBCGameplayProcess.wvr_u3 -00:0cd7 GBCBigGameplayProcess -00:0d15 GBCBigGameplayProcess.goverride -00:0d3c GBCBigGameplayProcess.colorfield -00:0eb0 GBCBigGameplayProcess.outer1 -00:0eb5 GBCBigGameplayProcess.inner1 -00:0ed9 GBCBigGameplayProcess.outer2 -00:0ede GBCBigGameplayProcess.inner2 -00:0f03 GBCBigGameplayProcess.empty -00:0f07 GBCBigGameplayProcess.sub59 -00:0f09 GBCBigGameplayProcess.sub52 -00:0f0b GBCBigGameplayProcess.sub45 -00:0f0d GBCBigGameplayProcess.sub38 -00:0f0f GBCBigGameplayProcess.sub31 -00:0f11 GBCBigGameplayProcess.sub24 -00:0f13 GBCBigGameplayProcess.sub17 -00:0f15 GBCBigGameplayProcess.sub10 -00:0f17 GBCBigGameplayProcess.done -00:0f39 GBCBigGameplayProcess.darker -00:0f40 GBCBigGameplayProcess.wvr_u4 -00:0f4d GBCBigGameplayProcess.lighter -00:0f54 GBCBigGameplayProcess.wvr_u5 -00:0f61 GBCBigGameplayProcess.black -00:0f68 GBCBigGameplayProcess.wvr_u6 -00:0f75 ToVRAM -00:0f75 GBCBlitField -00:0fa8 BlitField -00:116b BlitField.waitendvbloop -00:139d BigBlitField -00:1560 BigBlitField.waitendvbloop -00:1792 ApplyTells -00:17d0 ApplyTells.myco -00:17d5 ApplyTells.dropmode -00:17fa ApplyNext -00:1802 ApplyNext.bone -00:1821 ApplyNext.nobone -00:1842 ApplyNext.pos -00:1852 ApplyNext.regular -00:1858 ApplyNext.postoffsets -00:185c ApplyNext.getoffn -00:1867 ApplyNext.skipoffn -00:1905 ApplyNext.done -00:1908 ApplyHold -00:1910 ApplyHold.bone -00:192f ApplyHold.nobone -00:194c ApplyHold.hide -00:195e ApplyHold.show -00:196e ApplyHold.x -00:197e ApplyHold.regular -00:1984 ApplyHold.postoffsets -00:1988 ApplyHold.getoffh -00:1993 ApplyHold.skipoffh -00:19cd ApplyTime -00:1a1e ApplyTime.loop0 -00:1a4d ApplyTime.loop1 -00:1aa2 ApplyNumbers8 -00:1aef ApplyNumbers8.one -00:1af5 ApplyNumbers8.two -00:1afb ApplyNumbers8.three -00:1b01 ApplyNumbers8.four -00:1b07 ApplyNumbers8.five -00:1b0d ApplyNumbers8.six -00:1b13 ApplyNumbers8.seven -00:1b19 ApplyNumbers8.eight -00:1b1e ApplyNumbers4 -00:1b43 ApplyNumbers4.one -00:1b49 ApplyNumbers4.two -00:1b4f ApplyNumbers4.three -00:1b55 ApplyNumbers4.four -00:1b5a SetNumberSpritePositions -00:1c61 GradeRendering -00:1c96 GradeRendering.effect -00:1ca6 GradeRendering.noeffect -00:1cae GradeRendering.drawgrade -00:1cb5 GradeRendering.regulargrade -00:1cbd GradeRendering.sgrade -00:1cd3 GradeRendering.hisgrade -00:1ce9 GradeRendering.mgrade -00:1cff GradeRendering.lettergrade -00:1d1c GradeRendering.mk -00:1d22 GradeRendering.mv -00:1d28 GradeRendering.mo -00:1d2e GradeRendering.mm -00:1d34 GradeRendering.gmgrade -00:1d3f GradeInit -00:1d73 GradeInit.grade9start -00:1d78 GradeInit.end -00:1d7a UpdateGrade -00:1d88 UpdateGrade.gradejumptable -00:1d9d DecayGradeProcess -00:1dab DecayGradeProcess.gradejumptable -00:1dc0 DecayGradeDelay -00:1dce DecayGradeDelay.gradejumptable -00:1de3 PrepareScore -00:1df6 DrawGradeProgressDMGT -00:1e11 UpdateGradeDMGT -00:1e4a UpdateGradeDMGT.checklineclears -00:1e64 UpdateGradeDMGT.clearrate -00:1e75 UpdateGradeDMGT.combomult -00:1e82 UpdateGradeDMGT.combo10 -00:1e93 UpdateGradeDMGT.combo5 -00:1ea4 UpdateGradeDMGT.combo1 -00:1eb3 UpdateGradeDMGT.prelevel -00:1ec2 UpdateGradeDMGT.single -00:1ed2 UpdateGradeDMGT.double -00:1ee3 UpdateGradeDMGT.adddonce -00:1ee7 UpdateGradeDMGT.triple -00:1ef8 UpdateGradeDMGT.addtonce -00:1efc UpdateGradeDMGT.tetris -00:1f00 UpdateGradeDMGT.levelmult -00:1f18 UpdateGradeDMGT.mult4 -00:1f1e UpdateGradeDMGT.mult3 -00:1f23 UpdateGradeDMGT.mult2 -00:1f27 UpdateGradeDMGT.mult1 -00:1f28 UpdateGradeDMGT.processgrade -00:1f51 UpdateGradeDMGT.increasegrademaybe -00:1f75 UpdateGradeDMGT.gotgm -00:1f83 DecayGradeDMGT -00:1fa7 DecayGradeDMGT.nodecay -00:1fae DecayGradeDMGT.decay -00:1fbc UpdateGradeTGM1 -00:1fcd UpdateGradeTGM1.trygradeup -00:1fe8 UpdateGradeTGM1.increasegrade -00:1ffd UpdateGradeTGM1.skipjingle -00:2009 UpdateGradeTGM1.check300 -00:2028 UpdateGradeTGM1.success300 -00:202f UpdateGradeTGM1.fail300 -00:2036 UpdateGradeTGM1.check500 -00:2055 UpdateGradeTGM1.success500 -00:205c UpdateGradeTGM1.fail500 -00:2063 UpdateGradeTGM1.check999 -00:209b UpdateGradeTGM1.success999 -00:20b3 UpdateGradeTGM1.fail999 -00:20b9 UpdateGradeDEAT -00:20c5 UpdateGradeDEAT.notgm -00:20e1 UpdateGradeDEAT.notm -00:2104 UpdateGradeDEAT.disqualify -00:2122 UpdateGradeSHIR -00:2165 UpdateGradeSHIR.s5torikan -00:2175 UpdateGradeSHIR.s10torikan -00:2184 UpdateGradeSHIR.disqualify -00:2193 UpdateGradeSHIR.l1000 -00:21a9 UpdateGradeSHIR.l500 -00:21bf RestoreSRAM -00:21ef TrustedLoad -00:2241 TrustedLoad.jumps -00:2259 TrustedLoad.dmgt -00:225f TrustedLoad.tgm1 -00:2265 TrustedLoad.tgm3 -00:226b TrustedLoad.deat -00:2271 TrustedLoad.shir -00:2277 TrustedLoad.chil -00:227d TrustedLoad.myco -00:2283 TrustedLoad.search -00:2295 TrustedLoad.notfound -00:229c TrustedLoad.fallback -00:22b7 InitializeSRAM -00:242a NextProfile -00:2433 NextProfile.update -00:2436 ChangeProfile -00:2436 ChangeProfile.backup -00:2465 ChangeProfile.first -00:2473 ChangeProfile.second -00:2481 ChangeProfile.third -00:248f ChangeProfile.fourth -00:249d ChangeProfile.fifth -00:24ab ChangeProfile.sixth -00:24b9 ChangeProfile.seventh -00:24c7 ChangeProfile.eighth -00:24d5 ChangeProfile.ninth -00:24e3 ChangeProfile.tenth -00:24f1 ChangeProfile.restore -00:2521 ChangeProfile.lfirst -00:2530 ChangeProfile.lsecond -00:253f ChangeProfile.lthird -00:254e ChangeProfile.lfourth -00:255d ChangeProfile.lfifth -00:256c ChangeProfile.lsixth -00:257b ChangeProfile.lseventh -00:258a ChangeProfile.leighth -00:2599 ChangeProfile.lninth -00:25a8 ChangeProfile.ltenth -00:25b7 ResetProfile -00:2613 LevelInit -00:2678 SpecialLevelInit -00:2686 SpecialLevelInit.jumps -00:269b SpecialLevelInit.dmgt -00:26a0 SpecialLevelInit.tgm1 -00:26a5 SpecialLevelInit.tgm3 -00:26aa SpecialLevelInit.deat -00:26af SpecialLevelInit.shir -00:26b4 SpecialLevelInit.chil -00:26b9 SpecialLevelInit.myco -00:26be SpecialLevelInit.loaddata -00:26f3 LevelUp -00:271d LevelUp.doit -00:275f LevelUp.checknlevel -00:27b1 LevelUp.bellmaybe -00:27cd LevelUp.leveljinglemaybe -00:27dd LevelUp.checkspeedup -00:281c DoSpeedUp -00:285d CheckSpecialLevelConditions -00:288e CheckSpecialLevelConditions.override -00:28a9 CheckSpecialLevelConditions.nooverride -00:28af CheckSpecialLevelConditions.speciallock -00:28d3 CheckSpecialLevelConditions.bones -00:28e8 CheckSpecialLevelConditions.enterthebonezone -00:28ed CheckSpecialLevelConditions.invis -00:2902 CheckSpecialLevelConditions.vanishoxyaction -00:2907 CheckSpecialLevelConditions.killscreen -00:2918 CheckSpecialLevelConditions.rip -00:2948 CheckSpecialLevelConditions.staffroll -00:2956 CheckSpecialLevelConditions.justkill -00:296a TriggerKillScreen -00:298c sTGM1GradeScores -00:29ae sTGM3InternalGradeSystem -00:2a4e sTGM3GradeBoosts -00:2a6d sTGM3LevelMultiplier -00:2a71 sTGM3BaselineCOOL -00:2a7a sTGM3REGRETConditions -00:2a8e sDMGTGrading -00:2b42 sDMGTGaugeLUT -00:2c42 SFXInit -00:2c64 SFXPopQueue -00:2c79 SFXPushQueue -00:2c8a SFXProcessQueue -00:2cb8 SFXTriggerNoise -00:2cde SFXEnqueue -00:2cf3 SFXEnqueue.findsfx -00:2e4d SFXKill -00:2e80 SFXPlayNoise -00:2e8b SFXPlayNoise.noisereg -00:2ea2 SFXPlayNoise.savenoiseplayhead -00:2eab SFXPlay -00:2eb9 SFXPlay.play -00:2ec5 SFXPlay.getRegister -00:2ed9 SFXPlay.savePlayhead -00:2ee2 HarvestEntropy -00:2ee8 HarvestEntropy.loop -00:2f09 RNGInit -00:2f6f RNGInit.complexinit -00:2fa1 ShiftHistory -00:2fbe GetNextHellPiece -00:2fc3 GetNextTGM1Piece -00:2fe0 GetNextTGM2Piece -00:2ffd GetNextNesPiece -00:300b GetNextTGM3Piece -00:30c2 GetNextPiece -00:30d0 GetNextPiece.nextpiecejumps -00:30df Next35Piece -00:30e9 Next7Piece -00:30f3 NextByte -00:3113 CheckAndAddHiscore -00:311d CheckAndAddHiscore.checkloop -00:3161 CheckAndAddHiscore.notbetter -00:316d CheckAndAddHiscore.better -00:316f InsertHiScore -00:316f InsertHiScore.copylower -00:3180 InsertHiScore.copyupper -00:31a1 InsertHiScore.findrow -00:31b2 InsertHiScore.insert -00:31fb InsertHiScore.persist -00:320c GetHiScoreEntry -00:3225 GetHiScoreEntry.store -00:322e InitTargetHSTable -00:3239 InitTargetHSTable.jumps -00:324e InitTargetHSTable.dmgt -00:3253 InitTargetHSTable.tgm1 -00:3258 InitTargetHSTable.tgm3 -00:325d InitTargetHSTable.deat -00:3262 InitTargetHSTable.shir -00:3267 InitTargetHSTable.chil -00:326c InitTargetHSTable.myco -00:326f InitTargetHSTable.store -00:3282 sProgressData -00:33cc sHiscoreDefaultData -00:350c ScoreInit -00:3534 IncreaseScore -00:356c IncreaseScore.doConvert -00:3584 IncreaseScore.carry -00:3586 IncreaseScore.postConvert -00:359a IncreaseScore.preAddDigit -00:35c2 IncreaseScore.addDigit -00:35d8 IncreaseScore.nextDigit -00:35ec InputInit -00:35fe GetInput -00:35fe GetInput.btns -00:360b GetInput.readA -00:360f GetInput.setA -00:361a GetInput.clearA -00:361d GetInput.readB -00:3621 GetInput.setB -00:362c GetInput.clearB -00:362f GetInput.readSelect -00:3633 GetInput.setSelect -00:363e GetInput.clearSelect -00:3641 GetInput.readStart -00:3645 GetInput.setStart -00:3650 GetInput.clearStart -00:3653 GetInput.dpad -00:3660 GetInput.readUp -00:3664 GetInput.setUp -00:366f GetInput.clearUp -00:3672 GetInput.readDown -00:3676 GetInput.setDown -00:3681 GetInput.clearDown -00:3684 GetInput.readLeft -00:3688 GetInput.setLeft -00:3693 GetInput.clearLeft -00:3696 GetInput.readRight -00:369a GetInput.setRight -00:36a5 GetInput.clearRight -00:36a8 GetInput.priorities -00:36b3 GetInput.zero -00:36b9 SwitchToTitle -00:36c2 TitleEventLoopHandler -00:36cc TitleVBlankHandler -00:36d6 PersistLevel -00:36e4 DrawSpeedMain -00:3734 DrawSpeedSettings -00:3784 TimeInit -00:37a4 StartCountdown -00:37b2 ResetGameTime -00:37bd CheckTorikan -00:37d4 CheckTorikan.failure -00:37d6 CheckTorikan.success -00:37d9 HandleTimers -00:37ff HandleTimers.reduce -00:380c HandleTimers.clock -00:3826 HandleTimers.go -00:384a SetProgress -00:3855 SetProgress.loop -00:3859 SetProgress.correct -00:3880 SetProgress.wvr_u1 -00:388c SetProgress.wvr_u2 -00:389a SetProgress.wvr_u3 -00:38a6 SetProgress.wvr_u4 -00:38b4 SetProgress.wvr_u5 -00:38c0 SetProgress.wvr_u6 -00:38ce SetProgress.wvr_u7 -00:38da SetProgress.wvr_u8 -00:38e8 SetProgress.wvr_u9 -00:38f4 SetProgress.wvr_u10 -00:38fc Main -00:3925 Main.notgbc -00:392b Main.wvr_u1 -00:3952 EventLoop -00:3968 EventLoop.eventloopjumps -00:3971 EventLoopPostHandler -00:3973 EventLoopPostHandler.wvb_u2 -00:3985 EventLoopPostHandler.vblankjumps -00:398e LoadTitleTiles -00:39ac LoadGameplayTiles -00:39c2 LoadGameplayTiles.gbc -00:39d1 LoadGameplayTiles.dmg -00:39e0 sFramesToCS -00:3a1c UnsafeMemCopy -00:3a25 SafeMemCopy.wvr_u1 -00:3a25 SafeMemCopy -00:3a34 UnsafeMemSet -00:3a3c SafeMemSet -00:3a3c SafeMemSet.wvr_u2 -00:3a4a SwitchToGameplay -00:3a53 SwitchToGameplayBig -00:3a5c GamePlayEventLoopHandler -00:3a66 GamePlayBigEventLoopHandler -00:3a70 EnableScreenSquish -00:3a8a DisableScreenSquish -00:3a95 CopyOAMHandler -00:3aa1 ClearOAM -00:3ab7 BankingInit -00:3ac6 OAMDMA -00:3ad0 OAMDMAEnd +00:0a28 GBCTitleProcess.nores4 +00:0a2b GBCTitleProcess.noinc4 +00:0a38 GBCTitleProcess.eventLoopCredits +00:0a4a GBCTitleProcess.nores2 +00:0a4d GBCTitleProcess.noinc2 +00:0a5a GBCGameplayProcess +00:0a98 GBCGameplayProcess.goverride +00:0abf GBCGameplayProcess.colorfield +00:0c33 GBCGameplayProcess.outer1 +00:0c38 GBCGameplayProcess.inner1 +00:0c5c GBCGameplayProcess.outer2 +00:0c61 GBCGameplayProcess.inner2 +00:0c86 GBCGameplayProcess.empty +00:0c8a GBCGameplayProcess.sub59 +00:0c8c GBCGameplayProcess.sub52 +00:0c8e GBCGameplayProcess.sub45 +00:0c90 GBCGameplayProcess.sub38 +00:0c92 GBCGameplayProcess.sub31 +00:0c94 GBCGameplayProcess.sub24 +00:0c96 GBCGameplayProcess.sub17 +00:0c98 GBCGameplayProcess.sub10 +00:0c9a GBCGameplayProcess.done +00:0cbc GBCGameplayProcess.darker +00:0cc3 GBCGameplayProcess.wvr_u1 +00:0cd0 GBCGameplayProcess.lighter +00:0cd7 GBCGameplayProcess.wvr_u2 +00:0ce4 GBCGameplayProcess.black +00:0ceb GBCGameplayProcess.wvr_u3 +00:0cf8 GBCBigGameplayProcess +00:0d36 GBCBigGameplayProcess.goverride +00:0d5d GBCBigGameplayProcess.colorfield +00:0ed1 GBCBigGameplayProcess.outer1 +00:0ed6 GBCBigGameplayProcess.inner1 +00:0efa GBCBigGameplayProcess.outer2 +00:0eff GBCBigGameplayProcess.inner2 +00:0f24 GBCBigGameplayProcess.empty +00:0f28 GBCBigGameplayProcess.sub59 +00:0f2a GBCBigGameplayProcess.sub52 +00:0f2c GBCBigGameplayProcess.sub45 +00:0f2e GBCBigGameplayProcess.sub38 +00:0f30 GBCBigGameplayProcess.sub31 +00:0f32 GBCBigGameplayProcess.sub24 +00:0f34 GBCBigGameplayProcess.sub17 +00:0f36 GBCBigGameplayProcess.sub10 +00:0f38 GBCBigGameplayProcess.done +00:0f5a GBCBigGameplayProcess.darker +00:0f61 GBCBigGameplayProcess.wvr_u4 +00:0f6e GBCBigGameplayProcess.lighter +00:0f75 GBCBigGameplayProcess.wvr_u5 +00:0f82 GBCBigGameplayProcess.black +00:0f89 GBCBigGameplayProcess.wvr_u6 +00:0f96 ToVRAM +00:0f96 GBCBlitField +00:0fc9 BlitField +00:118c BlitField.waitendvbloop +00:13be BigBlitField +00:1581 BigBlitField.waitendvbloop +00:17b3 ApplyTells +00:17f1 ApplyTells.myco +00:17f6 ApplyTells.dropmode +00:181b ApplyNext +00:1823 ApplyNext.bone +00:1842 ApplyNext.nobone +00:1863 ApplyNext.pos +00:1873 ApplyNext.regular +00:1879 ApplyNext.postoffsets +00:187d ApplyNext.getoffn +00:1888 ApplyNext.skipoffn +00:1926 ApplyNext.done +00:1929 ApplyHold +00:1931 ApplyHold.bone +00:1950 ApplyHold.nobone +00:196d ApplyHold.hide +00:197f ApplyHold.show +00:198f ApplyHold.x +00:199f ApplyHold.regular +00:19a5 ApplyHold.postoffsets +00:19a9 ApplyHold.getoffh +00:19b4 ApplyHold.skipoffh +00:19ee ApplyTime +00:1a3f ApplyTime.loop0 +00:1a6e ApplyTime.loop1 +00:1ac3 ApplyNumbers8 +00:1b10 ApplyNumbers8.one +00:1b16 ApplyNumbers8.two +00:1b1c ApplyNumbers8.three +00:1b22 ApplyNumbers8.four +00:1b28 ApplyNumbers8.five +00:1b2e ApplyNumbers8.six +00:1b34 ApplyNumbers8.seven +00:1b3a ApplyNumbers8.eight +00:1b3f ApplyNumbers4 +00:1b64 ApplyNumbers4.one +00:1b6a ApplyNumbers4.two +00:1b70 ApplyNumbers4.three +00:1b76 ApplyNumbers4.four +00:1b7b SetNumberSpritePositions +00:1c82 GradeRendering +00:1cb7 GradeRendering.effect +00:1cc7 GradeRendering.noeffect +00:1ccf GradeRendering.drawgrade +00:1cd6 GradeRendering.regulargrade +00:1cde GradeRendering.sgrade +00:1cf4 GradeRendering.hisgrade +00:1d0a GradeRendering.mgrade +00:1d20 GradeRendering.lettergrade +00:1d3d GradeRendering.mk +00:1d43 GradeRendering.mv +00:1d49 GradeRendering.mo +00:1d4f GradeRendering.mm +00:1d55 GradeRendering.gmgrade +00:1d60 GradeInit +00:1d94 GradeInit.grade9start +00:1d99 GradeInit.end +00:1d9b UpdateGrade +00:1da9 UpdateGrade.gradejumptable +00:1dbe DecayGradeProcess +00:1dcc DecayGradeProcess.gradejumptable +00:1de1 DecayGradeDelay +00:1def DecayGradeDelay.gradejumptable +00:1e04 PrepareScore +00:1e17 DrawGradeProgressDMGT +00:1e32 UpdateGradeDMGT +00:1e6b UpdateGradeDMGT.checklineclears +00:1e85 UpdateGradeDMGT.clearrate +00:1e96 UpdateGradeDMGT.combomult +00:1ea3 UpdateGradeDMGT.combo10 +00:1eb4 UpdateGradeDMGT.combo5 +00:1ec5 UpdateGradeDMGT.combo1 +00:1ed4 UpdateGradeDMGT.prelevel +00:1ee3 UpdateGradeDMGT.single +00:1ef3 UpdateGradeDMGT.double +00:1f04 UpdateGradeDMGT.adddonce +00:1f08 UpdateGradeDMGT.triple +00:1f19 UpdateGradeDMGT.addtonce +00:1f1d UpdateGradeDMGT.tetris +00:1f21 UpdateGradeDMGT.levelmult +00:1f39 UpdateGradeDMGT.mult4 +00:1f3f UpdateGradeDMGT.mult3 +00:1f44 UpdateGradeDMGT.mult2 +00:1f48 UpdateGradeDMGT.mult1 +00:1f49 UpdateGradeDMGT.processgrade +00:1f72 UpdateGradeDMGT.increasegrademaybe +00:1f96 UpdateGradeDMGT.gotgm +00:1fa4 DecayGradeDMGT +00:1fc8 DecayGradeDMGT.nodecay +00:1fcf DecayGradeDMGT.decay +00:1fdd UpdateGradeTGM1 +00:1fee UpdateGradeTGM1.trygradeup +00:2009 UpdateGradeTGM1.increasegrade +00:201e UpdateGradeTGM1.skipjingle +00:202a UpdateGradeTGM1.check300 +00:2049 UpdateGradeTGM1.success300 +00:2050 UpdateGradeTGM1.fail300 +00:2057 UpdateGradeTGM1.check500 +00:2076 UpdateGradeTGM1.success500 +00:207d UpdateGradeTGM1.fail500 +00:2084 UpdateGradeTGM1.check999 +00:20bc UpdateGradeTGM1.success999 +00:20d4 UpdateGradeTGM1.fail999 +00:20da UpdateGradeDEAT +00:20e6 UpdateGradeDEAT.notgm +00:2102 UpdateGradeDEAT.notm +00:2125 UpdateGradeDEAT.disqualify +00:2143 UpdateGradeSHIR +00:2186 UpdateGradeSHIR.s5torikan +00:2196 UpdateGradeSHIR.s10torikan +00:21a5 UpdateGradeSHIR.disqualify +00:21b4 UpdateGradeSHIR.l1000 +00:21ca UpdateGradeSHIR.l500 +00:21e0 RestoreSRAM +00:2210 TrustedLoad +00:2262 TrustedLoad.jumps +00:227a TrustedLoad.dmgt +00:2280 TrustedLoad.tgm1 +00:2286 TrustedLoad.tgm3 +00:228c TrustedLoad.deat +00:2292 TrustedLoad.shir +00:2298 TrustedLoad.chil +00:229e TrustedLoad.myco +00:22a4 TrustedLoad.search +00:22b6 TrustedLoad.notfound +00:22bd TrustedLoad.fallback +00:22d8 InitializeSRAM +00:23f7 ResetScores +00:2405 ResetScores.jumps +00:241a ResetScores.dmgt +00:2426 ResetScores.tgm1 +00:2432 ResetScores.tgm3 +00:243e ResetScores.deat +00:244a ResetScores.shir +00:2456 ResetScores.chil +00:2462 ResetScores.myco +00:246e NextProfile +00:2477 NextProfile.update +00:247a ChangeProfile +00:247a ChangeProfile.backup +00:24a9 ChangeProfile.first +00:24b7 ChangeProfile.second +00:24c5 ChangeProfile.third +00:24d3 ChangeProfile.fourth +00:24e1 ChangeProfile.fifth +00:24ef ChangeProfile.sixth +00:24fd ChangeProfile.seventh +00:250b ChangeProfile.eighth +00:2519 ChangeProfile.ninth +00:2527 ChangeProfile.tenth +00:2535 ChangeProfile.restore +00:2565 ChangeProfile.lfirst +00:2574 ChangeProfile.lsecond +00:2583 ChangeProfile.lthird +00:2592 ChangeProfile.lfourth +00:25a1 ChangeProfile.lfifth +00:25b0 ChangeProfile.lsixth +00:25bf ChangeProfile.lseventh +00:25ce ChangeProfile.leighth +00:25dd ChangeProfile.lninth +00:25ec ChangeProfile.ltenth +00:25fb ResetProfile +00:2657 LevelInit +00:26bc SpecialLevelInit +00:26ca SpecialLevelInit.jumps +00:26df SpecialLevelInit.dmgt +00:26e4 SpecialLevelInit.tgm1 +00:26e9 SpecialLevelInit.tgm3 +00:26ee SpecialLevelInit.deat +00:26f3 SpecialLevelInit.shir +00:26f8 SpecialLevelInit.chil +00:26fd SpecialLevelInit.myco +00:2702 SpecialLevelInit.loaddata +00:2737 LevelUp +00:2761 LevelUp.doit +00:27a3 LevelUp.checknlevel +00:27f5 LevelUp.bellmaybe +00:2811 LevelUp.leveljinglemaybe +00:2821 LevelUp.checkspeedup +00:2860 DoSpeedUp +00:28a1 CheckSpecialLevelConditions +00:28d2 CheckSpecialLevelConditions.override +00:28ed CheckSpecialLevelConditions.nooverride +00:28f3 CheckSpecialLevelConditions.speciallock +00:2917 CheckSpecialLevelConditions.bones +00:292c CheckSpecialLevelConditions.enterthebonezone +00:2931 CheckSpecialLevelConditions.invis +00:2946 CheckSpecialLevelConditions.vanishoxyaction +00:294b CheckSpecialLevelConditions.killscreen +00:295c CheckSpecialLevelConditions.rip +00:298c CheckSpecialLevelConditions.staffroll +00:299a CheckSpecialLevelConditions.justkill +00:29ae TriggerKillScreen +00:29d0 sTGM1GradeScores +00:29f2 sTGM3InternalGradeSystem +00:2a92 sTGM3GradeBoosts +00:2ab1 sTGM3LevelMultiplier +00:2ab5 sTGM3BaselineCOOL +00:2abe sTGM3REGRETConditions +00:2ad2 sDMGTGrading +00:2b86 sDMGTGaugeLUT +00:2c86 SFXInit +00:2ca8 SFXPopQueue +00:2cbd SFXPushQueue +00:2cce SFXProcessQueue +00:2cfc SFXTriggerNoise +00:2d22 SFXEnqueue +00:2d37 SFXEnqueue.findsfx +00:2e91 SFXKill +00:2ec4 SFXPlayNoise +00:2ecf SFXPlayNoise.noisereg +00:2ee6 SFXPlayNoise.savenoiseplayhead +00:2eef SFXPlay +00:2efd SFXPlay.play +00:2f09 SFXPlay.getRegister +00:2f1d SFXPlay.savePlayhead +00:2f26 HarvestEntropy +00:2f2c HarvestEntropy.loop +00:2f4d RNGInit +00:2fb3 RNGInit.complexinit +00:2fe5 ShiftHistory +00:3002 GetNextHellPiece +00:3007 GetNextTGM1Piece +00:3024 GetNextTGM2Piece +00:3041 GetNextNesPiece +00:304f GetNextTGM3Piece +00:3106 GetNextPiece +00:3114 GetNextPiece.nextpiecejumps +00:3123 Next35Piece +00:312d Next7Piece +00:3137 NextByte +00:3157 CheckAndAddHiscore +00:3161 CheckAndAddHiscore.checkloop +00:31a5 CheckAndAddHiscore.notbetter +00:31b1 CheckAndAddHiscore.better +00:31b3 InsertHiScore +00:31b3 InsertHiScore.copylower +00:31c4 InsertHiScore.copyupper +00:31e5 InsertHiScore.findrow +00:31f6 InsertHiScore.insert +00:323f InsertHiScore.persist +00:3250 GetHiScoreEntry +00:3269 GetHiScoreEntry.store +00:3272 InitTargetHSTable +00:327d InitTargetHSTable.jumps +00:3292 InitTargetHSTable.dmgt +00:3297 InitTargetHSTable.tgm1 +00:329c InitTargetHSTable.tgm3 +00:32a1 InitTargetHSTable.deat +00:32a6 InitTargetHSTable.shir +00:32ab InitTargetHSTable.chil +00:32b0 InitTargetHSTable.myco +00:32b3 InitTargetHSTable.store +00:32c6 sProgressData +00:3410 sHiscoreDefaultData +00:3550 ScoreInit +00:3578 IncreaseScore +00:35b0 IncreaseScore.doConvert +00:35c8 IncreaseScore.carry +00:35ca IncreaseScore.postConvert +00:35de IncreaseScore.preAddDigit +00:3606 IncreaseScore.addDigit +00:361c IncreaseScore.nextDigit +00:3630 InputInit +00:3642 GetInput +00:3642 GetInput.btns +00:364f GetInput.readA +00:3653 GetInput.setA +00:365e GetInput.clearA +00:3661 GetInput.readB +00:3665 GetInput.setB +00:3670 GetInput.clearB +00:3673 GetInput.readSelect +00:3677 GetInput.setSelect +00:3682 GetInput.clearSelect +00:3685 GetInput.readStart +00:3689 GetInput.setStart +00:3694 GetInput.clearStart +00:3697 GetInput.dpad +00:36a4 GetInput.readUp +00:36a8 GetInput.setUp +00:36b3 GetInput.clearUp +00:36b6 GetInput.readDown +00:36ba GetInput.setDown +00:36c5 GetInput.clearDown +00:36c8 GetInput.readLeft +00:36cc GetInput.setLeft +00:36d7 GetInput.clearLeft +00:36da GetInput.readRight +00:36de GetInput.setRight +00:36e9 GetInput.clearRight +00:36ec GetInput.priorities +00:36f7 GetInput.zero +00:36fd SwitchToTitle +00:3706 TitleEventLoopHandler +00:3710 TitleVBlankHandler +00:371a PersistLevel +00:3728 DrawSpeedMain +00:3778 DrawSpeedSettings +00:37c8 TimeInit +00:37e8 StartCountdown +00:37f6 ResetGameTime +00:3801 CheckTorikan +00:3818 CheckTorikan.failure +00:381a CheckTorikan.success +00:381d HandleTimers +00:3843 HandleTimers.reduce +00:3850 HandleTimers.clock +00:386a HandleTimers.go +00:388e SetProgress +00:3899 SetProgress.loop +00:389d SetProgress.correct +00:38c4 SetProgress.wvr_u1 +00:38d0 SetProgress.wvr_u2 +00:38de SetProgress.wvr_u3 +00:38ea SetProgress.wvr_u4 +00:38f8 SetProgress.wvr_u5 +00:3904 SetProgress.wvr_u6 +00:3912 SetProgress.wvr_u7 +00:391e SetProgress.wvr_u8 +00:392c SetProgress.wvr_u9 +00:3938 SetProgress.wvr_u10 +00:3940 Main +00:3969 Main.notgbc +00:396f Main.wvr_u1 +00:3996 EventLoop +00:39ac EventLoop.eventloopjumps +00:39b5 EventLoopPostHandler +00:39b7 EventLoopPostHandler.wvb_u2 +00:39c9 EventLoopPostHandler.vblankjumps +00:39d2 LoadTitleTiles +00:39f0 LoadGameplayTiles +00:3a06 LoadGameplayTiles.gbc +00:3a15 LoadGameplayTiles.dmg +00:3a24 sFramesToCS +00:3a60 UnsafeMemCopy +00:3a69 SafeMemCopy.wvr_u1 +00:3a69 SafeMemCopy +00:3a78 UnsafeMemSet +00:3a80 SafeMemSet +00:3a80 SafeMemSet.wvr_u2 +00:3a8e SwitchToGameplay +00:3a97 SwitchToGameplayBig +00:3aa0 GamePlayEventLoopHandler +00:3aaa GamePlayBigEventLoopHandler +00:3ab4 EnableScreenSquish +00:3ace DisableScreenSquish +00:3ad9 CopyOAMHandler +00:3ae5 ClearOAM +00:3afb BankingInit +00:3b0a OAMDMA +00:3b14 OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData @@ -549,169 +560,208 @@ 04:47f0 sTitleScreenSettingsMapEnd 04:4a90 sTitleScreenProfileMap 04:4a90 sTitleScreenCreditsMapEnd +04:4d30 sTitleScreenRecordsMap 04:4d30 sTitleScreenProfileMapEnd -04:4d30 SwitchToTitleB -04:4d36 SwitchToTitleB.wvr_u1 -04:4d62 SwitchToTitleB.wvb_u2 -04:4d69 SwitchToTitleB.wvbe_u3 -04:4d6f SwitchTitleMode -04:4d80 SwitchTitleMode.wvr_u4 -04:4d94 SwitchTitleMode.jumps -04:4da3 SwitchTitleMode.switchMain -04:4dd0 SwitchTitleMode.notsgb -04:4df1 SwitchTitleMode.notmgb -04:4e19 SwitchTitleMode.agb -04:4e33 SwitchTitleMode.done -04:4e3b SwitchTitleMode.switchProfile -04:4e4f SwitchTitleMode.switchSettings -04:4e63 SwitchTitleMode.switchRecords -04:4e6b SwitchTitleMode.switchCredits -04:4e7f TitleEventLoopHandlerB -04:4e8d TitleEventLoopHandlerB.jumps -04:4e9c TitleEventLoopHandlerB.eventLoopMain -04:4ec6 TitleEventLoopHandlerB.d0 -04:4eda TitleEventLoopHandlerB.eventLoopProfile -04:4f04 TitleEventLoopHandlerB.d2 -04:4f19 TitleEventLoopHandlerB.l2 -04:4f2e TitleEventLoopHandlerB.r2 -04:4f43 TitleEventLoopHandlerB.eventLoopSettings -04:4f6d TitleEventLoopHandlerB.d1 -04:4f82 TitleEventLoopHandlerB.l1 -04:4f97 TitleEventLoopHandlerB.r1 -04:4fab TitleEventLoopHandlerB.eventLoopRecords -04:4fac TitleEventLoopHandlerB.eventLoopCredits -04:4fc2 TitleEventLoopHandlerB.quitcredits -04:4fc7 TitleVBlankHandlerB -04:4fd5 TitleVBlankHandlerB.jumps -04:4fe4 TitleVBlankHandlerB.vblankMain -04:4fee TitleVBlankHandlerB.notselected_u5 -04:4ff3 TitleVBlankHandlerB.selected_u5 -04:4ff6 TitleVBlankHandlerB.done_u5 -04:5000 TitleVBlankHandlerB.notselected_u6 -04:5005 TitleVBlankHandlerB.selected_u6 -04:5008 TitleVBlankHandlerB.done_u6 -04:5012 TitleVBlankHandlerB.notselected_u7 -04:5017 TitleVBlankHandlerB.selected_u7 -04:501a TitleVBlankHandlerB.done_u7 -04:5024 TitleVBlankHandlerB.notselected_u8 -04:5029 TitleVBlankHandlerB.selected_u8 -04:502c TitleVBlankHandlerB.done_u8 -04:5036 TitleVBlankHandlerB.notselected_u9 -04:503b TitleVBlankHandlerB.selected_u9 -04:503e TitleVBlankHandlerB.done_u9 -04:5048 TitleVBlankHandlerB.notselected_u10 -04:504d TitleVBlankHandlerB.selected_u10 -04:5050 TitleVBlankHandlerB.done_u10 -04:50da TitleVBlankHandlerB.disabled -04:50e6 TitleVBlankHandlerB.profile -04:50f5 TitleVBlankHandlerB.vblankProfile -04:50ff TitleVBlankHandlerB.notselected_u11 -04:5104 TitleVBlankHandlerB.selected_u11 -04:5107 TitleVBlankHandlerB.done_u11 -04:5111 TitleVBlankHandlerB.notselected_u12 -04:5116 TitleVBlankHandlerB.selected_u12 -04:5119 TitleVBlankHandlerB.done_u12 -04:5123 TitleVBlankHandlerB.notselected_u13 -04:5128 TitleVBlankHandlerB.selected_u13 -04:512b TitleVBlankHandlerB.done_u13 -04:5135 TitleVBlankHandlerB.notselected_u14 -04:513a TitleVBlankHandlerB.selected_u14 -04:513d TitleVBlankHandlerB.done_u14 -04:5147 TitleVBlankHandlerB.notselected_u15 -04:514c TitleVBlankHandlerB.selected_u15 -04:514f TitleVBlankHandlerB.done_u15 -04:5159 TitleVBlankHandlerB.notselected_u16 -04:515e TitleVBlankHandlerB.selected_u16 -04:5161 TitleVBlankHandlerB.done_u16 -04:5180 TitleVBlankHandlerB.vblankSettings -04:518a TitleVBlankHandlerB.notselected_u17 -04:518f TitleVBlankHandlerB.selected_u17 -04:5192 TitleVBlankHandlerB.done_u17 -04:519c TitleVBlankHandlerB.notselected_u18 -04:51a1 TitleVBlankHandlerB.selected_u18 -04:51a4 TitleVBlankHandlerB.done_u18 -04:51ae TitleVBlankHandlerB.notselected_u19 -04:51b3 TitleVBlankHandlerB.selected_u19 -04:51b6 TitleVBlankHandlerB.done_u19 -04:51c0 TitleVBlankHandlerB.notselected_u20 -04:51c5 TitleVBlankHandlerB.selected_u20 -04:51c8 TitleVBlankHandlerB.done_u20 -04:51d2 TitleVBlankHandlerB.notselected_u21 -04:51d7 TitleVBlankHandlerB.selected_u21 -04:51da TitleVBlankHandlerB.done_u21 -04:51e4 TitleVBlankHandlerB.notselected_u22 -04:51e9 TitleVBlankHandlerB.selected_u22 -04:51ec TitleVBlankHandlerB.done_u22 -04:51f6 TitleVBlankHandlerB.notselected_u23 -04:51fb TitleVBlankHandlerB.selected_u23 -04:51fe TitleVBlankHandlerB.done_u23 -04:5208 TitleVBlankHandlerB.notselected_u24 -04:520d TitleVBlankHandlerB.selected_u24 -04:5210 TitleVBlankHandlerB.done_u24 -04:529a TitleVBlankHandlerB.disabled1 -04:52a6 TitleVBlankHandlerB.buttons -04:52d3 TitleVBlankHandlerB.donetetry -04:52f9 TitleVBlankHandlerB.vblankRecords -04:52fa TitleVBlankHandlerB.vblankCredits -04:52fb MainHandleA -04:5309 MainHandleA.jumps -04:531b MainHandleA.tosettings -04:5320 MainHandleA.tocredits -04:5325 MainHandleA.toprofile -04:532a MainHandleUp -04:533c MainHandleDown -04:534d SettingsHandleA -04:535a ProfileHandleB -04:535a SettingsHandleB -04:535f SettingsHandleDown -04:5370 SettingsHandleUp -04:5382 SettingsHandleLeft -04:5393 SettingsHandleLeft.jumps -04:53ab SettingsHandleLeft.buttons -04:53c3 SettingsHandleLeft.rng -04:53db SettingsHandleLeft.rot -04:53f3 SettingsHandleLeft.drop -04:540b SettingsHandleLeft.curve -04:5429 SettingsHandleLeft.hig -04:5441 SettingsHandleRight -04:5452 SettingsHandleRight.jumps -04:546a SettingsHandleRight.buttons -04:5481 SettingsHandleRight.rng -04:5498 SettingsHandleRight.rot -04:54af SettingsHandleRight.drop -04:54c6 SettingsHandleRight.curve -04:54e3 SettingsHandleRight.hig -04:54fa ProfileHandleA -04:550e ProfileHandleRight -04:5522 ProfileHandleRight.jumps -04:5531 ProfileHandleRight.idx -04:553a ProfileHandleRight.doit -04:553d ProfileHandleRight.l0 -04:5547 ProfileHandleRight.doit1 -04:554e ProfileHandleRight.l1 -04:5558 ProfileHandleRight.doit2 -04:555f ProfileHandleRight.l2 -04:5569 ProfileHandleRight.doit3 -04:5570 ProfileHandleLeft -04:5584 ProfileHandleLeft.jumps -04:5593 ProfileHandleLeft.idx -04:559d ProfileHandleLeft.doit -04:55a0 ProfileHandleLeft.l0 -04:55aa ProfileHandleLeft.doit1 -04:55b1 ProfileHandleLeft.l1 -04:55bb ProfileHandleLeft.doit2 -04:55c2 ProfileHandleLeft.l2 -04:55cc ProfileHandleLeft.doit3 -04:55d3 ProfileHandleDown -04:55e4 ProfileHandleUp -04:55f6 DecrementLevel -04:560c IncrementLevel -04:5622 InitSpeedCurve -04:5631 GetEnd -04:5668 GetStart -04:569f CheckLevelRange -04:56b8 CheckLevelRange.notatend -04:56d8 CheckLevelRange.notatstart +04:4fd0 sTitleScreenRecordsMapEnd +04:4fd0 SwitchToTitleB +04:4fd6 SwitchToTitleB.wvr_u1 +04:5002 SwitchToTitleB.wvb_u2 +04:5009 SwitchToTitleB.wvbe_u3 +04:500f SwitchTitleMode +04:5020 SwitchTitleMode.wvr_u4 +04:5034 SwitchTitleMode.jumps +04:5043 SwitchTitleMode.switchMain +04:5070 SwitchTitleMode.notsgb +04:5091 SwitchTitleMode.notmgb +04:50b9 SwitchTitleMode.agb +04:50d3 SwitchTitleMode.done +04:50db SwitchTitleMode.switchProfile +04:50ef SwitchTitleMode.switchSettings +04:5103 SwitchTitleMode.switchRecords +04:5118 SwitchTitleMode.switchCredits +04:512c TitleEventLoopHandlerB +04:513a TitleEventLoopHandlerB.jumps +04:5149 TitleEventLoopHandlerB.eventLoopMain +04:5173 TitleEventLoopHandlerB.d0 +04:5187 TitleEventLoopHandlerB.eventLoopProfile +04:51b1 TitleEventLoopHandlerB.d2 +04:51c6 TitleEventLoopHandlerB.l2 +04:51db TitleEventLoopHandlerB.r2 +04:51f0 TitleEventLoopHandlerB.eventLoopSettings +04:521a TitleEventLoopHandlerB.d1 +04:522f TitleEventLoopHandlerB.l1 +04:5244 TitleEventLoopHandlerB.r1 +04:5258 TitleEventLoopHandlerB.eventLoopRecords +04:5275 TitleEventLoopHandlerB.eventLoopCredits +04:528b TitleEventLoopHandlerB.quitrecords +04:528b TitleEventLoopHandlerB.quitcredits +04:5290 TitleVBlankHandlerB +04:529e TitleVBlankHandlerB.jumps +04:52ad TitleVBlankHandlerB.vblankMain +04:52b7 TitleVBlankHandlerB.notselected_u5 +04:52bc TitleVBlankHandlerB.selected_u5 +04:52bf TitleVBlankHandlerB.done_u5 +04:52c9 TitleVBlankHandlerB.notselected_u6 +04:52ce TitleVBlankHandlerB.selected_u6 +04:52d1 TitleVBlankHandlerB.done_u6 +04:52db TitleVBlankHandlerB.notselected_u7 +04:52e0 TitleVBlankHandlerB.selected_u7 +04:52e3 TitleVBlankHandlerB.done_u7 +04:52ed TitleVBlankHandlerB.notselected_u8 +04:52f2 TitleVBlankHandlerB.selected_u8 +04:52f5 TitleVBlankHandlerB.done_u8 +04:52ff TitleVBlankHandlerB.notselected_u9 +04:5304 TitleVBlankHandlerB.selected_u9 +04:5307 TitleVBlankHandlerB.done_u9 +04:5311 TitleVBlankHandlerB.notselected_u10 +04:5316 TitleVBlankHandlerB.selected_u10 +04:5319 TitleVBlankHandlerB.done_u10 +04:53a3 TitleVBlankHandlerB.disabled +04:53af TitleVBlankHandlerB.profile +04:53be TitleVBlankHandlerB.vblankProfile +04:53c8 TitleVBlankHandlerB.notselected_u11 +04:53cd TitleVBlankHandlerB.selected_u11 +04:53d0 TitleVBlankHandlerB.done_u11 +04:53da TitleVBlankHandlerB.notselected_u12 +04:53df TitleVBlankHandlerB.selected_u12 +04:53e2 TitleVBlankHandlerB.done_u12 +04:53ec TitleVBlankHandlerB.notselected_u13 +04:53f1 TitleVBlankHandlerB.selected_u13 +04:53f4 TitleVBlankHandlerB.done_u13 +04:53fe TitleVBlankHandlerB.notselected_u14 +04:5403 TitleVBlankHandlerB.selected_u14 +04:5406 TitleVBlankHandlerB.done_u14 +04:5410 TitleVBlankHandlerB.notselected_u15 +04:5415 TitleVBlankHandlerB.selected_u15 +04:5418 TitleVBlankHandlerB.done_u15 +04:5422 TitleVBlankHandlerB.notselected_u16 +04:5427 TitleVBlankHandlerB.selected_u16 +04:542a TitleVBlankHandlerB.done_u16 +04:5449 TitleVBlankHandlerB.vblankSettings +04:5453 TitleVBlankHandlerB.notselected_u17 +04:5458 TitleVBlankHandlerB.selected_u17 +04:545b TitleVBlankHandlerB.done_u17 +04:5465 TitleVBlankHandlerB.notselected_u18 +04:546a TitleVBlankHandlerB.selected_u18 +04:546d TitleVBlankHandlerB.done_u18 +04:5477 TitleVBlankHandlerB.notselected_u19 +04:547c TitleVBlankHandlerB.selected_u19 +04:547f TitleVBlankHandlerB.done_u19 +04:5489 TitleVBlankHandlerB.notselected_u20 +04:548e TitleVBlankHandlerB.selected_u20 +04:5491 TitleVBlankHandlerB.done_u20 +04:549b TitleVBlankHandlerB.notselected_u21 +04:54a0 TitleVBlankHandlerB.selected_u21 +04:54a3 TitleVBlankHandlerB.done_u21 +04:54ad TitleVBlankHandlerB.notselected_u22 +04:54b2 TitleVBlankHandlerB.selected_u22 +04:54b5 TitleVBlankHandlerB.done_u22 +04:54bf TitleVBlankHandlerB.notselected_u23 +04:54c4 TitleVBlankHandlerB.selected_u23 +04:54c7 TitleVBlankHandlerB.done_u23 +04:54d1 TitleVBlankHandlerB.notselected_u24 +04:54d6 TitleVBlankHandlerB.selected_u24 +04:54d9 TitleVBlankHandlerB.done_u24 +04:5563 TitleVBlankHandlerB.disabled1 +04:556f TitleVBlankHandlerB.buttons +04:559c TitleVBlankHandlerB.donetetry +04:55c2 TitleVBlankHandlerB.vblankRecords +04:55c3 TitleVBlankHandlerB.vblankCredits +04:55c4 MainHandleA +04:55d2 MainHandleA.jumps +04:55e4 MainHandleA.tosettings +04:55e9 MainHandleA.tocredits +04:55ee MainHandleA.toprofile +04:55f3 MainHandleA.torecords +04:55f8 MainHandleUp +04:560a MainHandleDown +04:561b SettingsHandleA +04:5628 ProfileHandleB +04:5628 SettingsHandleB +04:562d SettingsHandleDown +04:563e SettingsHandleUp +04:5650 SettingsHandleLeft +04:5661 SettingsHandleLeft.jumps +04:5679 SettingsHandleLeft.buttons +04:5691 SettingsHandleLeft.rng +04:56a9 SettingsHandleLeft.rot +04:56c1 SettingsHandleLeft.drop +04:56d9 SettingsHandleLeft.curve +04:56f7 SettingsHandleLeft.hig +04:570f SettingsHandleRight +04:5720 SettingsHandleRight.jumps +04:5738 SettingsHandleRight.buttons +04:574f SettingsHandleRight.rng +04:5766 SettingsHandleRight.rot +04:577d SettingsHandleRight.drop +04:5794 SettingsHandleRight.curve +04:57b1 SettingsHandleRight.hig +04:57c8 ProfileHandleA +04:57dc ProfileHandleRight +04:57f0 ProfileHandleRight.jumps +04:57ff ProfileHandleRight.idx +04:5808 ProfileHandleRight.doit +04:580b ProfileHandleRight.l0 +04:5815 ProfileHandleRight.doit1 +04:581c ProfileHandleRight.l1 +04:5826 ProfileHandleRight.doit2 +04:582d ProfileHandleRight.l2 +04:5837 ProfileHandleRight.doit3 +04:583e ProfileHandleLeft +04:5852 ProfileHandleLeft.jumps +04:5861 ProfileHandleLeft.idx +04:586b ProfileHandleLeft.doit +04:586e ProfileHandleLeft.l0 +04:5878 ProfileHandleLeft.doit1 +04:587f ProfileHandleLeft.l1 +04:5889 ProfileHandleLeft.doit2 +04:5890 ProfileHandleLeft.l2 +04:589a ProfileHandleLeft.doit3 +04:58a1 ProfileHandleDown +04:58b2 ProfileHandleUp +04:58c4 DecrementLevel +04:58da IncrementLevel +04:58f0 InitSpeedCurve +04:58ff GetEnd +04:5936 GetStart +04:596d CheckLevelRange +04:5986 CheckLevelRange.notatend +04:59a6 CheckLevelRange.notatstart +04:59a7 RecordsHandleLeft +04:59c0 RecordsHandleRight +04:59d8 RecordsHandleSelect +04:59e1 RenderScores +04:59e7 RenderScores.wvr_u25 +04:5a53 RenderScores.nograde_u26 +04:5a58 RenderScores.grade_u26 +04:5a5b RenderScores.postgrade_u26 +04:5abc RenderScores.nograde_u27 +04:5ac1 RenderScores.grade_u27 +04:5ac4 RenderScores.postgrade_u27 +04:5b25 RenderScores.nograde_u28 +04:5b2a RenderScores.grade_u28 +04:5b2d RenderScores.postgrade_u28 +04:5b8e RenderScores.nograde_u29 +04:5b93 RenderScores.grade_u29 +04:5b96 RenderScores.postgrade_u29 +04:5bf7 RenderScores.nograde_u30 +04:5bfc RenderScores.grade_u30 +04:5bff RenderScores.postgrade_u30 +04:5c60 RenderScores.nograde_u31 +04:5c65 RenderScores.grade_u31 +04:5c68 RenderScores.postgrade_u31 +04:5cc9 RenderScores.nograde_u32 +04:5cce RenderScores.grade_u32 +04:5cd1 RenderScores.postgrade_u32 +04:5d32 RenderScores.nograde_u33 +04:5d37 RenderScores.grade_u33 +04:5d3a RenderScores.postgrade_u33 +04:5d9b RenderScores.nograde_u34 +04:5da0 RenderScores.grade_u34 +04:5da3 RenderScores.postgrade_u34 +04:5e04 RenderScores.nograde_u35 +04:5e09 RenderScores.grade_u35 +04:5e0c RenderScores.postgrade_u35 05:4008 FieldInit 05:403e FieldClear 05:4049 ToBackupField diff --git a/src/gbc.asm b/src/gbc.asm index c3a2bc5..a85b32a 100644 --- a/src/gbc.asm +++ b/src/gbc.asm @@ -364,7 +364,26 @@ GBCTitleProcess:: jp UnsafeMemSet .eventLoopRecords - ret + ; Palette for the title? + ldh a, [hFrameCtr] + and $0F + cp a, $01 + jr nz, .noinc4 + ld a, [wTitlePal] + inc a + cp a, $07 + jr c, .nores4 + ld a, $00 +.nores4 + ld [wTitlePal], a +.noinc4 + + ; Set the palette for the title. + ld a, [wTitlePal] + ld d, a + ld hl, wShadowTileAttrs + (0*32) + ld bc, (1*32) + jp UnsafeMemSet .eventLoopCredits ; Palette for the title? diff --git a/src/include/globals.asm b/src/include/globals.asm index 20586db..8e9e04d 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -452,6 +452,14 @@ DEF TITLE_PROFILE_NAME_2 EQU $98AF DEF TITLE_PROFILE_SEL_RESET EQU 4 DEF TITLE_PROFILE_SEL_BACK EQU 5 +DEF TITLE_RECORDS_MODE EQU $9848 +DEF TITLE_RECORDS_SCORE_BASE EQU $98A2 +DEF TITLE_RECORDS_RNG_BASE EQU 144 +DEF TITLE_RECORDS_ROT_BASE EQU 149 +DEF TITLE_RECORDS_DROP_BASE EQU 153 +DEF TITLE_RECORDS_HIG_BASE EQU 158 +DEF TITLE_RECORDS_GRADE_BASE EQU 160 + DEF PROFILE_SIZE EQU 64 DEF PROFILE_COUNT EQU 10 DEF HISCORE_ENTRY_SIZE EQU 32 diff --git a/src/res/other_data.inc b/src/res/other_data.inc index dee9e97..22bd361 100644 --- a/src/res/other_data.inc +++ b/src/res/other_data.inc @@ -1059,11 +1059,11 @@ sTitleTiles:: DB $30,$30,$30,$30,$30,$30,$30,$30 DB $30,$30,$30,$30,$30,$30,$30,$30 DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$C0,$C0,$C0,$C0,$00,$00 + DB $70,$70,$D8,$D8,$D8,$D8,$D8,$D8 + DB $D8,$D8,$DB,$DB,$73,$73,$00,$00 + DB $03,$03,$0F,$0F,$3F,$3F,$FF,$FF + DB $3F,$3F,$0F,$0F,$03,$03,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 @@ -1116,114 +1116,114 @@ sTitleTiles:: DB $C0,$C0,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$75,$00,$47,$00,$55,$00,$55 + DB $00,$75,$00,$00,$00,$3E,$00,$00 + DB $00,$75,$00,$47,$00,$55,$00,$55 + DB $00,$75,$00,$00,$00,$36,$00,$00 + DB $00,$75,$00,$47,$00,$55,$00,$55 + DB $00,$75,$00,$00,$00,$2A,$00,$00 + DB $00,$00,$00,$3E,$00,$7F,$00,$6B + DB $00,$3E,$00,$2A,$00,$00,$00,$00 + DB $00,$00,$00,$FF,$20,$81,$76,$81 + DB $20,$81,$00,$FF,$00,$00,$00,$00 + DB $00,$26,$00,$55,$00,$76,$00,$55 + DB $00,$55,$00,$00,$00,$3E,$00,$00 + DB $00,$26,$00,$55,$00,$76,$00,$55 + DB $00,$55,$00,$00,$00,$36,$00,$00 + DB $00,$00,$00,$FF,$20,$81,$76,$81 + DB $20,$81,$00,$FF,$00,$00,$00,$00 + DB $18,$18,$2C,$34,$62,$5E,$76,$6E + DB $24,$3C,$24,$3C,$18,$18,$00,$00 + DB $02,$70,$02,$40,$02,$60,$07,$40 + DB $07,$40,$02,$00,$00,$1F,$00,$00 + DB $02,$70,$02,$40,$02,$70,$07,$10 + DB $07,$70,$02,$00,$00,$1F,$00,$00 + DB $02,$50,$02,$50,$02,$70,$07,$50 + DB $07,$50,$02,$00,$00,$1F,$00,$00 + DB $02,$40,$02,$40,$02,$40,$07,$40 + DB $07,$70,$02,$00,$00,$1F,$00,$00 + DB $02,$50,$02,$50,$02,$20,$07,$50 + DB $07,$50,$02,$00,$00,$1F,$00,$00 + DB $00,$3E,$02,$61,$04,$51,$24,$49 + DB $00,$45,$30,$43,$00,$3E,$00,$00 + DB $00,$00,$00,$62,$00,$15,$00,$25 + DB $00,$45,$00,$72,$00,$00,$00,$00 + DB $02,$02,$05,$05,$05,$05,$03,$03 + DB $01,$01,$05,$05,$02,$02,$00,$00 + DB $02,$02,$05,$05,$05,$05,$02,$02 + DB $05,$05,$05,$05,$02,$02,$00,$00 + DB $07,$07,$01,$01,$01,$01,$02,$02 + DB $02,$02,$02,$02,$02,$02,$00,$00 + DB $02,$02,$05,$05,$04,$04,$06,$06 + DB $05,$05,$05,$05,$02,$02,$00,$00 + DB $07,$07,$04,$04,$04,$04,$06,$06 + DB $01,$01,$01,$01,$06,$06,$00,$00 + DB $05,$05,$05,$05,$05,$05,$07,$07 + DB $01,$01,$01,$01,$01,$01,$00,$00 + DB $06,$06,$01,$01,$01,$01,$02,$02 + DB $01,$01,$01,$01,$06,$06,$00,$00 + DB $06,$06,$01,$01,$01,$01,$02,$02 + DB $04,$04,$04,$04,$07,$07,$00,$00 + DB $02,$02,$06,$06,$02,$02,$02,$02 + DB $02,$02,$02,$02,$07,$07,$00,$00 + DB $E2,$E2,$86,$86,$82,$82,$E2,$E2 + DB $22,$22,$22,$22,$E7,$E7,$00,$00 + DB $E6,$E6,$81,$81,$81,$81,$E2,$E2 + DB $24,$24,$24,$24,$E7,$E7,$00,$00 + DB $E6,$E6,$81,$81,$81,$81,$E2,$E2 + DB $21,$21,$21,$21,$E6,$E6,$00,$00 + DB $E5,$E5,$85,$85,$85,$85,$E7,$E7 + DB $21,$21,$21,$21,$E1,$E1,$00,$00 + DB $E7,$E7,$84,$84,$84,$84,$E6,$E6 + DB $21,$21,$21,$21,$E6,$E6,$00,$00 + DB $E2,$E2,$85,$85,$84,$84,$E6,$E6 + DB $25,$25,$25,$25,$E2,$E2,$00,$00 + DB $E7,$E7,$81,$81,$81,$81,$E2,$E2 + DB $22,$22,$22,$22,$E2,$E2,$00,$00 + DB $E2,$E2,$85,$85,$85,$85,$E2,$E2 + DB $25,$25,$25,$25,$E2,$E2,$00,$00 + DB $E2,$E2,$85,$85,$85,$85,$E3,$E3 + DB $21,$21,$25,$25,$E2,$E2,$00,$00 + DB $D2,$D2,$95,$95,$95,$95,$D5,$D5 + DB $55,$55,$55,$55,$D2,$D2,$00,$00 + DB $D2,$D2,$96,$96,$92,$92,$D2,$D2 + DB $52,$52,$52,$52,$D7,$D7,$00,$00 + DB $D6,$D6,$91,$91,$91,$91,$D2,$D2 + DB $54,$54,$54,$54,$D7,$D7,$00,$00 + DB $D6,$D6,$91,$91,$91,$91,$D2,$D2 + DB $51,$51,$51,$51,$D6,$D6,$00,$00 + DB $02,$02,$06,$06,$02,$02,$A2,$A2 + DB $E2,$E2,$A2,$A2,$A7,$A7,$00,$00 + DB $06,$06,$01,$01,$01,$01,$A2,$A2 + DB $E4,$E4,$A4,$A4,$A7,$A7,$00,$00 + DB $06,$06,$01,$01,$01,$01,$A2,$A2 + DB $E1,$E1,$A1,$A1,$A6,$A6,$00,$00 + DB $05,$05,$05,$05,$05,$05,$A7,$A7 + DB $E1,$E1,$A1,$A1,$A1,$A1,$00,$00 + DB $07,$07,$04,$04,$04,$04,$A6,$A6 + DB $E1,$E1,$A1,$A1,$A6,$A6,$00,$00 + DB $02,$02,$05,$05,$04,$04,$A6,$A6 + DB $E5,$E5,$A5,$A5,$A2,$A2,$00,$00 + DB $07,$07,$01,$01,$01,$01,$A2,$A2 + DB $E2,$E2,$A2,$A2,$A2,$A2,$00,$00 + DB $02,$02,$05,$05,$05,$05,$A2,$A2 + DB $E5,$E5,$A5,$A5,$A2,$A2,$00,$00 + DB $02,$02,$05,$05,$05,$05,$A3,$A3 + DB $E1,$E1,$A5,$A5,$A2,$A2,$00,$00 + DB $A0,$A0,$E0,$E0,$A0,$A0,$A0,$A0 + DB $A0,$A0,$A0,$A0,$A0,$A0,$00,$00 + DB $AA,$AA,$EA,$EA,$AE,$AE,$AE,$AE + DB $A4,$A4,$A4,$A4,$A4,$A4,$00,$00 + DB $A4,$A4,$E4,$E4,$AE,$AE,$AA,$AA + DB $AE,$AE,$A4,$A4,$A4,$A4,$00,$00 + DB $AE,$AE,$E0,$E0,$A0,$A0,$A4,$A4 + DB $A0,$A0,$A0,$A0,$AE,$AE,$00,$00 + DB $A4,$A4,$EA,$EA,$AA,$AA,$AA,$AA + DB $A4,$A4,$AA,$AA,$AA,$AA,$00,$00 + DB $EA,$EA,$8E,$8E,$8A,$8A,$AA,$AA + DB $AA,$AA,$AA,$AA,$EA,$EA,$00,$00 + DB $00,$00,$66,$66,$66,$66,$3C,$3C + DB $3C,$3C,$66,$66,$66,$66,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 diff --git a/src/res/sources/complete_title.gbr b/src/res/sources/complete_title.gbr index 1b6c6d5..48c75e1 100644 Binary files a/src/res/sources/complete_title.gbr and b/src/res/sources/complete_title.gbr differ diff --git a/src/res/sources/map_title_main_records.gbm b/src/res/sources/map_title_main_records.gbm new file mode 100644 index 0000000..61e5d4c Binary files /dev/null and b/src/res/sources/map_title_main_records.gbm differ diff --git a/src/res/sources/tiles_title.gbr b/src/res/sources/tiles_title.gbr index 20cf6ec..6d04bad 100644 Binary files a/src/res/sources/tiles_title.gbr and b/src/res/sources/tiles_title.gbr differ diff --git a/src/res/title_data.inc b/src/res/title_data.inc index baae517..54cd009 100644 --- a/src/res/title_data.inc +++ b/src/res/title_data.inc @@ -407,5 +407,76 @@ sTitleScreenProfileMap:: DB $00,$00 sTitleScreenProfileMapEnd:: +sTitleScreenRecordsMap:: + DB $01,$01,$01,$01,$01,$01,$01,$1E,$0E,$1A + DB $1D,$10,$1E,$01,$01,$01,$01,$01,$01,$01 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$01,$01,$01,$01,$01,$01 + DB $75,$28,$23,$23,$23,$23,$29,$5C,$01,$01 + DB $01,$01,$01,$01,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $03,$73,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$04,$73,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$05,$73,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$06,$73,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$07,$73 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $08,$73,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$09,$73,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$0A,$73,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$0B,$73,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$03,$74 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + DB $01,$01,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$0D,$2A,$0D,$0C,$0E,$16 + DB $01,$6D,$2A,$19,$0C,$21,$14,$01,$1E,$17 + DB $2A,$1D,$1E,$1F,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00 +sTitleScreenRecordsMapEnd:: + ENDC diff --git a/src/sram.asm b/src/sram.asm index c95264e..843413a 100644 --- a/src/sram.asm +++ b/src/sram.asm @@ -341,30 +341,63 @@ InitializeSRAM: ld [rProfileName9+2], a ; Set the default scores. +ResetScores:: + ld a, [wSelected] + ld b, a + add a, b + add a, b + ld c, a + ld b, 0 + ld hl, .jumps + add hl, bc + jp hl + +.jumps + jp .dmgt + jp .tgm1 + jp .tgm3 + jp .deat + jp .shir + jp .chil + jp .myco + +.dmgt ld hl, rScoreTableDMGT ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.tgm1 ld hl, rScoreTableTGM1 ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.tgm3 ld hl, rScoreTableTGM3 ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.deat ld hl, rScoreTableDEAT ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.shir ld hl, rScoreTableSHIR ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.chil ld hl, rScoreTableCHIL ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) - call UnsafeMemCopy + jp UnsafeMemCopy + +.myco ld hl, rScoreTableMYCO ld de, sHiscoreDefaultData ld bc, (HISCORE_ENTRY_COUNT * HISCORE_ENTRY_SIZE) @@ -620,5 +653,4 @@ ResetProfile:: ld [rSelectedStartLevel+1], a ret - ENDC diff --git a/src/state_title.asm b/src/state_title.asm index fe2c71b..03c39a3 100644 --- a/src/state_title.asm +++ b/src/state_title.asm @@ -344,10 +344,14 @@ SwitchTitleMode: ret .switchRecords + ld de, sTitleScreenRecordsMap + ld hl, $9800 + ld bc, sTitleScreenRecordsMapEnd - sTitleScreenRecordsMap + call UnsafeMemCopy call GBCTitleInit - ld a, LCDCF_ON | LCDCF_BGON | LCDCF_BLK01 - ldh [rLCDC], a - ret + xor a, a + ldh [hSelectState], a + jp RenderScores .switchCredits ld de, sTitleScreenCreditsMap @@ -536,7 +540,24 @@ TitleEventLoopHandlerB: jp SettingsHandleRight .eventLoopRecords - ret + ; B? + ldh a, [hBState] + cp a, 1 + jp z, .quitrecords + + ; L/R? + ldh a, [hLeftState] + cp a, 1 + jp z, RecordsHandleLeft + ldh a, [hRightState] + cp a, 1 + jp z, RecordsHandleRight + + ; Select + ldh a, [hSelectState] + cp a, 255 ; Max hold duraction + ret nz + jp RecordsHandleSelect .eventLoopCredits ldh a, [hAState] @@ -551,6 +572,7 @@ TitleEventLoopHandlerB: ret .quitcredits +.quitrecords ld a, TITLE_MAIN jp SwitchTitleMode @@ -889,7 +911,7 @@ MainHandleA: jp SwitchToGameplayBig jp .toprofile jp .tosettings - no_jump + jp .torecords jp .tocredits .tosettings @@ -904,6 +926,10 @@ MainHandleA: ld a, TITLE_PROFILE jp SwitchTitleMode +.torecords + ld a, TITLE_RECORDS + jp SwitchTitleMode + MainHandleUp: ld a, [wSelected] @@ -1493,6 +1519,171 @@ CheckLevelRange: .notatstart ret +RecordsHandleLeft: + xor a, a + ldh [hSelectState], a + ld a, [wSelected] + cp a, 0 + jr z, :+ + dec a + ld [wSelected], a + jp RenderScores +: ld a, SCURVE_COUNT-1 + ld [wSelected], a + jp RenderScores + +RecordsHandleRight: + xor a, a + ldh [hSelectState], a + ld a, [wSelected] + cp a, SCURVE_COUNT-1 + jr z, :+ + inc a + ld [wSelected], a + jp RenderScores +: xor a, a + ld [wSelected], a + jp RenderScores + +RecordsHandleSelect: + xor a, a + ldh [hSelectState], a + call ResetScores + jp RenderScores + +RenderScores: + ; Turn the screen off if it's on. + ldh a, [rLCDC] + and LCDCF_ON + jr z, :+ ; Screen is already off. + wait_vram + xor a, a + ldh [rLCDC], a + + ; Draw the mode. +: ld b, 0 + ld a, [wSelected] + sla a + sla a + ld c, a + ld hl, sCURVEMode + add hl, bc + ld d, h + ld e, l + ld hl, TITLE_RECORDS_MODE + ld bc, 4 + call UnsafeMemCopy + + ; Get the correct speed curve. + ld a, [wSelected] + call InitTargetHSTable + + ; Start of table is at HL. Put it in DE. + ld d, h + ld e, l + + ld hl, TITLE_RECORDS_SCORE_BASE+4 + + REPT 10 + ; Render score. + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + ld a, [de] + inc de + add a, "0" + ld [hl+], a + + ; Jump back to Name. + ld bc, -12 + add hl, bc + + ; Render it. + ld a, [de] + inc de + ld [hl+], a + ld a, [de] + inc de + ld [hl+], a + ld a, [de] + inc de + ld [hl+], a + + ; Jump to tells. + ld bc, 10 + add hl, bc + + ; Render them. + ld a, [de] + inc de + cp a, GRADE_NONE + jr nz, .grade\@ +.nograde\@ + ld a, TILE_BLANK + ld [hl+], a + jr .postgrade\@ +.grade\@ + add a, TITLE_RECORDS_GRADE_BASE + ld [hl+], a +.postgrade\@ + ld a, [de] + inc de + add a, TITLE_RECORDS_RNG_BASE + ld [hl+], a + ld a, [de] + inc de + add a, TITLE_RECORDS_ROT_BASE + ld [hl+], a + ld a, [de] + inc de + add a, TITLE_RECORDS_DROP_BASE + ld [hl+], a + ld a, [de] + inc de + add a, TITLE_RECORDS_HIG_BASE + ld [hl+], a + + ; Jump to next line. + push hl + ld h, d + ld l, e + ld bc, 16 + add hl, bc + ld d, h + ld e, l + pop hl + ld bc, 18 + add hl, bc + ENDR + + ld a, LCDCF_ON | LCDCF_BGON | LCDCF_BLK01 + ldh [rLCDC], a + ret ENDC