diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 284e7db..c790ea3 100644 Binary files a/bin/DMGTRIS.GBC and b/bin/DMGTRIS.GBC differ diff --git a/bin/DMGTRIS.map b/bin/DMGTRIS.map index 8cb951e..7413c69 100644 --- a/bin/DMGTRIS.map +++ b/bin/DMGTRIS.map @@ -301,7 +301,7 @@ ROM0 bank #0: $2663 = UpdateGradeSHIR.disqualify $2672 = UpdateGradeSHIR.l1000 $2688 = UpdateGradeSHIR.l500 - SECTION: $269e-$2a80 ($03e3 bytes) ["Level Functions"] + SECTION: $269e-$2a9a ($03fd bytes) ["Level Functions"] $269e = LevelInit $270e = SpecialLevelInit $271c = SpecialLevelInit.jumps @@ -345,255 +345,257 @@ ROM0 bank #0: $2a39 = TriggerKillScreen $2a5b = GetSection $2a6c = GetSectionBCD - $2a75 = SkipSection - SECTION: $2a81-$2d36 ($02b6 bytes) ["Grading Data"] - $2a81 = sTGM1GradeScores - $2aa3 = sTGM3InternalGradeSystem - $2b43 = sTGM3GradeBoosts - $2b62 = sTGM3LevelMultiplier - $2b66 = sTGM3BaselineCOOL - $2b6f = sTGM3REGRETConditions - $2b83 = sDMGTGrading - $2c37 = sDMGTGaugeLUT - SECTION: $2d37-$2fd6 ($02a0 bytes) ["SFX Functions"] - $2d37 = SFXInit - $2d59 = SFXPopQueue - $2d6e = SFXPushQueue - $2d7f = SFXProcessQueue - $2d90 = !0 - $2dab = !1 - $2dad = SFXTriggerNoise - $2dba = !2 - $2dc7 = !3 - $2dd3 = SFXEnqueue - $2de8 = SFXEnqueue.findsfx - $2dfd = !4 - $2e0d = !5 - $2e1d = !6 - $2e2d = !7 - $2e3d = !8 - $2e4d = !9 - $2e5d = !10 - $2e6d = !11 - $2e7d = !12 - $2e8d = !13 - $2e9d = !14 - $2ead = !15 - $2ebd = !16 - $2ecd = !17 - $2edd = !18 - $2eec = !19 - $2efb = !20 - $2f0a = !21 - $2f19 = !22 - $2f27 = !23 - $2f35 = !24 - $2f42 = SFXKill - $2f75 = SFXPlayNoise - $2f80 = SFXPlayNoise.noisereg - $2f8d = !25 - $2f97 = SFXPlayNoise.savenoiseplayhead - $2fa0 = SFXPlay - $2fab = !26 - $2fae = SFXPlay.play - $2fba = SFXPlay.getRegister - $2fc4 = !27 - $2fce = SFXPlay.savePlayhead - SECTION: $2fd7-$3207 ($0231 bytes) ["RNG Functions"] - $2fd7 = HarvestEntropy - $2fdd = HarvestEntropy.loop - $2ffe = RNGInit - $3034 = !0 - $3064 = RNGInit.complexinit - $307b = !1 - $3096 = ShiftHistory - $30b3 = GetNextHellPiece - $30b8 = GetNextTGM1Piece - $30bb = !2 - $30d3 = !3 - $30d5 = GetNextTGM2Piece - $30d8 = !4 - $30f0 = !5 - $30f2 = GetNextNesPiece - $3100 = GetNextTGM3Piece - $3103 = !6 - $3126 = !7 - $3129 = !8 - $3139 = !9 - $3143 = !10 - $3151 = !11 - $3160 = !12 - $316c = !13 - $3178 = !14 - $3184 = !15 - $3190 = !16 - $319c = !17 - $31a8 = !18 - $31b7 = GetNextPiece - $31c5 = GetNextPiece.nextpiecejumps - $31d4 = Next35Piece - $31d4 = !19 - $31de = Next7Piece - $31de = !20 - $31e8 = NextByte - SECTION: $3208-$33cf ($01c8 bytes) ["Hi Score Functions"] - $3208 = CheckAndAddHiscore - $3212 = CheckAndAddHiscore.checkloop - $3217 = CheckAndAddHiscore.checkgrade - $3220 = CheckAndAddHiscore.oldgraded - $322f = CheckAndAddHiscore.oldungraded - $3236 = CheckAndAddHiscore.checklevel - $325b = CheckAndAddHiscore.checkscore - $329e = CheckAndAddHiscore.notbetter - $32ab = CheckAndAddHiscore.better - $32ad = InsertHiScore - $32ad = InsertHiScore.copylower - $32be = InsertHiScore.copyupper - $32cb = !0 - $32df = InsertHiScore.findrow - $32ec = !1 - $32f0 = InsertHiScore.insert - $3349 = InsertHiScore.persist - $335a = GetHiScoreEntry - $336f = !2 - $3373 = GetHiScoreEntry.store - $337c = InitTargetHSTable - $3387 = InitTargetHSTable.jumps - $339c = InitTargetHSTable.dmgt - $33a1 = InitTargetHSTable.tgm1 - $33a6 = InitTargetHSTable.tgm3 - $33ab = InitTargetHSTable.deat - $33b0 = InitTargetHSTable.shir - $33b5 = InitTargetHSTable.chil - $33ba = InitTargetHSTable.myco - $33bd = InitTargetHSTable.store - SECTION: $33d0-$3519 ($014a bytes) ["Progress Data"] - $33d0 = sProgressData - SECTION: $351a-$3659 ($0140 bytes) ["Hi Score Data"] - $351a = sHiscoreDefaultData - SECTION: $365a-$378d ($0134 bytes) ["Input Functions"] - $365a = InputInit - $366c = GetInput - $366c = GetInput.btns - $3679 = GetInput.readA - $367d = GetInput.setA - $3688 = GetInput.clearA - $368b = GetInput.readB - $368f = GetInput.setB - $369a = GetInput.clearB - $369d = GetInput.readSelect - $36a1 = GetInput.setSelect - $36ac = GetInput.clearSelect - $36af = GetInput.readStart - $36b3 = GetInput.setStart - $36be = GetInput.clearStart - $36c1 = GetInput.dpad - $36ce = GetInput.readUp - $36d2 = GetInput.setUp - $36dd = GetInput.clearUp - $36e0 = GetInput.readDown - $36e4 = GetInput.setDown - $36ef = GetInput.clearDown - $36f2 = GetInput.readLeft - $36f6 = GetInput.setLeft - $3701 = GetInput.clearLeft - $3704 = GetInput.readRight - $3708 = GetInput.setRight - $3713 = GetInput.clearRight - $3716 = GetInput.priorities - $3723 = GetInput.jumps - $3732 = GetInput.dlru - $3745 = GetInput.ulrd - $3758 = GetInput.lrud - $3765 = GetInput.udlr - $3772 = GetInput.zeroud - $3778 = GetInput.zerolr - $377e = GetInput.zerolrd - $3786 = GetInput.zerolru - SECTION: $378e-$386d ($00e0 bytes) ["Score Functions"] - $378e = ScoreInit - $37b6 = IncreaseScore - $37ee = IncreaseScore.doConvert - $37f0 = !0 - $3806 = IncreaseScore.carry - $3808 = IncreaseScore.postConvert - $3815 = !1 - $381c = IncreaseScore.preAddDigit - $3844 = IncreaseScore.addDigit - $385a = IncreaseScore.nextDigit - SECTION: $386e-$3938 ($00cb bytes) ["Title Function Trampolines"] - $386e = SwitchToTitle - $3877 = TitleEventLoopHandler - $3881 = TitleVBlankHandler - $388b = PersistLevel - $3899 = DrawSpeedMain - $38e9 = DrawSpeedSettings - SECTION: $3939-$39fe ($00c6 bytes) ["Time Functions"] - $3939 = TimeInit - $3959 = StartCountdown - $3967 = ResetGameTime - $3972 = CheckTorikan - $3989 = CheckTorikan.failure - $398b = CheckTorikan.success - $398e = HandleTimers - $39b4 = HandleTimers.reduce - $39c1 = HandleTimers.clock - $39db = HandleTimers.go - SECTION: $39ff-$3ab0 ($00b2 bytes) ["Progress Functions"] - $39ff = SetProgress - $3a0a = SetProgress.loop - $3a0e = SetProgress.correct - $3a35 = SetProgress.wvr_u1 - $3a41 = SetProgress.wvr_u2 - $3a4f = SetProgress.wvr_u3 - $3a5b = SetProgress.wvr_u4 - $3a69 = SetProgress.wvr_u5 - $3a75 = SetProgress.wvr_u6 - $3a83 = SetProgress.wvr_u7 - $3a8f = SetProgress.wvr_u8 - $3a9d = SetProgress.wvr_u9 - $3aa9 = SetProgress.wvr_u10 - SECTION: $3ab1-$3b48 ($0098 bytes) ["Code Entry Point"] - $3ab1 = Main - $3ada = Main.notgbc - $3ae0 = Main.wvr_u1 - $3b0d = EventLoop - $3b23 = EventLoop.eventloopjumps - $3b2c = EventLoopPostHandler - $3b2e = EventLoopPostHandler.wvb_u2 - $3b40 = EventLoopPostHandler.vblankjumps - SECTION: $3b49-$3b9a ($0052 bytes) ["Tile Functions"] - $3b49 = LoadTitleTiles - $3b67 = LoadGameplayTiles - $3b7d = LoadGameplayTiles.gbc - $3b8c = LoadGameplayTiles.dmg - SECTION: $3b9b-$3bd6 ($003c bytes) ["Time Data"] - $3b9b = sFramesToCS - SECTION: $3bd7-$3c04 ($002e bytes) ["Memory Functions"] - $3bd7 = UnsafeMemCopy - $3be0 = SafeMemCopy.wvr_u1 - $3be0 = SafeMemCopy - $3bef = UnsafeMemSet - $3bf7 = SafeMemSet - $3bf7 = SafeMemSet.wvr_u2 - SECTION: $3c05-$3c2a ($0026 bytes) ["Gameplay Function Trampolines"] - $3c05 = SwitchToGameplay - $3c0e = SwitchToGameplayBig - $3c17 = GamePlayEventLoopHandler - $3c21 = GamePlayBigEventLoopHandler - SECTION: $3c2b-$3c4f ($0025 bytes) ["Interrupt Initialization Functions"] - $3c2b = EnableScreenSquish - $3c45 = DisableScreenSquish - SECTION: $3c50-$3c71 ($0022 bytes) ["OAM Functions"] - $3c50 = CopyOAMHandler - $3c5c = ClearOAM - SECTION: $3c72-$3c80 ($000f bytes) ["Banking Functions"] - $3c72 = BankingInit - SECTION: $3c81-$3c8a ($000a bytes) ["OAM DMA Code"] - $3c81 = OAMDMA - $3c8b = OAMDMAEnd - EMPTY: $3c8b-$3fff ($0375 bytes) - TOTAL EMPTY: $0380 bytes + $2a75 = GetAdjustedSection + $2a86 = GetAdjustedSectionBCD + $2a8f = SkipSection + SECTION: $2a9b-$2d50 ($02b6 bytes) ["Grading Data"] + $2a9b = sTGM1GradeScores + $2abd = sTGM3InternalGradeSystem + $2b5d = sTGM3GradeBoosts + $2b7c = sTGM3LevelMultiplier + $2b80 = sTGM3BaselineCOOL + $2b89 = sTGM3REGRETConditions + $2b9d = sDMGTGrading + $2c51 = sDMGTGaugeLUT + SECTION: $2d51-$2ff0 ($02a0 bytes) ["SFX Functions"] + $2d51 = SFXInit + $2d73 = SFXPopQueue + $2d88 = SFXPushQueue + $2d99 = SFXProcessQueue + $2daa = !0 + $2dc5 = !1 + $2dc7 = SFXTriggerNoise + $2dd4 = !2 + $2de1 = !3 + $2ded = SFXEnqueue + $2e02 = SFXEnqueue.findsfx + $2e17 = !4 + $2e27 = !5 + $2e37 = !6 + $2e47 = !7 + $2e57 = !8 + $2e67 = !9 + $2e77 = !10 + $2e87 = !11 + $2e97 = !12 + $2ea7 = !13 + $2eb7 = !14 + $2ec7 = !15 + $2ed7 = !16 + $2ee7 = !17 + $2ef7 = !18 + $2f06 = !19 + $2f15 = !20 + $2f24 = !21 + $2f33 = !22 + $2f41 = !23 + $2f4f = !24 + $2f5c = SFXKill + $2f8f = SFXPlayNoise + $2f9a = SFXPlayNoise.noisereg + $2fa7 = !25 + $2fb1 = SFXPlayNoise.savenoiseplayhead + $2fba = SFXPlay + $2fc5 = !26 + $2fc8 = SFXPlay.play + $2fd4 = SFXPlay.getRegister + $2fde = !27 + $2fe8 = SFXPlay.savePlayhead + SECTION: $2ff1-$3221 ($0231 bytes) ["RNG Functions"] + $2ff1 = HarvestEntropy + $2ff7 = HarvestEntropy.loop + $3018 = RNGInit + $304e = !0 + $307e = RNGInit.complexinit + $3095 = !1 + $30b0 = ShiftHistory + $30cd = GetNextHellPiece + $30d2 = GetNextTGM1Piece + $30d5 = !2 + $30ed = !3 + $30ef = GetNextTGM2Piece + $30f2 = !4 + $310a = !5 + $310c = GetNextNesPiece + $311a = GetNextTGM3Piece + $311d = !6 + $3140 = !7 + $3143 = !8 + $3153 = !9 + $315d = !10 + $316b = !11 + $317a = !12 + $3186 = !13 + $3192 = !14 + $319e = !15 + $31aa = !16 + $31b6 = !17 + $31c2 = !18 + $31d1 = GetNextPiece + $31df = GetNextPiece.nextpiecejumps + $31ee = Next35Piece + $31ee = !19 + $31f8 = Next7Piece + $31f8 = !20 + $3202 = NextByte + SECTION: $3222-$33e9 ($01c8 bytes) ["Hi Score Functions"] + $3222 = CheckAndAddHiscore + $322c = CheckAndAddHiscore.checkloop + $3231 = CheckAndAddHiscore.checkgrade + $323a = CheckAndAddHiscore.oldgraded + $3249 = CheckAndAddHiscore.oldungraded + $3250 = CheckAndAddHiscore.checklevel + $3275 = CheckAndAddHiscore.checkscore + $32b8 = CheckAndAddHiscore.notbetter + $32c5 = CheckAndAddHiscore.better + $32c7 = InsertHiScore + $32c7 = InsertHiScore.copylower + $32d8 = InsertHiScore.copyupper + $32e5 = !0 + $32f9 = InsertHiScore.findrow + $3306 = !1 + $330a = InsertHiScore.insert + $3363 = InsertHiScore.persist + $3374 = GetHiScoreEntry + $3389 = !2 + $338d = GetHiScoreEntry.store + $3396 = InitTargetHSTable + $33a1 = InitTargetHSTable.jumps + $33b6 = InitTargetHSTable.dmgt + $33bb = InitTargetHSTable.tgm1 + $33c0 = InitTargetHSTable.tgm3 + $33c5 = InitTargetHSTable.deat + $33ca = InitTargetHSTable.shir + $33cf = InitTargetHSTable.chil + $33d4 = InitTargetHSTable.myco + $33d7 = InitTargetHSTable.store + SECTION: $33ea-$3533 ($014a bytes) ["Progress Data"] + $33ea = sProgressData + SECTION: $3534-$3673 ($0140 bytes) ["Hi Score Data"] + $3534 = sHiscoreDefaultData + SECTION: $3674-$37a7 ($0134 bytes) ["Input Functions"] + $3674 = InputInit + $3686 = GetInput + $3686 = GetInput.btns + $3693 = GetInput.readA + $3697 = GetInput.setA + $36a2 = GetInput.clearA + $36a5 = GetInput.readB + $36a9 = GetInput.setB + $36b4 = GetInput.clearB + $36b7 = GetInput.readSelect + $36bb = GetInput.setSelect + $36c6 = GetInput.clearSelect + $36c9 = GetInput.readStart + $36cd = GetInput.setStart + $36d8 = GetInput.clearStart + $36db = GetInput.dpad + $36e8 = GetInput.readUp + $36ec = GetInput.setUp + $36f7 = GetInput.clearUp + $36fa = GetInput.readDown + $36fe = GetInput.setDown + $3709 = GetInput.clearDown + $370c = GetInput.readLeft + $3710 = GetInput.setLeft + $371b = GetInput.clearLeft + $371e = GetInput.readRight + $3722 = GetInput.setRight + $372d = GetInput.clearRight + $3730 = GetInput.priorities + $373d = GetInput.jumps + $374c = GetInput.dlru + $375f = GetInput.ulrd + $3772 = GetInput.lrud + $377f = GetInput.udlr + $378c = GetInput.zeroud + $3792 = GetInput.zerolr + $3798 = GetInput.zerolrd + $37a0 = GetInput.zerolru + SECTION: $37a8-$3887 ($00e0 bytes) ["Score Functions"] + $37a8 = ScoreInit + $37d0 = IncreaseScore + $3808 = IncreaseScore.doConvert + $380a = !0 + $3820 = IncreaseScore.carry + $3822 = IncreaseScore.postConvert + $382f = !1 + $3836 = IncreaseScore.preAddDigit + $385e = IncreaseScore.addDigit + $3874 = IncreaseScore.nextDigit + SECTION: $3888-$3952 ($00cb bytes) ["Title Function Trampolines"] + $3888 = SwitchToTitle + $3891 = TitleEventLoopHandler + $389b = TitleVBlankHandler + $38a5 = PersistLevel + $38b3 = DrawSpeedMain + $3903 = DrawSpeedSettings + SECTION: $3953-$3a18 ($00c6 bytes) ["Time Functions"] + $3953 = TimeInit + $3973 = StartCountdown + $3981 = ResetGameTime + $398c = CheckTorikan + $39a3 = CheckTorikan.failure + $39a5 = CheckTorikan.success + $39a8 = HandleTimers + $39ce = HandleTimers.reduce + $39db = HandleTimers.clock + $39f5 = HandleTimers.go + SECTION: $3a19-$3aca ($00b2 bytes) ["Progress Functions"] + $3a19 = SetProgress + $3a24 = SetProgress.loop + $3a28 = SetProgress.correct + $3a4f = SetProgress.wvr_u1 + $3a5b = SetProgress.wvr_u2 + $3a69 = SetProgress.wvr_u3 + $3a75 = SetProgress.wvr_u4 + $3a83 = SetProgress.wvr_u5 + $3a8f = SetProgress.wvr_u6 + $3a9d = SetProgress.wvr_u7 + $3aa9 = SetProgress.wvr_u8 + $3ab7 = SetProgress.wvr_u9 + $3ac3 = SetProgress.wvr_u10 + SECTION: $3acb-$3b62 ($0098 bytes) ["Code Entry Point"] + $3acb = Main + $3af4 = Main.notgbc + $3afa = Main.wvr_u1 + $3b27 = EventLoop + $3b3d = EventLoop.eventloopjumps + $3b46 = EventLoopPostHandler + $3b48 = EventLoopPostHandler.wvb_u2 + $3b5a = EventLoopPostHandler.vblankjumps + SECTION: $3b63-$3bb4 ($0052 bytes) ["Tile Functions"] + $3b63 = LoadTitleTiles + $3b81 = LoadGameplayTiles + $3b97 = LoadGameplayTiles.gbc + $3ba6 = LoadGameplayTiles.dmg + SECTION: $3bb5-$3bf0 ($003c bytes) ["Time Data"] + $3bb5 = sFramesToCS + SECTION: $3bf1-$3c1e ($002e bytes) ["Memory Functions"] + $3bf1 = UnsafeMemCopy + $3bfa = SafeMemCopy.wvr_u1 + $3bfa = SafeMemCopy + $3c09 = UnsafeMemSet + $3c11 = SafeMemSet + $3c11 = SafeMemSet.wvr_u2 + SECTION: $3c1f-$3c44 ($0026 bytes) ["Gameplay Function Trampolines"] + $3c1f = SwitchToGameplay + $3c28 = SwitchToGameplayBig + $3c31 = GamePlayEventLoopHandler + $3c3b = GamePlayBigEventLoopHandler + SECTION: $3c45-$3c69 ($0025 bytes) ["Interrupt Initialization Functions"] + $3c45 = EnableScreenSquish + $3c5f = DisableScreenSquish + SECTION: $3c6a-$3c8b ($0022 bytes) ["OAM Functions"] + $3c6a = CopyOAMHandler + $3c76 = ClearOAM + SECTION: $3c8c-$3c9a ($000f bytes) ["Banking Functions"] + $3c8c = BankingInit + SECTION: $3c9b-$3ca4 ($000a bytes) ["OAM DMA Code"] + $3c9b = OAMDMA + $3ca5 = OAMDMAEnd + EMPTY: $3ca5-$3fff ($035b bytes) + TOTAL EMPTY: $0366 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -3299,7 +3301,7 @@ HRAM bank #0: TOTAL EMPTY: $0000 bytes SUMMARY: - ROM0: 15488 bytes used / 896 free + ROM0: 15514 bytes used / 870 free ROMX: 68697 bytes used / 29607 free in 6 banks SRAM: 2951 bytes used / 5241 free in 1 bank WRAM0: 3910 bytes used / 186 free diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index 022c0bb..042a08a 100644 Binary files a/bin/DMGTRIS.pocket and b/bin/DMGTRIS.pocket differ diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index a9b7817..4dc0b43 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -302,179 +302,181 @@ 00:2a39 TriggerKillScreen 00:2a5b GetSection 00:2a6c GetSectionBCD -00:2a75 SkipSection -00:2a81 sTGM1GradeScores -00:2aa3 sTGM3InternalGradeSystem -00:2b43 sTGM3GradeBoosts -00:2b62 sTGM3LevelMultiplier -00:2b66 sTGM3BaselineCOOL -00:2b6f sTGM3REGRETConditions -00:2b83 sDMGTGrading -00:2c37 sDMGTGaugeLUT -00:2d37 SFXInit -00:2d59 SFXPopQueue -00:2d6e SFXPushQueue -00:2d7f SFXProcessQueue -00:2dad SFXTriggerNoise -00:2dd3 SFXEnqueue -00:2de8 SFXEnqueue.findsfx -00:2f42 SFXKill -00:2f75 SFXPlayNoise -00:2f80 SFXPlayNoise.noisereg -00:2f97 SFXPlayNoise.savenoiseplayhead -00:2fa0 SFXPlay -00:2fae SFXPlay.play -00:2fba SFXPlay.getRegister -00:2fce SFXPlay.savePlayhead -00:2fd7 HarvestEntropy -00:2fdd HarvestEntropy.loop -00:2ffe RNGInit -00:3064 RNGInit.complexinit -00:3096 ShiftHistory -00:30b3 GetNextHellPiece -00:30b8 GetNextTGM1Piece -00:30d5 GetNextTGM2Piece -00:30f2 GetNextNesPiece -00:3100 GetNextTGM3Piece -00:31b7 GetNextPiece -00:31c5 GetNextPiece.nextpiecejumps -00:31d4 Next35Piece -00:31de Next7Piece -00:31e8 NextByte -00:3208 CheckAndAddHiscore -00:3212 CheckAndAddHiscore.checkloop -00:3217 CheckAndAddHiscore.checkgrade -00:3220 CheckAndAddHiscore.oldgraded -00:322f CheckAndAddHiscore.oldungraded -00:3236 CheckAndAddHiscore.checklevel -00:325b CheckAndAddHiscore.checkscore -00:329e CheckAndAddHiscore.notbetter -00:32ab CheckAndAddHiscore.better -00:32ad InsertHiScore -00:32ad InsertHiScore.copylower -00:32be InsertHiScore.copyupper -00:32df InsertHiScore.findrow -00:32f0 InsertHiScore.insert -00:3349 InsertHiScore.persist -00:335a GetHiScoreEntry -00:3373 GetHiScoreEntry.store -00:337c InitTargetHSTable -00:3387 InitTargetHSTable.jumps -00:339c InitTargetHSTable.dmgt -00:33a1 InitTargetHSTable.tgm1 -00:33a6 InitTargetHSTable.tgm3 -00:33ab InitTargetHSTable.deat -00:33b0 InitTargetHSTable.shir -00:33b5 InitTargetHSTable.chil -00:33ba InitTargetHSTable.myco -00:33bd InitTargetHSTable.store -00:33d0 sProgressData -00:351a sHiscoreDefaultData -00:365a InputInit -00:366c GetInput -00:366c GetInput.btns -00:3679 GetInput.readA -00:367d GetInput.setA -00:3688 GetInput.clearA -00:368b GetInput.readB -00:368f GetInput.setB -00:369a GetInput.clearB -00:369d GetInput.readSelect -00:36a1 GetInput.setSelect -00:36ac GetInput.clearSelect -00:36af GetInput.readStart -00:36b3 GetInput.setStart -00:36be GetInput.clearStart -00:36c1 GetInput.dpad -00:36ce GetInput.readUp -00:36d2 GetInput.setUp -00:36dd GetInput.clearUp -00:36e0 GetInput.readDown -00:36e4 GetInput.setDown -00:36ef GetInput.clearDown -00:36f2 GetInput.readLeft -00:36f6 GetInput.setLeft -00:3701 GetInput.clearLeft -00:3704 GetInput.readRight -00:3708 GetInput.setRight -00:3713 GetInput.clearRight -00:3716 GetInput.priorities -00:3723 GetInput.jumps -00:3732 GetInput.dlru -00:3745 GetInput.ulrd -00:3758 GetInput.lrud -00:3765 GetInput.udlr -00:3772 GetInput.zeroud -00:3778 GetInput.zerolr -00:377e GetInput.zerolrd -00:3786 GetInput.zerolru -00:378e ScoreInit -00:37b6 IncreaseScore -00:37ee IncreaseScore.doConvert -00:3806 IncreaseScore.carry -00:3808 IncreaseScore.postConvert -00:381c IncreaseScore.preAddDigit -00:3844 IncreaseScore.addDigit -00:385a IncreaseScore.nextDigit -00:386e SwitchToTitle -00:3877 TitleEventLoopHandler -00:3881 TitleVBlankHandler -00:388b PersistLevel -00:3899 DrawSpeedMain -00:38e9 DrawSpeedSettings -00:3939 TimeInit -00:3959 StartCountdown -00:3967 ResetGameTime -00:3972 CheckTorikan -00:3989 CheckTorikan.failure -00:398b CheckTorikan.success -00:398e HandleTimers -00:39b4 HandleTimers.reduce -00:39c1 HandleTimers.clock -00:39db HandleTimers.go -00:39ff SetProgress -00:3a0a SetProgress.loop -00:3a0e SetProgress.correct -00:3a35 SetProgress.wvr_u1 -00:3a41 SetProgress.wvr_u2 -00:3a4f SetProgress.wvr_u3 -00:3a5b SetProgress.wvr_u4 -00:3a69 SetProgress.wvr_u5 -00:3a75 SetProgress.wvr_u6 -00:3a83 SetProgress.wvr_u7 -00:3a8f SetProgress.wvr_u8 -00:3a9d SetProgress.wvr_u9 -00:3aa9 SetProgress.wvr_u10 -00:3ab1 Main -00:3ada Main.notgbc -00:3ae0 Main.wvr_u1 -00:3b0d EventLoop -00:3b23 EventLoop.eventloopjumps -00:3b2c EventLoopPostHandler -00:3b2e EventLoopPostHandler.wvb_u2 -00:3b40 EventLoopPostHandler.vblankjumps -00:3b49 LoadTitleTiles -00:3b67 LoadGameplayTiles -00:3b7d LoadGameplayTiles.gbc -00:3b8c LoadGameplayTiles.dmg -00:3b9b sFramesToCS -00:3bd7 UnsafeMemCopy -00:3be0 SafeMemCopy.wvr_u1 -00:3be0 SafeMemCopy -00:3bef UnsafeMemSet -00:3bf7 SafeMemSet -00:3bf7 SafeMemSet.wvr_u2 -00:3c05 SwitchToGameplay -00:3c0e SwitchToGameplayBig -00:3c17 GamePlayEventLoopHandler -00:3c21 GamePlayBigEventLoopHandler -00:3c2b EnableScreenSquish -00:3c45 DisableScreenSquish -00:3c50 CopyOAMHandler -00:3c5c ClearOAM -00:3c72 BankingInit -00:3c81 OAMDMA -00:3c8b OAMDMAEnd +00:2a75 GetAdjustedSection +00:2a86 GetAdjustedSectionBCD +00:2a8f SkipSection +00:2a9b sTGM1GradeScores +00:2abd sTGM3InternalGradeSystem +00:2b5d sTGM3GradeBoosts +00:2b7c sTGM3LevelMultiplier +00:2b80 sTGM3BaselineCOOL +00:2b89 sTGM3REGRETConditions +00:2b9d sDMGTGrading +00:2c51 sDMGTGaugeLUT +00:2d51 SFXInit +00:2d73 SFXPopQueue +00:2d88 SFXPushQueue +00:2d99 SFXProcessQueue +00:2dc7 SFXTriggerNoise +00:2ded SFXEnqueue +00:2e02 SFXEnqueue.findsfx +00:2f5c SFXKill +00:2f8f SFXPlayNoise +00:2f9a SFXPlayNoise.noisereg +00:2fb1 SFXPlayNoise.savenoiseplayhead +00:2fba SFXPlay +00:2fc8 SFXPlay.play +00:2fd4 SFXPlay.getRegister +00:2fe8 SFXPlay.savePlayhead +00:2ff1 HarvestEntropy +00:2ff7 HarvestEntropy.loop +00:3018 RNGInit +00:307e RNGInit.complexinit +00:30b0 ShiftHistory +00:30cd GetNextHellPiece +00:30d2 GetNextTGM1Piece +00:30ef GetNextTGM2Piece +00:310c GetNextNesPiece +00:311a GetNextTGM3Piece +00:31d1 GetNextPiece +00:31df GetNextPiece.nextpiecejumps +00:31ee Next35Piece +00:31f8 Next7Piece +00:3202 NextByte +00:3222 CheckAndAddHiscore +00:322c CheckAndAddHiscore.checkloop +00:3231 CheckAndAddHiscore.checkgrade +00:323a CheckAndAddHiscore.oldgraded +00:3249 CheckAndAddHiscore.oldungraded +00:3250 CheckAndAddHiscore.checklevel +00:3275 CheckAndAddHiscore.checkscore +00:32b8 CheckAndAddHiscore.notbetter +00:32c5 CheckAndAddHiscore.better +00:32c7 InsertHiScore +00:32c7 InsertHiScore.copylower +00:32d8 InsertHiScore.copyupper +00:32f9 InsertHiScore.findrow +00:330a InsertHiScore.insert +00:3363 InsertHiScore.persist +00:3374 GetHiScoreEntry +00:338d GetHiScoreEntry.store +00:3396 InitTargetHSTable +00:33a1 InitTargetHSTable.jumps +00:33b6 InitTargetHSTable.dmgt +00:33bb InitTargetHSTable.tgm1 +00:33c0 InitTargetHSTable.tgm3 +00:33c5 InitTargetHSTable.deat +00:33ca InitTargetHSTable.shir +00:33cf InitTargetHSTable.chil +00:33d4 InitTargetHSTable.myco +00:33d7 InitTargetHSTable.store +00:33ea sProgressData +00:3534 sHiscoreDefaultData +00:3674 InputInit +00:3686 GetInput +00:3686 GetInput.btns +00:3693 GetInput.readA +00:3697 GetInput.setA +00:36a2 GetInput.clearA +00:36a5 GetInput.readB +00:36a9 GetInput.setB +00:36b4 GetInput.clearB +00:36b7 GetInput.readSelect +00:36bb GetInput.setSelect +00:36c6 GetInput.clearSelect +00:36c9 GetInput.readStart +00:36cd GetInput.setStart +00:36d8 GetInput.clearStart +00:36db GetInput.dpad +00:36e8 GetInput.readUp +00:36ec GetInput.setUp +00:36f7 GetInput.clearUp +00:36fa GetInput.readDown +00:36fe GetInput.setDown +00:3709 GetInput.clearDown +00:370c GetInput.readLeft +00:3710 GetInput.setLeft +00:371b GetInput.clearLeft +00:371e GetInput.readRight +00:3722 GetInput.setRight +00:372d GetInput.clearRight +00:3730 GetInput.priorities +00:373d GetInput.jumps +00:374c GetInput.dlru +00:375f GetInput.ulrd +00:3772 GetInput.lrud +00:377f GetInput.udlr +00:378c GetInput.zeroud +00:3792 GetInput.zerolr +00:3798 GetInput.zerolrd +00:37a0 GetInput.zerolru +00:37a8 ScoreInit +00:37d0 IncreaseScore +00:3808 IncreaseScore.doConvert +00:3820 IncreaseScore.carry +00:3822 IncreaseScore.postConvert +00:3836 IncreaseScore.preAddDigit +00:385e IncreaseScore.addDigit +00:3874 IncreaseScore.nextDigit +00:3888 SwitchToTitle +00:3891 TitleEventLoopHandler +00:389b TitleVBlankHandler +00:38a5 PersistLevel +00:38b3 DrawSpeedMain +00:3903 DrawSpeedSettings +00:3953 TimeInit +00:3973 StartCountdown +00:3981 ResetGameTime +00:398c CheckTorikan +00:39a3 CheckTorikan.failure +00:39a5 CheckTorikan.success +00:39a8 HandleTimers +00:39ce HandleTimers.reduce +00:39db HandleTimers.clock +00:39f5 HandleTimers.go +00:3a19 SetProgress +00:3a24 SetProgress.loop +00:3a28 SetProgress.correct +00:3a4f SetProgress.wvr_u1 +00:3a5b SetProgress.wvr_u2 +00:3a69 SetProgress.wvr_u3 +00:3a75 SetProgress.wvr_u4 +00:3a83 SetProgress.wvr_u5 +00:3a8f SetProgress.wvr_u6 +00:3a9d SetProgress.wvr_u7 +00:3aa9 SetProgress.wvr_u8 +00:3ab7 SetProgress.wvr_u9 +00:3ac3 SetProgress.wvr_u10 +00:3acb Main +00:3af4 Main.notgbc +00:3afa Main.wvr_u1 +00:3b27 EventLoop +00:3b3d EventLoop.eventloopjumps +00:3b46 EventLoopPostHandler +00:3b48 EventLoopPostHandler.wvb_u2 +00:3b5a EventLoopPostHandler.vblankjumps +00:3b63 LoadTitleTiles +00:3b81 LoadGameplayTiles +00:3b97 LoadGameplayTiles.gbc +00:3ba6 LoadGameplayTiles.dmg +00:3bb5 sFramesToCS +00:3bf1 UnsafeMemCopy +00:3bfa SafeMemCopy.wvr_u1 +00:3bfa SafeMemCopy +00:3c09 UnsafeMemSet +00:3c11 SafeMemSet +00:3c11 SafeMemSet.wvr_u2 +00:3c1f SwitchToGameplay +00:3c28 SwitchToGameplayBig +00:3c31 GamePlayEventLoopHandler +00:3c3b GamePlayBigEventLoopHandler +00:3c45 EnableScreenSquish +00:3c5f DisableScreenSquish +00:3c6a CopyOAMHandler +00:3c76 ClearOAM +00:3c8c BankingInit +00:3c9b OAMDMA +00:3ca5 OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData diff --git a/src/level.asm b/src/level.asm index f92b112..e3a3f10 100644 --- a/src/level.asm +++ b/src/level.asm @@ -844,6 +844,37 @@ GetSectionBCD:: ret + ; Gets a 0-indexed section number, returned in A as binary. + ; Levels 0000-0099 would return 0, levels 0100-0199 would return 1, ... levels 9900-9999 would return 99. + ; This version calculates the amount of skipped sections in. +GetAdjustedSection:: + ; Load thousands. + ldh a, [hTrueCLevel+CLEVEL_THOUSANDS] + + ; Multiply by 10, which is equal to multiply by 8 + multiply by 2 + ld b, a + sla b + sla a + sla a + sla a + add a, b + + ; Add hundreds. + ld hl, hTrueCLevel+CLEVEL_HUNDREDS + add a, [hl] + ret + + + ; Gets the current section, but as BCD in A. + ; This version calculates the amount of skipped sections in. +GetAdjustedSectionBCD:: + ldh a, [hTrueCLevel+CLEVEL_THOUSANDS] + swap a + ld hl, hTrueCLevel+CLEVEL_HUNDREDS + or a, [hl] + ret + + ; Will skip the virtual level forward by 100 levels. ; This will NOT affect the displayed level, nor will it affect scoring. ; It will only make it so the internal speed pointer will be ahead by N*100 levels.