From 69d6001d164d5b837db57da4c28a5a817f2024fb Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Tue, 5 Dec 2023 05:28:05 +0100 Subject: [PATCH] Merge pull request #8 --- bin/PandorasBlocks.gbc | Bin 262144 -> 262144 bytes bin/PandorasBlocks.map | 1176 +++++++++++++++++++------------------ bin/PandorasBlocks.pocket | Bin 262144 -> 262144 bytes bin/PandorasBlocks.sym | 955 +++++++++++++++--------------- src/grading.asm | 244 ++++---- src/include/globals.asm | 1 + src/level.asm | 21 +- src/sprites.asm | 7 + src/time.asm | 5 +- 9 files changed, 1218 insertions(+), 1191 deletions(-) diff --git a/bin/PandorasBlocks.gbc b/bin/PandorasBlocks.gbc index 2e33753365a2401d38427ac9220e277442ceb131..1687cbbc2fa891eb3215e5e9319ca6669a85d0b6 100644 GIT binary patch delta 11146 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 F@qaxm+n4|V delta 11024 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 diff --git a/bin/PandorasBlocks.map b/bin/PandorasBlocks.map index 927557e..3c9cf2e 100644 --- a/bin/PandorasBlocks.map +++ b/bin/PandorasBlocks.map @@ -115,7 +115,7 @@ ROM0 bank #0: $1893 = !11 $18e1 = !12 $192f = !13 - SECTION: $1980-$1fae ($062f bytes) ["Domain Specific Functions"] + SECTION: $1980-$1fb9 ($063a bytes) ["Domain Specific Functions"] $1980 = SetPal $198d = SetPal.darker $1993 = SetPal.lighter @@ -144,399 +144,401 @@ ROM0 bank #0: $1b9c = ApplyHold.getoffh $1ba7 = ApplyHold.skipoffh $1be1 = ApplyTime - $1c32 = ApplyTime.loop0 - $1c61 = ApplyTime.loop1 - $1cb6 = ApplyNumbers8 - $1d18 = ApplyNumbers8.one - $1d22 = ApplyNumbers8.two - $1d2c = ApplyNumbers8.three - $1d36 = ApplyNumbers8.four - $1d40 = ApplyNumbers8.five - $1d4a = ApplyNumbers8.six - $1d54 = ApplyNumbers8.seven - $1d5e = ApplyNumbers8.eight - $1d67 = ApplyNumbers4 - $1d95 = ApplyNumbers4.one - $1d9f = ApplyNumbers4.two - $1da9 = ApplyNumbers4.three - $1db3 = ApplyNumbers4.four - $1dbc = SetNumberSpritePositions - $1ed3 = GradeRendering - $1f06 = GradeRendering.effect - $1f16 = GradeRendering.noeffect - $1f1e = GradeRendering.drawgrade - $1f25 = GradeRendering.regulargrade - $1f2d = GradeRendering.sgrade - $1f43 = GradeRendering.hisgrade - $1f59 = GradeRendering.mgrade - $1f6f = GradeRendering.lettergrade - $1f8c = GradeRendering.mk - $1f92 = GradeRendering.mv - $1f98 = GradeRendering.mo - $1f9e = GradeRendering.mm - $1fa4 = GradeRendering.gmgrade - SECTION: $1faf-$24cd ($051f bytes) ["SRAM Functions"] - $1faf = RestoreSRAM - $1fde = TrustedLoad - $1fef = !0 - $2000 = !1 - $2011 = !2 - $2022 = !3 - $2033 = !4 - $2044 = !5 - $2053 = !6 - $2064 = !7 - $2092 = TrustedLoad.jumps - $20aa = TrustedLoad.dmgt - $20b0 = TrustedLoad.tgm1 - $20b6 = TrustedLoad.tgm3 - $20bc = TrustedLoad.deat - $20c2 = TrustedLoad.shir - $20c8 = TrustedLoad.chil - $20ce = TrustedLoad.myco - $20d4 = TrustedLoad.search - $20e6 = TrustedLoad.notfound - $20ed = TrustedLoad.fallback - $2108 = InitializeSRAM - $2269 = ResetScores - $2277 = ResetScores.jumps - $228c = ResetScores.dmgt - $2298 = ResetScores.tgm1 - $22a4 = ResetScores.tgm3 - $22b0 = ResetScores.deat - $22bc = ResetScores.shir - $22c8 = ResetScores.chil - $22d4 = ResetScores.myco - $22e0 = NextProfile - $22e9 = NextProfile.update - $22ec = ChangeProfile - $22ec = ChangeProfile.backup - $231a = ChangeProfile.first - $2328 = ChangeProfile.second - $2336 = ChangeProfile.third - $2344 = ChangeProfile.fourth - $2352 = ChangeProfile.fifth - $2360 = ChangeProfile.sixth - $236e = ChangeProfile.seventh - $237c = ChangeProfile.eighth - $238a = ChangeProfile.ninth - $2398 = ChangeProfile.tenth - $23a6 = ChangeProfile.restore - $23d5 = ChangeProfile.lfirst - $23e4 = ChangeProfile.lsecond - $23f3 = ChangeProfile.lthird - $2402 = ChangeProfile.lfourth - $2411 = ChangeProfile.lfifth - $2420 = ChangeProfile.lsixth - $242f = ChangeProfile.lseventh - $243e = ChangeProfile.leighth - $244d = ChangeProfile.lninth - $245c = ChangeProfile.ltenth - $246b = ResetProfile - SECTION: $24ce-$2929 ($045c bytes) ["Level Functions"] - $24ce = LevelInit - $253e = SpecialLevelInit - $254c = SpecialLevelInit.jumps - $2561 = SpecialLevelInit.dmgt - $2566 = SpecialLevelInit.tgm1 - $256b = SpecialLevelInit.tgm3 - $2570 = SpecialLevelInit.deat - $2575 = SpecialLevelInit.shir - $257a = SpecialLevelInit.chil - $257f = SpecialLevelInit.myco - $2584 = SpecialLevelInit.loaddata - $25b9 = LevelUp - $25e3 = LevelUp.doit - $2622 = LevelUp.checknlevel - $2656 = !0 - $266e = !1 - $2677 = LevelUp.checkcool - $2698 = LevelUp.checkregret - $26b5 = LevelUp.resetsectiontimer - $26d8 = LevelUp.regretavailable - $26dc = LevelUp.bellmaybe - $26f8 = LevelUp.leveljinglemaybe - $2708 = AdjustSpeedCurve - $270e = AdjustSpeedCurve.docheck - $270e = AdjustSpeedCurve.checkthousands - $271d = AdjustSpeedCurve.checkhundreds - $272a = AdjustSpeedCurve.checktens - $2739 = AdjustSpeedCurve.checkones - $2744 = AdjustSpeedCurveForced - $277f = AdjustSpeedCurveForced.continue - $2784 = BuildTrueCLevel - $27ac = BuildTrueCLevel.thousands - $27c1 = CheckSpecialLevelConditions - $27f2 = CheckSpecialLevelConditions.override - $280d = CheckSpecialLevelConditions.nooverride - $2813 = CheckSpecialLevelConditions.speciallock - $2837 = CheckSpecialLevelConditions.bones - $284c = CheckSpecialLevelConditions.enterthebonezone - $2851 = CheckSpecialLevelConditions.invis - $2866 = CheckSpecialLevelConditions.vanishoxyaction - $286b = CheckSpecialLevelConditions.killscreen - $287c = CheckSpecialLevelConditions.rip - $28ac = CheckSpecialLevelConditions.staffroll - $28ba = CheckSpecialLevelConditions.justkill - $28ce = TriggerKillScreen - $28f0 = GetSection - $28fe = GetSectionBCD - $2907 = GetAdjustedSection - $2915 = GetAdjustedSectionBCD - $291e = SkipSection - SECTION: $292a-$2c97 ($036e bytes) ["SFX Functions"] - $292a = SFXInit - $2958 = SFXPopQueue - $296d = SFXPushQueue - $297e = SFXProcessQueue - $298f = !0 - $29aa = !1 - $29ac = SFXTriggerNoise - $29b9 = !2 - $29cd = !3 - $29d9 = SFXEnqueue - $29f2 = SFXEnqueue.findsfx - $2a11 = !4 - $2a21 = !5 - $2a31 = !6 - $2a41 = !7 - $2a51 = !8 - $2a61 = !9 - $2a71 = !10 - $2a81 = !11 - $2a91 = !12 - $2aa1 = !13 - $2ab1 = !14 - $2ac1 = !15 - $2ad1 = !16 - $2ae1 = !17 - $2af1 = !18 - $2b00 = !19 - $2b0f = !20 - $2b1e = !21 - $2b2d = !22 - $2b3c = !23 - $2b4b = !24 - $2b58 = SFXKill - $2b8e = SFXPlayNoise - $2b99 = SFXPlayNoise.noisereg - $2ba6 = !25 - $2bb0 = SFXPlayNoise.savenoiseplayhead - $2bb9 = SFXPlay - $2bbe = SFXPlay.play - $2bc8 = SFXPlay.getRegister - $2bc9 = SFXPlay.checkEndOfSong - $2bdb = SFXPlay.checkEndOfSample - $2bdf = SFXPlay.checkChangeBank - $2be9 = SFXPlay.checkChangePlayHead - $2bfc = SFXPlay.applyRegister - $2c01 = SFXPlay.savePlayhead - $2c0a = SFXGoRoll - $2c47 = SFXEndOfGame - SECTION: $2c98-$2ebe ($0227 bytes) ["RNG Functions"] - $2c98 = HarvestEntropy - $2c9e = HarvestEntropy.loop - $2cbf = RNGInit - $2d00 = RNGInit.hellinit - $2d1c = RNGInit.complexinit - $2d33 = RNGInit.getfirstpiece - $2d48 = RNGInit.getqueue - $2d4e = ShiftHistory - $2d6b = GetNextHellPiece - $2d70 = GetNextTGM1Piece - $2d73 = !0 - $2d8b = !1 - $2d8d = GetNextTGM2Piece - $2d90 = !2 - $2da8 = !3 - $2daa = GetNextNesPiece - $2db8 = GetNextTGM3Piece - $2dbb = !4 - $2dde = !5 - $2de1 = !6 - $2df1 = !7 - $2dfb = !8 - $2e09 = !9 - $2e17 = !10 - $2e23 = !11 - $2e2f = !12 - $2e3b = !13 - $2e47 = !14 - $2e53 = !15 - $2e5f = !16 - $2e6e = GetNextPiece - $2e7c = GetNextPiece.nextpiecejumps - $2e8b = Next35Piece - $2e8b = !17 - $2e95 = Next7Piece - $2e95 = !18 - $2e9f = NextByte - SECTION: $2ebf-$3083 ($01c5 bytes) ["Hi Score Functions"] - $2ebf = CheckAndAddHiscore - $2ec9 = CheckAndAddHiscore.checkloop - $2ece = CheckAndAddHiscore.checkgrade - $2ed7 = CheckAndAddHiscore.oldgraded - $2ee6 = CheckAndAddHiscore.oldungraded - $2eed = CheckAndAddHiscore.checklevel - $2f12 = CheckAndAddHiscore.checkscore - $2f55 = CheckAndAddHiscore.notbetter - $2f62 = CheckAndAddHiscore.better - $2f64 = InsertHiScore - $2f64 = InsertHiScore.copylower - $2f75 = InsertHiScore.copyupper - $2f81 = !0 - $2f95 = InsertHiScore.findrow - $2fa1 = !1 - $2fa5 = InsertHiScore.insert - $2ffe = InsertHiScore.persist - $300f = GetHiScoreEntry - $3023 = !2 - $3027 = GetHiScoreEntry.store - $3030 = InitTargetHSTable - $303b = InitTargetHSTable.jumps - $3050 = InitTargetHSTable.dmgt - $3055 = InitTargetHSTable.tgm1 - $305a = InitTargetHSTable.tgm3 - $305f = InitTargetHSTable.deat - $3064 = InitTargetHSTable.shir - $3069 = InitTargetHSTable.chil - $306e = InitTargetHSTable.myco - $3071 = InitTargetHSTable.store - SECTION: $3084-$31cd ($014a bytes) ["Progress Data"] - $3084 = sProgressData - SECTION: $31ce-$3314 ($0147 bytes) ["Time Functions"] - $31ce = TimeInit - $31f7 = StartCountdown - $3205 = ResetGameTime - $3219 = CheckTorikan - $322f = CheckTorikan.failure - $3231 = CheckTorikan.success - $3234 = HandleTimers - $325a = HandleTimers.reduce - $3267 = HandleTimers.clock - $3281 = HandleTimers.go - $32a5 = CheckCOOL_REGRET - $32bc = CheckCOOL_REGRET.failure - $32be = CheckCOOL_REGRET.success - $32c1 = HandleSectionTimers - $32dd = HandleSectionTimers.continue - $32f1 = HandleSectionTimers.sectiongo - SECTION: $3315-$3454 ($0140 bytes) ["Hi Score Data"] - $3315 = sHiscoreDefaultData - SECTION: $3455-$357e ($012a bytes) ["Input Functions"] - $3455 = InputInit - $3467 = GetInput - $3467 = GetInput.btns - $3474 = GetInput.readA - $3478 = GetInput.setA - $3483 = GetInput.clearA - $3486 = GetInput.readB - $348a = GetInput.setB - $3495 = GetInput.clearB - $3498 = GetInput.readSelect - $349c = GetInput.setSelect - $34a7 = GetInput.clearSelect - $34aa = GetInput.readStart - $34ae = GetInput.setStart - $34b9 = GetInput.clearStart - $34bc = GetInput.dpad - $34c9 = GetInput.readUp - $34cd = GetInput.setUp - $34d8 = GetInput.clearUp - $34db = GetInput.readDown - $34df = GetInput.setDown - $34ea = GetInput.clearDown - $34ed = GetInput.readLeft - $34f1 = GetInput.setLeft - $34fc = GetInput.clearLeft - $34ff = GetInput.readRight - $3503 = GetInput.setRight - $350e = GetInput.clearRight - $3511 = GetInput.priorities - $351e = GetInput.jumps - $352d = GetInput.dlru - $353d = GetInput.ulrd - $354d = GetInput.lrud - $3558 = GetInput.udlr - $3563 = GetInput.zeroud - $3569 = GetInput.zerolr - $356f = GetInput.zerolrd - $3577 = GetInput.zerolru - SECTION: $357f-$365e ($00e0 bytes) ["Score Functions"] - $357f = ScoreInit - $35a7 = IncreaseScore - $35df = IncreaseScore.doConvert - $35e1 = !0 - $35f7 = IncreaseScore.carry - $35f9 = IncreaseScore.postConvert - $3606 = !1 - $360d = IncreaseScore.preAddDigit - $3635 = IncreaseScore.addDigit - $364b = IncreaseScore.nextDigit - SECTION: $365f-$3729 ($00cb bytes) ["Title Function Trampolines"] - $365f = SwitchToTitle - $3668 = TitleEventLoopHandler - $3672 = TitleVBlankHandler - $367c = PersistLevel - $368a = DrawSpeedMain - $36da = DrawSpeedSettings - SECTION: $372a-$37da ($00b1 bytes) ["Progress Functions"] - $372a = SetProgress - $3734 = SetProgress.loop - $3738 = SetProgress.correct - $375f = SetProgress.wvr_u1 - $376b = SetProgress.wvr_u2 - $3779 = SetProgress.wvr_u3 - $3785 = SetProgress.wvr_u4 - $3793 = SetProgress.wvr_u5 - $379f = SetProgress.wvr_u6 - $37ad = SetProgress.wvr_u7 - $37b9 = SetProgress.wvr_u8 - $37c7 = SetProgress.wvr_u9 - $37d3 = SetProgress.wvr_u10 - SECTION: $37db-$387b ($00a1 bytes) ["Code Entry Point"] - $37db = Main - $3804 = Main.notgbc - $3810 = Main.wvr_u1 - $383d = EventLoop - $3856 = EventLoop.eventloopjumps - $385f = EventLoopPostHandler - $3861 = EventLoopPostHandler.wvb_u2 - $3873 = EventLoopPostHandler.vblankjumps - SECTION: $387c-$38b1 ($0036 bytes) ["Grading Functions Unbanked"] - $387c = GradeInit - $3885 = UpdateGrade - $388e = DecayGradeProcess - $3897 = DecayGradeDelay - $38a0 = TGM3REGRETHandler - $38a9 = TGM3COOLHandler - SECTION: $38b2-$38df ($002e bytes) ["Memory Functions"] - $38b2 = UnsafeMemCopy - $38bb = SafeMemCopy.wvr_u1 - $38bb = SafeMemCopy - $38ca = UnsafeMemSet - $38d2 = SafeMemSet - $38d2 = SafeMemSet.wvr_u2 - SECTION: $38e0-$3905 ($0026 bytes) ["Gameplay Function Trampolines"] - $38e0 = SwitchToGameplay - $38e9 = SwitchToGameplayBig - $38f2 = GamePlayEventLoopHandler - $38fc = GamePlayBigEventLoopHandler - SECTION: $3906-$392a ($0025 bytes) ["Interrupt Initialization Functions"] - $3906 = EnableScreenSquish - $3920 = DisableScreenSquish - SECTION: $392b-$394c ($0022 bytes) ["OAM Functions"] - $392b = CopyOAMHandler - $3937 = ClearOAM - SECTION: $394d-$395d ($0011 bytes) ["Intro Effect Trampoline"] - $394d = DoIntroEffect - SECTION: $395e-$396c ($000f bytes) ["Banking Functions"] - $395e = BankingInit - SECTION: $396d-$3976 ($000a bytes) ["OAM DMA Code"] - $396d = OAMDMA - $3977 = OAMDMAEnd - EMPTY: $3977-$3fff ($0689 bytes) - TOTAL EMPTY: $0691 bytes + $1c22 = ApplyTime.nocool + $1c24 = ApplyTime.yescool + $1c3d = ApplyTime.loop0 + $1c6c = ApplyTime.loop1 + $1cc1 = ApplyNumbers8 + $1d23 = ApplyNumbers8.one + $1d2d = ApplyNumbers8.two + $1d37 = ApplyNumbers8.three + $1d41 = ApplyNumbers8.four + $1d4b = ApplyNumbers8.five + $1d55 = ApplyNumbers8.six + $1d5f = ApplyNumbers8.seven + $1d69 = ApplyNumbers8.eight + $1d72 = ApplyNumbers4 + $1da0 = ApplyNumbers4.one + $1daa = ApplyNumbers4.two + $1db4 = ApplyNumbers4.three + $1dbe = ApplyNumbers4.four + $1dc7 = SetNumberSpritePositions + $1ede = GradeRendering + $1f11 = GradeRendering.effect + $1f21 = GradeRendering.noeffect + $1f29 = GradeRendering.drawgrade + $1f30 = GradeRendering.regulargrade + $1f38 = GradeRendering.sgrade + $1f4e = GradeRendering.hisgrade + $1f64 = GradeRendering.mgrade + $1f7a = GradeRendering.lettergrade + $1f97 = GradeRendering.mk + $1f9d = GradeRendering.mv + $1fa3 = GradeRendering.mo + $1fa9 = GradeRendering.mm + $1faf = GradeRendering.gmgrade + SECTION: $1fba-$24d8 ($051f bytes) ["SRAM Functions"] + $1fba = RestoreSRAM + $1fe9 = TrustedLoad + $1ffa = !0 + $200b = !1 + $201c = !2 + $202d = !3 + $203e = !4 + $204f = !5 + $205e = !6 + $206f = !7 + $209d = TrustedLoad.jumps + $20b5 = TrustedLoad.dmgt + $20bb = TrustedLoad.tgm1 + $20c1 = TrustedLoad.tgm3 + $20c7 = TrustedLoad.deat + $20cd = TrustedLoad.shir + $20d3 = TrustedLoad.chil + $20d9 = TrustedLoad.myco + $20df = TrustedLoad.search + $20f1 = TrustedLoad.notfound + $20f8 = TrustedLoad.fallback + $2113 = InitializeSRAM + $2274 = ResetScores + $2282 = ResetScores.jumps + $2297 = ResetScores.dmgt + $22a3 = ResetScores.tgm1 + $22af = ResetScores.tgm3 + $22bb = ResetScores.deat + $22c7 = ResetScores.shir + $22d3 = ResetScores.chil + $22df = ResetScores.myco + $22eb = NextProfile + $22f4 = NextProfile.update + $22f7 = ChangeProfile + $22f7 = ChangeProfile.backup + $2325 = ChangeProfile.first + $2333 = ChangeProfile.second + $2341 = ChangeProfile.third + $234f = ChangeProfile.fourth + $235d = ChangeProfile.fifth + $236b = ChangeProfile.sixth + $2379 = ChangeProfile.seventh + $2387 = ChangeProfile.eighth + $2395 = ChangeProfile.ninth + $23a3 = ChangeProfile.tenth + $23b1 = ChangeProfile.restore + $23e0 = ChangeProfile.lfirst + $23ef = ChangeProfile.lsecond + $23fe = ChangeProfile.lthird + $240d = ChangeProfile.lfourth + $241c = ChangeProfile.lfifth + $242b = ChangeProfile.lsixth + $243a = ChangeProfile.lseventh + $2449 = ChangeProfile.leighth + $2458 = ChangeProfile.lninth + $2467 = ChangeProfile.ltenth + $2476 = ResetProfile + SECTION: $24d9-$2937 ($045f bytes) ["Level Functions"] + $24d9 = LevelInit + $2549 = SpecialLevelInit + $2557 = SpecialLevelInit.jumps + $256c = SpecialLevelInit.dmgt + $2571 = SpecialLevelInit.tgm1 + $2576 = SpecialLevelInit.tgm3 + $257b = SpecialLevelInit.deat + $2580 = SpecialLevelInit.shir + $2585 = SpecialLevelInit.chil + $258a = SpecialLevelInit.myco + $258f = SpecialLevelInit.loaddata + $25c4 = LevelUp + $25ee = LevelUp.doit + $262d = LevelUp.checknlevel + $2661 = !0 + $2679 = !1 + $2682 = LevelUp.checkcool + $26a3 = LevelUp.checkregret + $26c0 = LevelUp.resetsectiontimer + $26e3 = LevelUp.regretavailable + $26e7 = LevelUp.bellmaybe + $2703 = LevelUp.leveljinglemaybe + $2713 = AdjustSpeedCurve + $2719 = AdjustSpeedCurve.docheck + $2719 = AdjustSpeedCurve.checkthousands + $2728 = AdjustSpeedCurve.checkhundreds + $2735 = AdjustSpeedCurve.checktens + $2744 = AdjustSpeedCurve.checkones + $274f = AdjustSpeedCurveForced + $278a = AdjustSpeedCurveForced.continue + $278f = BuildTrueCLevel + $27ba = BuildTrueCLevel.thousands + $27cf = CheckSpecialLevelConditions + $2800 = CheckSpecialLevelConditions.override + $281b = CheckSpecialLevelConditions.nooverride + $2821 = CheckSpecialLevelConditions.speciallock + $2845 = CheckSpecialLevelConditions.bones + $285a = CheckSpecialLevelConditions.enterthebonezone + $285f = CheckSpecialLevelConditions.invis + $2874 = CheckSpecialLevelConditions.vanishoxyaction + $2879 = CheckSpecialLevelConditions.killscreen + $288a = CheckSpecialLevelConditions.rip + $28ba = CheckSpecialLevelConditions.staffroll + $28c8 = CheckSpecialLevelConditions.justkill + $28dc = TriggerKillScreen + $28fe = GetSection + $290c = GetSectionBCD + $2915 = GetAdjustedSection + $2923 = GetAdjustedSectionBCD + $292c = SkipSection + SECTION: $2938-$2ca5 ($036e bytes) ["SFX Functions"] + $2938 = SFXInit + $2966 = SFXPopQueue + $297b = SFXPushQueue + $298c = SFXProcessQueue + $299d = !0 + $29b8 = !1 + $29ba = SFXTriggerNoise + $29c7 = !2 + $29db = !3 + $29e7 = SFXEnqueue + $2a00 = SFXEnqueue.findsfx + $2a1f = !4 + $2a2f = !5 + $2a3f = !6 + $2a4f = !7 + $2a5f = !8 + $2a6f = !9 + $2a7f = !10 + $2a8f = !11 + $2a9f = !12 + $2aaf = !13 + $2abf = !14 + $2acf = !15 + $2adf = !16 + $2aef = !17 + $2aff = !18 + $2b0e = !19 + $2b1d = !20 + $2b2c = !21 + $2b3b = !22 + $2b4a = !23 + $2b59 = !24 + $2b66 = SFXKill + $2b9c = SFXPlayNoise + $2ba7 = SFXPlayNoise.noisereg + $2bb4 = !25 + $2bbe = SFXPlayNoise.savenoiseplayhead + $2bc7 = SFXPlay + $2bcc = SFXPlay.play + $2bd6 = SFXPlay.getRegister + $2bd7 = SFXPlay.checkEndOfSong + $2be9 = SFXPlay.checkEndOfSample + $2bed = SFXPlay.checkChangeBank + $2bf7 = SFXPlay.checkChangePlayHead + $2c0a = SFXPlay.applyRegister + $2c0f = SFXPlay.savePlayhead + $2c18 = SFXGoRoll + $2c55 = SFXEndOfGame + SECTION: $2ca6-$2ecc ($0227 bytes) ["RNG Functions"] + $2ca6 = HarvestEntropy + $2cac = HarvestEntropy.loop + $2ccd = RNGInit + $2d0e = RNGInit.hellinit + $2d2a = RNGInit.complexinit + $2d41 = RNGInit.getfirstpiece + $2d56 = RNGInit.getqueue + $2d5c = ShiftHistory + $2d79 = GetNextHellPiece + $2d7e = GetNextTGM1Piece + $2d81 = !0 + $2d99 = !1 + $2d9b = GetNextTGM2Piece + $2d9e = !2 + $2db6 = !3 + $2db8 = GetNextNesPiece + $2dc6 = GetNextTGM3Piece + $2dc9 = !4 + $2dec = !5 + $2def = !6 + $2dff = !7 + $2e09 = !8 + $2e17 = !9 + $2e25 = !10 + $2e31 = !11 + $2e3d = !12 + $2e49 = !13 + $2e55 = !14 + $2e61 = !15 + $2e6d = !16 + $2e7c = GetNextPiece + $2e8a = GetNextPiece.nextpiecejumps + $2e99 = Next35Piece + $2e99 = !17 + $2ea3 = Next7Piece + $2ea3 = !18 + $2ead = NextByte + SECTION: $2ecd-$3091 ($01c5 bytes) ["Hi Score Functions"] + $2ecd = CheckAndAddHiscore + $2ed7 = CheckAndAddHiscore.checkloop + $2edc = CheckAndAddHiscore.checkgrade + $2ee5 = CheckAndAddHiscore.oldgraded + $2ef4 = CheckAndAddHiscore.oldungraded + $2efb = CheckAndAddHiscore.checklevel + $2f20 = CheckAndAddHiscore.checkscore + $2f63 = CheckAndAddHiscore.notbetter + $2f70 = CheckAndAddHiscore.better + $2f72 = InsertHiScore + $2f72 = InsertHiScore.copylower + $2f83 = InsertHiScore.copyupper + $2f8f = !0 + $2fa3 = InsertHiScore.findrow + $2faf = !1 + $2fb3 = InsertHiScore.insert + $300c = InsertHiScore.persist + $301d = GetHiScoreEntry + $3031 = !2 + $3035 = GetHiScoreEntry.store + $303e = InitTargetHSTable + $3049 = InitTargetHSTable.jumps + $305e = InitTargetHSTable.dmgt + $3063 = InitTargetHSTable.tgm1 + $3068 = InitTargetHSTable.tgm3 + $306d = InitTargetHSTable.deat + $3072 = InitTargetHSTable.shir + $3077 = InitTargetHSTable.chil + $307c = InitTargetHSTable.myco + $307f = InitTargetHSTable.store + SECTION: $3092-$31db ($014a bytes) ["Progress Data"] + $3092 = sProgressData + SECTION: $31dc-$3323 ($0148 bytes) ["Time Functions"] + $31dc = TimeInit + $3205 = StartCountdown + $3213 = ResetGameTime + $3227 = CheckTorikan + $323d = CheckTorikan.failure + $323f = CheckTorikan.success + $3242 = HandleTimers + $3268 = HandleTimers.reduce + $3275 = HandleTimers.clock + $328f = HandleTimers.go + $32b3 = CheckCOOL_REGRET + $32cb = CheckCOOL_REGRET.failure + $32cd = CheckCOOL_REGRET.success + $32d0 = HandleSectionTimers + $32ec = HandleSectionTimers.continue + $3300 = HandleSectionTimers.sectiongo + SECTION: $3324-$3463 ($0140 bytes) ["Hi Score Data"] + $3324 = sHiscoreDefaultData + SECTION: $3464-$358d ($012a bytes) ["Input Functions"] + $3464 = InputInit + $3476 = GetInput + $3476 = GetInput.btns + $3483 = GetInput.readA + $3487 = GetInput.setA + $3492 = GetInput.clearA + $3495 = GetInput.readB + $3499 = GetInput.setB + $34a4 = GetInput.clearB + $34a7 = GetInput.readSelect + $34ab = GetInput.setSelect + $34b6 = GetInput.clearSelect + $34b9 = GetInput.readStart + $34bd = GetInput.setStart + $34c8 = GetInput.clearStart + $34cb = GetInput.dpad + $34d8 = GetInput.readUp + $34dc = GetInput.setUp + $34e7 = GetInput.clearUp + $34ea = GetInput.readDown + $34ee = GetInput.setDown + $34f9 = GetInput.clearDown + $34fc = GetInput.readLeft + $3500 = GetInput.setLeft + $350b = GetInput.clearLeft + $350e = GetInput.readRight + $3512 = GetInput.setRight + $351d = GetInput.clearRight + $3520 = GetInput.priorities + $352d = GetInput.jumps + $353c = GetInput.dlru + $354c = GetInput.ulrd + $355c = GetInput.lrud + $3567 = GetInput.udlr + $3572 = GetInput.zeroud + $3578 = GetInput.zerolr + $357e = GetInput.zerolrd + $3586 = GetInput.zerolru + SECTION: $358e-$366d ($00e0 bytes) ["Score Functions"] + $358e = ScoreInit + $35b6 = IncreaseScore + $35ee = IncreaseScore.doConvert + $35f0 = !0 + $3606 = IncreaseScore.carry + $3608 = IncreaseScore.postConvert + $3615 = !1 + $361c = IncreaseScore.preAddDigit + $3644 = IncreaseScore.addDigit + $365a = IncreaseScore.nextDigit + SECTION: $366e-$3738 ($00cb bytes) ["Title Function Trampolines"] + $366e = SwitchToTitle + $3677 = TitleEventLoopHandler + $3681 = TitleVBlankHandler + $368b = PersistLevel + $3699 = DrawSpeedMain + $36e9 = DrawSpeedSettings + SECTION: $3739-$37e9 ($00b1 bytes) ["Progress Functions"] + $3739 = SetProgress + $3743 = SetProgress.loop + $3747 = SetProgress.correct + $376e = SetProgress.wvr_u1 + $377a = SetProgress.wvr_u2 + $3788 = SetProgress.wvr_u3 + $3794 = SetProgress.wvr_u4 + $37a2 = SetProgress.wvr_u5 + $37ae = SetProgress.wvr_u6 + $37bc = SetProgress.wvr_u7 + $37c8 = SetProgress.wvr_u8 + $37d6 = SetProgress.wvr_u9 + $37e2 = SetProgress.wvr_u10 + SECTION: $37ea-$388a ($00a1 bytes) ["Code Entry Point"] + $37ea = Main + $3813 = Main.notgbc + $381f = Main.wvr_u1 + $384c = EventLoop + $3865 = EventLoop.eventloopjumps + $386e = EventLoopPostHandler + $3870 = EventLoopPostHandler.wvb_u2 + $3882 = EventLoopPostHandler.vblankjumps + SECTION: $388b-$38c0 ($0036 bytes) ["Grading Functions Unbanked"] + $388b = GradeInit + $3894 = UpdateGrade + $389d = DecayGradeProcess + $38a6 = DecayGradeDelay + $38af = TGM3REGRETHandler + $38b8 = TGM3COOLHandler + SECTION: $38c1-$38ee ($002e bytes) ["Memory Functions"] + $38c1 = UnsafeMemCopy + $38ca = SafeMemCopy.wvr_u1 + $38ca = SafeMemCopy + $38d9 = UnsafeMemSet + $38e1 = SafeMemSet + $38e1 = SafeMemSet.wvr_u2 + SECTION: $38ef-$3914 ($0026 bytes) ["Gameplay Function Trampolines"] + $38ef = SwitchToGameplay + $38f8 = SwitchToGameplayBig + $3901 = GamePlayEventLoopHandler + $390b = GamePlayBigEventLoopHandler + SECTION: $3915-$3939 ($0025 bytes) ["Interrupt Initialization Functions"] + $3915 = EnableScreenSquish + $392f = DisableScreenSquish + SECTION: $393a-$395b ($0022 bytes) ["OAM Functions"] + $393a = CopyOAMHandler + $3946 = ClearOAM + SECTION: $395c-$396c ($0011 bytes) ["Intro Effect Trampoline"] + $395c = DoIntroEffect + SECTION: $396d-$397b ($000f bytes) ["Banking Functions"] + $396d = BankingInit + SECTION: $397c-$3985 ($000a bytes) ["OAM DMA Code"] + $397c = OAMDMA + $3986 = OAMDMAEnd + EMPTY: $3986-$3fff ($067a bytes) + TOTAL EMPTY: $0682 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -2190,120 +2192,123 @@ ROMX bank #4: $68c0 = sGameplayUngradedTileMap $68c0 = sGameplayTileMapEnd $6b60 = sGameplayUngradedTileMapEnd - SECTION: $6b60-$7271 ($0712 bytes) ["Grading Functions Banked"] + SECTION: $6b60-$7284 ($0725 bytes) ["Grading Functions Banked"] $6b60 = GradeInitB - $6baa = GradeInitB.grade9start - $6baf = UpdateGradeB - $6baf = GradeInitB.end - $6bbd = UpdateGradeB.gradejumptable - $6bd2 = DecayGradeProcessB - $6be0 = DecayGradeProcessB.gradejumptable - $6bf5 = DecayGradeDelayB - $6c03 = DecayGradeDelayB.gradejumptable - $6c18 = PrepareScore - $6c2b = DrawGradeProgressDMGT - $6c37 = !0 - $6c46 = UpdateGradeDMGT - $6c7f = UpdateGradeDMGT.checklineclears - $6c98 = UpdateGradeDMGT.clearrate - $6ca9 = UpdateGradeDMGT.combomult - $6cb6 = UpdateGradeDMGT.combo13 - $6cc7 = UpdateGradeDMGT.combo8 - $6cd8 = UpdateGradeDMGT.combo1 - $6ce7 = UpdateGradeDMGT.prelevel - $6cf6 = UpdateGradeDMGT.single - $6d06 = UpdateGradeDMGT.double - $6d17 = UpdateGradeDMGT.adddonce - $6d1b = UpdateGradeDMGT.triple - $6d2c = UpdateGradeDMGT.addtonce - $6d30 = UpdateGradeDMGT.tetris - $6d34 = UpdateGradeDMGT.levelmult - $6d4c = UpdateGradeDMGT.mult4 - $6d52 = UpdateGradeDMGT.mult3 - $6d57 = UpdateGradeDMGT.mult2 - $6d5b = UpdateGradeDMGT.mult1 - $6d5c = UpdateGradeDMGT.processgrade - $6d85 = UpdateGradeDMGT.increasegrademaybe - $6da9 = UpdateGradeDMGT.gotgm - $6db7 = DecayGradeDMGT - $6dda = DecayGradeDMGT.nodecay - $6de1 = DecayGradeDMGT.decay - $6def = UpdateGradeTGM1 - $6dff = UpdateGradeTGM1.trygradeup - $6e1a = UpdateGradeTGM1.increasegrade - $6e2f = UpdateGradeTGM1.skipjingle - $6e3b = UpdateGradeTGM1.check300 - $6e59 = UpdateGradeTGM1.success300 - $6e60 = UpdateGradeTGM1.fail300 - $6e67 = UpdateGradeTGM1.check500 - $6e85 = UpdateGradeTGM1.success500 - $6e8c = UpdateGradeTGM1.fail500 - $6e93 = UpdateGradeTGM1.check999 - $6eca = UpdateGradeTGM1.success999 - $6ee2 = UpdateGradeTGM1.fail999 - $6ee8 = UpdateGradeDEAT - $6ef4 = UpdateGradeDEAT.notgm - $6f10 = UpdateGradeDEAT.notm - $6f33 = UpdateGradeDEAT.disqualify - $6f51 = UpdateGradeSHIR - $6f93 = UpdateGradeSHIR.s5torikan - $6fa3 = UpdateGradeSHIR.s10torikan - $6fb2 = UpdateGradeSHIR.disqualify - $6fc1 = UpdateGradeSHIR.l1000 - $6fd7 = UpdateGradeSHIR.l500 - $6fed = UpdateGradeTGM3 - $6fed = UpdateGradeTGM3.GradePoints - $6ffc = !1 - $7001 = UpdateGradeTGM3.GetOffset - $7013 = UpdateGradeTGM3.loadpoints - $701d = UpdateGradeTGM3.multipliers - $702a = !2 - $7044 = !3 - $7049 = UpdateGradeTGM3.levelmultiplier - $7062 = UpdateGradeTGM3.Level750 - $7076 = UpdateGradeTGM3.under750 - $707c = UpdateGradeTGM3.Level500 - $708a = UpdateGradeTGM3.Level250 - $7099 = UpdateGradeTGM3.under250 - $709d = UpdateGradeTGM3.Multiply - $70a0 = !4 - $70a7 = UpdateGradeTGM3.IncreaseInternalGrade - $70bf = TGM3UpdateDisplayedGrade - $70d4 = TGM3UpdateDisplayedGrade.update - $70f1 = TGM3UpdateDisplayedGrade.cool - $7110 = TGM3UpdateDisplayedGrade.nocool - $711c = TGM3UpdateDisplayedGrade.continue - $712d = CheckCOOL - $7141 = CheckCOOL.cool - $7162 = DecayGradeTGM3 - $7176 = DecayGradeTGM3.points - $7193 = !5 - $7197 = DecayGradeTGM3.GetOffset - $71a0 = DecayGradeTGM3.lpoints - $71a4 = TGM3COOLHandlerB - $71cb = TGM3COOLHandlerB.checkCOOL - $71d5 = TGM3COOLHandlerB.checkBaselineCOOL - $71dd = TGM3COOLHandlerB.cool - $71f7 = TGM3COOLHandlerB.nocool - $7203 = TGM3REGRETHandlerB - $721f = TGM3REGRETHandlerB.regret - $724c = TGM3StaffRollGradeUpdate - $7262 = TGM3StaffRollGradeUpdate.UpdateGrade - SECTION: $7272-$759b ($032a bytes) ["Grading Data"] - $7272 = sDMGTGrading - $7326 = sDMGTGaugeLUT - $7426 = sTGM1GradeScores - $7448 = sTGM3InternalGradeSystem - $74e8 = sTGM3GradeBoosts - $7507 = sTGM3HowManyInternalGradesToDecrease - $7526 = sTGM3HowManyInternalGradesToIncrease - $7545 = sTGM3ComboMultipliers - $7577 = sTGM3LevelMultiplier - $757a = sTGM3BaselineCOOL - $7583 = sTGM3REGRETConditions - $7597 = sTGM3StaffrollGrading - EMPTY: $759c-$7fff ($0a64 bytes) - TOTAL EMPTY: $0a64 bytes + $6bad = GradeInitB.grade9start + $6bb2 = UpdateGradeB + $6bb2 = GradeInitB.end + $6bc0 = UpdateGradeB.gradejumptable + $6bd5 = DecayGradeProcessB + $6be3 = DecayGradeProcessB.gradejumptable + $6bf8 = DecayGradeDelayB + $6c06 = DecayGradeDelayB.gradejumptable + $6c1b = PrepareScore + $6c2e = DrawGradeProgressDMGT + $6c3a = !0 + $6c49 = DrawGradeProgressTGM3 + $6c55 = !1 + $6c64 = UpdateGradeDMGT + $6c9d = UpdateGradeDMGT.checklineclears + $6cb6 = UpdateGradeDMGT.clearrate + $6cc7 = UpdateGradeDMGT.combomult + $6cd4 = UpdateGradeDMGT.combo13 + $6ce5 = UpdateGradeDMGT.combo8 + $6cf6 = UpdateGradeDMGT.combo1 + $6d05 = UpdateGradeDMGT.prelevel + $6d14 = UpdateGradeDMGT.single + $6d24 = UpdateGradeDMGT.double + $6d35 = UpdateGradeDMGT.adddonce + $6d39 = UpdateGradeDMGT.triple + $6d4a = UpdateGradeDMGT.addtonce + $6d4e = UpdateGradeDMGT.tetris + $6d52 = UpdateGradeDMGT.levelmult + $6d6a = UpdateGradeDMGT.mult4 + $6d70 = UpdateGradeDMGT.mult3 + $6d75 = UpdateGradeDMGT.mult2 + $6d79 = UpdateGradeDMGT.mult1 + $6d7a = UpdateGradeDMGT.processgrade + $6da3 = UpdateGradeDMGT.increasegrademaybe + $6dc7 = UpdateGradeDMGT.gotgm + $6dd5 = DecayGradeDMGT + $6df8 = DecayGradeDMGT.nodecay + $6dff = DecayGradeDMGT.decay + $6e0d = UpdateGradeTGM1 + $6e20 = UpdateGradeTGM1.trygradeup + $6e3b = UpdateGradeTGM1.increasegrade + $6e50 = UpdateGradeTGM1.skipjingle + $6e5c = UpdateGradeTGM1.check300 + $6e7a = UpdateGradeTGM1.success300 + $6e81 = UpdateGradeTGM1.fail300 + $6e88 = UpdateGradeTGM1.check500 + $6ea6 = UpdateGradeTGM1.success500 + $6ead = UpdateGradeTGM1.fail500 + $6eb4 = UpdateGradeTGM1.check999 + $6eeb = UpdateGradeTGM1.success999 + $6f03 = UpdateGradeTGM1.fail999 + $6f09 = UpdateGradeDEAT + $6f15 = UpdateGradeDEAT.notgm + $6f3b = UpdateGradeDEAT.notm + $6f5e = UpdateGradeDEAT.disqualify + $6f7c = UpdateGradeSHIR + $6fbe = UpdateGradeSHIR.s5torikan + $6fce = UpdateGradeSHIR.s10torikan + $6fdd = UpdateGradeSHIR.disqualify + $6fec = UpdateGradeSHIR.l1000 + $7002 = UpdateGradeSHIR.l500 + $7018 = UpdateGradeTGM3 + $7018 = UpdateGradeTGM3.GradePoints + $7027 = !2 + $702c = UpdateGradeTGM3.GetOffset + $703e = UpdateGradeTGM3.loadpoints + $704b = UpdateGradeTGM3.multipliers + $7058 = !3 + $7072 = !4 + $7077 = UpdateGradeTGM3.levelmultiplier + $7090 = UpdateGradeTGM3.Level750 + $70a4 = UpdateGradeTGM3.under750 + $70aa = UpdateGradeTGM3.Level500 + $70b8 = UpdateGradeTGM3.Level250 + $70c7 = UpdateGradeTGM3.under250 + $70cb = UpdateGradeTGM3.Multiply + $70ce = !5 + $70d5 = UpdateGradeTGM3.IncreaseInternalGrade + $70e4 = UpdateGradeTGM3.nocool + $70f8 = TGM3UpdateDisplayedGrade + $710d = TGM3UpdateDisplayedGrade.update + $7126 = TGM3UpdateDisplayedGrade.notaboves10 + $7134 = CheckCOOL + $7148 = CheckCOOL.cool + $715a = CheckCOOL.nots10 + $7164 = DecayGradeTGM3 + $7179 = DecayGradeTGM3.points + $7199 = !6 + $719d = DecayGradeTGM3.GetOffset + $71a6 = DecayGradeTGM3.lpoints + $71ac = TGM3COOLHandlerB + $71d3 = TGM3COOLHandlerB.checkCOOL + $71e3 = TGM3COOLHandlerB.nocarry + $71e8 = TGM3COOLHandlerB.checkBaselineCOOL + $71f0 = TGM3COOLHandlerB.cool + $720a = TGM3COOLHandlerB.nocool + $7216 = TGM3REGRETHandlerB + $7232 = TGM3REGRETHandlerB.regret + $725f = TGM3StaffRollGradeUpdate + $7275 = TGM3StaffRollGradeUpdate.UpdateGrade + SECTION: $7285-$76a8 ($0424 bytes) ["Grading Data"] + $7285 = sDMGTGrading + $7339 = sDMGTGaugeLUT + $7439 = sTGM3GaugeLUT + $7549 = sTGM1GradeScores + $756b = sTGM3InternalGradeSystem + $760b = sTGM3GradeBoosts + $762a = sTGM3HowManyInternalGradesToDecrease + $7649 = sTGM3ComboMultipliers + $767b = sTGM3LevelMultiplier + $767e = sTGM3BaselineCOOL + $7690 = sTGM3REGRETConditions + $76a4 = sTGM3StaffrollGrading + EMPTY: $76a9-$7fff ($0957 bytes) + TOTAL EMPTY: $0957 bytes ROMX bank #5: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_GAMEPLAY_BIG"] @@ -3383,7 +3388,7 @@ WRAM0 bank #0: $ceec = wTGM3Droughts $cef3 = wTGM3GeneratedIdx $cef4 = wTGM3WorstDroughtIdx - SECTION: $cef5-$cf0d ($0019 bytes) ["Grade Variables"] + SECTION: $cef5-$cf0e ($001a bytes) ["Grade Variables"] $cef5 = wDecayRate $cef6 = wInternalGradePoints $cef7 = wInternalGrade @@ -3404,80 +3409,81 @@ WRAM0 bank #0: $cf08 = wSubgrade $cf09 = wREGRETChecked $cf0a = wGradeBoosts - $cf0b = wTGM1level300RequirementMet - $cf0c = wTGM1level500RequirementMet - $cf0d = wTGM1level999RequirementMet - SECTION: $cf0e-$cf21 ($0014 bytes) ["Level Variables"] - $cf0e = wBoneActivationLevel - $cf10 = wInvisActivationLevel - $cf12 = wKillScreenActivationLevel - $cf14 = wKillScreenActivationLevelBCD - $cf16 = wLastLockLevel - $cf18 = wStaffRollDuration - $cf1a = wBigStaffRoll - $cf1b = wBonesActive - $cf1c = wInvisActive - $cf1d = wKillScreenActive - $cf1e = wLockLevel - $cf1f = wShouldGoStaffRoll - $cf20 = wNoMoreLocks - $cf21 = wSkippedSectionsBCD - SECTION: $cf22-$cf2b ($000a bytes) ["Progress Variables"] - $cf22 = wProgress0B1 - $cf23 = wProgress0B2 - $cf24 = wProgress1B1 - $cf25 = wProgress1B2 - $cf26 = wProgress2B1 - $cf27 = wProgress2B2 - $cf28 = wProgress3B1 - $cf29 = wProgress3B2 - $cf2a = wProgress4B1 - $cf2b = wProgress4B2 - SECTION: $cf2c-$cf35 ($000a bytes) ["Globals"] - $cf2c = wSwapABState - $cf2d = wRNGModeState - $cf2e = wRotModeState - $cf2f = wDropModeState - $cf30 = wSpeedCurveState - $cf31 = wAlways20GState - $cf32 = wBGMode - $cf33 = wInitialA - $cf34 = wInitialB - $cf35 = wInitialC - SECTION: $cf36-$cf3f ($000a bytes) ["Time Variables"] - $cf36 = wMinutes - $cf37 = wSeconds - $cf38 = wFrames - $cf39 = wSectionMinutes - $cf3a = wSectionSeconds - $cf3b = wSectionFrames - $cf3c = wCountDown - $cf3e = wCountDownZero - $cf3f = wSectionTimerReset - SECTION: $cf40-$cf46 ($0007 bytes) ["Title Variables"] - $cf40 = wSelected - $cf41 = wTitleMode - $cf42 = wProfileName - $cf45 = wDisplayingScoreMode - $cf46 = wScoreFlipTimer - SECTION: $cf47-$cf4a ($0004 bytes) ["SFX Variables"] - $cf47 = wCurrentBank - $cf48 = wBankSwitchTarget - $cf49 = wPlayHeadTarget - SECTION: $cf4b-$cf4e ($0004 bytes) ["Banking Variables"] - $cf4b = wBankBackup - SECTION: $cf4f-$cf52 ($0004 bytes) ["Gameplay Variables"] - $cf4f = wRollLine - $cf50 = wInStaffRoll - $cf51 = wBigModeTransfered - $cf52 = wGameOverIgnoreInput - SECTION: $cf53-$cf54 ($0002 bytes) ["GBC Variables"] - $cf53 = wOuterReps - $cf54 = wInnerReps - SECTION: $cf55-$cf55 ($0001 byte) ["SRAM Variables"] - $cf55 = wTarget - EMPTY: $cf56-$cfff ($00aa bytes) - TOTAL EMPTY: $00aa bytes + $cf0b = wCOOLBoosts + $cf0c = wTGM1level300RequirementMet + $cf0d = wTGM1level500RequirementMet + $cf0e = wTGM1level999RequirementMet + SECTION: $cf0f-$cf22 ($0014 bytes) ["Level Variables"] + $cf0f = wBoneActivationLevel + $cf11 = wInvisActivationLevel + $cf13 = wKillScreenActivationLevel + $cf15 = wKillScreenActivationLevelBCD + $cf17 = wLastLockLevel + $cf19 = wStaffRollDuration + $cf1b = wBigStaffRoll + $cf1c = wBonesActive + $cf1d = wInvisActive + $cf1e = wKillScreenActive + $cf1f = wLockLevel + $cf20 = wShouldGoStaffRoll + $cf21 = wNoMoreLocks + $cf22 = wSkippedSectionsBCD + SECTION: $cf23-$cf2c ($000a bytes) ["Progress Variables"] + $cf23 = wProgress0B1 + $cf24 = wProgress0B2 + $cf25 = wProgress1B1 + $cf26 = wProgress1B2 + $cf27 = wProgress2B1 + $cf28 = wProgress2B2 + $cf29 = wProgress3B1 + $cf2a = wProgress3B2 + $cf2b = wProgress4B1 + $cf2c = wProgress4B2 + SECTION: $cf2d-$cf36 ($000a bytes) ["Globals"] + $cf2d = wSwapABState + $cf2e = wRNGModeState + $cf2f = wRotModeState + $cf30 = wDropModeState + $cf31 = wSpeedCurveState + $cf32 = wAlways20GState + $cf33 = wBGMode + $cf34 = wInitialA + $cf35 = wInitialB + $cf36 = wInitialC + SECTION: $cf37-$cf40 ($000a bytes) ["Time Variables"] + $cf37 = wMinutes + $cf38 = wSeconds + $cf39 = wFrames + $cf3a = wSectionMinutes + $cf3b = wSectionSeconds + $cf3c = wSectionFrames + $cf3d = wCountDown + $cf3f = wCountDownZero + $cf40 = wSectionTimerReset + SECTION: $cf41-$cf47 ($0007 bytes) ["Title Variables"] + $cf41 = wSelected + $cf42 = wTitleMode + $cf43 = wProfileName + $cf46 = wDisplayingScoreMode + $cf47 = wScoreFlipTimer + SECTION: $cf48-$cf4b ($0004 bytes) ["SFX Variables"] + $cf48 = wCurrentBank + $cf49 = wBankSwitchTarget + $cf4a = wPlayHeadTarget + SECTION: $cf4c-$cf4f ($0004 bytes) ["Banking Variables"] + $cf4c = wBankBackup + SECTION: $cf50-$cf53 ($0004 bytes) ["Gameplay Variables"] + $cf50 = wRollLine + $cf51 = wInStaffRoll + $cf52 = wBigModeTransfered + $cf53 = wGameOverIgnoreInput + SECTION: $cf54-$cf55 ($0002 bytes) ["GBC Variables"] + $cf54 = wOuterReps + $cf55 = wInnerReps + SECTION: $cf56-$cf56 ($0001 byte) ["SRAM Variables"] + $cf56 = wTarget + EMPTY: $cf57-$cfff ($00a9 bytes) + TOTAL EMPTY: $00a9 bytes HRAM bank #0: SECTION: $ff80-$ff9c ($001d bytes) ["High Level Variables"] @@ -3569,8 +3575,8 @@ HRAM bank #0: TOTAL EMPTY: $0000 bytes SUMMARY: - ROM0: 14703 bytes used / 1681 free - ROMX: 110576 bytes used / 36880 free in 9 banks + ROM0: 14718 bytes used / 1666 free + ROMX: 110845 bytes used / 36611 free in 9 banks SRAM: 2951 bytes used / 5241 free in 1 bank - WRAM0: 3926 bytes used / 170 free + WRAM0: 3927 bytes used / 169 free HRAM: 127 bytes used / 0 free diff --git a/bin/PandorasBlocks.pocket b/bin/PandorasBlocks.pocket index 8d29f45c5ba7219fc6ac1130533107fb5d41de89..b525c861ab08044492337e0f2d54d6c81486fff2 100644 GIT binary patch delta 11146 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 delta 11024 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