diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 91d8185..ca9ce5b 100644 Binary files a/bin/DMGTRIS.GBC and b/bin/DMGTRIS.GBC differ diff --git a/bin/DMGTRIS.map b/bin/DMGTRIS.map index c166b4f..72f605a 100644 --- a/bin/DMGTRIS.map +++ b/bin/DMGTRIS.map @@ -119,7 +119,7 @@ ROM0 bank #0: $1566 = !11 $15b5 = !12 $1604 = !13 - SECTION: $1656-$1a05 ($03b0 bytes) ["Domain Specific Functions"] + SECTION: $1656-$1a21 ($03cc bytes) ["Domain Specific Functions"] $1656 = ApplyTells $16b1 = ApplyNext $16e1 = ApplyNext.regular @@ -138,234 +138,235 @@ ROM0 bank #0: $1841 = ApplyNumbers4 $185d = SetNumberSpritePositions $1944 = GradeRendering - $1973 = GradeRendering.effect - $1983 = GradeRendering.noeffect - $198b = GradeRendering.drawgrade - $1992 = GradeRendering.regulargrade - $199a = GradeRendering.sgrade - $19b0 = GradeRendering.mgrade - $19c6 = GradeRendering.lettergrade - $19e3 = GradeRendering.mk - $19e9 = GradeRendering.mv - $19ef = GradeRendering.mo - $19f5 = GradeRendering.mm - $19fb = GradeRendering.gmgrade - SECTION: $1a06-$1c9c ($0297 bytes) ["SFX Functions"] - $1a06 = SFXInit - $1a28 = SFXPopQueue - $1a3d = SFXPushQueue - $1a4e = SFXProcessQueue - $1a5b = !0 - $1a7c = SFXTriggerNoise - $1a89 = !1 - $1a96 = !2 - $1aa2 = SFXEnqueue - $1ab7 = SFXEnqueue.findsfx - $1acc = !3 - $1adc = !4 - $1aec = !5 - $1afc = !6 - $1b0c = !7 - $1b1c = !8 - $1b2c = !9 - $1b3c = !10 - $1b4c = !11 - $1b5c = !12 - $1b6c = !13 - $1b7c = !14 - $1b8c = !15 - $1b9c = !16 - $1bac = !17 - $1bbb = !18 - $1bca = !19 - $1bd9 = !20 - $1be7 = !21 - $1bf5 = !22 - $1c03 = !23 - $1c10 = SFXKill - $1c3b = SFXPlayNoise - $1c46 = SFXPlayNoise.noisereg - $1c53 = !24 - $1c5d = SFXPlayNoise.savenoiseplayhead - $1c66 = SFXPlay - $1c71 = !25 - $1c74 = SFXPlay.play - $1c80 = SFXPlay.getRegister - $1c8a = !26 - $1c94 = SFXPlay.savePlayhead - SECTION: $1c9d-$1e8a ($01ee bytes) ["RNG Functions"] - $1c9d = RNGInit - $1ccd = !0 - $1ce8 = RNGInit.complexinit - $1cff = !1 - $1d19 = ShiftHistory - $1d36 = GetNextHellPiece - $1d3b = GetNextTGM1Piece - $1d3e = !2 - $1d56 = !3 - $1d58 = GetNextTGM2Piece - $1d5b = !4 - $1d73 = !5 - $1d75 = GetNextNesPiece - $1d83 = GetNextTGM3Piece - $1d86 = !6 - $1da9 = !7 - $1dac = !8 - $1dbc = !9 - $1dc6 = !10 - $1dd4 = !11 - $1de3 = !12 - $1def = !13 - $1dfb = !14 - $1e07 = !15 - $1e13 = !16 - $1e1f = !17 - $1e2b = !18 - $1e3a = GetNextPiece - $1e48 = GetNextPiece.nextpiecejumps - $1e57 = Next35Piece - $1e57 = !19 - $1e61 = Next7Piece - $1e61 = !20 - $1e6b = NextByte - SECTION: $1e8b-$202d ($01a3 bytes) ["Level Functions"] - $1e8b = LevelInit - $1edb = LevelUp - $1eff = LevelUp.doit - $1f43 = LevelUp.checknlevel - $1f71 = !0 - $1f89 = !1 - $1f92 = LevelUp.bellmaybe - $1fa4 = LevelUp.leveljinglemaybe - $1fb1 = LevelUp.checkspeedup - $1fc2 = !2 - $1fcf = !3 - $1fe0 = !4 - $1fed = DoSpeedUp - SECTION: $202e-$21a3 ($0176 bytes) ["Grading Functions"] - $202e = GradeInit - $204f = GradeInit.notdeat - $205d = GradeInit.notshir - $2064 = UpdateGrade - $2072 = UpdateGrade.gradejumptable - $2084 = PrepareScore - $209b = UpdateGradeTGM1 - $20a5 = UpdateGradeTGM1.trygradeup - $20bf = UpdateGradeTGM1.increasegrade - $20d1 = UpdateGradeTGM1.skipjingle - $20de = UpdateGradeTGM1.maybegm - $20f4 = UpdateGradeDEAT - $2100 = UpdateGradeDEAT.notgm - $2119 = UpdateGradeDEAT.notm - $2139 = UpdateGradeDEAT.disqualify - $213f = UpdateGradeSHIR - $217f = UpdateGradeSHIR.s5torikan - $218f = UpdateGradeSHIR.s10torikan - $219e = UpdateGradeSHIR.disqualify - SECTION: $21a4-$22a5 ($0102 bytes) ["Grading Data"] - $21a4 = sTGM1GradeScores - $21c6 = sTGM3InternalGradeSystem - $2266 = sTGM3GradeBoosts - $2285 = sTGM3LevelMultiplier - $2289 = sTGM3BaselineCOOL - $2292 = sTGM3REGRETConditions - SECTION: $22a6-$2372 ($00cd bytes) ["Input Functions"] - $22a6 = InputInit - $22b8 = GetInput - $22b8 = GetInput.btns - $22c5 = GetInput.readA - $22c9 = GetInput.setA - $22d4 = GetInput.clearA - $22d7 = GetInput.readB - $22db = GetInput.setB - $22e6 = GetInput.clearB - $22e9 = GetInput.readSelect - $22ed = GetInput.setSelect - $22f8 = GetInput.clearSelect - $22fb = GetInput.readStart - $22ff = GetInput.setStart - $230a = GetInput.clearStart - $230d = GetInput.dpad - $231a = GetInput.readUp - $231e = GetInput.setUp - $2329 = GetInput.clearUp - $232c = GetInput.readDown - $2330 = GetInput.setDown - $233b = GetInput.clearDown - $233e = GetInput.readLeft - $2342 = GetInput.setLeft - $234d = GetInput.clearLeft - $2350 = GetInput.readRight - $2354 = GetInput.setRight - $235f = GetInput.clearRight - $2362 = GetInput.priorities - $236d = GetInput.zero - SECTION: $2373-$243e ($00cc bytes) ["Score Functions"] - $2373 = ScoreInit - $2393 = IncreaseScore - $23c7 = IncreaseScore.doConvert - $23c9 = !0 - $23df = IncreaseScore.carry - $23e1 = IncreaseScore.postConvert - $23ee = !1 - $23f5 = IncreaseScore.preAddDigit - $2415 = IncreaseScore.addDigit - $242b = IncreaseScore.nextDigit - SECTION: $243f-$24f5 ($00b7 bytes) ["SRAM Functions"] - $243f = RestoreSRAM - $2498 = InitializeSRAM - SECTION: $24f6-$2599 ($00a4 bytes) ["Code Entry Point"] - $24f6 = Main - $250b = Main.wvr_u1 - $2514 = !0 - $2524 = Main.notgbc - $2553 = Main.wvb_u2 - $2558 = !1 - $255e = EventLoop - $2574 = EventLoop.eventloopjumps - $257d = EventLoopPostHandler - $257f = EventLoopPostHandler.wvb_u3 - $2591 = EventLoopPostHandler.vblankjumps - SECTION: $259a-$2607 ($006e bytes) ["Title Function Trampolines"] - $259a = SwitchToTitle - $25a4 = TitleEventLoopHandler - $25ae = TitleVBlankHandler - $25b8 = DrawOption6 - SECTION: $2608-$2670 ($0069 bytes) ["Time Functions"] - $2608 = TimeInit - $261d = ResetGameTime - $2628 = CheckTorikan - $263f = CheckTorikan.failure - $2641 = CheckTorikan.success - $2644 = HandleTimers - SECTION: $2671-$26c2 ($0052 bytes) ["Tile Functions"] - $2671 = LoadTitleTiles - $268f = LoadGameplayTiles - $26a5 = LoadGameplayTiles.gbc - $26b4 = LoadGameplayTiles.dmg - SECTION: $26c3-$26f0 ($002e bytes) ["Memory Functions"] - $26c3 = UnsafeMemCopy - $26cc = SafeMemCopy.wvr_u1 - $26cc = SafeMemCopy - $26db = UnsafeMemSet - $26e3 = SafeMemSet - $26e3 = SafeMemSet.wvr_u2 - SECTION: $26f1-$2718 ($0028 bytes) ["Gameplay Function Trampolines"] - $26f1 = SwitchToGameplay - $26fb = SwitchToGameplayBig - $2705 = GamePlayEventLoopHandler - $270f = GamePlayBigEventLoopHandler - SECTION: $2719-$273a ($0022 bytes) ["OAM Functions"] - $2719 = CopyOAMHandler - $2725 = ClearOAM - SECTION: $273b-$2753 ($0019 bytes) ["Interrupt Initialization Functions"] - $273b = IntrInit - $273f = InitializeLCDCInterrupt - SECTION: $2754-$275d ($000a bytes) ["OAM DMA Code"] - $2754 = OAMDMA - $275e = OAMDMAEnd - EMPTY: $275e-$3fff ($18a2 bytes) - TOTAL EMPTY: $18ad bytes + $1979 = GradeRendering.effect + $1989 = GradeRendering.noeffect + $1991 = GradeRendering.drawgrade + $1998 = GradeRendering.regulargrade + $19a0 = GradeRendering.sgrade + $19b6 = GradeRendering.hisgrade + $19cc = GradeRendering.mgrade + $19e2 = GradeRendering.lettergrade + $19ff = GradeRendering.mk + $1a05 = GradeRendering.mv + $1a0b = GradeRendering.mo + $1a11 = GradeRendering.mm + $1a17 = GradeRendering.gmgrade + SECTION: $1a22-$1cb8 ($0297 bytes) ["SFX Functions"] + $1a22 = SFXInit + $1a44 = SFXPopQueue + $1a59 = SFXPushQueue + $1a6a = SFXProcessQueue + $1a77 = !0 + $1a98 = SFXTriggerNoise + $1aa5 = !1 + $1ab2 = !2 + $1abe = SFXEnqueue + $1ad3 = SFXEnqueue.findsfx + $1ae8 = !3 + $1af8 = !4 + $1b08 = !5 + $1b18 = !6 + $1b28 = !7 + $1b38 = !8 + $1b48 = !9 + $1b58 = !10 + $1b68 = !11 + $1b78 = !12 + $1b88 = !13 + $1b98 = !14 + $1ba8 = !15 + $1bb8 = !16 + $1bc8 = !17 + $1bd7 = !18 + $1be6 = !19 + $1bf5 = !20 + $1c03 = !21 + $1c11 = !22 + $1c1f = !23 + $1c2c = SFXKill + $1c57 = SFXPlayNoise + $1c62 = SFXPlayNoise.noisereg + $1c6f = !24 + $1c79 = SFXPlayNoise.savenoiseplayhead + $1c82 = SFXPlay + $1c8d = !25 + $1c90 = SFXPlay.play + $1c9c = SFXPlay.getRegister + $1ca6 = !26 + $1cb0 = SFXPlay.savePlayhead + SECTION: $1cb9-$1ea6 ($01ee bytes) ["RNG Functions"] + $1cb9 = RNGInit + $1ce9 = !0 + $1d04 = RNGInit.complexinit + $1d1b = !1 + $1d35 = ShiftHistory + $1d52 = GetNextHellPiece + $1d57 = GetNextTGM1Piece + $1d5a = !2 + $1d72 = !3 + $1d74 = GetNextTGM2Piece + $1d77 = !4 + $1d8f = !5 + $1d91 = GetNextNesPiece + $1d9f = GetNextTGM3Piece + $1da2 = !6 + $1dc5 = !7 + $1dc8 = !8 + $1dd8 = !9 + $1de2 = !10 + $1df0 = !11 + $1dff = !12 + $1e0b = !13 + $1e17 = !14 + $1e23 = !15 + $1e2f = !16 + $1e3b = !17 + $1e47 = !18 + $1e56 = GetNextPiece + $1e64 = GetNextPiece.nextpiecejumps + $1e73 = Next35Piece + $1e73 = !19 + $1e7d = Next7Piece + $1e7d = !20 + $1e87 = NextByte + SECTION: $1ea7-$2049 ($01a3 bytes) ["Level Functions"] + $1ea7 = LevelInit + $1ef7 = LevelUp + $1f1b = LevelUp.doit + $1f5f = LevelUp.checknlevel + $1f8d = !0 + $1fa5 = !1 + $1fae = LevelUp.bellmaybe + $1fc0 = LevelUp.leveljinglemaybe + $1fcd = LevelUp.checkspeedup + $1fde = !2 + $1feb = !3 + $1ffc = !4 + $2009 = DoSpeedUp + SECTION: $204a-$21bf ($0176 bytes) ["Grading Functions"] + $204a = GradeInit + $206b = GradeInit.notdeat + $2079 = GradeInit.notshir + $2080 = UpdateGrade + $208e = UpdateGrade.gradejumptable + $20a0 = PrepareScore + $20b7 = UpdateGradeTGM1 + $20c1 = UpdateGradeTGM1.trygradeup + $20db = UpdateGradeTGM1.increasegrade + $20ed = UpdateGradeTGM1.skipjingle + $20fa = UpdateGradeTGM1.maybegm + $2110 = UpdateGradeDEAT + $211c = UpdateGradeDEAT.notgm + $2135 = UpdateGradeDEAT.notm + $2155 = UpdateGradeDEAT.disqualify + $215b = UpdateGradeSHIR + $219b = UpdateGradeSHIR.s5torikan + $21ab = UpdateGradeSHIR.s10torikan + $21ba = UpdateGradeSHIR.disqualify + SECTION: $21c0-$22c1 ($0102 bytes) ["Grading Data"] + $21c0 = sTGM1GradeScores + $21e2 = sTGM3InternalGradeSystem + $2282 = sTGM3GradeBoosts + $22a1 = sTGM3LevelMultiplier + $22a5 = sTGM3BaselineCOOL + $22ae = sTGM3REGRETConditions + SECTION: $22c2-$238e ($00cd bytes) ["Input Functions"] + $22c2 = InputInit + $22d4 = GetInput + $22d4 = GetInput.btns + $22e1 = GetInput.readA + $22e5 = GetInput.setA + $22f0 = GetInput.clearA + $22f3 = GetInput.readB + $22f7 = GetInput.setB + $2302 = GetInput.clearB + $2305 = GetInput.readSelect + $2309 = GetInput.setSelect + $2314 = GetInput.clearSelect + $2317 = GetInput.readStart + $231b = GetInput.setStart + $2326 = GetInput.clearStart + $2329 = GetInput.dpad + $2336 = GetInput.readUp + $233a = GetInput.setUp + $2345 = GetInput.clearUp + $2348 = GetInput.readDown + $234c = GetInput.setDown + $2357 = GetInput.clearDown + $235a = GetInput.readLeft + $235e = GetInput.setLeft + $2369 = GetInput.clearLeft + $236c = GetInput.readRight + $2370 = GetInput.setRight + $237b = GetInput.clearRight + $237e = GetInput.priorities + $2389 = GetInput.zero + SECTION: $238f-$245a ($00cc bytes) ["Score Functions"] + $238f = ScoreInit + $23af = IncreaseScore + $23e3 = IncreaseScore.doConvert + $23e5 = !0 + $23fb = IncreaseScore.carry + $23fd = IncreaseScore.postConvert + $240a = !1 + $2411 = IncreaseScore.preAddDigit + $2431 = IncreaseScore.addDigit + $2447 = IncreaseScore.nextDigit + SECTION: $245b-$2511 ($00b7 bytes) ["SRAM Functions"] + $245b = RestoreSRAM + $24b4 = InitializeSRAM + SECTION: $2512-$25b5 ($00a4 bytes) ["Code Entry Point"] + $2512 = Main + $2527 = Main.wvr_u1 + $2530 = !0 + $2540 = Main.notgbc + $256f = Main.wvb_u2 + $2574 = !1 + $257a = EventLoop + $2590 = EventLoop.eventloopjumps + $2599 = EventLoopPostHandler + $259b = EventLoopPostHandler.wvb_u3 + $25ad = EventLoopPostHandler.vblankjumps + SECTION: $25b6-$2623 ($006e bytes) ["Title Function Trampolines"] + $25b6 = SwitchToTitle + $25c0 = TitleEventLoopHandler + $25ca = TitleVBlankHandler + $25d4 = DrawOption6 + SECTION: $2624-$268c ($0069 bytes) ["Time Functions"] + $2624 = TimeInit + $2639 = ResetGameTime + $2644 = CheckTorikan + $265b = CheckTorikan.failure + $265d = CheckTorikan.success + $2660 = HandleTimers + SECTION: $268d-$26de ($0052 bytes) ["Tile Functions"] + $268d = LoadTitleTiles + $26ab = LoadGameplayTiles + $26c1 = LoadGameplayTiles.gbc + $26d0 = LoadGameplayTiles.dmg + SECTION: $26df-$270c ($002e bytes) ["Memory Functions"] + $26df = UnsafeMemCopy + $26e8 = SafeMemCopy.wvr_u1 + $26e8 = SafeMemCopy + $26f7 = UnsafeMemSet + $26ff = SafeMemSet + $26ff = SafeMemSet.wvr_u2 + SECTION: $270d-$2734 ($0028 bytes) ["Gameplay Function Trampolines"] + $270d = SwitchToGameplay + $2717 = SwitchToGameplayBig + $2721 = GamePlayEventLoopHandler + $272b = GamePlayBigEventLoopHandler + SECTION: $2735-$2756 ($0022 bytes) ["OAM Functions"] + $2735 = CopyOAMHandler + $2741 = ClearOAM + SECTION: $2757-$276f ($0019 bytes) ["Interrupt Initialization Functions"] + $2757 = IntrInit + $275b = InitializeLCDCInterrupt + SECTION: $2770-$2779 ($000a bytes) ["OAM DMA Code"] + $2770 = OAMDMA + $277a = OAMDMAEnd + EMPTY: $277a-$3fff ($1886 bytes) + TOTAL EMPTY: $1891 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -2368,7 +2369,7 @@ HRAM bank #0: TOTAL EMPTY: $0006 bytes SUMMARY: - ROM0: 10067 bytes used / 6317 free + ROM0: 10095 bytes used / 6289 free ROMX: 56500 bytes used / 41804 free in 6 banks SRAM: 14 bytes used / 8178 free in 1 bank WRAM0: 3494 bytes used / 602 free diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index 49e8a13..33f1c2a 100644 Binary files a/bin/DMGTRIS.pocket and b/bin/DMGTRIS.pocket differ diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index 1887310..b1fb94d 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -103,158 +103,159 @@ 00:1841 ApplyNumbers4 00:185d SetNumberSpritePositions 00:1944 GradeRendering -00:1973 GradeRendering.effect -00:1983 GradeRendering.noeffect -00:198b GradeRendering.drawgrade -00:1992 GradeRendering.regulargrade -00:199a GradeRendering.sgrade -00:19b0 GradeRendering.mgrade -00:19c6 GradeRendering.lettergrade -00:19e3 GradeRendering.mk -00:19e9 GradeRendering.mv -00:19ef GradeRendering.mo -00:19f5 GradeRendering.mm -00:19fb GradeRendering.gmgrade -00:1a06 SFXInit -00:1a28 SFXPopQueue -00:1a3d SFXPushQueue -00:1a4e SFXProcessQueue -00:1a7c SFXTriggerNoise -00:1aa2 SFXEnqueue -00:1ab7 SFXEnqueue.findsfx -00:1c10 SFXKill -00:1c3b SFXPlayNoise -00:1c46 SFXPlayNoise.noisereg -00:1c5d SFXPlayNoise.savenoiseplayhead -00:1c66 SFXPlay -00:1c74 SFXPlay.play -00:1c80 SFXPlay.getRegister -00:1c94 SFXPlay.savePlayhead -00:1c9d RNGInit -00:1ce8 RNGInit.complexinit -00:1d19 ShiftHistory -00:1d36 GetNextHellPiece -00:1d3b GetNextTGM1Piece -00:1d58 GetNextTGM2Piece -00:1d75 GetNextNesPiece -00:1d83 GetNextTGM3Piece -00:1e3a GetNextPiece -00:1e48 GetNextPiece.nextpiecejumps -00:1e57 Next35Piece -00:1e61 Next7Piece -00:1e6b NextByte -00:1e8b LevelInit -00:1edb LevelUp -00:1eff LevelUp.doit -00:1f43 LevelUp.checknlevel -00:1f92 LevelUp.bellmaybe -00:1fa4 LevelUp.leveljinglemaybe -00:1fb1 LevelUp.checkspeedup -00:1fed DoSpeedUp -00:202e GradeInit -00:204f GradeInit.notdeat -00:205d GradeInit.notshir -00:2064 UpdateGrade -00:2072 UpdateGrade.gradejumptable -00:2084 PrepareScore -00:209b UpdateGradeTGM1 -00:20a5 UpdateGradeTGM1.trygradeup -00:20bf UpdateGradeTGM1.increasegrade -00:20d1 UpdateGradeTGM1.skipjingle -00:20de UpdateGradeTGM1.maybegm -00:20f4 UpdateGradeDEAT -00:2100 UpdateGradeDEAT.notgm -00:2119 UpdateGradeDEAT.notm -00:2139 UpdateGradeDEAT.disqualify -00:213f UpdateGradeSHIR -00:217f UpdateGradeSHIR.s5torikan -00:218f UpdateGradeSHIR.s10torikan -00:219e UpdateGradeSHIR.disqualify -00:21a4 sTGM1GradeScores -00:21c6 sTGM3InternalGradeSystem -00:2266 sTGM3GradeBoosts -00:2285 sTGM3LevelMultiplier -00:2289 sTGM3BaselineCOOL -00:2292 sTGM3REGRETConditions -00:22a6 InputInit -00:22b8 GetInput -00:22b8 GetInput.btns -00:22c5 GetInput.readA -00:22c9 GetInput.setA -00:22d4 GetInput.clearA -00:22d7 GetInput.readB -00:22db GetInput.setB -00:22e6 GetInput.clearB -00:22e9 GetInput.readSelect -00:22ed GetInput.setSelect -00:22f8 GetInput.clearSelect -00:22fb GetInput.readStart -00:22ff GetInput.setStart -00:230a GetInput.clearStart -00:230d GetInput.dpad -00:231a GetInput.readUp -00:231e GetInput.setUp -00:2329 GetInput.clearUp -00:232c GetInput.readDown -00:2330 GetInput.setDown -00:233b GetInput.clearDown -00:233e GetInput.readLeft -00:2342 GetInput.setLeft -00:234d GetInput.clearLeft -00:2350 GetInput.readRight -00:2354 GetInput.setRight -00:235f GetInput.clearRight -00:2362 GetInput.priorities -00:236d GetInput.zero -00:2373 ScoreInit -00:2393 IncreaseScore -00:23c7 IncreaseScore.doConvert -00:23df IncreaseScore.carry -00:23e1 IncreaseScore.postConvert -00:23f5 IncreaseScore.preAddDigit -00:2415 IncreaseScore.addDigit -00:242b IncreaseScore.nextDigit -00:243f RestoreSRAM -00:2498 InitializeSRAM -00:24f6 Main -00:250b Main.wvr_u1 -00:2524 Main.notgbc -00:2553 Main.wvb_u2 -00:255e EventLoop -00:2574 EventLoop.eventloopjumps -00:257d EventLoopPostHandler -00:257f EventLoopPostHandler.wvb_u3 -00:2591 EventLoopPostHandler.vblankjumps -00:259a SwitchToTitle -00:25a4 TitleEventLoopHandler -00:25ae TitleVBlankHandler -00:25b8 DrawOption6 -00:2608 TimeInit -00:261d ResetGameTime -00:2628 CheckTorikan -00:263f CheckTorikan.failure -00:2641 CheckTorikan.success -00:2644 HandleTimers -00:2671 LoadTitleTiles -00:268f LoadGameplayTiles -00:26a5 LoadGameplayTiles.gbc -00:26b4 LoadGameplayTiles.dmg -00:26c3 UnsafeMemCopy -00:26cc SafeMemCopy.wvr_u1 -00:26cc SafeMemCopy -00:26db UnsafeMemSet -00:26e3 SafeMemSet -00:26e3 SafeMemSet.wvr_u2 -00:26f1 SwitchToGameplay -00:26fb SwitchToGameplayBig -00:2705 GamePlayEventLoopHandler -00:270f GamePlayBigEventLoopHandler -00:2719 CopyOAMHandler -00:2725 ClearOAM -00:273b IntrInit -00:273f InitializeLCDCInterrupt -00:2754 OAMDMA -00:275e OAMDMAEnd +00:1979 GradeRendering.effect +00:1989 GradeRendering.noeffect +00:1991 GradeRendering.drawgrade +00:1998 GradeRendering.regulargrade +00:19a0 GradeRendering.sgrade +00:19b6 GradeRendering.hisgrade +00:19cc GradeRendering.mgrade +00:19e2 GradeRendering.lettergrade +00:19ff GradeRendering.mk +00:1a05 GradeRendering.mv +00:1a0b GradeRendering.mo +00:1a11 GradeRendering.mm +00:1a17 GradeRendering.gmgrade +00:1a22 SFXInit +00:1a44 SFXPopQueue +00:1a59 SFXPushQueue +00:1a6a SFXProcessQueue +00:1a98 SFXTriggerNoise +00:1abe SFXEnqueue +00:1ad3 SFXEnqueue.findsfx +00:1c2c SFXKill +00:1c57 SFXPlayNoise +00:1c62 SFXPlayNoise.noisereg +00:1c79 SFXPlayNoise.savenoiseplayhead +00:1c82 SFXPlay +00:1c90 SFXPlay.play +00:1c9c SFXPlay.getRegister +00:1cb0 SFXPlay.savePlayhead +00:1cb9 RNGInit +00:1d04 RNGInit.complexinit +00:1d35 ShiftHistory +00:1d52 GetNextHellPiece +00:1d57 GetNextTGM1Piece +00:1d74 GetNextTGM2Piece +00:1d91 GetNextNesPiece +00:1d9f GetNextTGM3Piece +00:1e56 GetNextPiece +00:1e64 GetNextPiece.nextpiecejumps +00:1e73 Next35Piece +00:1e7d Next7Piece +00:1e87 NextByte +00:1ea7 LevelInit +00:1ef7 LevelUp +00:1f1b LevelUp.doit +00:1f5f LevelUp.checknlevel +00:1fae LevelUp.bellmaybe +00:1fc0 LevelUp.leveljinglemaybe +00:1fcd LevelUp.checkspeedup +00:2009 DoSpeedUp +00:204a GradeInit +00:206b GradeInit.notdeat +00:2079 GradeInit.notshir +00:2080 UpdateGrade +00:208e UpdateGrade.gradejumptable +00:20a0 PrepareScore +00:20b7 UpdateGradeTGM1 +00:20c1 UpdateGradeTGM1.trygradeup +00:20db UpdateGradeTGM1.increasegrade +00:20ed UpdateGradeTGM1.skipjingle +00:20fa UpdateGradeTGM1.maybegm +00:2110 UpdateGradeDEAT +00:211c UpdateGradeDEAT.notgm +00:2135 UpdateGradeDEAT.notm +00:2155 UpdateGradeDEAT.disqualify +00:215b UpdateGradeSHIR +00:219b UpdateGradeSHIR.s5torikan +00:21ab UpdateGradeSHIR.s10torikan +00:21ba UpdateGradeSHIR.disqualify +00:21c0 sTGM1GradeScores +00:21e2 sTGM3InternalGradeSystem +00:2282 sTGM3GradeBoosts +00:22a1 sTGM3LevelMultiplier +00:22a5 sTGM3BaselineCOOL +00:22ae sTGM3REGRETConditions +00:22c2 InputInit +00:22d4 GetInput +00:22d4 GetInput.btns +00:22e1 GetInput.readA +00:22e5 GetInput.setA +00:22f0 GetInput.clearA +00:22f3 GetInput.readB +00:22f7 GetInput.setB +00:2302 GetInput.clearB +00:2305 GetInput.readSelect +00:2309 GetInput.setSelect +00:2314 GetInput.clearSelect +00:2317 GetInput.readStart +00:231b GetInput.setStart +00:2326 GetInput.clearStart +00:2329 GetInput.dpad +00:2336 GetInput.readUp +00:233a GetInput.setUp +00:2345 GetInput.clearUp +00:2348 GetInput.readDown +00:234c GetInput.setDown +00:2357 GetInput.clearDown +00:235a GetInput.readLeft +00:235e GetInput.setLeft +00:2369 GetInput.clearLeft +00:236c GetInput.readRight +00:2370 GetInput.setRight +00:237b GetInput.clearRight +00:237e GetInput.priorities +00:2389 GetInput.zero +00:238f ScoreInit +00:23af IncreaseScore +00:23e3 IncreaseScore.doConvert +00:23fb IncreaseScore.carry +00:23fd IncreaseScore.postConvert +00:2411 IncreaseScore.preAddDigit +00:2431 IncreaseScore.addDigit +00:2447 IncreaseScore.nextDigit +00:245b RestoreSRAM +00:24b4 InitializeSRAM +00:2512 Main +00:2527 Main.wvr_u1 +00:2540 Main.notgbc +00:256f Main.wvb_u2 +00:257a EventLoop +00:2590 EventLoop.eventloopjumps +00:2599 EventLoopPostHandler +00:259b EventLoopPostHandler.wvb_u3 +00:25ad EventLoopPostHandler.vblankjumps +00:25b6 SwitchToTitle +00:25c0 TitleEventLoopHandler +00:25ca TitleVBlankHandler +00:25d4 DrawOption6 +00:2624 TimeInit +00:2639 ResetGameTime +00:2644 CheckTorikan +00:265b CheckTorikan.failure +00:265d CheckTorikan.success +00:2660 HandleTimers +00:268d LoadTitleTiles +00:26ab LoadGameplayTiles +00:26c1 LoadGameplayTiles.gbc +00:26d0 LoadGameplayTiles.dmg +00:26df UnsafeMemCopy +00:26e8 SafeMemCopy.wvr_u1 +00:26e8 SafeMemCopy +00:26f7 UnsafeMemSet +00:26ff SafeMemSet +00:26ff SafeMemSet.wvr_u2 +00:270d SwitchToGameplay +00:2717 SwitchToGameplayBig +00:2721 GamePlayEventLoopHandler +00:272b GamePlayBigEventLoopHandler +00:2735 CopyOAMHandler +00:2741 ClearOAM +00:2757 IntrInit +00:275b InitializeLCDCInterrupt +00:2770 OAMDMA +00:277a OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4210 sDMGTSpeedCurveEnd 01:4212 sTGM1SpeedCurve diff --git a/src/sprites.asm b/src/sprites.asm index 386929a..8067451 100644 --- a/src/sprites.asm +++ b/src/sprites.asm @@ -655,7 +655,10 @@ GradeRendering:: cp a, GRADE_NONE ret z - ; If the effect timer is greater than 0, decrement it and do some palette magic. + ; If the effect timer is greater than 0 and on even frames, decrement it and do some palette magic. + ldh a, [hFrameCtr] + cp a, 0 + jr z, .noeffect ld a, [wEffectTimer] cp a, 0 jr z, .noeffect @@ -693,9 +696,9 @@ GradeRendering:: ret .sgrade - ; Is the grade M1 or better? - cp a, GRADE_M1 - jr nc, .mgrade + ; Is the grade S10 or better? + cp a, GRADE_S10 + jr nc, .hisgrade ; Draw as S grade. ld a, "S" @@ -708,13 +711,29 @@ GradeRendering:: ld [wGrade1+2], a ret +.hisgrade + ; Is the grade M1 or better? + cp a, GRADE_M1 + jr nc, .mgrade + + ; Draw as high S grade. + ld a, "S" + ld [wGrade0+2], a + ld a, [wDisplayedGrade] + sub a, GRADE_S10 + ld b, a + ld a, "a" + add a, b + ld [wGrade1+2], a + ret + .mgrade ; Is the grade one of the letter grades? cp a, GRADE_M jr nc, .lettergrade ; Draw as M grade. - ld a, "M" + ld a, "m" ld [wGrade0+2], a ld a, [wDisplayedGrade] sub a, GRADE_M1 @@ -730,7 +749,7 @@ GradeRendering:: jr z, .gmgrade ; Draw as MX grade. - ld a, "M" + ld a, "m" ld [wGrade0+2], a ld a, [wDisplayedGrade] cp a, GRADE_M