From 4d54f1f1a7511d1fe6e63610d4e73a46c63373d8 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 3 Feb 2018 23:45:38 -0500 Subject: [PATCH] mockingboard: got ksp theme playing --- mockingboard/mock_test.dsk | Bin 143360 -> 143360 bytes mockingboard/mock_test.s | 95 +++++++++++++++++++++++++++++++++---- 2 files changed, 85 insertions(+), 10 deletions(-) diff --git a/mockingboard/mock_test.dsk b/mockingboard/mock_test.dsk index 4d6cd21a7869b48f8a9947bec7dae9f017e4fc53..b2c0cebde464f6ae81648cc6f701bb1fd9b01f0a 100644 GIT binary patch literal 143360 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
  • $BuYFNs^4 zNK!^6rj z)s|*utOl#mYOXsamJsb(Vj2{r@oo>+)ZmF8stPJm3_TJB8<+!fQ@R)UW^F>J(P# z*8j%`@cREOUh*GDBuoBZok-e$-&tSszxBkD|Es?ElK+PWmi#|Fu;jld{qrpOe=%P2 z|KfDIDJN zz-KXeN(Z+CL0DUpBfTVj&WW%@nfS6yoa*^6&{VqQzczCfF@euNU$(m&BG1ksJ(& zSbBOZ5Z8!=>5*P?@Y!x;U4C3nf^Z#@BfTW95s@5Ph_sl#RrD>UM|#OGx{^DMN0_Hf z5GImcA0_w5=skFPr1xT-i&gCLRrFN`WNXm;NQ-?QCI;giN~}$Tv1Hi3ASJ{01)002 ze`cPp?oW83vpdfn6LfYbnX`#)M}n~ZL=d*01`{IdLg8`}gzJzT=_PTEh~&^hWF{Z> zsuDz3mm*By(U2nIMLL^I;PIX0fX8<-+GG7B2yn;LUWUi&ro>yK_rncMMBY(ARt3PdIM;|gmxQfag0TIY9O)%- zsfpy!LS!x-wi*bcvpWeBcxPiauS4VlpN_L zaUF={&_cx9g-3LPsQ;BPfvp*ei2ZpsnV|mHbM292;^#U?njbln&YX$U`+s3fO4xvO z{=o@9Cyd7lUg&Iuv&qZp<{w~d3a-@9hpz6Qc(VbvBndARolPd_>i%SIJho~nB4hF3 zU;>Ztq%2xbNmuvRygI-|f(fjDo2%Fs?s0eCv*Co^BcD^|uc5`rC$i{rO>Df9>h_;mbj~b~S|RA5Swr-T2g#FN9C= z$ucr=#{6{mGhKVTd!A|R?D$8yEDnk6d3MLH*Y|e5u=gJY!r|;c<9UAt~Z^>=}E=kDFlp0Z#@Ci|Z>Zul-O&+d+n&Yn|boS~I` zZ};BaosG{tpER#gphaoM-Os+z`TQvo3A-T`vpJaxCQ=*)B3ARB#_m08=kwi9?hfyH z^7$QIiD0w?si4-UQveb!<}<$~kKND7|x?I57yb(=r^M4+8Pj|Z> zy9~+ASnOO(j`Wh)xkw}j10oYmaXAUXHA;^3lDG~;axfq=(G-`HAY7y5NH2-&KqQA2 zBGV7)bXCFx9)Tz#x4zCD6L@?l`Qh=MSOQo-38Kpd5GGD%FVV2CmZj6%pDqWkgSyGOY&ldiITPD=1Y!FwInqmF8;3|zM42GhEtCn$1btlu43_jI31{^s33SXMJuSXI zCP*{WfO+jxggvGNX;%h`Fg?;sVk?it8w`lpS-6}8;W{Koddb0Ow~`k<;Bpd#Ym^-6 zC2@_25xJKU-6 zv`i+`kZH^`WtubDOfJ)sY0b1{@|h`__Dn}+YG&F9;|S9T^9XhXH^MT)I>I)BACWS` zKEg4Q9m$QfjI@rljpRqBjI@t*co>htWAvCjW)JJ(JQk1DWApHy6p!8G$l|grS=KCD z7N3=pWzTYqVn!K88Aq8$aic7wtfOqB_)#gN?4ul`Qb(m_Guei0W40;VoXuu)*_Lc; zwk?~_PRX`sJF-)=(@35E>96zldBV-dg-M@COrS4N5V%mfB+xJ2ABYQ+(}kr@;UTB6 z+9|y56plEhdm$t}5U*pxOmn|1bT|dc+12h)-*4{kj>oux16>+&c_RIHI|BWY_}xq( zE>#Hi#|Khj0tJ#0@+nW`Y|!o!w7aB3tTuE= z77|bcfFnSx{y7R75Uc^f5g>*gbqo}3ne$`3D`~rod5M`}m#_@CgkvmAEM9ZH*~`|m zUap?=TIwz3X4PEIs%$x@a^)7)61kAC-}0f;Gp``v-E!19uP-o86fR6hOvEgW5<23eUWLs1`FX9*B#PJ|7|#h?LCQPi3G_9B2^w0&sZnMf*@DC=+naqv--=f-(XA z_|x?aWN}XHRV3&OFBdzImGp|3|7 zi9(gJ`cRiARA5CZz)prWy? zHu!3Fd3mDsWwZm|lNudeD#VEvVb1_X!~;c{I6V{Ce?nN&va-^5Ur6!Vt0j)u;0lfw;CqcMI$&p?X*MUe5 zEktI!;$D#;+AN#beeWa4QntaW5QE!NNENH2*sl1NfS znIQUk=1gGyB=N9*qS3xjvp-=>NX)#X%k>go=#zWrjtTnwAF(R+)+n_<2d`~PMti+g zN$pR<%NbhK+MqPB88IA}f-}KXEtASfhJY=Q>+|{4%&z9VfDLVOBYB>?O@X|S@nAmO z=g#Xk#QxgksI084n-0OMv94PTScQqEnqQg%+98e*Y0uJl4B!H#7OLRg~c zt7Sr48a2VZriqCsGw}5Xd3FF_e#Ns1^F#J_mvOyKdI#KZbY7Qe?@M-bM} zBYLo#g|{X<+4jJzU)%wJJw5?>Ps&xyc|l!Gbe+nR?fk=8KI3igRx}i zrc5IZBaI_XBZt|7*zG2kSQyWbKn#`vf+1F`K%OO`XK1>g7*P$K_*Pi&@t~)>X*n`$!grY^IOR zT+C)JWHZ0yemO}BidxR*__UHwVjbnI!^b)nvkoYBIm`RBTIl!f<*ePO)krU&UCw6v z*zCn@_9QlM5t~=V=E06vJF*ZR%+_;qGC%wxmao#d^6Gfg$(-QRJK|Qa`&O@GpErA- zJNs6*2HknR?(|;wi1}{!{8I>&y3h%i?4+d-)tK{Y;d&*DhX~FR~tyohtGkk$0mgC~FYQ@AW$3S7gT7 zoH(Bu=kw!yD&FbkQ+vIc3op%pQ)3}ppcN8Q%g|B=$&C1|_7IyDVkd`qPl(S5@i}%t4wWE@-IlXLFZyFQ~??drmKhw!(IN32yHpj_3Ch^%-eBL6S_YUkQJpuyhrC+Xh z9GD44#zt(BQADf~$^>PCzIqM1n1NLZ&ZqMMUq6r0nOi7-9V zOXAsVB;H^^dcvO?2)5ZFISR#U%7d zBR`bht}#+OgR~BB*lg&tUx|_Z%=-j9ev){a&VaX=KL13YTq0WV^)hj)=b!qJMTdsP zljfhoiW#Rsddc&CMORKzSpmNCneWzN#(J)NaY23@k1W>-A!s*0nnh_+mL zoD<_*71{R2?Xcgg3H%eWFxT7es@mt8zYlH8(U$YYU65b}O3kiq6G2FzyoxLL*~`mK zzH-yza?`>J)1(Shp=g>Qn!FXJf(p~r3e)5YE?abE$6eV~+7|6|+2wGM%dX-)BIki^ zuU*@^GUKkyDs3ymmdh;XGDR-)AH+~nV<=L2OO+IxdU{>xttK^3309vXAhx$S7?$W z>~e()+;Mx(3QtZbL)tzN1xK{(3jZM#xOnomWUP+r30zqeMkhwYUex+TxJNh4uYUL@q&VoYibD99jZ3D*Oy&Y;0n3&wT6IV zDLi!K+GP-|sR zl^v8VTP%PwBh5qyA&ScrcOm862U-f`04D`dFwBV?wF1)Wf%+mE?NEk-I1~o9n0bie zn%e7{TIHI$u%J+MO@MDzfmd`Dz!wgR1#p5)Mmw5h6*sk)o4Svi8Y);EFIX5am=rH4 zjJqZP3Gspnu+t0CT@w~UIbE6Xtt!xJ;c}rG6*xp!j#f3OJ5)1&AD0j69fI-{OpX@- zlb*N_qPTip85LZH$YoS<8NDt|Slf!Q)y@^FXZLdAQYS49kP@u%~@@K=+!}ck$ zptR~IJS+75rzbosa0Q&;g+51c?sz%f^9R^t(TC63f&1UdkzNveGl=A1K*V!|%Sn)C z>%!e1?K4n6g7lKO4kT;Jhh(f|Cu{?F2S5ZogUr|rPZwlmiv>VG7*?b)!NX_{Y_-P2!xz}cR#x`*-mZ%_1e zqlT5=Z=l|`r@qYEAGVrb+D@$fVG}0WYPQ)p8>ev3TC0+aDL?fQ@9`ycT9VgBN zicVaAo^4)+$NYyrtdjKow=g$Q`wST-==*QUv(?xZqlnCEpiEFE=(}p6Hy`Tns>LG` z-k$!AdO1vvA;*|w$}#7#Ib4n<$C_iy;d4@Q>^Y8{)SR?jCfAT_%r)hjbJ<)j*OF_^ zwdL};DY^DsM{a6vS{{>U$TQ}d^2~W`9+zjyv*y|I_`H-nd!8dNH7_ln$v5O1^G*5Y zd^VrUx8z&%ZTWnDO1?eck)N8MCNP3QFbXEYEU*G6SOlwJ6L=v-unP_$RY)7nj5drm zjy8=pk7h@6C)ew=`%dw*@Bh1W;JtiP(uMza3cqymw0+WY^G z%fd5Gp<&?tf5)}=|KS5&%?M?BBFFDe4IGbr3h)2>RD1uQ|5B0=c?IB{L{|Q#XZ;m` z&zyJ#V8a)G1>muPR{;Kf;1z)0^w0AOz$y3@fK$@xD*!cZq_2C651f^h3CaWvqnb8Q zCO#JviC2rOX&U#w9?jMKBp1a`5L9Pn989)82^KoHi}pMS{lO%X6~4tc@-Ct)7Zf8sT7c+wJa8mH>Q^hhs>Cp3|G zg8`ArW4N3I;W{KodP!UdA~_fkSv&=olOSB9p&!j79tZx=oB=<1nxg6A|uJU zV}edW`m&Q`u~Sz<8M8g+35*HhH0sKoF}^Z;ev> zbMV@x#JZsNCt-rxpI;Xf)c*Wx?ImiBezkm3`}1sCPt-R3vh1GD{=^nppXL;$uK+uh zUl?1ege8i;S|;c#!01$8;u#u@OyKdIluYX?<77d9e0@X^o*$AN=_RoZMkFbsOpr5x zGC`R*zg`A|`%j|Rxc?+CFTu7HLD(8ij`WiFZZ44=42ZnE1ecQ_T%+VjFNy0wBnJZ` z-bq|ef^dzJBfTW91CbnBh|IRbqc%Zw{wHAqTPzfjvFdCxf%{LA1MWY`{6X9f1YvDW zj`Wh}!@NUU2h!4CFB7Ml{|R0K`U;Gb?y!wMi92vk|Vt& zw$F&nX^ZfDX+6^bS5ka_(k|SJq5{6r4 zXd=>@`l|_j+v<^CGDXv5k_ttX38v_aYC*DBge0H&hpibBrbqfYf+?sl@UoPv&^ca2 z5oO|wYeBO4pH~_FL(?p*bp&CJOpf%DSR;ufMU)AmpJ&bl)=v^ovuP4NpT1Yr_n3O5 zm!v%=?J0R_lFR34!C?cFuCeECRWTO$9ISC)Sn!k1rA2ET?Kf((|=Z*>7f0F!2|Ec{Bc$0~* zDHR<|ybxB8PUpMRd-A>>M4rRKJ$95Ph19FoCs|BBHHllL@S!BnPaYXteLs z>`xdI67wkOYW{>5`fS&^V}d@-MXXA_HA?Nz!E2k6(Vp6$gb8YYeqBrqKl}6l1Eg`_ AA^-pY delta 11941 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 - sta OUTL + sta INH + ldx #0 +frame_loop: + ldy #0 play_loop: + lda (INL),Y + tax + jsr write_ay_left ; assume 3 channel (not six) + jsr write_ay_right ; so write same to both left/write + + iny + cpy #13 + bne play_loop + + ; special case, if reg 13 = ff don't write it + + lda (INL),Y + cmp #$ff + beq was_ff + + jsr write_ay_left ; assume 3 channel (not six) + jsr write_ay_right ; so write same to both left/write + +was_ff: + ; see if at end + iny + iny + lda (INL),Y + cmp #$ff + beq done_play + + ; increment INL:INH by 13 + + clc + lda INL + adc #14 + sta INL + + lda INH + adc #0 + sta INH delay_a_bit: @@ -52,7 +94,14 @@ delay_a_bit: ; 40000 = 26+27A+5A^2 ; 5a^2+27a-39974 = 0 ; A = 86.75 + + jmp frame_loop done_play: + + jsr clear_ay_left + jsr clear_ay_right + + lda #0 sta CH lda #2 @@ -139,19 +188,19 @@ reset_ay_right: ;======================= ; Write Right AY-3-8910 ;======================= - ; register in X - ; value in Y + ; register in Y + ; value in X -write_right_ay: +write_ay_right: ; address - stx MOCK_6522_ORA1 ; put address on PA + sty MOCK_6522_ORA1 ; put address on PA lda #MOCK_AY_LATCH_ADDR ; latch_address on PB sta MOCK_6522_ORB1 lda #MOCK_AY_INACTIVE ; go inactive sta MOCK_6522_ORB1 ; value - sty MOCK_6522_ORA1 ; put value on PA + stx MOCK_6522_ORA1 ; put value on PA lda #MOCK_AY_WRITE ; write on PB sta MOCK_6522_ORB1 lda #MOCK_AY_INACTIVE ; go inactive @@ -165,16 +214,16 @@ write_right_ay: ; register in X ; value in Y -write_left_ay: +write_ay_left: ; address - stx MOCK_6522_ORA2 ; put address on PA + sty MOCK_6522_ORA2 ; put address on PA lda #MOCK_AY_LATCH_ADDR ; latch_address on PB sta MOCK_6522_ORB2 lda #MOCK_AY_INACTIVE ; go inactive sta MOCK_6522_ORB2 ; value - sty MOCK_6522_ORA2 ; put value on PA + stx MOCK_6522_ORA2 ; put value on PA lda #MOCK_AY_WRITE ; write on PB sta MOCK_6522_ORB2 lda #MOCK_AY_INACTIVE ; go inactive @@ -182,6 +231,32 @@ write_left_ay: rts + ;======================================= + ; clear ay -- clear all 14 AY registers + ; should silence the card + ;======================================= +clear_ay_left: + ldy #14 + ldx #0 +clear_ay_left_loop: + jsr write_ay_left + dey + bpl clear_ay_left_loop + rts + + ;======================================= + ; clear ay -- clear all 14 AY registers + ; should silence the card + ;======================================= +clear_ay_right: + + ldy #14 + ldx #0 +clear_ay_right_loop: + jsr write_ay_right + dey + bpl clear_ay_right_loop + rts ;routines .include "../asm_routines/gr_offsets.s"