music player_ 16/3/68 mot=ivk 77 dat=ivk 21 /change stuff at re8 and q1y+7 to calibrate tempo org=20000 /origin of music on drum nbuf=34. /number of drum buffers per field lbuf=120. /size of each size=lbufxnbuf /space taken on each field (4080.) mar=16. /margin after each buffer la2=iot 5077 dimension sec(1) /section number dimension msn(1) /beginning measure number dimension bno(1) /initial block number of file dimension rep(1) /tape word pointer dimension ptb(1000) /tape block table 0/ jmp set /initial entry 3/ jmp . 4, law 600 dap pls /tell control not to play dap tys /tell it to type gtc, lio (sct /read in control section dia lio (i enm-sct gts, law sct dcc hlt jmp sct set, lio (i dia cli>>05< /start tape cma sub (5 spq cmi /too close, go away from it srt, law 4 /IO + to go forward, - for reverse spi i cma adm bkn /accelerate distance sre, spi i mot 600 /fwd spi mot 700 /rev mot 400 /go stf 6 clf 4 spi i stf 4 /direction flag try, lac trb /try reading it dat 4500 /read dat 300 /get status spi jmp m16 /wrong block ril 2s spi jmp mtl /block timing error ril 1s spi jmp mtl /end of tape rir 2s dac bkn /actual block number spi trx, jmp . /transfer finished cla>>05<>05<>05<>60<< ano, jsp txx text .anomalous directory_. jmp in amb, jsp txx text .amb_. jmp in nof, jsp txx text .not found_. jmp in wai, cli>>05<>05<>05<>05<>05<P cla adm po1 law 5 lio (634520 div tm2 hlt cli scr 9s div po1 hlt dac tm3 q1z, idx i n1 sad (and lac (law dac i n1 jmp gnn s, ral 2s add temp jmp e svl, lac sfl ior (ral dac sv1 add (rar-ral dac sv2 lac vol1 rar 8s sv1, xx lio temp rcr 2s sv2, xx rar 8s dac vol1 jmp q1z >>52<< q14, dzm i p1 lac i a1 adm i t1 dzm i f1 jmp q15 q13, lac i t1 sza i jmp .+3 /no time stf 5 /F5 means some part has time jmp q77+1 lac i f1 spa jmp q77 /end of part already noted lac ij dac .ps /some part is short q77, dzm i p1 /if no time, make it a rest lac sfl ral 2s add (2s dac sfl /sfl=2s,4s,6s,8s idx ij sas np jmp q10 /check next part szf 5 i jmp q8 /no time in any part lac .ps sma jmp mis /some part is short >>53<< q99, lac t1 /calculate least time sza i law 7777 lio t1+1 sni jmp .+5 sub t1+1 sma cla add t1+1 lio t1+2 sni jmp .+5 sub t1+2 sma cla add t1+2 lio t1+3 sni jmp .+5 sub t1+3 sma cla add t1+3 dac temp cma>>05<>05<>05<>12<< .+.^1/ vol, sni jmp fin /end of music TXI lei lac i p11 ral 1s adm t11 iot 14 lac i p22 ral 1s adm t22 iot 114 lac i p33 ral 1s adm t33 iot 214 xct p44 jmp nxm ptr, lxr . idx ptr lai /make up for some lost time ral 1s adm t44 iot 114 lio i ptr TI|= jmp vol /change volume or end of music law i 54 rcl 6s ral 1s dap p22 lac i p11 /fix up other parts ral 1s adm t11 iot 14 lac i p22 ral 1s adm t22 iot 314 lac i p33 ral 1s adm t33 iot 214 rir 4s X.IX saf, law 20 rcl 6s ral 1s dap p11 law 21 rcl 6s ral 1s dap p44 law 22 rcl 6s ral 1s dap p33 _ p44, lio . lai /make up for more lost time ral 1s adm t44 iot 114 lac i p11 ral 1s adm t11 iot 14 lac i p22 ral 1s adm t22 iot 314 lac i p33 ral 1s adm t33 iot 214 p00, lai adm t44 iot 114 p11, lac . /this location must be odd adm t11 iot 14 p22, lac . adm t22 iot 314 p33, lac . adm t33 iot 214 SXX.> jmp p00 nxm, idx ptr sas (lxr buf+lbuf jmp ptr lai ral 1s adm t44 iot 114 law lbuf adm mpa sas (size jmp nx2 dzm mpa lac (i adm mpf t nx3, lac i p11 ral 1s adm t11 iot 14 lac i p22 ral 1s adm t22 iot 314 lac i p33 ral 1s adm t33 iot 214 law i 15. add mpa lia dba xct p44 jmp ptr nx2, nop nop jmp nx3 fin, lsm szs 60 jmp pl1 law 3 dap 3 law 600 dap pls cla jmp gtc-1 /return to control section .>>05<<./ t11, 0 t22, 0 t33, 0 t44, 0 repeat ifn p22^1,[printx /try again /] constants enp, variables start 0 >>60<< 1