From 5ecfdbee192fcbaaa84c767100cd3c365b5a1417 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 31 Oct 2018 12:52:28 -0400 Subject: [PATCH] vapor_lock: update all demos with the improved code --- fireworks/fireworks.dsk | Bin 143360 -> 143360 bytes fireworks/vapor_lock.s | 38 ++++-- kfest2018/Makefile | 2 +- kfest2018/delay_a.s | 25 ++++ kfest2018/raster.s | 7 ++ kfest2018/vapor_lock.s | 238 ++++++++++++++++++++++++++++++++++++++ space_bars/space_bars.dsk | Bin 143360 -> 143360 bytes split_screen/split.dsk | Bin 143360 -> 143360 bytes split_screen/vapor_lock.s | 38 ++++-- waterfall/vapor_lock.s | 38 ++++-- waterfall/waterfall.dsk | Bin 143360 -> 143360 bytes 11 files changed, 361 insertions(+), 25 deletions(-) create mode 100644 kfest2018/delay_a.s create mode 100644 kfest2018/vapor_lock.s diff --git a/fireworks/fireworks.dsk b/fireworks/fireworks.dsk index d47092c587033c039b42b71daac0e90c24678a55..702490ca5b9f76a51ed2226712f531a84426a6b1 100644 GIT binary patch delta 264 zcmWNLF-yZx6oqqM6HQ}U-zI9(dr`5AVB;X2+yxg0!7)S^i%WljU9!4lc(dS=L2(e@ z+KLEnt`1@cC!rEU6~u}@IGm63O{X_>dnVUtNwA6}PE;&mt1Ahq?<6{PkXk1!33k*A zp`p8k>@ky`8xTlPg>0H3pK4U6S+*D~xWaY@?3cd#lYApR z$OF|FV6OU+uI547M+L+hhC4AxW6i>6uRrbumx0^5cp7x~} F(?55(RfYfn delta 191 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 delta 3451 zcmeHJUu+ab7@u!;_HJ+g-0t=6_Ih&c?bV)X%K{fe&_E2*RG`TL2QicwqFk|&V&a1j zJgBkwu!cyC;52L#NxYn1WfL^@F7^U3ra>hZqh63i)M)BUpQNJY0YjnAUTI4a@WB{} zVK%!v-}n7yCiBhr{pQ;@ChQv%3K^=2gpyoK#d=~414lz^e`6}X0#8bSIUfb_k8(i< zA181DPGsUlxn1Ufb3&V8vb;_P`tbS{I4nByDrkQ|M>^VPS>vNuU*Qb5Zg@K9&3v?&W+hu-2L`c zDQ{1*U0pO$xUi@QGf*}uTc8f14ARXYMjcYx*_v$CE=YA##-7SP6{>f4*i$YVpY$F# zG>4|ob?S2HRKAqY@Pqm6!4N&z8DWay56jr{C@`;&%r=r1l|m zUc=p>8N3Wy`2`u;dCYS>;d$Q2`+0#6@FFkqGOzGKUL}YC!Gt4(@We;_L?8ho5{bw} zAwi;Yhy{grvXv^VhG~U{_IJ?40lAuc4TjV=a~2D*b5JEO!IUz58Hn~yAPto4vZ|TY zP*aL;gBOW+og@3^-S*Fp>@Ny8xVFC-nA5OxhQ^)&d!Xd>BHI~#tQIN_jA}Kt9`r2u zvl|-Nf%m#B!p3{YdkfDO{imb#Ff(5d7x?1P^)YwEAqgB6QLM3N(!P2eVsy>M2XR-} z=}O@B5{lU^OlP;ch#oj*;QJ!ZXacW*2>m@9aT*rmqkX1nwz2n?ZP|-aB>02}Z;Rf6P% zo(4}Qb-I)Sk|;^DbcrQ}btfyZPJ#wW6_E%c7CDiKyyz4CRDN$K_DfWLvCRoL;Qtpl zQu1?Kb=jA2MlFA@;1H(}g;#uvUlEjmA}VaxKW3bh8a%>$x7Xv2B}&!$0nVz$3&e9L zatn%WCS5 y6agMR+$#d^#v)*=@OM%;7o4GjU<#+W6iM+ZU&@~n9Jvv%m}Le|tCA)>rThgqF*W%B diff --git a/split_screen/vapor_lock.s b/split_screen/vapor_lock.s index b6bba96a..dfaf8247 100644 --- a/split_screen/vapor_lock.s +++ b/split_screen/vapor_lock.s @@ -48,15 +48,15 @@ vapor_lock: lda #$dd ldy #40 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make bottom half yellow $dd lda #$aa ldy #24 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make middle grey2 $aa lda #$ee ldy #10 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make top half aqua $ee ; set up a rainbow to aid in exact lock @@ -149,6 +149,11 @@ qloop: ; 6 17 28 39, clock at 40 + + +;btt: +; jmp btt + ; In theory near end of line 104 ; now skip ahead 8 lines and read from the rainbow pattern we set @@ -158,15 +163,32 @@ qloop: ; we back off a few to make sure we're not in the horiz blank ; try to delay 510 - lda #230 ; 2 - jsr delay_a ; delay 25+230 = 255 + ; *NOTE* sometimes we end up going one (or rarely, two??) lines too far + ; so instead try going 7 lines ahead, and if still dd then one more - lda #226 ; 2 - jsr delay_a ; delay 25+226 = 251 + ; so single step until we get a rainbow color + + ; go to next line, -10 + lda #28 ; 2 + jsr delay_a ; delay 25+28 = 53 + ; total delay = 55 + +vl_try_again: + lda #29 ; 2 + jsr delay_a ; delay 25+29 = 54 + ; total delay = 56 + + + + lda $C051 ; 4 + cmp #$dd ; 2 + beq vl_try_again ; 3 + ; -1 ; now near end of line 112 - + ;lda $0 ; nop to match old code ; 3 +; nop ; nop to match old code ; 2 lda $C051 ; 4 ;kbb: diff --git a/waterfall/vapor_lock.s b/waterfall/vapor_lock.s index b6bba96a..dfaf8247 100644 --- a/waterfall/vapor_lock.s +++ b/waterfall/vapor_lock.s @@ -48,15 +48,15 @@ vapor_lock: lda #$dd ldy #40 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make bottom half yellow $dd lda #$aa ldy #24 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make middle grey2 $aa lda #$ee ldy #10 - jsr clear_page_loop ; make top half grey2 $aa + jsr clear_page_loop ; make top half aqua $ee ; set up a rainbow to aid in exact lock @@ -149,6 +149,11 @@ qloop: ; 6 17 28 39, clock at 40 + + +;btt: +; jmp btt + ; In theory near end of line 104 ; now skip ahead 8 lines and read from the rainbow pattern we set @@ -158,15 +163,32 @@ qloop: ; we back off a few to make sure we're not in the horiz blank ; try to delay 510 - lda #230 ; 2 - jsr delay_a ; delay 25+230 = 255 + ; *NOTE* sometimes we end up going one (or rarely, two??) lines too far + ; so instead try going 7 lines ahead, and if still dd then one more - lda #226 ; 2 - jsr delay_a ; delay 25+226 = 251 + ; so single step until we get a rainbow color + + ; go to next line, -10 + lda #28 ; 2 + jsr delay_a ; delay 25+28 = 53 + ; total delay = 55 + +vl_try_again: + lda #29 ; 2 + jsr delay_a ; delay 25+29 = 54 + ; total delay = 56 + + + + lda $C051 ; 4 + cmp #$dd ; 2 + beq vl_try_again ; 3 + ; -1 ; now near end of line 112 - + ;lda $0 ; nop to match old code ; 3 +; nop ; nop to match old code ; 2 lda $C051 ; 4 ;kbb: diff --git a/waterfall/waterfall.dsk b/waterfall/waterfall.dsk index f6aac8b5c64eabf644de3d6f32d9f256e585f0e2..66583280283aa0052e946fb28246299f8b9047d7 100644 GIT binary patch delta 2631 zcmd7TUq};i902frcQ?JQUv{U>T)N-yc3Wz&oS`lW%an>nd#IQd_~J`ZZ$0(uOcp+9 zWy5|C5*ST+iYo1uoeZQb{zG(|ES0Ap`uL^5r}553WX8 zqPrsdwqaDcIKw>NA5xKdyrhh6Z`czZPTK{rIoa~?T4T$cvB>5wz+{9u>G(0|e0VkPWBq-} ziO;rY`Mvw(?o6ZBkZF>?N%CNghBCV~SEiXo8a2EcrTs%dJfWge46}0?%3pyR+PngI z#~Eo#R-?(|(gG9&wmfSj%@9o{AV4p#K$MOr;C*(wEtM60?T`3&zd!@0-~c^63d6Ne zC2dJ06`=eObk~*Q{bl$_vGE_^b%qaeSu`Ejd(!~$OV-TaYog`IImEH(5J%o2j)Ef` z69^pOsOBh$5OWK~><2}uFkex{96cyPExjZ{mpLGF5cTIGoUZ~ejS-NcRzE>tI(O>^ zpbiY!jXBI?53azKSioNF!&@-ITX7ZMMqC7ln{b3D9#TOni9o!>NA#XFyoKL*27`*L z`r3^27^>^eEss5sE=)DuUi7>WzYeG^@;zx}MEqjDxH@#tFue9|@b|X%WKvXEYyF%5 W1eic>2mJIwjv~=15ZMV3iTe(Mih@W0 delta 1763 zcmdT^O=uHA6wXUFahmKVv#q6VsL8fb+tgyMmF-0+Z7hV6g9#Oa6}uox4_>TS4^>(y zh^0D|!9Z~v2-sU;51|J`KoBb^1@YcqdRSBfIrsxoCx3Of*%0*R&a%9H^Sz(%y*IP4 zhZgpbx7K`D|(oILLD2FbN)g@LE2D*+a6H-mMZJbctnyCdKOv$$B%)?!VUg3m-CP=>Y9 zog|30y>en=1pJNmiV;{df&ZPwe5e77YQD!RFVfj%mpuYfqiSk+aQ-)pKM#jy%zs*}o*#Zm_NqyVXa3 zMc}ciKy@T66;?wx-`{|hVdxC3s-jhW++mexT#sg#3DxnnsQR&C?6f!z=`d>`eHw-P z?5;~_+-1a3zQ7K(WH{8b=%ctPs-4m&62Ipsi^E-}Q{Gj%hNh;bUgne#yYrnm`9`