From 838ef0d1eb9c6a3a3257ef1818d028c9f17be34c Mon Sep 17 00:00:00 2001 From: zbyti Date: Mon, 5 Oct 2020 22:18:03 +0200 Subject: [PATCH 1/7] refactor and MPT player examble --- examples/a8/data/bitter_reality_4.mpt | Bin 0 -> 3190 bytes examples/a8/data/mpt_player.obj | Bin 0 -> 1726 bytes examples/a8/mptplayer.mfk | 25 +++++++++++++++++++++++++ examples/a8/systemoff_example.mfk | 15 +++++++++++++++ include/a8_antic.mfk | 2 +- 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 examples/a8/data/bitter_reality_4.mpt create mode 100644 examples/a8/data/mpt_player.obj create mode 100644 examples/a8/mptplayer.mfk diff --git a/examples/a8/data/bitter_reality_4.mpt b/examples/a8/data/bitter_reality_4.mpt new file mode 100644 index 0000000000000000000000000000000000000000..50a5ca1c35fa6681888a90a87f55a338271eb8f2 GIT binary patch literal 3190 zcmcIlUu+ab7@wo`SdLw`yG(~2w!0iH2qH# z?kp#P2=Pf`OyGLgyK5mD5)3{G_>Vt^7+zE!3E{;T!T7=h_4n=G-j&h{54vAw=9_Q6 znfc8(zi)P8f*pP9IAbSE*Gle4ZiKPjBc+imBeTk@%deH$1Am{EYvt4B^W`h$?#kB6 zdzGV=bCtg<=4jvO&e4OTCr59Oc2%FR?x>!wUakI7?W(<4+f)0hcB|G^UtfQ{{$c%c z{m=S}u{C4Wu?u6j$Ci&D7(X$7ZQKO12l{Sa|Mk+DQ)9=0N~h`_vPU(*jGE zEDpPTxlnXY2jH(8zyEyp)QQrO!yl_XyWiaP%1hgxduFhI!@9M=fB*e2&R+liu~MnD zA)R9FkhxK9F$NhGe38KAR8CMJ*tUAR(k17SZq` z?IE@jg|Rj^2Qn|JZDvDTfO;Xshb)Hlz_PI6McQ)q2nu7fnE^4Qx`TB<qTHY_e#3u^#XC&igVvtBzS&%zv2j*!1EL=Ix8W2$gojRYG!n*=^-V9{ zfL5my(E20^s-#W)6a1IhMRtLmhx`Qj5%L4%d-feW$Ig;dmN64w;yjGvR$WO zTiUb=_UFdXAuC-pv@yp(*D{SE&E0}iv<`_ccuq8LUk zxAm0j{(gpO^8pq3T5=`*FwnkKp49#U>LzBFYeD9N{-ENXzp*IYVctNac!9SJ3jh&? z_ZDPM_G&3}1=-tD&Mq1L~2G59$NV{p5`f1nT)RM&b0_6i8&jNv#LP#k>K-7Vh zG!XjIlbf7^qn!cHU43V;ASLHQxGuWBlmpsv>=>5JX@CO4yzEufqKg1WkO^yI(By#u zIXy&zOmImCbPz;Q^kb9~_)tPFWe^6wcL3}7LD-KlOYTDg5r|NRGT<`s5mV{Hn@$>L zDMo!>4yAY67Ko;LD9^jw1Ro)0hE0*q2!jvg9pz}-%G)58tt`9IcP&@sISn}&GPPl5 zEJrBE%2+nH&7q=WTdrdt$P`TMi_PLt{#R*FjWky_BFP&)5Yk8nxa}x6?WFCrl{O8_unp7bR{=;u#rLogN&qHN2~nt@ z4P+1%IuHuklQ9}kSRQ9y%;-cXLWAHjuR-jX2QiTe^yGfK)9wsv;V2RK2($FL471%? zgwE4VM@rRpXKv@lf^a-8g*VJ8^*m3APCbQ{lPRr$t51XGMCU}mhw=&zxFo!Plo8XU zVk_)~oOsdSBthUu4@8`pVTh!QRir4+(-;i1Sw+tt*aT7!XS7Le!L=!&a8f)D)cn6a z#9*^dXiW#9z0com?jA`Q$%!AH(0cz)Y zq=EB!ypC?mhO`!3cs^dhJ`cx@YI=C4*Q0T&a2qpt(F@v~-s(h`clVhx|9VDSIF@qg z1cK9pgoj5N`HTi&6#SCVA{RLy%)4|X+tzr$@B_$O_@|N$?;3uI`AkMQN|BuBt{Xe z5@VCG^e+8D3}BvV8Z|4dTi<&bI<*J&N=s5mMwb{BVX!i8{3ErZJ3ep!XhMIz1V^kM`SRYvKgnK=t#61cOVup z?m;X#(u`ATK=I;$8Yo)kD#ME&){MiEEm^6@qpZXEt4_1H(2V?PL5eJ4%Aw4H(tsu3 zJ&Nq}XO@7qkd_CxCmiCSTJqgl;C{chW2J?w1yVoA8k6wsQ&?G(Y*PdN=s1WydMFx1 z1)$`+l$ip_S81djbQn1a`Dc)X{M*QKkaVPK@;WHC>HHX+rA$@(?E|@TX{Uvs~cCK zvS#iEm|o=u7-JySR~&O=kfgQBBpBzw-?wpCawzA35*0lIN)^4LgCStWIVYf8Scd!o zU;}FYJz$5_h-J++V7DL_)?wbVVog*0yWZ7g3Ub<}xY1aPl*7U-tjvPiR9qo_aa(pL zrOa#{>BNdZ^s^w<537qY>xkRO|I10iWtsM*E#5(eh^@%}s27z-vA9qX$fTSG0;{-j*O~BvEq&|LA-@eGK)ZUB|+*@)?(y@D!!oc*?JDd zTU>9t2R&>v4z;7q@wt;$yd9?qhG&>qDLn6-p2BmV6xD!Kuatp){o!y}S?2lncy>^1 z7w(oOlxtj}Tmj0ooM}U;HXKg)%toUOekF)eDzpwfM?sWBY1?ucA_dKu0kNQw!B0}O zTqS3WLuh&CVJRZtYldE(b7>s>(HV%`*2E^AR@0aFTjYSAwhCqFwxTdg!35E00X3%nR48FRZi6=2>b#>JlEK z3&Y9F{|+vW<}#gV-ml{5Lh5KjBlYZel{9gF#)PLyq<+6C=f?HBEV=G0f~jrv>q zUVWebp&r){>!0c0=nc>dyK+zDHp6eZL%CYqW)p4ygW Date: Mon, 5 Oct 2020 23:17:35 +0200 Subject: [PATCH 2/7] A8 CMC Player with sample music --- examples/README.md | 6 ++++++ examples/a8/cmcplayer.mfk | 24 ++++++++++++++++++++++++ examples/a8/data/cmc_player.rep | Bin 0 -> 1724 bytes examples/a8/data/echo.cmc | Bin 0 -> 2732 bytes 4 files changed, 30 insertions(+) create mode 100644 examples/a8/cmcplayer.mfk create mode 100644 examples/a8/data/cmc_player.rep create mode 100644 examples/a8/data/echo.cmc diff --git a/examples/README.md b/examples/README.md index ce61bbc2..147371d0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -92,6 +92,12 @@ how to create a program made of multiple files loaded on demand * [Horizontal stars example](a8/horizontal_stars.mfk) – horizontal stars done on one missile +### Music + +* [CMC Player](a8/cmcplayer.mfk) – CMC player with sample music + +* [MPT Player](a8/mptplayer.mfk) – MPT player with sample music + ### Benchmarks * [Grand Theft Antic](a8/grand_theft_antic.mfk) – ANTIC impact on CPU depending on the used graphic mode diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk new file mode 100644 index 00000000..e8e82239 --- /dev/null +++ b/examples/a8/cmcplayer.mfk @@ -0,0 +1,24 @@ +const word ADDRMUS = $a000 +const word ADDRPLA = $b000 + +byte stop @ ADDRPLA + $62d + +asm void comm(byte register(a) a, byte register(x) x, byte register(y) y) @ ADDRPLA+3 extern +asm void takt() @ ADDRPLA+6 extern + +void main(){ + comm($70,0,ADDRMUS.hi) + comm(0,0,0) + while os_CH == $ff { + if antic_vcount == $10 { + antic_wsync = $e + gtia_colbk = $e + takt() + gtia_colbk = 0 + } + } + comm($40,0,0) +} + +const array player @ ADDRPLA = file("data/cmc_player.rep", 6) +const array music @ ADDRMUS = file("data/echo.cmc", 6) diff --git a/examples/a8/data/cmc_player.rep b/examples/a8/data/cmc_player.rep new file mode 100644 index 0000000000000000000000000000000000000000..53043b402cabee67ff23e387486afe4815758577 GIT binary patch literal 1724 zcmZWpeQXnD7=Q1h*Y>v23LDH#x(@>o18D9RHK$8}w=yrNR1 ziZHhN4Gd2z!}zGG>Fe|7$&L+9Vkcpp5Y4+a5Q#+Ed7=}J^VSp6U)@iR3p-$-7hDH@ zK3^(dk+~i^Cwu@&MzBo?J0TIJ7e?PoLcUWn*%-OZ=9(kazc zno+5#Vqx>R%80iEFdIt^^cb1^pjB#zar-|)H?$(&z*dk0M&-P;mb#_i(uaEh5w0nG zEVMb1*6efK6^Lg>Jm!S`=E;&5IAJ>ouRvg67aZ530qECHhN^{EAr>OSZW!1D#bR_X z#OFCx7_=k_ZX%J1Nd_#E6_UEtjJr=K!-I^}VekkfDa`PxGx827Jr3%m7k)3)!PIm^ zst+@g1Pi2AklH}*1*sBZ5uNAxkbD0wkX|ylCqk685m1cKX<;-iQpIQ{J*4ydbUtx1 zbRac$x?j5Xaq(n`vEQ9Omdbm>C`jXFzT=HF@lO*JbXRtV;_3Qc7fZF?N z_xFOZW@LB=6wD&cdr%Fj9-s=BT{hLcf6Yk3BNlPe0Z^&(MxIG!Za5&{2`(lvR+o{Q zjBf+0R3&nWca~*EIy5IS=Ez8m5b$5V>_2;1-U;fx>km6RRPGv@?UGl5@~gZZzIz3f z8-ujm4a%lm2e=Kv{_EWxc@IR&M#E>ZTm9O%TS2kO+fYR7@D_;nz}0P#E|)ZgFJ95q z=Ws&#c}j9aZ7kHCn54yDjUJcn2TQv8CUQ&VAB+y_Ax*eFf-;NzD0hp28_U7INm~y24p7$T+)(hs8u?Y@D7*0}>2gGig}e!jIx=g`wHrqCqHS!T zwSze0UQi0VRzZc(3ppD&52Zy$T5c?j+lQ{ARyC*@`f|7%iZRzJ^tZzN(F4N{kiFn@ zF`-$7IuWgbI1$Zp+9%TSmS`Oe(#N&@OUNO=5jo_W!QED}DRucaP@8VFfzpt(0yfnO z`L%`z!RAAPB5U;2WkW;fybyCuO7rn;&ecPSQmSLK4k*z{3SGr^wqkY80WoPVbW%@Pj@AR3v?X@b0qDzdH{<{QvOFJzN8y5|T2Tp?IhA`NJN8u8 zmx^^+TnwMc&xNyOB1u}%+E$okL`Js4!ufEPnkaC=L{XfO>p-wf)CME7!ALn6(Ss2! zKu9C=h3U1bGu4;s$J~d)ai>@R^S2+qDP&UTW2fFbcKFa6`*v;b-mw0K)vH!|mMwYu z$=2q@k2f|fe5|f^!TjoZb04wW=2TTy@K%eNGqDU!;hl=lo#`L1ex5Zj-VYyn3o%H~ zhSvkzyI=NqtzOmHv9!ITt+i!wQ)7dJkpBUADxy5$`>a!zKFf?bY_^y$acj9-rZc8z zP4`(~53p|bKJzKl&unBCG56>q9jA}b-Skqrn*NKrPUWc!lt8^r1*jJ(57kW7P#pC) znIb=tYvfDv2^l7X ztQiMKvlO?e<*A|Sud3B@FeNw9!;9%jqOP2zRW2ADR~`gP7ZtXURqqI+*=Q!4yeKr$ z$*i!L4hB`mGffGnvcW_!l|1NV@Mat&eg?3jRLCk{$)j0JmNQ0n(yQEbav(C!b6LNx F{|m-E50U@? literal 0 HcmV?d00001 diff --git a/examples/a8/data/echo.cmc b/examples/a8/data/echo.cmc new file mode 100644 index 0000000000000000000000000000000000000000..8b1bb51afa9637e6101d145e117bc972d1a4abd9 GIT binary patch literal 2732 zcmb_d%ZnUE7_XU~?Z@;cW)fdXd@Qqnfa2~|DAw+j%@kudy`64`5ibjR@*Yt5dRP|C zq9%}l2ZIy#m5q21a`7M@J$m&ZvN0+uO7n5@(>Q~j@S5?1ye2*?m z(OVF6=8YR$TU$4|9KO8V`9@3&G2U)p z+7Ta#?f#3?pYHBl?+Ox=*P|2V?s!{+Mu_otyDu<*ycI_-*WL`~W}D6Gg z?uQRgPnM2lyY*woA3M=F`S_DhJoWUM)2E+#{_s@~8WkZ`{E(`CcvbinCBlFzGN7sq zu8IJ1tDKM*Wp9KJ#^mLi>`h>-SCdOpl9aNX47rdp-G1M?Pu4^EUVTfqRB5H;L@C;g za&ofV$|y}DvH>TFmMl$CoRAGTfR)6MQ85}vRzwR}=PYDa7i+usktIx)QjpnC)Z`@7)X>;#VqBza+F zd6vRTIjoc?OI8XQVjCjRP6{hYGnmfSF*$%0L(V&SR>HoH(pH;b)S*fF%N`h*EEqoq zn0&yt1ml3ziiwSsVBH=mtp8Q%FmD&k58J~<>;ygpm|B45qOtyR)??>Lmg6ESaH#hp zY?l!`nH?Fgr6?_ip1b!LpmXxfcokeMgNp$W9ri_MFkt6qQqOqj{e;)r$z`*=M5rRP zbQmFI6+%{pBG9BYwREhZ(okuk5AZ#oeAKArQw6932a+AY|8Oe2vdtlDr%~zv>zoic zA24L;rc}oRd4L;@!mFO<zb(ydZLJx2`!wd-PZ~!ms^juajp_gWu z>qVKnfPn>2u@C(36B2kk7M={=H1sGM9&~g>+}V5hBQm4YaR-!j(0ah|sDndl#0mmd zbJQjpXXe`vl^8(PR+5;6Js$f>8##L~Om$pX29Yl zxnWAO4x+PDAddDz-;UGV0SYY0IlPdlrRHiHr0cQXXT4G?QEHx>7JvFd5C?$_Lhi#r z#wA!rK|I)pPqcqI{u7z|j#3dJ1e_%0zXj(uz=_S9AjO%CHqM#kx5^qKWJ(stWN}>H UD!-icLEkcGS9 Date: Tue, 6 Oct 2020 00:36:41 +0200 Subject: [PATCH 3/7] .nfo files added --- examples/a8/cmcplayer.mfk | 1 + examples/a8/data/cmc.nfo | 4 ++++ examples/a8/data/mpt.nfo | 4 ++++ 3 files changed, 9 insertions(+) create mode 100644 examples/a8/data/cmc.nfo create mode 100644 examples/a8/data/mpt.nfo diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk index e8e82239..1f93a87c 100644 --- a/examples/a8/cmcplayer.mfk +++ b/examples/a8/cmcplayer.mfk @@ -21,4 +21,5 @@ void main(){ } const array player @ ADDRPLA = file("data/cmc_player.rep", 6) +//Music by Michal Brzezicki (Caruso) - Echo const array music @ ADDRMUS = file("data/echo.cmc", 6) diff --git a/examples/a8/data/cmc.nfo b/examples/a8/data/cmc.nfo new file mode 100644 index 00000000..7fe6285c --- /dev/null +++ b/examples/a8/data/cmc.nfo @@ -0,0 +1,4 @@ +Chaos Music Composer http://atariki.krap.pl/index.php/ +player modified by Marok; version 2.2 rev01-20 + +Example tune: Michal Brzezicki (Caruso) - Echo \ No newline at end of file diff --git a/examples/a8/data/mpt.nfo b/examples/a8/data/mpt.nfo new file mode 100644 index 00000000..6cc918e7 --- /dev/null +++ b/examples/a8/data/mpt.nfo @@ -0,0 +1,4 @@ +Music ProTracker http://atariki.krap.pl/index.php/Music_Protracker +player version 2.4 + +Example tune: Adam Bienias (SoTe): Bitter Reality - Partyland 1 \ No newline at end of file From d0154253ea604b3d19978df68a5d43b0c3fe3e4a Mon Sep 17 00:00:00 2001 From: zbyti Date: Tue, 6 Oct 2020 00:39:20 +0200 Subject: [PATCH 4/7] .nfo files added --- examples/a8/cmcplayer.mfk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk index 1f93a87c..53229bd9 100644 --- a/examples/a8/cmcplayer.mfk +++ b/examples/a8/cmcplayer.mfk @@ -21,5 +21,5 @@ void main(){ } const array player @ ADDRPLA = file("data/cmc_player.rep", 6) -//Music by Michal Brzezicki (Caruso) - Echo +// Music by Michal Brzezicki (Caruso) - Echo const array music @ ADDRMUS = file("data/echo.cmc", 6) From 758f0945f91204c380e74c42d3a2b6fafcabbb49 Mon Sep 17 00:00:00 2001 From: zbyti Date: Tue, 6 Oct 2020 00:42:19 +0200 Subject: [PATCH 5/7] refactor --- examples/a8/cmcplayer.mfk | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk index 53229bd9..8ed1f182 100644 --- a/examples/a8/cmcplayer.mfk +++ b/examples/a8/cmcplayer.mfk @@ -1,8 +1,6 @@ const word ADDRMUS = $a000 const word ADDRPLA = $b000 -byte stop @ ADDRPLA + $62d - asm void comm(byte register(a) a, byte register(x) x, byte register(y) y) @ ADDRPLA+3 extern asm void takt() @ ADDRPLA+6 extern From d76ae3ff9ec73e90bda24e886000d3a3c437e7ae Mon Sep 17 00:00:00 2001 From: zbyti Date: Tue, 6 Oct 2020 00:50:50 +0200 Subject: [PATCH 6/7] refator --- examples/a8/cmcplayer.mfk | 2 +- examples/a8/mptplayer.mfk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk index 8ed1f182..fc56c59c 100644 --- a/examples/a8/cmcplayer.mfk +++ b/examples/a8/cmcplayer.mfk @@ -5,7 +5,7 @@ asm void comm(byte register(a) a, byte register(x) x, byte register(y) y) @ ADDR asm void takt() @ ADDRPLA+6 extern void main(){ - comm($70,0,ADDRMUS.hi) + comm($70,ADDRMUS.hi,ADDRMUS.hi) comm(0,0,0) while os_CH == $ff { if antic_vcount == $10 { diff --git a/examples/a8/mptplayer.mfk b/examples/a8/mptplayer.mfk index 5f86b7ae..7aad25bd 100644 --- a/examples/a8/mptplayer.mfk +++ b/examples/a8/mptplayer.mfk @@ -7,7 +7,7 @@ asm void comm(byte register(a) a, byte register(x) x, byte register(y) y) @ ADDR asm void takt() @ ADDRPLA+3 extern void main(){ - comm(0,ADDRMUS.hi,0) + comm(0,ADDRMUS.hi,ADDRMUS.lo) comm(4,0,0) while os_CH == $ff { if antic_vcount == $10 { From 2ce1781e91718629242c29d5367725d3772d1f92 Mon Sep 17 00:00:00 2001 From: zbyti Date: Tue, 6 Oct 2020 00:51:50 +0200 Subject: [PATCH 7/7] refator --- examples/a8/cmcplayer.mfk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/a8/cmcplayer.mfk b/examples/a8/cmcplayer.mfk index fc56c59c..128c909b 100644 --- a/examples/a8/cmcplayer.mfk +++ b/examples/a8/cmcplayer.mfk @@ -5,7 +5,7 @@ asm void comm(byte register(a) a, byte register(x) x, byte register(y) y) @ ADDR asm void takt() @ ADDRPLA+6 extern void main(){ - comm($70,ADDRMUS.hi,ADDRMUS.hi) + comm($70,ADDRMUS.lo,ADDRMUS.hi) comm(0,0,0) while os_CH == $ff { if antic_vcount == $10 {