m-20MAR88REV-READ ME SQCPM ZZ0 }CRC CRC"TUDAISY ZZ0' FOOL ZZ03 dMACROS LZB?Y3MUSIC ZZ0MMUSICBOXINF]:MUSICBOXZZXc UeMUTILS ZZ0oNOTES LZB SCALE ZZ0 xbZMUSIC ZZ0b >>>> M U S I C B O X <<<< This library contains a group of files intended to help the novice Z-system user understand and use the SLR relocating macro assembler and linker (Z80ASM and SLRNKP). They are intended to demonstrate relocatable code, PUBLIC and EXTERN referances and use of the CSEG, DSEG and COMMON pseudo-ops. They assemble to produce files that generate "music" on any AM radio placed close to the computer (FCC Class B not withstanding). The programs contained here are fairly simple in their individual construction and may be easily assembled, edited and linked. A ZEX command file is included to perform this step automatically for these files - it may be run by typing "ZEX MUSICBOX" and adding the name of the file that you wish to build eg. To build DAISY.COM you would type.... ZEX MUSICBOX DAISY This will use Z80ASM to assemble a number of files, these files will then be linked together by SLRNKP to produce a single output file (in this case named DASIY.COM). The output file may then be run in the same manner as any other program and will produce music on any AM radio placed close to the computer - you may need to adjust the radio tuning and position for maximum effect. Those of you who are musically inclined should find it possible to transcribe other pieces of music for this system. If you place the Z-system libraries (VLIB, Z3LIB and SYSLIB) in the same directory as the MUSICBOX files then the ZEX command file will detect their presence and will build a ZCPR3 compatible version of the requested file - otherwise a CP/M 2.2 compatible program is produced. For further details examine (or print) the enclosed files. Files included. 1. -READ .ME - General package information. 2. CRC .CRC - CRC info. 3. DAISY .Z80 - Musical score #1 4. FOOL .Z80 - Musical score #2 5. SCALE .Z80 - Musical score #3 6. MUSICBOX.INF - Text file used by ZEX command file. 7. MUSICBOX.ZEX - ZEX command file for building programs. 8. CPM .Z80 - Equates required for final link. 9. MACROS .LIB - Macros used in various individual files. 10. NOTES .LIB - Equates defining three octaves of notes. 11. MUSIC .Z80 - CP/M compatible source code. 12. ZMUSIC .Z80 - ZCPR3 compatible source code. 13. MUTILS .Z80 - Utilities required by ZMUSIC.Z80 vCPM.Z8[20-MAR-88 SLR DEMO]$ CI@v2fy@1  PT%E1h %aW\ q aA$t hZaNdoKV27Y9@P/TQGXB. he\dp1.N z,VdG쓆;Z/cA @U a\.upq :/R/BƂAE)D( -a1Llqope"m/UJC \jnw\aKg@q%Hi5S'x!:B//Nd<:V1dq%Vjw ;2KBGzmt,ڶpPԠWTpBv/sF] Ckvw{;#Xe  -ۖG5P(ȽeDEv:CK{PؒH( %C0B`ot̥;`Ũ` 1VdN#LKq7SIqq$rpfU+uJ"(U !pT@$"A rNn!$-I HEvOT $MvYi'`]DP 1 W4>N ե/ Ȗ,yϜ!L?^E@9 I'Jt8"p4$  Filename.Typ Size Recs CRC 1 -20MAR88.RE 0K 0 0000 2 -READ .ME 4K 19 7D0C 3 CPM .Z8 4K 21 E2BF 4 CRC .CRC 0K 0 0000 5 DAISY .Z80 4K 25 4FF6 6 FOOL .Z80 4K 26 191A 7 MACROS .LI 4K 26 40CE 8 MUSIC .Z80 4K 29 14B9 9 MUSICBOX.INF 2K 6 F376 10 MUSICBOX.ZEX 4K 21 A83C 11 MUTILS .Z80 6K 44 661B 12 NOTES .LI 4K 19 A225 13 SCALE .Z80 4K 23 4E4B 14 ZMUSIC .Z80 4K 31 6E2B vDAISY.Z80[20-MAR-88 SLR DEMO]$ CI@v2fy@1 PT%E1h 14A LE!1eHs{W 8BaUOAh ga jֽlP$I0f fYvegb7 Dr[@%}bW š0IwBdmNy[ MZ$ DNaH [Cu)M_7Db@G@Ph`Z dqoG!7( !=hg*yFHT. OMFՋBqBy`Qjռv ՚QrsSx o!tҕ-HM@\z h G-s[ܻ.  a#;En_ F@s \ ;I;51Ti[$R14A PEׁ'4ALJը@1LR)c,pYtŀ˰LRWd; TsFq:s{n d_N6BqB-l* KS{&2ZuKѻ@t`-ElH, Q@TR0|G _QBAGDQ8DR@<"uz-t=MEEYh2 ;4~dip): -@6R!#$ o2F A hM 8/x>£`1i'Cº 9syamDsÓ; h9: -<@B9 "Q@PDU!6vpGs X L#F 8 PGT#CDGc2$&E!2IsII%NIG%B2j<)䜕-YHM($4"JI%qWKc'LR"I1ɖ2=KI0%ĵ*XM))f˙`I8g$jN5BdڛvxI:'3F˹{8ۜ A|T*^P)('S2Fs:)>贠t6sMw$(ߝtroϓD9I846^!/& I나TG…D{D\ t@ovMACROS.LI[20-MAR-88 SLR DEMO]$ CI@v2fy@1  PT%E1h (8h;a+7LZ_^0 ZScs tu#Ȇѹ3%b^̄eKgV]bل+P . ƪ\͠B9(ݘL^.(Woe,ZH d8%)(t @$)@BpG 0[{qu3r: 1Y؛D%KY /` `FP+`7%PO4QARa@@ |H,8`爃m@*gM HʹY B.(FT,@X  HɾE &y1L!B@oHC[{:`i dRģ􄈃FElѩlM~B(,5쑻P@}WU|3B,6QJ,*˲Pz@Vm$a h[jJ5lM^9:.WڇQj9"dL3R-<'U48})g$2"7V5Fhex|9nX"W''@"ׁh,ZTA: P@ m Ԧ)4 w$P^ A0  Libn X'B%¸_`1ĸL-mFS W*+EpSA =@hHkvMUSIC.Z80[20-MAR-88 SLR DEMO]$ CI@v2fy@1 PT%E1h h>$ D:  PƑ.a8cUQe[Ur1; 7 XwrBFfqT hL%ԙđ4SQrӤ- 'm\ѵC\ le BpwP1 pTw-uiZ`t(2ZFr @in\arqpfѹUq:B\`= W1p7i&Աt9Ae *8.TcF͖[ iB πS]!$B2ڋ5pՖ3F}Y;4M ޗPI8ӱYPmb5-#j7SG]#PL@BduA'8A}eeE$=>wQyp#}MPr43d03,N!" E k)Gh @jUp HB,Cp!(>_` [ˌ(> Xbc%P Eg B !QB $\+ q"eʁJ+ظL TbJ^x $a 'Кp ^E˜P" B0S@D:8AdhxD/Jt*e\vXvnRԗ<|m r"L0C:%@S 9G‰((G"!B@L]Њ f=!!2Dpp&%7p0d򘪒g: ,Pb:D' Y|S0Xf,P9 . S|JFIhTKxx+Е+0rvPy jJi [DA#EM(`h9A'څZCHMVl1;A|ͳ?T,\'-y0AF"bFBW KH:*@N @IvAl %ɥYb~ UPViݩmۣ@h'u~@u6EvPCo.2)h;TxiJ8S $@ }XɊKUZқp *`Xk (IAff@MVzMH 菑jJmhm͟W-$tvyOJA񭍦Ub~ ׳(.2*krTڎ1m!aH0B?!]> &(C+%E3?aB:X D-X <' ~eN@4*MfmɔAJ- BL\fS a&W\^LM٪tٰY3Rk=[u}ԑ+u b`FrNtΰ>S޸H2Uj p̷(N3 H This builds a .COM file for the musical selection requested. It is invoked by the line:- ZEX MUSICBOX . The basic code for these routines was taken from an old Dr Dobbs from Feb 1976. To receive the output tune your AM radio to about 960kHz and run the .COM file produced by this command file with the radio placed close to your computer - you may have to experiment a little to find the best position/tone. These programs are primarily intended to demonstrate some of the SLR assembler/linker functions. Current selections available are: 1. DAISY - HALs theme. 2. FOOL - The Fool on the hill. 3. SCALE - A musical scale (covers three octaves). Please feel free to add to these. vMUSICBOX.ZEX[20-MAR-88 SLR DEMO]$ AC| &JdXHr-&NBqCA 3ya7cI 9N'SLTs:mG 1l7&8C(Mo7PI$,e,I).%"GYX^[%L-b^†\1Tt φ1e9{8.Ha>FGmA9JXcY1L4A|&^LbFG'!1VNFEGbZ׼g 1> :д-6Nǣajv'Qܛ.aQыs*##1 Nƾ.Ti% Q|t3G|lMr< }1S5iX.V!as?`RNAs)>W | xK~tsE&GJKb1[ !AN8H(^XD?bl5@X%>& N!WC :3,ҬNJ)xNKL'ޜSJk.i;FQ+!8!_a QhwyR4&F b{Cň I $I 3 % rzDy`Ę"\aNLe&䭖鰾ǙE'%ԺLtSb p x}Y)]/ N:i1Q5.N&BtxXXaȡ!4$vMUTILS.Z80[20-MAR-88 SLR DEMO]$ CI@v2fy@1 PT%E1h *0 jyt$e1LFQu=$DGA6fzѕE,-$DDRfiHpZֽlP Faria.mg-Vx8fe]4anaC#Wz_-:x23"mvӘ6[k6JƟU3 c|]7k=iwTK^tpC7R;-ns(찝wi#@QRXUOiTlu݄Wߓ04Sՙa:KP5Tn 7 Ke0$ɰv=.ziZa2Q<u}a sN5ʝCO$-kƩl[w6E ={pO=][PQxlRYHMy ufzަ]0v;ٴNy)zyΫGY nKq}*YzTi'SgJ1oHP84ӽ i:&K% ʋuN(-'2C:46[\J R}7Ke4vĿjL" 7Su@PSb׶\~WN\'q-^VW:c}/ErW7WW 0"AAeqt7\`n]"E~7Wu~pVIYG_6xHD0ԁᧅ%h(dǂG\A8oU@I4!DAц4NhAUSUUUWUS~Sw\~a*7hTFW[cL*'1h C`7Fu|[FB^r~g5~%tb,ik.!^5 `4ryW5>]FD׷h04Kib_@%rOiudMѤ^1w,UhԗNq |sbu sNGqP xvގ6r.A~Q#Zg7aayfgu%Saf,Hs^y7zwxGS22xAZa˂,9.AC_r7Cv]9DDIv*1#6pR2rpPKzԎ".[)r+tL27<avNOTES.LI[20-MAR-88 SLR DEMO]$ CI@v2fy@1  PT%E1h ~ 6&3 @s1S"IrGDcI90L1T"I L4Tz):n R$B'."o2m"Bp 6#)t4MS%0B!ߍH3$_1M #y@D #R. ˕CiLpG#wPsLV۞-7pS&1sOEzKƴ1k|RAD` FյHeU!eF`Gm#KAhMXv7P8>cUeA͵yxG5DoXcga[ղEJ CpA)<8 IK7/x9ӆ$iH-Ty81rPd mldY6Uj\R@G@Ph\UjU:tFj GM]pF媸R=QejKe oR5Ts IBj/O)t5I10UQHnQeqeЙjehOV.+v߫0elSЀwCxsq Ȓg ê{75ؿdQi`CREf#! m97W^#P>G V! #/@ \o@!\pHDAv)@a# j70ʟYZo] x$А'vSCALE.Z80[20-MAR-88 SLR DEMO]$ CI@v2fy@1 @PT%E1h A%Ƹy- D411o1U:o 0m|HaҸ" 683-Ҍ#&ĴiFͬ s P pAHEL#Gp[F'₪/}yA HQ8DR@z8\jq,G։Ҽ@OT V`^!¸ 2 CgBPč%NWBaV0A ODG7?ƀ ïu`BE]RTT IBt ?,@ !"$'xBڐ, 0 [[,|;4H\2m6v `C`:(E &H"Qb&Ťf1X#Fc*&A"GL:E`D]8R:%yd<!'nCHd .ĕbd &8 CVؿ(#SF7(Bln1BYJ'cQBY-%42vC.$dA@$"<, ML8$f[͉Q6HqJ(BD uM.Db b;'svI><<(H爸|vZMUSIC.Z80[20-MAR-88 SLR DEMO]$ CI@v2fy@1 @PT%E1h C2UcAU[r@:HAtKF gOtUB@Hxd UUh@W%m @$nBl1ɬf Io(0VP-B聡hV' CpA(8 5 š0Iyd!IP [Yf[n$En@BG v]!$B lEjVoA'%j'P-K'8Qbglwd `V;1:D@GeiB>x>$ D;P  PƑ.a8cRhUQe[Us1; 7 wrBFT"qL%ԙđ4SQsӤ- *m\ѵC\!  eFfG&qKn ] ݌ p 9\AWi&6;.8Nš Pu+U)z@ ֆ \QaWcVXF}͵u* x8wGTQtTEA0EB}q d1D4$Y L&%5 0$NDޥbd4^C41Ē'˱@PD)CD1XE0SĄ1. Q8VxN!~bC(s{A=H̸T A8bmtϼ++A$s$1#RV`yP0BK)_Ԁ 8[rЀ<*5AY