diff --git a/bin/PandorasBlocks.gbc b/bin/PandorasBlocks.gbc index 82882f4..6302d57 100644 Binary files a/bin/PandorasBlocks.gbc and b/bin/PandorasBlocks.gbc differ diff --git a/bin/PandorasBlocks.map b/bin/PandorasBlocks.map index dea0661..71ae656 100644 --- a/bin/PandorasBlocks.map +++ b/bin/PandorasBlocks.map @@ -17,9 +17,10 @@ ROM0 bank #0: $00ae = LoadGameplayTiles.dmg SECTION: $00bd-$00f8 ($003c bytes) ["Time Data"] $00bd = sFramesToCS - EMPTY: $00f9-$00ff ($0007 bytes) + SECTION: $00f9-$00ff ($0007 bytes) ["Palette Data"] + $00f9 = sModeColors SECTION: $0100-$014f ($0050 bytes) ["Cartridge Header"] - SECTION: $0150-$1341 ($11f2 bytes) ["GBC Functions"] + SECTION: $0150-$11a5 ($1056 bytes) ["GBC Functions"] $0150 = ToATTR $0172 = GBCTitleInit $0353 = GBCTitleInit.agb @@ -27,514 +28,513 @@ ROM0 bank #0: $0557 = GBCGameplayInit $0892 = GBCGameplayInit.agb $0bbc = GBCGameplayInit.postpalettes - $0d02 = GBCGameplayInit.skip - $0d2d = GBCTitleProcess - $0d49 = GBCTitleProcess.jumps - $0d58 = GBCTitleProcess.eventLoopMain - $0d6e = !0 - $0d7a = GBCTitleProcess.eventLoopProfile - $0d84 = !1 - $0d90 = GBCTitleProcess.eventLoopSettings - $0d9a = !2 - $0da6 = GBCGameplayProcess - $0de2 = GBCGameplayProcess.goverride - $0ded = !3 - $0df6 = !4 - $0dff = !5 - $0e07 = GBCGameplayProcess.colorfield - $0f6d = !6 - $0f7b = GBCGameplayProcess.outer1 - $0f80 = GBCGameplayProcess.inner1 - $0fa4 = GBCGameplayProcess.outer2 - $0fa9 = GBCGameplayProcess.inner2 - $0fce = GBCGameplayProcess.empty - $0fd2 = GBCGameplayProcess.sub59 - $0fd4 = GBCGameplayProcess.sub52 - $0fd6 = GBCGameplayProcess.sub45 - $0fd8 = GBCGameplayProcess.sub38 - $0fda = GBCGameplayProcess.sub31 - $0fdc = GBCGameplayProcess.sub24 - $0fde = GBCGameplayProcess.sub17 - $0fe0 = GBCGameplayProcess.sub10 - $0fe2 = GBCGameplayProcess.done - $1004 = GBCGameplayProcess.darker - $100b = GBCGameplayProcess.wvr_u1 - $1018 = GBCGameplayProcess.lighter - $101f = GBCGameplayProcess.wvr_u2 - $102c = GBCGameplayProcess.black - $103a = GBCGameplayProcess.wvr_u3 - $1047 = GBCGameplayProcess.white - $104e = GBCGameplayProcess.wvr_u4 - $105b = GBCBigGameplayProcess - $1097 = GBCBigGameplayProcess.goverride - $10a2 = !7 - $10ab = !8 - $10b4 = !9 - $10bc = GBCBigGameplayProcess.colorfield - $1222 = !10 - $1230 = GBCBigGameplayProcess.outer1 - $1235 = GBCBigGameplayProcess.inner1 - $1259 = GBCBigGameplayProcess.outer2 - $125e = GBCBigGameplayProcess.inner2 - $1283 = GBCBigGameplayProcess.empty - $1287 = GBCBigGameplayProcess.sub59 - $1289 = GBCBigGameplayProcess.sub52 - $128b = GBCBigGameplayProcess.sub45 - $128d = GBCBigGameplayProcess.sub38 - $128f = GBCBigGameplayProcess.sub31 - $1291 = GBCBigGameplayProcess.sub24 - $1293 = GBCBigGameplayProcess.sub17 - $1295 = GBCBigGameplayProcess.sub10 - $1297 = GBCBigGameplayProcess.done - $12b9 = GBCBigGameplayProcess.darker - $12c0 = GBCBigGameplayProcess.wvr_u5 - $12cd = GBCBigGameplayProcess.lighter - $12d4 = GBCBigGameplayProcess.wvr_u6 - $12e1 = GBCBigGameplayProcess.black - $12ef = GBCBigGameplayProcess.wvr_u7 - $12fc = GBCBigGameplayProcess.white - $1303 = GBCBigGameplayProcess.wvr_u8 - $1310 = ToVRAM - $1310 = GBCBlitField - SECTION: $1342-$1b1b ($07da bytes) ["Field Function Unbanked"] - $1342 = BlitField - $1505 = BlitField.waitendvbloop - $150a = !0 - $1558 = !1 - $15a6 = !2 - $15f4 = !3 - $1642 = !4 - $1690 = !5 - $16de = !6 - $172f = BigBlitField - $18f2 = BigBlitField.waitendvbloop - $18f7 = !7 - $1945 = !8 - $1993 = !9 - $19e1 = !10 - $1a2f = !11 - $1a7d = !12 - $1acb = !13 - SECTION: $1b1c-$2137 ($061c bytes) ["Domain Specific Functions"] - $1b1c = SetPal - $1b29 = SetPal.darker - $1b2f = SetPal.lighter - $1b35 = ApplyTells - $1b35 = SetPal.setpal - $1b73 = ApplyTells.myco - $1b78 = ApplyTells.dropmode - $1b9c = ApplyNext - $1ba4 = ApplyNext.bone - $1bc3 = ApplyNext.nobone - $1be4 = ApplyNext.pos - $1bf4 = ApplyNext.regular - $1bfa = ApplyNext.postoffsets - $1bfd = ApplyNext.getoffn - $1c08 = ApplyNext.skipoffn - $1ca4 = ApplyNext.done - $1ca7 = ApplyHold - $1caf = ApplyHold.bone - $1cce = ApplyHold.nobone - $1cea = ApplyHold.hide - $1cfc = ApplyHold.show - $1d0c = ApplyHold.x - $1d1c = ApplyHold.regular - $1d22 = ApplyHold.postoffsets - $1d25 = ApplyHold.getoffh - $1d30 = ApplyHold.skipoffh - $1d6a = ApplyTime - $1dbb = ApplyTime.loop0 - $1dea = ApplyTime.loop1 - $1e3f = ApplyNumbers8 - $1ea1 = ApplyNumbers8.one - $1eab = ApplyNumbers8.two - $1eb5 = ApplyNumbers8.three - $1ebf = ApplyNumbers8.four - $1ec9 = ApplyNumbers8.five - $1ed3 = ApplyNumbers8.six - $1edd = ApplyNumbers8.seven - $1ee7 = ApplyNumbers8.eight - $1ef0 = ApplyNumbers4 - $1f1e = ApplyNumbers4.one - $1f28 = ApplyNumbers4.two - $1f32 = ApplyNumbers4.three - $1f3c = ApplyNumbers4.four - $1f45 = SetNumberSpritePositions - $205c = GradeRendering - $208f = GradeRendering.effect - $209f = GradeRendering.noeffect - $20a7 = GradeRendering.drawgrade - $20ae = GradeRendering.regulargrade - $20b6 = GradeRendering.sgrade - $20cc = GradeRendering.hisgrade - $20e2 = GradeRendering.mgrade - $20f8 = GradeRendering.lettergrade - $2115 = GradeRendering.mk - $211b = GradeRendering.mv - $2121 = GradeRendering.mo - $2127 = GradeRendering.mm - $212d = GradeRendering.gmgrade - SECTION: $2138-$2656 ($051f bytes) ["SRAM Functions"] - $2138 = RestoreSRAM - $2167 = TrustedLoad - $2178 = !0 - $2189 = !1 - $219a = !2 - $21ab = !3 - $21bc = !4 - $21cd = !5 - $21dc = !6 - $21ed = !7 - $221b = TrustedLoad.jumps - $2233 = TrustedLoad.dmgt - $2239 = TrustedLoad.tgm1 - $223f = TrustedLoad.tgm3 - $2245 = TrustedLoad.deat - $224b = TrustedLoad.shir - $2251 = TrustedLoad.chil - $2257 = TrustedLoad.myco - $225d = TrustedLoad.search - $226f = TrustedLoad.notfound - $2276 = TrustedLoad.fallback - $2291 = InitializeSRAM - $23f2 = ResetScores - $2400 = ResetScores.jumps - $2415 = ResetScores.dmgt - $2421 = ResetScores.tgm1 - $242d = ResetScores.tgm3 - $2439 = ResetScores.deat - $2445 = ResetScores.shir - $2451 = ResetScores.chil - $245d = ResetScores.myco - $2469 = NextProfile - $2472 = NextProfile.update - $2475 = ChangeProfile - $2475 = ChangeProfile.backup - $24a3 = ChangeProfile.first - $24b1 = ChangeProfile.second - $24bf = ChangeProfile.third - $24cd = ChangeProfile.fourth - $24db = ChangeProfile.fifth - $24e9 = ChangeProfile.sixth - $24f7 = ChangeProfile.seventh - $2505 = ChangeProfile.eighth - $2513 = ChangeProfile.ninth - $2521 = ChangeProfile.tenth - $252f = ChangeProfile.restore - $255e = ChangeProfile.lfirst - $256d = ChangeProfile.lsecond - $257c = ChangeProfile.lthird - $258b = ChangeProfile.lfourth - $259a = ChangeProfile.lfifth - $25a9 = ChangeProfile.lsixth - $25b8 = ChangeProfile.lseventh - $25c7 = ChangeProfile.leighth - $25d6 = ChangeProfile.lninth - $25e5 = ChangeProfile.ltenth - $25f4 = ResetProfile - SECTION: $2657-$2ab2 ($045c bytes) ["Level Functions"] - $2657 = LevelInit - $26c7 = SpecialLevelInit - $26d5 = SpecialLevelInit.jumps - $26ea = SpecialLevelInit.dmgt - $26ef = SpecialLevelInit.tgm1 - $26f4 = SpecialLevelInit.tgm3 - $26f9 = SpecialLevelInit.deat - $26fe = SpecialLevelInit.shir - $2703 = SpecialLevelInit.chil - $2708 = SpecialLevelInit.myco - $270d = SpecialLevelInit.loaddata - $2742 = LevelUp - $276c = LevelUp.doit - $27ab = LevelUp.checknlevel - $27df = !0 - $27f7 = !1 - $2800 = LevelUp.checkcool - $2821 = LevelUp.checkregret - $283e = LevelUp.resetsectiontimer - $2861 = LevelUp.regretavailable - $2865 = LevelUp.bellmaybe - $2881 = LevelUp.leveljinglemaybe - $2891 = AdjustSpeedCurve - $2897 = AdjustSpeedCurve.docheck - $2897 = AdjustSpeedCurve.checkthousands - $28a6 = AdjustSpeedCurve.checkhundreds - $28b3 = AdjustSpeedCurve.checktens - $28c2 = AdjustSpeedCurve.checkones - $28cd = AdjustSpeedCurveForced - $2908 = AdjustSpeedCurveForced.continue - $290d = BuildTrueCLevel - $2935 = BuildTrueCLevel.thousands - $294a = CheckSpecialLevelConditions - $297b = CheckSpecialLevelConditions.override - $2996 = CheckSpecialLevelConditions.nooverride - $299c = CheckSpecialLevelConditions.speciallock - $29c0 = CheckSpecialLevelConditions.bones - $29d5 = CheckSpecialLevelConditions.enterthebonezone - $29da = CheckSpecialLevelConditions.invis - $29ef = CheckSpecialLevelConditions.vanishoxyaction - $29f4 = CheckSpecialLevelConditions.killscreen - $2a05 = CheckSpecialLevelConditions.rip - $2a35 = CheckSpecialLevelConditions.staffroll - $2a43 = CheckSpecialLevelConditions.justkill - $2a57 = TriggerKillScreen - $2a79 = GetSection - $2a87 = GetSectionBCD - $2a90 = GetAdjustedSection - $2a9e = GetAdjustedSectionBCD - $2aa7 = SkipSection - SECTION: $2ab3-$2e20 ($036e bytes) ["SFX Functions"] - $2ab3 = SFXInit - $2ae1 = SFXPopQueue - $2af6 = SFXPushQueue - $2b07 = SFXProcessQueue - $2b18 = !0 - $2b33 = !1 - $2b35 = SFXTriggerNoise - $2b42 = !2 - $2b56 = !3 - $2b62 = SFXEnqueue - $2b7b = SFXEnqueue.findsfx - $2b9a = !4 - $2baa = !5 - $2bba = !6 - $2bca = !7 - $2bda = !8 - $2bea = !9 - $2bfa = !10 - $2c0a = !11 - $2c1a = !12 - $2c2a = !13 - $2c3a = !14 - $2c4a = !15 - $2c5a = !16 - $2c6a = !17 - $2c7a = !18 - $2c89 = !19 - $2c98 = !20 - $2ca7 = !21 - $2cb6 = !22 - $2cc5 = !23 - $2cd4 = !24 - $2ce1 = SFXKill - $2d17 = SFXPlayNoise - $2d22 = SFXPlayNoise.noisereg - $2d2f = !25 - $2d39 = SFXPlayNoise.savenoiseplayhead - $2d42 = SFXPlay - $2d47 = SFXPlay.play - $2d51 = SFXPlay.getRegister - $2d52 = SFXPlay.checkEndOfSong - $2d64 = SFXPlay.checkEndOfSample - $2d68 = SFXPlay.checkChangeBank - $2d72 = SFXPlay.checkChangePlayHead - $2d85 = SFXPlay.applyRegister - $2d8a = SFXPlay.savePlayhead - $2d93 = SFXGoRoll - $2dd0 = SFXEndOfGame - SECTION: $2e21-$3050 ($0230 bytes) ["RNG Functions"] - $2e21 = HarvestEntropy - $2e27 = HarvestEntropy.loop - $2e48 = RNGInit - $2e7e = !0 - $2eae = RNGInit.complexinit - $2ec5 = !1 - $2ee0 = ShiftHistory - $2efd = GetNextHellPiece - $2f02 = GetNextTGM1Piece - $2f05 = !2 - $2f1d = !3 - $2f1f = GetNextTGM2Piece - $2f22 = !4 - $2f3a = !5 - $2f3c = GetNextNesPiece - $2f4a = GetNextTGM3Piece - $2f4d = !6 - $2f70 = !7 - $2f73 = !8 - $2f83 = !9 - $2f8d = !10 - $2f9b = !11 - $2fa9 = !12 - $2fb5 = !13 - $2fc1 = !14 - $2fcd = !15 - $2fd9 = !16 - $2fe5 = !17 - $2ff1 = !18 - $3000 = GetNextPiece - $300e = GetNextPiece.nextpiecejumps - $301d = Next35Piece - $301d = !19 - $3027 = Next7Piece - $3027 = !20 - $3031 = NextByte - SECTION: $3051-$3215 ($01c5 bytes) ["Hi Score Functions"] - $3051 = CheckAndAddHiscore - $305b = CheckAndAddHiscore.checkloop - $3060 = CheckAndAddHiscore.checkgrade - $3069 = CheckAndAddHiscore.oldgraded - $3078 = CheckAndAddHiscore.oldungraded - $307f = CheckAndAddHiscore.checklevel - $30a4 = CheckAndAddHiscore.checkscore - $30e7 = CheckAndAddHiscore.notbetter - $30f4 = CheckAndAddHiscore.better - $30f6 = InsertHiScore - $30f6 = InsertHiScore.copylower - $3107 = InsertHiScore.copyupper - $3113 = !0 - $3127 = InsertHiScore.findrow - $3133 = !1 - $3137 = InsertHiScore.insert - $3190 = InsertHiScore.persist - $31a1 = GetHiScoreEntry - $31b5 = !2 - $31b9 = GetHiScoreEntry.store - $31c2 = InitTargetHSTable - $31cd = InitTargetHSTable.jumps - $31e2 = InitTargetHSTable.dmgt - $31e7 = InitTargetHSTable.tgm1 - $31ec = InitTargetHSTable.tgm3 - $31f1 = InitTargetHSTable.deat - $31f6 = InitTargetHSTable.shir - $31fb = InitTargetHSTable.chil - $3200 = InitTargetHSTable.myco - $3203 = InitTargetHSTable.store - SECTION: $3216-$335f ($014a bytes) ["Progress Data"] - $3216 = sProgressData - SECTION: $3360-$34a6 ($0147 bytes) ["Time Functions"] - $3360 = TimeInit - $3389 = StartCountdown - $3397 = ResetGameTime - $33ab = CheckTorikan - $33c1 = CheckTorikan.failure - $33c3 = CheckTorikan.success - $33c6 = HandleTimers - $33ec = HandleTimers.reduce - $33f9 = HandleTimers.clock - $3413 = HandleTimers.go - $3437 = CheckCOOL_REGRET - $344e = CheckCOOL_REGRET.failure - $3450 = CheckCOOL_REGRET.success - $3453 = HandleSectionTimers - $346f = HandleSectionTimers.continue - $3483 = HandleSectionTimers.sectiongo - SECTION: $34a7-$35e6 ($0140 bytes) ["Hi Score Data"] - $34a7 = sHiscoreDefaultData - SECTION: $35e7-$3710 ($012a bytes) ["Input Functions"] - $35e7 = InputInit - $35f9 = GetInput - $35f9 = GetInput.btns - $3606 = GetInput.readA - $360a = GetInput.setA - $3615 = GetInput.clearA - $3618 = GetInput.readB - $361c = GetInput.setB - $3627 = GetInput.clearB - $362a = GetInput.readSelect - $362e = GetInput.setSelect - $3639 = GetInput.clearSelect - $363c = GetInput.readStart - $3640 = GetInput.setStart - $364b = GetInput.clearStart - $364e = GetInput.dpad - $365b = GetInput.readUp - $365f = GetInput.setUp - $366a = GetInput.clearUp - $366d = GetInput.readDown - $3671 = GetInput.setDown - $367c = GetInput.clearDown - $367f = GetInput.readLeft - $3683 = GetInput.setLeft - $368e = GetInput.clearLeft - $3691 = GetInput.readRight - $3695 = GetInput.setRight - $36a0 = GetInput.clearRight - $36a3 = GetInput.priorities - $36b0 = GetInput.jumps - $36bf = GetInput.dlru - $36cf = GetInput.ulrd - $36df = GetInput.lrud - $36ea = GetInput.udlr - $36f5 = GetInput.zeroud - $36fb = GetInput.zerolr - $3701 = GetInput.zerolrd - $3709 = GetInput.zerolru - SECTION: $3711-$37f0 ($00e0 bytes) ["Score Functions"] - $3711 = ScoreInit - $3739 = IncreaseScore - $3771 = IncreaseScore.doConvert - $3773 = !0 - $3789 = IncreaseScore.carry - $378b = IncreaseScore.postConvert - $3798 = !1 - $379f = IncreaseScore.preAddDigit - $37c7 = IncreaseScore.addDigit - $37dd = IncreaseScore.nextDigit - SECTION: $37f1-$38bb ($00cb bytes) ["Title Function Trampolines"] - $37f1 = SwitchToTitle - $37fa = TitleEventLoopHandler - $3804 = TitleVBlankHandler - $380e = PersistLevel - $381c = DrawSpeedMain - $386c = DrawSpeedSettings - SECTION: $38bc-$396c ($00b1 bytes) ["Progress Functions"] - $38bc = SetProgress - $38c6 = SetProgress.loop - $38ca = SetProgress.correct - $38f1 = SetProgress.wvr_u1 - $38fd = SetProgress.wvr_u2 - $390b = SetProgress.wvr_u3 - $3917 = SetProgress.wvr_u4 - $3925 = SetProgress.wvr_u5 - $3931 = SetProgress.wvr_u6 - $393f = SetProgress.wvr_u7 - $394b = SetProgress.wvr_u8 - $3959 = SetProgress.wvr_u9 - $3965 = SetProgress.wvr_u10 - SECTION: $396d-$3a0d ($00a1 bytes) ["Code Entry Point"] - $396d = Main - $3996 = Main.notgbc - $39a2 = Main.wvr_u1 - $39cf = EventLoop - $39e8 = EventLoop.eventloopjumps - $39f1 = EventLoopPostHandler - $39f3 = EventLoopPostHandler.wvb_u2 - $3a05 = EventLoopPostHandler.vblankjumps - SECTION: $3a0e-$3a43 ($0036 bytes) ["Grading Functions Unbanked"] - $3a0e = GradeInit - $3a17 = UpdateGrade - $3a20 = DecayGradeProcess - $3a29 = DecayGradeDelay - $3a32 = TGM3REGRETHandler - $3a3b = TGM3COOLHandler - SECTION: $3a44-$3a71 ($002e bytes) ["Memory Functions"] - $3a44 = UnsafeMemCopy - $3a4d = SafeMemCopy.wvr_u1 - $3a4d = SafeMemCopy - $3a5c = UnsafeMemSet - $3a64 = SafeMemSet - $3a64 = SafeMemSet.wvr_u2 - SECTION: $3a72-$3a97 ($0026 bytes) ["Gameplay Function Trampolines"] - $3a72 = SwitchToGameplay - $3a7b = SwitchToGameplayBig - $3a84 = GamePlayEventLoopHandler - $3a8e = GamePlayBigEventLoopHandler - SECTION: $3a98-$3abc ($0025 bytes) ["Interrupt Initialization Functions"] - $3a98 = EnableScreenSquish - $3ab2 = DisableScreenSquish - SECTION: $3abd-$3ade ($0022 bytes) ["OAM Functions"] - $3abd = CopyOAMHandler - $3ac9 = ClearOAM - SECTION: $3adf-$3aef ($0011 bytes) ["Intro Effect Trampoline"] - $3adf = DoIntroEffect - SECTION: $3af0-$3afe ($000f bytes) ["Banking Functions"] - $3af0 = BankingInit - SECTION: $3aff-$3b08 ($000a bytes) ["OAM DMA Code"] - $3aff = OAMDMA - $3b09 = OAMDMAEnd - EMPTY: $3b09-$3fff ($04f7 bytes) - TOTAL EMPTY: $0506 bytes + $0be7 = GBCTitleProcess + $0c03 = GBCTitleProcess.jumps + $0c12 = GBCTitleProcess.eventLoopMain + $0c28 = !0 + $0c34 = GBCTitleProcess.eventLoopProfile + $0c3e = !1 + $0c4a = GBCTitleProcess.eventLoopSettings + $0c54 = !2 + $0c60 = GBCGameplayProcess + $0c71 = GBCGameplayProcess.goverride + $0c7c = !3 + $0c85 = !4 + $0c8e = !5 + $0c96 = GBCGameplayProcess.colorfield + $0dfc = !6 + $0e0a = GBCGameplayProcess.outer1 + $0e0f = GBCGameplayProcess.inner1 + $0e33 = GBCGameplayProcess.outer2 + $0e38 = GBCGameplayProcess.inner2 + $0e5d = GBCGameplayProcess.empty + $0e61 = GBCGameplayProcess.sub59 + $0e63 = GBCGameplayProcess.sub52 + $0e65 = GBCGameplayProcess.sub45 + $0e67 = GBCGameplayProcess.sub38 + $0e69 = GBCGameplayProcess.sub31 + $0e6b = GBCGameplayProcess.sub24 + $0e6d = GBCGameplayProcess.sub17 + $0e6f = GBCGameplayProcess.sub10 + $0e71 = GBCGameplayProcess.done + $0e93 = GBCGameplayProcess.darker + $0e9a = GBCGameplayProcess.wvr_u1 + $0ea7 = GBCGameplayProcess.lighter + $0eae = GBCGameplayProcess.wvr_u2 + $0ebb = GBCGameplayProcess.black + $0ec9 = GBCGameplayProcess.wvr_u3 + $0ed6 = GBCGameplayProcess.white + $0edd = GBCGameplayProcess.wvr_u4 + $0eea = GBCBigGameplayProcess + $0efb = GBCBigGameplayProcess.goverride + $0f06 = !7 + $0f0f = !8 + $0f18 = !9 + $0f20 = GBCBigGameplayProcess.colorfield + $1086 = !10 + $1094 = GBCBigGameplayProcess.outer1 + $1099 = GBCBigGameplayProcess.inner1 + $10bd = GBCBigGameplayProcess.outer2 + $10c2 = GBCBigGameplayProcess.inner2 + $10e7 = GBCBigGameplayProcess.empty + $10eb = GBCBigGameplayProcess.sub59 + $10ed = GBCBigGameplayProcess.sub52 + $10ef = GBCBigGameplayProcess.sub45 + $10f1 = GBCBigGameplayProcess.sub38 + $10f3 = GBCBigGameplayProcess.sub31 + $10f5 = GBCBigGameplayProcess.sub24 + $10f7 = GBCBigGameplayProcess.sub17 + $10f9 = GBCBigGameplayProcess.sub10 + $10fb = GBCBigGameplayProcess.done + $111d = GBCBigGameplayProcess.darker + $1124 = GBCBigGameplayProcess.wvr_u5 + $1131 = GBCBigGameplayProcess.lighter + $1138 = GBCBigGameplayProcess.wvr_u6 + $1145 = GBCBigGameplayProcess.black + $1153 = GBCBigGameplayProcess.wvr_u7 + $1160 = GBCBigGameplayProcess.white + $1167 = GBCBigGameplayProcess.wvr_u8 + $1174 = ToVRAM + $1174 = GBCBlitField + SECTION: $11a6-$197f ($07da bytes) ["Field Function Unbanked"] + $11a6 = BlitField + $1369 = BlitField.waitendvbloop + $136e = !0 + $13bc = !1 + $140a = !2 + $1458 = !3 + $14a6 = !4 + $14f4 = !5 + $1542 = !6 + $1593 = BigBlitField + $1756 = BigBlitField.waitendvbloop + $175b = !7 + $17a9 = !8 + $17f7 = !9 + $1845 = !10 + $1893 = !11 + $18e1 = !12 + $192f = !13 + SECTION: $1980-$1f9b ($061c bytes) ["Domain Specific Functions"] + $1980 = SetPal + $198d = SetPal.darker + $1993 = SetPal.lighter + $1999 = ApplyTells + $1999 = SetPal.setpal + $19d7 = ApplyTells.myco + $19dc = ApplyTells.dropmode + $1a00 = ApplyNext + $1a08 = ApplyNext.bone + $1a27 = ApplyNext.nobone + $1a48 = ApplyNext.pos + $1a58 = ApplyNext.regular + $1a5e = ApplyNext.postoffsets + $1a61 = ApplyNext.getoffn + $1a6c = ApplyNext.skipoffn + $1b08 = ApplyNext.done + $1b0b = ApplyHold + $1b13 = ApplyHold.bone + $1b32 = ApplyHold.nobone + $1b4e = ApplyHold.hide + $1b60 = ApplyHold.show + $1b70 = ApplyHold.x + $1b80 = ApplyHold.regular + $1b86 = ApplyHold.postoffsets + $1b89 = ApplyHold.getoffh + $1b94 = ApplyHold.skipoffh + $1bce = ApplyTime + $1c1f = ApplyTime.loop0 + $1c4e = ApplyTime.loop1 + $1ca3 = ApplyNumbers8 + $1d05 = ApplyNumbers8.one + $1d0f = ApplyNumbers8.two + $1d19 = ApplyNumbers8.three + $1d23 = ApplyNumbers8.four + $1d2d = ApplyNumbers8.five + $1d37 = ApplyNumbers8.six + $1d41 = ApplyNumbers8.seven + $1d4b = ApplyNumbers8.eight + $1d54 = ApplyNumbers4 + $1d82 = ApplyNumbers4.one + $1d8c = ApplyNumbers4.two + $1d96 = ApplyNumbers4.three + $1da0 = ApplyNumbers4.four + $1da9 = SetNumberSpritePositions + $1ec0 = GradeRendering + $1ef3 = GradeRendering.effect + $1f03 = GradeRendering.noeffect + $1f0b = GradeRendering.drawgrade + $1f12 = GradeRendering.regulargrade + $1f1a = GradeRendering.sgrade + $1f30 = GradeRendering.hisgrade + $1f46 = GradeRendering.mgrade + $1f5c = GradeRendering.lettergrade + $1f79 = GradeRendering.mk + $1f7f = GradeRendering.mv + $1f85 = GradeRendering.mo + $1f8b = GradeRendering.mm + $1f91 = GradeRendering.gmgrade + SECTION: $1f9c-$24ba ($051f bytes) ["SRAM Functions"] + $1f9c = RestoreSRAM + $1fcb = TrustedLoad + $1fdc = !0 + $1fed = !1 + $1ffe = !2 + $200f = !3 + $2020 = !4 + $2031 = !5 + $2040 = !6 + $2051 = !7 + $207f = TrustedLoad.jumps + $2097 = TrustedLoad.dmgt + $209d = TrustedLoad.tgm1 + $20a3 = TrustedLoad.tgm3 + $20a9 = TrustedLoad.deat + $20af = TrustedLoad.shir + $20b5 = TrustedLoad.chil + $20bb = TrustedLoad.myco + $20c1 = TrustedLoad.search + $20d3 = TrustedLoad.notfound + $20da = TrustedLoad.fallback + $20f5 = InitializeSRAM + $2256 = ResetScores + $2264 = ResetScores.jumps + $2279 = ResetScores.dmgt + $2285 = ResetScores.tgm1 + $2291 = ResetScores.tgm3 + $229d = ResetScores.deat + $22a9 = ResetScores.shir + $22b5 = ResetScores.chil + $22c1 = ResetScores.myco + $22cd = NextProfile + $22d6 = NextProfile.update + $22d9 = ChangeProfile + $22d9 = ChangeProfile.backup + $2307 = ChangeProfile.first + $2315 = ChangeProfile.second + $2323 = ChangeProfile.third + $2331 = ChangeProfile.fourth + $233f = ChangeProfile.fifth + $234d = ChangeProfile.sixth + $235b = ChangeProfile.seventh + $2369 = ChangeProfile.eighth + $2377 = ChangeProfile.ninth + $2385 = ChangeProfile.tenth + $2393 = ChangeProfile.restore + $23c2 = ChangeProfile.lfirst + $23d1 = ChangeProfile.lsecond + $23e0 = ChangeProfile.lthird + $23ef = ChangeProfile.lfourth + $23fe = ChangeProfile.lfifth + $240d = ChangeProfile.lsixth + $241c = ChangeProfile.lseventh + $242b = ChangeProfile.leighth + $243a = ChangeProfile.lninth + $2449 = ChangeProfile.ltenth + $2458 = ResetProfile + SECTION: $24bb-$2916 ($045c bytes) ["Level Functions"] + $24bb = LevelInit + $252b = SpecialLevelInit + $2539 = SpecialLevelInit.jumps + $254e = SpecialLevelInit.dmgt + $2553 = SpecialLevelInit.tgm1 + $2558 = SpecialLevelInit.tgm3 + $255d = SpecialLevelInit.deat + $2562 = SpecialLevelInit.shir + $2567 = SpecialLevelInit.chil + $256c = SpecialLevelInit.myco + $2571 = SpecialLevelInit.loaddata + $25a6 = LevelUp + $25d0 = LevelUp.doit + $260f = LevelUp.checknlevel + $2643 = !0 + $265b = !1 + $2664 = LevelUp.checkcool + $2685 = LevelUp.checkregret + $26a2 = LevelUp.resetsectiontimer + $26c5 = LevelUp.regretavailable + $26c9 = LevelUp.bellmaybe + $26e5 = LevelUp.leveljinglemaybe + $26f5 = AdjustSpeedCurve + $26fb = AdjustSpeedCurve.docheck + $26fb = AdjustSpeedCurve.checkthousands + $270a = AdjustSpeedCurve.checkhundreds + $2717 = AdjustSpeedCurve.checktens + $2726 = AdjustSpeedCurve.checkones + $2731 = AdjustSpeedCurveForced + $276c = AdjustSpeedCurveForced.continue + $2771 = BuildTrueCLevel + $2799 = BuildTrueCLevel.thousands + $27ae = CheckSpecialLevelConditions + $27df = CheckSpecialLevelConditions.override + $27fa = CheckSpecialLevelConditions.nooverride + $2800 = CheckSpecialLevelConditions.speciallock + $2824 = CheckSpecialLevelConditions.bones + $2839 = CheckSpecialLevelConditions.enterthebonezone + $283e = CheckSpecialLevelConditions.invis + $2853 = CheckSpecialLevelConditions.vanishoxyaction + $2858 = CheckSpecialLevelConditions.killscreen + $2869 = CheckSpecialLevelConditions.rip + $2899 = CheckSpecialLevelConditions.staffroll + $28a7 = CheckSpecialLevelConditions.justkill + $28bb = TriggerKillScreen + $28dd = GetSection + $28eb = GetSectionBCD + $28f4 = GetAdjustedSection + $2902 = GetAdjustedSectionBCD + $290b = SkipSection + SECTION: $2917-$2c84 ($036e bytes) ["SFX Functions"] + $2917 = SFXInit + $2945 = SFXPopQueue + $295a = SFXPushQueue + $296b = SFXProcessQueue + $297c = !0 + $2997 = !1 + $2999 = SFXTriggerNoise + $29a6 = !2 + $29ba = !3 + $29c6 = SFXEnqueue + $29df = SFXEnqueue.findsfx + $29fe = !4 + $2a0e = !5 + $2a1e = !6 + $2a2e = !7 + $2a3e = !8 + $2a4e = !9 + $2a5e = !10 + $2a6e = !11 + $2a7e = !12 + $2a8e = !13 + $2a9e = !14 + $2aae = !15 + $2abe = !16 + $2ace = !17 + $2ade = !18 + $2aed = !19 + $2afc = !20 + $2b0b = !21 + $2b1a = !22 + $2b29 = !23 + $2b38 = !24 + $2b45 = SFXKill + $2b7b = SFXPlayNoise + $2b86 = SFXPlayNoise.noisereg + $2b93 = !25 + $2b9d = SFXPlayNoise.savenoiseplayhead + $2ba6 = SFXPlay + $2bab = SFXPlay.play + $2bb5 = SFXPlay.getRegister + $2bb6 = SFXPlay.checkEndOfSong + $2bc8 = SFXPlay.checkEndOfSample + $2bcc = SFXPlay.checkChangeBank + $2bd6 = SFXPlay.checkChangePlayHead + $2be9 = SFXPlay.applyRegister + $2bee = SFXPlay.savePlayhead + $2bf7 = SFXGoRoll + $2c34 = SFXEndOfGame + SECTION: $2c85-$2eb4 ($0230 bytes) ["RNG Functions"] + $2c85 = HarvestEntropy + $2c8b = HarvestEntropy.loop + $2cac = RNGInit + $2ce2 = !0 + $2d12 = RNGInit.complexinit + $2d29 = !1 + $2d44 = ShiftHistory + $2d61 = GetNextHellPiece + $2d66 = GetNextTGM1Piece + $2d69 = !2 + $2d81 = !3 + $2d83 = GetNextTGM2Piece + $2d86 = !4 + $2d9e = !5 + $2da0 = GetNextNesPiece + $2dae = GetNextTGM3Piece + $2db1 = !6 + $2dd4 = !7 + $2dd7 = !8 + $2de7 = !9 + $2df1 = !10 + $2dff = !11 + $2e0d = !12 + $2e19 = !13 + $2e25 = !14 + $2e31 = !15 + $2e3d = !16 + $2e49 = !17 + $2e55 = !18 + $2e64 = GetNextPiece + $2e72 = GetNextPiece.nextpiecejumps + $2e81 = Next35Piece + $2e81 = !19 + $2e8b = Next7Piece + $2e8b = !20 + $2e95 = NextByte + SECTION: $2eb5-$3079 ($01c5 bytes) ["Hi Score Functions"] + $2eb5 = CheckAndAddHiscore + $2ebf = CheckAndAddHiscore.checkloop + $2ec4 = CheckAndAddHiscore.checkgrade + $2ecd = CheckAndAddHiscore.oldgraded + $2edc = CheckAndAddHiscore.oldungraded + $2ee3 = CheckAndAddHiscore.checklevel + $2f08 = CheckAndAddHiscore.checkscore + $2f4b = CheckAndAddHiscore.notbetter + $2f58 = CheckAndAddHiscore.better + $2f5a = InsertHiScore + $2f5a = InsertHiScore.copylower + $2f6b = InsertHiScore.copyupper + $2f77 = !0 + $2f8b = InsertHiScore.findrow + $2f97 = !1 + $2f9b = InsertHiScore.insert + $2ff4 = InsertHiScore.persist + $3005 = GetHiScoreEntry + $3019 = !2 + $301d = GetHiScoreEntry.store + $3026 = InitTargetHSTable + $3031 = InitTargetHSTable.jumps + $3046 = InitTargetHSTable.dmgt + $304b = InitTargetHSTable.tgm1 + $3050 = InitTargetHSTable.tgm3 + $3055 = InitTargetHSTable.deat + $305a = InitTargetHSTable.shir + $305f = InitTargetHSTable.chil + $3064 = InitTargetHSTable.myco + $3067 = InitTargetHSTable.store + SECTION: $307a-$31c3 ($014a bytes) ["Progress Data"] + $307a = sProgressData + SECTION: $31c4-$330a ($0147 bytes) ["Time Functions"] + $31c4 = TimeInit + $31ed = StartCountdown + $31fb = ResetGameTime + $320f = CheckTorikan + $3225 = CheckTorikan.failure + $3227 = CheckTorikan.success + $322a = HandleTimers + $3250 = HandleTimers.reduce + $325d = HandleTimers.clock + $3277 = HandleTimers.go + $329b = CheckCOOL_REGRET + $32b2 = CheckCOOL_REGRET.failure + $32b4 = CheckCOOL_REGRET.success + $32b7 = HandleSectionTimers + $32d3 = HandleSectionTimers.continue + $32e7 = HandleSectionTimers.sectiongo + SECTION: $330b-$344a ($0140 bytes) ["Hi Score Data"] + $330b = sHiscoreDefaultData + SECTION: $344b-$3574 ($012a bytes) ["Input Functions"] + $344b = InputInit + $345d = GetInput + $345d = GetInput.btns + $346a = GetInput.readA + $346e = GetInput.setA + $3479 = GetInput.clearA + $347c = GetInput.readB + $3480 = GetInput.setB + $348b = GetInput.clearB + $348e = GetInput.readSelect + $3492 = GetInput.setSelect + $349d = GetInput.clearSelect + $34a0 = GetInput.readStart + $34a4 = GetInput.setStart + $34af = GetInput.clearStart + $34b2 = GetInput.dpad + $34bf = GetInput.readUp + $34c3 = GetInput.setUp + $34ce = GetInput.clearUp + $34d1 = GetInput.readDown + $34d5 = GetInput.setDown + $34e0 = GetInput.clearDown + $34e3 = GetInput.readLeft + $34e7 = GetInput.setLeft + $34f2 = GetInput.clearLeft + $34f5 = GetInput.readRight + $34f9 = GetInput.setRight + $3504 = GetInput.clearRight + $3507 = GetInput.priorities + $3514 = GetInput.jumps + $3523 = GetInput.dlru + $3533 = GetInput.ulrd + $3543 = GetInput.lrud + $354e = GetInput.udlr + $3559 = GetInput.zeroud + $355f = GetInput.zerolr + $3565 = GetInput.zerolrd + $356d = GetInput.zerolru + SECTION: $3575-$3654 ($00e0 bytes) ["Score Functions"] + $3575 = ScoreInit + $359d = IncreaseScore + $35d5 = IncreaseScore.doConvert + $35d7 = !0 + $35ed = IncreaseScore.carry + $35ef = IncreaseScore.postConvert + $35fc = !1 + $3603 = IncreaseScore.preAddDigit + $362b = IncreaseScore.addDigit + $3641 = IncreaseScore.nextDigit + SECTION: $3655-$371f ($00cb bytes) ["Title Function Trampolines"] + $3655 = SwitchToTitle + $365e = TitleEventLoopHandler + $3668 = TitleVBlankHandler + $3672 = PersistLevel + $3680 = DrawSpeedMain + $36d0 = DrawSpeedSettings + SECTION: $3720-$37d0 ($00b1 bytes) ["Progress Functions"] + $3720 = SetProgress + $372a = SetProgress.loop + $372e = SetProgress.correct + $3755 = SetProgress.wvr_u1 + $3761 = SetProgress.wvr_u2 + $376f = SetProgress.wvr_u3 + $377b = SetProgress.wvr_u4 + $3789 = SetProgress.wvr_u5 + $3795 = SetProgress.wvr_u6 + $37a3 = SetProgress.wvr_u7 + $37af = SetProgress.wvr_u8 + $37bd = SetProgress.wvr_u9 + $37c9 = SetProgress.wvr_u10 + SECTION: $37d1-$3871 ($00a1 bytes) ["Code Entry Point"] + $37d1 = Main + $37fa = Main.notgbc + $3806 = Main.wvr_u1 + $3833 = EventLoop + $384c = EventLoop.eventloopjumps + $3855 = EventLoopPostHandler + $3857 = EventLoopPostHandler.wvb_u2 + $3869 = EventLoopPostHandler.vblankjumps + SECTION: $3872-$38a7 ($0036 bytes) ["Grading Functions Unbanked"] + $3872 = GradeInit + $387b = UpdateGrade + $3884 = DecayGradeProcess + $388d = DecayGradeDelay + $3896 = TGM3REGRETHandler + $389f = TGM3COOLHandler + SECTION: $38a8-$38d5 ($002e bytes) ["Memory Functions"] + $38a8 = UnsafeMemCopy + $38b1 = SafeMemCopy.wvr_u1 + $38b1 = SafeMemCopy + $38c0 = UnsafeMemSet + $38c8 = SafeMemSet + $38c8 = SafeMemSet.wvr_u2 + SECTION: $38d6-$38fb ($0026 bytes) ["Gameplay Function Trampolines"] + $38d6 = SwitchToGameplay + $38df = SwitchToGameplayBig + $38e8 = GamePlayEventLoopHandler + $38f2 = GamePlayBigEventLoopHandler + SECTION: $38fc-$3920 ($0025 bytes) ["Interrupt Initialization Functions"] + $38fc = EnableScreenSquish + $3916 = DisableScreenSquish + SECTION: $3921-$3942 ($0022 bytes) ["OAM Functions"] + $3921 = CopyOAMHandler + $392d = ClearOAM + SECTION: $3943-$3953 ($0011 bytes) ["Intro Effect Trampoline"] + $3943 = DoIntroEffect + SECTION: $3954-$3962 ($000f bytes) ["Banking Functions"] + $3954 = BankingInit + SECTION: $3963-$396c ($000a bytes) ["OAM DMA Code"] + $3963 = OAMDMA + $396d = OAMDMAEnd + EMPTY: $396d-$3fff ($0693 bytes) + TOTAL EMPTY: $069b bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -3567,7 +3567,7 @@ HRAM bank #0: TOTAL EMPTY: $0000 bytes SUMMARY: - ROM0: 15098 bytes used / 1286 free + ROM0: 14693 bytes used / 1691 free ROMX: 110550 bytes used / 36906 free in 9 banks SRAM: 2951 bytes used / 5241 free in 1 bank WRAM0: 3926 bytes used / 170 free diff --git a/bin/PandorasBlocks.pocket b/bin/PandorasBlocks.pocket index 5edb36d..30100f7 100644 Binary files a/bin/PandorasBlocks.pocket and b/bin/PandorasBlocks.pocket differ diff --git a/bin/PandorasBlocks.sym b/bin/PandorasBlocks.sym index eaa1090..0c045c3 100644 --- a/bin/PandorasBlocks.sym +++ b/bin/PandorasBlocks.sym @@ -9,6 +9,7 @@ 00:009f LoadGameplayTiles.gbc 00:00ae LoadGameplayTiles.dmg 00:00bd sFramesToCS +00:00f9 sModeColors 00:0150 ToATTR 00:0172 GBCTitleInit 00:0353 GBCTitleInit.agb @@ -16,402 +17,401 @@ 00:0557 GBCGameplayInit 00:0892 GBCGameplayInit.agb 00:0bbc GBCGameplayInit.postpalettes -00:0d02 GBCGameplayInit.skip -00:0d2d GBCTitleProcess -00:0d49 GBCTitleProcess.jumps -00:0d58 GBCTitleProcess.eventLoopMain -00:0d7a GBCTitleProcess.eventLoopProfile -00:0d90 GBCTitleProcess.eventLoopSettings -00:0da6 GBCGameplayProcess -00:0de2 GBCGameplayProcess.goverride -00:0e07 GBCGameplayProcess.colorfield -00:0f7b GBCGameplayProcess.outer1 -00:0f80 GBCGameplayProcess.inner1 -00:0fa4 GBCGameplayProcess.outer2 -00:0fa9 GBCGameplayProcess.inner2 -00:0fce GBCGameplayProcess.empty -00:0fd2 GBCGameplayProcess.sub59 -00:0fd4 GBCGameplayProcess.sub52 -00:0fd6 GBCGameplayProcess.sub45 -00:0fd8 GBCGameplayProcess.sub38 -00:0fda GBCGameplayProcess.sub31 -00:0fdc GBCGameplayProcess.sub24 -00:0fde GBCGameplayProcess.sub17 -00:0fe0 GBCGameplayProcess.sub10 -00:0fe2 GBCGameplayProcess.done -00:1004 GBCGameplayProcess.darker -00:100b GBCGameplayProcess.wvr_u1 -00:1018 GBCGameplayProcess.lighter -00:101f GBCGameplayProcess.wvr_u2 -00:102c GBCGameplayProcess.black -00:103a GBCGameplayProcess.wvr_u3 -00:1047 GBCGameplayProcess.white -00:104e GBCGameplayProcess.wvr_u4 -00:105b GBCBigGameplayProcess -00:1097 GBCBigGameplayProcess.goverride -00:10bc GBCBigGameplayProcess.colorfield -00:1230 GBCBigGameplayProcess.outer1 -00:1235 GBCBigGameplayProcess.inner1 -00:1259 GBCBigGameplayProcess.outer2 -00:125e GBCBigGameplayProcess.inner2 -00:1283 GBCBigGameplayProcess.empty -00:1287 GBCBigGameplayProcess.sub59 -00:1289 GBCBigGameplayProcess.sub52 -00:128b GBCBigGameplayProcess.sub45 -00:128d GBCBigGameplayProcess.sub38 -00:128f GBCBigGameplayProcess.sub31 -00:1291 GBCBigGameplayProcess.sub24 -00:1293 GBCBigGameplayProcess.sub17 -00:1295 GBCBigGameplayProcess.sub10 -00:1297 GBCBigGameplayProcess.done -00:12b9 GBCBigGameplayProcess.darker -00:12c0 GBCBigGameplayProcess.wvr_u5 -00:12cd GBCBigGameplayProcess.lighter -00:12d4 GBCBigGameplayProcess.wvr_u6 -00:12e1 GBCBigGameplayProcess.black -00:12ef GBCBigGameplayProcess.wvr_u7 -00:12fc GBCBigGameplayProcess.white -00:1303 GBCBigGameplayProcess.wvr_u8 -00:1310 ToVRAM -00:1310 GBCBlitField -00:1342 BlitField -00:1505 BlitField.waitendvbloop -00:172f BigBlitField -00:18f2 BigBlitField.waitendvbloop -00:1b1c SetPal -00:1b29 SetPal.darker -00:1b2f SetPal.lighter -00:1b35 ApplyTells -00:1b35 SetPal.setpal -00:1b73 ApplyTells.myco -00:1b78 ApplyTells.dropmode -00:1b9c ApplyNext -00:1ba4 ApplyNext.bone -00:1bc3 ApplyNext.nobone -00:1be4 ApplyNext.pos -00:1bf4 ApplyNext.regular -00:1bfa ApplyNext.postoffsets -00:1bfd ApplyNext.getoffn -00:1c08 ApplyNext.skipoffn -00:1ca4 ApplyNext.done -00:1ca7 ApplyHold -00:1caf ApplyHold.bone -00:1cce ApplyHold.nobone -00:1cea ApplyHold.hide -00:1cfc ApplyHold.show -00:1d0c ApplyHold.x -00:1d1c ApplyHold.regular -00:1d22 ApplyHold.postoffsets -00:1d25 ApplyHold.getoffh -00:1d30 ApplyHold.skipoffh -00:1d6a ApplyTime -00:1dbb ApplyTime.loop0 -00:1dea ApplyTime.loop1 -00:1e3f ApplyNumbers8 -00:1ea1 ApplyNumbers8.one -00:1eab ApplyNumbers8.two -00:1eb5 ApplyNumbers8.three -00:1ebf ApplyNumbers8.four -00:1ec9 ApplyNumbers8.five -00:1ed3 ApplyNumbers8.six -00:1edd ApplyNumbers8.seven -00:1ee7 ApplyNumbers8.eight -00:1ef0 ApplyNumbers4 -00:1f1e ApplyNumbers4.one -00:1f28 ApplyNumbers4.two -00:1f32 ApplyNumbers4.three -00:1f3c ApplyNumbers4.four -00:1f45 SetNumberSpritePositions -00:205c GradeRendering -00:208f GradeRendering.effect -00:209f GradeRendering.noeffect -00:20a7 GradeRendering.drawgrade -00:20ae GradeRendering.regulargrade -00:20b6 GradeRendering.sgrade -00:20cc GradeRendering.hisgrade -00:20e2 GradeRendering.mgrade -00:20f8 GradeRendering.lettergrade -00:2115 GradeRendering.mk -00:211b GradeRendering.mv -00:2121 GradeRendering.mo -00:2127 GradeRendering.mm -00:212d GradeRendering.gmgrade -00:2138 RestoreSRAM -00:2167 TrustedLoad -00:221b TrustedLoad.jumps -00:2233 TrustedLoad.dmgt -00:2239 TrustedLoad.tgm1 -00:223f TrustedLoad.tgm3 -00:2245 TrustedLoad.deat -00:224b TrustedLoad.shir -00:2251 TrustedLoad.chil -00:2257 TrustedLoad.myco -00:225d TrustedLoad.search -00:226f TrustedLoad.notfound -00:2276 TrustedLoad.fallback -00:2291 InitializeSRAM -00:23f2 ResetScores -00:2400 ResetScores.jumps -00:2415 ResetScores.dmgt -00:2421 ResetScores.tgm1 -00:242d ResetScores.tgm3 -00:2439 ResetScores.deat -00:2445 ResetScores.shir -00:2451 ResetScores.chil -00:245d ResetScores.myco -00:2469 NextProfile -00:2472 NextProfile.update -00:2475 ChangeProfile -00:2475 ChangeProfile.backup -00:24a3 ChangeProfile.first -00:24b1 ChangeProfile.second -00:24bf ChangeProfile.third -00:24cd ChangeProfile.fourth -00:24db ChangeProfile.fifth -00:24e9 ChangeProfile.sixth -00:24f7 ChangeProfile.seventh -00:2505 ChangeProfile.eighth -00:2513 ChangeProfile.ninth -00:2521 ChangeProfile.tenth -00:252f ChangeProfile.restore -00:255e ChangeProfile.lfirst -00:256d ChangeProfile.lsecond -00:257c ChangeProfile.lthird -00:258b ChangeProfile.lfourth -00:259a ChangeProfile.lfifth -00:25a9 ChangeProfile.lsixth -00:25b8 ChangeProfile.lseventh -00:25c7 ChangeProfile.leighth -00:25d6 ChangeProfile.lninth -00:25e5 ChangeProfile.ltenth -00:25f4 ResetProfile -00:2657 LevelInit -00:26c7 SpecialLevelInit -00:26d5 SpecialLevelInit.jumps -00:26ea SpecialLevelInit.dmgt -00:26ef SpecialLevelInit.tgm1 -00:26f4 SpecialLevelInit.tgm3 -00:26f9 SpecialLevelInit.deat -00:26fe SpecialLevelInit.shir -00:2703 SpecialLevelInit.chil -00:2708 SpecialLevelInit.myco -00:270d SpecialLevelInit.loaddata -00:2742 LevelUp -00:276c LevelUp.doit -00:27ab LevelUp.checknlevel -00:2800 LevelUp.checkcool -00:2821 LevelUp.checkregret -00:283e LevelUp.resetsectiontimer -00:2861 LevelUp.regretavailable -00:2865 LevelUp.bellmaybe -00:2881 LevelUp.leveljinglemaybe -00:2891 AdjustSpeedCurve -00:2897 AdjustSpeedCurve.docheck -00:2897 AdjustSpeedCurve.checkthousands -00:28a6 AdjustSpeedCurve.checkhundreds -00:28b3 AdjustSpeedCurve.checktens -00:28c2 AdjustSpeedCurve.checkones -00:28cd AdjustSpeedCurveForced -00:2908 AdjustSpeedCurveForced.continue -00:290d BuildTrueCLevel -00:2935 BuildTrueCLevel.thousands -00:294a CheckSpecialLevelConditions -00:297b CheckSpecialLevelConditions.override -00:2996 CheckSpecialLevelConditions.nooverride -00:299c CheckSpecialLevelConditions.speciallock -00:29c0 CheckSpecialLevelConditions.bones -00:29d5 CheckSpecialLevelConditions.enterthebonezone -00:29da CheckSpecialLevelConditions.invis -00:29ef CheckSpecialLevelConditions.vanishoxyaction -00:29f4 CheckSpecialLevelConditions.killscreen -00:2a05 CheckSpecialLevelConditions.rip -00:2a35 CheckSpecialLevelConditions.staffroll -00:2a43 CheckSpecialLevelConditions.justkill -00:2a57 TriggerKillScreen -00:2a79 GetSection -00:2a87 GetSectionBCD -00:2a90 GetAdjustedSection -00:2a9e GetAdjustedSectionBCD -00:2aa7 SkipSection -00:2ab3 SFXInit -00:2ae1 SFXPopQueue -00:2af6 SFXPushQueue -00:2b07 SFXProcessQueue -00:2b35 SFXTriggerNoise -00:2b62 SFXEnqueue -00:2b7b SFXEnqueue.findsfx -00:2ce1 SFXKill -00:2d17 SFXPlayNoise -00:2d22 SFXPlayNoise.noisereg -00:2d39 SFXPlayNoise.savenoiseplayhead -00:2d42 SFXPlay -00:2d47 SFXPlay.play -00:2d51 SFXPlay.getRegister -00:2d52 SFXPlay.checkEndOfSong -00:2d64 SFXPlay.checkEndOfSample -00:2d68 SFXPlay.checkChangeBank -00:2d72 SFXPlay.checkChangePlayHead -00:2d85 SFXPlay.applyRegister -00:2d8a SFXPlay.savePlayhead -00:2d93 SFXGoRoll -00:2dd0 SFXEndOfGame -00:2e21 HarvestEntropy -00:2e27 HarvestEntropy.loop -00:2e48 RNGInit -00:2eae RNGInit.complexinit -00:2ee0 ShiftHistory -00:2efd GetNextHellPiece -00:2f02 GetNextTGM1Piece -00:2f1f GetNextTGM2Piece -00:2f3c GetNextNesPiece -00:2f4a GetNextTGM3Piece -00:3000 GetNextPiece -00:300e GetNextPiece.nextpiecejumps -00:301d Next35Piece -00:3027 Next7Piece -00:3031 NextByte -00:3051 CheckAndAddHiscore -00:305b CheckAndAddHiscore.checkloop -00:3060 CheckAndAddHiscore.checkgrade -00:3069 CheckAndAddHiscore.oldgraded -00:3078 CheckAndAddHiscore.oldungraded -00:307f CheckAndAddHiscore.checklevel -00:30a4 CheckAndAddHiscore.checkscore -00:30e7 CheckAndAddHiscore.notbetter -00:30f4 CheckAndAddHiscore.better -00:30f6 InsertHiScore -00:30f6 InsertHiScore.copylower -00:3107 InsertHiScore.copyupper -00:3127 InsertHiScore.findrow -00:3137 InsertHiScore.insert -00:3190 InsertHiScore.persist -00:31a1 GetHiScoreEntry -00:31b9 GetHiScoreEntry.store -00:31c2 InitTargetHSTable -00:31cd InitTargetHSTable.jumps -00:31e2 InitTargetHSTable.dmgt -00:31e7 InitTargetHSTable.tgm1 -00:31ec InitTargetHSTable.tgm3 -00:31f1 InitTargetHSTable.deat -00:31f6 InitTargetHSTable.shir -00:31fb InitTargetHSTable.chil -00:3200 InitTargetHSTable.myco -00:3203 InitTargetHSTable.store -00:3216 sProgressData -00:3360 TimeInit -00:3389 StartCountdown -00:3397 ResetGameTime -00:33ab CheckTorikan -00:33c1 CheckTorikan.failure -00:33c3 CheckTorikan.success -00:33c6 HandleTimers -00:33ec HandleTimers.reduce -00:33f9 HandleTimers.clock -00:3413 HandleTimers.go -00:3437 CheckCOOL_REGRET -00:344e CheckCOOL_REGRET.failure -00:3450 CheckCOOL_REGRET.success -00:3453 HandleSectionTimers -00:346f HandleSectionTimers.continue -00:3483 HandleSectionTimers.sectiongo -00:34a7 sHiscoreDefaultData -00:35e7 InputInit -00:35f9 GetInput -00:35f9 GetInput.btns -00:3606 GetInput.readA -00:360a GetInput.setA -00:3615 GetInput.clearA -00:3618 GetInput.readB -00:361c GetInput.setB -00:3627 GetInput.clearB -00:362a GetInput.readSelect -00:362e GetInput.setSelect -00:3639 GetInput.clearSelect -00:363c GetInput.readStart -00:3640 GetInput.setStart -00:364b GetInput.clearStart -00:364e GetInput.dpad -00:365b GetInput.readUp -00:365f GetInput.setUp -00:366a GetInput.clearUp -00:366d GetInput.readDown -00:3671 GetInput.setDown -00:367c GetInput.clearDown -00:367f GetInput.readLeft -00:3683 GetInput.setLeft -00:368e GetInput.clearLeft -00:3691 GetInput.readRight -00:3695 GetInput.setRight -00:36a0 GetInput.clearRight -00:36a3 GetInput.priorities -00:36b0 GetInput.jumps -00:36bf GetInput.dlru -00:36cf GetInput.ulrd -00:36df GetInput.lrud -00:36ea GetInput.udlr -00:36f5 GetInput.zeroud -00:36fb GetInput.zerolr -00:3701 GetInput.zerolrd -00:3709 GetInput.zerolru -00:3711 ScoreInit -00:3739 IncreaseScore -00:3771 IncreaseScore.doConvert -00:3789 IncreaseScore.carry -00:378b IncreaseScore.postConvert -00:379f IncreaseScore.preAddDigit -00:37c7 IncreaseScore.addDigit -00:37dd IncreaseScore.nextDigit -00:37f1 SwitchToTitle -00:37fa TitleEventLoopHandler -00:3804 TitleVBlankHandler -00:380e PersistLevel -00:381c DrawSpeedMain -00:386c DrawSpeedSettings -00:38bc SetProgress -00:38c6 SetProgress.loop -00:38ca SetProgress.correct -00:38f1 SetProgress.wvr_u1 -00:38fd SetProgress.wvr_u2 -00:390b SetProgress.wvr_u3 -00:3917 SetProgress.wvr_u4 -00:3925 SetProgress.wvr_u5 -00:3931 SetProgress.wvr_u6 -00:393f SetProgress.wvr_u7 -00:394b SetProgress.wvr_u8 -00:3959 SetProgress.wvr_u9 -00:3965 SetProgress.wvr_u10 -00:396d Main -00:3996 Main.notgbc -00:39a2 Main.wvr_u1 -00:39cf EventLoop -00:39e8 EventLoop.eventloopjumps -00:39f1 EventLoopPostHandler -00:39f3 EventLoopPostHandler.wvb_u2 -00:3a05 EventLoopPostHandler.vblankjumps -00:3a0e GradeInit -00:3a17 UpdateGrade -00:3a20 DecayGradeProcess -00:3a29 DecayGradeDelay -00:3a32 TGM3REGRETHandler -00:3a3b TGM3COOLHandler -00:3a44 UnsafeMemCopy -00:3a4d SafeMemCopy.wvr_u1 -00:3a4d SafeMemCopy -00:3a5c UnsafeMemSet -00:3a64 SafeMemSet -00:3a64 SafeMemSet.wvr_u2 -00:3a72 SwitchToGameplay -00:3a7b SwitchToGameplayBig -00:3a84 GamePlayEventLoopHandler -00:3a8e GamePlayBigEventLoopHandler -00:3a98 EnableScreenSquish -00:3ab2 DisableScreenSquish -00:3abd CopyOAMHandler -00:3ac9 ClearOAM -00:3adf DoIntroEffect -00:3af0 BankingInit -00:3aff OAMDMA -00:3b09 OAMDMAEnd +00:0be7 GBCTitleProcess +00:0c03 GBCTitleProcess.jumps +00:0c12 GBCTitleProcess.eventLoopMain +00:0c34 GBCTitleProcess.eventLoopProfile +00:0c4a GBCTitleProcess.eventLoopSettings +00:0c60 GBCGameplayProcess +00:0c71 GBCGameplayProcess.goverride +00:0c96 GBCGameplayProcess.colorfield +00:0e0a GBCGameplayProcess.outer1 +00:0e0f GBCGameplayProcess.inner1 +00:0e33 GBCGameplayProcess.outer2 +00:0e38 GBCGameplayProcess.inner2 +00:0e5d GBCGameplayProcess.empty +00:0e61 GBCGameplayProcess.sub59 +00:0e63 GBCGameplayProcess.sub52 +00:0e65 GBCGameplayProcess.sub45 +00:0e67 GBCGameplayProcess.sub38 +00:0e69 GBCGameplayProcess.sub31 +00:0e6b GBCGameplayProcess.sub24 +00:0e6d GBCGameplayProcess.sub17 +00:0e6f GBCGameplayProcess.sub10 +00:0e71 GBCGameplayProcess.done +00:0e93 GBCGameplayProcess.darker +00:0e9a GBCGameplayProcess.wvr_u1 +00:0ea7 GBCGameplayProcess.lighter +00:0eae GBCGameplayProcess.wvr_u2 +00:0ebb GBCGameplayProcess.black +00:0ec9 GBCGameplayProcess.wvr_u3 +00:0ed6 GBCGameplayProcess.white +00:0edd GBCGameplayProcess.wvr_u4 +00:0eea GBCBigGameplayProcess +00:0efb GBCBigGameplayProcess.goverride +00:0f20 GBCBigGameplayProcess.colorfield +00:1094 GBCBigGameplayProcess.outer1 +00:1099 GBCBigGameplayProcess.inner1 +00:10bd GBCBigGameplayProcess.outer2 +00:10c2 GBCBigGameplayProcess.inner2 +00:10e7 GBCBigGameplayProcess.empty +00:10eb GBCBigGameplayProcess.sub59 +00:10ed GBCBigGameplayProcess.sub52 +00:10ef GBCBigGameplayProcess.sub45 +00:10f1 GBCBigGameplayProcess.sub38 +00:10f3 GBCBigGameplayProcess.sub31 +00:10f5 GBCBigGameplayProcess.sub24 +00:10f7 GBCBigGameplayProcess.sub17 +00:10f9 GBCBigGameplayProcess.sub10 +00:10fb GBCBigGameplayProcess.done +00:111d GBCBigGameplayProcess.darker +00:1124 GBCBigGameplayProcess.wvr_u5 +00:1131 GBCBigGameplayProcess.lighter +00:1138 GBCBigGameplayProcess.wvr_u6 +00:1145 GBCBigGameplayProcess.black +00:1153 GBCBigGameplayProcess.wvr_u7 +00:1160 GBCBigGameplayProcess.white +00:1167 GBCBigGameplayProcess.wvr_u8 +00:1174 ToVRAM +00:1174 GBCBlitField +00:11a6 BlitField +00:1369 BlitField.waitendvbloop +00:1593 BigBlitField +00:1756 BigBlitField.waitendvbloop +00:1980 SetPal +00:198d SetPal.darker +00:1993 SetPal.lighter +00:1999 ApplyTells +00:1999 SetPal.setpal +00:19d7 ApplyTells.myco +00:19dc ApplyTells.dropmode +00:1a00 ApplyNext +00:1a08 ApplyNext.bone +00:1a27 ApplyNext.nobone +00:1a48 ApplyNext.pos +00:1a58 ApplyNext.regular +00:1a5e ApplyNext.postoffsets +00:1a61 ApplyNext.getoffn +00:1a6c ApplyNext.skipoffn +00:1b08 ApplyNext.done +00:1b0b ApplyHold +00:1b13 ApplyHold.bone +00:1b32 ApplyHold.nobone +00:1b4e ApplyHold.hide +00:1b60 ApplyHold.show +00:1b70 ApplyHold.x +00:1b80 ApplyHold.regular +00:1b86 ApplyHold.postoffsets +00:1b89 ApplyHold.getoffh +00:1b94 ApplyHold.skipoffh +00:1bce ApplyTime +00:1c1f ApplyTime.loop0 +00:1c4e ApplyTime.loop1 +00:1ca3 ApplyNumbers8 +00:1d05 ApplyNumbers8.one +00:1d0f ApplyNumbers8.two +00:1d19 ApplyNumbers8.three +00:1d23 ApplyNumbers8.four +00:1d2d ApplyNumbers8.five +00:1d37 ApplyNumbers8.six +00:1d41 ApplyNumbers8.seven +00:1d4b ApplyNumbers8.eight +00:1d54 ApplyNumbers4 +00:1d82 ApplyNumbers4.one +00:1d8c ApplyNumbers4.two +00:1d96 ApplyNumbers4.three +00:1da0 ApplyNumbers4.four +00:1da9 SetNumberSpritePositions +00:1ec0 GradeRendering +00:1ef3 GradeRendering.effect +00:1f03 GradeRendering.noeffect +00:1f0b GradeRendering.drawgrade +00:1f12 GradeRendering.regulargrade +00:1f1a GradeRendering.sgrade +00:1f30 GradeRendering.hisgrade +00:1f46 GradeRendering.mgrade +00:1f5c GradeRendering.lettergrade +00:1f79 GradeRendering.mk +00:1f7f GradeRendering.mv +00:1f85 GradeRendering.mo +00:1f8b GradeRendering.mm +00:1f91 GradeRendering.gmgrade +00:1f9c RestoreSRAM +00:1fcb TrustedLoad +00:207f TrustedLoad.jumps +00:2097 TrustedLoad.dmgt +00:209d TrustedLoad.tgm1 +00:20a3 TrustedLoad.tgm3 +00:20a9 TrustedLoad.deat +00:20af TrustedLoad.shir +00:20b5 TrustedLoad.chil +00:20bb TrustedLoad.myco +00:20c1 TrustedLoad.search +00:20d3 TrustedLoad.notfound +00:20da TrustedLoad.fallback +00:20f5 InitializeSRAM +00:2256 ResetScores +00:2264 ResetScores.jumps +00:2279 ResetScores.dmgt +00:2285 ResetScores.tgm1 +00:2291 ResetScores.tgm3 +00:229d ResetScores.deat +00:22a9 ResetScores.shir +00:22b5 ResetScores.chil +00:22c1 ResetScores.myco +00:22cd NextProfile +00:22d6 NextProfile.update +00:22d9 ChangeProfile +00:22d9 ChangeProfile.backup +00:2307 ChangeProfile.first +00:2315 ChangeProfile.second +00:2323 ChangeProfile.third +00:2331 ChangeProfile.fourth +00:233f ChangeProfile.fifth +00:234d ChangeProfile.sixth +00:235b ChangeProfile.seventh +00:2369 ChangeProfile.eighth +00:2377 ChangeProfile.ninth +00:2385 ChangeProfile.tenth +00:2393 ChangeProfile.restore +00:23c2 ChangeProfile.lfirst +00:23d1 ChangeProfile.lsecond +00:23e0 ChangeProfile.lthird +00:23ef ChangeProfile.lfourth +00:23fe ChangeProfile.lfifth +00:240d ChangeProfile.lsixth +00:241c ChangeProfile.lseventh +00:242b ChangeProfile.leighth +00:243a ChangeProfile.lninth +00:2449 ChangeProfile.ltenth +00:2458 ResetProfile +00:24bb LevelInit +00:252b SpecialLevelInit +00:2539 SpecialLevelInit.jumps +00:254e SpecialLevelInit.dmgt +00:2553 SpecialLevelInit.tgm1 +00:2558 SpecialLevelInit.tgm3 +00:255d SpecialLevelInit.deat +00:2562 SpecialLevelInit.shir +00:2567 SpecialLevelInit.chil +00:256c SpecialLevelInit.myco +00:2571 SpecialLevelInit.loaddata +00:25a6 LevelUp +00:25d0 LevelUp.doit +00:260f LevelUp.checknlevel +00:2664 LevelUp.checkcool +00:2685 LevelUp.checkregret +00:26a2 LevelUp.resetsectiontimer +00:26c5 LevelUp.regretavailable +00:26c9 LevelUp.bellmaybe +00:26e5 LevelUp.leveljinglemaybe +00:26f5 AdjustSpeedCurve +00:26fb AdjustSpeedCurve.docheck +00:26fb AdjustSpeedCurve.checkthousands +00:270a AdjustSpeedCurve.checkhundreds +00:2717 AdjustSpeedCurve.checktens +00:2726 AdjustSpeedCurve.checkones +00:2731 AdjustSpeedCurveForced +00:276c AdjustSpeedCurveForced.continue +00:2771 BuildTrueCLevel +00:2799 BuildTrueCLevel.thousands +00:27ae CheckSpecialLevelConditions +00:27df CheckSpecialLevelConditions.override +00:27fa CheckSpecialLevelConditions.nooverride +00:2800 CheckSpecialLevelConditions.speciallock +00:2824 CheckSpecialLevelConditions.bones +00:2839 CheckSpecialLevelConditions.enterthebonezone +00:283e CheckSpecialLevelConditions.invis +00:2853 CheckSpecialLevelConditions.vanishoxyaction +00:2858 CheckSpecialLevelConditions.killscreen +00:2869 CheckSpecialLevelConditions.rip +00:2899 CheckSpecialLevelConditions.staffroll +00:28a7 CheckSpecialLevelConditions.justkill +00:28bb TriggerKillScreen +00:28dd GetSection +00:28eb GetSectionBCD +00:28f4 GetAdjustedSection +00:2902 GetAdjustedSectionBCD +00:290b SkipSection +00:2917 SFXInit +00:2945 SFXPopQueue +00:295a SFXPushQueue +00:296b SFXProcessQueue +00:2999 SFXTriggerNoise +00:29c6 SFXEnqueue +00:29df SFXEnqueue.findsfx +00:2b45 SFXKill +00:2b7b SFXPlayNoise +00:2b86 SFXPlayNoise.noisereg +00:2b9d SFXPlayNoise.savenoiseplayhead +00:2ba6 SFXPlay +00:2bab SFXPlay.play +00:2bb5 SFXPlay.getRegister +00:2bb6 SFXPlay.checkEndOfSong +00:2bc8 SFXPlay.checkEndOfSample +00:2bcc SFXPlay.checkChangeBank +00:2bd6 SFXPlay.checkChangePlayHead +00:2be9 SFXPlay.applyRegister +00:2bee SFXPlay.savePlayhead +00:2bf7 SFXGoRoll +00:2c34 SFXEndOfGame +00:2c85 HarvestEntropy +00:2c8b HarvestEntropy.loop +00:2cac RNGInit +00:2d12 RNGInit.complexinit +00:2d44 ShiftHistory +00:2d61 GetNextHellPiece +00:2d66 GetNextTGM1Piece +00:2d83 GetNextTGM2Piece +00:2da0 GetNextNesPiece +00:2dae GetNextTGM3Piece +00:2e64 GetNextPiece +00:2e72 GetNextPiece.nextpiecejumps +00:2e81 Next35Piece +00:2e8b Next7Piece +00:2e95 NextByte +00:2eb5 CheckAndAddHiscore +00:2ebf CheckAndAddHiscore.checkloop +00:2ec4 CheckAndAddHiscore.checkgrade +00:2ecd CheckAndAddHiscore.oldgraded +00:2edc CheckAndAddHiscore.oldungraded +00:2ee3 CheckAndAddHiscore.checklevel +00:2f08 CheckAndAddHiscore.checkscore +00:2f4b CheckAndAddHiscore.notbetter +00:2f58 CheckAndAddHiscore.better +00:2f5a InsertHiScore +00:2f5a InsertHiScore.copylower +00:2f6b InsertHiScore.copyupper +00:2f8b InsertHiScore.findrow +00:2f9b InsertHiScore.insert +00:2ff4 InsertHiScore.persist +00:3005 GetHiScoreEntry +00:301d GetHiScoreEntry.store +00:3026 InitTargetHSTable +00:3031 InitTargetHSTable.jumps +00:3046 InitTargetHSTable.dmgt +00:304b InitTargetHSTable.tgm1 +00:3050 InitTargetHSTable.tgm3 +00:3055 InitTargetHSTable.deat +00:305a InitTargetHSTable.shir +00:305f InitTargetHSTable.chil +00:3064 InitTargetHSTable.myco +00:3067 InitTargetHSTable.store +00:307a sProgressData +00:31c4 TimeInit +00:31ed StartCountdown +00:31fb ResetGameTime +00:320f CheckTorikan +00:3225 CheckTorikan.failure +00:3227 CheckTorikan.success +00:322a HandleTimers +00:3250 HandleTimers.reduce +00:325d HandleTimers.clock +00:3277 HandleTimers.go +00:329b CheckCOOL_REGRET +00:32b2 CheckCOOL_REGRET.failure +00:32b4 CheckCOOL_REGRET.success +00:32b7 HandleSectionTimers +00:32d3 HandleSectionTimers.continue +00:32e7 HandleSectionTimers.sectiongo +00:330b sHiscoreDefaultData +00:344b InputInit +00:345d GetInput +00:345d GetInput.btns +00:346a GetInput.readA +00:346e GetInput.setA +00:3479 GetInput.clearA +00:347c GetInput.readB +00:3480 GetInput.setB +00:348b GetInput.clearB +00:348e GetInput.readSelect +00:3492 GetInput.setSelect +00:349d GetInput.clearSelect +00:34a0 GetInput.readStart +00:34a4 GetInput.setStart +00:34af GetInput.clearStart +00:34b2 GetInput.dpad +00:34bf GetInput.readUp +00:34c3 GetInput.setUp +00:34ce GetInput.clearUp +00:34d1 GetInput.readDown +00:34d5 GetInput.setDown +00:34e0 GetInput.clearDown +00:34e3 GetInput.readLeft +00:34e7 GetInput.setLeft +00:34f2 GetInput.clearLeft +00:34f5 GetInput.readRight +00:34f9 GetInput.setRight +00:3504 GetInput.clearRight +00:3507 GetInput.priorities +00:3514 GetInput.jumps +00:3523 GetInput.dlru +00:3533 GetInput.ulrd +00:3543 GetInput.lrud +00:354e GetInput.udlr +00:3559 GetInput.zeroud +00:355f GetInput.zerolr +00:3565 GetInput.zerolrd +00:356d GetInput.zerolru +00:3575 ScoreInit +00:359d IncreaseScore +00:35d5 IncreaseScore.doConvert +00:35ed IncreaseScore.carry +00:35ef IncreaseScore.postConvert +00:3603 IncreaseScore.preAddDigit +00:362b IncreaseScore.addDigit +00:3641 IncreaseScore.nextDigit +00:3655 SwitchToTitle +00:365e TitleEventLoopHandler +00:3668 TitleVBlankHandler +00:3672 PersistLevel +00:3680 DrawSpeedMain +00:36d0 DrawSpeedSettings +00:3720 SetProgress +00:372a SetProgress.loop +00:372e SetProgress.correct +00:3755 SetProgress.wvr_u1 +00:3761 SetProgress.wvr_u2 +00:376f SetProgress.wvr_u3 +00:377b SetProgress.wvr_u4 +00:3789 SetProgress.wvr_u5 +00:3795 SetProgress.wvr_u6 +00:37a3 SetProgress.wvr_u7 +00:37af SetProgress.wvr_u8 +00:37bd SetProgress.wvr_u9 +00:37c9 SetProgress.wvr_u10 +00:37d1 Main +00:37fa Main.notgbc +00:3806 Main.wvr_u1 +00:3833 EventLoop +00:384c EventLoop.eventloopjumps +00:3855 EventLoopPostHandler +00:3857 EventLoopPostHandler.wvb_u2 +00:3869 EventLoopPostHandler.vblankjumps +00:3872 GradeInit +00:387b UpdateGrade +00:3884 DecayGradeProcess +00:388d DecayGradeDelay +00:3896 TGM3REGRETHandler +00:389f TGM3COOLHandler +00:38a8 UnsafeMemCopy +00:38b1 SafeMemCopy.wvr_u1 +00:38b1 SafeMemCopy +00:38c0 UnsafeMemSet +00:38c8 SafeMemSet +00:38c8 SafeMemSet.wvr_u2 +00:38d6 SwitchToGameplay +00:38df SwitchToGameplayBig +00:38e8 GamePlayEventLoopHandler +00:38f2 GamePlayBigEventLoopHandler +00:38fc EnableScreenSquish +00:3916 DisableScreenSquish +00:3921 CopyOAMHandler +00:392d ClearOAM +00:3943 DoIntroEffect +00:3954 BankingInit +00:3963 OAMDMA +00:396d OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData diff --git a/src/gbc.asm b/src/gbc.asm index c1314ac..546bf5c 100644 --- a/src/gbc.asm +++ b/src/gbc.asm @@ -116,6 +116,17 @@ wOuterReps:: ds 1 wInnerReps:: ds 1 +SECTION "Palette Data", ROM0 +sModeColors: + db 5 ; DMGT + db 6 ; TGM1 + db 3 ; TGM3 + db 0 ; DEAT + db 0 ; SHIR + db 1 ; CHIL + db 4 ; MYCO + + SECTION "GBC Functions", ROM0 ; Copies the shadow tile attribute map to vram using instant HDMA. ToATTR:: @@ -251,22 +262,6 @@ GBCGameplayInit:: .postpalettes - - ldh a, [hBState] - and a, a - jp z, .skip - WRITEPAL_B 0, BLACK_C, RED_2_C, RED_1_C, RED_0_C - WRITEPAL_B 1, BLACK_C, GREEN_2_C, GREEN_1_C, GREEN_0_C - WRITEPAL_B 2, BLACK_C, PURPLE_2_C, PURPLE_1_C, PURPLE_0_C - WRITEPAL_B 3, BLACK_C, BLUE_2_C, BLUE_1_C, BLUE_0_C - WRITEPAL_B 4, BLACK_C, ORANGE_2_C, ORANGE_1_C, ORANGE_0_C - WRITEPAL_B 5, BLACK_C, YELLOW_2_C, YELLOW_1_C, YELLOW_0_C - WRITEPAL_B 6, BLACK_C, CYAN_2_C, CYAN_1_C, CYAN_0_C - WRITEPAL_B 7, BLACK_C, GRAY_0_C, GRAY_1_C, WHITE_C -.skip - - - ; Copy the tilemap to shadow. ld de, $9800 ld hl, wShadowTilemap @@ -370,31 +365,12 @@ GBCGameplayProcess:: ret nz ; Color based on mode. + ld hl, sModeColors + ld b, 0 ld a, [wSpeedCurveState] - cp a, SCURVE_DMGT - ld a, $05 ;Blue - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_TGM1 - ld a, $06 ;Cyan - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_TGM3 - ld a, $03 ;Blue - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_DEAT - xor a, a ;Red - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_SHIR - xor a, a ;Red - jr z, .goverride ;Always red - ld a, [wSpeedCurveState] - cp a, SCURVE_CHIL - ld a, $01 ;Green - jr z, .goverride - ld a, $02 ;Purple + ld c, a + add hl, bc + ld a, [hl] ; Are we 20G? .goverride @@ -600,31 +576,12 @@ GBCBigGameplayProcess:: ret nz ; Color based on mode. + ld hl, sModeColors + ld b, 0 ld a, [wSpeedCurveState] - cp a, SCURVE_DMGT - ld a, $05 ;Blue - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_TGM1 - ld a, $06 ;Cyan - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_TGM3 - ld a, $03 ;Blue - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_DEAT - xor a, a ;Red - jr z, .goverride - ld a, [wSpeedCurveState] - cp a, SCURVE_SHIR - xor a, a ;Red - jr z, .goverride ;Always red - ld a, [wSpeedCurveState] - cp a, SCURVE_CHIL - ld a, $01 ;Green - jr z, .goverride - ld a, $02 ;Purple + ld c, a + add hl, bc + ld a, [hl] ; Are we 20G? .goverride