From 3116bccde457ba1cce57a124ec4ceddb1d46bf41 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Sun, 22 Oct 2023 00:34:55 +0200 Subject: [PATCH] Just for fun. --- DMGTRIS.GB | Bin 32768 -> 32768 bytes src/constants.asm | 4 ++++ src/include/globals.asm | 2 ++ src/main.asm | 4 ++++ src/res/sources/tiles.gbr | Bin 39009 -> 39009 bytes src/res/tiles.inc | 28 ++++++++++++++++++++++++++++ src/state_title.asm | 26 ++++++++++++++++++++++++++ 7 files changed, 64 insertions(+) diff --git a/DMGTRIS.GB b/DMGTRIS.GB index 2bca4eee1f8281f107f7be9accc5880a1fcf1f06..cf965175c61504f1cf64553501e3fe2541338d60 100644 GIT binary patch delta 1871 zcmZXVe@qi+7{}kc{-!^mD(*m;R}k!`h>jm)r9GgVw02XlEzn{%muyDeaGQS+F$4Lb zCX1Q~xh?a@5}Aoa%?2)&4cQ;ERTs)~E(QUqIA52^)aiW5G6liwo-3WQt(V?CpXYhr zANRiB=e@>8y0MX#85{hqvZ{tDF_G1A5j@2y@hT2syA@B}7$3nCrsBwtYuV{eT(r^} zG|pRQLX8w_5EdgrkA$3c0z#emp~>s4$9wDWK4?8AZ1D?aej!pJ#JdHrUl2UPDUUF> zQmFAO5qZ%4{b5VcJdSOJiVz-CW3N>zWOUmFVe3Tru;iDpgSwcty zAx2J`!F^1mSQB{^IKnp4`4Cb=h@~q#iS8Xjqb#=RU z%jGrc_cnGNx1}SLnVXxLnVW7~Y+Y=%S`o5Z?e?ao9%j>$HuioNLR(L@Z`|0N?f&P1l$0=h#BFu&@v{phb&XTFT0P}y(V6RkXEnPYW3=Pxr&xi6has$B&gMc7c$drHi;?9X3NaI z@K`;OKrlv#6pb~Sfc z!lrV*^(C(1(*jY^f3iSS_TMWI)%^ymsOq;_3F$W2KIa_DFvMU0qLoEnFrL+B|??m>c< zgz+e+i8}ePCFR94B~mt#G^XN|(C+i-1pb>V45kv$6f2h|2^|KO7v#mMpDa%Gss$B- zCwLJ>2T_ty9A@T`QBi3&7>gXHzFw+NdVdDN{9I*ZSU6T@Vtb9}BSPFdQ+}`UK-6&d z8hOcpexQ7>a0Ymne_oX?NlTK{5A{4mhQ$c0BLjFiwop7*a%bMR&2S*!t;2GGUgalkibu@?9PV0|pE1OD(SFBkRTmUc>oKXrh zNV2=_Aa_m!tI5MG{7~}z2BctE$-D(7&B%fm`N!Uj%p4cldzLkjeci0)$ze}9owK}V z*UTpXT9lQ)lh}hy!Xa)=YMO03ochtDz6bFm?lc|=!7&r*#PL&b;w$kZJPD_ODnur&cyf%wk3w88F5%2J_VLW8>=F~a?G0@6ZO!-_ Dy{=Ol delta 1559 zcmZXUZ%kWN6u{qmZC_g`WmQ0vQx03WZV%hCrgpqApPq%`k$L zsUKt{gFKfoXM*z+CWhh~wN7X1It|6$7z2#a5py>Man9rtBmai)d0tyL)DQ2z`#a~{ zbI(2Z+~fCiem|!&)%%83ZGD?kreHua*+e|4LJX;Nkj!YHy%l@y~6b5#Qd<1q*K?CQA1wiHfmkOy!44*M8MvG(`f7OCCWCnz@ z0Wwdnk?T|}DC5;LRpz7OrD`kJ?-tw3taixdJft9%z6lA_&_yLpYH&22Ey*@5(vcWA z1Wz&gI~b(W7+FC2xKO-UmVJ1pO0lNO4QLS$>(0jm_^&OV&7qKSL9GM{4ueL=p%mS{ zRv%yjl zHl2=7YQiQ_nSdWC@9W42XZh!-x2mmKN^L;BU!!x9EEwoCnM)>0-0Qj>+*9+oPGfVK zj=03mhG!D9;AF#Tw(qbT>>tAMpOE-v#eb8qLDWU*i*)7KCpJwtu5(Ab;gkl{Kqy?` z3cQD?!~vfK=9A0^)&VbW zV?D64fg!0+0lvA7Q-NOsPD|-M$@5; zc6SuYhp&I#ddqyLm(U)v5*3d%cXBlzG1}a!t??j(ayxn6e5DY*-h=5-h-Y1NC}h*1 zG(|PyEmN##y$|R7@8#tjRbJlv%F9c#j6Bx{P~7a)yUP^QZ;<;<$cRq>1`_dt0q9r#=@(o-Qpf3MZC9@jQ$ac!aj!ir_j z^O+&Wg3qESbF9u2(DUMrF2n?7uZ_*$(ZZUyFpTfXFdA23sDaPC3&{?B$<{Z2b{D!{ zEv#29*jmI!-?K^{LcSbswMAU;Wf@k%(9w}?%fujHTXQ+aC+4;0RcuC4IjMkRinng) z1ag3+--VXNlMS*C4^khKM#FC9D3X^JNa|(YY`tc9uh`Tv>zO^GaIMIsOzX5n~ B>r?;$ diff --git a/src/constants.asm b/src/constants.asm index 8124812..a91308f 100644 --- a/src/constants.asm +++ b/src/constants.asm @@ -89,6 +89,10 @@ sPause:: db " P A U S E" db "P A U S E " db " P A U S E" +sEaster0:: db $D4, $D6, $D8, $DA, $DC +sEaster1:: db $D5, $D7, $D9, $DB, $DD +sEaster2:: db $DE, $E0, $D8, $DA, $DC +sEaster3:: db $DF, $E1, $D9, $DB, $DD sPieceXOffsets:: ; How to draw each piece. X-offsets of the sprites. db 0, 8, 16, 24 ; I db 0, 8, 8, 16 ; Z diff --git a/src/include/globals.asm b/src/include/globals.asm index a55dae9..273faec 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -114,6 +114,8 @@ DEF TITLE_LEVEL EQU $996C DEF TITLE_ROLLS EQU $9A2F DEF FIELD_RNGTELL EQU $9812 DEF FIELD_TOP_LEFT EQU $9800+1 +DEF EASTER_0 EQU $9885 +DEF EASTER_1 EQU $98A5 DEF TILE_FIELD_EMPTY EQU 4 DEF TILE_PIECE_0 EQU 10 DEF TILE_0 EQU 66 diff --git a/src/main.asm b/src/main.asm index 64476f0..402aacd 100644 --- a/src/main.asm +++ b/src/main.asm @@ -28,6 +28,7 @@ INCLUDE "res/title_map.inc" SECTION "High Globals", HRAM hGameState:: ds 1 hSwapAB:: ds 1 +hInitialA:: ds 1 SECTION "Stack", WRAM0 @@ -38,6 +39,9 @@ wStackEnd:: SECTION "Code Entry Point", ROM0 Main:: + ; Load the initial A register. For reasons. + ldh [hInitialA], a + ; Turn off LCD during initialization. wait_vram xor a, a diff --git a/src/res/sources/tiles.gbr b/src/res/sources/tiles.gbr index f6549d3d9a3e592dae13ec316e5998c014679828..ee75eb8ce88a4a5c670a2a10f359dabab03f5191 100644 GIT binary patch delta 621 zcmZ8eOG*Pl6ztb8#JG`&7#9i|3@(H$1U*1Vf*^j-BMbx=exjFfC1S$6g{#Qy+yoDh zL*xkVU0C%xGYfl|uCAA^dNnW0SzONI>6lADTmM%&;rTRMeZ6CSBYM)cqF%cxMlPE?in3%nF*5E zZNN(>w~;8cL6b;M^9Ud1hL>RDLED<6+U-i14A`1k@vs4<6&I|s3x9_vBV$uW^xWj^ z!an#8j(G52O~R4WhH;*?4p~k#dE*Rgp8_ESXTa&t Ru;{&9tQF^zjmGr3@duz@Dg^)l delta 47 zcmaF3f$8A}rU?ejx+)GEje8Xs88;tP=uX*up`)4|NVG6-_MX7U!NDZJ8lIU_k^um} CD-m-5 diff --git a/src/res/tiles.inc b/src/res/tiles.inc index 81af435..7228917 100644 --- a/src/res/tiles.inc +++ b/src/res/tiles.inc @@ -444,6 +444,34 @@ Tiles:: DB $07,$00,$00,$00,$00,$00,$00,$00 DB $07,$00,$04,$00,$06,$00,$04,$00 DB $04,$00,$00,$00,$00,$00,$00,$00 + DB $7C,$7C,$42,$42,$41,$41,$5D,$48 + DB $6E,$4C,$5B,$4A,$79,$49,$00,$00 + DB $68,$58,$58,$68,$68,$58,$48,$78 + DB $48,$78,$48,$78,$78,$78,$00,$00 + DB $7C,$7C,$84,$84,$04,$04,$75,$25 + DB $ED,$65,$B5,$A5,$3D,$25,$00,$00 + DB $2D,$35,$35,$2D,$2D,$35,$25,$3D + DB $24,$3C,$24,$3C,$3C,$3C,$00,$00 + DB $3C,$3C,$42,$42,$81,$81,$BA,$18 + DB $67,$27,$A0,$20,$EF,$2F,$00,$00 + DB $6D,$AA,$A6,$65,$65,$A6,$18,$FF + DB $81,$FF,$42,$7E,$3C,$3C,$00,$00 + DB $3F,$3F,$20,$20,$20,$20,$AE,$A6 + DB $B5,$A5,$2E,$26,$BF,$A0,$00,$00 + DB $B5,$AA,$AE,$B7,$B5,$AD,$A6,$BF + DB $20,$3F,$20,$3F,$3F,$3F,$00,$00 + DB $1F,$1F,$90,$90,$50,$50,$DF,$5E + DB $42,$42,$C3,$42,$83,$82,$00,$00 + DB $82,$83,$43,$42,$42,$C3,$42,$C3 + DB $42,$C3,$82,$83,$03,$03,$00,$00 + DB $01,$01,$02,$02,$04,$04,$0D,$08 + DB $0B,$09,$0D,$09,$0F,$09,$00,$00 + DB $0B,$0D,$0D,$0B,$0B,$0D,$08,$0F + DB $04,$07,$02,$03,$01,$01,$00,$00 + DB $E0,$E0,$10,$10,$08,$08,$D5,$C5 + DB $2D,$25,$3D,$3D,$01,$01,$00,$00 + DB $01,$01,$3D,$3D,$2D,$35,$C5,$FD + DB $08,$F8,$10,$F0,$E0,$E0,$00,$00 TilesEnd:: diff --git a/src/state_title.asm b/src/state_title.asm index 7a0cdd3..d4a66f4 100644 --- a/src/state_title.asm +++ b/src/state_title.asm @@ -38,7 +38,33 @@ SwitchToTitle:: ld bc, TitleScreenTilemapEnd - TitleScreenTilemap call UnsafeMemCopy + ; Little easter egg. + ldh a, [hInitialA] + cp a, $FF + jr nz, :+ + ld de, sEaster0 + ld hl, EASTER_0 + ld bc, 5 + call UnsafeMemCopy + ld de, sEaster1 + ld hl, EASTER_1 + ld bc, 5 + call UnsafeMemCopy + jr .oam + +: cp a, $11 + jr nz, .oam + ld de, sEaster2 + ld hl, EASTER_0 + ld bc, 5 + call UnsafeMemCopy + ld de, sEaster3 + ld hl, EASTER_1 + ld bc, 5 + call UnsafeMemCopy + ; Clear OAM. +.oam call ClearOAM call SetNumberSpritePositions