From 9b5aa7e4d19bbfcbc166cd0e0c733f4481285e4f Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 4 Dec 2024 11:55:53 +0100 Subject: [PATCH] It works! --- averybreakout.asm | 36 ++++++++++++++++++++++++++++++------ averybreakout.xex | Bin 5834 -> 5881 bytes 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/averybreakout.asm b/averybreakout.asm index 8567c3a..75d4c3b 100644 --- a/averybreakout.asm +++ b/averybreakout.asm @@ -550,7 +550,7 @@ NoScoreUp ora BricksInLevel+1 bne NoLevelEnd ; all bricks gone - level ended! - jmp gameOver + jmp GoNextLevel NoLevelEnd ;spawn the new bally ; if there is still an empty slot for a new ball somewhere... @@ -708,6 +708,30 @@ delayLoop dex bne delayLoop jmp endOfBallzLoop +;------------------- +GoNextLevel + lda LevelType + beq level000 + bmi levelTitle + ; load level from disk +loadNext + jsr FileUp + jsr LoadLevelData +levelTitle + jsr clearscreen + jsr BuildLevelFromBuffer + jsr initialize.ClearTables + jsr cyclecolorsReset + jmp NextLive ; start level +level000 + mva #1 LevelType ; switch to files + ; reset file number to 000 + ldx #2 +@ lda StartLevelNumber,x + sta LevelNumber,x + dex + bpl @- + jmp loadNext ;-------------------------------------------------- .proc fatplot ; xpos, ypos (.byte) - pixel position @@ -996,7 +1020,7 @@ brickcolorTab mva #"9" Lives jsr clearscreen ;jsr drawBricks - mva #$ff LevelType + mva #$0 LevelType jsr BuildLevelFromBuffer lda dmactls @@ -1038,7 +1062,7 @@ initLoop1 cpx #maxMemory-1 bne initLoop1 ;snake memory addressess initialized! - +ClearTables ;clear the balleXistenZ (nothing is bouncing!) ;and other tables ldx #0 @@ -1198,7 +1222,7 @@ bget_error beq go_close open_error mva #0 LevelType ; set level to internal 000 - ; reset file number to 001 + ; reset file number to 000 ldx #2 @ lda StartLevelNumber,x sta LevelNumber,x @@ -1353,9 +1377,9 @@ LevelFileBuff LevelFileBuffLen=(screenWidth*maxLines)+20 .ds LevelFileBuffLen ; Buffer for data from the level file LevelNumber - .byte '001' + .byte '000' StartLevelNumber - .byte '001' + .byte '000' fname .byte 'D:LEVEL000.DAT',$9b ;-------------------------------------------------- diff --git a/averybreakout.xex b/averybreakout.xex index 108c805fdad7cbd1007e034863b5247d78fbed1d..c8b4f9987931563f520ae3e1ff9c489097c649c4 100644 GIT binary patch delta 1686 zcmds0T}T{P6yEHd>!+Wcw(swoxc5@_I;;6Jsoq*|?vY-#UaBkzjQVOky?*+$v|w!rKS8RA zD5{qXa}t^#)*AzcRs5|Wrew>x z$C7A!-*q7n8(oAJjR9%Z*46Sy*?f%k`OL`+uyN+>(+0K3bum7gD;8)kiDan?UJ{ zmvrZX4P14DzlxI@T{YpqSfX6*@mH!nWK#8$DKXxx5`ZTUU=ZLLGBs-&N#l_WPEF<~ z4NHD1`$;jFIJUipi;i{oui{51tJC;Qru6p^S<7HDaS$Ku9wuK&W4I-oxRSxto57x; zgGAg~$Y620d1U3N^Gii%w#B%*u_A4`UhZ1KZbx2*krS~PS0e8eWb9=GG`?x1%QUtb zcVOz;gkgs-Sd-%}CYQ&RNiA7G9K3b0@`=s0gim$)%S-BV*IVp%smI+Gw*R*)_-~Ex U?38+rw}m_ZC+pU`weQ$|2SuimU;qFB delta 1631 zcmc&zT}T{P6yASzt!C?s8;Z$L8~1L0WMZKvZ9}=)(Mgu2^r00>U$!NE@F9IR5S>-` zs#(2J_s(jh9gxL4*}HZMOA=`xrnRMktOXfb5c&|wLo4aavM8bf`FD3+(wUOK-RmA_9o`Q2S@xFqljiSKPNRpygEC!b1#hQz2MHH3 zM1)LBmykJaKT;fT;;$}yKp`o6L?NTLsgN;yQz7H_T8vEE+c7d_2NZJ6?p8>~*46N! zyWHS-gv-#?qCKRNIa^c7ygi|ktW8zIR;EkYVrh<$c)?!AM7NjElN={ecd?{<&fR7S z-)F(2ed*aElz61DAAJ{l{z)^_d^GBI4wrN?6Ft53c*+=1_^2_W@G-+w z__(pDSizq|4Pw{WjyZlv+KxfMSc`$#UE4DPiaEV9%}3|w`1pMGe-*;@5_}R4@F_UU zuR%V~7~M<{yszycOLjEzQ>XMx1gb?FXqyAq%lB_M&l0m;JQXjPV+R~T^C@UPSkm`f zPl5%#0trbDY?>1Xx%+&cyItGN2PSTqH~yaNR*< zTv1_q2340J27uW?^Ktzxb1O)kD1Rp*?&V72M zZzE$!usBbbQF?Y?b|7CM!b(lAX}-u#il@qP=g*xnK2~mX{t#bNhJ}~vI9VSLfuO87 z0#*M#2)lp?en3f9G;C?O{HD_`WUArH2)0IQZX>uOxH62BRt{HtWI6A#hp~~t8==Qi zyi;oJlv^b2WT)%{FS$NdeFD7YFl42$FI z&@s8l4TAsx