From a4c16d5fd1b390fcf1d9e3f11d391ce18a92f349 Mon Sep 17 00:00:00 2001 From: pkali Date: Tue, 3 Dec 2024 02:26:49 -0500 Subject: [PATCH] normal DL, no VSCROL shenanigans --- averybreakout.asm | 49 ++++++++++++++++++++++++++++++++++------------ averybreakout.xex | Bin 5014 -> 4728 bytes 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/averybreakout.asm b/averybreakout.asm index f411782..7ba80d9 100644 --- a/averybreakout.asm +++ b/averybreakout.asm @@ -7,8 +7,9 @@ icl 'lib/ATARISYS.ASM' icl 'lib/MACRO.ASM' -display=$a000 +display = $a000 screenWidth = 80 ;in pixels +screenBytes = screenWidth/2 ; in bytes maxLines = 55 ; number of lines on the screen (must be odd) spawnProbability = (256*1/5) margin = 2 ; top and bottom screen safety margin @@ -16,7 +17,7 @@ racquetPosMin = $2 ; min position of the paddle moved by the user racquetPosMax = screenWidth-8 ; max position of the paddle moved by the user racquetSize = 10 maxSpeed = 2 ; maximum speed of a ball. must be power of 2 ('and #' used) -maxBalls = 100 ; maximum number of moving balls, <$80 (bpl used!) +maxBalls = 40 ; maximum number of moving balls, <$80 (bpl used!) maxMemory = 7 ; number of saved pixel positions ; Beware! For easier calc somewhere it uses "modulo maxMemory" ; calculations and therefore this value must be a power of 2 -1 (?)! @@ -38,17 +39,21 @@ maxBrickLines = 14 ; maximum number of lines of bricks to be eradicated org $2000 ;--------------------------------------------------- dl - .by $20 - dta $42,a(statusBuffer) - .by $80+$50 - dta $4f+$20,a(display) ;VSCROLL - :((maxlines-1)/2) dta a($2f8f) - + .by SKIP3 + dta MODE2+LMS,a(statusBuffer) + ;.by $80+$50 # fancy shmancy vscroll square pixels + ;dta $4f+$20,a(display) ;VSCROLL + ;:((maxlines-1)/2) dta a($2f8f) + ;.by SKIP1+DLII + .rept (maxlines-1), # + dta MODEF+LMS+DLII, a(display+screenBytes*:1) + :3 dta MODEF+LMS, a(display+screenBytes*:1) + .endr ;---- - .by $42+$10 ;Hscroll + .by MODE2+LMS+SCH ;Hscroll DLracquetAddr0 .wo racquetDisp - .by $41 + .by JVB .wo dl ;--------------------------------------------------- racquetDisp @@ -117,8 +122,6 @@ jNotRight JNotFire */ - - lda racquetPos sec @@ -156,6 +159,7 @@ JNotFire ;-------------------------------------------------- DLI +/* # fancy shmancy vscroll screen shenanigangs to get the square pixels sta DLI_A stx DLI_X mva #$80 PRIOR @@ -180,6 +184,27 @@ DLI ldx DLI_X lda DLI_A rti +*/ + sta DLI_A + ;stx DLI_X + mva #$80 PRIOR + + ;ldx dliCount + + ;txa + ;asl + ;asl + ;lda brickcolorTab,x + lda VCOUNT + asl + asl + sta COLBAK + + ;inx + ;stx dliCount + ;ldx DLI_X + lda DLI_A + rti ;-------------------------------------------------- main jsr initialize diff --git a/averybreakout.xex b/averybreakout.xex index ff426242ebabc9c34ee21ddd519a3b2b9af203c1..198c0c68a1adfef8502e402bc994d1f1f1b1ab98 100644 GIT binary patch literal 4728 zcmeH|U2Gd!6@bTfYC8^Xrj-DZ#Di%YsgV}8 z+DcGRh3v$WI6t?UhEURtMsgfq+Y^}GMCwEL!BTnHRUDDt5%ghKEGVFDl_E9r3vJr6 zDrd&Nj#G;0^U|YF*Z16W?m6fFjUPVb1m9kv>xM|V3}R3@gBY|ogBbK|1~F(RgBWxv zgBY}uK@1w4MGP99MGSgs7BQ$cix~9EEMm~rS;V0JEMm}(EMm}OS;U};EMm}N7BQ%m zMGU%;MGPv;AqG7-hZywq9AePvImDn>=MaOg%^?QmbBI9?mGfhzT-5T!3ZYU{R85rjM%85LXjC02or|i2rIQhLxHKM7 z)1}K1b)@uBL>(=4DZzeM*=M;8PVZ9YOCd$oO3x|kh0^niI$3&2QGb;iTb!I<)Ks;* zSUS|HPL&RQTm3ar!>;+osm|k(3sXUo=o?lOB-xi%lR+}jH=+)Z!M;&-kPMdH3p)=O z+>H@+1lmz`)bKdNFKS2HW;%T4vli@?C-$>8aE&Z{4tD33hlgU`OD_0={mt;R8!X?` z+Q?XLV(HRKG&L~~rRJhBZ)j`WZ$R86OE;_zL%Ot@hIC07KBPHSY!3I>!`;RF;O3I@ zDUuAktlf)K>Ug;InIFK)$auI?PE|wAk#IZM~ix^k83_cbpmrADsljHXZ95_?T$_Go#SfZpJz-&$XV;Yq3t~Ztnpt zb}2+sWta7GZlcol?n*Rm@2v~=mL&A1C`syjqhvro8YP4Jxu_ZVBkwaF>f;e>8#s+e zU_d_^f$m36_i`jZmK!6<3mO@`F!{I$WElKO8m5vF{c?ni!p!%_Iy|woly$+KF7w*G zTY;69>)Hco79K2H|7e@xgIV|EZDgV>!vQ3vYqv%7wpivXJ2P@>qP7mNrMFWaHa zun+IDV6oYkm#t4?-wcri9Q?qRgHOQ02NtJl#~z1X^_=4bZhd}e)3@>7$Fts{i}{O> zeKWtYAI##UIwbr#^!`Qu!}xlOWVT4IPtx{TA#+1q z@k`oQtS_4P#Fb`AYqxfp_r;Zfq)C?Fd?2p0NZPY;(<|XSBE-gbMM#J@M5qGa6QMMG zUxa$`12JxJ^E#K&xmlgd>fD^p<#dkdTwdo2I#*n?{vOYG-#sQ@IxMI8yYMwi-Auu? z@>@-YOHG04uzczFZZN(5ec60X#?ZbhJ~WJIERu({72{#Uab?*kj|a2o>t znmcnUD;ZbEIrn*&8}GPo+`%Emh~noIV+Vd-F}mUleop_Y5`?cF z47{MghYtq6rL3)btq-%@C_D} zT*0wU!-IP|DtSi= zRVfyW%BMprt(?p4Y1-!X`8i(bi1x-$Ct54^EqN+Wci`y`{6Fu&nW$H{fymtLRoeH&HW4M-__M9HUIzs literal 5014 zcmeHJUrbY17(ZoQqeJ7orMYzRLjvu%}Ls|>rT?4-E@*qdRqHCdi!NUDq~uW zgLG;&h2&F4BvWsH=hix@z0<~g_07b`{PjWNx3Px$7Sg~P>qDfGHO9?-t2T3VtA(_{ z7$PBVNvgNVyX~jSGSm$^@Mm#v%?HA9PYzgKlkKdvr){+R zUP)71FQghMaeuXO;l8iHzW%?%HIrrt7bHOl=LdC_oXp~}dY7TDj71wCA1T_z{E|t} z>F*>*rL1*t!pYcCDG~Q2ED+57Wq#6-Shsu5kQKKk4Upc;vf;sk!Y&pP?3aVGupl+} zyUA4NgM)0V4+=@ACzbzP1e+DiJI)ih$Zr1`5#P0|RSw;9wc2sD$^p|A)gZawwzH4c%dD}zW3e4rGx)P0EM+a=&O)&AN^6J+ z`5_E_56ASo_EUl_VqV|s##(ZFNhC+pr5Ne>*49$&O)P8bc- z-$4TSjQz@S;f7~M!>Wekxq1Z`sD@`ousULhFM&9MXNIvlY=|O=!+2&0t3!sE4dM`< z8N}+KAzDEk#4`if!-YtiGJwZ~-#uy!j}KtkrI)E3j}KzGR2S7=JU)cwVtuW89*+-W z*`cpiFW~VJEN|4Us*1-oEN}3r1DM8)y(u>W(q1DAdfrHlUNG{dDuhD43JNRejDjKx zI;)@_1u+Fh6?9HPv1$D$PdI&Wz1W>C28CbYHEO!u1Z8E_)3}K=fhk+;{=y8V&(?|R zT9LxIMx<*+HCLo-L^VgGxuR+lX^yC7i_|6_%N9K=&1vb@%;k?hh$DK*jIR{%kLf79 z4df)=QowWQX^eXc@T{nonx#LMnrSK6XqlN~`l30U8_DCBjw16hlbNoZ;5BsA$zPz? zoP0UG?&M|krZa+UaCP1~CGLb5&x;h@X@ge}6yG`F;RD4F&gsc?{YC_Zpedkup>&~e zp=_Z&pgEv5pfTXtoSv-HZ_>LZV|YuOvVnEo5yd9dr!w6NI|?EC&-?6uDZT(0mO&Lk0;!`UQy zl3;U)CUI^Ku~^LYY#@<^OlC{klJpEK5^!00jpv{*D`EVLNg>5Rih&dZDF#vuq!>ss lkYeCjV&Kr;G&oM(k>vQ1G1k7bfB#`)@|2h~|7b4H`wQuE*-QWc