From bd67d662b93cb187141f032e18b76fcce2edeff5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 4 Dec 2024 19:02:20 +0100 Subject: [PATCH] Prepare for Start Screen --- averybreakout.asm | 40 +++++++++++++++++++++++++++++++--------- averybreakout.xex | Bin 5968 -> 6014 bytes 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/averybreakout.asm b/averybreakout.asm index be77954..0feff71 100644 --- a/averybreakout.asm +++ b/averybreakout.asm @@ -222,8 +222,15 @@ JNotFire main ;-------------------------------------------------- jsr initialize - mva #$0 AutoPlay + jsr StartScreen + mva #$0 AutoPlay + jsr ScoreClear + mva #"9" Lives + jsr clearscreen + mva #$0 LevelType + jsr initialize.ClearTables + jsr BuildLevelFromBuffer gameloop jsr PlayLevel bit EndLevelFlag ; reason for end level @@ -246,6 +253,24 @@ gameOver sta COLPM0 jmp @- +;-------------------------------------------------- +.proc StartScreen +;-------------------------------------------------- + mva #$ff AutoPlay + sta LevelType ; Title + mva #"9" Lives + jsr clearscreen + jsr BuildLevelFromBuffer +StartLoop + jsr PlayLevel + bit EndLevelFlag ; reason for end level + bmi EndOfStartScreen + ; end of level (level up) + jsr NextLevel + jmp StartLoop +EndOfStartScreen + rts +.endp ;-------------------------------------------------- .proc NextLive ;-------------------------------------------------- @@ -274,7 +299,6 @@ levelTitle jsr clearscreen jsr BuildLevelFromBuffer jsr initialize.ClearTables - jsr cyclecolorsReset rts ; start level level000 mva #1 LevelType ; switch to files @@ -741,12 +765,15 @@ endOfBallzLoop bit AutoPlay bpl NoAuto pause 2 ;additional pause if auto play mode + lda CONSOL + and #%00000001 ; START + beq LevelOver ; Start pressed in Auto Play - exit NoAuto lda eXistenZstackPtr cmp #maxBalls jne loop - +LevelOver ; level over mva #$ff EndLevelFlag rts @@ -1050,12 +1077,6 @@ brickcolorTab mva #$7C COLBAKS mva #0 dliCount - jsr ScoreClear - mva #"9" Lives - jsr clearscreen - ;jsr drawBricks - mva #$0 LevelType - jsr BuildLevelFromBuffer lda dmactls and #$fc @@ -1394,6 +1415,7 @@ LevelDataEnd bcc BricksOK ; if defined bricks number is bigger tan real mwa temp BricksInLevel ; set to real brick number BricksOK + jsr cyclecolorsReset rts LevelDataError ; errer in data - set level to o (internal) and draw level diff --git a/averybreakout.xex b/averybreakout.xex index e8a0accdc6fedd3d0ad9a2aa2f6f45282292f92e..650899fab0eb908e907514e59e38dbf095af2851 100644 GIT binary patch delta 1774 zcmc&!U2NM_6poW7ZPTqY)5J1RHLK0mI0~(kjt*@Mu}j?C6^k)3Av7UjA&_XLJs@~O zNJ-P)HFay6#>svJmZoT~>Pp^-#sjOcG$abR(kipVO+NzC>$Pd7N3M(hh*vfcC z!Vkyi+EXhzl?;hJ~vgi`90c+HTQKfQi>) z=FNx^JkK`D>utdw)>nuMiGQO!mfao}k4Hu(&s^YhBa^dCPgFGaASb;Zu-}L>A4Q>V zE#nj`>J*@qy=D(mIkZ6E7E)oolZ-RJM5f2hS>E;u=}t4qlZ=_*$&h(~Cs{MglVNi( zNk+{=lH|;}BpEZWB#C5V92%gkM%$}ZCK6nz&PEguc(Ej?T1B$Bn+s7 zNpP>Y?p$(u{KU96G?mwerwWfDJnuqiqmZEGAXghx=aQNPso#!sKH>dvnKD`~T6F&I zjo`VKi}__RpD!=iKZjL%v%)ln(#B?+rJQDM(uzO}2SIf*kHm7{g8iq^)d|vtNXzuk zOlKc)3G8HmonWQ-fEy9KIvJt{tWO_$wDuwIz?4`H96CCEbhT(U)Kue&=2%TJl>#}$ zoKe1Myyov^k9D)k$)+b?>t>IA?ak4*Pd>{U+gKTF4=ZnDjRY(AutuDf6Rg3pa-21~ zS(#%$>1M@NZ$qFdxaPsn1IIY)Wqyk2AIsl^a>-{(v^kvqLylpcmwT|jLEeG&l)M|4 zJt5fLKtz28gQ^ES>NXq#Wy8Qu4BLbOgs)!?*guv%67UIaho(czq2a(R@CvK~r*Ji{ zUyj(9bHMe%4%6_y?sOfQcfY=Cu0OR7i#Dc zfYlR#x>_A8P!Zy}q*zTLBY~_P_C}qP6Q~+TM!Xg_K^R9>4!IA*K5j2O0UT0y)t&(T z7Afi+DIHIHj!qSqine#Dq?IgWH)utRvu`r}9ZYKnx0Z=@a19WMXLHUS_ZeIDj<~oX zt_8pj1K1Ja_o&_sZmjMug4;!o9QRD5&;&-6!%K&u%n@s?^Q-l#^NJO8`peDYrGDfD z7U(+y6>CkQE?m1qq-bD7O7*yILt61*3PEGE(m{-%HzBDW=Y3U-g!|EnzDE_}PS8q# zn5o!epR%_F3w?+V)DJl_!qhq*gAu>$LGNF+=iJ_Jw@*Ud`I7C2Jlz9FsA8%F$j@)+7cLs#1|9$ zaC&~9`#qm?&XXRi$GNd#73x#M_{4sKbKg1gBvE z6zTy1*b6l_Efl5~rs>#hhEB}Ry(|Nr1b>=@P&%ci1)5Ub7la?D!>rV&^fl~?ad}2> zyk>eckM4MWZoHOx4CLJ7CF>75V{BeGz}3NvQka~=vFE;rU!ePG*(d8QCjKG_n8Ez3^^ zw215!wUXQmAG1*1sa7=Y~=wW%(VgAD>jvj|HBiXGzZn=b3uye$Pt10sM2 zpaCcX=72ch4QRs(-oA;f8}dSADWw*GSdU&j3>qTJL->Y6ouxR9n}gO`X`GIm+pIg< zH?j|Ftn9~dBA|wbAg$I5SvSwk22=z&Ekw%>tUIvTXSHf!*@4R}*4e7)29d>O2G?%T zN8v+oYZ$DyRBw%TiDb1f$<6Puot({OdqDY$SW#2tsY z6Vla?_8YKWb#@-u9&%#dmiFPa9~Y08jzh*1W^?7f`Bmiu(^DDDZ@IAxS6oZphtf*d zRv+&1R~Lz7bw4J#x?HCm%^vY#xz~qj?uZ{l8@NPqR|5f?({%ym~zX7hQ_89;G