diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index fdd21d1..90d1be1 100644 Binary files a/bin/DMGTRIS.GBC and b/bin/DMGTRIS.GBC differ diff --git a/bin/DMGTRIS.map b/bin/DMGTRIS.map index cabe58c..f5b0703 100644 --- a/bin/DMGTRIS.map +++ b/bin/DMGTRIS.map @@ -32,7 +32,7 @@ ROM0 bank #0: $00f4 = DoDMGEffect.wvbe_u13 EMPTY: $00fd-$00ff ($0003 bytes) SECTION: $0100-$014f ($0050 bytes) ["Cartridge Header"] - SECTION: $0150-$0da6 ($0c57 bytes) ["GBC Functions"] + SECTION: $0150-$0f03 ($0db4 bytes) ["GBC Functions"] $0150 = ToATTR $0173 = GBCTitleInit $0354 = GBCTitleInit.agb @@ -77,371 +77,371 @@ ROM0 bank #0: $0c86 = !6 $0c8f = !7 $0c98 = GBCBigGameplayProcess.colorfield - $0ca1 = !8 - $0caf = GBCBigGameplayProcess.outer1 - $0cb4 = GBCBigGameplayProcess.inner1 - $0cd8 = GBCBigGameplayProcess.outer2 - $0cdd = GBCBigGameplayProcess.inner2 - $0d02 = GBCBigGameplayProcess.empty - $0d06 = GBCBigGameplayProcess.sub59 - $0d08 = GBCBigGameplayProcess.sub52 - $0d0a = GBCBigGameplayProcess.sub45 - $0d0c = GBCBigGameplayProcess.sub38 - $0d0e = GBCBigGameplayProcess.sub31 - $0d10 = GBCBigGameplayProcess.sub24 - $0d12 = GBCBigGameplayProcess.sub17 - $0d14 = GBCBigGameplayProcess.sub10 - $0d16 = GBCBigGameplayProcess.done - $0d38 = GBCBigGameplayProcess.darker - $0d3f = GBCBigGameplayProcess.wvr_u4 - $0d4c = GBCBigGameplayProcess.lighter - $0d53 = GBCBigGameplayProcess.wvr_u5 - $0d60 = GBCBigGameplayProcess.black - $0d67 = GBCBigGameplayProcess.wvr_u6 - $0d74 = ToVRAM - $0d74 = GBCBlitField - SECTION: $0da7-$1590 ($07ea bytes) ["Field Function Unbanked"] - $0da7 = BlitField - $0f6a = BlitField.waitendvbloop - $0f70 = !0 - $0fbf = !1 - $100e = !2 - $105d = !3 - $10ac = !4 - $10fb = !5 - $114a = !6 - $119c = BigBlitField - $135f = BigBlitField.waitendvbloop - $1365 = !7 - $13b4 = !8 - $1403 = !9 - $1452 = !10 - $14a1 = !11 - $14f0 = !12 - $153f = !13 - SECTION: $1591-$1b49 ($05b9 bytes) ["Domain Specific Functions"] - $1591 = ApplyTells - $15cf = ApplyTells.myco - $15d4 = ApplyTells.dropmode - $15f9 = ApplyNext - $1607 = ApplyNext.bone - $1626 = ApplyNext.nobone - $1647 = ApplyNext.pos - $1657 = ApplyNext.regular - $165d = ApplyNext.postoffsets - $1661 = ApplyNext.getoffn - $166c = ApplyNext.skipoffn - $170a = ApplyNext.done - $170d = ApplyHold - $171b = ApplyHold.bone - $173a = ApplyHold.nobone - $1757 = ApplyHold.hide - $1769 = ApplyHold.show - $1779 = ApplyHold.x - $1789 = ApplyHold.regular - $178f = ApplyHold.postoffsets - $1793 = ApplyHold.getoffh - $179e = ApplyHold.skipoffh - $17d8 = ApplyTime - $1829 = ApplyTime.loop0 - $1858 = ApplyTime.loop1 - $18ad = ApplyNumbers8 - $18fa = ApplyNumbers8.one - $1900 = ApplyNumbers8.two - $1906 = ApplyNumbers8.three - $190c = ApplyNumbers8.four - $1912 = ApplyNumbers8.five - $1918 = ApplyNumbers8.six - $191e = ApplyNumbers8.seven - $1924 = ApplyNumbers8.eight - $1929 = ApplyNumbers4 - $194e = ApplyNumbers4.one - $1954 = ApplyNumbers4.two - $195a = ApplyNumbers4.three - $1960 = ApplyNumbers4.four - $1965 = SetNumberSpritePositions - $1a6c = GradeRendering - $1aa1 = GradeRendering.effect - $1ab1 = GradeRendering.noeffect - $1ab9 = GradeRendering.drawgrade - $1ac0 = GradeRendering.regulargrade - $1ac8 = GradeRendering.sgrade - $1ade = GradeRendering.hisgrade - $1af4 = GradeRendering.mgrade - $1b0a = GradeRendering.lettergrade - $1b27 = GradeRendering.mk - $1b2d = GradeRendering.mv - $1b33 = GradeRendering.mo - $1b39 = GradeRendering.mm - $1b3f = GradeRendering.gmgrade - SECTION: $1b4a-$1e7f ($0336 bytes) ["Grading Functions"] - $1b4a = GradeInit - $1b75 = GradeInit.grade9start - $1b7a = GradeInit.end - $1b7c = UpdateGrade - $1b8a = UpdateGrade.gradejumptable - $1b9f = DecayGradeProcess - $1bad = DecayGradeProcess.gradejumptable - $1bc2 = DecayGradeDelay - $1bd0 = DecayGradeDelay.gradejumptable - $1be5 = PrepareScore - $1bf8 = DrawGradeProgressDMGT - $1c07 = UpdateGradeDMGT - $1c21 = UpdateGradeDMGT.clearrate - $1c32 = UpdateGradeDMGT.combomult - $1c3f = UpdateGradeDMGT.combo10 - $1c50 = UpdateGradeDMGT.combo5 - $1c61 = UpdateGradeDMGT.combo1 - $1c70 = UpdateGradeDMGT.prelevel - $1c7f = UpdateGradeDMGT.single - $1c8f = UpdateGradeDMGT.double - $1ca0 = UpdateGradeDMGT.adddonce - $1ca4 = UpdateGradeDMGT.triple - $1cb5 = UpdateGradeDMGT.addtonce - $1cb9 = UpdateGradeDMGT.tetris - $1cbd = UpdateGradeDMGT.levelmult - $1cd5 = UpdateGradeDMGT.mult5 - $1cdc = UpdateGradeDMGT.mult4 - $1ce2 = UpdateGradeDMGT.mult3 - $1ce7 = UpdateGradeDMGT.mult2 - $1ceb = UpdateGradeDMGT.mult1 - $1cec = UpdateGradeDMGT.processgrade - $1d12 = UpdateGradeDMGT.increasegrademaybe - $1d33 = UpdateGradeDMGT.gotgm - $1d3e = DecayGradeDMGT - $1d62 = DecayGradeDMGT.nodecay - $1d69 = DecayGradeDMGT.decay - $1d77 = UpdateGradeTGM1 - $1d81 = UpdateGradeTGM1.trygradeup - $1d9b = UpdateGradeTGM1.increasegrade - $1dad = UpdateGradeTGM1.skipjingle - $1dba = UpdateGradeTGM1.maybegm - $1dd0 = UpdateGradeDEAT - $1ddc = UpdateGradeDEAT.notgm - $1df5 = UpdateGradeDEAT.notm - $1e15 = UpdateGradeDEAT.disqualify - $1e1b = UpdateGradeSHIR - $1e5b = UpdateGradeSHIR.s5torikan - $1e6b = UpdateGradeSHIR.s10torikan - $1e7a = UpdateGradeSHIR.disqualify - SECTION: $1e80-$2135 ($02b6 bytes) ["Grading Data"] - $1e80 = sTGM1GradeScores - $1ea2 = sTGM3InternalGradeSystem - $1f42 = sTGM3GradeBoosts - $1f61 = sTGM3LevelMultiplier - $1f65 = sTGM3BaselineCOOL - $1f6e = sTGM3REGRETConditions - $1f82 = sDMGTGrading - $2036 = sDMGTGaugeLUT - SECTION: $2136-$23cc ($0297 bytes) ["SFX Functions"] - $2136 = SFXInit - $2158 = SFXPopQueue - $216d = SFXPushQueue - $217e = SFXProcessQueue - $218b = !0 - $21ac = SFXTriggerNoise - $21b9 = !1 - $21c6 = !2 - $21d2 = SFXEnqueue - $21e7 = SFXEnqueue.findsfx - $21fc = !3 - $220c = !4 - $221c = !5 - $222c = !6 - $223c = !7 - $224c = !8 - $225c = !9 - $226c = !10 - $227c = !11 - $228c = !12 - $229c = !13 - $22ac = !14 - $22bc = !15 - $22cc = !16 - $22dc = !17 - $22eb = !18 - $22fa = !19 - $2309 = !20 - $2317 = !21 - $2325 = !22 - $2333 = !23 - $2340 = SFXKill - $236b = SFXPlayNoise - $2376 = SFXPlayNoise.noisereg - $2383 = !24 - $238d = SFXPlayNoise.savenoiseplayhead - $2396 = SFXPlay - $23a1 = !25 - $23a4 = SFXPlay.play - $23b0 = SFXPlay.getRegister - $23ba = !26 - $23c4 = SFXPlay.savePlayhead - SECTION: $23cd-$25fd ($0231 bytes) ["RNG Functions"] - $23cd = HarvestEntropy - $23d3 = HarvestEntropy.loop - $23f4 = RNGInit - $242a = !0 - $245a = RNGInit.complexinit - $2471 = !1 - $248c = ShiftHistory - $24a9 = GetNextHellPiece - $24ae = GetNextTGM1Piece - $24b1 = !2 - $24c9 = !3 - $24cb = GetNextTGM2Piece - $24ce = !4 - $24e6 = !5 - $24e8 = GetNextNesPiece - $24f6 = GetNextTGM3Piece - $24f9 = !6 - $251c = !7 - $251f = !8 - $252f = !9 - $2539 = !10 - $2547 = !11 - $2556 = !12 - $2562 = !13 - $256e = !14 - $257a = !15 - $2586 = !16 - $2592 = !17 - $259e = !18 - $25ad = GetNextPiece - $25bb = GetNextPiece.nextpiecejumps - $25ca = Next35Piece - $25ca = !19 - $25d4 = Next7Piece - $25d4 = !20 - $25de = NextByte - SECTION: $25fe-$27a0 ($01a3 bytes) ["Level Functions"] - $25fe = LevelInit - $264e = LevelUp - $2672 = LevelUp.doit - $26b6 = LevelUp.checknlevel - $26e4 = !0 - $26fc = !1 - $2705 = LevelUp.bellmaybe - $2717 = LevelUp.leveljinglemaybe - $2724 = LevelUp.checkspeedup - $2735 = !2 - $2742 = !3 - $2753 = !4 - $2760 = DoSpeedUp - SECTION: $27a1-$28ea ($014a bytes) ["Progress Data"] - $27a1 = sProgressData - SECTION: $28eb-$29ca ($00e0 bytes) ["Score Functions"] - $28eb = ScoreInit - $2913 = IncreaseScore - $294b = IncreaseScore.doConvert - $294d = !0 - $2963 = IncreaseScore.carry - $2965 = IncreaseScore.postConvert - $2972 = !1 - $2979 = IncreaseScore.preAddDigit - $29a1 = IncreaseScore.addDigit - $29b7 = IncreaseScore.nextDigit - SECTION: $29cb-$2a97 ($00cd bytes) ["Input Functions"] - $29cb = InputInit - $29dd = GetInput - $29dd = GetInput.btns - $29ea = GetInput.readA - $29ee = GetInput.setA - $29f9 = GetInput.clearA - $29fc = GetInput.readB - $2a00 = GetInput.setB - $2a0b = GetInput.clearB - $2a0e = GetInput.readSelect - $2a12 = GetInput.setSelect - $2a1d = GetInput.clearSelect - $2a20 = GetInput.readStart - $2a24 = GetInput.setStart - $2a2f = GetInput.clearStart - $2a32 = GetInput.dpad - $2a3f = GetInput.readUp - $2a43 = GetInput.setUp - $2a4e = GetInput.clearUp - $2a51 = GetInput.readDown - $2a55 = GetInput.setDown - $2a60 = GetInput.clearDown - $2a63 = GetInput.readLeft - $2a67 = GetInput.setLeft - $2a72 = GetInput.clearLeft - $2a75 = GetInput.readRight - $2a79 = GetInput.setRight - $2a84 = GetInput.clearRight - $2a87 = GetInput.priorities - $2a92 = GetInput.zero - SECTION: $2a98-$2b4e ($00b7 bytes) ["SRAM Functions"] - $2a98 = RestoreSRAM - $2af1 = InitializeSRAM - SECTION: $2b4f-$2c00 ($00b2 bytes) ["Progress Functions"] - $2b4f = SetProgress - $2b5a = SetProgress.loop - $2b5e = SetProgress.correct - $2b85 = SetProgress.wvr_u1 - $2b91 = SetProgress.wvr_u2 - $2b9f = SetProgress.wvr_u3 - $2bab = SetProgress.wvr_u4 - $2bb9 = SetProgress.wvr_u5 - $2bc5 = SetProgress.wvr_u6 - $2bd3 = SetProgress.wvr_u7 - $2bdf = SetProgress.wvr_u8 - $2bed = SetProgress.wvr_u9 - $2bf9 = SetProgress.wvr_u10 - SECTION: $2c01-$2c98 ($0098 bytes) ["Code Entry Point"] - $2c01 = Main - $2c2a = Main.notgbc - $2c30 = Main.wvr_u1 - $2c5d = EventLoop - $2c73 = EventLoop.eventloopjumps - $2c7c = EventLoopPostHandler - $2c7e = EventLoopPostHandler.wvb_u2 - $2c90 = EventLoopPostHandler.vblankjumps - SECTION: $2c99-$2d20 ($0088 bytes) ["Time Functions"] - $2c99 = TimeInit - $2cae = ResetGameTime - $2cb9 = CheckTorikan - $2cd0 = CheckTorikan.failure - $2cd2 = CheckTorikan.success - $2cd5 = HandleTimers - $2cfd = HandleTimers.go - SECTION: $2d21-$2d8e ($006e bytes) ["Title Function Trampolines"] - $2d21 = SwitchToTitle - $2d2b = TitleEventLoopHandler - $2d35 = TitleVBlankHandler - $2d3f = DrawOption6 - SECTION: $2d8f-$2de0 ($0052 bytes) ["Tile Functions"] - $2d8f = LoadTitleTiles - $2dad = LoadGameplayTiles - $2dc3 = LoadGameplayTiles.gbc - $2dd2 = LoadGameplayTiles.dmg - SECTION: $2de1-$2e1c ($003c bytes) ["Time Data"] - $2de1 = sFramesToCS - SECTION: $2e1d-$2e4a ($002e bytes) ["Memory Functions"] - $2e1d = UnsafeMemCopy - $2e26 = SafeMemCopy.wvr_u1 - $2e26 = SafeMemCopy - $2e35 = UnsafeMemSet - $2e3d = SafeMemSet - $2e3d = SafeMemSet.wvr_u2 - SECTION: $2e4b-$2e72 ($0028 bytes) ["Gameplay Function Trampolines"] - $2e4b = SwitchToGameplay - $2e55 = SwitchToGameplayBig - $2e5f = GamePlayEventLoopHandler - $2e69 = GamePlayBigEventLoopHandler - SECTION: $2e73-$2e94 ($0022 bytes) ["OAM Functions"] - $2e73 = CopyOAMHandler - $2e7f = ClearOAM - SECTION: $2e95-$2ead ($0019 bytes) ["Interrupt Initialization Functions"] - $2e95 = IntrInit - $2e99 = InitializeLCDCInterrupt - SECTION: $2eae-$2ebc ($000f bytes) ["Banking Functions"] - $2eae = BankingInit - SECTION: $2ebd-$2ec6 ($000a bytes) ["OAM DMA Code"] - $2ebd = OAMDMA - $2ec7 = OAMDMAEnd - EMPTY: $2ec7-$3fff ($1139 bytes) - TOTAL EMPTY: $1144 bytes + $0dfe = !8 + $0e0c = GBCBigGameplayProcess.outer1 + $0e11 = GBCBigGameplayProcess.inner1 + $0e35 = GBCBigGameplayProcess.outer2 + $0e3a = GBCBigGameplayProcess.inner2 + $0e5f = GBCBigGameplayProcess.empty + $0e63 = GBCBigGameplayProcess.sub59 + $0e65 = GBCBigGameplayProcess.sub52 + $0e67 = GBCBigGameplayProcess.sub45 + $0e69 = GBCBigGameplayProcess.sub38 + $0e6b = GBCBigGameplayProcess.sub31 + $0e6d = GBCBigGameplayProcess.sub24 + $0e6f = GBCBigGameplayProcess.sub17 + $0e71 = GBCBigGameplayProcess.sub10 + $0e73 = GBCBigGameplayProcess.done + $0e95 = GBCBigGameplayProcess.darker + $0e9c = GBCBigGameplayProcess.wvr_u4 + $0ea9 = GBCBigGameplayProcess.lighter + $0eb0 = GBCBigGameplayProcess.wvr_u5 + $0ebd = GBCBigGameplayProcess.black + $0ec4 = GBCBigGameplayProcess.wvr_u6 + $0ed1 = ToVRAM + $0ed1 = GBCBlitField + SECTION: $0f04-$16ed ($07ea bytes) ["Field Function Unbanked"] + $0f04 = BlitField + $10c7 = BlitField.waitendvbloop + $10cd = !0 + $111c = !1 + $116b = !2 + $11ba = !3 + $1209 = !4 + $1258 = !5 + $12a7 = !6 + $12f9 = BigBlitField + $14bc = BigBlitField.waitendvbloop + $14c2 = !7 + $1511 = !8 + $1560 = !9 + $15af = !10 + $15fe = !11 + $164d = !12 + $169c = !13 + SECTION: $16ee-$1ca6 ($05b9 bytes) ["Domain Specific Functions"] + $16ee = ApplyTells + $172c = ApplyTells.myco + $1731 = ApplyTells.dropmode + $1756 = ApplyNext + $1764 = ApplyNext.bone + $1783 = ApplyNext.nobone + $17a4 = ApplyNext.pos + $17b4 = ApplyNext.regular + $17ba = ApplyNext.postoffsets + $17be = ApplyNext.getoffn + $17c9 = ApplyNext.skipoffn + $1867 = ApplyNext.done + $186a = ApplyHold + $1878 = ApplyHold.bone + $1897 = ApplyHold.nobone + $18b4 = ApplyHold.hide + $18c6 = ApplyHold.show + $18d6 = ApplyHold.x + $18e6 = ApplyHold.regular + $18ec = ApplyHold.postoffsets + $18f0 = ApplyHold.getoffh + $18fb = ApplyHold.skipoffh + $1935 = ApplyTime + $1986 = ApplyTime.loop0 + $19b5 = ApplyTime.loop1 + $1a0a = ApplyNumbers8 + $1a57 = ApplyNumbers8.one + $1a5d = ApplyNumbers8.two + $1a63 = ApplyNumbers8.three + $1a69 = ApplyNumbers8.four + $1a6f = ApplyNumbers8.five + $1a75 = ApplyNumbers8.six + $1a7b = ApplyNumbers8.seven + $1a81 = ApplyNumbers8.eight + $1a86 = ApplyNumbers4 + $1aab = ApplyNumbers4.one + $1ab1 = ApplyNumbers4.two + $1ab7 = ApplyNumbers4.three + $1abd = ApplyNumbers4.four + $1ac2 = SetNumberSpritePositions + $1bc9 = GradeRendering + $1bfe = GradeRendering.effect + $1c0e = GradeRendering.noeffect + $1c16 = GradeRendering.drawgrade + $1c1d = GradeRendering.regulargrade + $1c25 = GradeRendering.sgrade + $1c3b = GradeRendering.hisgrade + $1c51 = GradeRendering.mgrade + $1c67 = GradeRendering.lettergrade + $1c84 = GradeRendering.mk + $1c8a = GradeRendering.mv + $1c90 = GradeRendering.mo + $1c96 = GradeRendering.mm + $1c9c = GradeRendering.gmgrade + SECTION: $1ca7-$1fdc ($0336 bytes) ["Grading Functions"] + $1ca7 = GradeInit + $1cd2 = GradeInit.grade9start + $1cd7 = GradeInit.end + $1cd9 = UpdateGrade + $1ce7 = UpdateGrade.gradejumptable + $1cfc = DecayGradeProcess + $1d0a = DecayGradeProcess.gradejumptable + $1d1f = DecayGradeDelay + $1d2d = DecayGradeDelay.gradejumptable + $1d42 = PrepareScore + $1d55 = DrawGradeProgressDMGT + $1d64 = UpdateGradeDMGT + $1d7e = UpdateGradeDMGT.clearrate + $1d8f = UpdateGradeDMGT.combomult + $1d9c = UpdateGradeDMGT.combo10 + $1dad = UpdateGradeDMGT.combo5 + $1dbe = UpdateGradeDMGT.combo1 + $1dcd = UpdateGradeDMGT.prelevel + $1ddc = UpdateGradeDMGT.single + $1dec = UpdateGradeDMGT.double + $1dfd = UpdateGradeDMGT.adddonce + $1e01 = UpdateGradeDMGT.triple + $1e12 = UpdateGradeDMGT.addtonce + $1e16 = UpdateGradeDMGT.tetris + $1e1a = UpdateGradeDMGT.levelmult + $1e32 = UpdateGradeDMGT.mult5 + $1e39 = UpdateGradeDMGT.mult4 + $1e3f = UpdateGradeDMGT.mult3 + $1e44 = UpdateGradeDMGT.mult2 + $1e48 = UpdateGradeDMGT.mult1 + $1e49 = UpdateGradeDMGT.processgrade + $1e6f = UpdateGradeDMGT.increasegrademaybe + $1e90 = UpdateGradeDMGT.gotgm + $1e9b = DecayGradeDMGT + $1ebf = DecayGradeDMGT.nodecay + $1ec6 = DecayGradeDMGT.decay + $1ed4 = UpdateGradeTGM1 + $1ede = UpdateGradeTGM1.trygradeup + $1ef8 = UpdateGradeTGM1.increasegrade + $1f0a = UpdateGradeTGM1.skipjingle + $1f17 = UpdateGradeTGM1.maybegm + $1f2d = UpdateGradeDEAT + $1f39 = UpdateGradeDEAT.notgm + $1f52 = UpdateGradeDEAT.notm + $1f72 = UpdateGradeDEAT.disqualify + $1f78 = UpdateGradeSHIR + $1fb8 = UpdateGradeSHIR.s5torikan + $1fc8 = UpdateGradeSHIR.s10torikan + $1fd7 = UpdateGradeSHIR.disqualify + SECTION: $1fdd-$2292 ($02b6 bytes) ["Grading Data"] + $1fdd = sTGM1GradeScores + $1fff = sTGM3InternalGradeSystem + $209f = sTGM3GradeBoosts + $20be = sTGM3LevelMultiplier + $20c2 = sTGM3BaselineCOOL + $20cb = sTGM3REGRETConditions + $20df = sDMGTGrading + $2193 = sDMGTGaugeLUT + SECTION: $2293-$2529 ($0297 bytes) ["SFX Functions"] + $2293 = SFXInit + $22b5 = SFXPopQueue + $22ca = SFXPushQueue + $22db = SFXProcessQueue + $22e8 = !0 + $2309 = SFXTriggerNoise + $2316 = !1 + $2323 = !2 + $232f = SFXEnqueue + $2344 = SFXEnqueue.findsfx + $2359 = !3 + $2369 = !4 + $2379 = !5 + $2389 = !6 + $2399 = !7 + $23a9 = !8 + $23b9 = !9 + $23c9 = !10 + $23d9 = !11 + $23e9 = !12 + $23f9 = !13 + $2409 = !14 + $2419 = !15 + $2429 = !16 + $2439 = !17 + $2448 = !18 + $2457 = !19 + $2466 = !20 + $2474 = !21 + $2482 = !22 + $2490 = !23 + $249d = SFXKill + $24c8 = SFXPlayNoise + $24d3 = SFXPlayNoise.noisereg + $24e0 = !24 + $24ea = SFXPlayNoise.savenoiseplayhead + $24f3 = SFXPlay + $24fe = !25 + $2501 = SFXPlay.play + $250d = SFXPlay.getRegister + $2517 = !26 + $2521 = SFXPlay.savePlayhead + SECTION: $252a-$275a ($0231 bytes) ["RNG Functions"] + $252a = HarvestEntropy + $2530 = HarvestEntropy.loop + $2551 = RNGInit + $2587 = !0 + $25b7 = RNGInit.complexinit + $25ce = !1 + $25e9 = ShiftHistory + $2606 = GetNextHellPiece + $260b = GetNextTGM1Piece + $260e = !2 + $2626 = !3 + $2628 = GetNextTGM2Piece + $262b = !4 + $2643 = !5 + $2645 = GetNextNesPiece + $2653 = GetNextTGM3Piece + $2656 = !6 + $2679 = !7 + $267c = !8 + $268c = !9 + $2696 = !10 + $26a4 = !11 + $26b3 = !12 + $26bf = !13 + $26cb = !14 + $26d7 = !15 + $26e3 = !16 + $26ef = !17 + $26fb = !18 + $270a = GetNextPiece + $2718 = GetNextPiece.nextpiecejumps + $2727 = Next35Piece + $2727 = !19 + $2731 = Next7Piece + $2731 = !20 + $273b = NextByte + SECTION: $275b-$28fd ($01a3 bytes) ["Level Functions"] + $275b = LevelInit + $27ab = LevelUp + $27cf = LevelUp.doit + $2813 = LevelUp.checknlevel + $2841 = !0 + $2859 = !1 + $2862 = LevelUp.bellmaybe + $2874 = LevelUp.leveljinglemaybe + $2881 = LevelUp.checkspeedup + $2892 = !2 + $289f = !3 + $28b0 = !4 + $28bd = DoSpeedUp + SECTION: $28fe-$2a47 ($014a bytes) ["Progress Data"] + $28fe = sProgressData + SECTION: $2a48-$2b27 ($00e0 bytes) ["Score Functions"] + $2a48 = ScoreInit + $2a70 = IncreaseScore + $2aa8 = IncreaseScore.doConvert + $2aaa = !0 + $2ac0 = IncreaseScore.carry + $2ac2 = IncreaseScore.postConvert + $2acf = !1 + $2ad6 = IncreaseScore.preAddDigit + $2afe = IncreaseScore.addDigit + $2b14 = IncreaseScore.nextDigit + SECTION: $2b28-$2bf4 ($00cd bytes) ["Input Functions"] + $2b28 = InputInit + $2b3a = GetInput + $2b3a = GetInput.btns + $2b47 = GetInput.readA + $2b4b = GetInput.setA + $2b56 = GetInput.clearA + $2b59 = GetInput.readB + $2b5d = GetInput.setB + $2b68 = GetInput.clearB + $2b6b = GetInput.readSelect + $2b6f = GetInput.setSelect + $2b7a = GetInput.clearSelect + $2b7d = GetInput.readStart + $2b81 = GetInput.setStart + $2b8c = GetInput.clearStart + $2b8f = GetInput.dpad + $2b9c = GetInput.readUp + $2ba0 = GetInput.setUp + $2bab = GetInput.clearUp + $2bae = GetInput.readDown + $2bb2 = GetInput.setDown + $2bbd = GetInput.clearDown + $2bc0 = GetInput.readLeft + $2bc4 = GetInput.setLeft + $2bcf = GetInput.clearLeft + $2bd2 = GetInput.readRight + $2bd6 = GetInput.setRight + $2be1 = GetInput.clearRight + $2be4 = GetInput.priorities + $2bef = GetInput.zero + SECTION: $2bf5-$2cab ($00b7 bytes) ["SRAM Functions"] + $2bf5 = RestoreSRAM + $2c4e = InitializeSRAM + SECTION: $2cac-$2d5d ($00b2 bytes) ["Progress Functions"] + $2cac = SetProgress + $2cb7 = SetProgress.loop + $2cbb = SetProgress.correct + $2ce2 = SetProgress.wvr_u1 + $2cee = SetProgress.wvr_u2 + $2cfc = SetProgress.wvr_u3 + $2d08 = SetProgress.wvr_u4 + $2d16 = SetProgress.wvr_u5 + $2d22 = SetProgress.wvr_u6 + $2d30 = SetProgress.wvr_u7 + $2d3c = SetProgress.wvr_u8 + $2d4a = SetProgress.wvr_u9 + $2d56 = SetProgress.wvr_u10 + SECTION: $2d5e-$2df5 ($0098 bytes) ["Code Entry Point"] + $2d5e = Main + $2d87 = Main.notgbc + $2d8d = Main.wvr_u1 + $2dba = EventLoop + $2dd0 = EventLoop.eventloopjumps + $2dd9 = EventLoopPostHandler + $2ddb = EventLoopPostHandler.wvb_u2 + $2ded = EventLoopPostHandler.vblankjumps + SECTION: $2df6-$2e7d ($0088 bytes) ["Time Functions"] + $2df6 = TimeInit + $2e0b = ResetGameTime + $2e16 = CheckTorikan + $2e2d = CheckTorikan.failure + $2e2f = CheckTorikan.success + $2e32 = HandleTimers + $2e5a = HandleTimers.go + SECTION: $2e7e-$2eea ($006d bytes) ["Title Function Trampolines"] + $2e7e = SwitchToTitle + $2e87 = TitleEventLoopHandler + $2e91 = TitleVBlankHandler + $2e9b = DrawOption6 + SECTION: $2eeb-$2f3c ($0052 bytes) ["Tile Functions"] + $2eeb = LoadTitleTiles + $2f09 = LoadGameplayTiles + $2f1f = LoadGameplayTiles.gbc + $2f2e = LoadGameplayTiles.dmg + SECTION: $2f3d-$2f78 ($003c bytes) ["Time Data"] + $2f3d = sFramesToCS + SECTION: $2f79-$2fa6 ($002e bytes) ["Memory Functions"] + $2f79 = UnsafeMemCopy + $2f82 = SafeMemCopy.wvr_u1 + $2f82 = SafeMemCopy + $2f91 = UnsafeMemSet + $2f99 = SafeMemSet + $2f99 = SafeMemSet.wvr_u2 + SECTION: $2fa7-$2fcc ($0026 bytes) ["Gameplay Function Trampolines"] + $2fa7 = SwitchToGameplay + $2fb0 = SwitchToGameplayBig + $2fb9 = GamePlayEventLoopHandler + $2fc3 = GamePlayBigEventLoopHandler + SECTION: $2fcd-$2fee ($0022 bytes) ["OAM Functions"] + $2fcd = CopyOAMHandler + $2fd9 = ClearOAM + SECTION: $2fef-$3007 ($0019 bytes) ["Interrupt Initialization Functions"] + $2fef = IntrInit + $2ff3 = InitializeLCDCInterrupt + SECTION: $3008-$3016 ($000f bytes) ["Banking Functions"] + $3008 = BankingInit + SECTION: $3017-$3020 ($000a bytes) ["OAM DMA Code"] + $3017 = OAMDMA + $3021 = OAMDMAEnd + EMPTY: $3021-$3fff ($0fdf bytes) + TOTAL EMPTY: $0fea bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -958,7 +958,7 @@ ROMX bank #5: $5321 = ClearLines.r_u48 $5321 = ClearLines.fixgarbo $5324 = ClearLines.fixgarboloop - SECTION: $532e-$6120 ($0df3 bytes) ["Gameplay Function Banked"] + SECTION: $532e-$611a ($0ded bytes) ["Gameplay Function Banked"] $532e = SwitchToGameplayB $5334 = SwitchToGameplayB.wvr_u1 $533d = SwitchToGameplayB.loadtilemap @@ -1414,37 +1414,37 @@ ROMX bank #5: $5fd7 = GamePlayEventLoopHandlerB.skip7_u213 $5fdb = GamePlayEventLoopHandlerB.gameOverMode $5ffe = GamePlayEventLoopHandlerB.noretry - $600b = GamePlayEventLoopHandlerB.pauseMode - $6023 = GamePlayEventLoopHandlerB.noqr - $6038 = GamePlayEventLoopHandlerB.nounpause - $6080 = GamePlayEventLoopHandlerB.drawStaticInfo - $60b1 = DoHold - $60b5 = DoHold.checkIRSA - $60bc = DoHold.ldb3 - $60c8 = DoHold.lda3 - $60d2 = DoHold.cp3 - $60e0 = DoHold.checkIRSB - $60e7 = DoHold.lda4 - $60f3 = DoHold.ldb4 - $60fd = DoHold.cp4 - $610b = DoHold.noRotation - $6116 = DoHold.doHoldOperation - SECTION: $6121-$654a ($042a bytes) ["Gameplay Static Data"] - $6121 = sLeftDasSlam - $6127 = sRightDasSlam - $612d = sLeady - $6137 = sGo - $6141 = sPause - $6169 = sPieceXOffsets - $6185 = sPieceYOffsets - $61a1 = sPieceFastRotationStates - $6211 = sPieceRotationStates - $6281 = sTGM3Bag - $62a4 = sTGM3Droughts - $62ab = sGameplayTileMap - $654b = sGameplayTileMapEnd - EMPTY: $654b-$7fff ($1ab5 bytes) - TOTAL EMPTY: $1ab5 bytes + $6008 = GamePlayEventLoopHandlerB.pauseMode + $601d = GamePlayEventLoopHandlerB.noqr + $6032 = GamePlayEventLoopHandlerB.nounpause + $607a = GamePlayEventLoopHandlerB.drawStaticInfo + $60ab = DoHold + $60af = DoHold.checkIRSA + $60b6 = DoHold.ldb3 + $60c2 = DoHold.lda3 + $60cc = DoHold.cp3 + $60da = DoHold.checkIRSB + $60e1 = DoHold.lda4 + $60ed = DoHold.ldb4 + $60f7 = DoHold.cp4 + $6105 = DoHold.noRotation + $6110 = DoHold.doHoldOperation + SECTION: $611b-$6544 ($042a bytes) ["Gameplay Static Data"] + $611b = sLeftDasSlam + $6121 = sRightDasSlam + $6127 = sLeady + $6131 = sGo + $613b = sPause + $6163 = sPieceXOffsets + $617f = sPieceYOffsets + $619b = sPieceFastRotationStates + $620b = sPieceRotationStates + $627b = sTGM3Bag + $629e = sTGM3Droughts + $62a5 = sGameplayTileMap + $6545 = sGameplayTileMapEnd + EMPTY: $6545-$7fff ($1abb bytes) + TOTAL EMPTY: $1abb bytes ROMX bank #6: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_GAMEPLAY_BIG"] @@ -1743,7 +1743,7 @@ ROMX bank #6: $5273 = BigClearLines.fixgarbo $5276 = BigClearLines.fixgarboloop $5294 = BigWidenField - SECTION: $55e4-$6457 ($0e74 bytes) ["Gameplay Function Big Banked"] + SECTION: $55e4-$6451 ($0e6e bytes) ["Gameplay Function Big Banked"] $55e4 = SwitchToGameplayBigB $55ea = SwitchToGameplayBigB.wvr_u214 $55f3 = SwitchToGameplayBigB.loadtilemap @@ -2219,35 +2219,35 @@ ROMX bank #6: $630f = GamePlayBigEventLoopHandlerB.skip7_u436 $6313 = GamePlayBigEventLoopHandlerB.gameOverMode $6336 = GamePlayBigEventLoopHandlerB.noretry - $6343 = GamePlayBigEventLoopHandlerB.pauseMode - $635b = GamePlayBigEventLoopHandlerB.noqr - $636f = GamePlayBigEventLoopHandlerB.nounpause - $63b7 = GamePlayBigEventLoopHandlerB.drawStaticInfo - $63e8 = BigDoHold - $63ec = BigDoHold.checkIRSA - $63f3 = BigDoHold.ldb3 - $63ff = BigDoHold.lda3 - $6409 = BigDoHold.cp3 - $6417 = BigDoHold.checkIRSB - $641e = BigDoHold.lda4 - $642a = BigDoHold.ldb4 - $6434 = BigDoHold.cp4 - $6442 = BigDoHold.noRotation - $644d = BigDoHold.doHoldOperation - SECTION: $6458-$6857 ($0400 bytes) ["Gameplay Big Static Data"] - $6458 = sBigLeftDasSlam - $645e = sBigRightDasSlam - $6464 = sBigLeady - $646e = sBigGo - $6478 = sBigPause - $64a0 = sBigPieceXOffsets - $64bc = sBigPieceYOffsets - $64d8 = sBigPieceFastRotationStates - $6548 = sBigPieceRotationStates - $65b8 = sBigGameplayTileMap - $6858 = sBigGameplayTileMapEnd - EMPTY: $6858-$7fff ($17a8 bytes) - TOTAL EMPTY: $17a8 bytes + $6340 = GamePlayBigEventLoopHandlerB.pauseMode + $6355 = GamePlayBigEventLoopHandlerB.noqr + $6369 = GamePlayBigEventLoopHandlerB.nounpause + $63b1 = GamePlayBigEventLoopHandlerB.drawStaticInfo + $63e2 = BigDoHold + $63e6 = BigDoHold.checkIRSA + $63ed = BigDoHold.ldb3 + $63f9 = BigDoHold.lda3 + $6403 = BigDoHold.cp3 + $6411 = BigDoHold.checkIRSB + $6418 = BigDoHold.lda4 + $6424 = BigDoHold.ldb4 + $642e = BigDoHold.cp4 + $643c = BigDoHold.noRotation + $6447 = BigDoHold.doHoldOperation + SECTION: $6452-$6851 ($0400 bytes) ["Gameplay Big Static Data"] + $6452 = sBigLeftDasSlam + $6458 = sBigRightDasSlam + $645e = sBigLeady + $6468 = sBigGo + $6472 = sBigPause + $649a = sBigPieceXOffsets + $64b6 = sBigPieceYOffsets + $64d2 = sBigPieceFastRotationStates + $6542 = sBigPieceRotationStates + $65b2 = sBigGameplayTileMap + $6852 = sBigGameplayTileMapEnd + EMPTY: $6852-$7fff ($17ae bytes) + TOTAL EMPTY: $17ae bytes SRAM bank #0: SECTION: $a000-$a00d ($000e bytes) ["Persistent Globals"] @@ -2470,8 +2470,8 @@ HRAM bank #0: TOTAL EMPTY: $0003 bytes SUMMARY: - ROM0: 11964 bytes used / 4420 free - ROMX: 56895 bytes used / 41409 free in 6 banks + ROM0: 12310 bytes used / 4074 free + ROMX: 56883 bytes used / 41421 free in 6 banks SRAM: 14 bytes used / 8178 free in 1 bank WRAM0: 3515 bytes used / 581 free HRAM: 124 bytes used / 3 free diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index bce36aa..55f5fe2 100644 Binary files a/bin/DMGTRIS.pocket and b/bin/DMGTRIS.pocket differ diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index 78efc2f..4ef78c2 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -59,276 +59,276 @@ 00:0c33 GBCBigGameplayProcess 00:0c71 GBCBigGameplayProcess.goverride 00:0c98 GBCBigGameplayProcess.colorfield -00:0caf GBCBigGameplayProcess.outer1 -00:0cb4 GBCBigGameplayProcess.inner1 -00:0cd8 GBCBigGameplayProcess.outer2 -00:0cdd GBCBigGameplayProcess.inner2 -00:0d02 GBCBigGameplayProcess.empty -00:0d06 GBCBigGameplayProcess.sub59 -00:0d08 GBCBigGameplayProcess.sub52 -00:0d0a GBCBigGameplayProcess.sub45 -00:0d0c GBCBigGameplayProcess.sub38 -00:0d0e GBCBigGameplayProcess.sub31 -00:0d10 GBCBigGameplayProcess.sub24 -00:0d12 GBCBigGameplayProcess.sub17 -00:0d14 GBCBigGameplayProcess.sub10 -00:0d16 GBCBigGameplayProcess.done -00:0d38 GBCBigGameplayProcess.darker -00:0d3f GBCBigGameplayProcess.wvr_u4 -00:0d4c GBCBigGameplayProcess.lighter -00:0d53 GBCBigGameplayProcess.wvr_u5 -00:0d60 GBCBigGameplayProcess.black -00:0d67 GBCBigGameplayProcess.wvr_u6 -00:0d74 ToVRAM -00:0d74 GBCBlitField -00:0da7 BlitField -00:0f6a BlitField.waitendvbloop -00:119c BigBlitField -00:135f BigBlitField.waitendvbloop -00:1591 ApplyTells -00:15cf ApplyTells.myco -00:15d4 ApplyTells.dropmode -00:15f9 ApplyNext -00:1607 ApplyNext.bone -00:1626 ApplyNext.nobone -00:1647 ApplyNext.pos -00:1657 ApplyNext.regular -00:165d ApplyNext.postoffsets -00:1661 ApplyNext.getoffn -00:166c ApplyNext.skipoffn -00:170a ApplyNext.done -00:170d ApplyHold -00:171b ApplyHold.bone -00:173a ApplyHold.nobone -00:1757 ApplyHold.hide -00:1769 ApplyHold.show -00:1779 ApplyHold.x -00:1789 ApplyHold.regular -00:178f ApplyHold.postoffsets -00:1793 ApplyHold.getoffh -00:179e ApplyHold.skipoffh -00:17d8 ApplyTime -00:1829 ApplyTime.loop0 -00:1858 ApplyTime.loop1 -00:18ad ApplyNumbers8 -00:18fa ApplyNumbers8.one -00:1900 ApplyNumbers8.two -00:1906 ApplyNumbers8.three -00:190c ApplyNumbers8.four -00:1912 ApplyNumbers8.five -00:1918 ApplyNumbers8.six -00:191e ApplyNumbers8.seven -00:1924 ApplyNumbers8.eight -00:1929 ApplyNumbers4 -00:194e ApplyNumbers4.one -00:1954 ApplyNumbers4.two -00:195a ApplyNumbers4.three -00:1960 ApplyNumbers4.four -00:1965 SetNumberSpritePositions -00:1a6c GradeRendering -00:1aa1 GradeRendering.effect -00:1ab1 GradeRendering.noeffect -00:1ab9 GradeRendering.drawgrade -00:1ac0 GradeRendering.regulargrade -00:1ac8 GradeRendering.sgrade -00:1ade GradeRendering.hisgrade -00:1af4 GradeRendering.mgrade -00:1b0a GradeRendering.lettergrade -00:1b27 GradeRendering.mk -00:1b2d GradeRendering.mv -00:1b33 GradeRendering.mo -00:1b39 GradeRendering.mm -00:1b3f GradeRendering.gmgrade -00:1b4a GradeInit -00:1b75 GradeInit.grade9start -00:1b7a GradeInit.end -00:1b7c UpdateGrade -00:1b8a UpdateGrade.gradejumptable -00:1b9f DecayGradeProcess -00:1bad DecayGradeProcess.gradejumptable -00:1bc2 DecayGradeDelay -00:1bd0 DecayGradeDelay.gradejumptable -00:1be5 PrepareScore -00:1bf8 DrawGradeProgressDMGT -00:1c07 UpdateGradeDMGT -00:1c21 UpdateGradeDMGT.clearrate -00:1c32 UpdateGradeDMGT.combomult -00:1c3f UpdateGradeDMGT.combo10 -00:1c50 UpdateGradeDMGT.combo5 -00:1c61 UpdateGradeDMGT.combo1 -00:1c70 UpdateGradeDMGT.prelevel -00:1c7f UpdateGradeDMGT.single -00:1c8f UpdateGradeDMGT.double -00:1ca0 UpdateGradeDMGT.adddonce -00:1ca4 UpdateGradeDMGT.triple -00:1cb5 UpdateGradeDMGT.addtonce -00:1cb9 UpdateGradeDMGT.tetris -00:1cbd UpdateGradeDMGT.levelmult -00:1cd5 UpdateGradeDMGT.mult5 -00:1cdc UpdateGradeDMGT.mult4 -00:1ce2 UpdateGradeDMGT.mult3 -00:1ce7 UpdateGradeDMGT.mult2 -00:1ceb UpdateGradeDMGT.mult1 -00:1cec UpdateGradeDMGT.processgrade -00:1d12 UpdateGradeDMGT.increasegrademaybe -00:1d33 UpdateGradeDMGT.gotgm -00:1d3e DecayGradeDMGT -00:1d62 DecayGradeDMGT.nodecay -00:1d69 DecayGradeDMGT.decay -00:1d77 UpdateGradeTGM1 -00:1d81 UpdateGradeTGM1.trygradeup -00:1d9b UpdateGradeTGM1.increasegrade -00:1dad UpdateGradeTGM1.skipjingle -00:1dba UpdateGradeTGM1.maybegm -00:1dd0 UpdateGradeDEAT -00:1ddc UpdateGradeDEAT.notgm -00:1df5 UpdateGradeDEAT.notm -00:1e15 UpdateGradeDEAT.disqualify -00:1e1b UpdateGradeSHIR -00:1e5b UpdateGradeSHIR.s5torikan -00:1e6b UpdateGradeSHIR.s10torikan -00:1e7a UpdateGradeSHIR.disqualify -00:1e80 sTGM1GradeScores -00:1ea2 sTGM3InternalGradeSystem -00:1f42 sTGM3GradeBoosts -00:1f61 sTGM3LevelMultiplier -00:1f65 sTGM3BaselineCOOL -00:1f6e sTGM3REGRETConditions -00:1f82 sDMGTGrading -00:2036 sDMGTGaugeLUT -00:2136 SFXInit -00:2158 SFXPopQueue -00:216d SFXPushQueue -00:217e SFXProcessQueue -00:21ac SFXTriggerNoise -00:21d2 SFXEnqueue -00:21e7 SFXEnqueue.findsfx -00:2340 SFXKill -00:236b SFXPlayNoise -00:2376 SFXPlayNoise.noisereg -00:238d SFXPlayNoise.savenoiseplayhead -00:2396 SFXPlay -00:23a4 SFXPlay.play -00:23b0 SFXPlay.getRegister -00:23c4 SFXPlay.savePlayhead -00:23cd HarvestEntropy -00:23d3 HarvestEntropy.loop -00:23f4 RNGInit -00:245a RNGInit.complexinit -00:248c ShiftHistory -00:24a9 GetNextHellPiece -00:24ae GetNextTGM1Piece -00:24cb GetNextTGM2Piece -00:24e8 GetNextNesPiece -00:24f6 GetNextTGM3Piece -00:25ad GetNextPiece -00:25bb GetNextPiece.nextpiecejumps -00:25ca Next35Piece -00:25d4 Next7Piece -00:25de NextByte -00:25fe LevelInit -00:264e LevelUp -00:2672 LevelUp.doit -00:26b6 LevelUp.checknlevel -00:2705 LevelUp.bellmaybe -00:2717 LevelUp.leveljinglemaybe -00:2724 LevelUp.checkspeedup -00:2760 DoSpeedUp -00:27a1 sProgressData -00:28eb ScoreInit -00:2913 IncreaseScore -00:294b IncreaseScore.doConvert -00:2963 IncreaseScore.carry -00:2965 IncreaseScore.postConvert -00:2979 IncreaseScore.preAddDigit -00:29a1 IncreaseScore.addDigit -00:29b7 IncreaseScore.nextDigit -00:29cb InputInit -00:29dd GetInput -00:29dd GetInput.btns -00:29ea GetInput.readA -00:29ee GetInput.setA -00:29f9 GetInput.clearA -00:29fc GetInput.readB -00:2a00 GetInput.setB -00:2a0b GetInput.clearB -00:2a0e GetInput.readSelect -00:2a12 GetInput.setSelect -00:2a1d GetInput.clearSelect -00:2a20 GetInput.readStart -00:2a24 GetInput.setStart -00:2a2f GetInput.clearStart -00:2a32 GetInput.dpad -00:2a3f GetInput.readUp -00:2a43 GetInput.setUp -00:2a4e GetInput.clearUp -00:2a51 GetInput.readDown -00:2a55 GetInput.setDown -00:2a60 GetInput.clearDown -00:2a63 GetInput.readLeft -00:2a67 GetInput.setLeft -00:2a72 GetInput.clearLeft -00:2a75 GetInput.readRight -00:2a79 GetInput.setRight -00:2a84 GetInput.clearRight -00:2a87 GetInput.priorities -00:2a92 GetInput.zero -00:2a98 RestoreSRAM -00:2af1 InitializeSRAM -00:2b4f SetProgress -00:2b5a SetProgress.loop -00:2b5e SetProgress.correct -00:2b85 SetProgress.wvr_u1 -00:2b91 SetProgress.wvr_u2 -00:2b9f SetProgress.wvr_u3 -00:2bab SetProgress.wvr_u4 -00:2bb9 SetProgress.wvr_u5 -00:2bc5 SetProgress.wvr_u6 -00:2bd3 SetProgress.wvr_u7 -00:2bdf SetProgress.wvr_u8 -00:2bed SetProgress.wvr_u9 -00:2bf9 SetProgress.wvr_u10 -00:2c01 Main -00:2c2a Main.notgbc -00:2c30 Main.wvr_u1 -00:2c5d EventLoop -00:2c73 EventLoop.eventloopjumps -00:2c7c EventLoopPostHandler -00:2c7e EventLoopPostHandler.wvb_u2 -00:2c90 EventLoopPostHandler.vblankjumps -00:2c99 TimeInit -00:2cae ResetGameTime -00:2cb9 CheckTorikan -00:2cd0 CheckTorikan.failure -00:2cd2 CheckTorikan.success -00:2cd5 HandleTimers -00:2cfd HandleTimers.go -00:2d21 SwitchToTitle -00:2d2b TitleEventLoopHandler -00:2d35 TitleVBlankHandler -00:2d3f DrawOption6 -00:2d8f LoadTitleTiles -00:2dad LoadGameplayTiles -00:2dc3 LoadGameplayTiles.gbc -00:2dd2 LoadGameplayTiles.dmg -00:2de1 sFramesToCS -00:2e1d UnsafeMemCopy -00:2e26 SafeMemCopy.wvr_u1 -00:2e26 SafeMemCopy -00:2e35 UnsafeMemSet -00:2e3d SafeMemSet -00:2e3d SafeMemSet.wvr_u2 -00:2e4b SwitchToGameplay -00:2e55 SwitchToGameplayBig -00:2e5f GamePlayEventLoopHandler -00:2e69 GamePlayBigEventLoopHandler -00:2e73 CopyOAMHandler -00:2e7f ClearOAM -00:2e95 IntrInit -00:2e99 InitializeLCDCInterrupt -00:2eae BankingInit -00:2ebd OAMDMA -00:2ec7 OAMDMAEnd +00:0e0c GBCBigGameplayProcess.outer1 +00:0e11 GBCBigGameplayProcess.inner1 +00:0e35 GBCBigGameplayProcess.outer2 +00:0e3a GBCBigGameplayProcess.inner2 +00:0e5f GBCBigGameplayProcess.empty +00:0e63 GBCBigGameplayProcess.sub59 +00:0e65 GBCBigGameplayProcess.sub52 +00:0e67 GBCBigGameplayProcess.sub45 +00:0e69 GBCBigGameplayProcess.sub38 +00:0e6b GBCBigGameplayProcess.sub31 +00:0e6d GBCBigGameplayProcess.sub24 +00:0e6f GBCBigGameplayProcess.sub17 +00:0e71 GBCBigGameplayProcess.sub10 +00:0e73 GBCBigGameplayProcess.done +00:0e95 GBCBigGameplayProcess.darker +00:0e9c GBCBigGameplayProcess.wvr_u4 +00:0ea9 GBCBigGameplayProcess.lighter +00:0eb0 GBCBigGameplayProcess.wvr_u5 +00:0ebd GBCBigGameplayProcess.black +00:0ec4 GBCBigGameplayProcess.wvr_u6 +00:0ed1 ToVRAM +00:0ed1 GBCBlitField +00:0f04 BlitField +00:10c7 BlitField.waitendvbloop +00:12f9 BigBlitField +00:14bc BigBlitField.waitendvbloop +00:16ee ApplyTells +00:172c ApplyTells.myco +00:1731 ApplyTells.dropmode +00:1756 ApplyNext +00:1764 ApplyNext.bone +00:1783 ApplyNext.nobone +00:17a4 ApplyNext.pos +00:17b4 ApplyNext.regular +00:17ba ApplyNext.postoffsets +00:17be ApplyNext.getoffn +00:17c9 ApplyNext.skipoffn +00:1867 ApplyNext.done +00:186a ApplyHold +00:1878 ApplyHold.bone +00:1897 ApplyHold.nobone +00:18b4 ApplyHold.hide +00:18c6 ApplyHold.show +00:18d6 ApplyHold.x +00:18e6 ApplyHold.regular +00:18ec ApplyHold.postoffsets +00:18f0 ApplyHold.getoffh +00:18fb ApplyHold.skipoffh +00:1935 ApplyTime +00:1986 ApplyTime.loop0 +00:19b5 ApplyTime.loop1 +00:1a0a ApplyNumbers8 +00:1a57 ApplyNumbers8.one +00:1a5d ApplyNumbers8.two +00:1a63 ApplyNumbers8.three +00:1a69 ApplyNumbers8.four +00:1a6f ApplyNumbers8.five +00:1a75 ApplyNumbers8.six +00:1a7b ApplyNumbers8.seven +00:1a81 ApplyNumbers8.eight +00:1a86 ApplyNumbers4 +00:1aab ApplyNumbers4.one +00:1ab1 ApplyNumbers4.two +00:1ab7 ApplyNumbers4.three +00:1abd ApplyNumbers4.four +00:1ac2 SetNumberSpritePositions +00:1bc9 GradeRendering +00:1bfe GradeRendering.effect +00:1c0e GradeRendering.noeffect +00:1c16 GradeRendering.drawgrade +00:1c1d GradeRendering.regulargrade +00:1c25 GradeRendering.sgrade +00:1c3b GradeRendering.hisgrade +00:1c51 GradeRendering.mgrade +00:1c67 GradeRendering.lettergrade +00:1c84 GradeRendering.mk +00:1c8a GradeRendering.mv +00:1c90 GradeRendering.mo +00:1c96 GradeRendering.mm +00:1c9c GradeRendering.gmgrade +00:1ca7 GradeInit +00:1cd2 GradeInit.grade9start +00:1cd7 GradeInit.end +00:1cd9 UpdateGrade +00:1ce7 UpdateGrade.gradejumptable +00:1cfc DecayGradeProcess +00:1d0a DecayGradeProcess.gradejumptable +00:1d1f DecayGradeDelay +00:1d2d DecayGradeDelay.gradejumptable +00:1d42 PrepareScore +00:1d55 DrawGradeProgressDMGT +00:1d64 UpdateGradeDMGT +00:1d7e UpdateGradeDMGT.clearrate +00:1d8f UpdateGradeDMGT.combomult +00:1d9c UpdateGradeDMGT.combo10 +00:1dad UpdateGradeDMGT.combo5 +00:1dbe UpdateGradeDMGT.combo1 +00:1dcd UpdateGradeDMGT.prelevel +00:1ddc UpdateGradeDMGT.single +00:1dec UpdateGradeDMGT.double +00:1dfd UpdateGradeDMGT.adddonce +00:1e01 UpdateGradeDMGT.triple +00:1e12 UpdateGradeDMGT.addtonce +00:1e16 UpdateGradeDMGT.tetris +00:1e1a UpdateGradeDMGT.levelmult +00:1e32 UpdateGradeDMGT.mult5 +00:1e39 UpdateGradeDMGT.mult4 +00:1e3f UpdateGradeDMGT.mult3 +00:1e44 UpdateGradeDMGT.mult2 +00:1e48 UpdateGradeDMGT.mult1 +00:1e49 UpdateGradeDMGT.processgrade +00:1e6f UpdateGradeDMGT.increasegrademaybe +00:1e90 UpdateGradeDMGT.gotgm +00:1e9b DecayGradeDMGT +00:1ebf DecayGradeDMGT.nodecay +00:1ec6 DecayGradeDMGT.decay +00:1ed4 UpdateGradeTGM1 +00:1ede UpdateGradeTGM1.trygradeup +00:1ef8 UpdateGradeTGM1.increasegrade +00:1f0a UpdateGradeTGM1.skipjingle +00:1f17 UpdateGradeTGM1.maybegm +00:1f2d UpdateGradeDEAT +00:1f39 UpdateGradeDEAT.notgm +00:1f52 UpdateGradeDEAT.notm +00:1f72 UpdateGradeDEAT.disqualify +00:1f78 UpdateGradeSHIR +00:1fb8 UpdateGradeSHIR.s5torikan +00:1fc8 UpdateGradeSHIR.s10torikan +00:1fd7 UpdateGradeSHIR.disqualify +00:1fdd sTGM1GradeScores +00:1fff sTGM3InternalGradeSystem +00:209f sTGM3GradeBoosts +00:20be sTGM3LevelMultiplier +00:20c2 sTGM3BaselineCOOL +00:20cb sTGM3REGRETConditions +00:20df sDMGTGrading +00:2193 sDMGTGaugeLUT +00:2293 SFXInit +00:22b5 SFXPopQueue +00:22ca SFXPushQueue +00:22db SFXProcessQueue +00:2309 SFXTriggerNoise +00:232f SFXEnqueue +00:2344 SFXEnqueue.findsfx +00:249d SFXKill +00:24c8 SFXPlayNoise +00:24d3 SFXPlayNoise.noisereg +00:24ea SFXPlayNoise.savenoiseplayhead +00:24f3 SFXPlay +00:2501 SFXPlay.play +00:250d SFXPlay.getRegister +00:2521 SFXPlay.savePlayhead +00:252a HarvestEntropy +00:2530 HarvestEntropy.loop +00:2551 RNGInit +00:25b7 RNGInit.complexinit +00:25e9 ShiftHistory +00:2606 GetNextHellPiece +00:260b GetNextTGM1Piece +00:2628 GetNextTGM2Piece +00:2645 GetNextNesPiece +00:2653 GetNextTGM3Piece +00:270a GetNextPiece +00:2718 GetNextPiece.nextpiecejumps +00:2727 Next35Piece +00:2731 Next7Piece +00:273b NextByte +00:275b LevelInit +00:27ab LevelUp +00:27cf LevelUp.doit +00:2813 LevelUp.checknlevel +00:2862 LevelUp.bellmaybe +00:2874 LevelUp.leveljinglemaybe +00:2881 LevelUp.checkspeedup +00:28bd DoSpeedUp +00:28fe sProgressData +00:2a48 ScoreInit +00:2a70 IncreaseScore +00:2aa8 IncreaseScore.doConvert +00:2ac0 IncreaseScore.carry +00:2ac2 IncreaseScore.postConvert +00:2ad6 IncreaseScore.preAddDigit +00:2afe IncreaseScore.addDigit +00:2b14 IncreaseScore.nextDigit +00:2b28 InputInit +00:2b3a GetInput +00:2b3a GetInput.btns +00:2b47 GetInput.readA +00:2b4b GetInput.setA +00:2b56 GetInput.clearA +00:2b59 GetInput.readB +00:2b5d GetInput.setB +00:2b68 GetInput.clearB +00:2b6b GetInput.readSelect +00:2b6f GetInput.setSelect +00:2b7a GetInput.clearSelect +00:2b7d GetInput.readStart +00:2b81 GetInput.setStart +00:2b8c GetInput.clearStart +00:2b8f GetInput.dpad +00:2b9c GetInput.readUp +00:2ba0 GetInput.setUp +00:2bab GetInput.clearUp +00:2bae GetInput.readDown +00:2bb2 GetInput.setDown +00:2bbd GetInput.clearDown +00:2bc0 GetInput.readLeft +00:2bc4 GetInput.setLeft +00:2bcf GetInput.clearLeft +00:2bd2 GetInput.readRight +00:2bd6 GetInput.setRight +00:2be1 GetInput.clearRight +00:2be4 GetInput.priorities +00:2bef GetInput.zero +00:2bf5 RestoreSRAM +00:2c4e InitializeSRAM +00:2cac SetProgress +00:2cb7 SetProgress.loop +00:2cbb SetProgress.correct +00:2ce2 SetProgress.wvr_u1 +00:2cee SetProgress.wvr_u2 +00:2cfc SetProgress.wvr_u3 +00:2d08 SetProgress.wvr_u4 +00:2d16 SetProgress.wvr_u5 +00:2d22 SetProgress.wvr_u6 +00:2d30 SetProgress.wvr_u7 +00:2d3c SetProgress.wvr_u8 +00:2d4a SetProgress.wvr_u9 +00:2d56 SetProgress.wvr_u10 +00:2d5e Main +00:2d87 Main.notgbc +00:2d8d Main.wvr_u1 +00:2dba EventLoop +00:2dd0 EventLoop.eventloopjumps +00:2dd9 EventLoopPostHandler +00:2ddb EventLoopPostHandler.wvb_u2 +00:2ded EventLoopPostHandler.vblankjumps +00:2df6 TimeInit +00:2e0b ResetGameTime +00:2e16 CheckTorikan +00:2e2d CheckTorikan.failure +00:2e2f CheckTorikan.success +00:2e32 HandleTimers +00:2e5a HandleTimers.go +00:2e7e SwitchToTitle +00:2e87 TitleEventLoopHandler +00:2e91 TitleVBlankHandler +00:2e9b DrawOption6 +00:2eeb LoadTitleTiles +00:2f09 LoadGameplayTiles +00:2f1f LoadGameplayTiles.gbc +00:2f2e LoadGameplayTiles.dmg +00:2f3d sFramesToCS +00:2f79 UnsafeMemCopy +00:2f82 SafeMemCopy.wvr_u1 +00:2f82 SafeMemCopy +00:2f91 UnsafeMemSet +00:2f99 SafeMemSet +00:2f99 SafeMemSet.wvr_u2 +00:2fa7 SwitchToGameplay +00:2fb0 SwitchToGameplayBig +00:2fb9 GamePlayEventLoopHandler +00:2fc3 GamePlayBigEventLoopHandler +00:2fcd CopyOAMHandler +00:2fd9 ClearOAM +00:2fef IntrInit +00:2ff3 InitializeLCDCInterrupt +00:3008 BankingInit +00:3017 OAMDMA +00:3021 OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4210 sDMGTSpeedCurveEnd 01:4212 sTGM1SpeedCurve @@ -1171,34 +1171,34 @@ 05:5fd7 GamePlayEventLoopHandlerB.skip7_u213 05:5fdb GamePlayEventLoopHandlerB.gameOverMode 05:5ffe GamePlayEventLoopHandlerB.noretry -05:600b GamePlayEventLoopHandlerB.pauseMode -05:6023 GamePlayEventLoopHandlerB.noqr -05:6038 GamePlayEventLoopHandlerB.nounpause -05:6080 GamePlayEventLoopHandlerB.drawStaticInfo -05:60b1 DoHold -05:60b5 DoHold.checkIRSA -05:60bc DoHold.ldb3 -05:60c8 DoHold.lda3 -05:60d2 DoHold.cp3 -05:60e0 DoHold.checkIRSB -05:60e7 DoHold.lda4 -05:60f3 DoHold.ldb4 -05:60fd DoHold.cp4 -05:610b DoHold.noRotation -05:6116 DoHold.doHoldOperation -05:6121 sLeftDasSlam -05:6127 sRightDasSlam -05:612d sLeady -05:6137 sGo -05:6141 sPause -05:6169 sPieceXOffsets -05:6185 sPieceYOffsets -05:61a1 sPieceFastRotationStates -05:6211 sPieceRotationStates -05:6281 sTGM3Bag -05:62a4 sTGM3Droughts -05:62ab sGameplayTileMap -05:654b sGameplayTileMapEnd +05:6008 GamePlayEventLoopHandlerB.pauseMode +05:601d GamePlayEventLoopHandlerB.noqr +05:6032 GamePlayEventLoopHandlerB.nounpause +05:607a GamePlayEventLoopHandlerB.drawStaticInfo +05:60ab DoHold +05:60af DoHold.checkIRSA +05:60b6 DoHold.ldb3 +05:60c2 DoHold.lda3 +05:60cc DoHold.cp3 +05:60da DoHold.checkIRSB +05:60e1 DoHold.lda4 +05:60ed DoHold.ldb4 +05:60f7 DoHold.cp4 +05:6105 DoHold.noRotation +05:6110 DoHold.doHoldOperation +05:611b sLeftDasSlam +05:6121 sRightDasSlam +05:6127 sLeady +05:6131 sGo +05:613b sPause +05:6163 sPieceXOffsets +05:617f sPieceYOffsets +05:619b sPieceFastRotationStates +05:620b sPieceRotationStates +05:627b sTGM3Bag +05:629e sTGM3Droughts +05:62a5 sGameplayTileMap +05:6545 sGameplayTileMapEnd 06:4008 BigFieldInit 06:4049 BigFieldClear 06:40ef BigToBackupField @@ -1917,32 +1917,32 @@ 06:630f GamePlayBigEventLoopHandlerB.skip7_u436 06:6313 GamePlayBigEventLoopHandlerB.gameOverMode 06:6336 GamePlayBigEventLoopHandlerB.noretry -06:6343 GamePlayBigEventLoopHandlerB.pauseMode -06:635b GamePlayBigEventLoopHandlerB.noqr -06:636f GamePlayBigEventLoopHandlerB.nounpause -06:63b7 GamePlayBigEventLoopHandlerB.drawStaticInfo -06:63e8 BigDoHold -06:63ec BigDoHold.checkIRSA -06:63f3 BigDoHold.ldb3 -06:63ff BigDoHold.lda3 -06:6409 BigDoHold.cp3 -06:6417 BigDoHold.checkIRSB -06:641e BigDoHold.lda4 -06:642a BigDoHold.ldb4 -06:6434 BigDoHold.cp4 -06:6442 BigDoHold.noRotation -06:644d BigDoHold.doHoldOperation -06:6458 sBigLeftDasSlam -06:645e sBigRightDasSlam -06:6464 sBigLeady -06:646e sBigGo -06:6478 sBigPause -06:64a0 sBigPieceXOffsets -06:64bc sBigPieceYOffsets -06:64d8 sBigPieceFastRotationStates -06:6548 sBigPieceRotationStates -06:65b8 sBigGameplayTileMap -06:6858 sBigGameplayTileMapEnd +06:6340 GamePlayBigEventLoopHandlerB.pauseMode +06:6355 GamePlayBigEventLoopHandlerB.noqr +06:6369 GamePlayBigEventLoopHandlerB.nounpause +06:63b1 GamePlayBigEventLoopHandlerB.drawStaticInfo +06:63e2 BigDoHold +06:63e6 BigDoHold.checkIRSA +06:63ed BigDoHold.ldb3 +06:63f9 BigDoHold.lda3 +06:6403 BigDoHold.cp3 +06:6411 BigDoHold.checkIRSB +06:6418 BigDoHold.lda4 +06:6424 BigDoHold.ldb4 +06:642e BigDoHold.cp4 +06:643c BigDoHold.noRotation +06:6447 BigDoHold.doHoldOperation +06:6452 sBigLeftDasSlam +06:6458 sBigRightDasSlam +06:645e sBigLeady +06:6468 sBigGo +06:6472 sBigPause +06:649a sBigPieceXOffsets +06:64b6 sBigPieceYOffsets +06:64d2 sBigPieceFastRotationStates +06:6542 sBigPieceRotationStates +06:65b2 sBigGameplayTileMap +06:6852 sBigGameplayTileMapEnd 00:a000 rCheck 00:a006 rSwapABState 00:a007 rRNGModeState diff --git a/src/gbc.asm b/src/gbc.asm index df5584a..df26654 100644 --- a/src/gbc.asm +++ b/src/gbc.asm @@ -313,7 +313,7 @@ GBCGameplayProcess:: cp a, SCURVE_CHIL ld a, $01 ;Green jr z, .goverride - ld a, $02 ;Green + ld a, $02 ;Purple ; Are we 20G? .goverride @@ -529,7 +529,7 @@ GBCBigGameplayProcess:: cp a, SCURVE_CHIL ld a, $01 ;Green jr z, .goverride - ld a, $02 ;Green + ld a, $02 ;Purple ; Are we 20G? .goverride @@ -557,9 +557,24 @@ GBCBigGameplayProcess:: ld d, a .colorfield - ld hl, wShadowTileAttrs - ld bc, 32*21 - call UnsafeMemSet + ld a, d + DEF row = 0 + REPT 21 + ld hl, wShadowTileAttrs + (row*32) + 31 + ld [hl], a + ld hl, wShadowTileAttrs + (row*32) + 10 + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl+], a + ld [hl], a + DEF row += 1 + ENDR ; What to copy diff --git a/src/res/other_data.inc b/src/res/other_data.inc index 3283351..550b996 100644 --- a/src/res/other_data.inc +++ b/src/res/other_data.inc @@ -625,11 +625,6 @@ sSHIRSpeedCurve:: sSHIRSpeedCurveEnd:: dw $FFFF - - - ; dw BCD_START_LEVEL, START_LEVEL, BCD_NEXT_100_LEVEL_BREAKPOINT -; db GRID_CELLS_PER_MOVE_ON_OVERFLOW, INCREMENT_PER_FRAME (0 means overflow each frame) -; db NORMAL_ARE, LINE_ARE, DAS, LOCK_DELAY, CLEAR_DELAY sMYCOSpeedCurve:: dw $0000, 0, $0100 db 1, 4 diff --git a/src/state_gameplay.asm b/src/state_gameplay.asm index 44d95a2..8cfdd04 100644 --- a/src/state_gameplay.asm +++ b/src/state_gameplay.asm @@ -43,16 +43,14 @@ SwitchToGameplay:: ld b, BANK_GAMEPLAY rst RSTSwitchBank call SwitchToGameplayB - rst RSTRestoreBank - jp EventLoopPostHandler + jp RSTRestoreBank ; Trampolines to the banked function. SwitchToGameplayBig:: ld b, BANK_GAMEPLAY_BIG rst RSTSwitchBank call SwitchToGameplayBigB - rst RSTRestoreBank - jp EventLoopPostHandler + jp RSTRestoreBank ; Banks and jumps to the actual handler. GamePlayEventLoopHandler:: @@ -530,8 +528,7 @@ GamePlayEventLoopHandlerB:: ldh a, [hBState] cp a, 10 ; 10 frame hold jp nz, .drawStaticInfo - call SwitchToTitle - jp EventLoopPostHandler + jp SwitchToTitle .pauseMode @@ -545,8 +542,7 @@ GamePlayEventLoopHandlerB:: ldh a, [hSelectState] cp a, 0 jr z, .noqr - call SwitchToTitle - jp EventLoopPostHandler + jp SwitchToTitle ; Unpause .noqr @@ -767,6 +763,7 @@ SwitchToGameplayBigB: wait_vblank_end ret + ; Main gameplay event loop. GamePlayBigEventLoopHandlerB: ; What mode are we in? @@ -1149,8 +1146,7 @@ GamePlayBigEventLoopHandlerB: ldh a, [hBState] cp a, 10 ; 10 frame hold jp nz, .drawStaticInfo - call SwitchToTitle - jp EventLoopPostHandler + jp SwitchToTitle .pauseMode @@ -1164,8 +1160,7 @@ GamePlayBigEventLoopHandlerB: ldh a, [hSelectState] cp a, 0 jr z, .noqr - call SwitchToTitle - jp EventLoopPostHandler + jp SwitchToTitle ; Unpause .noqr @@ -1204,7 +1199,7 @@ GamePlayBigEventLoopHandlerB: call UnsafeMemCopy ld de, sBigPause ld hl, wWideBlittedField+(20*10) - ld bc, 40 + ld bc, 20 call UnsafeMemCopy diff --git a/src/state_title.asm b/src/state_title.asm index 9f1bb45..d20e5a1 100644 --- a/src/state_title.asm +++ b/src/state_title.asm @@ -33,8 +33,7 @@ SwitchToTitle:: ld b, BANK_TITLE rst RSTSwitchBank call SwitchToTitleB - rst RSTRestoreBank - jp EventLoopPostHandler + jp RSTRestoreBank ; Banks and jumps to the actual handler. TitleEventLoopHandler::