From 142445223005e645a6cd776b928ec8ea5ac6f5f9 Mon Sep 17 00:00:00 2001 From: maxluli Date: Fri, 7 Jun 2024 11:21:34 +0200 Subject: [PATCH] Added audio testing and a player --- Debug/MyProject.axf | Bin 293232 -> 295808 bytes Debug/MyProject.map | 438 +++++++++++++++++-------------- Debug/MyProject_Debug.ld | 2 +- Debug/MyProject_Debug_library.ld | 2 +- Debug/MyProject_Debug_memory.ld | 2 +- Debug/src/GPIO.o | Bin 39496 -> 40852 bytes Debug/src/GPIO.su | 5 +- Debug/src/SPI.o | Bin 282684 -> 283612 bytes Debug/src/SPI.su | 13 +- Debug/src/init_clk.o | Bin 39448 -> 39736 bytes Debug/src/main.o | Bin 43416 -> 46992 bytes Debug/src/main.su | 19 +- src/GPIO.c | 15 ++ src/SPI.c | 33 +-- src/config_LPC1769.h | 8 + src/main.c | 77 +++++- 16 files changed, 370 insertions(+), 244 deletions(-) diff --git a/Debug/MyProject.axf b/Debug/MyProject.axf index 3725eeab305e3cce26b7634017eb2b059bcec63a..993a0c288134cd118b98ca0c5bbc5da982d2247e 100755 GIT binary patch delta 19444 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 RD{-RF5Qka_JlZ+e{{Z$lrkel& delta 16375 zcmb7r2Xs}%*8j|DNl0?jZVDldgpNR{N|R6$6F_MJK@fr@Kp-@Yh=SaR1yDirP>&^u z<%tayMT`%ms8}BYRuoaOJq0X)C_EAJ{eJu08?Jn7egE}8Yn_?dd-m+U=ghe$sacwM z8Vk@(poDiEq^< z@kOi3;uADSJubdhU zk$Za8fo8d}-5Po?ymsNHg=s|%C$3r*mvMJQ#Tib&vg+xKuKM_@uQHnJKUe9@zOnb5 zIZOHRsv(&jj6HX)x-RoNy=BAinV0MF51mrmYPQsDTmk_NC!YIrL0Q9zPybZgBG2Da zM7(+~dPuYBx@(icNo7$((x*oOx_>~_=fjRP8CbjCfP~_Ph7&*jx8X$EpHD&G=l)wTIO1pv^B+H&>PFms zhs6CGG=DXmSa7=ckY)>1`%`;n7G)LngjCwP`mY|8G`D*YzPe$-l!Y_LWemycJ*7#J z%JUax77aV14BX~nHSkdBRo^J!19^8A-PbrV?9e;rz(ZrN8g}SyBf2P}>*tZ5t7i_I zvBuM?>!~ZU!TQe`*UqH4sSO!WFQZYtg){lZqZt zNrN8H@1}2>ys&a%+2+d4Wv411P^Zdz&#=4pp4_u{ChdCVuii7%s#BGJ&WJeb*XBD7 zC-$A*SajPDW06P2xYN8`iZ8=>+SI928%~tpxI1s@?mUg#sNbDu-nXoN?mF{c^ZE5@ zrdzhoj2zb#`L+o;Z87nbrJpg7t_6ikHRK59Z;hcN?@Cw7wCu{+)ylB!PkJkK5fR86FJ8!+|519Qio>>h1s+0@C%ZRkqdF&!y$Bg|pxamI55!68o%<4M3 z$53=VoSlsrXJ0BXo$P$f-wSLvkFEl}ZsSY`hBLY@0E~6eMKr zd3oAIthoT#ctvNGb7T6v5FL`%m`toY(2_dy}?ZHe;l0bnB)~8iHX0-RF>`gic3GkQp-uC zVJdPVd}>7qU`39BG%Heo$jI3v+>;y37K6Vcc@vXMZF76PQgJmP(+Saiu--<{f$0Pq zofwXpN*aGSX4`Og>WgOX)Rm-dWzgEI5x^wnuOX&JOK#i*w66OZ6Up14KhRmU*Qgzy za)$5{9mz?fwk$<5?8XpWg-TJ1Mx|Y=^iA$BFPbTVTXZz#7`5eWEo&mI_5YXR7I@+= z0bbV)g%!z6RiJaelm#BU9vG9|b-Ibir&^@s5WPU@g(3EHf$*E;J6AiUF-qMIgs!XF zOU8#hd@^HY)D|S?dT?7#nzgS4k~8S5xw<>!XVflAoel;QgCgdIB$ubo26_>=~<+8G*+;DVp7yVrsaV^jA7&se0i zB;V;eI%s@~c)3zX)5|m-ol3u!N{`SseH@RKz0m8rkEpmfYlKdqv#^DwyiL-PAw8>A zvn9-mi?p+@iBjbX{B&Ip?7^uo17>uoa7jqv>eQ`3V<(dE4Q>oy>JFe=0PX2FL^la$ z0Z__6o6gI^<^`g)KN~J@2a2O##qLj`XE+ zDWM#ho{~g{sXEfjv9gpm8J9F28!RrRGD^APj57!vsDrMX2#J{zzcZ~o0n;-jd}n%c z3Pt5B;hKhE(p0OaR)BuXS~Cvl<4z1%(bw=7S$Wu$MZg%fvwdGs_Y=VcyT-Sk;K?93 zUuE^8f*&}=kxK0l9&PY=$P}M{5Zn?9e4R=3iR^+#?O5NdBN+d^L3p_De)9Y*s9u%t z6H@OBg42Cp5&S#|mivArxIYM%sjQ=f-*9$8EHfNNV3a+wq8!+?N-<(iCLaO%jg}rb zJF`3>a5oR0ng8x(MF5hf65Ac}Qq!4p;ag)({53YzwrI39hc`7gw z8#q4cji*9_{!_-$i5v%FW9n$j%EXsJ8>^x(Aa-f2?+&h-qn&&x2{*yZzF|a_Yp2aw z)Xo5LleCj_7WX>&U8bG1v#5HaMr$YjEb2Ed9IlHb}L`UjGdImWa{}DBd)EOQ;H~w>P zzNH6O#SbLsD4oQ`Ms2mSEzTrVlkA{#fp%MOF=GQY0tT5>B~?|-#%z92hW`%AI22;x zcL^R2YA{zNpCo+1IS#&q#LnLoF5ST3e3aMl<|?0a_lvjf_Zg^p4*~rcgy94Uncr zmT`~^69OQPdV`O{#Mr0F1)CT!bBIZb`R**{J7W9^nV`2#zRyNYgMV~0dG)hRgfBkI zB~6C2NNCc43BH#_*(7ZfB*i`(A9V{!+uHdkd+>v2{LlToJ>UKg)@YLy%*^4ljv(iM9MrCNR+| z;N!ch74Nhc(8qUPE79pGP#oWGt(X|96wim1k>e!zxsgl|Tb9LPH-{))_bccV=h4c^ z;&Y>RXwnYM^0X1Ibgl4BTuB_nat()u-*t9|cTYBL1G`^4NQC;W-oT<|IMy5yg@xZbq@+!yO6o<;vCLXq0 zu)~SPTgd2W4?7odx^*Xnq)P--yIuzSb+HozPw~{H>zbkn)8zC}oZ&5kJX%}a+5^j) zT~&Q0z@DUp>ypy2b}R)|;waH5J_p!Az$X61#e*Y)3N*d40>2v!4T4o52&7x|RK{A; zT_{oA=~JozQ@U1~lt1xn?=}m`7QG>o*`zOrY%SkSZ$s zGy{|3v;Y-$I#8)1be6gp4_r&{0CmjmdTeZ_{TEFZqGu{bw#7WKc z^@{Et-7~r*sZUc9MN{jT@R`<4y_r~Bm4Lt(KIhHEbyQ~=wQfpQsKUP^iAo4x+PbOR zZkHKXkk}1cg>*0=Jt2WF=mMYZ@q<@>qaHDpcnawi8MN*4`w0j1KU$Q92?>@N8jL_Nc(A{RGp5VT;8&7!# z2OE=ItvE)K5)S>O7W%O*^iy2uM>=nXQm zr>M{oJajk@o$y1i8=?1}&^uJhk zBmPLl`#_94q^=5mtJ=>ep*$&EO zJMkj68${#)c+OUj4`%ym54L-Uv8@w6T>?D`d@I5xw&eIrl!&cf7PYE6a{Q49Zjs0F zz!J8{#DeXj^jD%{iU>Q6-3~4iS06i{u@C4;dw+3J)qoq?d* z>gOSBe-k@iz*~c@zL%)nC(#H! z64wmzL`5Mn3!3AJX{#C$@Uqyqy)`F(!b#0m%l&LOXR)0wtu5&=RKk9RFlr{2%@T!v zLMcO)1h$_?u{|m&Fsuc~`@}=fNtnKpz+H|YjLP?iPno~qt7q%z+ux&4Ho+q}g5Wi$!A~aGm$0XM8 zNCg}ef5inPrFuw`JtWrd6Wgwp)R`+W%9oVtD=J37Nw(S~@%=@VI4xPxAR!tk+?pxU z3>7|8+H(A6SGFz1r*{bDDhX^t51F2i6}C!f$JUWd|59RfkFYp_jm}mp-0MFxQ~Q>P zY4?dy)gr%N2TrF+Twa$2=Sj{^5T?CF+GAozwEI3-=yvYG&&*8Y`a(BypP5loC@vl- zDYI9~FI58YSseK`5udyuyfVZ~YsJygVo{1jvR3e0+*$j~)M;}h1@4m+|4sInO%kQY zC5GE14>yXk6{6b9(%vC9j?ARUev;eWM6K?^#}=N;r6PV3bN%k&eMp|mB*Y(xj<$IB z5=n+a5i?to;gUi!jTg&m#CvJtpS)t?2TNNl5snidOcviZYs1;EB$NA#C+;3Z%tf+i z&6Obi5|D0(EPhj#C5ofYNE&RD@GKGw5{2eLDT&LyG!RC&iz+oGWW8HNt{0jDsof7- z5kIXH+Y;gYa}$o|Nb*$nl-=rLO;mf)?n`mnP)Vv&QkM@1>v6K7UM&uc5&E6t>I`|# zMx#npf|@axDV_{Z0;1) zYZAKGMSg?us}ZA8MZ0B^OL>w4Z%O*Qg85WZ=9e_GTP;z!OUxhBjTm?rZ8O;{ewOOH zQj+WUSmJkzd#?>h5P`A({FahHT+ zgv{OnB~TvGoZSjz0*>k+dOabm{|mhw^|PpwhMg2zBLf}PODy;X4u=KE14qs1Kt}DQ z=5|U%e;3Ej6CZSzT=_yUweTELPyEqI0$Ko*95nqaZaGNS=#}E(wH45#pt0;G5Ddmn{#K?^Ogxs!}MYAiO zCC${9)N@ufBd~A>4O>*pO{_*gij;J2=&HL=)tmGJO1fE3Wwrc6?;DJ+UZY%<{crsU zo%xBrvH;y)JbpCeZHj1EIvgcFLoI2KZ-bCcC-Qqh&rsX|!N2_;eK#N&Zl6L=+Ug@!)I-kFXKD*%LMQ+a5W=7zCF2C>xdT_w)91px<7}`OF zNG`iDDgtehrXMd_<40R;Qsa`b^#0(@bj*;SSa?Ib5OeX%jL;<}3v5^eGkLgs9@-H$ zC6CNzEJt-gcBeOz|;GSQ3|>WC=}3Kt9`-Pote>1+;wfM}yE_@hbg3Ebj$Vk4A!mM0GEJ$n?8=>v2WLJP~jE&D_XKr zYqGgRS8&ChdK44nF1?3-x?4|dgYJI4j=A@M-hrLLuG2qKr`38CTCZQA=;yW1z2{pqKd_me{g;lScANAHYPVTGLbYDe>lv{vx+WIgR=thg zHqGyE_I91k#Clc#hyHs_w_sAeu0Lb~yseMYoOg6za@nP4alvl=97}1B&R}xBuj{c* z*&pb<0ImB_->lJnr1=Y@{jnaMfbJ7*$D!M+cQBtm)m@1E3_m%e+oyl(h3<3xDB0}S zpRxwN&>v8zFZF}e=_?&Yfd}+*hURPCgHHWM-@;1xRu_@kclxej0rcPNEv&Bp=p#Ak ze$e;Fqx(_cLYExW50T9w{S*Zr)-JoB^f#RQS=TWqe$lI$3%~09bmbBK=3sP3^)5R7 zn0}R|^qc-CGx4}irb~X;$#mBry6`+TRM{sq9E8j?PEo}r#(w(ZM&mK+bhB|U{dJ2m zh_PF0B!JXjW_-j2%ZO{l+&m_yJ=$ld#VC zno2!ryhHhGj2^75hl~fg;9+A2B|TysVrf2V%;&m)8oOxyW5yb)w$@lrdmlF*V-h}L zTu%+3G~%PsJ!K4{_3MnDfg<$J7_W6f_pGsiWxd`g>W1!lV+>>QqH!DRYoig%l&&}a zUbwk84Xy7UWx6_Yi7Jthb_M_P& zuxljHW=xD7wPH9&v35i{9A%k4%Qn(Ra1UCL=}VBj=m3Avf@|sh_M)(O4}{= zkHTEbq*6{{lAk|AlV*w$!MqQ$@hu(=(v0WX2C}lopvyf>pnW%vyEI|j<4$5ODaM%W z_%*bVU7X?RD1!KPvT(r9lW1D%fWe?Ft-s-`~-2uFU|&UzWS-h}jWJzIMdyWK`MiZ%51x#zPVA6GzP)V^@Ux?ol&e7rUp9nu~Re zd)+ZJTMu&YKW6qe9*T1J9y9yPA6c2J-SxkjP2KZBby4 zFLwBIs=3FVblhw$f9_`Pb8kOx-XMQ}Xa4FY{cg_FC)}HVH;Z&b{m$Rb{C?CY*PV>Xvhapqg@#xv$D{ehd; zV2;a(CpjwJ{2XOy4C&OVlN|}E^M}|@m%A5PO*0adVd2|Z3cG1`6uXW#YRb|^%e%K( zH>M1+Z9-=CgGMYAz-ET1pXYY|!_06OYAelnCBFV{ZS_m2KagnETJ^W4T0dFtyi}{H zyEwzz6;s-OQqh2t(n*tYdUUOykZD~W>0VuIHMfQj9opHQJ;Z9|e%sQztG=d{^?S7Y za2IQD#MH@ES5@TX*I(1sDlpu)x?8tI7WN-d0uG()i+Wfibp7k+Tdj1xzo+$p5j|jB zY2m2Cv6F@k8dU#&Z|fz)ec?iDW$f^gC6z_}N0nZXlUtcvKeV3}X}Qn$w({yr2U>Y{ z{HT)43WpU<8eTebP)SiyPPh8Ii>>uW{fHq}ky-!nCDv%uwMSZay04D39;u%_%Gw&4 zebtmJ=TucyTsf({a(-ob#g%GyMMe3f>N%6V33v1aE5}_i!8$(@f5KgH<(SD;?x6|R ztmx{B1=W-0Tv<7-a(4aN%dIn-<+gT`H2|4>aFW#;<(5!pWux3WqjU4iEGw%8yxiYs zE!F*FBT8ap`@e-K<7p+=5!2mQX0;0p#Y4f5YN-LXzb|sBv69pt9p_kuTod9`9L9(9 zti}IpKJ;}dw7%%?>+|HNk+d)YA%Yy>C;$cf?qn<7-9Fi}Y$Ce3?@YF`9S%{wzf87L zWQ+=Ka)p)KmiW*Ys*pjxG}v^FFS37Zto#WjX^P#^S0IKQ#<Xa2 zT`&~1;~oV?$B<5;FItWKbHIPr-}%Q!yHlrFxx#8_w7YVO)ltUy>h&7NdZ>GJij{{h zx!gKmSGgCLBZyV*)n2!{9I>o&x0G9{b`@NF#C^5gN|NEpvqR-JudtFpmst^{ix-U0 zrJWt-oE^3aExEhGYHjSd-K`Z?7iT}-h47i@j|!_@ZUN2`+;Z^H`&&lPc+Tbf+=)}I zETQ90Q*aJliy+-HpZnlcIDl(*`rJ1|Dq_0-JhmeZSb&2o^Ey0IrW9pt?{}$Q;{Fr zyi2R57~CEPbDkgJyvv*4;eK3cWq0^73{5gVrNYT#5QY$Zo_lnE?J-=6m!~AX;f=OQ&29uuOGrbG)AYVRgHX<-!$%eyxGKa(b;2DA`U^vrXF3$jd z2o1rU-ya5F5Sl`7siO_<+)B&J278t6{0w31@aek#^#q+2_~@;ApH8ip2K zh5^lFg5wmTW}@E`@21SLCK|gV-1&2?j&=#OE^wcmW6dxwI&Amw~7m}CINEz zmoS|{!lzIo;I9ee@yZm<1^#|!G8?|tW`Q-kJ_7W2l!&76aTk? z{JH`T=T~T;Lc$SaK+qG!%p)$C1o$XSY!QU30H21kq4_s4&JnZOM5y_gkHQ^Ncsa(Z zhHmi`T1B`ZGA9H-Vz5Gj7cJTVg6!$X zT&G6#cpSechYQF)2kr#;tc&s4A29!}6^09gqI2j+p95C_-U(V>RQNi;GL+_MgZ#}~ zxB|?}9MTGbrPcsuwIM1HXsKrbhtqEdyeOE=^dSGBBYd8JS@0gy4(sXBp8!|l&iCMe zItd^=MiDTr1OeO;T#yX-cZ>%G;cUR+0`kv+2b=?s0vx)iU>V@=aeGOQKUA3xAhf^4 z!@^mBAI2^^H7KwKFuxE^2*URR4qasUIN)%FUXpolTj%_1fO8r>8liS^z9#7500=$< zBAmfNz{i6U7_-OWp;#yo%6g4w&K3lSeCSgA-PqsOr(>ceT+VHm^BL#Nw+GA|;+0GR z7Xm>KkRfAS?0#KsB?Xpa&*DLZJotwj;W}0VP5_TkrCkj;7W9k2g7ixPcgG#l`5uhF zhC=+CW6nPeIGo>lz~50JTvTa?jjiEfJUcrA!3BFjpy7y6WqxrE1Abk99tLppCH)z| zxPp0Xt0Wx0!r^v+-vhmu23r2u`Ru%*dN|k`60mvU_aR}}7Yo9pG6L`{2;qNgP~c?1 z&*0fw9;D|VxkLb78-%X~yc|&(6ohXDOs4}xW2jodtfP>DkK&V} zh1PKG9$#cV=01MCRp$B^TWj1Mi>;;gmj*0HyJa<&pO3KlHF$INyQ^#P0^xUGMHfY% z`q!Iym-*SlCftDc37JfFhu>hu=p6U*8?5#Yi8B4}${X-%(|L!f>fDVt;63O)>|k@< zFEDia?l#o{?K(?9k@>!<^4tzffG+sKRA>C|7@(aC|1#Ah6b(jAOr|uePLe&5=aPPO@JhXuqO;4VAz5p`>KvIPXq)6WN8%< z1lLh;K@AR~ARsd6;0P$lpdcbBgNTB=gUEOPH~+?nIA_lJjx&9D^{cvFb*t*$Th*^# zhu1eacW-r;1P9h#Zg9CNiiW0@Ni|mTLHQ)g2l?9asl$9-VLj&S3mY)sP}qq1#=<7g z-MrFs-nPN4?{zk#4%+zjZrd>HS+oA8p|@OrzYWWSJUXpJgV}1f zMP^7FFV0D98txbqE+dlEJ}vp^>}+E)Ft^Jt$3|}QhB>uE7h|PvnF_`@HRCZS$8pzn z1|nK_mph?c$$OPM;7+7_N@_Tf5r1keMs%x*!MX>a7k09%0zV0DSCs@+vQ^TE*vgQ` zB}v{{I@P%4x=A@pYgL39?J9Rl4-vIfk@N}4Xh>R>QXbjRJLXhseL`Gk8>$=%rBg|b zt*wAt?W)n@#fX7Xkj9S_iL-QU)NZd?SksUP|H@TgK6VvKF%u_DF}8XzUnI`b8;xU~ z9hHnJdsi!|5g!FHt`fz88R;S|U#hEj(Us1xd^KN1xjRuSptZV6Tf3^HMxbhWR*85e z0yXM+-lt(hvTVnMu(EB+v@Mffra?litq{nlvb zW|YLaYtD5S*tn7re@M@%Yi*;Soy0!OuASL)CBFj9gmA=(M+?fH%LLJ0}HeU6J>Y>f;AZo6y z->HiHoZ3hyi@ja5UUlb{MSfQv(y3`k>-0go%0*hf4N^x{&y^MKnv*d|?-k#%LNoNVjf7~4DUY$X7NoNwpuBoQYLTZpSSwOBC zt;4FO=?xM?t_f<*6zwdr1th1{)UT=wZkA2PHOqSUh`bh?>^G?W3}fh}&h|x#nN$>It$PxaM88(Dxb$`_*wnWNoLQpvm8eU{GkU7h7rmCR_0nwhHMplT@8xvtP&=4cpDlnaWai zng(p4#>Y+SnmjMFObusNwl}m)^-#2q=r#?gH+6Le)k7bZLqB2H|nRYAsyETI-O!2d_ZlzSdHLm zgx{u%;d~lYq^hD6Rr)twLXFicvo#z}N|d_h_|-_Os&Be${%?9WPCK^hr!DH&tSI%+ zlNwhA*=Y88I?`L!?s;n2v|LE8)$}?ImhNh;)#{Zl8p&UEMV)SHvz1xMA8&=Ur)qms z)8pDUO#AAk7R_yLydR>=g_8BoYPH%x9bOZi>{jjnK@G?6wV!9T&dlo2{iE9Y`R2&q zq596KtMAj`%TZtUu(+G7BigK5}- zYqZrut?%gLa$^SS^j8-&)5SAf92as;OEr6Sjj^${P-%xM-JOX1Jnd%u)yNxN^Gn2Z z0TZn%7HR!xiI0Hku5nXO>IBSLnRmdP6b%7$w>U0f-q4!&%3=tZ!D6j|35fjyA(N<{ zXsAYeSSkg~02yh(j8RFRF7}ilB%O4Ar`0y=L>@3pdtg}4>zrcMeP8P|ZqjI2rxCL* z5;do*4Z@{+*UZ+td(~wfa%9;C%r_W|8L#7t*RgjgnPn#AiRF_Fs8| zjTS?8ciRt}3f{F##meqM`yqV&4?74G{lH$0&E=Ra#+v%Xrgaqj%MM5BynPc@ezaAv zqAu945L!RkQ83nR&UEYnw>zOxj_^+B1a_xw&N{iNMyfRi;|}h`DycKKfuwZ@!3y=Z z!aDVjU_K3IV9X6I=G<&QR%G+1u#l7LqgBct)Jz=;Nvo>OBuyI&3$~6%+w_s}dYi@G ztO~KAgV58VCYDO4H<0iAN^eQKY`{#jq9P>C?g0Ddyj4-st{E76?jDS%TNI|6*9Kcn z_qCApcoClKxdwgpYKLj{K5(_9eLBO6eTO3E^2Z}Bcm~^Tza!Dz1%DWdh0*^yuU1@q z=soPl!?(lwBX(f8BO@`CqKfd<4UI6>F((i*V;drT#y^biCsf7Cp11;2opco(IQbeF zamqOa$kZp`g=q~DGSh2fKsU|_NP5#LOzf6>F`!$!V(2r{Lu~|q%7$G-X|kV4v{b-E zX4=V!>)UNT41AWo79O2#-$C0s_Q!65JM1}$D|fDK1~<>MlhNONTOYdaw7s#s7uXu8 zvd|90co*59Fp;}#Cumu0=SYJA?h>1ixVYOs1FPI)=Qb4FZ+9aCSK8NPGjLbgdKl9K z_Enf>wVi|R*Vubut_ST%%=RI>;VQwywj%=Z5&NyTuww0U(_q}SR(xpOb#}S8rDC=C zf58ar?KzD0S^GTnKW8iEcwba(UUNIlx5>7^5MHuRVF)kVvzW(5rA*l1!(Y=9R~~Vv3s%a@3qwtTKnwou7bC19SrszJI4z4 z+nJcb0eeHN;9Xm`oZz56Q(y28n*-q?TOAI3&mIf46~1pbLd{`Y33EAOZ6(16_9%RG z)HX(kAKE8i>tnVXjP#M+fjB;H2SM8j`ypcfW7`yg`-x3X6r8k=lo$NduE*q0+3nEs zsa=EqPTPgRXSR$!ozK`K2*uCsmb!v3>_@QLS^Ej%@SH7!p1!mf5qDqNj}Z-D+YvCy zH+BTf^{t(Sd*4~Hj|7@i4c@%nISgCOaw=g=bDaBNt~;D`cxkQ^D^=Zj&VG41N{Bg2 z;DbAz8W_|9XA9i4&^ZK8E^-E7_;)$|Vc^BiYn=u6Ic2dP?{{ip+AE!A2((pBO$>Ck z6OUEB#%a<{@St-)8a(8@hVCDB&Snc9af(s%QRfRWNyvT7DTYb^?3{xU9(O)LFhAj( z!PdXlDIX{)(mhtg{nQ@|-gb{@LJczyf)}i9y(Ibhcof zyy#^25xnHYK=sSciZC%$xMa%>tP>Jc=m&Y+1=zG=zZR0luj$SzWpXM@x!lnjl9s;} z^NoF=v7{BgN|rS43}#uW3zl}}>J21~-wPjBIf<<>VRaixt38Ld)!#r&)ff?!wB`zU zw$}Ry!BFA{s8st=457}3j*`|bkE-?Fg3<<0%UIop4%S_x#+YH_dvLc&6~t!qD9j>h zaT7_Chr)X;_FxNZHNUK+X|oX>>1SmsZks#mNZRhE97)@6!rhEG3^X&8fZ23eig9H% z$B42Iqgl>q%&+TUL~ZVm=)OlgY)ieKLRj@#j)?19j4tyNVYh-5MBN|WgZ27f1Dg%l zi1;6vfo=wM!^8%EgkTsl2I;j`5MDz!w88=!Hm{tdBeKxVs8N{T=w)!+n91<(sRKgA?6l+}B>Wm3%Yh5SFy{et-bZ{esuG3!A=6>4Fwe6j<##%Sd zZ}FOuCe7W5X0C1SgyU9%e`}ZADwpRv&D@BfYZIMF+^y)}-HnDxZnX4L+^%{~Y?)32 z3$pUF1{C({(xv$Jrq73a!L)?plop?bM~oUac1lq&$!ndqr+j|yHCer~3wsyz?UI|F z9ZV^XYds{=Tbl7oWPZ`q%xNP>Pblu0StUBWAgM=RFIX6iNJ>dcZr!MnSJdMl#aTT& zI+Y3wd-u&9ot>Fq&^lOqbZwK{v!GRqmyw$2t?NCsIH6BB>q_I!eZ9oOTG~3LQKRDF zeH+;DE}4|J?wpjAB+_~L#g6yDkb1?re<*gO%iK$iaN9dSU~zP2-yVfonVoVA3xmnU z%Lhh=7r#2Bsq0P7sP+7a^-h`2V~d7OE*L$oXmV2VGey^gMUEfMSp-J+4~s6yEX?kd zTOf^Fwe+qT>&eIpejZtpjLiFN?3m&K<67I^SZSGM!{^$}n1}%}F`2t0I%P3jx@2#< zbU&N-C8jQ2LCKZ0FI!$ziPzQ0fXRr48aRBMZCK6=q~DmAb<8F!i$_%mjZfNG?o& z%l}yvroU5{D!0&If=dZZ!=DS13p29hOI=|m$@3;nh;3d4ecAyA%hCs;lW%4Ym6%T`S6$n@|l0%jNo$_8DN<$9oO zx+yGoCi_y3-(=Bl8YrvmUM=@FW+iX@8I<^cj^!6YiT7PBA0$5jU1LtM{5`2IsqfXF z-mUTgj9CJGC>S*6da#Z+e)_VI+F5ROhe#*`&?;(gsj5xIeuK3MB2n&(17#q_kuM%t z!k7j&38z`fYb}%|Ya9vUR4~by4xl_bCCcKeMrjhMQKZJ8x?nU+^2a&_b>&S8B6!K;=WX1m&08R?v0&*$2oP2Fu`JS6NvS{m4cn*ZgL-akUT;jCr^=Ikl&E! zNgH0$VFVdN#*qm^UH`Qxs7E#-lgTu)J=vMeC3}(m$U)>V@;Y)HIfcAAoa;YC!5ne{ zxs+T^K0rP~t|ix#FOV;j+sR$z-^q8#L*ZQiM=AK2JWZY>zauY@Ve-_{eSj=S%4`x9MN06h*3FI{L7IG#zms~`8WM~C5YskmQ zC&}l?jpP<`2l)oMhde;OPaY#rl4r=TN*FRfP;ilS<$H_n17s{2Pu3vokc~(jm(ebj zY)fX6Ib;tqUn%|{NI@Z4M2;aRkvEbv$XVokaxr-ixsrT{e4KomEC#XuH&L*a+)3^x z_mKz5Bjj=N6!``D4SAll5ha$1AY;flp|1Y~3Tlz{$R=bmnMSrJJCnI&FR~vwh#W>< zM~)+>L~#AzOhJg8LoOhflFP{l$VbSv*~TgaK@TyhZ^ z@|amct|1>IpCq3nHmXR{ObJ8gD++!fFOqIlNyRc`EE!MM zAnTBg$mV1!*_O;CbI2Y_@qa!A_;W6d41YcV7LjAfN#u>>400AZpIl7dL#`wrA|EH8 z2C@E&DcD4AC3lj$$$jKO@(6jHJVoN28Yb`!d7iX#Scg1|^&cP~C7&dpC;da_HkNmhZ;=Pc&|zkdlb@33$nVLE zWPm3j|4>;Tp983Dg z>OZnPlblB`ChsM2n%4FIChb|C%Ja(9;V$!o}AsM}Z+0H9J1w-Z_Z~Skbf@1&w z!mr%w;wwG{?bY75i@Sx+W7n0pFO{*E1Z7JA>+tQ0{C$PIchYw}?LaAKfO1e8$@2A} z1mSF!=YjH4=?Rvf0_A1YUY7TR^0Mk|Nx8rI8ktJQl*bcNI?%6m(rXgS`W8#xhV^E- z0F(hwWO*tWH0C~*SAliBx0dX0{PP>dW>br9n%b=Nd&Lro|8~(^x%6-&{I-u}>>Db5wq5NXjyzZq^Xps^s?67<(}VK{$xR0mb5;{)@h}sm$e>Qs&(tq z^}I|k-bLT(#Y4Q7HfrikC2z!9dMobU5kjZ_h0bu{d$wrT7o{i<7LViInSV)9ug@hd zU2me?2$tN^)Yo_6vU>QUP`9L>#Eo2jMR*bl{cD3%jC8!7_tp;GDx+Q^_b`!o`Jjme zl?h(fWV77ByCMJbvn?*Ghu`=_<)zE7*Gw{U1~nPH6a7bh1sT$g@qXU#IO{Tn_(=|- z?O(pa%*zx`6@}ZR5+;Hdk-onEm+9Lj`Uc4Tl1tXUuQ2~Ig(D=storxQ@vP(D{ss46}YeR!AdUw-zIi#g$T%cTD*Qh>t7^6?d3 zFD?8=P;#q8Xm8n%{mZ{MQZhPY-YB@+n4yw~zN_Wq>%-QFHc9fq^`<=QxA&1u$^1)h zqJq2*{YAw^6O7453tp&$&qCJo<@=@H2HfCv!(j`P@l9S65rNVorCD!VR_IGv@)&Y%x@;4?-aBd6buU$xzSpI&YehGdPPXkt zWCB5tc9SQEa^&8t)*erSoiozI4i2(gixC%Uio)%DkgIw<<819NEv?G6_yVd+OOn$J zo#cYu<{4+B&?IWVX18in5T2U4+Emu5wipuJuL4@5N6JHc!95kWd*1~#X`CxhaMhQO zc?PwxF{8&>CN{oMTI>ZAE!)`Jqb#dZx>pcbwIIl(NymtCvY&wLbJD{^#Q4XAS3)nJ z_7amta#;^wP4)?LmM9lQpgbCYvbh-NSbKGrziNAh8r9Hb zI-x8UuRGQq;%UcvJ=J?VD8-$MkXo*G`d0PYs~YW-$U9cA43yWyQT{=n_IGf9kNC^6 z8n#23q(WbotZ=N6lC_TY$1W(Nbjog(a33itI5QxNoHrf;Bc5 zRnDXNXs@N#ualMOSeG(U&eWd!RpzQXmMcx?I^)4fo$^cr+(*gsajcg#1y0KbAwkx% zsiwmso%kaav{cnSrwT>McH&qEWJyapXtMl6Q(%%TQ^#tj;W(^e%Fw_KlpyvHyVbol zRl7Cu==!X>u}GseMuSpCBl?{>c7x`g6@s3Hs^UU@dMy+!4ZO^XEhBH$JlLoGuQf({ zQ*U;~IJbrdWs0g*MaMp=>VBf$J)$!vMx*~W)nTxfSq@qz)dU{$do$UYdV-uI5t*&9D#D)NED#_v-J@)CEs=#DHv7F-X(AzIys= zRU${HPt^X?R9cK|8jkf!Hp(Y7t14@r%}{^8qQ<=508ejkrH@z22*=84gz_%+N09p1 zR#mP9qy4bAFC;o>omy7iJ0B9Anxs$HsU6c*!ksF*vL??&RdGT^j4jsCPg1XU@Y;sP z*=Mr6{-LqC^VPj?Yp$ee5aZSPe+kF17V3|qDmpq=;(-Yxdh z!{XfMHMmz*!(r;zB^rk;o#niy!E0I2;odZqe^JLRQfJM}LCZERU)0#nRS%rdROy_E zr`_~vSM`HYIZw7i`=2yC1!bF5eHEIeleJYhw5rMA)7o{l zPJB(LJm{UT6z5*lmM=7L3A&A^Yv9(ZO_MdvzS8ZcyC%SojiAc++G2EsRRl5;4-VnSPhG)^IP=)cR4Au(dAMhh5F!D7EQn4bc6XRY7X;B<-|b1!V<6+&UHU zoCak?CA2)Cq61Z3Pe(nW{g0_y|4@_qsHdCi8n{hWY@yyApQE8EstrN+s?gFpxF4+3 zjJg%~Lshx?%`D4jg{p`N+CNnCz-L|6QM09w&)Oq)`>cH;!DpS50Qsy<+H!Hc`n6&$>1DcGR)ux3S zzV4cs?`qU-T?;P;qi2trnC7^K<70jLiiWI92%cURRa~FdTlKo6qC2aV`5p1Nj%=Z# zwIra=nywa{6^Hw*?<5a=)(cG_Iz^YVhXtHiEI;h*_4i$DDvK|7<>il84Oe2>xL+0Cs+EZpE&0(#%CR z|JB@&4dNdr9kr|GLv;DUghmRknWMpS6#v^x>?HuKzyg0>B?#kQ-2^_pG-j%;76v6P)caGz;O1~{GP!|bdI zSmoJM(cb0ls#4}W3`25PL%FV};k|BANUrWv(31BG!g$+lm^eQXHWnPbRmvWjaB0t+ zSXWTk8*wjcj-}G8A#Cb>8uxuNG3D*I!@~nNL*F}w!?Kc&_zD^H7J@T42A;U{G#25I zA0X%Md3ZXa0fKc;1bj1U3KSas0hAcC1fCe%yQ`G~Yf=VrH8-^m)QWK+GJI0ZZnZMi4X4?8bok zrVwfKlxYrC7MdA}f~BTXhG3a_S9TBQ8B-bVUT#*vi7U*0_-Up28o__o^o6mj%$ADY zQAutCNO{#XheofNZ=m}Qvj=v)ZmuFqJI$;x!5ij%V3!#HpT222A(`GX;qijE zO&${I9a9TRyl>het3NP9A>|`85(D;`cdH0KHnB*^{iYu5`je^WEvgpgPJnd>&F?A; z{%k6R3l5p{NS(u`EgFxQSXlC@xecrAs0qjD&rF{@!7+0gs(fyCBYekAEzEPmob4bu zX?~BMe=&}D$vI{6A?&n?!~*%k1S7%zYHGOH-@Y`fBLsgl8xjR)%vOl`%7kLVv*!CY zf^#MWOZ2>X4_W%P`LA09-_=hm7C!%BAMwwDsY*%U`SZbHR+-3G=tjcHXJD}1E`yysvX)lIF&)OCStg_$5JioVl zXA4%_m(lY%`xI<{-VQ+u{=q&1YuDHxA)jBc--mu{?T8A37wwIZ@{;|$i}CC2Fy!vb z_A0F3jrIbh!6y3^L}H7*1&d^>9TqCsZf9VvykbvABwn*GBlUOKO9I5eK)DUis3&EW zbW9m}8A(+&xw(|lXT{0dBcyIMsfX{5lQQCsd{qS*3@h*hE;m8iymKx2%i%1NpKE1Jz~EM@Xu2x`8ssg$i|RgyBb7?DV8*Imjs zqhM*fkKw=cSMjvtRkUQ(fH9pXL#?bND3rY&qq?NSyqp3=D0fhnlzFZ!>)}rROUR!d zi;!DA;}PS+AMmYKG!;?oy$$Z`(-KbWyB&$%FBkq8Fb9_1o|7r%!2O-1{9Scy4|lwP zl~OVjOL6czSUI%6m}i}^OCPHFj$N^;<;aF+SpjWJx5pJ!E{#mu6j*w!#ks)h#l^X| z6%}{S$|x*ql~UX%w{uZWadCXB6z}8K`$CH{inBZA7NMa<>4vm{!CuIaI$mg}H%bq5 ziVpRv>kx3(m^ulq&<0OLz3_VM<#U)iA=3*Y_I)*xnTu8bBAZk)UD&|4zF8!ctCKVm)^Ht>51YdPDEjD|E&D% z;)0@{opZCZ<5Nl-57}s!emSgPKxx+zy#lL3a_tO>NMU78(C1cB70ha6x<*oorLSOC*(4RJcY6#GuH_O*$4=Q&BSds+gt^i9` zPq{0giX};1?h3G)cvr@c_U;=W;SHS-;XO9t(;x}3RmF-dU36a^6W_d9%AL(hQd^}B zN^LcCNJ{HLtxHN$Q(F!h)G8&ldCQU%@9@NtZst8hO7876Vf^^fqsGbLiulMvlJv7| z$!l4TMU2=wkQr=ZP_&>7xlR;0A&U#d$QJLmr@py?jYU_Cr6PF zl8=xx$$6keVkzsZKv^a)vA!J?E#GGS15lO@Hc}{l6qMEQRaxD&zUPBrQ}!Spl#Y!- zS)JWk??K)U%7Pij`Y2E~>nW_yA)f*r%Ua3$%cOc%HWbl8o_jU#@8pfYe?ESaQ%8y< z%NB3ShOcVKW@Op*Elm!n)f9C}gqC2UWyxZ;Y{|qfpll#LK~8*^ewHhma%4vE)Q@3RxCl+0AFMK_e^^ zEM$Edxr$svt|v>$SIJ%Ed*mK+KY55eMxFv)neYr7z9BD@S4qPN29aT8Bw2&R@AvRz z0;!oK^<>sl$#gPP=wbkV&g!HH0NY=-ZlS!AHPR=G5kc-IW*mAg7Tt$T_4(E+JQv&y(xOP2_fRC+WV!n-9o+SCMN-{9OhMOUYNsUF3V@9&$fj{hwmP8S)$QGI^CW zfn^g0kzr&cS%a)iCXkKEWHOaZ7wY=YWJ4~QPxc}QkR{|WawIv9oJ_jpbaFPifLuf_ z59In^&4#t)268L8gM5qJP3|QRkVnYlw@&b8_Fo63Ho&-<(-e#`;Y@&-V7#(lcUKA&a5`RT965z<~G2J>-7! z5Qz1Ej18yAGvqhqW%4R%g31I3kzr&cS%a)iCXkKEWHME#>pz_hnPe`RPxc}QkR{|W zawIv9oJ_jpbaFPifLs*B^}n1AtI4(G268L8gM5qJP3|QRkVnYlw@&b7!i0l6v z8v^9dV8pBf8BRu#F=QRG0ojCXL8g%%$SkrO*@Nuk@@618m>f=yCMS>&kkiN+CCeq!`o1Nr4yZt~B(f#hmdqf#ka=VwiGRof#qdrR972vD$0{ZM6WK6@e1x1u&LbC+%g9ya8ge~Z zO1?_seJm7skK9A<2eJMSvEdkbiabN&jRpispX@~rAWO($>Zn7$bY!J zx&D6~Hhk`2lKzst)ErpH|?gPL?9|Gnq?pS%2jAMeHgt2pr*^51&Cm#jZS zxxaY4$NK+Ip6{{j{@L+f*Z+U;e6PvvKi+R-4s9pj@Sp$RW5b7}|6Knm>nF*-k>8Nt zlK%62AP=7*WEHXo8Bh9;@lE~b|CW5vj?5&xlK%61U)GCByrPARN0Q@7|FQjH)@PCP z$wlM}|M}m4UVn)XO3ByAx5)QN|1tf~tREv!lV{0`r2lws@hllcx|MhnMaGi;V|gRi zlgZX(2Qr)VAIFPWA3zQwhm&JS9>ZPhAvR1WpCCPQDd|6czrgwiavQmme3$eeyZ^-c z5%L82rBc@a*KF_~w|`(gAh0a970JqEb<%&#uFrZCGKFkQb|U?!Yy8U};HFb z7((7d`j6H3vp$WSNzNmmCgnJ-f}bPtZyzzyX7W|?O%kVQUH>1k;UM`Ld5Zjs^dFzU zWBoem<5@3^tV;S%&2?FCNH!zo4SCt`f9=`eKQ4D?y^zGee1#uVf|KLo$b27%W7e_;ID9~A#;zj~C{ko?(?+%msTm_h#5--7OM@+-G^ z_*cFKUF)~_l^Y@c|$)(AQTbK%Oj+g%vfMMRqCGVJ9ybFsXqfSX(M&7tm z>DKWC`El zty&zJeoY3H7aV_|g@4whg7MbMFBm~6F9DlP0VH^*mqs)hBctYXRE=_@>fbbKuZ-%8 zQ7-aq9#{7~5aRsgf`59=79EkjvU#A=L*snn3b(ExogW}}lw}TqV6Lvfj zA(^JGxLL&f>1FQ=A)@xrMcj~ZMkF*vlzuXbvY!G%=yCrz8EL9rSpqvD} zVDl?3&DNcg2&cXMOCtxhkmmBS{%)RS^pGw@0d63~t-M_$9eUr=_B63_6t z?WTSaBfYsRstv(bhR6P^@5r+E$o@K}!PQ4Pl~=UUq6OqaCq>Y!hGR6s%SNX5OW!^n2Bb<*#s*BqH0DqMRtpET3 diff --git a/Debug/src/GPIO.su b/Debug/src/GPIO.su index e3d094e..b8031a1 100644 --- a/Debug/src/GPIO.su +++ b/Debug/src/GPIO.su @@ -6,4 +6,7 @@ ../src/GPIO.c:40:6:InitButtons 4 static ../src/GPIO.c:47:5:Detect_AB_buttons 4 static ../src/GPIO.c:54:6:InitTimer 4 static -../src/GPIO.c:60:6:ClearButtons 4 static +../src/GPIO.c:60:6:InitAudio 4 static +../src/GPIO.c:69:6:ClearTimer0 4 static +../src/GPIO.c:72:6:SetAudio 16 static +../src/GPIO.c:76:6:ClearButtons 4 static diff --git a/Debug/src/SPI.o b/Debug/src/SPI.o index 86b494eaa22b60498e78a132fa4cb3b8d8db022b..e0056960c2e6d3012b2c1b556a00f9ebb3ef4c6c 100644 GIT binary patch delta 19166 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 delta 18463 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 Mn{(3D`*^PS52L}yf&c&j diff --git a/Debug/src/SPI.su b/Debug/src/SPI.su index 14ef8ac..3c92b48 100644 --- a/Debug/src/SPI.su +++ b/Debug/src/SPI.su @@ -13,9 +13,10 @@ ../src/SPI.c:254:6:Get_Color_From_Background 32 static ../src/SPI.c:276:6:auto_screen_roloff 64 static ../src/SPI.c:286:6:Refresh_Area 72 static -../src/SPI.c:327:6:Draw_stars 32 static -../src/SPI.c:337:5:strLen 24 static -../src/SPI.c:347:6:DrawChar 72 static -../src/SPI.c:368:6:DrawText 72 static -../src/SPI.c:376:6:DrawSolidBackground 24 static -../src/SPI.c:384:6:Fill_Gradient 48 static +../src/SPI.c:298:6:DrawPlayer 56 static +../src/SPI.c:308:6:Draw_stars 32 static +../src/SPI.c:318:5:strLen 24 static +../src/SPI.c:328:6:DrawChar 72 static +../src/SPI.c:349:6:DrawText 72 static +../src/SPI.c:357:6:DrawSolidBackground 24 static +../src/SPI.c:365:6:Fill_Gradient 48 static diff --git a/Debug/src/init_clk.o b/Debug/src/init_clk.o index d81815b4cf6fa30329f83a9f6e48334b9ded3a1c..7f7079bb852e273bc5e60fbfc0cd0f1ddb1a3b7b 100644 GIT binary patch delta 3951 zcmX|Ddsx&}8b0TYzZq@y{W@-s+S|YNC>4YJIaOV_2WodYiofZ<6~qDfU&&S8DOMI<;vIj=HdZGc|sVw z)t$a%UQ(V&GB2x7>}2++pR&ljqMB34w5!E>zu8gPHIROsQFRtFYfO*llUZw8n?`1x zDR(%Tr%kg*k=bDCxR*?$>BcZJ8%JUp-SoTo*A=*QL*T(?Y7wJhBhh-Q1 ziFfoWi!1b-`>{TG53qg^aIHRJ$?}%Lukeom=KBEOXLlbC!McFI3JJ#g2P7%h8^G;m zpd1WrVxJc>us-PoULOJcmA`Ea#5#@mGsMbVU~whzJ@#|ldmnFc$oCVlPT>zCc;Ds5 zP7J5Dy&u-+N`a->z{ff1WDYZpu`3Guwdp`R7naV!>cE;X_^UP(){V))56ZkS-4Zy8 zab^Y9^EucdbVpPd17rAulhkxW>_tmN3cI`NhjnEc@K^TG#WqWk)p}W}MH|(i}vpAs-`#Qb-Ir%d&_&SOiZ)EllaX;eNYquSz z&qf3Nph0nj$xP!;EMh{Au^Ni}aoP|DJiw=(-dIO5QDJ=A#aPE(57QI<%H%culAlfP z((m{=b7o}Xesv*m8CQ9f$-mC|FBpyeb%{VH*S*Y&_55;e_qTedbI7|kY<f@YRUR=!>t;IQ~JU*mOqK$iSaUk=FfN#fG7@^oD9SUFeU*W2bj$P^BB zz~LxvdmCSx%}Kt&WWU4Gna46Z%L#XKO6?=@)!!L4b6Upn4{|x{T{wN1PpgBlj$%I_ zF-O~(ma-Cd8pKYcI9NQ_d5VeeVMg|HPpdh=R{?O;#)-!AZ09rjmT7xnYPvrY_7giD z$V2feQ`MWJo#)=oqSw?A{kY@D_3}WcC!NV|@uLU~2S9qO`hf*Z*`*M{1^sqFa;$irf$Ehm}N+y^_d`>ysN(svL$Tf#vO>q&4YZ$hg1BHXX}G|u)m;04+xI+PU049p}=Nw zf$}wrest9=e947b1o1<$oOEUut-N0`0P7v;aN*)wzosx|v5h!0ixs@%!k;d&guXS4 zK(08Co4$tj&Ej2tto+H3A!?GD_DA@c{({>S$GNYf7MsPG7+mUR8gJ;E!M3PzY04dsTXIxTT5Bd@xm_+FO5!i1I9^wAs24TV&^eeFw2_zNt zBTOxVa?>{y>_IL2WH7jYRSrU8`{iwaG9B{C68&{}nk@xhj>vjM|BLKG^w;Gv zggr{HQKr@Ha~h1FlH>Gjt3wrz)Q#5s;K`uyqD+CvFG=et{h2kofA>)O^`-nPHZRLh z5%h|jpGxK{X;hNADkE}qY=nJaG(P{gw7}euwaH|@mC;aQx10lUd?%+OubZ+QbMd{j zkJfb&X?<6LfChCEe_mFq-!R9k)m00bC)KjS`dCD?PfI@idRqNUe;yIzO~XL8sEc7_ zo>N&6Xq)mvQ_rhR35KC9AR)1D(Z6$%???C+o2hd zR`^_;T4y8?MmP~6@&!mVY7h2fPV^;=t$-if(>U!b!E#(6h_nv}fsSo9F@fHWUxv_+ ze)GZ!`-jC7CjQezn6w<-an+%QWIG%Un1a)^JUpoGo)p6Li*S@t4nYn&A4r&;46bwY zDs+2PruP{~R~-f$l|{ZJ2zdE{IasGhY2vYfpYsmw{n z`!@HP!JQMMrw%g4y35A6^{DJPi#yYup5th*YC6X+d@M$X)hBhH+n8xmn-*!cd7%ne zte22^Yq9RxT&^xH)(-V;b)!k2Y)LTgCAD1B-?liFeSr>XO;8Un(0OF;H0c^L h=N9O7tqByZqcu?lEYufT6Cz`^5TVq@-~au-{2$VG#5Di_ delta 3834 zcmXw5dsNj`7Cz@(em@Y9$K~=8uE4#B0tSdY!~hW#0TGnaG^G*WOKp@iDK)RpG&KcI zzOD&omZpdbmZmn#$Xcc4V{A-EO9vmz%2zlwQ>o4V_L}_T+vlEhe*5w5Zy!ALf!cUL z)kdoTz2EVSLbit`mK+_6Y^%cmW;xz*u%#TY$AS0Qdk&iq{QbqX}F< zR2ZV3eKx0J-R1;ll>mow#9BYB7ZHDkNCZ2=%_*K{KTo<)vT$>-GjUk=ZL z#-n9eS97pc=#JPs2pGX1v{BOy@dsKW1SfIB8|!yCt;g))0^_b>*dNcuT=u}a1pO3# zTySy`*1tFi3^8JmuIZE%G?)ElGgCis7FKsl&^*$%`$d0YvOvqO( zw^1CdFBi6s$&BH3R}S_7gCqp2A&AD$5Fza61~)};UyBv?*YQmw9_zwBz@?GEI&NG` z7>i;Ub906-rF6n^vp(e$ntPK)l*={kV13?B!f6r*YhVoL&P-*e2^?$+mvOyRJAKpS zAU)F8?)Oh_!7Y|aOSWF(>+q~(zIy5=-*g$P+kMl$9%MSwhm$zYj&3lHF4Zx9NxdqWuoqbH zy?H1k$6U!xIK{oY#iE?U9S_h8{hS3$xV|6x+eI8~N;1ND^L|<$)+Jo=2Q0NU-q^W| z7gyY2&lUQnpVKv#i^;@8DdzSE9%VlrEKLuN+mD-aArz;BdIHOMXM_{$FZead=O}xa zh+0+}sfSMgLPDf*=KgeN4+VbMS<3_2m>-BAvpDIq%;<$E>||Jhr}>g*NA;fA$z&I6 zn7@7OXqZ0XZBN9YmxZdZrZu>zjun zbD}#D=KTZJ6$}6!g?{Ks@h+T}+Pw+O6X3rh6mP@u7+qwwmzIN*d0UX@d^d(-p$sN1 znv3LO_+BbAz~eIcEM!+N58w~MLAe?ub5fQklQ}Q_p`>qQz20w)P^a_sDQk@DF(NHg z-$AE~)nY|vr8)|lj;Z{-|Cbas1LF|w*MrdcZ(!{6c!awJ8-#J&kz02I3G~Q~B~01~ zYS zz-*|zunzl!Y#7R-ok+O27x*h#kD3R+g&8RI!OoDMya>zs==LCI$$V&P_{-pXL;)~1Z9$Gz4Pa~B4l3FhzY;Y~I1K4dbb{fjcLwQlTS##$nl&>FA6I{h zm*<84)Olmp$7t5_9EeavX};D_0=wKKWlCGW+F)B7G}3*}ecYd?@E3`eB)X=tty72zykX z)oCFqUR&V#bD5~8hd5MyiLMRF3AmU;dza(_4Etp{rCfg-(xqD-iu{)hL?_y1BL1XY zlhsLNuFGd2jvMmFOdS~-(|ZFx|4}Z5xh*FokhvqfK#6zd^AN{9*@C?8%dMD;pX98e zdS+;H*Yj|_ShYzqOVl|Ca+$i}N#<4cd#?T{w2N0Te6CVY>MNlUu0;ds$3}I@M#im{ zBcsjgA@ud8dKIKJsO<>XsH{-HR+WSg-cmm3_%?L_Q}MQnz<1k~6;gRe%|#CHsw8B) zLtV9#*{OCTmG@LJo{C+{6S+4jOI9)2J?a`n*{l}eMcbzqV#xNZ&LHc6dK5?Ief1RD zeNfGYS`Mj?Ds)Sj!?gsXVfz^vI*P`DUn`&H5c=)kDT*-QIx-8qnMi0Ij(b6SQAhA! zaT+qQ2Vtla5yF0kbi#LGKjK(d!pL&?v9H2u*Qda8lplzUIgZE5(O?&&=BJz)|9JI8E-02Q{UmCt9iy{Lb4$Avwt6C#Kh{qx_S G%l`pdAELeh diff --git a/Debug/src/main.o b/Debug/src/main.o index e02582951ee722ceda47fab7a7034eb21e0610c2..440d99338be27a196436e6f24b17f164493022a1 100644 GIT binary patch literal 46992 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
    8-~ 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 literal 43416 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 z zd`9sN#lI@%u|0UcKyjsFhzO!pYIq%SJq&#fw-Zt6EgIfV1bt4`@F)>wXia%F;Ns+&i&hjTK&LXaa+-SH|@mR$s#S@7u9cNIHKPAh2zCsK-&K(+l zNby;Xe^>GE8XrUl;&Vq5VKyDD;kaU_Vz1%=5$4>-HT*fnFA`x!eqHenjel72heQbX zFE#v%;v2*%rvLhmF#V5Vj>AlkrbxbpM3jrFNA&Tf{#(s>WOghOM%;QL%*jof9;!#43n-##5=N5*(G)?OKdL0*B1NbS3DZ7g z`S=kX!HA-ihj{*g3-3c^3PJ@6LX`=o6i-z=O>vLn*^1{YUaa_e#V;yeqj;m@&5Cy@ z-lO<{;-iW`QhY-3NyVoXUr>BS@pZ*_6yI0er|7z-T@w_iDb7}0sCbCtVTwm8h83$7 z*C<96?YRis_Za7=Nd;wHt-iYF;{EA}bUj^*nCw{jek98erl+^fhRMP@xOQv9sq6^d6YUaxqQ;%$m|E8eg8u;LFC`J>>>|34L< zQhZMFWyL=zzODFY#lI_ls2IRRf%#2QoTWHlajD`;#UjO0#Y)B1iV?;2icN|M#Vv|S z#gyWyil-^=Q9N7me8r0uKd<;j#cLFARJ>X74#j&EA5eT$@kfeJC_bt9wBiejuPDB* z_>SWHiu)AZ35K2%6zR(+eP=5!R6IoSFvTMk!;004YZRl3am5zJ4#g7`yA*dQ?o=F7 zJVWsu#S0ZLQM^p?O2z9Gzoy8azh!&wRJ>2|LB;PWKCbvv#a}8uqxf6JR~6q>d{6PO ziXSNYVfeD#Ns2QR=PE8%T&}oEu~@NOu~zXo#h4<0qLle>QrxU~l47@FpW=Yxh~i$w z^As;q{H)>?idQRMuXvN1+dc`KigyI&(q+&|(RK?R2_b8sNc)sGril0~f zqT)4*H!AXXQOVCc6z@@dK=DzqWHSvJBsfs?o)KJq{MP3C{9zH zt+-I}5XHk3k5mjRRx7Sij4H+zTNFDKPf+Yq+@ZKraY*qD#d8!dRJ=s-GQ}$uuT%V* z;;o8zDqyPQw za8hx*;!ee3MeB$8goZCxyj1Z@#jhw@|I6(fzDM!9ir-WGv7+_6{93~=DE?mYO~pSc zT7L^2xMCM5PFI|(xJ1$VS&qtAWt@Cl0B6#Eo+D_XzG$2EMR;%5}E zQ2er@^{3pT;X4(-t@yCw4;8H+A;%dcpiq>D!s^QIwCo85D`xUL9h*(@MnLWl5Imn z4!%;%KuPvDq2JVUzvX@tz5k-WiO*X4S8{mTESmwO%pQKJIoY>s`vAx)*InDT4W>>v zi8W>r@296oY|zX^?H{wV3%_gZP127&_cl+k&%w5no%{r|H_i4z{6Mu+f(@)CUBh?* z6mOxkoE?J$Bb2J~9WLaTwzNGcr(A2~Ivdvpp$6nXH{Dvq+jO-DN!RE}cl1Hhu|L@S zSoVR+?eV1Jn&pAgkpecqHJ)^fag8n``z-*nUx{cBkVB5;I5QoF3pvhGw7`2j*yZ5j z_{eleAq}6g`7=L0XAic6$2$Cb(_Mh@Sn0Tb!<+6i2+zd7J#2n`h+sOn4dtL-AzkcY z>yttRTno-xy>aO|rd;xZyGxlL>p?x`ZSO654 z+WK9IYj6FoLjBlY){pXQ>&JPNx7^3{9zYITzaJpPaxH%!!?nGK%k=e&xc1iXhX}95 zzdh_T&mzKGzgtkhAmUiRx%g)~*6VNh_vXiaCv}Lkht2Q55#i16#~yxQ*huF$1J8T& zYd~PF%}moVcz8~_Pa*7;X|x90 z{uyt3e~$K^i$tU!hQV}u`!zpA$?;<_@O_&JVrBz4}0&nocw|pn07F~!|}ggeoBkyk>9;& zvpx39Pt%PezqQj%{R$6~-=*^m?LR8N?_BOU@1ii)?}&rsHxWw1D}M*7-z{Ir=nd-R z1GRSn@++~KAf3HT(@)#`9ptxL>xXS^2h6X2q2t^`BUFzAc SX!GOPNjzWbpI18MdGvo diff --git a/Debug/src/main.su b/Debug/src/main.su index e11cbe0..0603dd9 100644 --- a/Debug/src/main.su +++ b/Debug/src/main.su @@ -1,8 +1,11 @@ -../src/main.c:22:6:init 8 static -../src/main.c:30:6:EINT3_IRQHandler 16 static -../src/main.c:42:6:SysTick_Handler 8 static -../src/main.c:54:6:increment_scroll 16 static -../src/main.c:62:5:number_of_digits 24 static -../src/main.c:72:6:convert_to_string 40 static -../src/main.c:83:6:scroll_array 32 static -../src/main.c:92:5:main 96 dynamic +../src/main.c:29:6:init 8 static +../src/main.c:38:6:TIMER0_IRQHandler 8 static +../src/main.c:52:6:EINT3_IRQHandler 16 static +../src/main.c:65:6:SysTick_Handler 8 static +../src/main.c:77:6:increment_scroll 16 static +../src/main.c:85:5:number_of_digits 24 static +../src/main.c:95:6:convert_to_string 40 static +../src/main.c:106:6:scroll_array 32 static +../src/main.c:115:8:CreatePlayer 80 static +../src/main.c:124:6:RefreshPlayer 16 static +../src/main.c:141:5:main 136 dynamic diff --git a/src/GPIO.c b/src/GPIO.c index 2054765..72be4da 100644 --- a/src/GPIO.c +++ b/src/GPIO.c @@ -57,6 +57,21 @@ void InitTimer(){ STRELOAD = 0x9C40; } +void InitAudio(){ + PINSEL1 |= 0b10 << 20; + //init timer + T0MR0 = 3124; + T0MCR = 0b11; + T0TCR = 1; + ISER0 |= 1 << 1; +} +void ClearTimer0(){ + T0IR = 1; +} +void SetAudio(int value){ + DACR = value << 6; +} + void ClearButtons(){ //A button IO2IntClr = 1 << 10; diff --git a/src/SPI.c b/src/SPI.c index 9c83e57..a0cb749 100644 --- a/src/SPI.c +++ b/src/SPI.c @@ -294,35 +294,16 @@ void Refresh_Area(Rectangle area){ SendPixel(color.Red,color.Green,color.Blue); } } - - /* - Rectangle first_half = {{0,0},{0,0}}; - Rectangle second_half = {{0,0},{0,0}}; - Split_sprite(area,&first_half,&second_half); - - Resize_Window(first_half); +} +void DrawPlayer(Rectangle area){ + Resize_Window(area); Write_Cmd(0x2C); - for(int y= 0; y < first_half.Size.Height;y++){ - for(int x = 0; x < first_half.Size.Width+1;x++){ - Color color; - Get_Color_From_Background((Point){x+first_half.Position.X,y+first_half.Position.Y},&color); - SendPixel(color.Red,color.Green,color.Blue); + for(int y = 0; y < area.Size.Height;y++){ + auto_screen_roloff(area,(Point){0,y}); + for(int x = 0; x < area.Size.Width+1;x++){ + SendPixel(0x58,0x2A,0x72); } } - - if(second_half.Size.Height != 0 && second_half.Size.Width != 0){ - Resize_Window(second_half); - Write_Cmd(0x2C); - for(int y= 0; y < second_half.Size.Height;y++){ - for(int x = 0; x < second_half.Size.Width+1;x++){ - Color color; - Get_Color_From_Background((Point){x+second_half.Position.X,y+second_half.Position.Y},&color); - SendPixel(color.Red,color.Green,color.Blue); - } - } - } - Resize_Window(viewPort); - */ } void Draw_stars(){ Write_Cmd(0x2C); diff --git a/src/config_LPC1769.h b/src/config_LPC1769.h index c50358c..d02ca28 100644 --- a/src/config_LPC1769.h +++ b/src/config_LPC1769.h @@ -101,5 +101,13 @@ // Flash Accelerator #define FLASHCFG (*((volatile uint32_t *) 0x400FC000)) +// DAC +#define DACR (*((volatile uint32_t *) 0x4008C000)) + +#define T0TCR (*((volatile uint32_t *) 0x40004004)) +#define T0MR0 (*((volatile uint32_t *) 0x40004018)) +#define T0MCR (*((volatile uint32_t *) 0x40004014)) +#define T0IR (*((volatile uint32_t *) 0x40004000)) + #endif /* CONFIG_LPC1769_H_ */ diff --git a/src/main.c b/src/main.c index d061273..9ce8585 100644 --- a/src/main.c +++ b/src/main.c @@ -19,6 +19,13 @@ const Point SCREEN_ORIGIN = {0,0}; const Size SCREEN_SIZE = {240,320}; const Rectangle SCREEN = {SCREEN_ORIGIN,SCREEN_SIZE}; +typedef struct Player_t{ + Rectangle Hitbox; + int HP; +}Player; + +Player player; + void init(void) { ILI9341_Initial(); @@ -27,6 +34,16 @@ void init(void) int scrolling = 0; bool need_to_scroll = false; +bool on = true; +void TIMER0_IRQHandler(void){ + //8000HZ smaple rate + ClearTimer0(); + + SetAudio(800); + on = true; + SetAudio(200); +} + void EINT3_IRQHandler(void){ int buttonPressed = Detect_AB_buttons(); if(buttonPressed == 2){ @@ -39,13 +56,12 @@ void EINT3_IRQHandler(void){ int timer_count = 0; int scroller_divider = 25; +int scroll_increment = 1; void SysTick_Handler(){ timer_count += 1; - //update the screen - if(timer_count >= scroller_divider){ - increment_scroll(-1); + increment_scroll(-scroll_increment); need_to_scroll = true; timer_count = 0; } @@ -89,22 +105,76 @@ void scroll_array(int **array,int **newArray,int width,int height){ } } +Player CreatePlayer(){ + int HP = 100; + Size playerSize = {15,30}; + Point position = {SCREEN_SIZE.Width / 2 - playerSize.Width /2,SCREEN_SIZE.Height / 2 - playerSize.Height/2}; + Rectangle playerHitbox = {position,playerSize}; + Player player = {playerHitbox,HP}; + return player; +} + +void RefreshPlayer(Point vector){ + Refresh_Area(player.Hitbox); + + player.Hitbox.Position.X += vector.X; + player.Hitbox.Position.Y += vector.Y; + + if(player.Hitbox.Position.Y < 0) + player.Hitbox.Position.Y = SCREEN_SIZE.Height - 1; + + if(player.Hitbox.Position.X + player.Hitbox.Size.Width > SCREEN_SIZE.Width) + player.Hitbox.Position.X = SCREEN_SIZE.Width - player.Hitbox.Size.Width; + if(player.Hitbox.Position.X < 0) + player.Hitbox.Position.X = 0; + + DrawPlayer(player.Hitbox); +} + int main(void) { init(); InitButtons(); InitTimer(); + InitAudio(); LedSetState8(128+32+8+2); Point text_origin = {240 / 2 - 8/2,(320 / 6) * 5 - 4}; + player = CreatePlayer(); + Resize_Window(SCREEN); Draw_stars(); while (true) { + int JoystickState = JoystickGetState(); + + Point vec = {0,0}; + int increment = 1; + + if(JoystickState & (1 << 4)){ + vec.X -= increment; + } + if(JoystickState & (1 << 3)){ + vec.Y += increment; + } + if(JoystickState & (1 << 2)){ + vec.X += increment; + } + if(JoystickState & (1 << 1)){ + vec.Y -= increment; + } + if(JoystickState & 1){ + //empty + } + + + if(need_to_scroll){ scroll(scrolling); need_to_scroll = false; + vec.Y -= 1; + int digits = number_of_digits(scrolling); char newStr[digits+1]; convert_to_string(scrolling,digits,&newStr); @@ -115,6 +185,7 @@ int main(void) { Refresh_Area(areaToRefresh); DrawText(new_origin,newStr,charSize); } + RefreshPlayer(vec); } }