From 38e28f4169e393e0b34395103525cbff116b8e78 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 28 Jan 2018 00:45:31 -0500 Subject: [PATCH] mode7_demo: split out island vs checkerboard flying --- gr-sim/bounce.c | 28 ++++++++++++++++++ mode7_demo/mode7.s | 59 ++++++++++++++++++++++++++++++++++---- mode7_demo/mode7_demo.dsk | Bin 143360 -> 143360 bytes mode7_demo/mode7_demo.s | 15 ++++++++++ mode7_demo/zp.inc | 2 ++ tfv/sprites.png | Bin 2294 -> 2484 bytes 6 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 gr-sim/bounce.c diff --git a/gr-sim/bounce.c b/gr-sim/bounce.c new file mode 100644 index 00000000..64639a5f --- /dev/null +++ b/gr-sim/bounce.c @@ -0,0 +1,28 @@ +#include + +int main(int argc, char **argv) { + + double x,v0,g,t,d; + + x=10.0; + d=0.0; + v0=0; + g=-9.8; + +#define T 0.01 + + for(t=0;t<10;t+=T) { + + x+=v0*T; + v0+=g*T; + + if (x<0) v0=-v0; + + printf("%.2f %.2f\n",t,x); + + + + } + + return 0; +} diff --git a/mode7_demo/mode7.s b/mode7_demo/mode7.s index 540075d4..d7db1361 100644 --- a/mode7_demo/mode7.s +++ b/mode7_demo/mode7.s @@ -19,8 +19,23 @@ CONST_LOWRES_HALF_F EQU $00 ; pre-programmed directions -flying_directions: - .byte $20,$00, $1,'Z', $10,'D', $1,' ', $40,$00, $1,'Q' +checkerboard_flying_directions: + .byte $18,$00 ; 24 frames, do nothing + .byte $10,'D' ; 16 frames, turn right + .byte $10,$00 ; 16 frames, do nothing + .byte $f,'A' ; 15 frames, turn left + .byte $10,$00 ; 16 frames, do nothing + .byte $1,'Z' ; start moving forward + .byte $20,$00 ; 32 frames, do nothing + .byte $1,'Q' ; quit + +island_flying_directions: + .byte $20,$00 ; 32 frames, do nothing + .byte $1,'Z' ; start moving forward + .byte $10,'D' ; 16 frames, turn right + .byte $1,' ' ; stop + .byte $40,$00 ; 64 frames, do nothing + .byte $1,'Q' ; quit ;===================== ; Flying @@ -55,6 +70,7 @@ mode7_flying: sta DISP_PAGE sta KEY_COUNT sta KEY_OFFSET + sta FRAME_COUNT lda #2 ; initialize sky both pages sta DRAW_SKY @@ -80,10 +96,12 @@ flying_keyboard: bne done_key ldy KEY_OFFSET - lda flying_directions,Y +direction_smc_1: + lda island_flying_directions,Y sta KEY_COUNT iny - lda flying_directions,Y +direction_smc_2: + lda island_flying_directions,Y sta LASTKEY inc KEY_OFFSET inc KEY_OFFSET @@ -313,9 +331,30 @@ draw_sphere: lda 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 literal 143360 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 sta nomatch+5 + lda #checkerboard_flying_directions + sta direction_smc_1+2 + sta direction_smc_2+2 + + jsr mode7_flying ; call generic mode7 code rts @@ -81,6 +89,13 @@ island_demo: lda #$29 sta nomatch+5 + lda #island_flying_directions + sta direction_smc_1+2 + sta direction_smc_2+2 + jsr mode7_flying rts diff --git a/mode7_demo/zp.inc b/mode7_demo/zp.inc index 6a18ff21..33e0233c 100644 --- a/mode7_demo/zp.inc +++ b/mode7_demo/zp.inc @@ -99,6 +99,7 @@ KEY_COUNT EQU $8C KEY_OFFSET EQU $8D DRAW_BLUE_SKY EQU $8E RANDOM_POINTER EQU $8F +FRAME_COUNT EQU $90 SHIPY EQU $E4 @@ -109,6 +110,7 @@ KEYRESET EQU $C010 CLR80COL EQU $C000 ; PAGE0/PAGE1 normal SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead EIGHTYCOL EQU $C00D +SPEAKER EQU $C030 SET_GR EQU $C050 SET_TEXT EQU $C051 FULLGR EQU $C052 diff --git a/tfv/sprites.png b/tfv/sprites.png index 66f91284096457cc59337841a9789dce65053f4f..8c12d3b55fa833d4bdc216a66d758dbcb3faada1 100644 GIT binary patch delta 2386 zcmWN}ha;5z0|4;v^W5OhI%kC!hd3I@C|U0*oKZTfLPT_h(&??M7&cL4x`oSl`WD|_Haro(AP z`WCcd`=^_Vo(bghN$y>DoIR*#f^)gAWh1n15VX>i6Phfel@kbtQV~zIbcVLPEVz98 zOfD(xnv)ATV_$Aykt!jL;<5kG*{V`u^F@aAS14w2S5|M^tbKKtebj0Cqmk3hlB=c2 z>KEjFStra>*Uxm(y!!io0_CxO?QWC1#%7mPUjWVBT|MT#IhCzG@zu*p=ApCQb5WmW z5Rm?U!t7pc_yz@`HOVDM>8nt^ihM#yt%+zlX0Gi`lkAR`0kG@Nu5Lr!H}ZUjY|HQ# z48wKDtzR|ATLxz9j6Jkk?WFOgzmkxR)yS)kZQg<~?F8QrGT1?v;fai-^_9#0ONHNT zaUMM{4W<3A>5nglajd!ffU#hk+V=QFi%0w_y?-UNtoRtF`K0*hgCkgAa+2e(kct0` zpVgl#3pBSjVX&yC6e|GWIB|2W70_V1QDUkO@S8QHR09Sm)GUO9&;gAiiaUbI9con6hMHc4P*iV|Ey(4U>PyBFvEi z0E`yn0Dr+K;WLDG?oB@ic%rX6QS;-k*ja(a+S7-+eTtdeeZb*go-pa0U` z``7SWR4$48WWp38zc>4(c@LnzJhwUc_md455k68b&=g{M_Ad3BbfM**m}lNWG$R-4 zHFu_g(pV*}4;{z8EP_1BjJQPoi)<$GGKQuxDITk|3TQ@X1FS6hOt~5mflhGD1?m^I z1NRNYiWp+7JP`0)nGV$yr_)`MHDf_XUUu`ga0_4}lP&xtS94$(W@MZH6ht@xr07-` z)2_xfbpMr(7w>_+IO@Fd&t3pd77vqYkW76Lttm8MIxbmGTGJ;v{2bgTf(1oxrb45; zqi=3{bA9PtYYE!G!-#DkU0|7av zfwbLp0=OpR6?3lc=)yury}fi&5C8mq`fcIjIOLAnEFfe-Q)@mK3I^a|Xb&D}6HmZK zJ@qdsVn=nHK!qQ$hf!ze3`2Bllr;E=>9TRa%$J)260(FBMF+?r+x%pQEV}1Uei$fH zwh{s)O&~8K%C(XD>;cef4Mo~?AO=l&XXcZ+!{YtstFv*2=n7;DXhiTrh-Qcqx`7!F zn)ekEi?8?QN&?C@j%MAX0#zpz<~nghsa8g4OV0~Oy@W0-8dvAxM?hOJe=0Zk0;F~@ zZKcpv?Q9+3EuiAym^()fEn5K{X8{iaP8-`rer50vLky}dRPuOH63p%5@Dx}MPjOo_ zeRFK}(4I-%=E-v*nyjTeTG?n^3@+vV@h@fHMZt%Q5-9O-bP$4U-mX9`0Ez9$lR<+{ z8^mUx2PJHn+{VxWlYC@V3YKUT5Fk0Ud1(7W)9M5~EZHK;U(V#_;HPdVpoC-lr?j&X z4b@`$2kbmUS!&*#I^_luMlDs2R9AhYjz`QO(f+X>94wF;;QAoZx9 zfCJt-&$jr&(0^0Etjq@*C>8^Ul=pL93$0{HEwWM8P10K_vjg3qBi(f5Mop-F*5o;e zl_P%q4i=5HX`VP$P}OproEH{%a8$G@Hnl)a9#}YA?!l6~X7LBVaz_sXGuf-!eN5XF zglRB=_bKO|S}|{z!Y%@E87_wsWtEp&F78yG+N!M$`XYaQX2- z3H>}c|J{Er3XoRW&uI`Z7YowXsuQ^ysIOOhXGZR9?C2AF3$H7UUOcSr_rn~5^ z;Zh89LRCk9O0P#H`oWd1k_;7opjEJwHW29tjq{1p;J}b5!N*vraXNHUi_6oC=QLs% zN;V_d2)U;?u#fAus(B^&4mU+FT0 z@z$0qpq{XHeeJh)rG<#yceB!qJGEAm7CfUyLc}4EnL3>yFN%r_T*5nKfOWaV>#70c z=YsM$7_ZNX7WJn*k+d$asQaOBLT#|tzofIb=>DT5lgub~YgNd6N%J3LEjrU+e4;h~ z`k!+d%Sj(ZYLMjEV1G_fJ12rYb87slqLAv`*KsDCzP?8{dSN+gw{(;qox9#p>s~R) zI`xaNo;Gbfu^ur95_N92Bn-W)w*1)sRt!DA)|6osB`9eQcmD=e{=krOVr)^un+KG! zIjo;6=_ii#D8{y4h*m>X3(t_swX`hwo2WK4_jzrrOxs1V!b7|F4`HTm{a`JFwE~KM z2O2GbOv%z_^7+9sR_C2?JWpIoBRsDgKk;Hci!O_9I;e@!=Kh%`x(%;ij}%LM_r3X9 zWd*JKxipkeA;J1`mmWGoJ(``~2Ur!cW2$|Vb&IF!!U5;s%w-GCId)xkVcbM>df{kL z;Y2m)w)eDQUg{v^@kFj1JEWliQVuo8);rvDKX;J7d86J(YQCl@3;)b5Lb^n4*3{r$ zwItr@R@9#Mx=z-R1;DM;iQgIec1@x$hDLcQkdQ4+!YUh8>;(U@vv#z4yw4}*|JcqY Ac>n+a delta 2195 zcmV;E2yFMX6ZR31dw<~!4-ykQLm5DL000PCNklruhMrn?TM>Hbp(u(I5TuXk%?cwHcM z`I@H9Pk$^-mUtG}u=I~40HrAgU=JV&wD*=uybjo)`il-gZI57> zn@TWBQW+#ie|~~kfc9ZT064XM``7-7?Vox8mW4MNfIF(Hz9uk$N~TTW(3x9W+C;$MN?Xm6AAON(fr&ygm9{>@E z>{!QV&ptoh5&+ssYt!IwmEMRU0K)-b6h0RN0FcJ&Eddl!v2zPBoVOZh1pxpu0RXC% zoda;YfFUY?wA1;Ns0W}R08SQQ;(A<|AV}*V8-RlBW(T5AV*pUe;#&ZKjYV7ajYT0d zp?@o_AqXKtN+SRW6`kA#03aRFd&^jVO-ulY3!X!4?2rLaD2j?io-)Z@5P*fH1;bdv z%cDh?(GLp=03fBH*Z?3!L0q7!nD`cC0Sg8NfCmeJ!2w8yBpLwV0)S{VumC760buPZ zgD3z1+y$V;0t2YhLbw_L;GSUvFqRtt^nVLc2Q&a6k&pm@6aZ`wfLMSfmIdI64S-Dr z0|1B#q{;6Jxg%MC0-#x-c_lK@hO?S8Z$oFnM6V_CE)}mzyKM7zVkI3IMwf z*a3hWv*H5q6(0bq4FEO(AjW@VR$Ld@EdUw>DS)NL2m$bJ1L@QPZlAIR$j&q(5`PR} zY2l02)o*bnuzZ_0Pk=08LF6tf`m3r10II47KpC6B&A-2YLP9_U00iz6Yz5#Zs%6j< z2Eb~b0NI&}1z=+aW02@8~1he?Z7R}BA z8fvrver`zS-6KGzFX$hWsbBy+F5u`N1i&LQ?;g?Vzxwaq3Ol@^-*=y2HtTBvs09Gt zJt8iUmQ3ls7%mX7PcWNpd|{gtgEH?P5dc_u3_*+-;I~iE69GCCnKw`HG=EK}_Z6{1 zfNP&%7e%}WzSr7pB9x0vek?O8~k$LwByTA;ogQcV-7yvd?KsN+rVON8?vr%w2 z03Pwp6xL!$5@s>v2B2F>PxE`7Ckdzl0E$Iq0~jc7M`bze?hhq$=@tNrWDP_YL&|eS zbUyS!Fx}MqX$K&YOT13h_kRO`$m!K01z=4D0AQKF%L!TnNT_O#_6$`Y1dkMQb{Q6F z46vr*j{!RafRFyfd@cZh^oXp6vt&I?SA#PjjnxGJPy|IhSoh76(%jMTj~qx$lxPeH z0HBzT0tTzbu;RCPXL!V`19IhoPjk+$hBd_U1wtr5s@kHEG!jNgnDjQeg z1|Wm#5W+cx*jS4jfONH9C=}+ZRW?@Q24MJydLH!8{Z(e;dfWgcu;K-*xXQ*{&jKPW z@`;$o0C{{R)>)wM$oMz2*Bc&8KBlLc&OkO!#|^;19J#F69lRQ}#;LdgkS;u4H;2z$ zRM;p=KOnbv0Dt1s5D9RB_%uZPgJ6srBEA4()ew<=0K}^yGSplM^%^44Xoz&bhKook zoa-7&L>5Ec1Bl3SxO)H*X^8YJpcezW1rYlza8M1ATv!1dR6``R0Q?&wxjp~np#|Xo zmQVvwBQ9N`D!6~KuYu8cU70o)7ihkgA_{p7aP%vnf`9J|Ophiu0G#e1e+qW_Fa6mc z9025<7rajt8a}V*P(pI$Oe6SODTOY;w6d1|{5}Rj)ae03u9p%EfXJuhL7ltV({%y= z4+?`_!1Jbd7SPu4QLu@)AI#JaA`PM@`)=01(Q(}|00qRq9UOM^sl