From 0fe90e24c247b9252a528c07744c0d60629febd6 Mon Sep 17 00:00:00 2001 From: Hana Nova Date: Sun, 2 Mar 2025 16:59:52 +0100 Subject: [PATCH] Fix potential bug on GBC. --- bin/PandorasBlocks.gbc | Bin 262144 -> 262144 bytes bin/PandorasBlocks.map | 86 +++++++++++++++++++------------------- bin/PandorasBlocks.pocket | Bin 262144 -> 262144 bytes bin/PandorasBlocks.sym | 62 +++++++++++++-------------- src/main.asm | 2 + 5 files changed, 76 insertions(+), 74 deletions(-) diff --git a/bin/PandorasBlocks.gbc b/bin/PandorasBlocks.gbc index 858588da54390b522303dee9b96d914efd00dc31..f4e5757bf1afbfc804111b00fc06d8bcfd194cac 100644 GIT binary patch delta 2760 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

$N_p!wUy%VeEklKRILZUyqwaN$;M)(3wBuniRR diff --git a/bin/PandorasBlocks.map b/bin/PandorasBlocks.map index d0202bc..07131d2 100644 --- a/bin/PandorasBlocks.map +++ b/bin/PandorasBlocks.map @@ -1,5 +1,5 @@ SUMMARY: - ROM0: 14729 bytes used / 1655 free + ROM0: 14733 bytes used / 1651 free ROMX: 110971 bytes used / 36485 free in 9 banks SRAM: 2951 bytes used / 5241 free in 1 bank WRAM0: 3927 bytes used / 169 free @@ -503,49 +503,49 @@ ROM0 bank #0: $37cd = SetProgress.wvr_u8 $37db = SetProgress.wvr_u9 $37e7 = SetProgress.wvr_u10 - SECTION: $37ef-$3895 ($00a7 bytes) ["Code Entry Point"] + SECTION: $37ef-$3899 ($00ab bytes) ["Code Entry Point"] $37ef = Main - $3818 = Main.notgbc - $3827 = Main.wvr_u1 - $3857 = EventLoop - $3870 = EventLoop.eventloopjumps - $3879 = EventLoopPostHandler - $387b = EventLoopPostHandler.wvb_u2 - $388d = EventLoopPostHandler.vblankjumps - SECTION: $3896-$38cb ($0036 bytes) ["Grading Functions Unbanked"] - $3896 = GradeInit - $389f = UpdateGrade - $38a8 = DecayGradeProcess - $38b1 = DecayGradeDelay - $38ba = TGM3REGRETHandler - $38c3 = TGM3COOLHandler - SECTION: $38cc-$38f9 ($002e bytes) ["Memory Functions"] - $38cc = UnsafeMemCopy - $38d5 = SafeMemCopy - $38d5 = SafeMemCopy.wvr_u1 - $38e4 = UnsafeMemSet - $38ec = SafeMemSet.wvr_u2 - $38ec = SafeMemSet - SECTION: $38fa-$391f ($0026 bytes) ["Gameplay Function Trampolines"] - $38fa = SwitchToGameplay - $3903 = SwitchToGameplayBig - $390c = GamePlayEventLoopHandler - $3916 = GamePlayBigEventLoopHandler - SECTION: $3920-$3944 ($0025 bytes) ["Interrupt Initialization Functions"] - $3920 = EnableScreenSquish - $393a = DisableScreenSquish - SECTION: $3945-$3966 ($0022 bytes) ["OAM Functions"] - $3945 = CopyOAMHandler - $3951 = ClearOAM - SECTION: $3967-$3977 ($0011 bytes) ["Intro Effect Trampoline"] - $3967 = DoIntroEffect - SECTION: $3978-$3986 ($000f bytes) ["Banking Functions"] - $3978 = BankingInit - SECTION: $3987-$3990 ($000a bytes) ["OAM DMA Code"] - $3987 = OAMDMA - $3991 = OAMDMAEnd - EMPTY: $3991-$3fff ($066f bytes) - TOTAL EMPTY: $0677 bytes + $381c = Main.notgbc + $382b = Main.wvr_u1 + $385b = EventLoop + $3874 = EventLoop.eventloopjumps + $387d = EventLoopPostHandler + $387f = EventLoopPostHandler.wvb_u2 + $3891 = EventLoopPostHandler.vblankjumps + SECTION: $389a-$38cf ($0036 bytes) ["Grading Functions Unbanked"] + $389a = GradeInit + $38a3 = UpdateGrade + $38ac = DecayGradeProcess + $38b5 = DecayGradeDelay + $38be = TGM3REGRETHandler + $38c7 = TGM3COOLHandler + SECTION: $38d0-$38fd ($002e bytes) ["Memory Functions"] + $38d0 = UnsafeMemCopy + $38d9 = SafeMemCopy + $38d9 = SafeMemCopy.wvr_u1 + $38e8 = UnsafeMemSet + $38f0 = SafeMemSet.wvr_u2 + $38f0 = SafeMemSet + SECTION: $38fe-$3923 ($0026 bytes) ["Gameplay Function Trampolines"] + $38fe = SwitchToGameplay + $3907 = SwitchToGameplayBig + $3910 = GamePlayEventLoopHandler + $391a = GamePlayBigEventLoopHandler + SECTION: $3924-$3948 ($0025 bytes) ["Interrupt Initialization Functions"] + $3924 = EnableScreenSquish + $393e = DisableScreenSquish + SECTION: $3949-$396a ($0022 bytes) ["OAM Functions"] + $3949 = CopyOAMHandler + $3955 = ClearOAM + SECTION: $396b-$397b ($0011 bytes) ["Intro Effect Trampoline"] + $396b = DoIntroEffect + SECTION: $397c-$398a ($000f bytes) ["Banking Functions"] + $397c = BankingInit + SECTION: $398b-$3994 ($000a bytes) ["OAM DMA Code"] + $398b = OAMDMA + $3995 = OAMDMAEnd + EMPTY: $3995-$3fff ($066b bytes) + TOTAL EMPTY: $0673 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] diff --git a/bin/PandorasBlocks.pocket b/bin/PandorasBlocks.pocket index c608194f900e52baefafff7fe7086ba23eea03c6..9a8ef4be7f19e2c94071f0ebeb9b75fb6bd4b0d0 100644 GIT binary patch delta 2761 zcmb`IZERCj7{~9^SGw`Ct6M31p*>@RO;m>Hyv4QI3owR^4crFHoFID<2Qh|_APHlQ zM4LsE0axk37rIR_8gbEvTqFX+o3VE6(0@k7(! z`QLNybD!t@pK~0J6o(__z&j;l3|+GpQTu_Kg~u2^kJ5pkuBkwj11L37B6fe2w#=bx zT9uRNntEw?@Q068n=W{&;i@_}z}O*JMW1a%R5!RO9AJ!ka03o8G}Vo$0iZNE;Mt(v zrCS=CYSarei8^Hl(;uwziGc@%3F5L4doMY+EWkuc{6)w;02az%v;1Y$5#U2H)iN#B zvw7x9Ei`zJ)3?>L8e;hk@1p6oBcAW*pqf1Cn7437M}R?2H?4O=v5*EDQn0>9*2@*_ zRPd03^}UMu3UpjMtV2xj2AXO9GW`R_r%H`e_B3u=$twnnmW|?PF<@U8c5*S*t0Wd zu?mLR&lk>vbDq-+i*&OB485Th-M$QZvg00j#-T#QZqCbGUOJ+vxZze*Mi$`BksQ1c zEy6g!_Ac220Z(SZHeGT%qf`6wj?z1PgQu(TU9ctD3xX7Bh{_ZSpLiO-`8?ih?GHxq zc5Arg(r!znKe%q9*Nbbdcqj{3Sn(ONFy~MKX7ce~b`6s?e-{&u>ZmHiIKQ`$PqFgp zR^5T{iqn<{cytmSWZz@Dgs56SK3sQ)Z)eTcMV1e&Xmk>iD8VpPlr*7{BF%*;uZVoe z(`r4e`@VR-Lu0q%S~h#2$rfPnPOx_d*ZF80>2lJ!Dq{JB_HfIi+SP56#{M*rODYf= z$X2ZiFghw?^*fzasJ7lv(}=Dg0gcc;L|!h+EuuUw%P)!Y9#Ia*WVV_|8N{qJ>Cfs> z{?XVQ=rTWoZcvlAu^;kdEy6p)5g}5Kxb{wWB9cvfN5Agfg)q`meU|$@pVhC?oTHkgFx{f~Rjhq!f> zVAHxBPr|lLaU1U^jL+as${r1t;T+OOE~XBa!ckXYDjYMDL+;hB*jEs~WwU6>N8aoY z-lFFN6$iLKQeig;cV$}eCU1Wo&nTu}ZbGD9;*BY(XG%$7x%FA_k(xW-07kuQ zIf7**##;!gNzc*?nuK!a3H>E7DQAL7xe{Ea;O#MXJwPxY0$h4FsOJj?QtbS+yfhtS zOxG9dW8V57jp6#O80Hp{wEi_0yPCM?9~y!yE`bYzpHwU0Jn@r@_{q%uTmiEMQ-#;S z6Do~hDwnwu(jer@tW>y&Y;(e8q;uM0E^5}2%a6X~MJXf1;KH7bdQqCh*SsiQ;&CrB zOMKUhawLA}Mfnozedt+SAqAgN@O1?zVMrA!!)LaT)(PISRFZpRwZ96@c|*8N){Yp&{&C)D2J%yJH=5O% GpZpDot{I8| delta 2761 zcmb`IYitx%6vyZ6lWhxhv|W}y_x1s;sDNmlt=&x@KtbsXOKXD_q%B|}h7b~HBD9gj zO%qL#QMTZt+amZ#u;RuHHX_AI>28_Je%cQv5LR4>T~Ri{NLZxx&g{<4G@z-8A2$2D z|G9V0oOA!@-kzS+o}Sc0`zitq-M9`>2Z5T40}Nk88Ng3Bu0>Q2P+Foy9sViWI-hRb zs-8qQw#dVGzkOfRe8*D{SG0u!&7KqVP3_#~Sbh_GXnLLCIZX$(`|sphNLsjx#E?sYqKVV~Qf51R%Z2DTt?|5_5)_z7LS0?L6WTzx`e=ShXfKULWH zxx&?7$jpZGR*{S>2h=%PcB!+nY(c8LER9H&nPoLnm1Q1M za%8{EFC*W;Pv#<{n|8(v8y}9(92y5>Wsg6to;h^R9FET%8i!`CRS!)haBS?^U9dz0 zJp1vYg)rhdv#884S77M%ThYx+U?e;4fhT%2h}g|}i7U!L6csnz%9?0C-V`ms&1f;k z0z0&{3j|Nrvh9ZCF2u;KA+yvl}0a>Y4^mtm$D?_+D3?3`UpWXeF*nI`!+O868TZ?+i@MOL1% z-ot@u^bXt0^obGmete|q7T?9@+ZJ1$HWZkKBuX?3HANcGOp(SylvhGNF|c3R zbYGX}^yo@$xPi?ZZLG<~&@q5m;{KxNMQ!cF5MHyb}X}Zv>gMcSEVSlEZZ1BJY>;&_)xYq|KAd8aFVF>5q zuoe5zaW6zD^GmXlw2m*4+(TCD$!bwOr64C` zH-pa0%%F=31{A!i;G}}L6}+#Y(U%BEE10QZVFDe7;FQl*Q30jg27tFT@ELbm3*YJC zG3T*)c>3|*{7zhcSx6*J8{TG&jXA2eE4C{`4CrI19rWu z=TX?6C2ix~gz*{NOF5>3RoF`U$i+0laya5DNrQo0a>%{B1^bpoZrH7Q@{!kvgE#1f zZD^^FM8yL4M;hz}@vck{UgsUJ;yLB?3vGzhOS&;-b)=FMmTSm{_q5!(jbJvqN)fCe zFe#+&3S_|_;Q$?PKM>IOo zRIc0_NQaOst48G_vdsyXkokk9Xj+PJd`20(Bn zHA6PBNl`Pj!h*P8ue6DNP2P$&3zA>C4_|`4$;6gv?T|f=TKhXQ&;>Ps4@UwOJqh4NR97 Ag#Z8m diff --git a/bin/PandorasBlocks.sym b/bin/PandorasBlocks.sym index 5842ee1..4af3d4d 100644 --- a/bin/PandorasBlocks.sym +++ b/bin/PandorasBlocks.sym @@ -387,37 +387,37 @@ 00:37db SetProgress.wvr_u9 00:37e7 SetProgress.wvr_u10 00:37ef Main -00:3818 Main.notgbc -00:3827 Main.wvr_u1 -00:3857 EventLoop -00:3870 EventLoop.eventloopjumps -00:3879 EventLoopPostHandler -00:387b EventLoopPostHandler.wvb_u2 -00:388d EventLoopPostHandler.vblankjumps -00:3896 GradeInit -00:389f UpdateGrade -00:38a8 DecayGradeProcess -00:38b1 DecayGradeDelay -00:38ba TGM3REGRETHandler -00:38c3 TGM3COOLHandler -00:38cc UnsafeMemCopy -00:38d5 SafeMemCopy -00:38d5 SafeMemCopy.wvr_u1 -00:38e4 UnsafeMemSet -00:38ec SafeMemSet -00:38ec SafeMemSet.wvr_u2 -00:38fa SwitchToGameplay -00:3903 SwitchToGameplayBig -00:390c GamePlayEventLoopHandler -00:3916 GamePlayBigEventLoopHandler -00:3920 EnableScreenSquish -00:393a DisableScreenSquish -00:3945 CopyOAMHandler -00:3951 ClearOAM -00:3967 DoIntroEffect -00:3978 BankingInit -00:3987 OAMDMA -00:3991 OAMDMAEnd +00:381c Main.notgbc +00:382b Main.wvr_u1 +00:385b EventLoop +00:3874 EventLoop.eventloopjumps +00:387d EventLoopPostHandler +00:387f EventLoopPostHandler.wvb_u2 +00:3891 EventLoopPostHandler.vblankjumps +00:389a GradeInit +00:38a3 UpdateGrade +00:38ac DecayGradeProcess +00:38b5 DecayGradeDelay +00:38be TGM3REGRETHandler +00:38c7 TGM3COOLHandler +00:38d0 UnsafeMemCopy +00:38d9 SafeMemCopy +00:38d9 SafeMemCopy.wvr_u1 +00:38e8 UnsafeMemSet +00:38f0 SafeMemSet +00:38f0 SafeMemSet.wvr_u2 +00:38fe SwitchToGameplay +00:3907 SwitchToGameplayBig +00:3910 GamePlayEventLoopHandler +00:391a GamePlayBigEventLoopHandler +00:3924 EnableScreenSquish +00:393e DisableScreenSquish +00:3949 CopyOAMHandler +00:3955 ClearOAM +00:396b DoIntroEffect +00:397c BankingInit +00:398b OAMDMA +00:3995 OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData diff --git a/src/main.asm b/src/main.asm index c404cf2..45e2460 100644 --- a/src/main.asm +++ b/src/main.asm @@ -71,6 +71,8 @@ Main:: ld a, [wInitialA] cp a, $11 jr nz, .notgbc + ld a, P1F_GET_NONE + ldh [rP1], a ld a, KEY1F_PREPARE ldh [rKEY1], a stop