From 75703ec3d0e9dba45d00ae2565dadc8b86d5235e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 4 Dec 2024 13:57:36 +0100 Subject: [PATCH] Atari and PC LF/CR in level files --- averybreakout.asm | 64 +++++++++++++++++++++++++++----------------- averybreakout.xex | Bin 5912 -> 5939 bytes levels/LEVEL001.DAT | 1 + levels/LEVEL002.DAT | 1 + levels/LEVEL003.DAT | 1 + 5 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 levels/LEVEL001.DAT create mode 100644 levels/LEVEL002.DAT create mode 100644 levels/LEVEL003.DAT diff --git a/averybreakout.asm b/averybreakout.asm index a0034f2..0e9ba98 100644 --- a/averybreakout.asm +++ b/averybreakout.asm @@ -7,6 +7,9 @@ icl 'lib/ATARISYS.ASM' icl 'lib/MACRO.ASM' +EOLA = 155 ; Atari EOL code +CR_PC = 13 ; PC CR code +LF_PC = 10 ; PC LF code display = $a000 screenWidth = 80 ;in pixels screenBytes = screenWidth/2 ; in bytes @@ -1261,7 +1264,11 @@ PrepareLevel nextnumber lda (inlevel),y inw inlevel - cmp #155 + cmp #CR_PC ; skip PC CR + beq nextnumber + cmp #EOLA ; Atari LF + beq nextnumber2 + cmp #LF_PC ; PC LF beq nextnumber2 ; check valid characters ldx #9 @@ -1296,15 +1303,20 @@ nextnumber2 cmp #'1' beq singlepixel cmp #'2' - bne LevelDataError + jne LevelDataError doublepixel dec BigBrickFlag ; #$ff singlepixel lda (inlevel),y inw inlevel - cmp #155 + cmp #CR_PC ; skip PC CR + beq singlepixel + cmp #EOLA ; Atari LF + beq makeBricks + cmp #LF_PC ; PC LF bne singlepixel ; make bricks +makeBricks mwa #0 temp mva #margin*2 ypos drawBricksLoopY @@ -1315,7 +1327,11 @@ drawBricksLoop lda (inlevel),y beq LevelDataEnd ; if end of data inw inlevel - cmp #155 + cmp #CR_PC ; skip PC CR + beq drawBricksLoop + cmp #EOLA ; Atari LF + beq EndOfLine + cmp #LF_PC ; PC LF beq EndOfLine ; next line cmp #' ' beq NoBrick ; if no brick @@ -1356,31 +1372,31 @@ LevelDataError ;-------------------------------------------------- ;-------------------------------------------------- Menu_data - .byte '200',155 ; number of bricks in ATASCII - .byte '1',155 ; brick size in pixels + .byte '200',EOLA ; number of bricks in ATASCII + .byte '1',EOLA ; brick size in pixels ; 0 1 2 3 4 5 6 7 ; 01234567890123456789012345678901234567890123456789012345678901234567890123456789 - .byte 155 - .byte ' #### ## ## ####### ###### ## ##',155 - .byte ' ###### ## ## ## ## ## ## ##',155 - .byte ' ## ## ## ## ##### ###### ####',155 - .byte ' ######## #### ## ## ## ##',155 - .byte ' ## ## ## ####### ## ## ##',155 - .byte 155 - .byte ' ##### ###### ####### #### ## ## ###### ## ## ########',155 - .byte ' ## ## ## ## ## ###### ## ## ## ## ## ## ##',155 - .byte ' ##### ###### ##### ## ## #### ## ## ## ## ##',155 - .byte ' ## ## ## ## ## ######## ## ## ## ## ## ## ##',155 - .byte ' ###### ## ## ####### ## ## ## ## ###### ###### ##',155 - .byte 155 + .byte EOLA + .byte ' #### ## ## ####### ###### ## ##',EOLA + .byte ' ###### ## ## ## ## ## ## ##',EOLA + .byte ' ## ## ## ## ##### ###### ####',EOLA + .byte ' ######## #### ## ## ## ##',EOLA + .byte ' ## ## ## ####### ## ## ##',EOLA + .byte EOLA + .byte ' ##### ###### ####### #### ## ## ###### ## ## ########',EOLA + .byte ' ## ## ## ## ## ###### ## ## ## ## ## ## ##',EOLA + .byte ' ##### ###### ##### ## ## #### ## ## ## ## ##',EOLA + .byte ' ## ## ## ## ## ######## ## ## ## ## ## ## ##',EOLA + .byte ' ###### ## ## ####### ## ## ## ## ###### ###### ##',EOLA + .byte EOLA .byte 0 Level000_data - .byte '100',155 ; '952',155 ; number of bricks (pixes) in ATASCII - .byte '2',155 ; brick size in pixels + .byte '100',EOLA ; '952',EOLA ; number of bricks (pixes) in ATASCII + .byte '2',EOLA ; brick size in pixels ; 0 1 2 3 ; 0123456789012345678901234567890123456789 - .byte 155,155,155 - :14 .byte ' ##################################',155 + .byte EOLA,EOLA,EOLA + :14 .byte ' ##################################',EOLA .byte 0 LevelFileBuff LevelFileBuffLen=(screenWidth*maxLines)+20 @@ -1391,7 +1407,7 @@ LevelNumber StartLevelNumber .byte '000' fname - .byte 'D:LEVEL000.DAT',$9b + .byte 'D:LEVEL000.DAT',EOLA ;-------------------------------------------------- BigBrickFlag .byte 0 diff --git a/averybreakout.xex b/averybreakout.xex index 040bc2a274592668aef01d6a0c900a382cc66455..0f6fba23066e5e289770b2aebab57a373fa3ecae 100644 GIT binary patch delta 1374 zcmc&z-)q}e6t*JUsqLll=tjMPSF>!5ofP9H4`v%9yPZ@8da|>`0C?f*>=wUKH?#$XMt=q)_^xJOr_~JrvqK$PNps#zxywE8ekPnvCsnFg;wp zbEI?5cfRjxHM|{mwA;48*NWpjO&tn;+D}!5x9HD3!AZi027S{JJ|t|?Mny*YJs?$XI7DqJ;@f_vB>G6|+B{B?^tGJui9O-U zvDu|9=r<+Yw#UYwmDI8%9isG?6cHCfgZ>wwk`zLwmNM!1rx)Yg>)jWo-@^#+IBq3d zNT>HLwBJJY78jYu8AC}^EJ;bb3`t83hGe8cmdr{~w(kDP z+b_2zj?o?P5ywD6y1)Rebm0tBTijSA=~9u*mX`n7;l(IR=AnS(pq4C1GYrW~6+v`< zOyz_F=d0AQ@Laz?d5o%k>H(4rwC8;k_Y9L%Y_pa*(FvAL!P0I;e7bT1P-n-Im>{5N zZSLgT)0!r#&bigv>c9H&RmTiv8P5f#wm17fqkxLr6-+ApeNJZiCMRqB15UomKjf-5 zA9R=wO22Sm>ay0m3NTzuUCAzlALFgdA0u4?Z(1zv^&oGIj zCaO1)_NIPbj_^%%)Ijw{Cp-gT105MCQ9nlJN0AReVgpIPcO;gp!h7zQlZO6lAT|^@ zI}{lRTpEhlAxPZHnU7@~|2Idv9efdwT*WJL1XtqUjmWzIM|&^}FpMkfwn7UPETpU$ zD|(+%(FV*vv^Dd6&27f2uDfkyI`_Pf<2$2gTPSS7eM}-O)-8m~y+rTy5%ER~@hwEk zH!K7y`0~BDNFP}!zB5vIax&qv>DI>J;_r;^pUU>;+BLU+DBG}z%d#D30HxM#%8EJp zjNNq;=#2rruof`St)DSOpk2Q71bLl3n9T;phmBMx!ozT>WVke?Jb=(!{l(&)&a zC)FB*IknB;l)A^@v^o{S3#x^|S=G} zP-b}(_!!|EOL*?lk$Q%te3bT-BI1JYxckBRl1K_ZqsbX`USKG7HuJD-Mo!muLv)V;c3vE09h>Xt?F1%4sANmBMIS}no#D|h&fQA}NVvK;J z^~J-zM?H;IZHsI5wSUdyqhT1z3SRWQy|rO~hk{WYW8P$izro5OzQf9&^0!&}0)L0C znq0sT_ewWe2sLh!x~vO=g~sJq4?coi5DQYlBXAV_1UJD;cp3M0 zyxLv^a!1!e5T_j*XCc^$<@vB+Lvke>m9qXFy#In+@m zHt3*62Q^>PPRK#Ng9dHXXb;O{P`1&ag<_3eWV{)C9V~7k>4%}ka#ncF@pQ7K{pJZz zdnTuY6CVF`&;mv5TF$sHoA|#aGGcHA$K@=p$U(ds`RtTj19bj}WLj@fv zm3~Dt_g9-&jc|4B?$5}uZ9DHrK0ZC!LjisG4zbwK5iTbW8V9S3h>0HJdx(@1Is)~s z{6Sr$2Re#;ajLL$$o#xvZ@!?-caOBLYJ0K?i?}RXa2gP|Zc-}7*+-)UnjYhc^<#Yz zMl1Vwkki&jBb>>2=4Sicuw@+~!ZqK}zV4?#Ol!EOZOKDtzLcG0)5hx148^Gym^*@xQu$>)XfQxBdmLVn9Fu diff --git a/levels/LEVEL001.DAT b/levels/LEVEL001.DAT new file mode 100644 index 0000000..ad8ea24 --- /dev/null +++ b/levels/LEVEL001.DAT @@ -0,0 +1 @@ +10›2›› ##› ###› ####› ## ##› ## ##› ##› ##› ##› ##› ####›› \ No newline at end of file diff --git a/levels/LEVEL002.DAT b/levels/LEVEL002.DAT new file mode 100644 index 0000000..0c8f9a4 --- /dev/null +++ b/levels/LEVEL002.DAT @@ -0,0 +1 @@ +10›2›› ####› ## ##› ##› ##› ##› ##› ##› ######›› \ No newline at end of file diff --git a/levels/LEVEL003.DAT b/levels/LEVEL003.DAT new file mode 100644 index 0000000..999b7e7 --- /dev/null +++ b/levels/LEVEL003.DAT @@ -0,0 +1 @@ +10›2›› ####› ## ##› ##› ##› ##› ##› ##› ## ##› ####››› \ No newline at end of file