DOS pCNJg @ hpNup`dos.libraryz  FX-ripper.docKSong-Catch : This program will retransfer final-files from SOUND-FX to original files which you can load in the program. Type the load name and the save name. This is a preliminary version which will assume that the song is 50000 bytes large. For most applications this is big enough. When you load the song with soundFX and then save it away it will correct the size to the correct size which is in normal cases smaller than 50000 bytes. A final version will be released soon. Club Cr5YG8F`AdblCB\1v!сPXʀ@qJNa] + t*G±F#B6AIId/ 80 6 @&̍DM]=$ >:NUV!@_` P@PUd * @  AA^.D z#AP8=fzP=PzH1=@ zAA#@AP8Yفx zP9jzzDzHzp`c!&1 zP=P:1=@p zAҐ`fP`c!f@zP7HX zP9C֙. V    00 #Px@p2@@`PFpF A(#"d# A၉R ـZ@1@0 V@3561p%b"(9`Qܢܫ9  Q7& N6& !d'H\@+TPD V Av@0? R !WT@_A,@@D +`S+0 X#!p A H?E 2Pl8 p : $ %Q&$S$<!I"@ I0JA@@HĎ dgd @L@ '` N +P h#VF0 -h(\ #y E E < D D j <   j F  4z7`K@"jC@/ A9O@@'B?8ʖC@"-1[@@ ` 0 ( €O# <<|@0,H@-@ DA`?H@& ! `0H4$ @#@ pdW@'@ A`M`3D0zY@&CNa\@@)  eEApU@# PD@! X1_@@%` px)lN\@@% P hL@t: tT:X pB@& @P H0W@"`ZG v<HUXA$K@$ ` U X I* fMj` gp`LM`~ * Wx8z:|<+SFSB6$O "RNۚQJg C NlQa`aLL|NuQNu?rk S@Q` DS@QJ@n4NuH8rt68)aLNuH?>*N&I(O~?Ax?Bz?C|?D~(FORM(0(ILBM(BMHD(@ B, B, Bl B9| kK89C9D9D/|, gDC("CMAPpr+h4T@"SB0H@H@HVQ"$<,m(N.g /,ѯ"$v8֯,,m(NJkJ, fa`a$Jkz&V</CtׯJg"B$,mU f6W(NXJkP"tv,m(N"$v0֯,,m(NJk,Ap BODY"$v,m(NJk",m(Na`"g,m(NpaL|NuH>8I$$0,|r+2,~/@ 2,zp0,xҀA"Op$ԁ"Qvxz:+6C6,|8,~SDSK$O, "$,m(NJkۚQQ / $L|NuH>8I$$B 2,zp0,xҀA"Op$ԁ"Qvxz:+&C6,|8,~SDS$O, 0 RC a6ѯ "C $ /&,m(N&JkۚQQ / $L|NuH00EvaL|mTS@D`*&HtRkRl a&|m`t KւRSBQm L Nu/UTupf |lR@m _Nu,xN" -, @ gf NuagBpNu/$ag!B$pNuH*NaJg (BL`Nup`/ $I BT@"SB0H@H@HVQ"$<,m(N.g /,ѯ"$v8֯,,m(NJkJ, fa`a$Jkz&V</CtׯJg"B$,m* . d" `f +H 0EQNAAbACA@'C&CBCBCyBC%BCUC @Gm(lp q \ 8L   p мg$,6p$jL`O@%@ 4FqZ.<"gjtN +ۘt7u2p4`1F!R$BA`yA#{'Rch+@4 thˀ ӊ =@@8<C8A'NCC6ACX,NCCH2x4 47Q.PZ@sN\G u@$ACC.С!uhP@hh54(f4y4002@(@@ 4j 8 *mO4``P"  + ڈ  RI h!PIDh 0 @q\A:Y @W@b3L N$\]mL]>p8qAx /DW0@?0?>pZ..$  Kc`A{g A33:K#'rƖtNNƦ2 B4BJҁ@@  ݉ ^싀9s`PNil ]T+ۘٞ2.QH 9aCB&55Z41.`AH00@$?$]𡓠T9PQ-S N\22A = =K*+9ۑT0&R g bt]*.A{;3KcBs2Nn!g,R+/v-za''C"(`hw0!+ohh?`pS2u2!D.$Q@1 (`+ۛ8Iv&b2r2m< ,]LA#`JhJ@p0LgnghkjeD|`N8 xpGXЅAfwv&b陈 F +888e,LlA'N eHP @#`U P D-GBpC XA0IT < D@g&R ceh,@͜   @7C f  F HL   h Xx0X20 ` -"A l   A4Zl@2 vffhV70֮BEcenƀpZ t H5}HVH 3X:x!00333H:3t6gH0 hfpi@B`mf0zfPhfl DB@z AX6 1C3xB12t7Cfpnx_`%@@`̠@٬  8b@1! T ~ ཀf*&k&\ce n@pVt|, AX1x `̠ٜP X=B`@@`̠@٬ btȋ Aȏ80SQF3$%A .ܸCp Ab ీ .+H5!01+d5b(ATP@ ] \KFp8 :(0*X0hCO!{ck@q虀$:QZ  [!E Z!@EV m@( PC?&pkH,L @@@`Tp r3]\DM,]BP@A1Q%1FG1a CAPV f8ABp3x;x7cab\]abc8q6uPc@a R tp;A؎ (;8'h4@CY'ld(7h0 VgJA kHP!AP\ z0(@$h@QV)cc`B/plmh@<2c  f   zD1=@Dž. zP9QP>+D~)H~-`dh`Ԁ 4#C3Qu7CYfx1U <͠C&np]@3$ (cfnn@[ 0͠O`!@AL٬I| hbe`؀S ٜJ@P q&0`fPc 2d a@N@ @fHJx!043?3H82 3p@A#dX`)- @ @P(!I*542`2 J}*zi@L``\/gbgjn"3xd5X4X485H1x5$4!@t80` ]A0K0a@4 Ai%U02@,0  @@.g NV.bQ@д2@hvI2B0d@* e L $\JHak y^ؠx(K( "R!, l@ԊA@I@ڀ"Bpgx.T3u0$qrs( $T 05 ,7 )P!4!04!,6P<ژ+ۙ JD  Jԋiuz 8Kd#B,]iNGjB $ m퍬O ,PA)rVx( PP(H\&I< \\JLHIIa”fT ŀ1σ Xb j<]%0,yA̠(7µ񁶀07ҧMm84,غ92!x-@`g-P$ *N@#| A̟a{ckP |kpo vAvB?0ǀZ`A83غ۹ہY+D\>01P 'C!AH'ņ1("6/ Px`E ^28.LH D  L 8 Wjt ,ɜ iM=@A@V@Ѐ!@[ʄ2 ` %Y@&`g&ytg!P$/Wv530< pNGA@SC'NW`@  ņZ{;s` 'P!4 P38h4+rH;@P l h@B Ld9a>O  Y xqqaA\@v@Ѐ!@F0MX hHazޜ llE&W*DM,]@h1PhU B n  #:PL\/`(3( @P,("pn,u2qp"6/4`D L  I 3lEB ޜ4 DM]΂/8@D0 P?x8h<| CAx2se Q$gAA@h+ m퍭C@؃n2v.b@ހ @!9A}  KU\yFzB33ScP`d574(Є @(J!@K *0d(fFhA F!@G` Ϊ@866((b`B)ln@p= _.:!mၨSx yp !:AU T@O^b'WjYm>x3PF32<@HCL\#h4 `PS#< E`@@ H`I}? Wb:d@9ʨDB<@0E@@# 4!`I>_H fP V`$) ?`Y v4}O80j0  @B p "̾8NEO13"a$Q̙qCr%*,`$DIV@@@@P!@@@p #hK`c uBP)AN@~pjB*j@E@BeA.(tR h_cL0 *W`" J"1!z2`` `s@nqU GL@TQ9㈡@0AtX T" _A81 $0Yb $4H1q 1 04 @ ^fƠ*$8-njD@0 Z*EDBHL~PK ŠI@F @@@C[F]'"p<*/ 4 Ha|P2$1_ao 9в~+ s4"LP"@`m } pX3@z Jl(  0 4DBS@h(P'*"2E M*S̘9F/9D5`~ PR@r>HiXQ) HLV`.PHl ! PH pg$ #" *0#@P6 ',$*t3  K†&-&.ARjf à!^5zp>@qri|<4W0pjAuBAP?g !:9Wp"2!h48444241@8& @Y?#@_@@:HG`AX5)xpHs X <PPxh 0P!(B@_@e@:CN@x?@p?@\ BdP@@! ^@& 0<DTx 8X h (H N#5)>*txpt T~%@Yą@` DB Hc0$, $RY8LBHX% b?@ BHX" |!`$,PN B`!`$,xGM`H`00Fă-`*H0P0F 0a Ԙ B,B@0?27P y;0n(O3t)G@+L fL lP`+ d 2R% @ D%F cj@<ؠ@\5JB>jd-@`p-008C Bj*qGP <OxxP@,ArLW ;(PT-I>!H( R0z=Hs(Q.Np dCW `x`CG3@xyRP # !mJS}PƮU؀>pјP::غQIEWBBPI@,8<Ўb<I/Zqɘ}Q|;(A Ag 'Q Cyi4Ņ 0@_h\@4<W+ N( C,,sTB  ͋Х L'`a @`FhSVcd242q!K3\\Jgr(cL2 \! HYS2uUWZ#dDp)<dD<P$0&\,d HCbYGP)_`D/ .&Я͇ P PP@P&(*  B8A4PBS`t#:bV(ZA {xT#tSH()@H$8Pp(1W0P gРsOAg!5X0R@(iXzG$<(`I2 tKaHS1"3Gj2F`Nc @0Z8!D`K  L@!  .a *_ST 1?H80 %sF2`D~vh#QL&`pA`\*>' Ȑ&r D q!! /$ J0?x6(%)> 0Z.J,!)@D7AȠE"\+Q*/D a/ϾKHu JY0{(jȑí 1&H8[ ?4F( TW@`{Aph(<]t@'U(dHFPp! @<ŔK @g98@L? =& Ԁ9!kmCV( vt= A`-!$ xFd,`@(<ӆ=! GP>NU@_bO!AG@ÀР@(h d hPdh 414(14 `  .)&dA+D)~`f@N@"ҞA0. _$Pr ( "p7'P1(R` !BC"$L)qPM´.] D0엑@( s mɣ(`p np'B~eG)Ap-#phw@aB$D`I0#08<(OØH3L )OAA   ~K ~  @1`Х0b VOrt.6.) h#|H [və&n ~ŧa?@! !pjFxظU lpJ *HV@hYA@IeBE<E゠@ɪTHX (!$?!B\<%hT /DqOB$N$c2aX<$_zcǰ|gPj` gę@P@P@P,,AP($7AP@NBr],,! e'[R55`Af hqdM(PLkBA/7:"И(P$*]08(& tl0@芀>A  Lx:{? xB%Pђ |vruaBr 9Y::yP? Y8=a=M@90V "{ g g gNu yLg* yLg* yLg, yLg yLg NuB.`B.`4.`HB2.A40PgT`;BNuarB.T TXk8X;TNuaRB.T Tqj8q;TNunNu.99NuB.3NuNfINuffINu~fINuINuByL y<&H $HXB 9@2ҹDByJKMNaKMfaKM~aKMa <Q <yJ3 y\fBy\3V #U ytfByt3 yfBy3 yfBy3D Df&BDR@B09H@fB@LNu,XB. gh(C-q(=sH=sH/. fn`;sH B63H֮-C =sH ng -n =sH Vg@3 nf=|a8=V+n;n;V0.yJ=nNuV ݍ[X(\:}hS@. xqgraphics.librarydos.libraryabcdefghijklmnopqrstuvwxyz0123456789()!?#$%^+-=/:;.,* change instruments diskplay sampleplay songstop songsearch for a songsave new plstsave the new instrumentssave songdatas save as a modulequit programmST-00:PLSTST-00:SONGS/*%˱@@X,`\!ۃB.AMp#H B 3А-!BKzSao 9г"+܀L H *T`!tE&f)"UM*Sb@р$*& jx5%,%D *u!3-ZG! B!0HW3D21A""L$JL 0(@`c >L pQ@@P*`#М%,# @^Ш0a& 3BڅII#1݃@a>^xt0jfB08"H0A"H,3`\@XL     $Q(r AB!fft6FNN@ @nZ&`2* <LT*)LTxàD0@  5kȇB `  @`" $ 4D{o@ 6 ~p "0dDP" $4 (}ZA0E@@-  6 AR P3@u`"lE`!",8@@`a@Ā(F<:ƘC\`!Pp@C@ @T/.Hp2@00 ` QA Q@Q JH(@P@@`*OH@P@1`UXBʪ x0>p8| `PgP`dD'F3 aE x aEͽ o0b|Cc|@ $8 @AXbP* px Kva\u`cnss0wk]u]M@?!1 9l9* N|>pyevpi/ 9:( 49W/{g:K#'C'OJr JH $#/$oU4ĜD:$aZPԠ ,IeqQ9Qh `G I**)+Ȫ(10 ÄEBT@T\PVR\BES@]RJJҒr’*r <8|R@, `J4a} / Gi 0r|Rd !K  !‚%Ț!|8K e07pYh A(@}zE:$d<H?dB@-hFG'_!BB1E !(P5 8 "0 |TX RMAD Ce8 u$Dh$$0@p hXLlC3#070Q^@hCPXb\`d0ư2/2ZK^N\Kjp__l_Bl ʹT[ :4k%w @,00dFȀ`C(HPdH ]d̀PI8S4 ৠH8 m*uJd{PL,f`I'ljgb=KKBhoR] Xh!tĈ!D*##rP сYP&8 k XLgK"ZԀa@A@ 8NF΄d\x >  `DcgD$#62aPK@ 0!hHĜ8AG2@%`A0` K’v.Nad\ t3u6 ."BH1Ye{W X2h0<q'SSK;sg{eaAv YY:@^H^DSH@(Y6<@lEPlJdP3W{I'7,P0 0G㠄.`q1a/.0؁!SЂā4_D"'Q#?xC$~PBZ?D@'l&d:CPh3P,\+ŭy'9<&GtApS@! X8(@@(,! , gF,[^X2WxxjPL D`@F+PV̑hN8[\2!7j hQ"  @0:J#F )`sB0Бp'!ӓXP 'G`00KX3Y@@d& Q?8! Ey'vEJGD` `ʞ#Et. nnhPBh(@* @ybBRRj\  PDԠ<AT+ @ A`@A@ .f#8A/< qBDr Ga 81T 6 ( L >HK@0e!|eJ!K,(pQ9!*6   =t(hR`jQQ2P3K ^@#`@@*:dB@D! pDC x1{ @C\G /yd0. (R/Y@,LLHRN&p(;p="A_ Ā@]D]'ڐ z$, ǘ~F4`&f04D)8GO 3! ( SICy2tKWNx/H  `AF=@GA"^ׁD$ pb P$@2SPRܫ@!9{ K;s{q'C#B(x% <qD˟#"@0AĤ0 FH .>1DG4 !0@ $<CB:`(aʤTB%'aI=r>%@  ` &JASb  !)!s}IȒ8 ]'?0I \ u/#0Pppp l0G0`i0Pl0Pk`0Pn`0Ph`0Pm0Pj0Po 0Pi 0Pl 0Pk0Pn0PhfC_Pf0 ({4(!jd0ԖX ,I8<'1B +h-v P y"IJ#LH $ag ^p9?@ 2 @@m +0NhI `+d 8KH PFL` e'Iha" DJ$$) QMQ0`(Uƀhϊ Q sЂt ~eJ$(Fr H̠+"{4^ bD`$  D$B>x ։8 x  (Hr(hPpltϘ+ɘˉ# 0{2=Q!C  `%I 0\aF`H-!C$Dq^xz'!R6GטHW{Y{$BB+?@R#2<&EM [eD HhIs,' aWq3`+%Ƅ P HHW5lq^뫋@ 3 b8 ?@C@s|w weFR -U &`P@4LT|ڂh“ :؅J{ V'!0QBwruGqTYb9[ T&@<1FaD0)0~]` Xp@(@ XzpX*$ IA^E7Ճ_RjRf?Y=85PH.1Y DT-pl,$@H{L$ Q 4P8`@F |i=GxIЯI|0sZ!%`1XW0PqWPs @  0 : 򽫀<5 (13 'KgK366$ * 888<e$Dd ,\Lm LQ"'[R55 8S4nntEA1Q@ 8m"`Pa@xB„]HMm, ":o jpE~78T p:ĉA@Q0#B_k ?@aO(E8dh! $Bb@Bȩ` `G@) 3a!C0zfz?BA W!2֗T<'0}~`GԠP>c .bx@ QG'@p)82@AN'!9ੀ(Jk @A  `E#9B" x)3 j0:  '0  }t,  AB/B8 e  r`ld+% !8O&.L`d(,Td`i@/SP`A]';f_ѡ 8@0, `K&j !.- 8 :2g% X@-0 ~@eq( UU+D~  |"_OpY:[;8)NNΉ$| CB6@@(8" !Dyt̆e@:%%0E@@# 4!`I_H fP V`)bBx`@߰$Y/"O}sC0q !Ag ^_ (L8ŃFE p m0a $+fpdpU @@S@ (`A ` pa(CY 9(01 xCES@Hh@T#%nԃ@ ` Ԕ2; tF kBNPb5D"A% rX4+D  ,F$\C/B3KVPt ; PR=RP;1]d4v>: hunt through the memory to find the module-data. If the program finds a module,it show the starting adress of modules,lenght and name. If there is no module in memory,it returns to the main menu. F2 - Play song This one allows you to listen to the song (if there is module in memory.) F3 - Save module Program saves the modules to the modules directory in disk ST-00.(Make sure you have enough disk space!) F4 - Save songdat 5v`a Program saves the songdata to the songs directory in disk ST-00 F5 - Save samples Program saves the samples to their current disks. ALWAYS use the option "show samplenames" before trying to save samples because you must have the disks with the right names. For example,if there is a sample from ST-11 on the list,you must create yourself ST-11 if you do not have it already. I think this is the most useful option in th 6ҝPis whole proggie. F6 - show samplenames Look above. Anyway,I hope that this little program will be useful. If you are interested in getting in touch with us then try these numbers (17.00-02.00 hours): Icebreaker +358-31/181527 (Peter) Axa +358-10/58393 (Aki) Zados +358-51/22544 (Petteri) The Man +358-37/41579 (Allu) Press - F9 - to search more -- Press - F10 - to exit st-00:songs/ tfst-00:modules/mod.ch mc R "h|0r  .>d(0@LXlr@^ft&.>FV^nv nful option in th@z+r"y09F`,RBRC`$y09F&J7"f`"yApQA (|22@"RyFNu,$*JP`lr  0",4:P^st- :,x80 p  PED &;c  [0 p 1 ;c  [0 p c/PLSTADDER TYPE TEXT ;c  [0 p DOC9 ;c  [0 p SIR TYPE TEXT ;c  [0 p DOCII ;c  [0 p FX TYPE TEXT $;c  [0 p 15 ;c  [0 p Songcatch TYPE TEXT ;c  [0 p TNM ;c  [0 p z1 TYPE TEXT  ;c  [0 p SEKA ;c  [0 p EXECUTE CONLOAD type text TRILOGYAlbert S.@($  *&":&6T8 ^X +HY` !dP*I+ C 0cYdmB湘rB$S/(Xʘ'* Pb8(jr|<`>!DfbPs3~Z@:Y0 o <$@0<@`f`39EP0  `) ( GD|< !>|``G| x|Aa9pP P7@q Slj `=I`3AlC3X=@(P   2&0^PP;?~_@ E (> X@0@0@,@L@ $f E %'#`Ԯb dE@PO>5A(0AP4Đ,! EW@(B!P1.@h00edH D2O"8t =U| } ^-0Jp"@`򇼪 D$iIJ$:@<@B A? %v :J&0P? x`7xF<7RD2#DK/Q/uZ`k_$?r ]B7tD$0CGC!!@DAF@`D\BTrdh~$FQ  D PbXL; 5A0 4 p '@@M ĎN8G@BLPs0aS,/6<:<( (a̤ ARAU? ~8 m( JRL@Y \8$PJSy0]87SB Pć&  0 @,ACB@Z >FA+(0DR@YA @0*̀ZiX.Ҡ  3Y QH0 X ( HPZ! D@O!HHP@P@P@'U(e  *)b` n2ti A D_#<e]tx8a8 O4l @N0$Ѐ-a \8h8T%wE  "QVAG0!Ҡ2@R@ ,8  R AH@A,@E"p'=p  ЀWb:DQF?B1?v"#2WbvD/P0!>CE,,$ &%EA?8'XL^FpІT!!?AF<&e^ P% *, vXH$P| $NH4d+t@ o _d t'P$D(d!P 5H&I\)0?9r0Bx30bTTt@0lmbilgBjflj`(bU@L0"030" @?u :"ppApvN4P1.4 $$0 %Ky CJ5b< K1Ј'j@,.\*@,E!Ob 5PpA;ʠC04909t  V  H 8 (JqRE`dPa\ t_ `)Cp 0#)و0K #Cp 06P` l `lqp"F(N@9()h$ @3`pH.B:HKE( Cp ?DX\ $/*OB(7Ԩ%J@,+~ķjLŸ .@RE 'E@Ap*   ) pɱ$ =C<6 d;ˬ%!$Ƀ/f&AHb h@ۀ7I?~PЁӁaPM @T*5  (&4ao '!>N9eqpuB<JAoWI?~ЁӁaPM%T0*7(UO_H656( ~RI=xBthA! HDn@Y+4T'uh1P 0!P4I,(.PPF8 @Q& 6 !%K)$Рp@`@1#t jSp?-x3p07( ^ A@#E*EN`aTEO8$:AC(<1CC -o q%0:%H1.B2s T `̐8F xEn{ck9':'.0x,Fm @? 2x, 8 ?.`@x/:F0) ʇ =7xru,Rf0ents that the V9.0 version provides is the ------ ability to change the volume at any time during play. When command 12 ($C) is selected, the volume is set to the value contained in the info byte. The volume will remain at this level until a next SAMPLE is played. At this time, the volume is reset to the default volume level of that sample. Example: C#1 1C22 - Set volume to $22 and use instrument # 1 to play the C#1 note.  Eg D-2 0000 - Use instrument # 1 to play the D-2 note. (Volume level remains at $22) B-1 1000 - Use instrument # 1 to play the B-1 note and set volume to default value for that instrument. Filter: This Soundtracker version allows you to turn the lo-pass filter ------ on/off. Example: G#2 1E01 - Turns the filter and the power-led off ! --- 0000 E-1 1E00 - Turns the filter and the power-led oFoMn ! Warning to all Amiga 1000 owners : Don't make jokes with the power-led because some A500 and A2000 owners will not be happy when they hear your song. Speed: This function allows changing the speed during play. ------ You can only enter a speed between 01 and 0F. Setting the info byte to zero doesn't effect anything. The normal speed is 6. Example: D-2 4F05 - Set speed to 5 --- 0000 E-1 0F00 - Nothing happens to speed. --- 0FC3 1- Set speed to 3 G-2 2F06 - Set normal speed If you load another song it will be played with the actual speed. All songs on these disk are re-written to their normal speeds. (by D.O.C) The Playroutine. ---------------- The playroutine on the SoundTracker disk is for using your music in demos, intros, games etc. It was written using the Seka-assembler and the source of the routine can directly be incorporated in your demo/intro source. When you aHB@HxB/,LNJOHx Hx Hx Hx/,LNJvOHxHx BHx/,LNJ\OBBBHx/,LNJFOHx/,HNJPOHxHxBB/,HNIOp0, @p0, Hh r2, "At4,Mv66(Hi v6, U/v6, ]//,HNI|Op, @p,Hh r,"At,MBv66(Hi v,U/v,W//,HNI&Op, @p,Hh r,"At,M쀊v66(Hi v,U/v,W//,HNHOB/,HNHPOHxHxHx B/,HNHOHx/,HNHPOHxHx/,HNHvO Hx Hz/,HNHO HxIR%Hx/,HNHNO Hx Hz/,HNHO HxHxd/,HNH&O HlXNE XOrlp` HlXNDXO/HlX/,HNHhO NB mHhB/,HNGO mHhHx/,HNGO T mBBp0, @Hhr2, $-Cv61(҃ &-僒//,HNGhO p0,Rr2, ЁR/t4, &-Ar208ԁ &-僔//,HNG O p0, @Hhr2, $-Cv61(҃ &-僒//,HNFO p0,Rr2, ЁR/t4, &-Ar208ԁ &-僔//,HNF|O R mR JM[mHxHxN+XO/NFPOBp0, @Hhr2, "At4,Mv66(Hi/,HNFO p0,Rr2, ЁV/t4, Bv6,Ct418Hh/,HNEO p0,Rr2, ЁV/t4, //,HNEO R mFp0, [/r2, /HxN*XO/NErO HxHxN*XO/NEPOHx:Hz/,HNEO p,[/r,//,HNE*O Hx Hz/,HNEO p,[/r, AHh0/,HNDO HxHz/,HNERO p,[/r,//,HNDO BHxHz/,HNEO R mN|>NK|=N&$B,/AB,2B,2pp9@N` Hz>N%^XOL0N]NuYou will loose all this (boring) data... OK ?Whoops !!!NUH(-*- ,- `V ` lf$HzZN(XONJgN3f` HzVN$XO`"HzkN(XONJgN4d` HzlN$XO`Hz~N(XONnJgN6` Hz|N$XO`Np`NJ`HztN(|XO ,S"g ,s"fN5Hz|NJXO`: ,q"g ,Q"f HzeN$0XOHxN=XOHzuNXO` HznN$XO`Jpxd 0;N`PJl2g Bl2N,X`J,>f|>N+9|2`( ` N`N!x`JgS NSsave note for effect move.l 4(a6),0(a5) ;set samplestart move.w 8(a6),4(a5) ;set samplelength move.w (a6),6(a5) ;set period move.w 22(a6),d0 or.w d0,enbits ;store dma-bit move.w 18(a6),20(a6) ;volume trigger chan4: rts datach0: blk.w 11,0 dc.w 1 datach1: blk.w 11,0 dc.w 2 datach2: blk.w 11,0 dc.w 4 datach3: blk.w 11,0 dc.w 8 voi1: dc.w 0 voi2: dc.w 0 voi3: dc.w 0 voi4: dc.w 0 pointers: blk.l 15,0 notetable: dc.w 856,808,762,720,678,640,604,570 dc.w 538,508,480,453,428,404,381,360 dc.w 339,320,302,285,269,254,240,226 dc.w 214,202,190,180,170,160,151,143 dc.w 135,127,120,113,000 muzakoffset: dc.l 0 trkpos: dc.l 0 patpos: dc.l 0 numpat: dc.w 0 enbits: dc.w 0 timpos: dc.w 0 data: blk.b 00000,0 chan2: tst.w (a6) beq.s chan4 ;no new note set ! move.w 22(a6),$dff096 ;clear dma tst.w 14(a6) bne.s chan3 ;no oneshot-sample move.w #1,14(a6) ;allow resume (later) chan3: bsr.L newrou move.w (a6),(a4) move.w (a6),16(a6) ;P.{ table. The Keys. --------- The original version of the SoundTracker had a German keymap. This Soundtracker supports a standard USA keymap and this ensures compatibility with ALL Amigas. The keys on your Amiga have been grouped to represent the layout of a two-octave piano-keyboard. You can "shift" the keyboard one octave up or down with the aid of the F1 and F2 keys, thus incrementing the range of the keyboard to three octaves. While editing: -------------- Cursor-keys - movQm =e cursor. shift + Cursor-keys - move cursor fast. alt + Cursor-keys - move cursor faster. F6 - Set cursor to first line of pattern. F7 - Set cursor to 16th line of pattern. F8 - Set cursor to 32nd line of pattern. F9 - Set cursor to 48th line of pattern. F10 - Set cursor to last line of pattern. DEL - Delete note under cursor. shift + F3 - Cut selected voice of actual pattern to copy buffer. shift + F4 - Copy selected voice of actual pattern into copy-buffer. R3 shift + F5 - Copy copy-buffer to selected voice of actual pattern. alt + F3 - Cut selected pattern to copy buffer. alt + F4 - Copy pattern into copy-buffer. alt + F5 - Copy copy-buffer to selected pattern. Instruments. ------------ You can use up to fifteen different instruments in one music-piece. All instruments are listed in the preset-list. The volume is allways 64 but you can change it to each value between 0 and 64. To change the other values of each instrSxument you have to load the preset-editor. With that tool you can change the whole preset-list. Notes. ------ C#1 3 C 2 3 / / | \| / / | Arpeggio,portamento,volume,speed and filter info. / / Command / Inst# Note to be played. Note : This is simply the note that must be played by that particular ---- instrument. Inst# : This is the number of the instrument that Tmust be used to play ----- the note. When the instrument number is zero, the last selected instrument will be used. Command : This number tells SoundTracker what special functions must be ------- preformed while playing the note. These functions are as follows : 0 - Normal play or arpeggio. 1 - Portamento up. 2 - Portamento down. C - Set volume. E - Set filter on/off! F - Set speed. Info : This byte contains the additional informat UQB/ion for the commands. ---- Arpeggio : Arpeggio is used for simulating accords. It does this by -------- rapidly changing the notes while playing an instrument. Arpeggios are selected whenever the info byte has a non-zero value and no other commands are selected. When arpeggios are used, SoundTracker looks five times during the play of one note, at the information contained in the info byte. Each nibble (4 bits) in this by Bexte defines how many notes SoundTracker must add to the the note currently playing. In each of the five passes SoundTracker does the following with the information contained in the info byte : 1 - Add the first nibble to the current note. 2 - Add the second nibble to the current note. 3 - Play the current note. 4 - Add the first nibble to the current note. 5 - Add the second nibble to tW*crolling with ALT or SHIFT + Cursor Keys Copy function for patterns with ALT + F3-F5 All Cuts are going to the Copy-Buffer Record-Instruction Better KeyHandler (No auto-repeat while gurksing with disk) Better colors, better styling and better charset Directory routine with recognizing same disks 23 Channel spectrum analyzer Save+Load packed songs (I'll include it after typing the text) Max Instrument length 32K !! And last but not least: Full integrated Digital-Sampler withOmy Cut Functions And a possibility to save digi-samples P.S.: There is a possibility to Quit the ST (If you are good,you'll find it) Patterns. --------- Any piece of music written with SoundTracker is build up from patterns. SoundTracker holds a table with information about the sequence in which these parts must be played. With 'Position' you determine your position in the table. With 'Pattern' you define what pattern to play at that position. 'Length' defines the total size of theYn=ve.l d1,d2 subq.w #1,d0 init2: move.b (a0)+,d1 cmp.b d2,d1 bgt.s init1 dbf d0,init2 addq.b #1,d2 init3: move.l muzakoffset,a0 ;** calc samplepointers lea pointers(pc),a1 lsl.l #8,d2 lsl.l #2,d2 add.l #600,d2 add.l a0,d2 moveq #14,d0 init4: move.l d2,(a1)+ clr.l d1 move.w 42(a0),d1 lsl.l #1,d1 add.l d1,d2 add.l #30,a0 dbf d0,init4 init5: clr.w $dff0a8 ;** clear used values clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 clr.w timpos clr.l trkpos clr.l patpos iniZh t6: move.l muzakoffset,a0 ;** initialize timer irq move.b 470(a0),numpat+1 ;number of patterns move.l $6c.w,lev3save+2 move.l #lev3interrupt,$6c.w rts stop_muzak: move.l lev3save+2,$6c.w clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 move.w #$f,$dff096 rts lev3interrupt: bsr.s replay_muzak lev3save: jmp $0 replay_muzak: movem.l d0-d7/a0-a6,-(a7) addq.w #1,timpos speed: cmp.w #6,timpos beq.L replaystep chaneleffects: ;** seek effects lea datach0(pc),a[6 tst.b 3(a6) beq.s ceff1 lea $dff0a0,a5 bsr.s ceff5 ceff1: lea datach1(pc),a6 tst.b 3(a6) beq.s ceff2 lea $dff0b0,a5 bsr.s ceff5 ceff2: lea datach2(pc),a6 tst.b 3(a6) beq.s ceff3 lea $dff0c0,a5 bsr.s ceff5 ceff3: lea datach3(pc),a6 tst.b 3(a6) beq.s ceff4 lea $dff0d0,a5 bsr.s ceff5 ceff4: movem.l (a7)+,d0-d7/a0-a6 rts ceff5: move.b 2(a6),d0 ;room for some more and.b #$f,d0 ;implementations below tst.b d0 beq.s arpreggiato cmp.b #1,d0 beq.L pitchup cmp.b #2\x3,d0 beq.L pitchdown cmp.b #12,d0 beq.L setvol cmp.b #14,d0 beq.L setfilt cmp.b #15,d0 beq.L setspeed rts arpreggiato: ;** spread by time cmp.w #1,timpos beq.s arp1 cmp.w #2,timpos beq.s arp2 cmp.w #3,timpos beq.s arp3 cmp.w #4,timpos beq.s arp1 cmp.w #5,timpos beq.s arp2 rts arp1: clr.l d0 ;** get higher note-values move.b 3(a6),d0 ; or play original lsr.b #4,d0 bra.s arp4 arp2: clr.l d0 move.b 3(a6),d0 and.b #$f,d0 bra.s arp4 arp3: move.w 16(a6),d2]%>9 bra.s arp6 arp4: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea notetable,a0 arp5: move.w (a0,d0.w),d2 cmp.w (a0),d1 beq.s arp6 addq.l #2,a0 bra.s arp5 arp6: move.w d2,6(a5) rts pitchdown: bsr.s newrou clr.l d0 move.b 3(a6),d0 and.b #$f,d0 add.w d0,(a4) cmp.w #$358,(a4) bmi.s ok1 move.w #$358,(a4) ok1: move.w (a4),6(a5) rts pitchup:bsr.s newrou clr.l d0 move.b 3(a6),d0 and.b #$f,d0 sub.w d0,(a4) cmp.w #$71,(a4) bpl.s ok2 move.w #$71,(a4) ok2: move.w (a4),6(a5) ^Z rts setvol: move.b 3(a6),8(a5) rts setfilt:move.b 3(a6),d0 and.b #1,d0 lsl.b #1,d0 and.b #$fd,$bfe001 or.b d0,$bfe001 rts setspeed: clr.l d0 move.b 3(a6),d0 and.b #$f,d0 move.w d0,speed+2 rts newrou: cmp.l #datach0,a6 bne.s next1 lea voi1(pc),a4 rts next1: cmp.l #datach1,a6 bne.s next2 lea voi2(pc),a4 rts next2: cmp.l #datach2,a6 bne.s next3 lea voi3(pc),a4 rts next3: lea voi4(pc),a4 rts replaystep: ;** work next pattern-step clr.w timpos move.l muzako_^^4ffset,a0 move.l a0,a3 add.l #12,a3 ;ptr to soundprefs move.l a0,a2 add.l #472,a2 ;ptr to pattern-table add.l #600,a0 ;ptr to first pattern clr.l d1 move.l trkpos,d0 ;get ptr to current pattern move.b (a2,d0),d1 lsl.l #8,d1 lsl.l #2,d1 add.l patpos,d1 ;get ptr to current step clr.w enbits lea $dff0a0,a5 ;chanel 0 lea datach0(pc),a6 bsr.L chanelhandler lea $dff0b0,a5 ;chanel 1 lea datach1(pc),a6 bsr.L chanelhandler lea $dff0c0,a5 ;chanel 2 lea datach2(pc) `I,a6 bsr.L chanelhandler lea $dff0d0,a5 ;chanel 3 lea datach3(pc),a6 bsr.L chanelhandler move.w #400,d0 ;** wait a while and set len rep1: dbf d0,rep1 ; of oneshot to 1 word move.w #$8000,d0 or.w enbits,d0 move.w d0,$dff096 cmp.w #1,datach0+14 bne.s rep2 clr.w datach0+14 move.w #1,$dff0a4 rep2: cmp.w #1,datach1+14 bne.s rep3 clr.w datach1+14 move.w #1,$dff0b4 rep3: cmp.w #1,datach2+14 bne.s rep4 clr.w datach2+14 move.w #1,$dff0c4 rep4: cmp.w #1,datach3+14 bne aU[.s rep5 clr.w datach3+14 move.w #1,$dff0d4 rep5: add.l #16,patpos ;next step cmp.l #64*16,patpos ;pattern finished ? bne.s rep6 clr.l patpos addq.l #1,trkpos ;next pattern in table clr.l d0 move.w numpat,d0 cmp.l trkpos,d0 ;song finished ? bne.s rep6 clr.l trkpos rep6: movem.l (a7)+,d0-d7/a0-a6 rts chanelhandler: move.l (a0,d1.l),(a6) ;get period & action-word addq.l #4,d1 ;point to next chanel clr.l d2 move.b 2(a6),d2 ;get nibble for soundnumber lsr.b #4,d bԼ2 beq.s chan2 ;no soundchange ! move.l d2,d4 ;** calc ptr to sample lsl.l #2,d2 mulu #30,d4 lea pointers-4(pc),a1 move.l (a1,d2.l),4(a6) ;store sample-address move.w (a3,d4.l),8(a6) ;store sample-len in words move.w 2(a3,d4.l),18(a6) ;store sample-volume move.l d0,-(a7) move.b 2(a6),d0 and.b #$f,d0 cmp.b #$c,d0 bne.s ok3 move.b 3(a6),8(a5) bra.s ok4 ok3: move.w 2(a3,d4.l),8(a5) ;change chanel-volume ok4: move.l (a7)+,d0 clr.l d3 move.w 4(a3,d4),d3 ;** calc r MIBepeatstart add.l 4(a6),d3 move.l d3,10(a6) ;store repeatstart move.w 6(a3,d4),14(a6) ;store repeatlength cmp.w #1,14(a6) beq.s chan2 ;no sustainsound ! move.l 10(a6),4(a6) ;repstart = sndstart move.w 6(a3,d4),8(a6) ;replength = sndlength chan2: tst.w (a6) beq.s chan4 ;no new note set ! move.w 22(a6),$dff096 ;clear dma tst.w 14(a6) bne.s chan3 ;no oneshot-sample move.w #1,14(a6) ;allow resume (later) chan3: bsr.L newrou move.w (a6),(a4) move.w (a6),16(a6) ;Cd g~}߳ϟ>߷{g?~͇~?>۷{ϛ~|y~nݿ{۾{ݻ~̙>72< 3 ?0 Deg߻ σ?gςϟn߻on~|n߻6?ݏ?ϟ=g͟>w|wn|ݻ၂d7gL 2  ?σ?n?ϟEf ssn{Ͽ>ݏ?>o{{ݟ|wv{?>?gLd&s2<8~>|σ?~>3?n~ww}g}ݏ?nϻvm}|wnݻo ?gL3 3Fg8Lσ?Xon=౞ݏ?w?g|wߟw9g?ɟ 3?3?σ?~>3?nGh)uk}~ww}g?ݏ?nϻvm}|wnݻo9gL3 3g?Hi, qݻvl|vᙂdɐ?g߃?|aߏvlIj8(ov3&Odɐ?~ϟcv;w3ϻ۲{w~~ϛ6?{ϻvߟ0ޙw;~n>Jk-d`un-s?vwjb=3c}o=>7~owwg7xw|@w|wn7>g>p&Lϙ9 0< =3ߟw|,o=#~ws7xߛϏwwn>g>p&L7Ax&ρ309 0  ౟?0n?=#wsݻown~s@70 | 0 Bc!?; bσ>|=>|fwǟϏ~w?ś?7 0< 6zSLBaa vB= ksa ? s%|&B̦sO%g糁sab@0 i)dxi<JxP"xsdTx^̤HVIP$SD[p; LJCwx< s9'HGD G @ AY'@a(l<s0l9"${0Q`  ù!wg?G ,w= 0+P0pPA°gf< j$ <p8 ? =AcIW4&3~F!haxs<) 3Px< C;a' <@Sp= z0Op;x;N<@S$3EdWLj6{J0`S| 炂< ~{9 $r0WPO&_Dz)y$ abx3 '5↸\P+ 7oQP"MO7jF)O}sokDž%9 fH:X*fl MI F VdJ0Z" = vX0sj<,EnUSC3 :WGZFP |9Y^66 < ?@xh2 !> QڣS0?#3ֈB{4?8x;2xѝqG(t?6 ?:bc0}e#"󨿉cGs4U;Psɩx<&+vM\-̞I_LM mhGW&@GwF1wb#t {42'6M660aO̜ņPZOR6-qyCp˰(OS0Mtv:G#C1z; [,!G\Ltz@x9DOvf<L")ٽp \G m ݝш;3W5 z<:;*4AM,@G'C ioxtƈh^2x MLM6I~LXMXLML8M8M LL0{M>y))))))))))) ffLff,fflfffffFff&f8aF  8 U`@‹`0 e~YP dReHA,& !l(\ҠybxAt%xaV%D+ fl 08 04 @4 32 0< +2 ưu_$qLF*-GCǡP6}yz@t? z ah1|4 CǡF@Cǡh1}4 > zf@Cǡ @t>Z zh1~ Cǡ6@t> z!h1? z@Cǡ1~t ?: z]1}tGCǡn@t? z=a1| Cǡc0 AC`?1y< z}}@oCߠǡ31x  81z A \1y  ! 0 =h  Æ=8c1 #= R8c1 @=у8ca0ʀd(Yr"`,i9 R e3k 5b<@T,< CuD5ݞHhy$`U@0?,rz$}U@e RT@|:L'"'xu(;x3"f @ <,}s%\#$cL4{GHg80bC0 91$&!0y͙" T!~LXcG%ᖐqeFE =*C'82X:F06׫5L +l1+!b ;#0*OF:$#d@p'X{ =5sC&4#fr' #(`D"%lg93s&f i23&`™s"f qPF Ā`d!2c`%Ă݀ @3>\Ÿ)34O EC⡮N(s_'gJC\cȀy< bqd@?;~S14'&< a^8`@C }3̼ `E2Ow>=GA#qx1vǁNO@+n@S~3y>փx19>o|6@OlÊc."sa K .?w;‡;-x P~~"u8[S?~{C;0~ x>o6co61<3><D<\_H/ pѤxw8h<C4i!4 Gc#b1 )xS"?6y>6#C4i?H) GO8h< 1FS!4RǔDz!x˅{2-GDJg8%)ahA pVdBk,#M'')١'5(p)5Nz^y'@nx|JnS`(`!^8/xţL)a)NG3c|`Sh#P@+KHPx8:3 VDRyHË@17E vx E;aҴ ~@w| Uc~@st-01:claps2@st-08:clash@st-08:clash3@st-07:clave@st-05:clicstrings n@st-02:cliop@st-01:closehihatX@st-09:com1A@st-09:com2Q@st-09:com3@st-09:com4@st-09:com5@st-09:com6Q@st-06:congaO@st-04:coolbass@st-02:cordpiano| /C @st-01:cowbell@st-06:cowbell1@st-06:cowbell2 ]@st-04:craxl@st-09:crystal1@st-07:csynth 0@st-06:cymbal.@st-02:cymbal2r@st-05:cymbaseV@st-05:cymsnarey@st-01:dangerous @st-03:demodrum @st-01:detune "@ jst-01:deepbass@st-01:digdug@st-01:digiharp@6C^!U=]"iA\M#'O*4b"`ȉ|%9JL&­3#F6G``Et<4v CC cy`Mꁁr<da@H99b(PGDL >Vu!&D0" 0DۡAD t*08Qa88\<s LH\,#4g 4*stt<tL;Qb&51BTL4"2 pN  f!BF&`0 @0xpt wX0 xm3;!d Ws̎wX3 (<f=39nj4$`\BDL0H!F"&DMpL,D" pn`7M߁7{."N wȻ]y.<h.އ}d]z.0E*Paц <@1a!r(C rA(yBRC v;$KBG&34d (#@B&1,<'7!*>` -0"OpgBp9* z !4)^!GSa4m$Zv cG6wilE a7"a\ T:vDXdMqX,BƁpyG`,O(MN$ T?`p8E 9hP xVQ$,="n&J" >cBQ$ j؎yCC 9&g`|& P9Ïa7 CXh!cU 0@]:"a᠓DH!46 օDt=f BM:6Q ,CAxf0V1Ʌ0"LLHNڀ` xpt 'E8Y<N3@`DZ_^/ Ω2E')cədW&Frg %x'Pcwp0"^AǃŁL<<#C,q]8"Le3D0SKd&@p $JG6(IG %VpPQ#a8Ra|(!AxBOpHcl'?!,A_윜HN}1Q1(#4 5! n 3lT֚l\pS  <?/@13M 8mupaI:Pk%$ `>`s|d D u"=9=J l*Y 8 !;TM lDǥF†86h<'BL $C4 }=e@jȈ+[qN&ZM 2Fh(*a EK`! DA`:cs,8吇_(pqBaPbCaIӜfY ~TX@X[  GM6{k1(wɇ!-q!x S:!<i4y~  X F(Agʔr&߉p!A(<<C8  ~g5-Cy(SAO ^iyUcYe ؛6ߣ̡17t@%l4v ŋxl0fvGapZ0}GCCpѿ` %SYx07҃2fyA8d0:j.2(f. Kyd6ġ1ĉݔ| RB A 25 ` x3rGLr <cL 'У 
[6aQ !Px$ɁL/k 67h/n4(Ѣ_ 3? c@$…Ý=&/1A({w],(asƄE#!ۂ/pD(YȔ)6 (ARn1jS .3?NP&H%v1(pT@FJ֝{d?jhH!\ C럁E=kGGAa3@ T"g2ȿx(f xɣFMP_LG pp4<;a@T@̌X 7d 0~d-ShҦ#1%2kd0 3h>O@uϐCA ؂A$ R fA~-KCw8hPBP@␜&D@@1@!PS"ڦPB #-dxP"DPL>sO,(@^P ( 3bMX gA|!.Nva@2 R`0 :`h`})0h;j:6t7|ˈ!#~QNu "$&(*,.02468:<>  u1@8 -2z-@BB29%rI49%t 9%fA%"< ЂQA![%"y%jg <3X3XPQG% y%bBBBBBB<9%rNy%tjXBj*D"A8RAFfBXC CfBFREQ`"A8RAFfBXC CfBFREQ`Nudos.library &fa. <"<,yN:#&,y&"9&$`nf|f|lf>`<|~ffff`|f<~ |0008 8<0`<< 0`$???????#h)4#)hBy)2Nu#)4hNu!MuHA0(g60(g,9r+@Qg By)2)31|LcN #l*(#*Vl3Nu#*(lNuHA,y2(gVhgL"HnNgL"HnNg"Haa(aLL"HnNLc3NsRy* y*fLBy* y#0(y* @g @g`3*` 3* y#1@1@NNu <"<,yN:#+6 y+6!|~~!|~~#+6+:A+:C$"$<3XXQNu!reH y+6A-$<AZBdBYAdB@@dB@01BLNu y+ y2+f#&qd#hNuA% , #d# h#%N3%RNu09 4@2y,j3,jH @k 2<@0` @j@y,n0H2y,l3,lH @k 2<@0` @j@y,p y,njBy,n y,pjBy,p y,nk3,n y,pk3,pB09,n3,rB09,p3,tNuFA?Nnz! &2@LZft*4:Zft *06DNT^hz$F "&,06:@LPv 06<BZnr"(HNdp!"Z^     ( . 4 < B N T X p t ~   8 V | \ #####$#(#N#T#Z################$$ $%%%%%&&"&(&:&B&&&&''''"','4':'J'`'l'r'''''''''!6'''''((())))** *2*8*L*****++"+(+r+x+++++, ,, ,*,2,H,R,\,d,,,,,,,,,-- ---&-.-6->-F "&,06:@LPv 06<BZnr"(HNdp| ci1:call@st-08:callaxel@st-08:callingnow@st-04:caugh "@st-01:celeste@st-03:china6@st-01:chink @st-04:chips@st-09:chopper1V@st-09:chor1V@st-08:chubeat @st-01:cinema@st-05:clang@st-06:clap1@st-06:clap2@st-06:clap3*@st-01:claps1+q@sc9ùß pwy >~1faٳ 0f30`  `  a q ߾fcy|0 f}߿矾wgy~ wߙÞ?c wy߹~ß?c}~ w=?ùßc9p ?y ,,7a0~` |0߀`  `  a q 0~`cy> f矾8pgy 8xc<9 ߹~8|c}9 ~?~pc98 yf|c0a>y 3y0` -w 2 `  a q >|cy~ ϟ矎?~gy ߀?cxp ߹~? ?~{c}|p ?8wc9~ y3~a?|` fo0`  .` a q<cyxپ~of?gy??w|?c9;~w~;c}9;~??c99~߁3fa < f7 ~` /נ` a q3<cy<3<|yo;?gy?~0;?~w;cÀ9?;c}q;w0?x;?c9w;~}a3|fc`>f7` o<?f/ٞ~y7?~0?w?{0>}39~9?w97|7ٌ<̀ǁπ<3f͙l?~0;~9;绎w;w0;;>?7|fl31e6Y<?~h@?~0=|ـ>g9x;w0ǟ<9w~~߀9s0`|?`c6`9>a<3f͙l?~0;~21RY9;绎;w0;;>?`|fl3<3_?w3`>w ?~f}6o!|3_ 4Yb4~ٰ~6o`w`;9߿?wϸ9`ٳ<>g~  !Kstdatados.library " 3  53"#1!2"34$5%6&78(9):    FX(\:}hS}hS@. c-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 --- }hS@. xqc-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 #?3EQa#3 b-3 --- --- --- --- --- --- --- --- --- --- X(\:}hS@. xqc-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- @ 53"#$%&'(76!421  9 *000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455$9r565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff "#$% abcdefghijklmnopqrstuvwxyz0123456789().-'#:/ "$&(*,.02468:<>%H     Dw M ,,8$,2"2  p@  p@p@p@              )",.Jg6 g gNua2&PB@.T Tqj8q;TNuaB@.T TXk8X;TNu=fINu=fINu>fINuINuJVga8. g g0 gF gJ g^Nu.S<=I3JNu .@o|@nnNu3JNu.99Nu.g B=J#`|f<)#䣛~ <f<f<<f>|0 0 <<0 0|<f~ff|f|f|<f`f<|fff|~`x`~~`x``>`nf>ff~ff~~~f<ff|ff````~Bf~fffv~nf<fff<|f|``<ffn>|f|ff>`<|~fff*O8'f>fff<ff~fBff<ffff<~`~80008`0 888lD~`  a q >cy߾f |y3矎~gyw ~8pcÞ? pߙ߹~ 8pc}ß? ~v+f By<` y<2Q( `gV agN bgF dgR egJ gL gD gZ( g g,6T#6T<#><#<#>|<#Gl<#H4<#H<#Ig^a,y=."9=2 Aa$<NB0#=:f`*"9=: Aa$9=6&9=>NB0"9=:NB=:`ra׈,y=."9=2 A#10$<NB0#=:f`׼"9=: A#10$9=6&9=>NBʼn 0"9=:NB=:`st-00:songs/st-01: xpx;?<#?V yC~pQAr (:g #7d=2` #7j=2 9=>"<,yN:#=6A r29a y=R PACKyf,# # 9=RX # aBp09Jy faaJy fa`Nua8 y=R"H # "HX# "HX=># #=> yϾj=R=>"y=RX 9=> Sfan # "ҹ # y=R PACK!y !y #=R=6 9  #=>Nu y "y $y tBAaJg RA Afana`F&Ho&Iz*HR(fgn`ZS(Hfn& Sl>( S o| m6<`<UFNMlv`l*#!!ܷn g:a|9!&9!06`a06`g&SCa06`66` a~v`(BNupalpNu JAg6BA C lRy"SCp`Y NuRy"C Cp NqS@eQNuB@$tQNu y=R "y 9 "9 a< y "y=R 9 Sf y=RX"y=R Ƒ BSfNu$A fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABBf DQNua y=RprtBy<0R@ @n49p09a^faf|aR fa`H`0HAX"0g. 0f4Nu,y=."<$$<#10NB0.gpNupNu,y=."$9=6&9=>#10NB0JgpNupNu,y=."NST-00:modules/mod.9ga#songNu y=R p09<ShJhjBh`Jy`~#<#7|n<# 9Da SGfLNuA,0</QSyR> f #d>` WfpR>0@3B` Sfp0R>3D`AHrg R @fr |JnHC0<TQA"y< @0<2<QRQ y< @0<?((QNuHAC=EGlaBAC=EH4a.AC>EHaAC>EIaLNuJ<3Nu gRNu}5  !"##$%&&'())*+,,-.//HJfJygpym3fJygRym3fJyg4ym3fJy|Wgym3LxNuLxNua63  |aaBy ` @Um @m A mf A+m4`v A m Amb A!m A,m A7mNuaaDaBy ataIKavgaa g`~B@a3 `apaJafa0afBy a``DaHaaRBy aa:IdKBaga"ag`B@a63 ``aFy "|N Jy g |` |f8<hhh(h(h(P(QNuaazafa$``Jy gK09 gS@aNuJy gKz09@c R@2-AAnapNuJy gT AmN A3nHYAK<09 Aml*Е @"m"Q0-S@Q y g`Nu=Rst-00:songs/9gaaJ#patp9N~~Os9 '0?'?p``'<NN@@Nx033 í0g' ?p`` xN@@B?'"?vr????Dg'' 7&' |Afrrg'%''''9OJfrsrs?`0g ?p``'<N~@NNBrsr ` `0`p`` x@@@???/&vr????~L~J~y``??7&' ~NAN@Ns'??'''?NLNDNg ''??p``'8NN`NO ` g p``  ?'?vr???>G`g?7& i' |f'?'''8 f? ' '?p``'?B~ 0`p ps???1g'&' 0'''''2!Fpg0''30g g pg ?"?'?"?` g '%''%'g'' ''' ?  $:{LJsS8m0{BV{><]g`@x33NDA03wNN`qp3߾qp83N ` ` ` ` ` ` ` ` ` `  ` ` ` ` ` H~%a R %f2""Nu2 <02H@22H@22H@22H@2" NuS@QNu,xCRNh$@"@$j"##Nb3P3palNuA#(#3(3  y:H1|f1| 1| 1|81|Bh!|!|@Nu"yHAQP0@a2<@@ga0aNu2$<0&HCJAg3C3B 3C3BSA`Nu? <B89EVGVIJAg2&*,ڃ܃3E HE3E3FHF3F3TSAԀ`0Nuintuition.library æy"$&(*,.02468:<>| [8w`  `  `  `  `  `  `  ?3`  `  `  `  `  `  `  `  `  `  ?4`  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  ?5` ` ` ` ` ` ` ` ` ` ?` ` ` ` ` ` ` ` ` `  ?#` ` ` ` ` ` ` ` ` ` {3 x600001111{4 &111111111111111{5 q-1111111110000{6 R`@@@33cNNN~@O03pSNNNN~NNNL23@NN`@Np3@~@@~NN~~NN~~~~{7 z~~~~ ~~?~?~ '?~~~~~~~r~rs~~s~rs~{8_fI~~~~~~~r?~'?~?~'?r 0 0 0{9: 0 0 0 0 0 0?? 0 0 0 0 0 0 0 0 00{:Jp0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 {;I0 0?? 0 0 0 0 0 0 0 0 008߾~~s@Nx3{<|8,NNN`@83`@x08NDA3N`qp83N{=ӑP&Nə ?ə`@s03NDAwN`򓓓qs080{({){*޿{+{, {-ddW{.O݁{/zr{00003  O00s3󟓓~|3?3{1yhu'{2DP {h??vr???<9~O9&? ?7&' ~?@As080y'?'?'''>9N~~Os9 '0?'?p``'<NN@@Nx033 0g' ?p`` xN@@B?'"?vr????Dg'' { \7&' |Afrrg'%''''9OJfrsrs?`0g ?p``'<N~@NNBrsr ` `0`p`` x@@@???vr????~L~J~y``??7&' ~NAN@Ns'??{!؉x'''?NLNDNg ''??p``'8NN`NO ` g p``  ?'?vr???>G`g?7&' |f'?'''8 f? ' '?p``'?{ "XVB~ 0`p ps???1g'&' 0'''''2pg0''3{!#"O0g g pg ?"?'?"?` g '%''%'g'' ''' ?{"$ɀ{#%?WP{$&{%'޿{&({'WP(*az}0 9o`aHaLpa?B@a0NuM\*N(Na| gh gR g g g g ej NRRafgpaxS`g NR`g NS<aRg@aB`p a8S`,LBNugRa `HgBpaS`6  e a`(N`afNuaj@`?< a< a0Nu,yCQ>Nh# *,@"<QO$<N# 6,y *"<QJ$<N# 2ByBy#XPNuNuNuHB@abaLA09yg0R9)+; fa@%LNu/a _09yNu"9 6B,y *N4J@g|"9 6$<TvN9Tf0@. g g g W f9\g* g gA29R9Nu3A=BGal`A4aa"9 6,y *N"9 2,y *N"yh 9l,xN.B,y *Np< a6 fZ gH yPJg (f*&$<Xg"9 6,y *Na |X#PLNuHA ($v"9 2,y *Na|LNup `pH`\NuNu?2<ap;2apH`^*,/aTRA aHA0@0`>pK`Nu<a0p7a*pm`$pm?<a0` Andelos 68000 Assembler SEKA v1.5 - Copyright (C) Andelos Systems 1984-1986 Amiga Version -- Sole distributors: Kuma Computers, Pangbourne, Berks, UK SEKA>OPTIONS>BEGIN>END>DEST>DATA> ErrorsSure? ^C Exit to System, Sure? FILENAME> PAGENo Errors of D0= A0= SSP=USP=SR= PC= *** Bus Error at $ *** Address Error at $ *** Illegal Instruction at $ *** Privilege +-ˮpViolation at $ *** Exception $ raised at $ accessing $ type instruction $BREAKPT>Reassembling... --SYMBOL TABLE-- -MACRO- Work Link Src RelC RelD Code Data option O: please wait... 23;1HSEKA:15;1H-------------------------------------------------------KWORKSPACE KB> blocks used blocks free dir dos.libraryPRT:RAW:0/0/639/199/SEKAt.s........xnzvcIllegal CommandIllegal DataUndefined ValueEnd of FileIllegal OperandWorkspace memory full*,.)U* Warning: insufficent memory to run Reserved WordSymbol Table FullDouble SymbolUndefined SymbolIllegal OperatorFile ErrorOut of RangeInvalid DestinationNot DoneNot FoundRelative Mode errorWord at odd addressNo SymbolLOAD without ORGIllegal SizeMismatched quotesInvalid Addressing ModeAddress reg Byte/LogicalNo FilesBranch forced to LongRelative word/byteNo ObjectNot LinkableLink option not specifiedFile not foundNo file spaceDisk Write Protect5 0-/;Nu,y |  7j7p77777::::;F<KKKX,BHPZ`fx:lr>FLRbnt&,8>blt (.8j.0n $:BT^fnx~>DNZz  2 F L ` f   $ , : @  4 H T     & , Z ^ h  , 6 < \ *6@Jpvx6<BHRX^d4:/1F4RX.^r`jxl`<Bjt|l~6<Nd,2<BTZ^x    * @ Z t !(!6!X!|!!!!!""" "("0"<02W"j"##>######$^$$%&%F%Z%n%%%%%& &"&(&D&`&l&x&&&&&''('X'^'(("(4(:(H(N(T(h(t()R)d),---.&/x0X0^0l000000011d1t1~1112l2p2v2z222222222333 3333344442484B4L4X4b4h44445555.545>5J5P55551355555556666$6B6l6v66787F7Z7`7v777777778R8^8d8~88999 969>99999::::(:>:D:l:t:::::::::::;; ;;;$;.;4;:;@;R;f;~;;;<<,<:l>r>z>>>>>?4?h???@"JlKKKKKKKKLLLLL>LDLLLTLdLj2t(LvLLLLLLMM MMM$M*M<MbMpM|MMMMMMM&&&&&''('X'^'(("(4(:(H(N(T(h(t()R)d),---.&/x0X0^0l000000011d1t1~1112l2p2v2z222222222333 3333344442484B4L4X4b4h44445555.545>5J5P55555c# .gNu,y *"<\N$<`A` A`a A`"9 .,y *NNu,y *"<]tN/J9]g"N"$<`N 9paANa 9lpaծACat"$<`,y *N"$<`,y *NJ@g?< 9j 9Aզafa` Aa |hrgaQ` p aQp|a,y *"/$<`NJ@f\`SWfa>`~A` Og Igj Xg LgJf˖ y`/$<S.aaf _C$$ "<BRf<  gQ/a _`a``ta6Da a6a`J y4fJ,gBapa 984X#8(#84 9X#8,#8H 94D,98Da$<8v$ad$94&98XCaL$<88va@ y,a, y0a"$<8 Nsx l## :x 8- +g rg3Z#\HBNh#V.y8 F.y8K| 9\# :f x,g"f x,F0 VJf<`9x gb@UgvSgxSgSgJ 2AGa0aja 9\a@aa`A`A`09g09gS@g`A`AaF 9\a Aa4 9a a&29pRfpWapIgpNa0@@0aa09a a`@,yN @!|:2NuJfAC4<avatQQavabQ 9 Zf!9B| )a 4ava@ana8af0a 2AE^vAda4Qa@*Q a ` a `BB Dg dgt ag Af.@@@B N`/a GANa2g4 _a a Ba(f4"9[HCCpap apa QSQaB@Nu9[HSCa Q` g 9*@z a h?a:Q#NuAL0?2AH2AH2AH2AAH2AH@ @ @f0R@t mrJ9MV 2C AJgFAC A@g6C AHg*C AgCJf00H@`2< cg\ dg @f <BJ( g#;u@<W ( g<La Qgalg<,a haX` EB(Ԃa JRSA`T F HILSCCCSNEEQVCVSPLMIGELTGTLE<LJ(f<R`Jk((` ((H( CN22HX^jn. nVbrNuJgSg SgDSg0Sg2SgSgHЍUa|p($|R (D.6%=ݚ„vOR.@ AND.@ SUB.@ ADD.@ EOR.@ CMP.@  BTST BCHG BCLR BSET  "*208@HBTST BCHG BCLR BSET MOVEP.W MOVEP.L MOVEP.W MOVEP.L MOVE.B MOVE.L MOVE.W JR (D.6NEGX.@ CLR.@ NEG.@ NOT.@ TST.@ MOVEM.W (NBCD.B   SWAP PEA   EXT.W MOVEM.W &.6TRAP LINK UNLK MOVE.L&>I MOVE.L  (v.6>RESET NOP STOP RTE RTS TRAPV RTR JSR CHK.W LEA D$,4MOVE.W MOVE.W  MOVE.W  TAS MOVEM.L JMP   EXT.L MOVEM.L ADDQ.@ SUBQ.@  Scc DBcc   (0.,*(&$" BRA BSR Bcc MOVEQ 2OR.@  SBCD.B SBCD.B OR.@  DIVU DIVS 2SUB.@  SUBX.@')Py SUBX.@ SUB.@ SUB.@ LINE-A (CMP.@  EOR.@ CMPM.@ CMP.@ 2AND.@  ABCD.B ABCD.B AND.@  MULU MULS 2ADD.@  ADDX.@ ADDX.@ ADD.@ ADD.@ d (08@HASd.@ LSd.@ ROXd.@ ROd.@ ASd.@ LSd.@ ROXd.@ ROd.@  (:864ASd.B LSd.B ROXd.B ROd.B LINE-F ?????? a`Ba`:H@a`H@aH@?Ha0a@NuBJgD Bc&HB"y2<ahR A #NuBB@a0 #NuH@aH@2A A?b00#Nu"9 Af40#Nu y9fj"BNuA2L`AR`v?a@_`aAa*ad AgP69gB9[f AglfC3AaaUAgRA`8a9fafyA}`FyaA#}`20C3BBRB9fa AmA|`aA}`9@@y@3Sg`yy<Ao` B@9[@@y`laZAaa0Ag?BSAgPBya_`4aAgj?aAg\0@B lB@@2Ag@@BBBBB`.aJAgAaja Ag" A fByaHaSA`?av A fBBya4`aaNAg @fa.SA`RaDJAgpAaaaf,AlatyagX3gN`3g@a Ag Ad`$B?y09tPQQ3`aZaaAdaaUA`aAa6ap AB& f ?SfaVAa4`vaa@AgSAg at`B9aA}`xa0AaaBAanaA`aaA}aRaSf@BB9`a6aAg `&aJAg0<0 A@g0< aTa Ab89aax AbZ8D6CDCCya`6f g3@a4A}`3Nha A`|yIe&IeId@yF`yD`J@f"69C CbCN`3`` baza fBy`(a\a Lg SgCփJff[/a^*_f"9ZHôf:Hźf 9S[g Ba`H@f$f yag3Nq` <LA,`X&ySR$Kpѹdѹѹ"f.rSa%`BavaAd` aĀAa`af6 f<yyA|`ang?<`2y ?` g?Sfa4SAfyy4`H?aA4 bV_`taaAgZ``?aU`aJAg&A?aSf2B0_`0B9[`àAahaA}DF a`|A*`قg6C?y Ag AgA `f(Nu 9[g`XX9`TT9A<PXH NuEHHƝ<HNSFBZ$ g a`a^QNuaJg" Bg Wg Lf2<` r@`BA[NuaJg Bg Wg Lfr`r`r``H?><a cg ag JfpBa*L?Nu BObf9ZfRBBBA 0 ra`al afNua^ cg af|<y<?FF f<FB  f fNutgd .g (fva zgf(6HöfNugNuBB (g -g #f*af|NuaD8 DfFNuah<x WgR Lfr` (6a`"BEF -g /g|Nua(`?a08Dż@gظ@gR@F[|`a<F cf``VA&`՜abڀ`az`aʀ`a`av`aRW`aF]` a:^HHJg:A&R`8aHfJg JfNu,NuBNua&fJgfNua f؄fNua86H@HEH@CHEBEڄ`ar Bd؀QF`a cfP8 g( >ff8D9Zf.|2a ,g" )ffFHal +fPFa^NuaN cfB l:aP WgPB:a. )fI {grc``a bgb *gG X -g& ~g4 [gXNu 99ZraNua (gD` r-NuaF af6JfFNua.gNuagNurapBBJkJGk4Nu`G+ d  Dg P Af BBrcNuA aTfNuUS?S=CC>SP> *gFgFB g g0 e` e eat $gFt @gNuH@"9 >gP gH g@Jg: A# >7$f&H~$<3$# >&<"9 Bag"9 BaB >"9 BB B`r Xg$ IgR Og LgXJf&`8a Baag4ta SfNuHLNuHLJ@Nu$<S.aBa$y$<$&< / aV$_I$g& 4fS"@&Ja"`Q A ga`^`taaB y g$9dPB#$9va y P`fR&(֨֨$# #$aH$94a$9,va#$a 94#\`a `taFaaaj`a$M\a aNuACa$ACa&NuA a `AA v0$"p/R@dԁSgAfp RSaA`;B@'d g#:\BaXaB@aAXByByBy ByPB(B$a fhnaaa$"9<lm |Qa>NuBGACa>`N#B9Z 9#a=2a=a> g>M\.<Bya! bf[aNa!Jf#JjNu 9d @#L<3#A F0<?BXQ0<P` .AAaS :faj29g g g =g*a>hS ;g"g g f`a>@SAa29 ;g MRVgh g g "g 'g `ga=Q``g(ga=Qa29 g a=Qa;g#NJDnNuyjn gfA?Jy gSH ga<a;y 309 AHa gA?Wa;PA\a;Fa;\`;XNuJAk a=QNuZBBBy"aLBy,y`RyJ9fHa;L g###HB#Bya bf` :g &=fata =f a `4 bf0[afag0 Bf( NȼO`,NaJf/a,_RJj:p` AA`D#DRy"/ga*_RM#gv ?fh0  lZRAg0Sag ,g ;g g`09"X2<0XQ``M/ #HBBya bfD :g &=fa*a =f gJ` bf[aTNaXJffga*_`,yDJfSX` yD`g ;g ,fQNuSNu,ypPfLByB0 @g.c, @g.c, @c. @c4 @cR` OŴ0Ba `NuHa`@4 a `abR,Faf JGk&BОa \`xa<,Fa JGk`Jg g й`й!`:Aj,NuGj AAH@Cz& Jg:&CfJj R @0JNuJj Z @` INu4Q SRYXmyx 5KqpSoutsrqDDPD N SSBC DD DD DD ND LIG`fSa`EgZNfTSECH@CLTSCd.Ce(Hd"LeGlGn Ps"jHb LoLcLmMkPjR`L$ViVhM LBHApMPBMм ODMP MP BQpBQjBRQbIV(IV BPLBCTDBCUQFLS*VENX FLLEGAJ MNPSNJEA ^INNPSDS>ISnINE_ RINE JINE_ Q @INE 8OAOV OVEH@ zOVEp DOVE UL UL ACR`OVEOVENzEDOFEG@BCHONqLISҀ DRRɀ EH@fAGLEWIINIFONOHOX@OX8ESENpLTNsFTNu@TNw:TNtUBQ :U” @WAH@UB dBC bPQCTCUHTLUEWG\G^HRL_LSL]M[NVPZVXzVYtTONr bUBUBSJ^RAPNvzRAN@AJ>NLNXaa@ Rsaf @aa0@?XJf*`"Ry0@?XJfada@y`vaAaHa Ae&Aaan Ad B?0Xa`<0X a aFAa` aa2 Af`a g R@3Nua gLA2HSA02AjBA000@+2HASAjBA0S@jB@0Nua af&JfLf gJGka3`JAf(NuR9 Nur Jg0r Xg r Dgr Cg r EfJ@gNuNu gByNugDapf&f2JkSĥ"#3JGk y!NuA8`A6`9ZZAHA!4B"0 ##R9JGj$fP fҹ4#Nu@`afa##NuA8`&a JffXNuaJ9Zf#3JGj#NuAR`a ,gJAgv bfvghJGj 9Zf~ 9fnaFfafahB<``2<Ca AB #`|NuA7D`NpJgRB@`aJjB@HGFWHGNuGNuNuHGOHGNugBJkTJGkaf y!<aJg. :gJ bg f`laбXfNu/ga<,_RRyB#```29g"NuaFS*9Dʀ`paQNuava /a ag pJf*gJ BgB Wg( Lfl` ByaSjNuByarSjNuByaSjNu  g .f  g ad NuSBANu NuAR`a[ Bna Jg af$a`Nu 9W[g 9L[gjJk>BJfRA2XH"9 Ak?"*f #Nuf2A @b0#NuJkX9fRA2XH JGj^"9 AkXfva #BJg< 9Zf FC$ gC(JGj Q YXNuX$Nuf* y0 9(aR y, 9$U BNuB,#8Nuf  f Nuй4Nuй8Nu 9V@#,P"9$#$Ё#0P#(Ё @X##4 й V@#8"й#<llNuJkJBJfT9fA2XH0"9 Akf^0#VD$ S!BV%B\XgB S$h\A #/$y jNN S1DZ/N0/NpO `/N0/NPpL :62.*&"NVH?8$n&|(| N (g ` *$,rf|"FR I(JfBJfo#Byo$ l R2 | R"@(`-SHn/.N-@ y( Pf /.HnN(PfN (`~zBx..ljJfd Ю..o ЮA0gR`/4.CHq N(Pf ЮA0fBHxN (P ЮR-@zJfN XY[.(`vBJf:Jyg2..o& R4 |"|"R0"| `Jf%F `B LN^NuNVH?8&.(. $|(|&|HyHy/HyN. hOg lf frp€$`VB`@z2 |\0fJfpf7`pgpf`pfp fK`lp f Jf;`Zpl0 |j`DJf c `4|2 |x4"H1 f0 |j0RpnRp n. Ag @fB Jm$BHy//HH/N#OY{Jz2 | R"|Rp nB9R.. oLN^NuH<8&/ (/$$|&|(|BBBB B$BB(o 9(й$ ljJn` R | fr/HTN #Pf/HTNzP2 |J0f 0 |TRpnJor fB9B9B9BHy//HH/N#O`2 (f`/HTNzP2 |>0fRp nJo"BHy//HH/N#O` [f//NP`z0 |,0fD0 |ZŝO6fB9B9B9BHy//HH/N#ORpoX`  fJ9f`HxHy//HH/N#OlJ9fN 9$T o S#p#(` |$ R @ |$ R @ ` |$ R @ ` f//NP` |$ R @`~Jg n  `  B 9$L?BIJmwzvpFgEtqrsx-1E09:@AK2 n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @"van4gD$Nu/ @p$lDF"lDF @aH$gD $NuH ,yL NL@Nu/,y"/N,_Nu/,y"/N,_Nu/,y"/Nj,_Nu/,y"/Nd,_Nu 4H\ /,y LN:,_Nu/,y "o / N.,_Nu /,y"oL N,_Nu/,y o / N,_Nu /,y o / N|,_Nu_ϗS gNu g`" g`ҵf2"| ydȳllJ#d` f&INuaaa`( *g *ga`Nu g a f29 \g33`33t49v69փ#:By,x y h(#zHx$9zԂ/N#PfHxNX`By"`469"Hփ$Թ69"H//9N*B:PRy"89"Hĸze*y30J9tg^By"`B$9z&49"Hւփ$Թ69"Hփ C6KCw*B:Ry"49"H&9z⋴e/B//B yNJOgHxNX`HxBBB yNJOgHxNxX`J9ZgJ9\gN#`8J9ZgNB#`"J9\gNt#` Nb,#Jg/9N X`Nv69, THCJg,HxBBB yN#Og/9NX`BNXL<|N^NuH00$|.&|0J9bgB9^H$69"Hԃ/t49Xv69(ԃ//9N4O `Bt49Xv69(ԃ/9^H$&49"Hւ//9N4O Rf4`J9ng0H3xRp09xm|np @  @ 0;N*:t4Ԃ й @4`@02AA4`20H2AA4`"0H2AA4`t4Ԃ й @46p0tѹH0H4p0tѹcq;Dp0ѹ@L Nu/ $|L09$X$f29$Hp09XҀ$ й@"Nl#@ йD"Nl#D йH"Nl#H$_NuH0 |V$|T"|RJ9fg^ 9H"瀐$9D"HAHABAԁ&9@"MHAMHABAցԃЂJ9dfXp`Np9KPp9Gp9CJ9jg PccJf `L NuH 8&|,(|*$|B9`J9lgPt4/t4/t9V/N`O g(Hxt4/t4/B yN$Og `J9ffJ9`ft4d(N/t4/t9P/NJO g*Hxt4/t4/Hx yN$Og `t4/t4/t9T/NJO g(Hxt4/t4/Hx yN$Og `Nt4/t4/t9R/NJO g(Hxt4/t4/Hx yN$Og `pLNu/ $| |,RP2p0 yH@Jf8` Hy2t49/t49/N6By*#:63"O `Hy6t49/t49/N3&ByXeFt#H#D#@O `&By$` NRy$29&y$nRyX0yXbNNlN8$g `J29&9^Hy"Ry*09 y"fLNv$g `0T0yepLNuH 8$|(|(&|>By$8`Hy2t49/t49/N6By*#:63"O `ByXp#H$#D#@` NRyX0yXbNNlHy6t49/t49/N3&O `N $g `PRy*Sy&Jy&n9^Hy"09 y"f^ND$g `0T0yepLNuH 8$|f;(|(&|>ByX8`Hy2t49/t49/N6O `By*#:63"`Hy6t49/t49/N3&By$t#H#D#@O ` N(Ry$29&y$nNN N$g `P29&9^Hy"Ry*09 y"fdN$g `SSJSb2RT0yepLNuH 8$|(|(&|>B@3$3X8`Hy2t49/t49/N6O `By*#:63"`zt#H#D#@NNHy6t49/t49/N3&Ogjձ `N$g `XRy*Sy&Jy&n9^Hy"09 y"fzN$g `SSJSbHRT0yepLNuH04/2/ oBCp0ѐRCJop0㈑p0L NuH</8/4/J9hgpHHt9hHHÔ^D`(pr2t‚4B |z:rʁ2¶0^DL0*$ xrlhj[f\V:4. zdHB<4,& |rj`ZTNH2 |rj\XRNH8.& |R0 b T > 8 2 , & ~ p hi b \ V H : 0 "  X  z t l d ^ X 6 * " t L 6 . (  l\RB:4*">&l8^8" jztlf`\VRL4*$tn`XH0* n`T4bXL fh fv,#  >rU K*L^r~,4F  * BVdrJR*    RH<0&|Hx$SHj N S8( 6 ShZPf Np` SJVg$S/*VNX SBV S1|ZXp Dc/,_p.Gk/,y N,_/,y N|,_-_H_G/,y Nv,_Sn p'@'@f. g"KN&_NupaDNu=Nu=Nu"nHJga `Nu`LPp/,y N,_*ECAH XB!HCZ-ID-IHp/,y N,_,FGAL XB!HA8-H-Hz-Hp"L/,y N,_m~ /,y N,_$ g6A8/,y N,_Jg Clf `Cf ` g"nHJg#0)H n* pN` o /aNu/,yH瀀aX"_aNu/ / NvX"_aNuH (y lhNJfTC3| #o #o$B),iN/,y N|,_C/,y N&,_/,y Nv,_pJLPNu.`J<&H8pzL.&vnbZH8t^ ~ T P $  t p l h  z&.D\   $ .0FTn  @ V d ~  R d r`X| q .<P   qB9B9B9 yB( p##1NuNVH8 nh"h#h$h%v6( HnHnt4( /N(tO o `DtJfBHxN $PJf/HnN$PJfJfBHxN $P LN^NuH<$/&/x/HyHyHy/Ho* y h*N Og`p6og p5of/p`p3of 9f?|6 rxp0/ @"y&* Dg fp`> fB R @`p0ogp9og p:of R @"C L>>>>&HxBBB yNO s$9zԂ//9NP L NuNVH><"n$|&|(|# #$#(3,3.3032$4&8 T#.3<t49/HxBv69/B yN T(OfHxNX` & T (WDjp T (g T (gJ9jfBl y cbB yth dc J9lgpfB yJh `g J9fgpdB yJh df J9lgphg y gh$9VDn$9VDp9VDr9VDt y Pg" t4(hRB34(hRB3`& y h4B3 y h3Jye^JyeTJycJJyc@x89t49v69ԃe x89t49v69ԃdHxNX`T yv6( ^R yt4( \ T"p0("N@&lv yp0( Vm,n` f`r N&`r N&` r N& T$(gl ` -@ T4($ y j&lv yp0( Zfr N&` r N& T$(gl`$,JgJg 9g&vJ9pgx`x J9rgz` z `B9 u{vJ9bgJ9ngHxNX`^3x349yxSB349y349xSB3 #~$&~#~(*9~3x33x49JB69KCUC3`,^49y349y3 Jyf2JmJl("p09N@&" N$l$D$B9g$& T"p0("N@&"< N$9g$& T"p0($N@&"< N&Jg 9g$`,9g"$v$R$" .N@$v$Jg 9g&`*` 9g $v&R$" N@$v&J9vg T"p0("N@( T"p0($N@*$"p09N@&" N@$&"p09N@"N@l>$"p09N@"N@$r29 Nl&" N&`z$"p09N@&" N@$&"p09N@"N@o:$"p09N@"N@$r29 Nl&" N$ TJg T((e TJg T((dHxN|X`v69RDZg33`33t49v69փ#2v69RD wJXN,Pg/ ~ l2vh 6 j8fR BP~ <( V f _dos.libraryDEVS:DEVS:clipboardsDEVS:clipboardsDEVS:clipboards/%ldDEVS:clipboards/%ldclipboard.unitDEVS:clipboards/%ldDEVS:c z=lipboards/%ldDEVS:DEVS:clipboardsDEVS:clipboardsNNNNzNnN`$"clipboard.deviceclipboard 31.145 (24 Nov 1985) f : : z :  xtplhd`\XTPL H:&o oCE,yNL\NuNu7H ,y6L NL@Nu/,y6"/N,_NuH0 {l;,y6LNL@ NuH0,y6LNL@ NuH0,y6LNL@ Nu/,y6"/N,_NuH ,y6L NL@Nu/,y6"/N,_Nu/,y6"/N,_Nu  6Rnk/,y2N|,_Nu/,y2Nv,_Nu/,y2LN:,_Nu/,y2"o / N.,_Nu/,y2"/N(,_NuH",y2L NLDNu/,y2LN ,_Nu/,y2"oN,_Nu/,y2LN,_Nu/,y2"oN,_Nu/,y2 /N,_Nu/,y2"o / NH9o,_Nu/,y2 /N,_Nu/,y2 /N,_Nu/,y2LN,_Nu/,y2 oN,_Nu/,y2"oN,_Nu/,y2"oNb,_Nu/,y2"oNP,_Nu/,y2"o / N,_Nu$<Tj0H\p o XB!HNu H:&o oCE,yNL\NuNu7H ,y6L NL@Nu/,y6"/N,_NuH0kS|Zb  aaaNuJn f/NXCZ/,y N,_C/,y N>,_"y/,y Nb,_"y/,y Nb,_"y/,y Nb,_/.""N0.n/,y N.,_"N Q"i"!I Nu pNu/ &I/,y N|,_Rn n f/,y Nv,_/,y N,_#A4'H/NXJf . g . ftA`AxprCl/,y ND,_JfPp(AlC2Q/ y h NXJf  &_NuCl/,y N>,_`/,y Nv~!bd$|`D <a&fB&`,)gJ/ Q"i"!I"_Snrf J&fv|))f /,n2N,_aJNu <Jn gvNu <C6/,n"N,_/,nj <N <N,_/.b"NB0.n/,n2N.,_"N Q"i"!I NuJ$fB `r.vg&ALA (!I"#@ @ RnrNu-i(*B.-I&J$jv<t ig t<NuH,I .&f*JnrgAL"P g #HSnr"@a`"@ n*)fR ig9f.vf6 n*R*R.)5gA6rTg )$k.oL@Nu#n. v/,n2N,_B&Jnrfv0</,n"N,_L@Nuf.vf`zabC$N 8w/,n2N,_`0Nu .&g"@ </ /,n"N,_"_BNu .&g"@ </ /,n"N,_"_BNuAL"P g #HJg "@a `BnrNu|/,n2N,_Nu <a999.tnt49a~Nu.vg|`i5u.ug -i6Z-i:^Nu <EHACҕ <w/,NNj,_LJg"/,@-Hb-A2C/,n2N,_-@jgCx/,nj <NJf <N,_JfAL| XB!H"N/,n2NP,_C^p/,n2N,_-@"C6#|< |#N#|V </,n"N,_ </,n"N,_,_NuB`ciaa.resource2".Z.6&@,I .&f*JnrgAL"P g #HSnr"@a`"@ n*)fR ig9|/,y N,_#gCCp/,y N,_#gCp/,y N,_#gAprC/,y ND,_JffA-H0<2<0Q/,y N,_A CZ#H>H#H6Ep&@/,y N,_p/,y N,_ ,_Nu"y/,y Nb,_"y/,y Nb,_"y/,y Nb,_"N0.n/,y N.,_p`timer.deviceintuition.librarydos.librarygraphics.library h*|.2 <>@Bbcddh ZΈ"PJi Vg R @ A"P i Vf R @:` A"P i Vf R @,9(` fB R @ R @fz"o<*A U ] o@0;N (dJ9g$P *r2"`r3Xy369B33\y$SHxp09Ѐ/N%@`t$SJ`WDPg`J,f2HxHy$S jdN$Pg`BHxNh$Pg`v 9 fHxHy$S jdN$Pg `PHxHy$S jdN$Pg`4HxHy $S jdN$Pg`By`  ؇p0r29Ёr29Ё"$SҪ`t4pĀ0 | 0"A`r29/r29 $SЪ`(@HT S hdN$Pg`r29p093`p0"$SҪ`"ABp09"$SҪ` A29`B0SAJ@fp09"$SҪ` Ap09R"$SҪ` ALp09T"$SҪ`p09 Ap09V"$SҪ`09H Ap09r29ЁU"$SҪ` A p09r29ЁS"$SҪ` A `HxHy$$S jdN$Pf $S jhN$JfBHxNh$Pp09Ѐ/$S/*`NP`F9@$S j@ hg $S j X <$f $P5|R$p` $P5|H$p `t L Nu)^,$ ~n\J2ndT< ~xpjd^B   @ @13U1U0 /,yLN:,_Nu/,y"o / N.,_Nug`4HxHy $S jdN$Pg`By` v7d< fBk^Jk^gJ o@/ NJ @XfBk^` HxHh/N0 O gBk^`Jk^g8$n&jNSfn/+Hy~HnNJk^O gJDfp8$n(n &nNzJDfN(r .Ю c`Jj^gX/<NP @Xl@/$( Jgc&B$( `fxt`Jg./<HxN &@Pf|Nt `t'|Z 'Ct'BHk*Nt'B8t'B<|CHkHNBk^Hk`NHkpNRy%K"D/)/ Hy>Nd/+HyjHnNHxHnN&O0g:/.62 n?068:>@FHJNRVZ\^dhjlnrvxz~*@ -F--EFW:WWGHxxSTSTTPPMM02CNODBDBD (08@HPX  ;5$*028:<>@BDFHJLNPVXZ\^`fhjlrtz| 6767S\000oT67|67c-rS\0002TS\0003T'P,S\0001T/AAAA67676767E67EEIIIIDOOOO67xUUU67YT6767a67676767(67676767676767d6767o67/o676767yt67|xtplhd`\XTPLHD@<840,($  |xtplhd`\XTPLHD@<840, ְ($ ,($  |xtplhd`\XTPLHD@<840,($  H><$o((o,&o0xz"<&< Rf` D0"|Rpn Lp B LPB R @B*A"UJi Xf LTB"o4$ A"P i Zf LX0"o4 A +|o change during play. It can be seen that this provides a way to program viberato and tremolo effects. When a voice is programmed to modulate, it always modulates the next voice. So voice1 modulates voice2, voice2 modulates voice3 and so on. When a voice is told to modulate another, that voice is made silent. When voice4 is told to modulate, it is only made silent, because there are no 'higher' voices than voice4. How does this modulati Ӡon work ? Well, say you programmed voice1 to modulate only the volume of voice2. The volume of voice2 is no longer defined by the volume of that instrument. Instead, the words in the sample of voice1 define the volume for voice2. So if the sample of voice1 looked like this : $0030,$0032,$0034 etc., the volume of voice2 would become $30, then $32 and so on. This is used to introduce a viberato to voice2. The period of voice1 defines the speed  `xof this viberato effect. When voice1 was programmed to modulate the period of voice2, the words in the sample of voice1 would define the period of voice2. When a voice is programmed to modulate the volume AND the period of the next voice, the first word in the sample defines the volume, the second the period, the third the volume again and so on. Arpeggio : Arpeggio is used for simulating accords. It does this by -------- rapidly changing =y the notes while playing an instrument. Arpeggios are selected whenever the info byte has a non-zero value and no other commands are selected. When arpeggios are used, SoundTracker looks five times during the play of one note, at the information contained in the info byte. Each nibble (4 bits) in this byte defines how many notes SoundTracker must add to the the note currently playing. In each of the five passes SoundTracker does the following with the jMinformation contained in the info byte : 1 - Add the first nibble to the current note. 2 - Add the second nibble to the current note. 3 - Play the current note. 4 - Add the first nibble to the current note. 5 - Add the second nibble to the current note. Portamento : Portamento is used for 'sliding' of the instrument. ---------- If portamento is in use, the information contained in the info byte will be added to (or subtracted from) the period Q of the note playing in each of the five passes. Example : D#2 3208 --- 0208 --- 0208 --- 0210 etc. Volume : One of the enhancements that the V2.0 version provides is the ------ ability to change the volume at any time during play. When command 12 ($C) is selected, the volume is set to the value contained in the info byte. The volume will remain at this level until a next SAMPLE is played. At this time, the volume is reset to the deC#wfault volume level of that sample. Example : C#1 1C22 - Set volume to $22 and use instrument # 1 to play the C#1 note. D-2 0000 - Use instrument # 1 to play the D-2 note. (Volume level remains at $22) B-1 1000 - Use instrument # 1 to play the B-1 note and set volume to default value for that instrument. It is also possible to "slide" the volume up or down while playing. In this case the first nibble of the info byte defines the am ount at which the volume must be incremented, and the second nibble the amount at which it must be decremented. Example : D#3 2D20 - Slide volume up, amount = 2 --- 0D20 --- 0D20 etc. C#3 4D03 - Slide volume down, amount = 3 --- 0D03 --- 0D03 etc. This is all very well until you try to slide the volume and use portamento or arpeggio at the same time. For this reason, SoundTracker V2.0 provides an auto-slide mode. YoKu set the auto-slide mode with command # 14 ($E). Set the amount at which the volume must be slided up or down as normal. Now play your arpeggio or portamento and the volume will be slided as well. You return from auto-slide mode whenever an info byte with a zero value is encountered. Example : E-2 CE02 - Set auto slide, amount = 2 --- 0203 - Portamento AND volume slide down. D-2 3203 - Volume to default level of instrument #3, portamento and volume ;slide down. --- 0203 G-1 1000 - Return from auto-slide. Play note G-1 with etc. instrument # 1. The Playroutine. ---------------- The playroutine on the SoundTracker disk is for using your music in demos, intros, games etc. It was written using the Seka-assembler and the source of the routine can directly be incorporated in your demo/intro source. When you are finished writing your music using SoundTracker, save it to disk. Write down which instruments you have used. Now enter the Seka-assembler and load the playroutine-source. At the end of the routine, (below the 'mt_sampleinfo' label) create an empty block (with the blk command) of suitable size to hold the song data. Now determine where you want the samples of the instruments to appear in memory. (or create an extra block to hold the sample data.) Put these addresses behind the 'move.l' instruction in lines 35-49. Assemble. Now load the saved song in the created block and the samples tmd{=w߿<BYsf/v9?xfPHd;H("h3c( H`5*d2DH1h~N?8CáX@c>7ۭ8w@c>8mgk s&03 sr23<ń0a>{`( fuPۡ{X: *P=~߸)AR`~`8`gq9)C < g䂕@Ǧh0caX <30#* @@) _(|AټR Z ^Gl)F; 0t@ <`P`<,lPl0cc  @P$h9(1h`Q`怨1ȌID (*0ɀ@@1 KE'&|frA p)) Ʌ(? P ?5'~C5LH% fypL<x0mh&(@D1|@!O  \P6a0ɊsF?܌P?6bC "mh((@D1@|@!@@~@\;C hpT d(X:XaE(`6L@p^XP<0_#r"`ʼn`a$  A   A DE|" J@`-@Pȥ@@ `(G69@A@^!< 7=ŸBBxf H)t`vF`k@@'(HxH^&:M@UfH(8 8 nhX`g)"*(PgnlN". \0dΆ/\۠i F ol xS;C{@d# |Rሆ@B{2A,X7` &N72hЮ$80/%l1эRN @Q089sx0xx>? Cy!yT :(@Aox!xx ܁NL;3SW;̂kd;p$ CLP`r{]KLM lJ*aK*Hh4 ɇ q$0bkl1W;P:`bCT JxX7to@0$2la`p Zp(Z ZY  P vvHD2x<b{b Wo NB B p5jhNƑ ± ]0ڸSY ,l)x  N惺D07nk{3"C!S",iD3<f ܘx[C o``ZtL !>鋡 Z"p;ogl[ tqS7ŌlkBNnĸL")ڏU!NB @Cw!<vf6.40dl( c`rM@ufh" E)!1A,X6aC Ix5ĠvtxZn.2XiؔȆixCx šC @坩 tu0x! AA 3Z !57`C(7HplAC``  M @ ڹ؛ #n p2-a x] a ᑡ4 ywCO",AÇ`j0qx 0i< `yx ПC02<HO@F+`u4  L+;ڨphxipxR@󧝑9KC;{4b zZ`b9  L麚`փW;Sb"4{Wc @{KcSh<CR##S'g'K;s }|0x <^85}7 F7e@ !>Aa qX(?(Gς()lNt@A 08b0(2`J$5$0q     B6c{g5(ʀtGkS}-q`Z <#AȂ ȀD2  @C"2`DdAD !d@"A`!@I`4 (@y <` 6$$kLL@V +31 ):3h9;&2!  "*# 0(8$'5^[TVt|8 LM0ymSM[ed4b4f4a4e4@_O]5mGɈɘɄɔ@_O]5mG٘لٔԖ@_O]5mGńŔҐ|W=tն]VSBC#3 +<^[TVt}!-zl(;(7~(?(0  /  2pC@(4  + 20@(2  - 2@h`0  ) 2@(1  . 2`@(5  * 2 @(3XAQPHTgxF \ @+`A`A`A`xA">Ҁ`xA`xAa  R P@-80!@ ! 1?p?p?sm7Oi_?Om5Ɓ4@XY1\`j|A@"   a $YNYP 'U=xU_`f 8U?@S <A|8`GO P1`(2+ 4XT6He"!b( bf!`9I @"As6!"` R Ú  @@,ԱGA`(2ŕa =* \AHb-`@u/p  ÀbāU@;b:P b@;SD@00RiW0   BRj Mi<  20,8AR!P(F`g0 0@ @9<ƈ`fD0 0C pac &$@@(2c)q `  0*I쐦xC KP+c>s+G"pcc1& F&& < @$.A,3)Dao61}abOww"H00g 1;!~algyxFPy@" 9< C_:{>a~^o( 0>aH01J(( N3V(laaPP&8 F@> R̾&Ͽ?>!X ~*R>@(k(/+{ x~ `(xa C80p C҅x"E ?>=@be~B_0P2 !A_P x`?x|Gp(nQ!c &LGr6 #  #@.m34Ac@@tb<|xC?@3 v?t1@cy[_!Aq|f_"f|ؘg|E Ù0~P w7s?̂]x/( q;x 7NoHBD0,$41fa,$0026,$223c,$0000,$0032 dc.w $4eae,$ffa6,$60ee,$0000,$0000,$4e75,$696e,$7475 dc.w $6974,$696f,$6e2e,$6c69,$6272,$6172,$7900,$0104 dc.w $1753,$6f75,$6e64,$5472,$6163,$6b65,$7220,$5632 dc.w $0063,$00f0,$20a9,$2054,$6865,$204a,$756e,$676c dc.w $6520,$436f,$6d6d,$616e,$6400,$0000 mt_arpeggio: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$WlxM00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 mt_sampleinfo: 00,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0002,$0000,$0000 mt_aud3temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0004,$0000,$0000 mt_aud4temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0008,$0000,$0000 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_partpoint: dc.l 0 mt_samples: dc.w $0000,$0000 mt_samplyy0P`?irL!]\@!@ h `bm(6bh.҃h @X(3C@ŀD3J03P *03 G dHV@@BL#E$ P|P5```8 g8  ]@R~LQXR ,CtPdgBB oH0&23p;!4 ``@*P`@Tˠ!`@B`TB  @B,+ l``!`Ё;  0` gC T ` *pA~  @hP 3 @A88 xAH 06 p9y(?I EH CBE# N(²³sRhb&  qg*|&@+ U ^U PR 8 (0 AفM0sLf7rB:@#30S vD/`,]$ @ܷDxZP0pJ VF<\BPDA[`u- R71 epC P` `r00@ S03ՠ@ `:0`bJ/jG6 f*P@!h10`D5Ҕ$},? w (01ɛ*yb0A@8(83 nbPJH~  fD A!Hm$̈+ СrI!M$Ba$IЈkÀ$@-r o k+Ԩa@ΝA! Ud 5@@`?%5!b8 ȸ@`0! OY, @נ FS(hMDN (|܆A Ã!܁H;9K(6=:=Cv 4 ,E[ ZVD̂l$ABV y07 lT |Ƶ 8(00n!@e"A0A(B @Ӣ`0ր A: BY^DP6t8 b  X` h@ n> D5 `N H/0`xF(8eR@@@$KN @ l dZF EP9c2,P20 %pRăFD=jebh4@T2 (&@t`kV@jbid'H A@b+0A`ap  WVt H ,04/d(B`R  0Wx@8gCN@  df5( |Pf`l*p `fہ46U@7Y_BLx1 b(\"PbW|0K!d2@@7 29$,$)E9' AKF P< CRR6 *4ȄA#  Ϩ x(!!Hcl jB-`H4 y@ W>@ $4 #`DN@ ֠"'D @ h((@r Rl$Ct)2`~tB  B XPX3`c8 m ``  P0 :C[N `*4P `` t w("C`p/$ WS<CACЏO 0X`jA@#~3 a=hH7 z<d( b z(?p13`d?I0W s:(@^@ @' x Q k`3a~7;9`fPC7P^ @!(@08e E0`s (0b 53 p0 w)H<  88h P1qd f(28dPEI\B P,; Z$Cp7 ` D @ZD k ȗMAS ``l@0D@  Z ;h  DB&<]@aMPHD QŤp OP6f aQI&@ 1,H6Dx6Dv30  @#0@ėht%<*1@ܧ1Z@P,|Pc30- @a`V@ c@`d`@aZh|00v F$%.cQ% \]`l& a( ,N{;sP+h@ hx$ (pH&a̡ ƒ@jT 9T<0 g`5m@X X0 jJX k p ēxS%D!pLk8 $00@rT~`ʇce6d?c @hM`x=jd- hB@^"%C`@, 0{@ t 3x Z!pH8 fQl Z0 Y2 4 7@ *(0@0  !*` GV@ E@İ(Pt zE 2ZYeXD@̀, (P6`B2/&,AcL>i$P71Āa4{T@1 k8 q Q5F R3 6 zPP p3(A@$H7`fPĂD x<*cD>8P6   "eH,FH7 h/H !Ai`qJ0sZ/f6Zx `ÀAfo#!iSk&Ppp0X%T66AP$4AH@0 pu J0 b"t_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #6,d0 beq.s mt_portup cmp.b #7,d0 beq.s mt_portup cmp.b #8,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn cmp.b #9,d0 beq.s mt_portdwn cmp.b #10,d0 beq.s mt_portdwn cmp.b #11,d0 beq.s mt_portdwn cmp.b #13,d0 beq.s mt_volup rts mt_portup: clr.w d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: move.w 22(a6),6(a5) rts mt_portdwn: clr.w d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mtSB3_ok2 move.w #$358,22(a6) mt_ok2: move.w 22(a6),6(a5) rts mt_volup: clr.w d0 move.b 3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn mt_pushvol1: add.w d0,$12(a6) cmp.w #$40,$12(a6) bmi.s mt_ok3 move.w #$40,$12(a6) mt_ok3: move.w $12(a6),8(a5) rts mt_voldwn: clr.w d0 move.b 3(a6),d0 mt_pushvol2: and.b #$0f,d0 sub.w d0,$12(a6) bpl.s mt_ok4 clr.w $12(a6) mt_ok4: move.w $12(a6),8(a5) rts mt_arpegrt: cmp.l #1,mt_counter beq.s mt_loop2 cmp.l #2,mt_counter beq.s mt_loop3 cmp.l #3,mt_co:unter beq.s mt_loop4 cmp.l #4,mt_counter beq.s mt_loop2 cmp.l #5,mt_counter beq.s mt_loop3 rts mt_loop2: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s mt_cont mt_loop4: move.w 16(a6),d2 bra.s mt_endpart mt_cont: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea mt_arpeggio,a0 mt_loop5: move.w (a0,d0),d2 cmp.w (a0),d1 beq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w d2,6(a5) rts mt_rout2: b$< lea mt_sampleinfo,a0 move.l a0,a3 add.l #$0c,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay,d0 clr.l d1 move.b (a2,d0),d1 mulu #$0400,d1 add.l mt_partnote,d1 move.l d1,mt_partpoint clr.w mt_dmacon move.l #$dff0a0,a5 lea mt_aud1temp,a6 bsr.L mt_playit move.l #$dff0b0,a5 lea mt_aud2temp,a6 bsr.L mt_playit move.l #$dff0c0,a5 lea mt_aud3temp,a6 bsr.L mt_playit move.l #$dff0d0,a5 lea mt_aud4temp,a6 bsr.L mt_playit move.l #mt_speed,d0 mt_ y: rls: dbf d0,mt_rls move.l #$8000,d0 add.w mt_dmacon,d0 move.w d0,$dff096 move.l #mt_aud4temp,a6 cmp.w #1,14(a6) bne.s mt_voice3 move.l 10(a6),$dff0d0 move.w #1,$dff0d4 mt_voice3: move.l #mt_aud3temp,a6 cmp.w #1,14(a6) bne.s mt_voice2 move.l 10(a6),$dff0c0 move.w #1,$dff0c4 mt_voice2: move.l #mt_aud2temp,a6 cmp.w #1,14(a6) bne.s mt_voice1 move.l 10(a6),$dff0b0 move.w #1,$dff0b4 mt_voice1: move.l #mt_aud1temp,a6 cmp.w #1,14(a6) bne.s mt_voice0 move.l 10(a6),$df O1@f0a0 move.w #1,$dff0a4 mt_voice0: lea mt_modulate,a0 move.l mt_partnote,d0 lsl.b #7,d0 add.l #$10,d0 move.l d0,mt_partnote cmp.l #$400,d0 bne.s mt_stop clr.l mt_partnote addq.l #1,mt_partnrplay clr.l d0 move.w mt_maxpart,d0 move.l mt_partnrplay,d1 cmp.l d0,d1 bne.s mt_stop clr.l mt_partnrplay mt_stop: rts mt_playit: move.l (a0,d1),(a6) addq.l #4,d1 clr.l d2 move.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 tst.b d2 beq.s mt_nosamplechange clr.l d3 lea mt_samples ʄMt,a1 move.l d2,d4 mulu #4,d2 mulu #$1e,d4 move.l (a1,d2),4(a6) move.w (a3,d4),8(a6) move.w 2(a3,d4),18(a6) move.w 4(a3,d4),d3 tst.w d3 beq.s mt_displace move.l 4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) bra.s mt_nosamplechange mt_displace: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) mt_nosamplechange: tst.w (a6) beq.s mt_retrout move.w (a6),1 |V"6(a6) move.w 20(a6),$dff096 move.l 4(a6),(a5) move.w 8(a6),4(a5) move.w (a6),6(a5) move.w 20(a6),d0 or.w d0,mt_dmacon mt_retrout: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 move.w d0,$dff09e tst.w (a6) beq.s mt_nonewper move.w (a6),22(a6) mt_nonewper: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #14,d0 bne.s mt_noset move.w 2(a6),24(a6) rts mt_noset: tst.b 3(a6) bne.s mt_noclr clr.w 24(a6) mt_noclr: cmp.b #3,d0 beq.s mt_modvol cmp.b #6,d0 beq.s mt_modvol cmp.b #9,d0 beq.s mt_modvol̻F cmp.b #4,d0 beq.s mt_modper cmp.b #7,d0 beq.s mt_modper cmp.b #10,d0 beq.s mt_modper cmp.b #5,d0 beq.s mt_modvolper cmp.b #8,d0 beq.s mt_modvolper cmp.b #11,d0 beq.s mt_modvolper cmp.b #12,d0 bne.s mt_nochnge move.b 3(a6),8(a5) mt_nochnge: rts mt_modvol: move.w 20(a6),d0 bra.s mt_push mt_modper: move.w 20(a6),d0 lsl.w #4,d0 bra.s mt_push mt_modvolper: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 mt_push: add.w #$8000,d0 move.w d0,$dff09e rts mt_aud1temp: dc.w $0000,$0000,$0000I ,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0001,$0000,$0000 mt_aud2temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0002,$0000,$0000 mt_aud3temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0004,$0000,$0000 mt_aud4temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0008,$0000,$0000 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_partpoint: dc.l 0 mt_samples: dc.w $0000,$0000 mt_samplRqe1: dc.l 0 mt_sample2: dc.l 0 mt_sample3: dc.l 0 mt_sample4: dc.l 0 mt_sample5: dc.l 0 mt_sample6: dc.l 0 mt_sample7: dc.l 0 mt_sample8: dc.l 0 mt_sample9: dc.l 0 mt_sample10: dc.l 0 mt_sample11: dc.l 0 mt_sample12: dc.l 0 mt_sample13: dc.l 0 mt_sample14: dc.l 0 mt_sample15: dc.l 0 mt_maxpart: dc.w $0000 mt_kn1: dc.w $0000 mt_dmacon: dc.w $0000 mt_modulate: dc.w $0c39,$0039,$00bf,$ec01,$6630,$0839,$0007,$00bf dc.w $e001,$6626,$2c79,$0000,$0004,$43fa,$0020,$4eae dc.w $fe68,$2c40,$428ԫ+ 6(a3,d4),8(a6) ;replength = sndlength chan2: cmp.w #0,(a6) beq chan4 ;no new note set ! move.w 22(a6),$dff096 ;clear dma cmp.w #0,14(a6) bne chan3 ;no oneshot-sample move.w #1,14(a6) ;allow resume (later) chan3: move.w (a6),16(a6) ;save note for effect move.l 4(a6),0(a5) ;set samplestart move.w 8(a6),4(a5) ;set samplelength move.w 0(a6),6(a5) ;set period move.w 22(a6),d0 or.w d0,enbits ;store dma-bit move.w 18(a6),20(a6) ;volume trigger chan4: rts ;---------*k#--------------------------------------- ; used varibles ;------------------------------------------------ ; datachx - structure (22 bytes) ; ; 00.w current note ; 02.b sound-number ; 03.b effect-number ; 04.l soundstart ; 08.w soundlenght in words ; 10.l repeatstart ; 14.w repeatlength ; 16.w last saved note ; 18.w volume ; 20.w volume trigger (note on dynamic) ; 22.w dma-bit ;------------------------------------------------ datach0: dc.w 0,0,0,0,0,0,0,0,0,0,0,1 datach1: dc.w 0,0,0,F0,0,0,0,0,0,0,0,2 datach2: dc.w 0,0,0,0,0,0,0,0,0,0,0,4 datach3: dc.w 0,0,0,0,0,0,0,0,0,0,0,8 pointers: dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 notetable: dc.w 856,808,762,720,678,640,604,570 dc.w 538,508,480,453,428,404,381,360 dc.w 339,320,302,285,269,254,240,226 dc.w 214,202,190,180,170,160,151,143 dc.w 135,127,120,113,000 muzakoffset: dc.l 0 lev6save: dc.l 0 trkpos: dc.l 0 patpos: dc.l 0 numpat: dc.w 0 enbits: dc.w 0 timpos: dc.w 0 data: blk.b 0,0 n4: rts ;---------!3л000000000000000000000000000!+l000000000000# %b##2%f##%jaNu <P"<,yN:##2M$b 9#2"<=@H@=@H@(PQNu <%b$##"<,yN:##~ <$"$й#~## <$b$й#~## <$$й#~## 9#SA$"y - +6ALWb ZATBSC @D A"SoundTracker V2.0" 10~ Seka 11~More SoundTracker.Text 12~3~13~4~14~5~15~6~16~7~17~8~18~9~19~?~TJCMapAlbert S.@($  D7K*&" 6EGAAAAAAAAAAAAAAA@~`~`!!1@@2##3$$4%%5^^6&&7**8((9))0_-_-+=+=|\|\0QqWwEeRrTtYyUuIiOoPp{[{[}]}]123AaSsDdFfGgHhJjKkLl:;:;"'"'456>.>.?/?/.789 ֹj#newirq,$00006c move.w #$c000,$dff09a mt_wait: btst #6,$bfe001 bne.s mt_wait move.w #$000f,$dff096 move.w #$4000,$dff09a move.l mt_oldirq,$00006c move.w #$c000,$dff09a clr.l d0 rts mt_init: move.l #$00000,mt_sample1 move.l #$00000,mt_sample2 move.l #$00000,mt_sample3 move.l #$00000,mt_sample4 move.l #$00000,mt_sample5 move.l #$00000,mt_sample6 move.l #$00000,mt_sample7 move.l #$00000,mt_sample8 move.l #$00000,mt_sample9 move.l #$00000,mt_sample10 move.l #$00000,mgOt_sample11 move.l #$00000,mt_sample12 move.l #$00000,mt_sample13 move.l #$00000,mt_sample14 move.l #$00000,mt_sample15 move.l #mt_sample1,a0 clr.l d0 mt_clear: move.l (a0,d0),a1 clr.l (a1) addq #4,d0 cmp.l #$3c,d0 bne.s mt_clear move.w #0,$dff0a8 move.w #0,$dff0b8 move.w #0,$dff0c8 move.w #0,$dff0d8 eor.w #$c000,mt_voice0+12 clr.l mt_partnrplay clr.l mt_partnote clr.l mt_partpoint move.b mt_sampleinfo+$1d6,mt_maxpart+1 move.b mt_sampleinfo+$1d7,mt_kn1+1 rts (mt_newirq: movem.l d0-d7/a0-a6,-(a7) bsr mt_music movem.l (a7)+,d0-d7/a0-a6 dc.w $4ef9 mt_oldirq: dc.l 0 mt_music: addq.l #1,mt_counter cmp.l #6,mt_counter bne.s mt_notsix clr.l mt_counter bra.L mt_rout2 mt_notsix: lea mt_aud1temp,a6 tst.b 3(a6) beq.s mt_arp1 move.l #$dff0a0,a5 bsr.s mt_arprout mt_arp1: lea mt_aud2temp,a6 tst.b 3(a6) beq.s mt_arp2 move.l #$dff0b0,a5 bsr.s mt_arprout mt_arp2: lea mt_aud3temp,a6 tst.b 3(a6) beq.s mt_arp3 move.l #$dff0c0,Än%a5 bsr.s mt_arprout mt_arp3: lea mt_aud4temp,a6 tst.b 3(a6) beq.s mt_arp4 move.l #$dff0d0,a5 bsr.s mt_arprout mt_arp4: bra.L mt_stop mt_arprout: tst.w 24(a6) beq.s mt_noslide clr.w d0 move.b 25(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn2 bsr.L mt_pushvol1 bra.s mt_noslide mt_voldwn2: clr.w d0 move.b 25(a6),d0 bsr.L mt_pushvol2 mt_noslide: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 beq.L mt_arpegrt cmp.b #3,d0 beq.L mt_arpegrt cmp.b #4,d0 beq.L mt_arpegrt cmp.b #5,d0 beq.L mUH*vւS#C BBx#D#B r#A$ nґBrҩ$`p,(jN#At gv"fx#Dp,(jN#A` ")Xf>Jg6B$t#BJfG" p4I`Np4(jN#A`p,(jN#Ap,(j,NtEfr#A")p,(j,NtNfr #A` r;g`t gVv=gLJg$x؉&$) ")p,INJfrNp,(jN#Ar g tfp,(jNJgrNJfr=fp,(jNrNrNrNNo K directiveKeyword too long substwr*#pXRlrN")ҩ")") !rNNqsubstwr*|0X#Fr#An6$ԁv0(() $)"&)p$INJfrNrҩ`rN$substrdB܂6" <(j8NJf$G," <(j$Nr <(jNBlBXB\BhBpr <(jN%AtBx$"0( <I(N"< <(jtN%A`Jf$G<" <(j$Nr <(jN%j`dr <(jNJf,tGT" <IXN#At$r <(jN")lt")X!l "&)X!8")X!")Xv!""0 <INJg"$)X"0 <IN`z"JfT$<|ԉ#Bxr <x(jN$)x <lINv$)x")X <lINJfr%Al`""0 <(jN#AxJf`mFr <(j(N f""$0GX" <(j(N`"$0Gh" <I@Nr%Al`"<҉#A|")x <pIxN$)|")x <pIN")|Jxl($G" $0( <p(j(Nr%Al`*$)xr <p(jNv$)|")X <pIN")x <pIN"*l <(jPNNNq DIR,OPT/KBad arguments Cannot get workspace : %S not found #Could not get information for %S - %S is not a directory tidyup J`g"*`p(jxN`,"*x#p"0p(jN"*xp(jxN%ixJxf$*t@rp(jN"p(jNNNqstart.nv ։#CB0(#pH 4x&t:")pD(jN#A0JgfG$ ")pHI4N$)")4pHI4Nt")pHI@N#A8$)!0(rpH(jN$)!($)8rpH(jN")4t0JfB$*")4pDI4N")4t0҂t0r:gG$ ")4pDI4Nt")pDINNNq:/Tx(j$Nrҩh`rҩX$G" <p(j(N")S$")X <pINJfr%Al%i\d")`NNq/ %S (dir) start r҉"t\ԉ#BXvp։#ClBtv$G  [Λ2ve.w numpat,d0 cmp.l trkpos,d0 ;song finished ? bne rep6 clr.l trkpos rep6: movem.l (a7)+,d0-d7/a0-a6 rts ;------------------------------------------------ ; proof chanel for actions ;------------------------------------------------ chanelhandler: move.l (a0,d1.l),(a6) ;get period & action-word addq.l #4,d1 ;point to next chanel clr.l d2 move.b 2(a6),d2 ;get nibble for soundnumber lsr.b #4,d2 beq chan2 ;no soundchange ! move.l d2,d4 ;** calc ptr to sample lsl.lB~h(j$Nr%Ax <(jPN""0 <(jN%A\Jf0$G" $0( <(j(Nr%Ax <(jPN"*\ <(jN"JgZ"0 <(jN%A`Jf0$G" $0( <(j(Nr%Ax <(jPN"*` <(jNBd"Jg#pt#B`r`>r%Ad``r#A`V")ҩt0G" <(j(N`.")ҩt0" <(j,NtHgvNg`R")t0l~Jdg0Jg(G" <(j$Nr%Ax <(jPNJg <IN`r%Ah <(jN#Atgdq/ <(jN <Ix#D t"N#A$) rNV#At") NJf ")`rҩҩ#A$)&)$GD" p$(j(N")S#Ar#AnDґtԁr0($GL" p,(j(NrҩtNJf r p,(jNrҩ`#ir#Anr #p,(jNrҩ`")S#Ar#An8ґtԁr0(#A t nvl`r.p0(jNrҩ`p$(jNN%X4: %X2tidyup J\g"*\p (jNp (jNJ`g"*`p (jNp (jN"*xp (jNNNq$TN & H **BREAK typelinJdg$*hG|" p(j(Np(jN"tgrp(jNJgr p(jNrtgFN"p(jNr gt gv fRhrN%I5 typehexBr ҉#A$<hԉ#Bd#Bd%AlBtv%Cpr#A|tnZ" <INJf&&)$)|") 9 #2,d2 mulu #30,d4 lea.l pointers-4,a1 move.l 0(a1,d2.l),04(a6) ;store sample-address move.w 0(a3,d4.l),08(a6) ;store sample-len in words move.w 2(a3,d4.l),18(a6) ;store sample-volume move.w 2(a3,d4.l),08(a5) ;change chanel-volume clr.l d3 move.w 4(a3,d4),d3 ;** calc repeatstart add.l 4(a6),d3 move.l d3,10(a6) ;store repeatstart move.w 6(a3,d4),14(a6) ;store repeatlength cmp.w #1,14(a6) beq chan2 ;no sustainsound ! move.l 10(a6),4(a6) ;repstart = sndstart move.w{%T p g?0`??vr??&? ?7&r '?'?r' '0?'?0g {``0  ??vr```?7&99'''??9 `??   4{ ptr to current pattern move.b (a2,d0),d1 mulu #1024,d1 add.l patpos,d1 ;get ptr to current step clr.w enbits lea.l $dff0a0,a5 ;chanel 0 lea.l datach0,a6 bsr chanelhandler lea.l $dff0b0,a5 ;chanel 1 lea.l datach1,a6 bsr chanelhandler lea.l $dff0c0,a5 ;chanel 2 lea.l datach2,a6 bsr chanelhandler lea.l $dff0d0,a5 ;chanel 3 lea.l datach3,a6 bsr chanelhandler move.l #400,d0 ;** wait a while and set len rep1: dbra d0,rep1 ; of oneshot to 1 word move.l #$8000,d0 Ros or.w enbits,d0 move.w d0,$dff096 cmp.w #1,datach0+14 bne.s rep2 clr.w datach0+14 move.w #1,$dff0a4 rep2: cmp.w #1,datach1+14 bne.s rep3 clr.w datach1+14 move.w #1,$dff0b4 rep3: cmp.w #1,datach2+14 bne.s rep4 clr.w datach2+14 move.w #1,$dff0c4 rep4: cmp.w #1,datach3+14 bne.s rep5 clr.w datach3+14 move.w #1,$dff0d4 rep5: add.l #16,patpos ;next step cmp.l #64*16,patpos ;pattern finished ? bne rep6 clr.l patpos addq.l #1,trkpos ;next pattern in table clr.l d0 moH9Nr <T(jNNNqInvalid argument to ECHO $NN#A0JgfG$ ")pHI4N$)")4pHI4Nt")pHI@N#A8$)!0(rpH(jN$)!($)8rpH(jN")4t0JfB$*")4pDI4N")4t0҂t0r:gG$ ")4pDI4Nt")pDINNNq:/Tx(j$Nrҩh`rҩX$G" <p(j(N")S$")X <pINJfr%Al%i\d")`NNq/ %S (dir) start r҉"t\ԉ#BXvp։#ClBtv$G lApBB <$(jN%At <$(jN%ABpBt<%BXv>%C\x$%D`z.%Ed%i%i\x%i,|%it" <$(j keymap.resourceCannot open keymap.resourceThis program requires at least 1.2 romsconsole.deviceInternal system errorCannot open console.deviceInternal system errorCannot allocate a signalDEVS:keymaps/DEVS:keymaps/Cannot open keymap file: topaz.fonty}%@CancelH ldP84H:(o o"oE:Ot&O,yNpJWFg/HoHTNO OL\NuNu:/$/Ho //9NO $NuH0,yLNL@ Nu/,yN,_Nu/,yN,_Nu/,y"/Nj,_Nu 0@U/,yLN:,_Nu  /,y"o / N.,_Nu/,yLN,_Nu/,yLN,_Nu/,y"oN,_Nu/,y /N,_Nu/,y /N,_Nu/,yLN,_Nu/,y oN,_Nu/,y"oNb,_Nu/,y oL "/ND,_Nu/,y"oN>,_Nu/,y"oN8,_Nu/,y"o / N,_Nu/,y"o / N,_Nu4Ldx(@/,y oN,_Nu/,y oN,_Nu/,yLN,_Nu labm|, H02,y o"o$o &o$ /("/,$/0&/4NLL NuH:(o o"oE:Ot&O,yNpJWFg/HoHTNO OL\NuNu:/$/Ho //9NO $NuH0,yLNL@ Nu/,yN,_Nu/,yN,_Nu/,y"/Nj,_Nu 0@U/,yLN:,_Nu{w<pp! p``` `w9@@?'vr???79?Og0s7&`?? g79o?3??''79?Oo`a ?? ''7~o{F ό p``` `{s???;vr'`?? g;7&~??'';~~s?~?? '';~r Fp(jN#Ad$&0( x08#Dhv֩X"0( $ <xI@NrҩXt <ILN$r <x(jN"!T"G$ "0 <xI@Nrҩ$" <xIN#AH$&0( k8r <(jN <xIN$)dr <x(jN`JlfJXfJXgrgpr <|(jN$)X <pI|N")S#Adr#AhdnG" <x(j$Nrҩh`rҩX$G" <p(j(N")S$")X <pINJfr%Al%i\d")`NNq/ %S (dir) start r҉"t\ԉ#BXvp։#ClBtv$G Y1r;Lo*j+'Չ8KDKעW뵐^{ir*SQ2'?~7wﻰ/!='eNj%5x1Ay K0ܶ'zY" }vmo^Z&wbf('٩Ru^ ";!Su^kFzܥ!_V'.֭!* /8m#) ;'=A$ oAJ)X$+gW;M,'sy xo |?w 8 r+1j'YQ 8TT`H-kG몍U׆|_@'߽F`78rAY]'B (ȼ `Epa( '"b#7,wZnRKg|u%D! b0#'  \ޯyǪ߫%޳z) f'‚0c(6J>Y)/'^4pAÀ' B(i2hU1 N  (!'a"(2HD1 *N280C'(8c2<ͷu?KWU=e( ( 888 888'b8c8b*tsr"V:=( 8'b"J.E"bĂ 8'ba ` 0C" B*"Tb 0a0'(8![w]kFݫl{a8`# 888 888'*r\ܖ]p(@0A' rT>ae_#t@8 ( 0']Taa @B3T6@aE] #tTQ0C0'c88(̫ɿug^܋joz8b 888 888 -4M+F K$g o*j+e A`* Q2w woYC =M \K0ܶ3 $)  Τ$Z&wbf(Fa !_VĢv >iJuW_ ;݉* %˾ *A BMHDf#33#B3TH CMAPf##$<CBBIHIA2Q BODYf^ #BBBBBBG EfNuBj6D"A8RA A(fBXC Cf BB(RQ`"A8RA A(fBXC Cf BB(RQ`8@F\bz&8'(wٜ0d` H2^(b( 888 888'0!AX,'Uv. hL844a p( @b'0 "@ca 5gz!(B8Bb' @"A#aH 4c2380'!((wݾkMq[j˜n(#`" 88_|||||||||| |||||||||| |||| |||| ||| |||| |||||||| ||||||||| |||||||||| |||||||||| |||| -)> POSTBOX 57 - 3480 FREDENSBORG - DENMARK <(- - N O L A M E R S -  !_devsp |(jN$)X <pI|N"()T&0t/") <p(jN#ATJft#BD") <pIN#AL$)" <pIN$)0") <pINJHg r#A``4JLg"&)X$)0") <pIN#A@`\J@g B@`L") <p(jN#A@Jg2 <pIlN$)X")@ <pI|N")@ <pINJ@f B``JDg"#p d$)Pr <t(j(NJdgD")dt0҂t0r:g(r <t(j(NJg")dt0S%iLp(<X؉&)$)X" <tINJfr%Alt#BHBP`")Xtxfr <Сl size of the table. The Keys. --------- The original (V1.21) version of the SoundTracker had a German keymap. Version V2.0 supports a standard USA keymap and this ensures compatibility with nearly all Amigas. The keys on your Amiga have been grouped to represent the layout of a two-octave piano-keyboard. You can "shift" the keyboard one octave up or down with the aid of the F1 and F2 keys, thus incrementing the range of the keyboard to three octaves. While editing: Cursor-keys m26600 ---- ---- Nightmare 9900 0714 8354 NoteMan 7000 ---- ---- Organ 6400 ---- ---- OutLaw 8400 ---- ---- PanFlute 9900 ---- ---- Perco 4500 ---- ---- PingBells 5400 ---- ---- Pizza 9400 ---- ---- PolySynth 9900 ---- ---- PopBass 2700 ---- ---- PopSnare1 2000 ---- ---- PopSnaLCg"@NbJ gN|"y N NuH.<,xNL`pd`A\NA\NNuCpN#gNudos.libraryjd^>,d^LF|k!NF895=%Vt*K$#; >寺B@K@'j٪d'\~>b_ "16"f:,'Q2O DSZ7\~6bO""f*^o1 i<%'=ȣ\ɝ)vkfաs'ܶr? k,szfP&=dgβ:. `'bf݉Ѥq: 1P͇F㋡/բgv&k'_V}[q2ѱPݗF~U]bo'$Ss"pfr.NX"h? ',4DiQ A+̉nV0 2'Qz'+1ťuCh'kh{aMǤt(j"'_~lgߨͷUiygWǤTŭxju ']fv!a W2H8"8[a_5O' I} n3,fFg$Ka"8B'b0!z#{WU%ȁ (('Â8C8Bz!7;{go7̈ A 8#'8"(A X3wa( 888 888'a (8Ux `  h3% !QǿVߓ6ק/ !b  '8 8 Q翷3300'(#(8F @H-@ v((  888 888'@Aak L@ i,ݰ b a'B!8A\ |ӣV0k67p !0(Ä '0H3PTQ10aÊ0c'`( 8#`Š8  888 888'e mcD#'yT,;,RR +')R@Jfu VkB7%!PX+'8<㥂fd\C'4<X0@aOoO'/ >j 0@ n1־p+'띴}j5`ީ2 J ']u u%)fY3 v NH'\22ځP?]> g>QvI'fb^WU&j'O !A j)':/# aАc'D&$&&a!"pqbbq UVČa 'EVVB" pjgT߿čB-1x':0kߏ Se'2$ @;r_@&S 0('>GG!d ؚq7.iBz7='1i1hC!vyS:bCoY@@k.LP!8ˆ ' A`R Aw ?&u! '88`B}y,p&T3`("'T z(((-l@@t٫o(b(8 888 888'aab!cR 9Ea%8&b¼i"@'Bbb !b#PeOlT @'00 bRb#tHoĸ C`'" 8@ ;G_@8(8 888 888'^ӘӘ_> )(v}ع;,'ţů61w)&la 2DHp'22^6aGG !|&l_Dޱ߭ ]=]Z-4'S Ыf0i zx^V D@MLo*')sDvf0ekzxnD~E D_S'~Ϛ]V) W[ =='R7-?!0A M:#K0'Vؙ!Jzl|Ҵ^0SP#28Z&wb')u{}}~ ~_|?P}E\!'@*ꪁ K !/) 'D@Kz$ց.P Bz;M,'&A0Y Xw'ޝx +UHhx8 r')]v|THZ׆|_'h>v3A5 P`{Y'@ $Ա {0b{8‚0c'B> ^t9( B('a0~ya9a"'c8(8!pXVv+ _@((8c 888 888'8cb !!HӕQI ΍#Ojeӄb8c'(c =n 7Q[| b'b 8B1]޿s8ba `8#(p.= Fꀆ((8 888 888'8!!FHXY/؀ hЀ8' !O۴m]}`8'8#(ÆJ4t[iڣ hra @#"(  (c88 888 888'H}^ʵ{N=T Ѹ֐i@3( (-4M'cj T(By YoB C4B'??'=;w?p'?<xǏ ?'w'??'[7xǿ;oa'Ǐ ?<xǏ?!w'??'p;'??xǏD$mw'??'woi?{7' ?<<pqǏǏwo%?'oxǿ ??'??<<0aǏwo%??%=?;'??<8x0aE{wo%??'ÿ='??<<x0w%??'ǿǿ-'<<x0xa%wo%?''<xx80xaF8%wo%''00ppxxq%ww%%'xxxxxx%wwwwwww%''aaqxGGxp08x%ooww%%'axx08x<<"o%'==ÿ'ax0x|<? ?"'??';ǿ'qx8|>? ?'??';ǿq'Ïaxx8;W;^kF;`k]'A  (U1|=7JO0'c(A AUa(3Q(\ b A8Mz"'a88BU!(21 3(L b'(@(nG~ww*=u`(8( 888 888'8`  Ȁs c!Vg|8! # '"0@ + FgAFᱝ`8A(#'cA3hDeBD᱕20!'(0(a4gxSNj8b( 888 888'0b È0arQ6D D+ 2P(!'0 0~lD$0A"`0`8C('A0AÀ0"~l%FDFD0A"1"0A'8 ݁=K{ڹ]NŠ8( 888 888'8h'?~~'#~?'~~~~~}''~a??~??~?oo'~~~'GxG~?~?|?<~#'?~??????9o '~~?';G@?~#?>'w???ß0` 9NQ*'??'7o?;?`'w7? ??'??'o?s?7a'y<?ßp8:Fb"o%??'ow?7'?q8?8? oo%??%7o?'?sy?89o o%?'?;oq '?q8??ß8;|oo%???'[qo;'??"X'??'N{??'y<?8ßo'??'w`?o? 'a?xß<?9o'?'-w;?wa'?8ǟs?xo?#,߿'?';ÿoÿ??'ǟq<8'???';o;'8<yǟ'???'7a;p'??|'}|>Q? x?~o)' s~?G!x# '>??|?'( |S?xG)p '8<?G#|?~Cpo'|>?|?'Q;.(c1u|< <?G7<'!|c<?c '?~??|?|''7 <7x ~S?x>'G xgx~?G!>{'|??|??~'G(|O7x<?+ 8>'cx|??C1>> {'??~|?'x /)) |5cGw||) '!g|>?gs|'?~>'߀Q(7||S>O'?# G||?!q  '>?'"~7|~߀Q'G8C|<?#1π '?>' aQ~'0*|7|>#'π#1x>1 <C'>'G?x?) gGS'<cy?#{ '>'(??xO?('1G3?G {'?' .?1+af7xO?x?Cp'33c ?x! {'???'Q?OSGx7x?߀'!>#? ? x??#oo'???|'; |;Gx>7>) >'G|cg > ~> '?>?|~'Gw ~?Gx? >2,rnox?'>G> ?~x?'|?>?~?'|>'|#?Gwz'?~ > {'?>|?>|'Gw >;Ow <'~ G|'??~|???~'߀( |G7<o>G3-$'?~ > gc?C '?>~|??'鿀Q <?~'!> ~ cGc?G o'~||'qooS'c  acac#'|||'~~x|oS4.O'<G| cs#y0'|'O)|QO('y?| ~!101'?|']?|o~C)~'s0? ~1y |G)?)'>C 1? ~?~?'~G A|G C>' >3 <1 >'~?~?~'z(Q?<Oso '?'07c? <'?~?'H?< _'0q0a >?x'?~?'#g > ~'s?ay >?'??~?'_G ?>  ~ 'ya?q? >??~c"2=Bc880a80" A ((b("(b8"('8888888888888 @ b  b(`(( 0!c€08 ((0  B' C8(C880c8 08a` a (c( #8(!'8888888888888'LF{\ %@ (PEz+/0`e'!.BeAs0* (nD,l'~JUm? |xME*~Ͼᄏt3 aϯϿ>#300'Ha"^[ދ"3 ho#lC\&bs"'a ^P7(X!\U-*G#.攡Ww7F tYؒߋR]^".!  *8mr}x '٥[ɋs03h (@!cf`n': 063300 ড় aFUY4F"6'0E-*L^c}0ã'jMˌe矞|k]K3;8p8pa' (0=Ǐ^fǏ0'A 0ǏfǏ=b A8"(b'8"C p0z(P!Cb$4q50@'(@(( @(P!Š(8('8880ǿ^9Ǐ8888'8` `(ϛ3 l9>l38! # (A'@ B(A͛3 l6l3f8A(#'cA!!`>L0`A0!`'0((!` I8b(Š('888ϛ3 9>l38888'b È08!ϻ 6m?(! ' 0†0 ϛz!6l?`0`8C( 'AÀ00B< bCx"0A 8 !<( 8(8 '888ϻ/9㾾o?8%5y1888'95+]fϛ3lYmٛ67s寺B@K@b'd+<3f3|l77,'O DSd\CL0dȃLndɈ#>Oo1 i<%-NI'O2ĐF `3s??'r?p+^<{f06l:. `'݉2 J 0 A 8#8 8"( #(('8888888888888' (   ' " b ab  ' 8 0a888c 8000("#(8`(( 8'8888888888888'Aa(@0'7~ " " b a'!8 ( `00(Ä '0C8 88880aÊ0c ( 8b "8 8'8888888888888' mcD~lwk Pj a$f-N)xl-Sle־p+2'띴!KИ (H>!ީ2 J v' u(rZW}[UU]jV(5_p'( (8'H$V$! (K'F DH4GM"JU"JHpi'/'-'=֢UBŨ ~<~u!u#Z's "1k^~u?uծTN(,' D5 fvª*)z)'B08‚0a (AÀ8' ( B((! "   ' 8a"C 880A'"((8c(8"(A(Ac( ('8888888888888'!b8c8 8#( '@ "b8((À 8c')9_WA8ba b 0 8 ""8C 0a '"(((8#((( 8`'8888888888888'8@a 0(' B8!" b8(' cC!A!1B'!(8( (8b';8898989' c@h90<¸d\' 01 dڐ(<'?㥇7LGOD[;s&E;cg'<4L*:}+' >j` ? p2'띰 Kh `" i0H 'wX}[_+p'  t(|(' }xp}' ssxp~_ '?'A!w##+x<>'! c s?'??||+;n"'#g/U >8|_'C#!3 ~s~| _'?||>?'O'GQ7#( |?f'GG'#G p s8?_'|>>'߀)p>s|'?OCc3G x 9>??_ '|?,&g'O/ G'?GC!3g <?~G_'>>?'<OS| ?O@c'<O#1 ?9>O'~??>'xGOG@C'x?g3 ??G##{ '?|=`"88' ((g1 ˎ>~%Yc('88ph(<A88'b("b>.;D. rP90Z(a€' ( ۾o7rطo삮E?`(!'ccƀhaՌvߔ8C( >.9E *Dz +p('88ph(<A࠸88'oyna=3Ƥ9'1q!lH h-]'*00mwI5/}I>m=:'sXQQ߃^ŵ ȗ'T*1 RS.~I31C @2 PwE'!BD"Kw?A>Y7V%'}^__n7xX^#9},_'.1 }'ȇ@*H~!.f(*px8<'6qkeld&C䂄ɐ@4 b&@- 'zj:fԯwwj?9tQ=s'3`'Aou\73o7C3ёYC'/ {|]G̐6aȼ.n3=N9$ Gp8<'`( "(يH(ɂ H;!*b(( (A'Š+wo&v?9c?c:BB' !()%FG:D?y q$Ҍf#ۄC 0! '#0€ -I\$;T^7`'88H< A88 b"  Ȉ("'A tp|?>? c8' C?|>0b0#b ("'88?|>88 `@ !A!  8b@c'a8#8888888080  '8888888888888'lƶc젅 P @j @c;$J `` @웲bɋ M} {ro0ͼ ?kU>@  ,$2C< R9N   Ь #H$ ;r$"   k ]'m} ؒ    m4*@ J   i'Zu d29@ 0QXUE`R4[ ]?O ꪤT H# B B   B (@"B'0Apb 88Æ88888c8Ä8C"b ( ( '8888888888888""   ( 0"( `  "("('A888C8(808800@8#8 c( @#'88888888888880€("" `(@ `B'0CŽ0888888C0c0A#(!( "('888888888B 8888/ q4$ @@(PxIbY%'ق a@ @M0,.2Ep5 ț=X?~ ^7L l6Wwt¯| JʿO?/E (T X@@0H* !'! (+K%P 0 ra \׎,]}u }_} (* * *!CNeP@( D„"/9/l3`L}A@*@ tRo00+C. V/_j1 ( "B$4 8A  8b(A C?w3BA(B 0 #('c! "888888 CA C0 (`( (b'8888888888888 " ((  ( (c8 A!b'Ab0#888888 A0c0 (0 8(""'8888888888888 Ž@(@ 0 0 ((  ˆ('0Ì ` Î8888880 0 0 "  ("!`!'8888888888D%Lt888:!:$^ BD$"k?". ]3]0?/P. s7o.1.1=L_ ~qیj1\_{/ ϵs,<\?$ d=P To:* '"wD  (=ggwZ? _Y} ("( ~(@" ya (&DT+Yǖ [L6"FT&JՒ+V';;5HKl!ƪ IlCdV6' \\h"S~/_}M7' $!"?@/xEH2dj?~oH(J2!(  Ç((8 0xx  (ˆ('A !  8` 0z^wF' m'ڐ)Rr){3fRg`j@J'9&E8`mMİLL? 3?m5m<<'4>'"m-1y^f|m&r~@ 'a]u =~]Zaφ ᙃ|-sq u'|$: "!1 ?km"u(  Fby"rѼ xAajCݞ}WR9kex@"J1œ]H= \nȡ [oFFw!s' ~~ 0yf|o.nެ D5 φ ᙃ? A 80` 0‚#0A B0 @(b (   '0Aa88 8aB 8 8 8`(8@`((8b("'88888888888888a08#( (! b 8(8  (@ "'8c H( Jn}ʖò; b'毴 @2h< 0$=+T pyi']^]Tk~͟5?W4U5]T ?x8<'8N8@ B0wM 'ƞNS8I'  P[lsL~+qW@䩚dj'(zCpdhLo:Xm}]'bJJ(*Oob[J$J x8<?'t$R$yĂ7c0hnJ)"J$'_jF4/3ݧ1ya:9|'0w]c]nrR8-!"6vW]Gh[u]m#*RAN"c(#򋨣j  I!]]x8<?' b a(#I" `0  `'@@(kfݼ/"(  @'880lr / 0Ž 8'bba{~C3x"((`8c!Aa'888㏀8$ 88888'88 D*C&8b 8'(( (@{Y&_|hb ( ('  0Ahi`=_dn88c 88" 'aIs8##('888`p8$ 888888' "b03B8BP B"'  2}ӋJLn`CB ! `(" 'a B C!}p]; 8Ä8C'((("Ex#pa( (('888㠰px8$ 888888'<#ߣ84` ?`D??'n:0˶V饳Xoȯ ]?.uc ";''"ϐ{Adr8 _ eYt~A3@:s ']]rמּNco<̿Ww] px8<'O1N1@#B"  'Ԉ:h EEL';;(:ϫ'r:\mMvjH(%c;'8}}@u29o]%yP9_^,ߋ4~'cLL_:,b֠(tLK#a; px8<'Λ>> 9 "%BG9 lhd C6'$̀d̀kPY}nf{M,<`c'q_ӏ_ʖ t:<,"@:jG_'r5i1 0^:\* x8<ACB 0" B!@A'!"!(蠈0(0""'00A8(c c 0 aa (#"b'88888888 (@ B (   A88' Ì08Lӥ808Î0 8 ˆ0 b""  Æ((!A!'8888888888888'# ("8 @ (  €(#@ (0 8# ('0Î88888008  c8(  @c"(!(b('8888888888888 @mmp馀$H ,lNEo( ;֠ @P:$9(k'fFaFq!E^/2Pќ|̲'\]Go:@ͥϽ.Ws 111 $M||z(ջFhf "Lm ^A^A  Р 4 "4E( KȻȋ_WUKQ" lftb 7CJJ b,'r{R+@ "B[(HЇ.U z qD0& "\|K +@.B N ({(}^_ߗ'*z5]uK)z  *N u"ʪ֥'A(( (  ! Ê`8"8 C 8# ' 8 0Î80800 ! C a0a "( 0!('8888888N. 888888%(‚" #( 0  B@((  (! ('B 88088c (C@0Æ ("" (" 88 (#'8888888888888' C  (! @'( A8 ('c8c(8C808( Ä8Bab `(  !8 (( '8888888888888'I7A9 ȓ^"- "{`Mn0' (*<$y;tOe:Ut;>'`PS_u9ٛ0Is-R3ذA'^?{4UF&ABA ネx~UwO'A=;A0 Z J$ PzEM p'","%*@@- !RbB} E"'vu}cv\}ݯ]_m' IRAP( ! * #. \"U' (~?? % Y'C ?o_>?& :`'Z\UX`FTu'*% ?_?zB )' ,G) R${#&1t&Pa0" "'(5PseA6u)Y@ '80Ä@!C 5A爘0"('@! ;OVRJ9wg(""'88h($ A888'B8@A$JsGV"1 \X,`( 'b(BAx kgoyA 'C 8ag!p9A8 Œə(8b'W=/¾g8f=36f`('88ph( A88'0T x.K`@+@:bb+@  @  u[o?=·c{" 8@'c0bF$~I??#@3a 0!8' (""Qm+* ˁ% 0$\6"'88ph(< A88'Sf(p L7QwA!Dt&c':1k{/?iu~A㿀waH `' $̲ 0Jh##Cӵ%gwy'Ts 4+Oo;K,J/U(px8<'B`0>JC/P E[9N%'"9( vo/737MC6}$j!' ~W.Fg138ENP߿'m}'`,M07x9v) @ؒpx8<'T{U X6 8 ?#@<~4EDYA4*'W@ƒ PN/W3.?HM 729'vwK)_Eft1{X}# ԛ[['*֠ 6΄R5@w+dw ꪤdpx8<' `8$, 2 BP-H "(b'^los8?;;R?/^{ (@"' 0ÆcۈdD"zƌj0C8b 'a (~$ͅg9o2l@'88ph(< @888'b W( D`% >H 8E9(!!' ( \o唲h?7}Z>Ag?b "' ׀l``H΄4qR##=4%f%l%v%|%%%%%%&4&@&F&h&t&z&&&&&&&&&&&&&'' ''('.'4'D'T'\'b'h'r'|''''''''''''d0d6d:d@dDdJdNdTdddddddddd     " ( , 2 6 < B L R X ^ f l !!!TՇ FORMILBMBMHD@ @CMAP`p`Ppp@P`pА000@@@PPP```pppDPPVh/h@Ze g:DCRNG4$CRNG  CRNG$ CRNG$BODYd'++ E;ڮ'ZEmo1#2 * '@~'gB8sUsakE',<9R|~k|0,CŒG#ni0ϰU@>'<=߾='+D+Ore':P(i˥)CP=aRWJ'֡VW̟hgV$Z"nP~5(wX'6vwVH wu^=]u(Gw';;x(t 袊 :꣺;'Lj j~AW2\JΣFu6DF¼ ';Ŵ`@k|ANTX !4Wc)ps'aa!aXM\xD1!Buêꆨc'__>)4)j<5_' B @0 0( #8@ #C'@  (0`  ('  !8  #`0V6~a0"'(((b(8" "((88b('8888888888888'Ccba @ (C8C0 !`'b `88 `( 'a(@0`(B8ca  0Ä'((8(8 (8"8('8888888888888'A008c    B 8 0'000a#(8 0 0'c008A00 @ 8 0'"!(8b!(b("((b(#'88888888W&}88888't@tK=yybpv4Gq M-@M't*$*&v NH T|S J*'\22ځQvIs:X"Sq)L-2'>Ͽ<'O aАc FHR7-`'D&$&&a ȁ(.B.Vؙ k)'EVVB-1x]}_W)u{}ձoV':0&(_( .xN@*N:'>GG=؞xo D@Kzc'1i1hCoYs;)N3Ĕe}j.@ A9'~bλbfULJH}yF]D12س/b'U=U>o=}͵wM]5'&PP:_cj?Z! \e> ('2W!&Rՠ!h ')uyu}}Uzpx  _X`___}'**~B|j"*'/V/U|M?)W" ؟! B/Q'(+(!};Y珹2 \^z:ʎ*'!ssa 6@e(Ui}Rw?s'>4KS^+voߪ?DjŒ: x'9@2v ¶ Y(!! '8#8" ;~oسz#{8 c8!' 88@Dr%XHT30B(8B(8'C@(bڧXcȣA (!@A'88 G6ɷ8p8 88888'((A@k @ 8(' 6X>߿A ( ` '` a0Bh"ߴ`o0 @0c'(((Bb K0! ("('888px8< 88888' FQHcF( @ '((8A?f_{0!  8('0" 5"j`H08C88a'((  `8c('888pH8$ 888888'JяhQkj0q:*75Kcd' 2^;d` ` ` ` ` ` ` ` ` ` ` ` 3_;` ` ` ` ` ` ` ` ` ` ` ` 4`ji ` ` ` ` ` ` ` ` ` ` ` 5a` ` ` ` ` @ <P"<,yN:#@v#@zdZ#@vd^#?dbNd~Nu@BB29dfI49dh 9d^Adj"< ЂQAdj"ydb3X3X3X 3XGdj ydZBBBBBB<96bYfdfNydhjXBj*D"A8RAFfBXC CfBFREQ`"A8RAFfBXC CfBFREQ`Nu .8Nh &0<BHR^djt*8DPrx (4:FR\|0>P^p|7c:P0>P^pv*8>`jt~ 28>BHNT\fp<TZ    $ , 4 > F L T ` l t |  6 B T Z d h n r z 8d<    * 6 B P X d p |   , 8 > D N T \ d j t    . 4 8 > D J R d j p v | $*06<HPV^djv$,6<D9eNV`fnt",4<B\bjtz"(.4:@FLT`flrx ",4>DLV^hnv|(28>DJPX^jnv|:ft .`jt>FTt~ &08DJPV^frx~"<BHPjpv~ "06<BHT^lrx~0ht ,6BP;gp\V\hxTlx",6@HNZfv(0:BNVbjt|HLRZfp| &,^djpv|     " ( , 2 6 < B L R X ^ f l !!!<R&8!$!*!4!:!F!R!`!f!l!!!!!!!!!!!!!!" """("0"6"<"T"f"r"v""""""""""""""""""## ###$#(#2#8#@#J#R#X#d#p#|################$$$$$$$.$4$<$@$J$P$V$^$j$t$~$$$$$$$$$$%%%%%%.%6%@%F%L%T%Z%`'imt9"0 p " ` '8"0 p 8 c63p ' E C>#` @ ǂ>c? 8}w . 88}gsd .sω>g? .s2? .sϑ2g? .p >|9?p@g?<|?? @ (j]E x< D1 %"#xdž<0~L$&DG8@013<CC8p>0s0y$2Abq 88xas0r8s8| !<0L < `|p<?? G078 Ɏp~?? .@s02r Ɏp~?|p?? ."B  s&O2" Ȏx~?!|2  . 10s&O2)kBp ̎x~0|3"xp `@@@@@@@@@@@  53w_""#0 1!23#4$5%6FX(\:}hS@. c-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 --- }hS@. xqc-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- X(\:}hS@. xqc-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d- x\2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- @ 53"#$%&'(76!421  `` 9:`++`9``:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798!y*aAW999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff "#$% abcdefghijklmnopqrstuvwxyz0123456789().-'#:/`nf|f|lf>`<|~ffff`|f<~ |0008 8<0`(|(|("zS 0`~ "$&(*,.02468:<>   u1i   8-2"F.2              *"- #{l?  , p&p <00@ , s&Oȟ&s>dOɓ , pfa`s 0|0p , s|s>Lϓ3O , ssd0< ?   ?  , p  f$|״d  , s&s>dOd&2d>dI , p`s  0 dd  , ss>L |9 3 d , ssd |9 3 ??   ?  , sd 0χ   , sω>g?9?2d>dI ,%}) s2?92φd  , sϑ2g?9 2dd , p@g? <3 d ??   ?  , p` Ær ? , s&O?>d 2g2"d , p`d g  , s?>d 2g2R&hҚs| , s@ 22r|??  ? .x0̙ . ~9asL3 ?>9` .  1@@xfL3 x?`` ? . rDeR\ &L3 f#"<,yN:# <>>й# <?>й# <?*>й# <?>й# <?>й##9D)#9v)N&NKv #)|N N"pN"3)N#"#l)#l#h)l# hNu 9SA>"yQNd#Nu y0"#y)X"9)|A$ A0BAHAA0BAHA#)x#$)tN%RB$#a)X,y*X,9)|B)`BB#)x"9)`A$ A0BAHAA0BAHA#)x#$)tN%RB$R)XR)`BBB#)x2 |:ppgT`:#)tN%RR)X#)xB. |;#)tN%RB. |;<#)tN%RR)XXR fh)XR @f y02Nu3))#)XN$ y*))#b)XN$Nu y*#)h)#)XN$ y)h3))#)XN$#*)t#%)X#)xN%RNu3))#)XN$B09)A*#) y* 09)#)hB0(3)3)# B)XN$ y)h3)3)# )XN$ y)h3)3)# )XN$ y)hB0(3)3)#j)XN$ y0)h#)t#)X#)xN%RNu3))#)XN$A*B09)#)t#)X#)xN%RNuB29)A$a>da6 a.a*#)x#$)tN%RB$By)NuA0BAHANuNuA)B( |;#)t#)xN%RA)B( |;#)t#)xN%RBy)NuB)p&9)x y)t)p)BB9)A=g `A="y)T"9)X$<(QR)pR)X)pg`NuA-AZBdBYAdB@} @dB@01BNu <P"<,yN:#& <O |8V"y&Q <P"<,yN:#& <O |8"y&Q <P"<,yN:#& <O |8"y&Q#&)4#&)8#)<#&)@#)D#)H#)L#)PA)4C>$<3XXQNuNf,y)"9)$<N#) f NNu"9)$9)&9)N"9)NB)NLNuNf,y)"9)$<N#) f NNu"9)$9)&9)N"9)NB)Np@LNust-00:songs/st-01:udos.libraryaligatorF@analogstring0@ asia@ ybassdrum1&@bassdrum2@bassdrum3@bigbow/A:<@blastV@blubzing@celeste@chink @claps1~@claps2@claves@closehihatX@conga @cowbell@dangerous @detune "@ jdigdug@digiharpV@dreambells@dxbassȇF@dxtom@electom@epiano@faerytaleb@filterbass @funbass @funkbass Z@hallbrass\@heaven@heavysynth$@heifer@hooman @horns@hihat1@hihat2@jahrmarkt1m$@jahrmarkt2$@jetes@klickorgan "@korgbass@korgbeau @korgbow @korgdoi @korgfilter@korgstring@;koto @leader@licks @magicb@marimba@mechanic1@mechanic2@s7metalkeys\@monobass @monsterbass@muteclav @nice @nightmareV@Qnoteman @organ @outlawh@panfluteV@perco@pingbells @pizza\@polysynthV@popbassF@popsnare1@popsnare$`8`J y`gRyb ybjNuByb3`Sy) y)j 3)`B09)A=0@ 2<$< y&N%Nu09)29)$< y&N%Nuaa\aV y)g&BR @g9gBy)`3)9gBy)By)`3))3)) yz)j yn)j yc)j4 y)j( y)j\ y)j yt)jNu y,)kNu y!)jF y)jx y )j6 y)j~Nu y,)kNu y!)j y)j. y )j y)j:NuDW3) yX)jl yM)j yB)j y7)j y,)j x y!)j y)j h y )j y)j HNuBy) yX)j yM)j yB)j  y7)j y,)j  y!)j | y)j y )j V y)j NuBy)By)B)|aNBy)3 )3)N #y)Xaf )a3)3)N a<9)?)|3)3)N N N NLNu y)g y )n y )fBy)B9)By)Nu0$BAHA#)x#$)tN%RB$By)Nu09)Y2<$< y&N%K;NBy)N#"N" y)g yA)gp yD)g29)BugT \n`"9)f`A=RPy)N N#"N"By)`| yl)f`lBSy)N By)N#"N"`D3)3)N NuNB)d,y* 09)BB6R f3l)3w)N #))N PB)NLNuNB)d,y*BB6R f3l)3l)N #))N P duB)NLNuB)da,By)N y)gNL y()gBy)NNuBy)A( <BQB09)A*"0 g 0<"A,yN.B09) y* B0#)C( <Q#() 9)"<,yN:#)A*29)!)!)9 fhbUh hj1|&N#"Nu y)g8 y* B09)Rh h@k1|@N#"Nu y* B09)Sh hj1|N#"Nu y)gB y* B09)9 fP-ZP PVk0N#"Nu y* B09)9 fP-[P Pj0VN#"Nu y)gN#"3)Nu y)g0Ry) y)k 3)N#"NNNuSy) y)j 3)N#"NNNu y)gN$:3)Nu y)g0Ry) ys c)k 3s)N$:NNNuSy) y)j 3)N$:NNNuN^ y)g0 y*R kN"NNNu y*S jN"NNNuN^ y)g> y*) ?k?N"pNNNNu y*) jN"pNNNNu y)g>) )k #)N"pNNNNu) )j #)N"pNNNNu <@QNuH y*0-* )g patt)g #))R) 9) f B)` M* .g*|aFM* .g*|a0M* .g*|aM* .g*|a`. g g~Nu )g2 )g0 )g0 )g )g NuB.`B.`4.`HB2.A:p40PgT`;BNuB. gV;VNuB. gV;VNu y*&H $HX song)g "9)|`B 9)2ҹ)#)By**|M*a6*|M*a&*|M*#a*|M*a`,XB. glBC*(-q(=sH=sH63H Cg&$.ԃ-B-B =sH=sH;n`$.ԃ-B =sH;n Vg*=V3+n;n;n0.y*Nu <Q <y*3,|* nf# 3,|* nf# 3,|* nf# 3,|* nf# 3 patt)fa^) )f@B) song)f,R))B09*"9)fB)LNu 9)` B~š+09) y)TЈ"y3@H@3@Nu09 4@2y)3)H @k2<@0` @j@y)0H2y)3)H @k2<@0` @j@y) y)jBy) y)jBy) y)k 3) y)k 3)B09)3)B09)3)NuHA,y2(g^hgL"HnNg*HNNdaa@LL"HnNgL"HnNLcNsHA0(gh0(g^9r@QFf:))) 9` Ϲd.l #12,a3 move.l a0,a2 add.l #472,a2 add.l #600,a0 move.l trapos,d0 clr.l d1 move.b (a2,d0.l),d1 mulu #1024,d1 add.l patpos,d1 clr.w enabit move.l #$dff0a0,a5 lea.l datach0,a6 bsr soundhandler move.l #$dff0b0,a5 lea.l datach1,a6 bsr soundhandler move.l #$dff0c0,a5 lea.l datach2,a6 bsr soundhandler move.l #$dff0d0,a5 lea.l datach3,a6 bsr soundhandler move.l #300,d0 repl1: dbra d0,repl1 move.l #$8000,d0 add.w enabit,d0 move.w d0,$dff096 move.l #datach3,a6 cm p.w #1,14(a6) bne.s repl2 move.l 10(a6),$dff0d0 move.w 14(a6),$dff0d4 repl2: move.l #datach2,a6 cmp.w #1,14(a6) bne.s repl3 move.l 10(a6),$dff0c0 move.w 14(a6),$dff0c4 repl3: move.l #datach1,a6 cmp.w #1,14(a6) bne.s repl4 move.l 10(a6),$dff0b0 move.w 14(a6),$dff0b4 repl4: move.l #datach0,a6 cmp.w #1,14(a6) bne.s repl5 move.l 10(a6),$dff0a0 move.w 14(a6),$dff0a4 repl5: add.l #16,patpos cmp.l #1024,patpos bne.s repl6 clr.l patpos addq.l #1,trapos clr.l d0 move.w n umpat,d0 move.l trapos,d1 cmp.w d0,d1 bne.s repl6 clr.l trapos repl6: movem.l (a7)+,d0-d7/a0-a6 rts *------------------------------------------------ soundhandler: move.l (a0,d1.l),(a6) addq.l #4,d1 clr.l d2 move.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 cmp.b #0,d2 beq.s shand2 clr.l d3 lea.l sounds-4,a1 move.l d2,d4 mulu #4,d2 mulu #30,d4 move.l (a1,d2.l),4(a6) move.w (a3,d4.l),8(a6) move.w 2(a3,d4.l),18(a6) move.w 4(a3,d4.l),d3 cmp.w #0,d3 beq.s shand1 move.l  D4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) bra.s shand2 shand1: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move.w 6(a3,d4.l),14(a6) move.w 18(a6),8(a5) shand2: cmp.w #0,(a6) beq.s shand3 move.w (a6),16(a6) move.w 20(a6),$dff096 move.l 4(a6),0(a5) move.w 8(a6),4(a5) move.w 0(a6),6(a5) move.w 20(a6),d0 or.w d0,enabit shand3: rts *------------------------------------------------ datach0: 1A blk.l 5,0 dc.w 1 datach1: blk.l 5,0 dc.w 2 datach2: blk.l 5,0 dc.w 4 datach3: blk.l 5,0 dc.w 8 sounds: blk.l 15,0 patpos: dc.l 0 trapos: dc.l 0 timpos: dc.w 0 enabit: dc.w 0 numpat: dc.w 0 plamod: dc.w 0 notetable: dc.w 856,808,762,720,678,640,604,570,538,508,480,453 dc.w 428,404,381,360,339,320,302,285,269,254,240,226 dc.w 214,202,190,180,170,160,151,143,135,127,120,113,000 *------------------------------------------------ * read images here *---F--------------------------------------------- snd1: blk.b 2,0 ;samples snd2: blk.b 2,0 snd3: blk.b 2,0 snd4: blk.b 2,0 snd5: blk.b 2,0 snd6: blk.b 2,0 snd7: blk.b 2,0 snd8: blk.b 2,0 snd9: blk.b 2,0 snda: blk.b 2,0 sndb: blk.b 2,0 sndc: blk.b 2,0 sndd: blk.b 2,0 snde: blk.b 2,0 sndf: blk.b 2,0 muzakdata: blk.b 2,0 ;songfile ************************************************* * end of muzak replay module **********************************************$y*** l 5,0 dc.w 1 datach1: blk.l 5,0 dc.w 2 datach2: blk.l 5,0 dc.w 4 datach3: blk.l 5,0 dc.w 8 sounds: blk.l 15,0 patpos: dc.l 0 trapos: dc.l 0 timpos: dc.w 0 enabit: dc.w 0 numpat: dc.w 0 plamod: dc.w 0 notetable: dc.w 856,808,762,720,678,640,604,570,538,508,480,453 dc.w 428,404,381,360,339,320,302,285,269,254,240,226 dc.w 214,202,190,180,170,160,151,143,135,127,120,113,000 *------------------------------------------------ * read images here *---eSt)PP3)B09)29) Ёh#)XN$NBy)Nu y)fNu y)g6 y)g* y )g y)g edit)dgNuBA99)B(pgT 2fNuB"y)613) )dg y*X 9)|B09)09)0 y)gB09)((`h3)h y*0y) y)#)t#)xB09)29) Ёd#)XN%R3)h)R)XN$N y)f By)Nu y)f*|sܱ3*`^ y )f*|3*`@ y)f*|3*`" y)f*|3*`NuM)3**".;V0. @g n*;n;y);n <Q <y*3n*;nBy)By*Nu 9cg 9ag 9gg 9egLBy`Nu y`gRyb ybjNuByb3`y)y?)NrNu y`gRyb ybjNuByb3`y)y?)NrNu y`gRyb ybjNuByb3`Ry) y)k 3)+Uw)f | `F y )f |`0 y)f |` y)f |`Nu*X 9)| y`R)g y`S)g4 y`T)gLNuBB fBy)N NuC(4B" fBy)NuC(4B! fBy)N Nu yP)g yQ)g Nu#9D)#9v)By)Nu#9)#: )By)Nu09)Y29)$< y&N%Nu edit)dgNuA8BB09)XgR g`Nu y)f$<3)II` y)f$<3)I` y)f$<3)I` y)f$<3)`~ y)f$<3)II`\ y)f$<3)I`< y)f$<3)I` y )f$<3)` y )f$<3 )II` y )f$<3 )I` y )f$<3 )I` y)f$<3 )`~ y)f$<3)II`\ y)f$<3)I`< y)f$<3)I` y)f$<3) y*X 9)|B09)択a6),$dff0c4 ass5: move.l #datach1,a6 cmp.w #1,14(a6) bne.s ass6 move.l 10(a6),$dff0b0 move.w 14(a6),$dff0b4 ass6: move.l #datach0,a6 cmp.w #1,14(a6) bne.s ass7 move.l 10(a6),$dff0a0 move.w 14(a6),$dff0a4 ass7: add.l #16,patternpos ;4*longw further cmp.l #64*16,patternpos ;pattern end? bne.s muzakend clr.l patternpos addq.l #1,trackpos ;increase pointer clr.l d0 move.w numofpatt,d0 ;number of all patts move.l trackpos,d1 ;current pos cmp.l d0,d1 ;last pattern doWne? bne.s muzakend ;no! clr.l trackpos ;set on top of seq muzakend: movem.l (a7)+,d0-d7/a0-a6 rts ************************************************* * sounddata behind the replayer ************************************************* samples: snd1: blk.b 2,0 snd2: blk.b 2,0 snd3: blk.b 2,0 snd4: blk.b 2,0 snd5: blk.b 2,0 snd6: blk.b 2,0 snd7: blk.b 2,0 snd8: blk.b 2,0 snd9: blk.b 2,0 snda: blk.b 2,0 sndb: blk.b 2,0 sndc: blk.b 2,0 sndd: blk.b 2,0 snde: blk.b 2,0 sn:c%df: blk.b 2,0 samplesend: ************************************************* * interrupt level 3 (frame flop) ************************************************* framirqsave: dc.l 0 ************************************************* frameirq: movem.l d0/d1/a0/a1/a5/a6,-(a7) ;save stack lea $dff000,a0 move.l 4,a6 move.w $1c(a0),d1 btst #$e,d1 ;irq dissable? beq.s irqend and.w $1e(a0),d1 btst #6,d1 beq.s lev3vb movem.l $9c(a6),a1/a5 pea -$24(a6) jmp (a5) lev3vb: btst #5,d1q ;vertical blank beq.s lev3cop bsr muzakstart ;own rout movem.l $90(a6),a1/a5 pea -$24(a6) jmp (a5) lev3cop:btst #4,d1 ;copper beq.s irqend movem.l $84(a6),a1/a5 pea -$24(a6) jmp (a5) irqend: movem.l (a7)+,d0/d1/a0/a1/a5/a6 rte ;end: 1: blk.b 2,0 snd2: blk.b 2,0 snd3: blk.b 2,0 snd4: blk.b 2,0 snd5: blk.b 2,0 snd6: blk.b 2,0 snd7: blk.b 2,0 snd8: blk.b 2,0 snd9: blk.b 2,0 snda: blk.b 2,0 sndb: blk.b 2,0 sndc: blk.b 2,0 sndd: blk.b 2,0 snde: blk.b 2,0 sneԁe---------------------- effecthandler: lea.l datach0,a6 cmp.b #0,3(a6) beq.s eff1 move.l #$dff0a0,a5 bsr.s eff5 eff1: lea.l datach1,a6 cmp.b #0,3(a6) beq.s eff2 move.l #$dff0b0,a5 bsr.s eff5 eff2: lea.l datach2,a6 cmp.b #0,3(a6) beq.s eff3 move.l #$dff0c0,a5 bsr.s eff5 eff3: lea.l datach3,a6 cmp.b #0,3(a6) beq.s eff4 move.l #$dff0d0,a5 bsr.s eff5 eff4: movem.l (a7)+,d0-d7/a0-a6 rts eff5: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #1,d0 beq appreggiato cmp.b #2,d0 beq pZ%itchbend rts *------------------------------------------------ appreggiato: cmp.w #1,timpos beq.s appre1 cmp.w #2,timpos beq.s appre2 cmp.w #3,timpos beq.s appre3 cmp.w #4,timpos beq.s appre1 cmp.w #5,timpos beq.s appre2 rts appre1: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s appre4 appre2: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s appre4 appre3: move.w 16(a6),d2 bra.s appre6 appre4: lsl.l #1,d0 clr.l d1 move.w 16(a6),d1 lea.l notetable,a0 appre5: move.w (a0,ed0.l),d2 cmp.w (a0),d1 beq.s appre6 addq.l #2,a0 bra.s appre5 appre6: move.w d2,6(a5) rts *------------------------------------------------ pitchbend: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 cmp.b #0,d0 beq.s pitch2 add.w d0,(a6) move.w (a6),6(a5) rts pitch2: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 cmp.b #0,d0 beq.s pitch3 sub.w d0,(a6) move.w (a6),6(a5) pitch3: rts *------------------------------------------------ replayhandler: lea.l muzakdata,a0 move.l a0,a3 adjT * * bugs = not known * * images to read = see bottom * ************************************************* START: JSR REPLAY_INIT ;nur einmal initialisieren JSR REPLAY_ENABLE ;starten am anfang vom song main: move.l #12000,d0 wait: dbra d0,wait JSR REPLAY_SONG ;irq / loop einsprung (immer) btst #6,$bfe001 bne main JSR REPLAY_DISABLE ;zum zwischendurch anhalten ;jetzt entweder anderen programteil abarbeiten und ;d+anach wieder REPLAY_ENABLE, oder programm beenden. ;(oder sonstwas) END: rts ************************************************* * begin of muzak replay module ************************************************* *------------------------------------------------ REPLAY_INIT: move.l #snd1,sounds+0 move.l #snd2,sounds+4 move.l #snd3,sounds+8 move.l #snd4,sounds+12 move.l #snd5,sounds+16 move.l #snd6,sounds+20 move.l #snd7,sounds+24 move.l #snd8,sounds+28 move.l #snd9,sounds+32 move.l #snda,sounds+36 move.l #sndb,sounds+40 move.l #sndc,sounds+44 move.l #sndd,sounds+48 move.l #snde,sounds+52 move.l #sndf,sounds+56 move.l #sounds,a0 clr.l d0 rint1: move.l (a0,d0.l),a1 clr.l (a1) addq.l #4,d0 cmp.l #60,d0 bne rint1 lea.l muzakdata,a0 move.b 470(a0),numpat+1 rts *------------------------------------------------ REPLAY_ENABLE: move.w #-1,plamod move.w #00,$dff0a8 move.w #00,$dff0b8 move.w #00,$dff0c8 move.w #00,$dff0d8 clr.w timpos clr.l ltrapos clr.l patpos rts *------------------------------------------------ REPLAY_DISABLE: clr.w plamod move.w #00,$dff0a8 move.w #00,$dff0b8 move.w #00,$dff0c8 move.w #00,$dff0d8 move.w #$f,$dff096 rts *------------------------------------------------ REPLAY_SONG: movem.l d0-d7/a0-a6,-(a7) cmp.w #0,plamod beq.s rps1 addq.w #1,timpos cmp.w #6,timpos bne.s effecthandler clr.w timpos bra replayhandler rps1: movem.l (a7)+,d0-d7/a0-a6 rts *--------------------------`zakdata: blk.b 2,0 ;patterndata sounds: blk.l 15,0 numofpatt: dc.w 0 playmode: dc.w 0 enablebits: dc.w 0 notetable: dc.w 856,808,762,720,678,640 dc.w 604,570,538,508,480,453 dc.w 428,404,381,360,339,320 dc.w 302,285,269,254,240,226 dc.w 214,202,190,180,170,160 dc.w 151,143,135,127,120,113 dc.w 000 ************************************************* muzakstart: movem.l d0-d7/a0-a6,-(a7) addq.l #1,timerpos ;control timing cmp.l #6,timerpos bne.s effecthandler clr.l tAWimerpos bra replayhandler ************************************************* * handle possible effects ************************************************* effecthandler: eff0: lea.l datach0,a6 cmp.b #0,3(a6) beq.s eff1 move.l #$dff0a0,a5 bsr.s effcmp eff1: lea.l datach1,a6 cmp.b #0,3(a6) beq.s eff2 move.l #$dff0b0,a5 bsr.s effcmp eff2: lea.l datach2,a6 cmp.b #0,3(a6) beq.s eff3 move.l #$dff0c0,a5 bsr.s effcmp eff3: lea.l datach3,a6 cmp.b #0,3(a6) beq.s eff4 move.l #$df ˪-f0d0,a5 bsr.s effcmp eff4: bra muzakend effcmp: move.b 2(a6),d0 ;compare effect # and.b #$0f,d0 cmp.b #1,d0 beq appreggiato ;appre-effect (#1) cmp.b #2,d0 beq pitchbend ;slide up/down(#4) rts ************************************************* * effect-module (1) appregiato / timbre ************************************************* appreggiato: cmp.l #1,timerpos beq.s trans2 ;1. transposed note cmp.l #2,timerpos beq.s trans3 ;2. transposed note cmp.l #3,timerpos be Wq.s notrans ;original note cmp.l #4,timerpos beq.s trans2 ;1. transposed note cmp.l #5,timerpos beq.s trans3 ;2. transposed note rts trans2: clr.l d0 ;2nd note move.b 3(a6),d0 ;effectbyte lsr.b #4,d0 ;upper nibble bra.s starttranspose trans3: clr.l d0 ;3rd note move.b 3(a6),d0 ;effectbyte and.b #$0f,d0 ;lower nibble bra.s starttranspose notrans:move.w 16(a6),d2 ;last saved note bra.s startt2 starttranspose: lsl.l #1,d0 ;transpose-wert *2 ... clr.l d1  vC ;b'cause wordlen in table move.w 16(a6),d1 ;last saved note lea.l notetable,a0 startt1:move.w (a0,d0.l),d2 ;get transposed note cmp.w (a0),d1 ;search last note in table beq.s startt2 addq.l #2,a0 bra.s startt1 startt2:move.w d2,6(a5) ;set note $dff0x6 rts ************************************************* * effect-module (2) pitchwheel ************************************************* pitchbend: clr.l d0 ;2nd note move.b 3(a6),d0 ;effectbyte lsr.b #4,d0 ;upper  fb2nibble cmp.b #0,d0 beq.s pitch2 add.w d0,(a6) move.w (a6),6(a5) ;set note rts pitch2: clr.l d0 ;3rd note move.b 3(a6),d0 ;effectbyte and.b #$0f,d0 ;lower nibble cmp.b #0,d0 beq.s pitch3 sub.w d0,(a6) move.w (a6),6(a5) ;set note pitch3: rts ************************************************* * replay-module ************************************************* replayhandler: lea.l muzakdata,a0 ;top offset move.l a0,a3 add.l #12,a3 ;start of sndpreferences move.l a0 Ub,a2 add.l #472,a2 ;start of tracksdata add.l #600,a0 ;start of patterndata move.l trackpos,d0 clr.l d1 ;here was a bugg move.b (a2,d0.l),d1 ;get patt ptr mulu #1024,d1 ;with patternlen add.l patternpos,d1 ;add 16tel position clr.w enablebits ;no start if no note move.l #$dff0a0,a5 ;handle chanel0 lea.l datach0,a6 bsr.s soundhandler move.l #$dff0b0,a5 ;handle chanel1 lea.l datach1,a6 bsr.s soundhandler move.l #$dff0c0,a5 ;handle chanel2 lea.l datach2,a6 ()bsr.s soundhandler move.l #$dff0d0,a5 ;handle chanel3 lea.l datach3,a6 bsr.s soundhandler bra assume soundhandler: move.l (a0,d1.l),(a6) ;note, snd# & effect addq.l #4,d1 ;aha clr.l d2 move.b 2(a6),d2 ;get sound# and.b #$f0,d2 ;kill effect number lsr.b #4,d2 ;shift to lo-nibble cmp.b #00,d2 ;no soundchange? beq.s notehandler ;than forget it clr.l d3 lea.l sounds-4,a1 ;sample ptr table move.l d2,d4 ;exch soundnumber mulu #4,d2 ;calc pointer mulu #30,Lh&d4 ;soundpreferernce move.l (a1,d2.l),4(a6) ;store sndstart move.w (a3,d4.l),8(a6) ;store sndlen move.w 2(a3,d4.l),18(a6) ;store volume move.w 4(a3,d4.l),d3 ;repeatstart value cmp.w #0,d3 ;sustain-sound ? beq.s sndhan2 ;then.. move.l 4(a6),d2 ;add repstart to .. add.l d3,d2 ;sndstart to .. move.l d2,4(a6) ;store soundstart move.l d2,10(a6) ;store repeatstart move.w 6(a3,d4),8(a6) ;store soundlen move.w 6(a3,d4),14(a6) ;store repeatlen move.w 18(a6),8(a5) /d ;set new volume bra.s notehandler sndhan2:move.l 4(a6),d2 ;add repstart to .. add.l d3,d2 ;sndstart to .. move.l d2,10(a6) ;store repeatstart move.w 6(a3,d4.l),14(a6) ;store repeatlen move.w 18(a6),8(a5) ;set new volume notehandler: cmp.w #00,(a6) ;is a new note set? beq.s handlerend ;then forget it move.w (a6),16(a6) ;save note for effect move.w 20(a6),$dff096 ;clear dma-bit move.l 4(a6),0(a5) ;set sndstart move.w 8(a6),4(a5) ;set sndlen move.w 0(a6),6(a5) 9 ;set period move.w 20(a6),d0 or.w d0,enablebits ;set enable if needed handlerend: rts assume: move.l #300,d0 ass2: dbra d0,ass2 ;wait a while move.l #$8000,d0 add.w enablebits,d0 ;enable used dmas move.w d0,$dff096 ass3: move.l #datach3,a6 cmp.w #1,14(a6) ;repeatsound ? bne.s ass4 ;eq = no! move.l 10(a6),$dff0d0 ;set to repeatpoints move.w 14(a6),$dff0d4 ;set to repeatlenghts ass4: move.l #datach2,a6 cmp.w #1,14(a6) bne.s ass5 move.l 10(a6),$dff0c0 move.w 14(NZL 8800 3326 4970 Asia 8200 0480 5362 BassDrum1 1100 ---- ---- BassDrum2 3000 ---- ---- BassDrum3 3400 ---- ---- BigBow 7800 ---- ---- Blast 9900 ---- ---- Blubzing 1300 ---- ---- Celeste 8000 ---- ---- Chink 5900 ---- ---- Claps1 2300 ---- ---- Claps2 1400 ---- ---- ClE?caves 3000 ---- ---- CloseHiHat 1200 ---- ---- Conga 1600 ---- ---- CowBell 1400 ---- ---- Dangerous 7000 ---- ---- Detune 5700 2410 2414 DigDug 3100 ---- ---- DigiHarp 9900 ---- ---- DreamBells 9200 ---- ---- DxBass 2700 ---- ---- DxTom 4000 ---- ---- ElecTom 3000 pF ---- ---- EPiano 8000 ---- ---- FaeryTale 8900 ---- ---- FilterBass 5900 ---- ---- FunBass 6500 ---- ---- FunkBass 5300 ---- ---- HallBrass 9400 ---- ---- Heaven 8500 ---- ---- HeavySynth 9800 ---- ---- Heifer 2600 ---- ---- Hooman 6500 ---- ---- Horns 2500 ---- ---- HiHat1  1400 ---- ---- HiHat2 2000 ---- ---- JahrMarkt1 9800 ---- ---- JahrMarkt2 9800 ---- ---- Jetes 9600 ---- ---- KlickOrgan 5700 ---- ---- KorgBass 4000 ---- ---- KorgBeau 7000 ---- ---- KorgBow 5400 ---- ---- KorgDoi 5000 ---- ---- KorgFilter 3400 ---- ---- KorgString 4000 1014 21`&x66 Koto 7100 ---- ---- Leader 6800 ---- ---- Licks 6200 ---- ---- Magic 8900 ---- ---- Marimba 8000 ---- ---- Mechanic1 7500 ---- ---- Mechanic2 9700 ---- ---- MetalKeys 9400 ---- ---- MonoBass 6600 ---- ---- MonsterBass 9000 ---- ---- MuteClav 5100 ---- ---- Nice U9 g &p`*"M,xN"m(Nb$-"p"M0-mN. L`NupNuH<&*NOz"$<,m(N(fz`r"$v N FORMgz`Rr 8SVXfrt &/ԃ ,xN:Jfz`*$@$"$ PX,m(NJjz`$%o%o",m(N ga`a O LdL*N&H(I ILBMgp`afp`$@LHt*+op`~ muzakend) ************************************************* ;datach x format ;w +0 current note ;b +2 sound# ;b +3 effect ;l +4 sndstart ;w +8 sndlen ;l +10 repeatstart ;w +14 repeatlen ;w +16 last saved note ;w +18 volume of sample ;w +20 dma-bit datach0:blk.l 5,0 dc.w 1 datach1:blk.l 5,0 dc.w 2 datach2:blk.l 5,0 dc.w 4 datach3:blk.l 5,0 dc.w 8 patternpos: dc.l 0 trackpos: dc.l 0 timerpos: dc.l 0 mu`uve.l (a1,d2),4(a6) move.w (a3,d4),8(a6) move.w 2(a3,d4),18(a6) move.w 4(a3,d4),d3 tst.w d3 beq.s mt_displace move.l 4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 8(a4),16(a5) move.w 18(a6),18(a5) bra.s mt_nosamplechange mt_displace: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move.w 6(a3,d4),14(a6) move.w 8(a4),16(a5) move.w 18(a6),18(a5) mt_nosamplechange: tst.w (a6) beq.s mt_retrout move.w (a6),16(a_6) move.w #$96,20(a5) move.w 20(a6),22(a5) move.l 4(a6),d0 move.w 2(a4),4(a5) move.w d0,6(a5) swap d0 move.w (a4),(a5) move.w d0,2(a5) move.w 4(a4),8(a5) move.w 8(a6),10(a5) move.w 6(a4),12(a5) move.w (a6),14(a5) move.w 20(a6),d0 or.w d0,mt_dmacon mt_retrout: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 move.w d0,mt_ADKCONCLEAR tst.w (a6) beq.s mt_nonewper move.w (a6),22(a6) mt_nonewper: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 beq.s mt_nochnge cmp.b #14,d0 b|feq.s mt_zx1 cmp.b #15,d0 bne.s mt_noset move.w 2(a6),d0 ;Tempo veraendern and.l #$f,d0 move.l d0,mt_tempo rts mt_zx1: move.w 2(a6),24(a6) rts mt_noset: tst.b 3(a6) bne.s mt_noclr clr.w 24(a6) mt_noclr: cmp.b #3,d0 beq.s mt_modvol cmp.b #6,d0 beq.s mt_modvol cmp.b #9,d0 beq.s mt_modvol cmp.b #4,d0 beq.s mt_modper cmp.b #7,d0 beq.s mt_modper cmp.b #10,d0 beq.s mt_modper cmp.b #5,d0 beq.s mt_modvolper cmp.b #8,d0 beq.s mt_modvolper cmp.b #11,d0 beq.s mt_modvse olper cmp.b #12,d0 bne.s mt_nochnge move.w 8(a4),16(a5) move.b 3(a6),19(a5) mt_nochnge: rts mt_modvol: move.w 20(a6),d0 bra.s mt_push mt_modper: move.w 20(a6),d0 lsl.w #4,d0 bra.s mt_push mt_modvolper: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 mt_push: add.w #$8000,d0 move.w d0,mt_ADKCON rts mt_aud1temp: blk.w 10,0 dc.w 1 blk.w 2,0 mt_aud2temp: blk.w 10,0 dc.w 2 blk.w 2,0 mt_aud3temp: blk.w 10,0 dc.w 4 blk.w 2,0 mt_aud4temp: blk.w 10,0 dc.w 8 b, lk.w 2,0 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_tempo: dc.l 6 mt_partpoint: dc.l 0 mt_samples: dc.w 0,0 mt_sample1: blk.l 15,0 mt_maxpart: dc.w 0 mt_kn1: dc.w 0 mt_dmacon: dc.w 0 mt_modulate: dc.w $0c39,$0039,$00bf,$ec01,$6630,$0839,$0007,$00bf dc.w $e001,$6626,$2c79,$0000,$0004,$43fa,$0020,$4eae dc.w $fe68,$2c40,$4280,$41fa,$0026,$223c,$0000,$0032 dc.w $4eae,$ffa6,$60ee,$0000,$0000,$4e75,$696e,$7475 dc.w $6974,$696f,$6e2e,$6c69,$6272,$6172,$7900,$0104 dc.w #X$1753,$6f75,$6e64,$5472,$6163,$6b65,$7220,$5632 dc.w $0063,$00f0,$20a9,$2054,$6865,$204a,$756e,$676c dc.w $6520,$436f,$6d6d,$616e,$6400,$0000 mt_arpeggio: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 mt_ClearCopListTop: bsr.s mt_WB move.l #-1,$dff044 move.l #$0df00000,$ Idff040 clr.l $dff064 move.l #mt_ClearData,$dff050 move.l #mt_LC0b,$dff054 move.w #%0000011000000001,$dff058 bsr.s mt_WB move.l #mt_ClearData,$dff050 move.l #mt_LC0,$dff054 move.w #%0000110000000001,$dff058 rts mt_WB: btst #6,$dff002 bne.s mt_WB rts mt_ClearData: blk.l 24,$1000000 mt_CopperList: dc.l $1000000 mt_LC0: blk.l 6,$1000000 mt_LC1: blk.l 6,$1000000 mt_LC2: blk.l 6,$1000000 mt_LC3: blk.l 6,$1000000 mt_EffAction: dc.l $0 ;Abbruch bei Effect dc.w $9e mt_ADKCO  9700 4462 4156 Strings3 8500 1992 6130 Strings4 9700 1220 3410 Strings5 9900 ---- ---- Strings6 9900 1972 6634 Strings7 9900 0500 8750 Sweep 7300 ---- ---- SynBrass 4000 ---- ---- SynClaves 1000 ---- ---- SyntheBass 7900 ---- ---- SynthPiano 5500 ---- ---- TechBass 5100 ---- ----  ~ATheEgg 9900 ---- ---- TineWave 9900 ---- ---- TuneBass 4800 ---- ---- Touch 9200 ---- ---- Voices 9900 ---- ---- WabberString 3900 0254 2546 WoodBlock 1200 ---- ---- WowBass 5000 ---- ---- ----------------------------------------- ---- Strange 7000 ---- ---- Strings1 8900 ---- ---- Strings2 mG9NCLEAR: dc.w 0 dc.w $9e mt_ADKCON: dc.w 0 mt_Wait: dc.l $0801fffe dc.w $96 mt_DMACONCOP: dc.w 0 mt_LC0b: blk.l 3,$1000000 mt_LC1b: blk.l 3,$1000000 mt_LC2b: blk.l 3,$1000000 mt_LC3b: blk.l 3,$1000000 dc.l $008a0000 mt_CoPT0: dc.w $a0,$a2,$a4,$a6,$a8 mt_CoPT1: dc.w $b0,$b2,$b4,$b6,$b8 mt_CoPT2: dc.w $c0,$c2,$c4,$c6,$c8 mt_CoPT3: dc.w $d0,$d2,$d4,$d6,$d8 sampleinfo: blk.b 0000,0 snd1: blk.b 0000,0 snd2: blk.b 0000,0 snd3: blk.b 0000,0 snd4: blk.b 0000,0 snd5: blk.b 0000,0 L)<$") <IN#ABp")N"#p $)v0(ԃv0(G$ #B #i$x:fG" ` G" tԩ(&$)$") < (j(Nr%AlrNJpg#ir#AnG" <$(j$Nrҩ`")t0҂t0G" #A#i v:fG" ` G " () &$) ") <(j(NBp()&)$") <IN#ANNq%S%S%S is not a directory / %S%S%S (dir) /nextfilv ։#Cx4؉#D0z\ډ#EXB@BDBHBL|#FP.#pxTBX#jd\r <o{T move.w 16(a6),d2 bra.s arp6 arp4: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea.l notetable,a0 arp5: move.w (a0,d0.w),d2 cmp.w (a0),d1 beq.s arp6 addq.l #2,a0 bra.s arp5 arp6: move.w d2,6(a5) rts ;------------------------------------------------ ; effect 2 pitchbend ;------------------------------------------------ pitchbend: ;** increase or decrease clr.l d0 ; period every time move.b 3(a6),d0 lsr.b #4,d0 beq.s pit2 add.w d0,(a6) move.w (a6),6(a5) rts pit2: clr ue.l d0 move.b 3(a6),d0 and.b #$0f,d0 beq.s pit3 sub.w d0,(a6) move.w (a6),6(a5) pit3: rts ;------------------------------------------------ ; handle a further step of 16tel data ;------------------------------------------------ replaystep: ;** work next pattern-step clr.w timpos move.l muzakoffset,a0 move.l a0,a3 add.l #12,a3 ;ptr to soundprefs move.l a0,a2 add.l #472,a2 ;ptr to pattern-table add.l #600,a0 ;ptr to first pattern clr.l d1 move.l trkpos,d0 ;get {Ώ{[{s ЌON) bne.s mt_voice1 move.l 10(a6),d0 lea mt_LC1b(pc),a0 move.w #$b2,4(a0) move.w d0,6(a0) swap d0 move.w #$b0,(a0) move.w d0,2(a0) move.l #$b40001,8(a0) mt_voice1: lea mt_aud1temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice0 move.l 10(a6),d0 lea mt_LC0b(pc),a0 move.w #$a2,4(a0) move.w d0,6(a0) swap d0 move.w #$a0,(a0) move.w d0,2(a0) move.l #$a40001,8(a0) mt_voice0: lea mt_modulate,a0 move.l mt_partnote,d0 lsl.b #7,d0 add.l #$10,d0 move.l d0,mt_partnote cmp.l #$400,#d0 bne.s mt_stop clr.l mt_partnote addq.l #1,mt_partnrplay clr.l d0 move.w mt_maxpart,d0 move.l mt_partnrplay,d1 cmp.l d0,d1 bne.s mt_stop clr.l mt_partnrplay mt_stop: rts mt_playit: move.l (a0,d1),(a6) addq.l #4,d1 clr.l d2 move.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 tst.b d2 beq.s mt_nosamplechange clr.l d3 lea mt_samples,a1 move.l d2,d4 lsl.l #2,d2 ;Welcher Depp multipliziert noch mit 4 ? move.l d4,d3 lsl.l #5,d4 ;mulu #$1e,d4 lsl.l #1,d3 sub.l d3,d4 mo{?6{{{Ԏ{Տ~{T ܕ/NJhg r$҉#A Gl$ #BxtG" <(j(Nv$) ")x <(j8NJftG" <(j(N``") JgTtԩ" <(jhNJf r <(j(N <(jN`r#AG" <(j$N") Jgt#B") Jf J g") tJ fF#B`` p,(jNJg%@st-06:bass7@st-06:bass8@st-06:bass9@st-01:bassdrum1&@st-01:bassdrum2@st-01:bassdrum3@st-01:bassdrum4@st-02:bassdrum5@st-03:bassdrum6r@st-03:bassguitarV@st-07:basssynth@st-06:bassynth@st-07:bc.acoustic @st-07:bc.damp@st-07:bc.e@st-07:bc.harmonics@st|+-07:bc.hugerasp @st-07:bc.major@st-07:bc.minor@st-07:bc.pick z@st-07:bc.powerchord@st-07:bc.spurlt@st-07:bc.superchord @st-07:bc.superintro @st-07:bc.superreverse @st-07:bc.superswitch@st-07:bc.supertwist@st-09:bdrum1Q@st-09:bdrum2@st-09:bdrum3 @st-09:bdrum4^@st-06:beepO@st-06:bell|!m1=@st-06:bell2 @st-01:bigbow<@st-07:bigtom@st-07:bjallra@@st-01:blastV@st-09:blech1 @st-09:blech2 !@st-09:blech3a@st-09:blech4V@st-09:blech5Q@st-06:block@st-02:blower@st-09:blub1@st-09:blub2@st-01:blubzing@st-07:bobo1|+qP@st-07:bobo2K@st-03:boderek#@st-03:boing @st-07:bolldrum@st-06:bomm@st-07:bongo1@st-07:bongo2w@st-07:bongo3@st-07:bounceM@st-02:bouncy:@st-07:brassp@st-02:bratz @st-03:break @st-03:breakiiW@st-01:breathl@st-03:breath2@|.st-07:brevoppnaren@st-02:brian@st-02:bright @st-06:brum>@st-09:bsynth1V@st-09:bsynth2V@st-09:bsynth3@st-09:bsynth4V@st-09:bsynth5a@st-02:bubble @st-06:bum1@st-06:bumper@st-06:burp@st-09:burp1@st-09:burpa1@st-08:buzz @st-0e):NbNu/,y:N" _$Jf&,y:NNu,y:N"$<>&<P,y:N |>Nu | !|1| H@@0B@H@ @fNu What you can do: Locate all undamaged STv1.8 & STv9 still in memory. (Don't try to find a song direcly after using ST1.8 or ST9, cause they are reset protected and will wipe out all memory when you reset.) You can search 0-$80000 or if you got 1meg $c00000-$c80000. Save module and use it with the replay routine. Save song and load it wW ith the Ultimate Soundtracker. Save a specific instrument to a ST sound disk. Play song.(Be sure it is Ok first.) What you can't do: Locate the old ST songs, as ST1,ST2,ST3,,,. Play damaged songs.(If just some instr is damaged you can save the song and reload the instruments!) Search $c00000-$c80000 without 1meg. Sometimes the Music Ripper finds, something looking like a ST tune, so be sure that the text is in a nice row. And that the name and instruments makes sense !! ˃If not DON'T play it !! The Amiga might CRASH !! Press RETURN for menu... Please, enter number of sound to save: $ Muzak Ripper V1.0 From North Star And Fairlight Coded by Atom. Type: I...For Instructions. S...To Search for sound module($00000-$80000). H...To Search for sound module($c00000-$c80000). W...What you can/can't do. X...To Exit. What to do: This neat little program will help you locating SoundTracker modules in memory, an*2#",ҩ#p"ҩt0")ҩv0#B #C$`Vrҩ <4IDN")$ <4IDN`Nrҩ <4IDNJ$g")$ <4IDN` ") t#gv%gx(gz|g`R",lF$)v0(n", NJfrNR")ҩt0)B,#lBB #ir#A nҬ#p$"ҩ$t0#B(`J`prҩ$$ԁr0(#A(",,(fN")ҩ$t0" <8IDN`,")(t#gv%gx'gz(g|?g~|g`rҩ `X`:NqputQ Jf t)B`@#lr#AnҬ$grҩ`R",Ҭ!Nrch ",n t)B`R",Ҭt0)BNnextiter'Xf p INp INNprim "8#l4pIN`Jr)A@"Np IN$pIN"N"pIN"t)4gv)C@pIN"N")tgv#gx(gz)g||g`Nqexp BpItN#At|gv)g xfB$)")pIN#At|gN",ґ$,"pIPN`$,")pIN`setexit`&",ґt0#B",ґ"JfNNqjoin #AJf"N`",ґt0"",ґt0Jf",ґ")Ncmplpat)A)BB&x08)DB#Dr#A n$,ԁv(rҩ `pINrp INtpIxN",FNNqbreak.crp (jNJgG(" p (j$NrNrN *** BREAK concat &x08*|0X#D#F #Fr#An&$)ԁv0(ҩ$ԁ(rҩ`")ҩ $(Nmakecap&x08*X"t0#Br#A n.$ԁv0("p(j,N$)ԩ (rҩ `Nfin虁_Ydnex`") px(jhNJfr <(j(Npx(jN`G" px(j$N")JgrN")J g") px(jN#Alp|(jN#ApJlfr <(j(N <(jN")l <(jN <(jN#Attg" <(jN <I,NJf` <(jN")p <(jN")J f $"(`DJg(")#At n"p$(jNrҩ`` p (jNF""JfJf p(jNrN *** BREAK    ? %C!Invalid response - try again : %C'B=B RĚlACK/S,DEL=DELETE/S,Q=QUIT/S,T=TYPE/SDeleted add.to.#A&#p8 #jd(z0Ht"NҪdT#A$<Ԫ`oG" p$(j$NrN%id")t0#Br#An&$)ԁv0(tԩԁ(rҩ``")#p") #p J grҩ $)p$(j4NJo")!")! rNNq.No free store for filenames - list incomplete do.workB #jdx#D`#j\p(INJg B`")JxoB#i r#A$ nGX" p4(j$Nrҩ$`rҩ$G`" p,(j(@|:db,(a0)+ move.l #sndc,(a0)+ move.l #sndd,(a0)+ move.l #snde,(a0)+ move.l #sndf,(a0)+ lea mt_sample1(pc),a0 clr.w d0 mt_clear: move.l (a0,d0.w),a1 clr.l (a1) addq.w #4,d0 cmp.w #$3c,d0 bne.s mt_clear eor.w #$c000,mt_voice0+12 move.b sampleinfo+$1d6,mt_maxpart+1 move.b sampleinfo+$1d7,mt_kn1+1 rts ********************** * Stop Playing Sound * ********************** mt_end: lea $dff000,a5 lea GraphicsName(pc),a1 move.l 4.w,a6 jsr -408(a6) move.l d0,a1 move.w #$ qv8f,$96(a5) move.l 38(a1),$80(a5) move.l 42(a1),$84(a5) clr.w $88(a5) move.w #$8080,$96(a5) jsr -414(a6) rts GraphicsName: dc.b 'graphics.library',0 even ******************************************* * REPLAY SONG ROUTINE (EVERY SCREEN CYCLE * ******************************************* REPLAY_SONG: bsr.L mt_ClearCopListTop ;SoundTeil der Copperliste addq.l #1,mt_counter move.l mt_tempo,d0 cmp.l mt_counter,d0 bne.s mt_notsix clr.l mt_counter move.w #$100,mt_EffAction ;ukein Abbruch bsr.l mt_rout2 bsr.L mt_WB rts ********************** * Auf Effekte testen * ********************** mt_notsix: move.w #$8a,mt_EffAction ;CopperListe frueher abbrechen lea mt_aud1temp(pc),a6 tst.b 3(a6) beq.s mt_arp1 lea mt_CoPT0(pc),a4 lea mt_LC0(pc),a5 bsr.s mt_arprout mt_arp1: lea mt_aud2temp(pc),a6 tst.b 3(a6) beq.s mt_arp2 lea mt_CoPT1(pc),a4 lea mt_LC1(pc),a5 bsr.s mt_arprout mt_arp2: lea mt_aud3temp(pc),a6 tst.b 3(a6) beq.s mt_arp3 lea mt_CoroPT2(pc),a4 lea mt_LC2(pc),a5 bsr.s mt_arprout mt_arp3: lea mt_aud4temp(pc),a6 tst.b 3(a6) beq.s mt_arp4 lea mt_CoPT3(pc),a4 lea mt_LC3(pc),a5 bsr.s mt_arprout mt_arp4: bra.L mt_stop mt_arprout: tst.w 24(a6) beq.s mt_noslide clr.w d0 move.b 25(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn2 bsr.L mt_pushvol1 bra.s mt_noslide mt_voldwn2: clr.w d0 move.b 25(a6),d0 bsr.L mt_pushvol2 mt_noslide: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 beq.L mt_arpegrt cmp.b #3,d0 )beq.L mt_arpegrt cmp.b #4,d0 beq.L mt_arpegrt cmp.b #5,d0 beq.L mt_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #6,d0 beq.s mt_portup cmp.b #7,d0 beq.s mt_portup cmp.b #8,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn cmp.b #9,d0 beq.s mt_portdwn cmp.b #10,d0 beq.s mt_portdwn cmp.b #11,d0 beq.s mt_portdwn cmp.b #13,d0 beq.s mt_volup rts mt_portup: clr.w d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: move.w 6(a-4),12(a5) move.w 22(a6),14(a5) rts mt_portdwn: clr.w d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mt_ok2 move.w #$358,22(a6) mt_ok2: move.w 6(a4),12(a5) move.w 22(a6),14(a5) rts mt_volup: clr.w d0 move.b 3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn mt_pushvol1: add.w d0,$12(a6) cmp.w #$40,$12(a6) bmi.s mt_ok3 move.w #$40,$12(a6) mt_ok3: move.w 8(a4),16(a5) move.w $12(a6),18(a5) rts mt_voldwn: clr.w d0 move.b 3(a6),d0 mt_pushvol2: and.b #$0  f,d0 sub.w d0,$12(a6) bpl.s mt_ok4 clr.w $12(a6) mt_ok4: move.w 8(a4),16(a5) move.w $12(a6),18(a5) rts mt_arpegrt: cmp.w #1,mt_counter+2 beq.s mt_loop2 cmp.w #2,mt_counter+2 beq.s mt_loop3 cmp.w #3,mt_counter+2 beq.s mt_loop4 cmp.w #4,mt_counter+2 beq.s mt_loop2 cmp.w #5,mt_counter+2 beq.s mt_loop3 rts mt_loop2: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s mt_cont mt_loop4: move.w 16(a6),d2 br a.s mt_endpart mt_cont: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea mt_arpeggio,a0 mt_loop5: move.w (a0,d0),d2 cmp.w (a0),d1 beq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w 6(a4),12(a5) move.w d2,14(a5) rts ********************************* * All mt_tempo Times ausfuehren * ********************************* mt_rout2: lea sampleinfo(pc),a0 move.l a0,a3 moveq #$c,d0 add.l d0,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay(pc),d0  2, clr.l d1 move.b (a2,d0),d1 lsl.l #8,d1 lsl.l #2,d1 add.l mt_partnote(pc),d1 move.l d1,mt_partpoint clr.w mt_dmacon lea mt_CoPT0(pc),a4 lea mt_LC0(pc),a5 lea mt_aud1temp(pc),a6 bsr.L mt_playit lea mt_CoPT1(pc),a4 lea mt_LC1(pc),a5 lea mt_aud2temp(pc),a6 bsr.L mt_playit lea mt_CoPT2(pc),a4 lea mt_LC2(pc),a5 lea mt_aud3temp(pc),a6 bsr.L mt_playit lea mt_CoPT3(pc),a4 lea mt_LC3(pc),a5 lea mt_aud4temp(pc),a6 bsr.L mt_playit move.w mt_dmacon(pc),d0 or.w #$8000FA6aL0)HHaaA,aLQB y(aaAaB y(BlRQ03aaTAaJ y*2<BB4ЂQ#B49RBJJЂX#X#a~aAaa cg, Cg$ sgP SgH mg Mg pg Pg ig IgNuA aaB `n @n 0` W`7By l3  y# B29 AgB4JЂSAf y"-# "9 $<,y:N#"$9 B y 6(K,y:N"9,y:N y`@AaN y`&Nu"|x y0<Q"<l$<,y:N#"$9&9,y:N"9,y:N y`Nu"| y0<Q"<$<,y:N#"$9&9,y:N"9,y:N y`ZNu yH 9"'`TUfNu g Q2<Nu2<Nu>< |`B  l0`7Q<$Nu | a4aV |~a&aH`A6a,y"yl Dd@"D !&` 0L 0b@Fh 5(ʀtGkS}-q`Z <#AȂ ȀD2  @C"2`DdAD !d@"A`!@I`4 (@y <` 6$$kLL@V@    23+-z l  F & f ymScdgd`dd4b4f4a4e4c2`bdg+j;'!1 )3#3<<^[T99 MMXYXY/ڧbbbbbj|W=VCV#VcVVSV366F6&6f66Vxx ⼶3ز333_O]݄ݔ݌Á-z&f L̜,lymS440d4d2d6d1d5d3d7d04燀+j<^[TcFc&cfccVc6cvccNcCc#8x ⼶0000ppýD2222rr#Thdlbjfnaihfdflfbflq3`pH(D$dTL,l<"bRC#cS3s K+k[;{G'gW7wO/F&fV6vN J:Zrb.zNr$E@* @ 0,G@+  'E+ Q@u@ e` @3@*0Y@(r1B@@%YM  P@5 wP`L!q I) @ h 0!p@@ 8@ P | (2p (:p (6p (>p (1p (9p (5p (=p (3p (;p (7p (?p2@ATA@B*  /dGG Fb@ +pH8Bx|C 4$0X0vH(P /@ PGb#s&!X9<̈``D0 1bC (D0a؅.KR T`U Xpkpp1q e$ !`>ăB0 `b$$801850807P8008WE0 h)%&A%ĂIf}5sC.4pu R3,8IҐff#`8Lj`f0 0bQ HdCVs!t9& /`4%ĂM0"e|@Axs!R"p!b0p2% ô- ;H `K-F`.HHxĈ @p NܧP\A8NO&LHA@"rutrr?K.&.L2 (@'ptM@@"` 0@@  00  O.L0$ ( P$h,x" _V@@%[cP$p&J@@ P h!x  X " $K@(@ PJE@!   V@*  E@@&  (: A0И:@NJL03J@/ p"A@+  ,N E$@ `p ^@( ` xJ* H@$!   d}\@$B?#8 A4m_$H@@/ !HKo`@ *F CaV@@$ P kOB@ @0J@%P-< AtVCP1( h 8> C j`@ CP @B!"H @S|B@ 5D@#` pM  @X|N@& A,z`@%C[7D`*(F@#  * P5AA P@"  f @-   Ph3 Hd-L@'` ! $V@ ` 8V`@$ aXm Ül\+ X_\@% p&@_@"@  nH@@&  (Z]J`CSAl?D@!  N @%Bp5>Y@@-  N@+` p x# dFCp 9K@@ p @㰃NF м@O@,@ lм Q@@* DR\@'@ ` p? 0 YA|7N@$  L6@@@* @@*`  \#|Y@. 2 !l,vG/0Q@" @ `U@! rO@@&B' !@8"Tq@) aqK@@#  V/B@/ @ `pxB\@'T$  I`@"H$%[@@-` D !!yN,v!wO@( d)deM@"C!9S@@' 0\p  @0"J@/@ B,L"   R@@"C("GX hL6{]@) @(   ,luX:  0$:0 0 X-C DO@$@  0<L@@% M\&p F@ LV@@$  MѾd.  ] @!EW@A:1T@&C!< ѪlB@%` p (C@, L b4H"wlr:8 <bhS @#BdG@ @  IP   n_@@&Cg{P@.  DRO@&BXc9 blK@%` p XQ@" ` pxaJ@@+ P (T-_@@$` 0 ,6;Y@&  x* hQ@" lZM@/ P h[@$ `{ @/  ]P 4#   8t# Hu\O8@Z@#C8l qMp:=B@'` p ) @PxE@) HT#8gmJ W`@. a\e k <`hU@%  4&S@+ HdJMNq pXG@ @ !;eDaAZBAY !T FhAg===@"#EpC`P hLTd 3'A6%Pe0D IBf!@pE MA` A71kA+@GN[<p S^caȆ0 HLqa =-C7?BARV@B`CC=C100`AFX RR  i*&* w A  C@@Bx`' - d8(¼ 'C`+L%$ JT $ ifPB"нFP q  (zBh_hFRPiO}@r ʆ 0L `   s!rPbİ,L^Paq,IK偐"M */B`r`Ehd U` N{;sp@W08N pyy,h`)VDM00 `0aD01  J#J|<.~K >IP%ܞ( <]AI |8QDL8R#D`d38 1 !`´)/ :P Ơƈ`@%0ø!(?0DM sؖ  2 Hx , $F 4  L a.CH`Tgp<83E"2 w3yQ+ 88 ")DCAT@YX`*_,$L T 4 `V?@P:"@A~ fa@r P,@XX@Xēx(R<4"   eI A_* @bjP jH`V@XB 0? 9 BpdMK0 v 68x@( 3RL QE A# DK  $  BD"NnUf_xY\$aNA"b0x(@Q ,@` P'@i $@pa D e\†! O$";BC| Wa/9!Oh=Ȑ<%h6 ,$ "r p T uB `@@`XPhAخKl.oJP(4 .Jh0 X.@DUqe_> LlKCB} "^"2H @L$ ;6 !&D`+$% 0' Els Ш& qp L$``C5xs@#8'(Px#&ɢ.{=F*:&<7* $A!N@[<@@lU 0431F  8 @R@@/P.,(6(  "q'A^A@T@ǀ`.@`@ұ 44C`050704`7 ~E.5#?E ] w ^É cP$%H `(pP4 @4^㓫 @,ArLc$!=ʸ(($0 gbboggCidddQA8 PA6;10΂@ȠP H(  P IAv?A @e]9 C2`p AX8b,<@bJ.&n6TB1*`b/$ v#Blwr#0(T5wnf JAp6h[sIi=4hBøӸݱȥh@' X% JPl@hPBPPA"``P`>P1)8LhQXC9 A8!4@8>#Ņ^ |.'xBP&PP{ X@40ٶ CӅ!da@Wg#x&V @ p^XX@{c0_#@q 21Up JscASll@m   فtI0 xxq!,x 8(   %dH@ H !`+c$ v;F ʻ \v&. \>p8|>pɀgCC2&t6FNN@4<    BEP$XbDB|"< $A4 ib0H(d``  *LD,$ld@HȠ(`hb@_@ @e@@:@\@X?5)ʀtGBᑠdADd@"D !Ffl5)ʀtGkS}-UᑠdAy ҃pv_!8EeB d Q~ dܛxJ` RW1P1nsgq <9@ <X@FL3`O``|S0BV 0 0! @@Ȁ ! `#p7 aπ f DE30((anB xx7 &f0>xqbe MKș`h?GBfI3o/##`Scx ,wAtȠ8 _ %I@ob0 vP@axl>y~L$ɤ|ă9x<$2A?88?8?y,|OrIO = 5cX,<(x ^@HzT@" ȧg9'@oఈG:%@g,_#( 841qhh4 0ŀF+p _~F 0@b?)X <2@AD&%@?<4bwt82 p082Dy2 !DdFJJ'! ǁL?>@?E/'@9O$&sC`@7BcW65cwU1wwWt0pC 8r'*r#;""/>>uC}r?<4ť)O!w `uwD)@"਎g `z+;p9FgFowy"Rs\C |,z"c燁ȼ;9A }SU]+ꪪ+﮾_P0r!_{نAYy!3>*>sc8Z"bjb,`BP'|gܰ^%RPh8ݍ\ՍFj{8J ܈9 E6'">,TH|{~ T Jؔ (݀(]Z'S\;A@ !Js󰰕\Y pzߏe60$]FVJΌs99(x(ii=E:#g$JF=3H(T-+꾩ۯMp⺚i\*?E o~xy#lFw`ò_b)YU]5SQ_Gz@bjbj n#TD 7 ?E@+jV[Tm4@+jVA[Tf _ ,mo VTmP h5@+jVT` 4 `B~4|O%& `U~>f`65cwU1wwWt0pC 8r'*r#;""/>>uC}r?<4ť)O!w `uwD)@"਎g `z+;p9FgFow{ ?v` ` { { }{׀{{D{͎{z\N(MTd nT a|6+E` ǁ,$ * @2qz F FL JL tB <PdU"i< R`P = W2Ѱ# Ȃ&BGW!p((TNbS"p 0 @PhtbU% GY@!E@Fe`A U kuM+@*w@0@Y@(r1B@@'yM  AM[@aZ d 1>C"q I) @A<(:p``y('o N,` -€]=}W 0 0 0 <0 <0 0 @# oP!K s +(Z"偀YJ萨THrŪJ  c50\ 8<Pq<< $|EI!q W`x`\`(Z*,EiQZxH+!8yd)GLuP@ tj*ByP . qBŠD 80 30!Na4(bLP(dh$S`Q i B9gO2r惲8ZYp#21G1t&!Ŵu|0+`k;BY$@۽!Vth ywAl$Є  aCgg@<$d.D\ ːZ;8v&&6N..vPU:WgS'#'SCk`xPh"hr0 =FfJ3"* Ո~]Fve~? @`HL&A#h3RF ,% pO9Ob Evd?yAD C"`@ Ab@ЈԌP8@` F3 j`a@w@Ј  o)38)y\b8AP8pR11W`,f(?C* LF  73)}P4b"5ISRgj">9F3I, A X Ы , !8>Ay j@k$+@# (CYQT`p  9P0 j X`h80B9W`8+P!ƝGj0B1 fP sD"p  n@@`{߯d1, @$ iCa@́A|l M#`cفxl_(Al <0)$l6C|rN&a~ 2S2M0lyԓ c2s`!<` l> >0 H8 H< r/?|!3f } @x`î6@k 7+&k&d?)L!A`0Ca|FS6UM!y!"o^(l/灰ay4Ɂ`g@&_@ePϲ'0Lps|8'p$5pg0Z^G"p  n@@`褏Ao° \e b匰"X 2KCɟDX# kTeI" 0 `xNAj@P''1X7+& s'@ ɤ~yX L B<?6o>IC0h xG |$x$?!_`(p@+ xl>?1X 0+CXn`4lVC|%a~X 2&~?P<|  v(c |4m7d1@ f y" %TBb߯9,$ > "@܀|>AӼ0gL_??8:` E|8!h @)ya b`xA!ӁH)iγP|" c0xIO2| lR@ari! ܤpg?Eo9+s@ЯGB!A9\H!84adp| p[x,| ) 1AȈbl.c 83C|1g~P ?`8UfaX `X `X0zr ` r {Rƒڂ@$VcA-A`X+   )0LȔ,I)Ns^@AuBxƒjOƒ+ƒ(ၶじAY3~@Sa.PVP4F Y EF`h@ PC@@" PE@D hqRa ;u\3&A:AO(  aH|!#ԃx`ae X hk ં0zc@P$ e$g@$ j$hAPn`|"X n@X,(00, a* (0 0U(#J| ~UK*cT Q ! ƤAH =Tp!.KUB/ c@`8 -@`a)t` w$t)@'Aa2@\!?@|%L 1Ys!H:X0`ìuy@` Hka ` ` t:̐ B PEHB0BAP0AP1 s:%!Ё1fb0 )-ث H` jSP*aE BZt 3 8c+\;QХ*)x 40H5 pP\, 8@@@ \(p01P'Bpx3" Ђ F E8W&P Pcz q$baFJRBT :A]]h͝af.=Po7Q(`*txpGApD2 "2  @C"Ȃ & !Ad@"Dd@q $` 0 ,`0  0 @ @ @@ @@@@ @    ai e@@ineį|W=tն]NC#cS3Fpx ⼶릭2130210123_O]5mGɈɘɄɔɌف-zl>&̦f, ,,L,ymSM[ea1e1c5`edebefeag+jj.)#3 +8<^[TVt|ؙٙYY/ڧˣ0r0q0s0prqs_O]5m!y.}-zD2222rqC_O]"XX؍،88d`|W00`0 2 vp8ҹFЧ32rpqJt8 `@yE>AD(P `(0 }AU.hP)(l@8 2eEk9@?H*R81P" @@SK`@R ~^E@ n x `)1  o@(3T + f h``R`hŀ`=%H0CƐ:0v$$0Y` i^P TP`7OpP 0bH?@w !@UBV@]WHP(+064hl*x ; k@ l zvD<"@΁j(څFaANC`P. rL@ĂJ4C+]@ `(P<)!t1qs= =LğWР#@+16J`P52`"A  !@!|!@0:H# y Frx˄Z @`'| A 4\A AX0 @CB 7BwB:10 (100ت`ЀC'0!W?@ @̥ f A%Ah`!pD!H(fAҀ= 0ҀP7d0 PmyA4 avB "xx_ CNH A@#~RBA08 E`8@P(P3h=@@[gX0daA' sg2< p  ht: G')P,+2E:4Q@0Xf$4E@0`4]@08e,, \G*}@szM ê%%, %@pP y GY(0u@0A \@!!6/f(28d@""`f!D+DqUЀF 2 u@N"A*0 Y<$1d 0 i ga <@0PQ@ h Q@ @@)*?(, 0t1r RTH' 4-`& @8T"6 gjqJ( *@ _p* $ G̾[ @ p]ABP@Qci) EX9NBl ku & nd( HJt30慄I!\^ \/!ZDn;BS@E H0b?  0.@`Q4 H``h`y HPh`B!fpYg@@J9(:}<0 BE^ D X0 Si @ ,1I0' ̃@&@I `F`` 04 i`H/P!A68(@P4z@(f` 2pV)0 6 < yE w (X( !& M!B ,Rtm!4VsAO@H - l.wrB~`ʂ <br@P@A(xHX%4d"+%W  @`q\2D*.rYPAnnBvL0 lpHgp !дB ? -—9 S'0* ?0H#`Yt: @, *5P@@@tϓ g ` m`/$  <BP(@04H4JrDp@@0RP C#4 C5@ C34 C-BK0!0(0+ʹC4e.pD9Cps+CU6 #A/t90$  2EsF8_ 40400 $ 7``o@|  [f/*8XhH0P 90KcܕZ@`n =)ɶ:* ^lFIt--@ ievP@0@.  '8 'B+ B @q !` l mH` b c` dh8 L"%9*0WJ Իe>j $`IpAXp!4&kV6N3cLs 2"4 0>N!H&a?4?`,*9AJP@3X"//&IpvO8WM 0 -+KV@`}Ї0\X  ppt KH01I v  J0$<2Gl~))F+Ń 0 :F0ă%a`N@x/Pb(L S H$h7`D>0Axf}S `\:,1@@'@ @=@@)@@6@@"@ @8@/3%>*4!;-0& <)35]r>uz `hO`@L@ S@mH9PЌI@*:%$t\BPh0<28B |1#6'pH)0!# { JAʂP` A3[6@_-  ; PDA?o p;σ@Q``=0`l0hPhrDU` a` j`(1`xfN(XP02S2p`P G|'h( N 89Mp)  @  I, 9(E,7P1?t2^\` c` i` fPL ص)s)p0(`g L@hKD a/?P3" 0(D @Q"M*>]S(Xʻ A`# 0耀<AEDaԈOx;OCoo JCD'  Y<-J h- Vx8 @!}x" 0Vp%7 x 0 nU[<n@\@@" 8.dGE@dB ll@M +@В@@ \ B%I~0F 3 t *LP|NH@홡  ` .a.N`TWТOSc3B l `A@TqAhPA`]0=8.`o8`^" C,& &&a "[ `hcL8`i8P>f'LApJLBTA@6 ؂ ) ?2؈1j _(h4'%6?8 DB$PeP@P%CKsTdM` 0gZ.g{;sgz`x|&xfE pC!:鉥-d>#>}\€n9*y1;A Q@̬?a!NP8X`!}.rb` 0PS  @q@Ā-ȐP9HI"AP0' 2Bru\R J ~ 97  -C&xpP 4J h3 `P0cqP$(3 P W' nYuR2_V‐@H" PaABA  0 DCPXŔ8P*J(|s Z Y lĂsamplestart move.w 46(A6),8(A2) ; Put Sample'svR z/ length in audio->length move.w 48(A6),10(A2) ; Put Sample's replen in audio->oneblowlen clr.l D0 ; move.w 50(A6),D0 ; Get Sample's restart data in D0 asl.l #1,D0 ; Mutiply with 2 add.l 12(A2),D0 ; Add audio->samplestart to it move.l D0,16(A2) ; And store it in audio->restart nextvoice btst.l #31,D4 ; Check for DMA off/on switch beq DMAonoff ; move.b 37(A2),D0 ; Check for samplevS yet to play cmp.b 36(A2),D0 ; If equal to last used sample beq nonewDMA ; Then don't start it. move.b D0,36(A2) ; Update last used sample DMAonoff ; Switch it on anyway move.w 6(A2),$dff096 ; Turn voice off cmp.b #63,20(A2) ; If(audio->basenote==63) beq dontplayit ; move.w 6(A2),D0 ; dmaconhulp|=audio->dma; or.w D0,_dmaconhulp ; move.l 12(A2), (A3) ; Poke Samplestart move.w vA 8(A2),4(A3) ; Poke SampleLength nonewDMA move.w 4(A2),6(A3) ; Poke Period move.w (A2),8(A3) ; Poke Volume dontplayit ; add.l #40,A2 ; Get new AudioTemp add.l #16,A3 ; Get new voice's registerbase addq.l #4,A5 ; Get new intab dbra D5,nvs ; Have we processed all voices allready? addq.b #1,_partvec ; Next note cmpi.b #32,_partvec ; Are at the end of this part? bne exit yUdEPA PA Chh́ }YY`  hZ `,@h4@h 18@؀hE aA4 򌁟r (@ # |2@h$]Q 2 9I"K˄آ@€`V(@1 7j8  Kx *"# ms@),(yTCNmK@@0$/0@NpSCF`% P&$907r 00@ g`  `@@H !@)    `@Kq6 00@ g`C  ``@@C yVRPQ@`cD/A@@΀1 @p) 䡻@rS$  SrBA pk aA `RȐ1d J*BQ?Rc„⦀ `V T` "J&.P3 %T4 W B L0 UX(Ĥlr)h ŁPQ8DpA@ GxU , 3:.@0H(tD?Af ܧQgQ0H'TNcG' āI`@JPC0W3:W؀xh2HҠ#`/,hyW+j6-@!@,I`H ,  `a$ 5 hH 4@@H! P1@f@İ|AT@cI$@ 0(&0r @ <VB! )B^;9 q> PnȄaF Aa !97@Р70{yX  W`vhK.0 N` Pb`g@0 Vq/&J FA ` n@ǀR d A* AZ f A8 A$ A@$4 A$ f`0! À`=0407 Z` A>`e@7vG̬@@` @@n @L 3)p"YdF(P0*Zв-P*/ !=m?p!J<߈jy`)PJX YF A@*, \AMp'  "p 恈s ̈4BPPH! D(s؎@5Px.CyY:0| À$@P(@@}ksH*P3hH`tH `n0V a%\B0Q`o " b )ĚP/{,Z a0 xPQ{$ sـ.e A< "9`\ 0D"=4:bѠSL(@&J0xA$ 8ADBb0-xP.qudb  sd  yDvK ~ } D@B}@`*3 l D` "ThlDt p ŕ"qBa040 a@ŀ Te(  0Ux@8CB@P)Wğ@T c4T c jr n`)D U' P4&B D&X!L J@ր (0P x1W{I,@ q6w3f0hD&< d@@d 8d`0@0aR7D(Qg!eHQjGpz\Š? 0+ Pð SH@$qK XFn #J]) @`j!|4d* $@start move.w 10(A2),4(A3) ; Poke audio->length rts GetVolume clr.l D0 v \ ; move.w 26(A2),D0 ; Put audio->Samplevol in D0 move.l D4,D1 ; Put data in D1 lsr.w #8,D1 ; Shift it to get the Volume-add ext.w D1 ; - may be negative add.w D1,D0 ; Add it to the volume we've got move.b 1(A5),D1 ; Get intab->volume ext.w D1 ; Extend to word add.w D1,D0 ; Add it to the volume we've got cmp.w #64,D0 ; If it exceeds the maximum bcs v ]hE volumeOK ; legal volume then tst.w D0 ; bmi negative ; move.w #64,D0 ; Put the volume on maximum bra volumeOK ; negative clr.w D0 ; volumeOK move.w D0,(A2) ; Store it in audio->volume rts newvoices clr.b _count ; move.l #3,D5 ; 4 Voices...So set it to 3 (Thanx dave!) lea _AudioTemp,A2 ; movea.l #$dff0a0,A3 ; Install register voice base v ^&_ lea _Table,A5 ; Get Tablebase clr.l D0 ; move.b _tabvec,D0 ; Add 16*tabvec asl.l #4,D0 ; adda.l D0,A5 ; nvs btst.b #0,29(A2) ; Test if data is used for sliding beq allOK ; bclr.b #0,29(A2) ; Clear flag. bsr specials ; Do sliding ea bra dontplayit ; Handle next voice allOK clr.l D0 ; move.b (A5),D0 ; Intab->partno in D0 asl.v_basenote move.l D4,D0 ; Get data in D0 and.l #$f0000,D0 ; And it to get the control nibble move.l #16,D1 ; Shift it 16 bits to the right asr.l D1,D0 ; move.b D0,21(A2) va7Z[; And store it in audio->control btst.b #2,21(A2) ; Is the NONOTEADD flag set ? bne nonoteadd ; move.b 3(A5),D0 ; Else add intab->noteadd add.b D0,20(A2) ; To audio->basenote nonoteadd clr.w D0 ; Clever Aztec Code move.b 20(A2),D0 ; Which I can't improve asl.w #1,D0 ; ; lea _Periods,A0 ; ; move.w (A0,D0.w),4(A2); ; btst.b #0,21(A2) ; Do we have an arpeggio here ? vb= beq noarp ; btst.b #1,21(A2) ; Do we have UltraSlide ? bne ultraslide ; move.l D4,D0 ; Get data in D0 lsr.b #4,D0 ; Put data>>4 in arpdata1 move.b D0,23(A2) ; move.l D4,D0 ; Get Data again and.b #15,D0 ; Use the rightmost nibble move.b D0,24(A2) ; Store it in arpdata2 clr.w 30(A2) ; Reset counter bra noslide ; ultraslide bset.b #0,29(A2vc-@) ; Notice that next data is used for sliding move.l #24,D0 ; move.l D7,D1 ; asr.l D0,D1 ; Get Next note to be played btst.l #18,D7 ; Test for NONOTEADD flag bne ohboy ; If not set: add.b 3(A5),D1 ; Add the noteadd to it ohboy and.w #$3f,D1 ; Dump the DMA-bits asl.w #1,D1 ; lea _Periods,A0 ; move.w (A0,D1.w),D0 ; Next Period to be played sub.w 4vdP(A2),D0 ; Substract the current period move.w D0,32(A2) ; Store it in period difference clr.w 30(A2) ; Reset counter move.w D4,D0 ; Get current data and.w #$ff,D0 ; Extract time clr.w D1 ; move.b _speed,D1 ; Multiply by speed mulu.w D1,D0 ; move.w D0,34(A2) ; Store it in maxcount bra noslide ; noarp btst.b #1,21(A2) ; Do we want slide here ? beq vOґ noslide ; move.l D4,D0 ; Get data in D0 and.w #$ff,D0 ; Use the rightmost byte ext.w D0 ; Extend it to a word move.w D0,2(A2) ; Store it in audio->slidespeed noslide move.l D4,D0 ; Get Data again and.l #$f00000,D0 ; Extract sample move.w #20,D1 ; By shifting it 20 asr.l D1,D0 ; To the right beq oldsample ; If zero, use old sample btst.b #3,21(A2) vfl 0 ; So jump to exec interrupt handlers trueA4 dc.l 0 ; Storage for A4 _SetUpInterrupt: move.l #49,D0 ; lea _AudioTemp,A0 ; First we clean up clearaudio ; The 200 audio bytes clr.l (A0)+ ; This is handy for the editor dbra D0,clearaudio ; move.w #1,_AudioTemp+6 ; Set Audio[i]->DMA move.w #2,_AudioTemp+46 ; move.w #4,_AudioTemp+86 ; move.w #8,_AudioTemp+126; clr.w $dff0a8 vgSi ; kill voices clr.w $dff0b8 ; ,, clr.w $dff0c8 ; ,, clr.w $dff0d8 ; ,, clr.b _partvec ; partvec = 0 move.b _StartTab,_tabvec; start position of song move.b _speed,D0 ; sub.b #1,D0 ; move.b D0,_count ; lea trueA4,A0 ; Save A4 move.l A4,(A0) ; To be used in interrupt move.w #$4000,$dff09a ; Disable interrupts lea oldlevel3,A0 ; Get old interrupt and mvh*sUove.l $6c,(A0) ; Store somewhere move.l #newlevel3,$6c ; Replace it by our interrupt move.w #$c000,$dff09a ; Enable interrupts rts _KillZound: move.w #$4000,$dff09a ; Disable interrupts move.l oldlevel3,$6c ; Restore old interrupt vector move.w #$c000,$dff09a ; Enable interrupts move.w #15,$dff096 ; Switch off DMA rts _intrMusic move.l trueA4,A4 ; Get the right A4 ! addq.b #1,_count ; Count++; move.b _count,D1 viH ; Compare count with speed; cmp.b _speed,D1 ; If equal: beq newvoices ; start a new note tst.w _dmaconhulp ; Any voices to be switched on ? beq nodma ; If not: skip a while move.w _dmaconhulp,D0 ; Get the voices to be switched on or.w #$8200,D0 ; Prepare to set some bits move.w D0,$dff096 ; Let the sound come out! clr.w _dmaconhulp ; clearit ! nodma movea.l #$dff0a0,A3 ; Get voices's vmQۘregisterbase move.l #20,D0 ; This waiting loop is nessacary wait ; because the hardware ain't fast dbra D0,wait ; enough to change voice1's replen quickly move.l #3,D5 ; We have 4 voices to handle so 3 ! (Thanx Dave!!) lea _AudioTemp,A2 ; Get audio in A2 loop bsr specials ; adda.l #40,A2 ; Let A2 point to next audiohulp adda.l #16,A3 ; And A1 to next voice-registers dbra sk[K" p0(j8N"*ҩ#p"*ҩ#p ") ©Jfr`r#A $)ĩJfr`r#A gJ f$) G " p0(j8N$) "*p0(j$NR") p0(j(N`"*Ҫp0(j,N#j$r#A($n2ҪJg"*ҩ($0"*p8(j$Nrҩ(`"*ҪJg"*Ҫ$0"*p0(j$Nr%A`"*Ҫp0(j,NB$"*ҪJg""*Ҫ$0"*p8(j$Nr%A"*#p,J,g$*,l#B,#j0"),$*R"#A40nBҪ$0"*pD(j$N"*ҩ4$0"*pDslA(j$NRR$rҩ4`"*Ҫ#p(J(gz$)("*p<(j$N$)("*p<(j$NR")(p<(j(N"*tf"&*֪x8f&)(g$)(G," p<(j8N``<$) G<" p0(j8N`$$) "*p0IlNtgtvg`$*"*p0(jN#A$$*"*p4(jNҩ$gGT" p0(j4Nrҩ `Jfrp(j NNNq in drive 00Replace volumeis out of range is invalid- bad extension- not directory or filebitmap checksum error`b$)G|" p(j8N``"ҪJsJl$)"pIDNN$)"pINN$)G" p(j8N`""0tgvg`N- bad block type- unexpected data block&*ցx8f(JgGx" p(j8N` r%ArN"$)fJfJ f Jg$)G" p(j8NrN- second root block- bad directory&勴8fJ8g*(*؁*0H8g$)G@" p(j8NrN - bad header#p,J,g$*,l#B,#j0"),$*R"#A40nBҪ$0"*pD(j$N"*ҩ4$0"*pDvniN-m D5,loop ; Any voices left ? then handle them ! rts ; Leave my music routine specials btst.b #0,21(A2) ; Do we have Arpeggio here ? beq noarpeggio ; Yes it is beq here ! btst.b #1,21(A2) ; If both bit 0 and bit 1 are set bne superslide ; Then use my superslide routine add.w #1,30(A2) ; Increment arpeggio counter btst.b #0,31(A2) ; If odd : resume loop bne noslidehere ; elvose: poke new period move.w 30(A2),D1 ; Get count in D1 asr.l #1,D1 ; Divide by 2 divu.w #3,D1 ; swap D1 ; Get count%3 in D1 clr.l D2 ; move.b 22(A2,D1.w),D2 ; Get current arpdata add.b 20(A2),D2 ; Add audio->basenote in D2 asl.l #1,D2 ; Mutiply with 2 because periods are words lea _Periods,A0 ; Get the Periods table move.w (A0,D2.l),6(A3) ; Poke the period bra v ZM noslidehere ; superslide move.w 30(A2),D0 ; Compare count cmp.w 34(A2),D0 ; With Maxcount beq noslidehere ; If ready: exit addq.w #1,D0 ; move.w D0,30(A2) ; Increment counter move.w 32(A2),D2 ; Get the Period difference muls.w D0,D2 ; Multiply with counter divs.w 34(A2),D2 ; Divide by maxcount add.w 4(A2),D2 ; Add the period to it. move.w D2,6(A3) ; Let the sound cH{w%{r ux6mpy  ~ST-00N  !T@q}[NLKJIHG~}@Y2 replay9.Srٴs !U'lVpstlkjt8 !Usdisk-validatorrsjl&G$ #Bv lt "*Nt0҂`r $)( r0Ҫ$)( "*XW%A%j$*XS%BB"*p(jxNB#jr#A nҪt!rҩ `t "*NJg0r#At #B "*N") $)"*Ҫ!$*"*p(j$N$*"*p(jN#A$*"*p(jNҩ%A`J$< rp(j(N"*@&)$0(G" p(jNJf"p(jNrp(j N"*@Jg"p(jNB#j"*#A nL#Atāv#C#A$) m o$) Gutsongs|pvIySRQPOdcba`_^]\[Zonmihgfe0Player.cww_lFv9jeZOUNDMON-SOURCES&INFOpx Rstdata3py#zš "! 3210/.CBA@?>HGFEDYXWVUTzB<;doc9pyT F5}} |"|0.<AQN0AqCI$`* fae     ('&%$#"! ucstdatap|+\yF[ZYXWVUTSRQfedcba`_Q  PLSTpq~BU; ------------------- ; - SOUNDTRACKER IX - ; - BEST VERSION! - ; - of course by - ; - - ; - ! D.O.C ! - IMPROVED JULY 1998 ; - - BY ; - who - UNKNOWN of D.O.C ; - else? - ; - - ; - - ; - - ; - start: bsr start_muzak main: btst #$06,$bfe001 bne.s main bsr stop_muzak clr.l d0 end: rts start_muzak: move.l #data,muzakoffset ;** get offset init0: move.l muzakoffset,a0q ;** get highest used pattern add.l #472,a0 move.l #$80,d0 clr.l d1 init1: move.l d1,d2 subq.w #1,d0 init2: move.b (a0)+,d1 cmp.b d2,d1 bgt.s init1 dbf d0,init2 addq.b #1,d2 init3: move.l muzakoffset,a0 ;** calc samplepointers lea pointers,a1 mulu #1024,d2 add.l #600,d2 add.l a0,d2 move.l #15-1,d0 init4: move.l d2,(a1)+ clr.l d1 move.w 42(a0),d1 lsl.l #1,d1 add.l d1,d2 add.l #30,a0 dbf d0,init4 init5: move.w #$0,$dff0a8 ;** clear used values move.w #$0,$dff0bqVz8 move.w #$0,$dff0c8 move.w #$0,$dff0d8 clr.w timpos clr.l trkpos clr.l patpos init6: move.l muzakoffset,a0 ;** initialize timer irq move.b 470(a0),numpat+1 ;number of patterns move.l #240,d0 sub.b 471(a0),d0 mulu #122,d0 move.b #$0,$bfde00 move.b d0,$bfd400 lsr.w #8,d0 move.b d0,$bfd500 move.b #$81,$bfdd00 move.b #$11,$bfde00 move.l $78,lev6save move.l #lev6interrupt,$78 rts stop_muzak: move.b #$1,$bfdd00 ;** restore timer & dma move.l lev6save,$78 move.w #$qe(0,$dff0a8 move.w #$0,$dff0b8 move.w #$0,$dff0c8 move.w #$0,$dff0d8 move.w #$f,$dff096 rts lev6interrupt: movem.l d0/d1,-(sp) ;** jump bsr replay_muzak move.b $bfdd00,d0 move.w #$2000,$dff09c movem.l (sp)+,d0/d1 rte replay_muzak: movem.l d0-d7/a0-a6,-(a7) addq.w #1,timpos speed: cmp.w #6,timpos beq replaystep chaneleffects: ;** seek effects lea datach0,a6 tst.b 3(a6) beq.s ceff1 lea $dff0a0,a5 bsr.s ceff5 ceff1: lea datach1,a6 tst.b 3(a6) beq.s ceff2 lea $qU dff0b0,a5 bsr.s ceff5 ceff2: lea datach2,a6 tst.b 3(a6) beq.s ceff3 lea $dff0c0,a5 bsr.s ceff5 ceff3: lea datach3,a6 tst.b 3(a6) beq.s ceff4 lea $dff0d0,a5 bsr.s ceff5 ceff4: movem.l (a7)+,d0-d7/a0-a6 rts ceff5: move.b 2(a6),d0 ;room for some more and.b #$0f,d0 ;implementations below tst.b d0 beq.s arpreggiato cmp.b #1,d0 beq pitchup cmp.b #2,d0 beq pitchdown cmp.b #12,d0 beq setvol cmp.b #14,d0 beq setfilt cmp.b #15,d0 beq setspeed rts arpreggiato: ;*qv * spread by time cmp.w #1,timpos beq.s arp1 cmp.w #2,timpos beq.s arp2 cmp.w #3,timpos beq.s arp3 cmp.w #4,timpos beq.s arp1 cmp.w #5,timpos beq.s arp2 rts arp1: clr.l d0 ;** get higher note-values move.b 3(a6),d0 ; or play original lsr.b #4,d0 bra.s arp4 arp2: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s arp4 arp3: move.w 16(a6),d2 bra.s arp6 arp4: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea notetable,a0 arp5: move.w (a0,d0.w),d2 cmp.w (a0),d1 beq.s arp6 qqaddq.l #2,a0 bra.s arp5 arp6: move.w d2,6(a5) rts pitchdown: bsr newrou clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 add.w d0,(a4) cmp.w #$358,(a4) bmi.s ok1 move.w #$358,(a4) ok1: move.w (a4),6(a5) rts pitchup:bsr newrou clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 sub.w d0,(a4) cmp.w #$71,(a4) bpl.s ok2 move.w #$71,(a4) ok2: move.w (a4),6(a5) rts setvol: move.b 3(a6),8(a5) rts setfilt:move.b 3(a6),d0 and.b #$01,d0 asl.b #$01,d0 and.b #$fd,$bfe001 or.b d0,$bfe001 rtq%Ns setspeed: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 move.w d0,speed+2 rts newrou: cmp.l #datach0,a6 bne.s next1 lea voi1,a4 rts next1: cmp.l #datach1,a6 bne.s next2 lea voi2,a4 rts next2: cmp.l #datach2,a6 bne.s next3 lea voi3,a4 rts next3: lea voi4,a4 rts replaystep: ;** work next pattern-step clr.w timpos move.l muzakoffset,a0 move.l a0,a3 add.l #12,a3 ;ptr to soundprefs move.l a0,a2 add.l #472,a2 ;ptr to pattern-table add.l #600,a0 ;ptr to first paq G1ttern clr.l d1 move.l trkpos,d0 ;get ptr to current pattern move.b (a2,d0),d1 mulu #1024,d1 add.l patpos,d1 ;get ptr to current step clr.w enbits lea $dff0a0,a5 ;chanel 0 lea datach0,a6 bsr chanelhandler lea $dff0b0,a5 ;chanel 1 lea datach1,a6 bsr chanelhandler lea $dff0c0,a5 ;chanel 2 lea datach2,a6 bsr chanelhandler lea $dff0d0,a5 ;chanel 3 lea datach3,a6 bsr chanelhandler move.l #400,d0 ;** wait a while and set len rep1: dbf d0,rep1 ; of oneshot to 1{ 0000lllll~|&F|0`00000T8|8T|0`|00 0`||8x88||~<<l ~|||||~0000` 0 xx`00{IS `0|||~~<<||||t~|||8l8ll8` 8`80008`0 {T888lD|`  `  `  `  `  `  `  `  `  {D`  `  `  `  `  `  `  `  `  {?`  `  `  `  `  `  `  `  `  ` {? `  `  `  `  `  `  `  `  ` ` {?` ` ` ` ` ` ` ` ` ` {?` ` ` ` ` ` ` ` ` ` i {textp{ 袀` ` ` ` ` ` ` ` ` ` { {` ` ` ` ` ` ` ` ` ` ` -\Txstdata2pH9$hgfedcxwvutsr~}|DOCII-SoundTrackerIIpXoά#&,x <FrN:#*g,y&"<.$<N.g"$9*&<FN"N3633 9*##ByBy0<33p@333 <af 9*##0<#33 <(a6aR30963,x"y* <FN. y:NuSfNustdata3a|gtaa #: 9@ @f09aRy y}faSy 9@ @f09aZSy yfNu,x <XrN:#:Nu"y:A0<hah# @7!@7!#Baa-a#-JJg,y <X"yJN.a+^a aLa0apaa$a patp <XN."y < N.~0HA9 a SGfLNuA0</QSyf3 yR f #,` WfpR0@3 ` Sfp0R3 `Arg R @fr |KvhЦC0<TQA"y=n @0<2<QRQ y=n @0<?((QNuHAC>EH4aBAC>EHa.AC>EIaAC>EJaLNuJ=~g*Jhg$JPg JQgJ>fG0><3Nu gRNu}5  !"##$%&&'())*+,,-.//HJfJygpym3fJygRym3fJyg4ym3fJy)gym3LxNuLxNua.3  |aaBy ` @Um @m A m^ A+m4`n A m Am^ A!m A,m A7mNua@aBy apaIKargaag`zB@a3 `ast-00:songs/9gataJ#patp=~By>ByKp#KfB> By=a!(2gor29> 9=j#=>Nu9gaa #patt=~a#edit=z`,y=#211" $`~#=#=r#%Y.xmodulespGD,Y&Ripperp;R<~}|     '&%$#"! 21LKJIHGSRoZ1p`1c [0 p ----------------------------------------------------------------------------- ->> T R I L O G Y <<- -----------------------------------------------------------------------------  F1 -)> SOUNDTRACKER V1.0 SHIFT F1 -)> DIR SONGS F2 -)> SOUNDTRACKER V2.0 SHIFT F2 -)> HIFI F3 -)> SOUNDTRACKER V3.0 SHIFT F3 _>) PRESET ED F4 -)> SOUNDTRACKER V4.0 SHIFT F4 -)> PRESET-  conloadp(   Diro%,yCBN#:A a~a xgV XgN ig& Ig sg@ Sg8 hgD Hg< wg Wg`A"aa>` | <@a`zA <a`fH |aLaNu sf6 (tf, (-f" (0fo o"H2<a Ag"H2<a Ag##Α# |aP 9aaBAa8 ya.Aa$"y><BBH0a$aAaLRBH IaGY ED+ F5 -)> SOUNDTRACKER V8.0 SHIFT F5 -)> PLSTADDER F6 -)> SOUNDTRACKER V9.0 SHIFT F6 -)> S.I.R. F7 -)> SOUNDTRACKER II SHIFT F7 -)> SOUND FX F8 -)> SOUNDTRACKER II+ SHIFT F8 -)> SONGCATCH F9 -)> SOUNDTRACKER (TNM) SHIFT F9 -)> ZOUNDMON F0 -)> SEKA SHIFT F0 -)> ZOUNDMON CONVERTER  -----------------------------------------------------------------------------h SOURCE-CODES AND DOCS CAN YOU ALSO FIND ON THIS DISK  PRESS 'HELP' FOR THIS SCREEN !!! ----------------------------------------------------------------------------- 6mpy #ST-00N  !T@5:fwvrq0/.-,+*)(=<;:9876|mVWst-01:st-07:40ur ?@st-04:440 @st-04:440eltom@st-04:440fingers~@st-04:440gated-snare @st-04:440noise-burstr@st-04:440s-stk-rvbt@st-04:440slap-bass@st-04:440snare@st-04:440thick-bkL@st-07:a@st-07:aaah j@st-02:acopianon@st-07:acousticguitar@st-03:acugui2V@st-02:ahy (4<DPl(,26@JZbhtz":  & 8 J T h z ~ !!! !!!$!2!:!B!H!N!Z!b!j!n!t!!!!"F"L"`"f""#$#0#6#<#D#J#P#\#h#n$"$4z}$F$P$d$v$z$$$$$$$%%%%%0%8%>%D%H%R%d%%%%%%%%%%%&&& &&&0&4&:&D&L&Z&&&&&&&&&&''''$'2'<'D'J'P'X'\'j'r'|''''''((*(F(R(\(h(|(((((((((((()V)b)n)z)))))****"*2*D*V*h++0+6+++++++,,(OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F /D/V/`/l/~///////00$0*00060<0B0J0P0V0\0b0f0l0p0v0z0000000000000000000000011$1.181l1z111111122 222f2j2r2x222|晹2222222233(3.323<3B3H3V3^3p3v33333333334444"4(424<4F4L4V4b4h4r4|444444444444445555 5(505:5D5H5R5\5h5l5v5~5555555555666$686@6J6R6Z6`6f6l6x6666666667"7.747J7P7\7h7n7x7~777777777 aaNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``?`^,I%4+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu804@P10 %dFyO^cH bx  Qbx `iB 0 B,If0 N-N0~3Opuf!fxd~@[XPG`@A`"؁h0pC0Ixx|p@!@N8(7- \C`] 8Z[9Y:;:A@@(@%>@:GlA2?c+APXxIѠ Q  presetlistp)B **************************************** * Soundtracker-Samplefiles * * Sounds Alphabetisch geordnet * * 114 Soundfiles * * Update vom 24.11.87 * * * * Produced 1987 by Karsten Obarski * **************************************** Name Len Rep RLen ----------------------------------------- Aligator 2700 ---- ---- AnalogString }tΆ777777G`GnG|GGGGH(H.^jpx(,26@JZbhtz":  & 8 J T h z ~ !!! !!!$!2!:!B!H!N!Z!b!j!n!t!!!!"F"L"`"f""#$#0#6#<#D#J#P#\#h#n$"$4~XPre2 4000 ---- ---- RichString 6900 3540 2982 RingPiano 9900 ---- ---- RoomBrass 9300 ---- ---- RubberBass 9000 ---- ---- Shaker 2300 ---- ---- Shamus 9000 ---- ---- SineCZ 3900 2178 1684 SixTease 8400 1120 6680 SlapBass 9800 ---- ---- Smash1 3500 ---- ---- Smash2 4400 ---˅`L:-,+*)('&%$#87654$Y) ^plst.s J#^- ---- Snare1 2000 ---- ---- Snare2 1900 ---- ---- Snare3 3800 ---- ---- SoftBass 4900 ---- ---- SoundTrack 9900 ---- ---- Sphere 8300 ---- ---- Squares 9900 ---- ---- Stabs 7400 ---- ---- Steinway 6900 ---- ---- Strange 7000 ---- ---- Strings1 8900 ---- ---- Strings2 UL' !W% replay23.Sc************************************************* * Muzak Replay-Routine * * Version 1.2 (.23) * * * * copyright 8/1987 by Karsten Obarski * * 3000 Hannover 61 Anderter Strase 1 * * Tel.: 0511/584293 * ************************************************* ;effect (1) appregiato form = 1.halfup , 2.halfup ;effect (2) pitchbend form = 0-f down , 0-f up ************************************************* * mì !WReplayPublic.Sc************************************************* * * * Soundtracker Replay-Routine * * Version 24 (public) - Update 15.12.1987 * * * * Written 1987 by Karsten Obarski * * 3000 Hannover 61 Anderter Strasse 1 * * For all AMIGA 68000-Assembler programmers * * * * start = START * * breakpoint = END =űÂRgfedcba`_^]rqponmlkjih}|{zyxwvuts~s !W soundtrackerpUTTNNdN NLaaaa song)fN"p9g ` y1| 1|1|f Nu y1|1|1|` Nu y1| 1| 1|` Nu y1|[1|I1| Nu y1| Z1|(1| Nu y1| 1| 1| "<NQ`T )gNu 9U)f3)NrBy)Nu 9V)f3)NrBy)Nu 9W)f3 )NrBy)Nu 9X)f30)NrBy)Nu 9Y)f3?)NrBy)Nu 9`)gNu yH6%$#"! 0/.-,+*)('&;:987654321FEDCBA@?>=<QPONMLKJIHG\[ZYXWVUTSD !W TrackerTitlepS`I,n,n <A (!@(!@(!@ (!@NBAC3X (fACB3X fA"| <d"Q#BNu "$&(*,.02468:<>8-R-~     z1 !_0-->>> A TRILOGY COMPACK <<<--pB]Z2Tp475************************************************* * preset-list (maiden-values) ************************************************* * name 22 bytes * samplelength/2 1 word * volume 1 word * repeatstart(additive) 1 word * repeatlength/2 1 word ************************************************* pstart: dc.b 'st-01:',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.w 0000,0000,0000,0000 dc.b 'st-01:alien',0,0,0,0,0,0,0,0,0,0,a Fj!devsp3+ keymapsϬ\78 TRILOGYגn6MM L.=6EGGAAAAAAAAAAAAAAA@~`~`1##3$$4%%5^^6&&7**8((9))0_-_-+=+=|\|\0QqWwEeRrTtYyUuIiOoPp{[{[}]}]123AaSsDdFfGgHhJjKkLl:;:;"'"'456>.>.?/?/.789 ۢ Fj@system-configurationO7 5>=~A`z^ ` P ` P ` P ` P ` P O,CBM_MPS1000K B !_system-configuration sNpu?" $startup-sequence7Qecho "c " type TRG SetMap TRILOGY Type text ; ANOTHER MASTERPIECE FROM TRILOGY, AND LEAVE IT THAT WAY.......... sNp  !_CONTACT TRILOGY !!!p |||||||||| |||||||||| |||||||| ||| |||||||||| |||||||||| ||| ||| |||||||||| |||||||||| |||||||| ||| |||||||||| |||||||||| ||| ||| |||| ||| ||| |||| ||| ||| ||| ||| ||| ||| |||| ||| ||| |||| ||| ||| ||| ||| ||||| |||||||||| |||| ||||||||| |||| ||| ||| ||| ||| ||||| |||||||| |||| |||||||| |||| ||| ||| ||| ||| ||| |||| |||| ||| ||||| |||||||| |||||||||  :6543@?>=<;:. st-ripperp4Bw-" NSoundTracker.Text ڌ* !_setmap  kU ##$#(,y#N(@Jga , 0H0EG, @pB0& 9$ y(C ! RB)g\  g  g& "ggB  g`B`g0 "g *f  Ng nfr ` Eg efr`BB <(FL Hy,/N#N,##Np.yNuaa# /B$@ *$g,y @"(N"* g($<N###g @)hNp` /.y/,y 9ܕ-_3 Hloaderp3Djecho " " dir songs trackertitle soundtracker ru ST-00N  !T@[amY) replay8.s e &  trgp 7 ( plstadderHJ GuruwA +*)('&%$210/.-,A@?>=<;:9 *'{,fxp' ̕!1aNH,xKA P"PXXHaL/ Q"H N.&WP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_BB kg kg kg kg kNqJBRn"_Q N.C m X"RSg"P (" (X#@P`BC m PP""m N.LNua(J  K"m ""qPN`HaP`@JgRzNuJ m "pP g$" m (pPS L$I""$Q``x7&sZMsongspL&N NUH B,B,xz "ЁA0,c "ЁAp "ЁAJ0gDRmRmL0N]NuNU/BHx/-NjPO+@fHz$NDXO`N^HxHl/-NO HxHl/-NnO ,R@HxHl/-NPO HxHl/-NA셄J0pf|`RF| l0H2HЁA$0ļ?gڼ| gZ0H2HЁA$0ļf<0H2HЁA/4HS6HԃAv0(/NXO _A셄pRD|m>RE|m.LN]NuNUH~N x` A샄@RD0Hr,R灰.bex`D0HR:`&0H/2H/NPOJgA샄C샄@PRE0Hr,R灰eRD0Hr,R灰ex`A섄@A샄p0@2HgRRD0Hr,R灰ep,R/r/HzNLO x`Dz`80H2HЁA0pA샄2H4H҂CRE|mRD0Hr,Rばex`Fz`:0H2HЁA00H2HЁAtC섄1(RE|mRD0Hr,RばeLN]NuDumped %ld unnessacary parts out of %ld ! NU/- B,pr N м0@pr N r N pм0@prdN hr N Vмꌺr0 !aEchoVO0O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F .>.?/?/.789 *********************************** *********************************** ** ** ** SoundTracker V2.0 Playroutine ** ** ** ** Coding : The Exterminator ** ** ** ** The Jungle Command ** ** ** *********************************** *********************************** mt_speed=$1f4 bsr mt_init move.w #$4000,$dff09a move.l $00006c,mt_oldirq move.l #mt_~0 SoundTracker V2.0pC  ACF "*$I fae=<;:987654IHGFEDCBA@?TSRQPONMLKJ_^ ] <_Sekap\NYZ.fastdirprinters"R)]\[ZYXWVUjihgfedcba`utsrqponmlk|@ printer.device d?X CBM_MPS1000XV v? vpNu!(BP"^bP xH CBM_MPS1000#A#/,y#CpN# glCpN#gDCXpN#gp,_Nu"y/,yNb,_"y/,yNb,_"y /,yNb,_p`intuition.librarydos.librarygraphics.library"y/,yNb,_"y/,yNb,_"y /,yNb,_pNupNuH (y lhNJfTC3| #o #o$B),iN/B_H{zyxwvGclipboard.device4 &_ 7k&pNuJ0Rclipboard.deviceclipboard 31.145 (24 Nov 1985) HNPONuH@N PONu/ N XONuNv/ NXONu/ NXONu |rfXH0 &/$o#2BHyN#6Pfp`^#:Hy>NN/9Hj^NJO g/96NlNpX`HyNNpXL NuH 0$oN/<HxN &@Pg. jGb~}P@parallel.device} ,parallel 31.69 (23 Nov 1985) J <<tparallel.devicemisc.resourcetNuB)Jn g.ug)5f|`jB.v)5guJ)f J. fRn nu5)5g #nZ6#n^:NuB)Jn g Sn fBnrB&u.vgNpNu0</ /,n"N,_"_|0) @ nHA pN<Q)f/,n2N,_ if9`8 if69f.vf </ /,n"N,_"_v </ /,n"N,_"_NuD9Is $TKA&j`B4>$/IRAX8-@SpŁ7ND aZ/Ga[H^e πD0B%!oRP2 (4K Bdx\b@ p8C DGO A(H&PSpL8,9;AL9u NP@Rƀp3KE HdhL*%r.LHVa 9LJAB 3Cb*dM3P*@x( ` zRpdD)QE<(bl"q*R9p2 "`6J .8printer.deviceprinter 31.104 (25 Nov 1985) H &I+B+4+n2mt n.J0 kD/,y N|,_J+f A4"K/,y N,_/,y Nv,_`J n* p "KNLNupaNuH $&I/,y N,_f0B+g S"k"!I+f"K/,y N,_/,y N,_LNuHA.CE( < NLJg"@##H"NPpNu/ @# ,@CUp ւ}#8B >aMaKzAN6BGaK@APa *#lB,xN:Jg#hѹl @#pa#4#8#aa<F #8 F.y8B,B$B|#WTR#GVByZ#:\aK0.y8\ANByByBGaIhM\Jgv f  !gK am K> dBHJUj&a'a' 9[gg ag6 aN`^ gaLh`N flBGa`p*aKp*aKaKaI`I09gk3#an`>'AaKzjaKlaI`(Ha La.yHa,Jfy/a ,_`e<`AO`N006҉;"Z.ָTf66ԃ>:0ķL384J:>IAO` "9h$9lAMan"9p$9ta^"9`$9daT&948gd"9,$9$a."90$9(a"94$98a"98$9,y"<6$<N#Bg"$9&<Nր3F"9BN`st-00:PLST,y"<6$<N#Bg"$969FN"9BN`,y>9FgSG*yA.a9g MaAawc "&,4<DRd|$2BP`l|,8HNZht~(28BN\l~*:FV`px8Dfnv| Nðf1>> A TRILOGY COMPACK <<<--startup-sequenceYspx (2:BNV\dnz(.Pnz$2>JV`nz "*08@N`hp~"&06>LZhr|"4:RZdnxlNQaT`L AaApaAC:Aa,y"<~tNJg."$<NJg>"$<NJg.AJJjPHCHpQaA2a(Ata `"N` DISK>ST-ST- :st- :,x79 <"<N:#Nu,x"y <N.Nu,xCNh#Nu,x"yNbNudos.library"<D$<,yN#Nu"9,yNNuraw:50/20/398/200/PLST ADDER by A.Sander >> Public Domain <<"9$vJgR`,yNNuABPpa 9Nu>*H|a@A^ g  gga `RF`B5`NuSFjRF`Aa` ,y"9$< vN9 NuAa^9fNu <9FgxSFA2"ytv0 gB `m 10g `m n$gQ#0EDCBA@?>=<;PONMl' o track.doclJ SoundTracker VI - A Quick Clarification. ---------------------------------------- Update : Juli-1988. Update done by : UNKNOWN of DOCTOR MABUSE ORGASM CRACKINGS (D.O.C) INSTRUCTIONS : DOCTOR MABUSE of D.O.C / Based on J.C.-Instruct. for old ST. ----------------------------------------------------- Modifications by D.O.C !!: -------------------------- Enhanced portamento. Volume changing during play. Filter control IĎza)s/''@9:}x9WAXv(# i A 80B!j0\i $#S(P,01 B C B B+|0r1 |P)Έ @4 "1 xb:q:)13b)_G_H?P OrQO3lb8qg#B@A:E``\ -8@^@@rU)xB)xF)xJ)x$N)x(R)x,V! !&!4!B!P!^$!l(!z,A Nu!: !>!B!F!J!N$!R(!V,NuNU ,ZA/0 l^NXON]NuNU/(-)D^N$(N]NuapC6E6f2<kt"Q)Ob,x)NfH瀀.)gKN`B_NsC Nh)@jf .<N`NPONudos.libraryINuNU/ Hy0,2/NPO)@nfBHyNPO.lbNu lnBh ln1|"ln3| lb ,bP)@r lr MANXBNXO$@Jg0/- /-/ NO )|.Dv lnh lnh `DHj\NXOHj\NXO)@z lzJ$g lz"h$/NXO/,z/ NlPO)lz~N ln N ln!@gHxHz,NPO ln!@ /,~/,NPOBNXO$_N]Nu*NUH 0$m m (( D (&@HHЭ T)@B/,NPO)@fL 0N]NuHH/ KR//,NZO HzPHHЬ/NPO/- / /,NZO B&l$KHH* g g g g fR`  m "f2R KRHH*g JR"f "fR`B*```D KRHH*g0 g( g g gt g JR` JRBJfSR`ÊTX0h 1#0$!!`nH/ $A '+HA*DpL`QMt2"sH \P"8  0&%x` @`+O/fPO!normal!-o4ff3 D1s& b'C00`ag0a0 0C8qx?` q2p 1 "@@ @ 00 8f/"bd@ 8s !a? '8p&  0s9q `0 y?y p~n ? 2` ! / 9  "3` ! 1 a 0x ` 0sx0spx p'x'60`  @@|0@  |0 Ͽp ! 0ٷ?ww? wɘ A|8` wȓy& w`y& w'y& wɐ`L 3 w~wَ{g[1#1\ֵZkZ~/ZpֽBkZxvl_3w־;^! 185kZ~k_w9blmؼ{^6 w @? w2||ɓ w2 y  w2|3 w9 p?ww! 2\ 000000000000000  !3 tC Ϳ\g5͏17V+I[ҵֵK֡k[C[֯k[_Ϳѱl[cŷ7 [ 00000000000!4&q*0000000000000000000000000000!54ME000000000000000000000000000!Wc+00000000000000000000000000067F{zy7, ST3p6YQ` # #N N |,"|F$`J 3raJBgT|f$fadr aJBfra`ra^BSBrgQQ` DQQڳl|ravrJBg\v|g>v|g(raf|g|gZB6` raP^B6`raF6`rfa0er`rfa"d rfaer aSC2(QmNu DNuSABgQNu DQNuPROGLM >dm(:%3Ȋx@po.9muX-F0 ,cb m%K Acj @Q,kaeEF*SHDa~aaDj+>AG8BqponKJIHGFEDCB! REPLAY3.Sne(defjam).S9A|AINFORMATION-FILELw;V U[B9a$< E6<Na$< 6<5NB9 ^fa` \faP` Zf &9av` Xfa` Vfa` Tfa` Rfa`t Lg`a$< &<*NNu,yCNh,@NNuKB9 ]stg fNu -f -0g(M # aaa$< &<1NA C z< o0@ o0f2 aH$< z&< Na4$< '&<NA 8 A "# A C < <&lo0 o0fa$< &<Na$< M&< NaA $&<Na$<&<BNB9 Ng LfB9NuB9``a>$< [&<%NB9 LfB9NuJ fNua $< &< NaaapNuBBA 8 "9 # 9 r @ ѹA "PEG<$&fNuJ fNua$< E&<NA (P<a\$ &<NaL$< &<NfaNua&$< &<eNaa$<&<z=@Naa$<&<NaNuJ fNu,yCNh,@"<$<N".$9 N"$<BNNuJ fNuBBA C "JfNu# ,yCNh,@"<$<N".$9 &9 N"$<BNNuJ fNuBBA (P<K ,yCNh,@" $<N".$Jg&N"$<BN fNudos.library# h y h <B$S@nQR y hCXԈp"B2(*ԁQNuByByByByBy xB lB> p y h u#l!lNu!lByByByBy3NuaNHRy x y xgMxJ.gKa3Jnf=|a8=V+n;n@Ap;V0.y v=nNuX(\:}hS@. xq ST Data-Ripper V1.0 ------------------- Coded by Icebreaker/X-Men Press... F1 - search for modules ($000000-$080000) F2 - play song 3h F3 - save module F4 - save songdata F5 - save samples F6 - show samplenames F7 - instructions F10 - exit This was probably the best move.... Module-type data found. Start adress: $ Length: $ Songname: Press - F10 - to continue... Now playing song.... Instructions for ST Data-Ripper ------------------------------- The options. F1 - search for modules By pressing F1 you can9̧z04-01-1989 02:30:and some seconds The Web Inc. (TKR) Welcomes you to this infofile, (it's just a little note to get you started with this proggie.) It is about the zoundmonitor from Activas Washing Corp. You can find the zoundmonitor program in the main menu, and a soundtracker to zoundmonitor converter as well. (this proggie converts soundtracker songs to zoundmonitor format) in this directory you can find some replay sources and other utilities that may be of any use to 8C*********************************** *********************************** ** ** ** SoundTracker V3.0 Playroutine ** ** ** ** Coder 1 : Karsten Obarski ** ** ** ** Coder 2 : The Exterminator ** ** ** ** Coder 3 : Il Scuro ** ** ** *********************************** *********************************** mt_speed=$1f4 bs8Da@r mt_init move.w #$4000,$dff09a move.l $00006c,mt_oldirq move.l #mt_newirq,$00006c move.w #$c000,$dff09a mt_wait: btst #6,$bfe001 bne.s mt_wait move.w #$000f,$dff096 move.w #$4000,$dff09a move.l mt_oldirq,$00006c move.w #$c000,$dff09a clr.l d0 rts mt_init: move.l #$00000,mt_sample1 move.l #$00000,mt_sample2 move.l #$00000,mt_sample3 move.l #$00000,mt_sample4 move.l #$00000,mt_sample5 move.l #$00000,mt_sample6 move.l #$00000,mt_sample7 move.l #$00000,mt_sample8 8E.move.l #$00000,mt_sample9 move.l #$00000,mt_sample10 move.l #$00000,mt_sample11 move.l #$00000,mt_sample12 move.l #$00000,mt_sample13 move.l #$00000,mt_sample14 move.l #$00000,mt_sample15 move.l #mt_sample1,a0 clr.l d0 mt_clear: move.l (a0,d0),a1 clr.l (a1) addq #4,d0 cmp.l #$3c,d0 bne.s mt_clear move.w #0,$dff0a8 move.w #0,$dff0b8 move.w #0,$dff0c8 move.w #0,$dff0d8 eor.w #$c000,mt_voice0+12 clr.l mt_partnrplay clr.l mt_partnote clr.l mt_partpoint move.b mt8FH=_sampleinfo+$1d6,mt_maxpart+1 move.b mt_sampleinfo+$1d7,mt_kn1+1 rts mt_newirq: movem.l d0-d7/a0-a6,-(a7) bsr mt_music movem.l (a7)+,d0-d7/a0-a6 dc.w $4ef9 mt_oldirq: dc.l 0 mt_music: addq.l #1,mt_counter move.l mt_tempo,d0 cmp.l mt_counter,d0 bne.s mt_notsix clr.l mt_counter bra.L mt_rout2 mt_notsix: lea mt_aud1temp,a6 tst.b 3(a6) beq.s mt_arp1 move.l #$dff0a0,a5 bsr.s mt_arprout mt_arp1: lea mt_aud2temp,a6 tst.b 3(a6) beq.s mt_arp2 move.l #$dff0b0,a5 b8Gdesr.s mt_arprout mt_arp2: lea mt_aud3temp,a6 tst.b 3(a6) beq.s mt_arp3 move.l #$dff0c0,a5 bsr.s mt_arprout mt_arp3: lea mt_aud4temp,a6 tst.b 3(a6) beq.s mt_arp4 move.l #$dff0d0,a5 bsr.s mt_arprout mt_arp4: bra.L mt_stop mt_arprout: tst.w 24(a6) beq.s mt_noslide clr.w d0 move.b 25(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn2 bsr.L mt_pushvol1 bra.s mt_noslide mt_voldwn2: clr.w d0 move.b 25(a6),d0 bsr.L mt_pushvol2 mt_noslide: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 be8H xIq.L mt_arpegrt cmp.b #3,d0 beq.L mt_arpegrt cmp.b #4,d0 beq.L mt_arpegrt cmp.b #5,d0 beq.L mt_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #6,d0 beq.s mt_portup cmp.b #7,d0 beq.s mt_portup cmp.b #8,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn cmp.b #9,d0 beq.s mt_portdwn cmp.b #10,d0 beq.s mt_portdwn cmp.b #11,d0 beq.s mt_portdwn cmp.b #13,d0 beq.s mt_volup rts mt_portup: clr.w d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: move.w 22(a6)8I+e,6(a5) rts mt_portdwn: clr.w d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mt_ok2 move.w #$358,22(a6) mt_ok2: move.w 22(a6),6(a5) rts mt_volup: clr.w d0 move.b 3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn mt_pushvol1: add.w d0,$12(a6) cmp.w #$40,$12(a6) bmi.s mt_ok3 move.w #$40,$12(a6) mt_ok3: move.w $12(a6),8(a5) rts mt_voldwn: clr.w d0 move.b 3(a6),d0 mt_pushvol2: and.b #$0f,d0 sub.w d0,$12(a6) bpl.s mt_ok4 clr.w $12(a6) mt_ok4: move.w $12(a6),8(a5) rts mt_arpegr8JWt: cmp.l #1,mt_counter beq.s mt_loop2 cmp.l #2,mt_counter beq.s mt_loop3 cmp.l #3,mt_counter beq.s mt_loop4 cmp.l #4,mt_counter beq.s mt_loop2 cmp.l #5,mt_counter beq.s mt_loop3 rts mt_loop2: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s mt_cont mt_loop4: move.w 16(a6),d2 bra.s mt_endpart mt_cont: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea mt_arpeggio,a0 mt_loop5: move.w (a0,d0),d2 cmp.w (a0),d1 8 Kmlbeq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w d2,6(a5) rts mt_rout2: lea mt_sampleinfo,a0 move.l a0,a3 add.l #$0c,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay,d0 clr.l d1 move.b (a2,d0),d1 mulu #$0400,d1 add.l mt_partnote,d1 move.l d1,mt_partpoint clr.w mt_dmacon move.l #$dff0a0,a5 lea mt_aud1temp,a6 bsr.L mt_playit move.l #$dff0b0,a5 lea mt_aud2temp,a6 bsr.L mt_playit move.l #$dff0c0,a5 lea mt_aud3temp,a6 bsr.L m8 {t_playit move.l #$dff0d0,a5 lea mt_aud4temp,a6 bsr.L mt_playit move.l #mt_speed,d0 mt_rls: dbf d0,mt_rls move.l #$8000,d0 add.w mt_dmacon,d0 move.w d0,$dff096 move.l #mt_aud4temp,a6 cmp.w #1,14(a6) bne.s mt_voice3 move.l 10(a6),$dff0d0 move.w #1,$dff0d4 mt_voice3: move.l #mt_aud3temp,a6 cmp.w #1,14(a6) bne.s mt_voice2 move.l 10(a6),$dff0c0 move.w #1,$dff0c4 mt_voice2: move.l #mt_aud2temp,a6 cmp.w #1,14(a6) bne.s mt_voice1 move.l 10(a6),$dff0b0 move.w #1,$dfL M!PM LetsHearItwLK%CNNU fB m /("m /)NPOJgBBNHPO9fN*Nn`Hza^XO`Hz$aTXON]Nu It won't work this way! Usage: LetsHearIt NU/-N fXO//-NJ/NrO N]Nu9g HaLNp1AFBQ9|L9|t9|9|ByByByByB,l,MS@A 3@A l!l3Nu3@!vl33Nu(zbR,BA,,MgJlg0,|3Bl&|NQʑiQ% no.1p+P2qL$L.=6EGAAAAAAAAAAAAAAA@~`~`!!1@@2##3$$4%%5^^6&&7**8((9))0_-_-+=+=|\|\0QqWwEeRrTtYyUuIiOoPp{[{[}]}]123AaSsDdFfGgHhJjKkLl:;:;"'"'456>.>.?/?/.789 +9N` -  ZATBSC @D A10~11~12~13~14~15~16~17~18~19~?~normalAlbert S.@($  *&" N%.hQecho " " cls ripper2 type text Y=sNpS @<-p3? @A# c0>`R"r)" S1!v͇Dd~ 4 @ P \ v " ( . 8 > D P V b f , : @ D R X ` d j p z  & , 6 Z 2Lf  *4>HR\fpx *JfYh[ Saturday, 7th January 1989 ##### ###### ##### ###### ###### ## ## ## ## ## ## #### ## ##### ## ## ## ## ###### ## ###### ## ## ## ## ##### ## ###### ## ## ## ## Soundtracker Instruments Ripper CODER: MEL of THE SYNDICATE of THE BEASTIE BOYS This little Utility waYidTs designed to ripp Soundtracker Songs and Instruments from Demo's, Intro's and Game's! Usage: To Load A Module from Disk then type: SIR [FILENAME] otherwise just type SIR to load without a song. After you have load SIR it will ask for ST-00 to load the preset list. If you have load or if you have ripped a song, it checks out, if the used instruments are allready in the preset list. New instruments are marked with a star. FuYlDllnctions --------- Change instruments disk : With you can change the disk number (ST-??) of each instrument, which is new. Play sample : Play sample in two different speeds (right and left mouse button). Play song : play the song. Search for a song : SIR searches the memory for soundtracker songs. Save new plst : Adds the new instruments to the plst and saves it to ST-00. Save new instruments : Saves new instruments on the selected disk. Save song datas : juA(uZound.cwUj`CHW!Cyp,xN,@N"A4$v.Np NuJ, FRiff.libraryIFF 14.01 (24-Mar-1988) by Christian A. Weber dos.library:4NNf FRH*@+H"CopN+@(A, XB!HL#NuH@*NaTfF0Strings60V ڕDxTom1PanFlute(VjjXy#include #include #define MEMF_CHIP (1L<<1) #define VOICES 4 #define PARTLEN 32 #define TABLEN 256 #define NOPARTS 256 static ULONG ZMemsize[16]; static UBYTE SN; static UBYTE MaxPart,MaxTable; static WORD Periods[]= { 0x0000,0x0358,0x0328,0x02fa,0x02d0,0x02a6,0x0280,0x025c, 0x023a,0x021a,0x01fc,0x01e0,0x01c5,0x01ac,0x0194,0x017d, 0x0168,0x0153,0x0140,0x012e,0x011d,0x010d,0x00fe,0x00f0, 0x00e2,0x00d6,0x00ca,0x00betwsst du denn jeden pupser aufschreiben ???? wozu hab ich eigentlich die waits eingebaut, die benutzt du nicht einmal !!! achso !!! fuck you big mac, where's my (dr.m's) elephant ??!! so'n fetten arsch, eklig !!!! das merken die sofort den zusammenhang !!!! benutz mal die waits !!! gleich bleibt fetter arsch W? stehen, oder so !!! okay i think that langt for now, you sau..... tis is the end W? end W? uf] eW1nW2d W3 hohoehoehoe satte 136 lines.... $8frz~2>PVbr|>JTl @Zfrz "04FRhnv  &.4:BHN\rz&.<DLZbjxx +t 7 songcatchppzњVAC "*$I faeHF P22@ 4$-n P0 tgXV *@@PPHTQ% j9D v\zaqC$ @`vh[ P@h[ 9:@ \@!A( p~vP/2 Zs3$cI( &Ac z ff f%` bf*h \ f ţ @ぽX <ā˙! =̥k)GF~A̪a0WB "sV  ` 8 Bd X Y1cCߟϏsb:A?8@/P`n,~3!d0fefl@ kjn@ϑ D  t<GCQ Pd̄@ Z$ RF|wGku#lX2olCiddd` 󽝹#&f \ \mMmLhMhAC. 0P8} Smash20Snap 2006Snare1Snare2lSnare3SnareDrum 4968hSoftBass$SoundTrack&Sphere lSquares&StabsSteinwayStrangeX9~FStrings1"Strings2%n/,NXOJg /,NXOJg /,NXO,x.)g/ K N*_`B_NsJf*Jg"/,/,NPO ,R//,NPO`Np/,NXO -.lNu(N]NuNUH (-r ND$@솞Jm0,HlJf)|pLpN]Nu0*|f/N2XOBp`Hp4&HCHCBCԃH@H@B@ЂLNuN"/,lN"/,lN"/,lN,lN,lN|"/,lN(NL,lNN,lNNL,lNNL,lNNL,lNHL ,lNL NuN"o,lNbL,lN:"o,lTN,lN|"o /,lN. o,lN,l"o /N"o,lNL,lN o,lNL,lN o,lN o,lN ^X(\:}hS@. xqke_0123456789abcdef 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ TNNL,lNNL,lNHL ,lNL NuN"o,lNbL,lN:"o,l5C!"MajorAccord 136345BMarimba@Mechanic1LMechanic2%MetalKeys$MinorAccord 16274?MonoBassMonsterBass#(Munch 1888`MuteClavNiceNightmare& NoteManXOrgan6OutLaw PanFlute 26688h@PanFlute&PercoPercus 4518PingBellsPizza$PolySynth&Pop 1506PopBass PopSnare1PopSnare2progag 95047|y% RichString RingPiano&RoomBrass$TRubberBass#(Screetch 5716TShakerShamus#(SineCZ<SixTease `Skywalk 6004tSlamDoor 8096SlapBass 7280pSlapBass&HSmash1x4v@@v <P"<#,xN:#C <,xN# C <,xN# |,y N4# @#V "|,y N y ,xN y ,xN# "@ g* @g"y ,xN` )N ` y ,y N"y 9,xN. y ,y N"y ,xNb"y ,xNbBNu"<$<,y Ng@,"$< `v,y N"$9&<P,y N*",y NNu,y NNuJ9Zg"<Z$<,y N,"$9&x`g,y N",y NNu ~pX>2 |vpf\VP<6"di+ D@F0SOUND-FX SONG-CATCHER ar2 LoadName:ap[ol !!! das ist nicht mehr witzig, echt !!! was faellt dir ein, das ist echt nicht witzig !!! das ist auch nicht viel mehr !!! denkst du das liest noch irgendeiner durch ??? ahohohoooo!!!! oh! oh!! mal sehen das sieht bestimmt lustig aus.... waas ??? los schreib mal hin da !!! toword ze real ov ze bildink ley onn ould chip. schlidly largscher zen ze asers, ant barried benass iven tripper geils ov thrust and copper nets. pack die schKʳSong-Catch : This program will retransfer final-files from SOUND-FX to original files which you can load in the program. Type the load name and the save name. This is a preliminary version which will assume that the song is 50000 bytes large. For most applications this is big enough. When you load the song with soundFX and then save it away it will correct the size to the correct size which is in normal cases smaller than 50000 bytes. A final version will be released soon. Club CrM0deole 0EDCBA@?>=<;PONMl' o track.docs0 0@ ,0f| A솊 (N]NuNU g Hz.NLXO` m /(NbXON m /(NXON]NuUsage: ST2AJ apC삶E삶f2<&kt"Q)O,x)NH瀀.)gKN`B_NsC Nh)@f .<N`NPONudos.libraryINuNU/ Hy0,/NPO)@fBHyNPO.lNu lBh l1|"l3| l ,P)@ l MANXBNXO$@Jg0/- /-/ NO )| lh lh `DHj\NXOHj\NXO)@ lJ$g l"h$/NXO/,qq%zeisse weg !!!! okay schreib hin : interest !!! echt, echt voll die id... echt, echt !!! echt, hahahaha ha ha !!! eins ausrufezeichen ???? dogge, jetzt ganz im ernst, das liest doch keiner durch, echt nicht !!! helloechen d.o.c !!! hey der will wieder 'ne demo !!! 100 maerkers, billiger bin ich nicht und ausserdem skywichser ist immer gut !!!! echt, du bist die letzte sau, jetzt reicht's mir aber, du ficker !!! will die happy lesen !!! d/ NlPO)lN l N l!@gHxHz,NPO l!@ /,/,NPOBN XO$_N]Nu*NUH 0$m m (( D (&@HHЭ T)@B/,NPO)@fL 0N]NuHH/ KR//,NZO HzPHHЬ/NPO/- / /,NZO B&l$KHH* g g g g fR`  m "f2R KRHH*g JR"f "fR`B*```D KRHH*g0 g( g g g g JR` JRBJfSR`JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BA!nvzaNuA (g"9~BFBA"yv\\FFgF gHmg"9~F yvz <PSQQ~A"yv 9F <QA <BQNu#av9f, ~gaVa 9~#zaNuA (g"9~BFBA"yv\\FFgH g mg yv 9F"9~FS <RQQ~A <BQNu y,tn y,rn ` bHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUHl/-NPON]NuNU/(-/- /N4PO f& m ( HHgHx/- NPO(N]Nu`NU/ $m Re -// NPO$_N]Nu RR- HH`NU/ A$H J/aXOA삲e$_N]NuNUH $mx f pLN]NuJ* gT* g Hx/ aVPO(* HH/NXO* g /*NDJT`flv,BN\ht  (,26<DLX^jv 2BTbt 2BTbt(26@FP\htm5O(FLRXdnv,4@PXdj  & 0 6 < @ F h l v |  $ ( . 2 8 D J P T Z ` j x     ( 0 8 B J R Z ` j r z  " *m6 0 < B X |   $ 0 < H V d p |  *6BNZfr$*0:L^jv *>JPV\bn m7}$*2>HNTXbjpx~$.6>DJPj"(DV\nrx| ".8>DHRZbl|  &,28J^jtm8yY  ,08>V\blr| FPXblt$06<DLVpv| "(.4>LVdjpv| 4J`m992R\hv|"*0<Z "2:JRbjz(0:BLT`ht|    \ !!!V!\!b!h!n!t!z!!!!!!!!!!!!!!!!!!!"""""" "$"*"."4":"D"J"P"V"^m:~"d"~"""""""""""""""# #&#*#0#6#@#F#R#^#l#r#x#############$$$ $&$4$<$B$H$`$r$~$$$$$$$$$$$$$$$$$%% %%%$%(%2%8%@%J%R%X%d%p%x%%%%%%%%%%%%%%%%%%&&&&(&.&8&>&d&j&n&t&z&&&&&&&m;&&&&&&'' ''' '&'<'B'H'j'p'v''(( (&(H(T(Z(|((((((((((((()&),)2)B)R)Z)`)f)p)z))))))))))))*** **"*(*.*8*@*F*V*l*z************+++J+Z+d+++++++++++,, ,,(,8,R,V,`,d,j,,,,,,,,,m<{,,,,,,---- -(-@-D-J-P--------------ZZZZZZ[[[$]]]]]^v^|^^^^^^^^_ _`@`H`X`^`v````$%% %%%$%(%2%8%@%J%R%X%d%p%x%%%%%%%%%%%%%%%%%%&&&&(&.&8&>&d&j&n&t&z&&&&&&&!iNuC~A < QNua By)2NuAC.<  gQACE .<QaI22@RE .<Qa2 Ag$RE .<QaI Af2<2aNuPLST#a`9fP#p&a""#&z zg,#v&N'Z 9z3BFaNu#z#~atNu#a9f&#p&#v&#z&N'Nu#a9f89g ~nala 9~#!'*#zByhaaJBy)2a^ yu)2g yw)2g y})2gA)809)2BXgR .f` y)2g y)2n zf y)2m~`V zf. y)2m`A (0f, y)2gD` zm y)2m&AC( 9zRzaBy)2` zm* znAzSz a By)2`K# r# ! va 9z"<Za(>By)2Nu y <O Q <"<a( m*}E ` ` ` ` ` ` ` ` ` ` ` m+N6` ` ` ` ` ` ` ` ` ` @IY+HiFipm,aZ0 ` ` ` ` ` ` ` ` ` ` m-~%` ` ` ` ` ` ` ` ` ` ` ` m.}#` ` ` ` ` ` ` ` ` ` ` `m/v}N ` ` ` ` ` ` ` ` ` ` ` m0I` ` ` ` ` @ <P"<,yN:#Z 9ZAZ (!@AZC[23X3X3X N[ y2`(gaNu |7zBBBBBBGZ EfNuBj6D"A8RA A(fBXC Cfm1X> BB(RQ`"A8RA A(fBXC Cf BB(RQ` "$&(*,.02468:<>      u1i    @8 -2"F.2``          m2Go    *"- y]"y/@]E6"$< <-"<g.2gQG6P"< B(QB`NuH.< <BC^ y/@ X@"<&D(@U Aj(TQQRy^` y^`ffBy^`B y^\^XR^X (fB^XA6"BRfS <A6P"y/@ R(Qm3VTLNu ... version 1.8 (pal ) ... release 04/1988 ... insert volume st-00 ... insert volume st-00 ... volume st-00 is not ready ... ready to save module ... press 'enter' to start or 'help' to aboard ... soundmodule written ... user break9 g,y`) y2`(fNu#ntsc_FA]x   A\t , 3f3rA1v <RXQNu yZ"H&P < "#h((#h((#h((((XXQNuT^t"#e Daten!!! EndSongStr: . dc.w 4 ChannelData3: blk.l 5,0 ;a.s.o dc.w 8 Instruments: blk.l 15,0 ;Zeiger auf die 15 Instrumente PosCounter: dc.l 0 ;Offset ins Pattern TrackPos: dc.l 0 ;Position Counter Timer: dc.w 0 ;Zhler 0-5 DmaCon: dc.w 0 ;Zwischenspeicher fr DmaCon AnzPat: dc.w 1 ;Anzahl Positions PlayLock: dc.w 0 ;Flag fuer 'Sound erlaubt' DelayValue: dc.w 14565 SongPointer: dc.l LenghtTable ChipFlag: dc.w 0 CiaaBase: dc.l 0 InterruptName: dc.b k?MM,yC\Nh,@N"$<h&<tNyg$<NF$<&<(N"NNpdos.libraryHiFi: By Sten Schmidt, DK 27-03-88 ---- For TRILOGY and 7UP CREW ---- Works only on the Amiga 500 and 2000 *** LOW PAS filter ON (7,5 KHz) *** *** LOW PAS filter OFF (15 KHz) *** OW PA6<BY+yST-00NY+N !T@p' knfl!p'T"echo " " dir songs type cancel x[B<SoundtrackerIV.by_DOCp 7 bcancelpM4eole 0EDCBA@?>=<;PONMl' o track.doc ݱU [0 p  cancelp4vrganDKorgBassKorgBeauXKorgBowKorgDoiKorgFilter HKorgStringvKoto 4416@KotoKraftdrum 1722LeadBell 7662Leader HLicks8Magic?R M! K vWH4zO@  ( ' @ HnA@@'  8! @PD:G@*  L d TZ@'B! dAYvI @ @ aFLTF+@D@+@ a9`@B@@&  \0TB@&  & d Z@@" 0'x (?*P  H4x?%p C@.  @L@!@ ` 4PX h( 0 @‡@J@@'  ( PI@& *|X|F@!C@HULAbM@"@  0J * LB:<4 0Tp  (,P  YBA2 @+ "]@%  h.S d _@" P X!U AS@!C*& L T Q( 0Dr4W%Q @u[ @!C1uE@"jdA@. `@@@$@  0JC@@%   FB@%`  NC@% V L@! $M@! "L@!@  &M@! A,@c !L@@!  %M@@! #L@!` 'M@! 'S AD@&  @`pE@&  `pxD@&@  PhtE@&  px|D@@&  HdrE@@&  htzD@&`  X/Q@2 <> 1Z@@" 0'x (?*P  H4x?%p C@.  @L@!@ ` 4PX h( 0 @‡@J@@'  ( PI@& *|X|F@!C*T*Jf)|2pLpN]Nu0*|f/N2XOBp`Hp4&HCHCBCԃH@H@B@ЂLNuN"/,l2NN"/,l2N"/,l2N:NL,l2N,l2NNL,l2NNL,l2NN,l2NNL,l2NN"/,l2NNL,l2NHL ,l2NL NuN"o,l2NbNL,l2N:N"o,l2N,l2N|N"o /,l2N.N o,l2NN,l2"o /NN"o,l2N"o /,l2N /,l2N o,l2N"oL,l,l?..789 `1234567890-=\.0QWERTYUIOP[].123ASDFGHJKL;'..456.ZXCVBNM,./..789 TY^cinyLSQAN@@@@@@@@@@@@@.y@~b@@X(\:}hS@. xqke_ZUPLHD@<9Aaaargh! 2688 AcousticGuitar 8192 Aligator AnalogString"` jAsia AWCPiano1}AWCPiano2?Banjo 4096Bark 3006/,. Bass1 4306Bass2 5306Bass3 3006 Bassdrum 5160(BassDrum1LBassDrum2 BassDrum3 HBassGuitar 5006Bell 3706zBigBowxBlast&Block 2006Blubzing0!XjxBones 4004Bongo1 2206Bongo2 3306 Burp 4006Celeste@Chink Claps 2652 \Claps1Claps2xClaves CloseHiHatCnarringDoor 9088#Conga@Cough 35021$ CowBellxCrystal1 1142vCrystal2 1036 DangerousXDetuneD j nDigDug DigiHarp&DistortedGuitar1 3200 DistortedGuitar2 128002DistortedGuitar3 7614DreamBells#Duraccord 7680DxBass Dx2İ4Z#TomElecTom Engine 139026NEPiano 7006^EPiano@FaeryTale"FilterBass FunBassdFunkBassGuitar1 4006Guitar2 9406$HallBrass$Heaven!4HeavySynth3X&HHeifer (HighHat1 2006HighHat2 2006HighHat3 1206HiHat1xHiHat2HoomandHornBlst 8906"Horns InstantAccomp 12032/JahrMarkt1&HJahrMarkt2&HJetes%KlickOLjȄs(pc),a1 ;Instr. Tabelle move.l d2,d4 ;Instrument Nummer subq #1,d2 lsl #2,d2 ;Offset auf akt. Instr. mulu #30,d4 ;Offset Auf Instr.Daten move.l (a1,d2.w),4(a6) ;Zeiger auf akt. Instr. move.w (a3,d4.l),8(a6) ;Instr.Lnge move.w 2(a3,d4.l),18(a6) ;Volume move.w 4(a3,d4.l),d3 ;Repeat tst d3 ;kein Repeat? beq.s NoRepeat ;Nein! ;Doch! move.l 4(a6),d2 ;akt. Instr. add.l d3,d2 ;Repeat dazu move.l d2,10(a6) ;Repeat Instr. move.w 6(a3,d4),14(a6) ;rep laem&ͧCBx03 sDdDxf@&H"dp2d x0A39 sDL|I x`@A  &JO| pfNOɓ9߿?_ٳ홚H9o-\tnge move.w 18(a6),d3 ;Volume in HardReg. bra.s NoInstr NoRepeat: move.l 4(a6),d2 ;Instrument add.l d3,d2 ;rep Offset move.l d2,10(a6) ;in Rep. Pos. move.w 6(a3,d4.l),14(a6) ;rep Laenge move.w 18(a6),d3 ;Volume in Hardware CheckPic: NoInstr: move.b 2(A6),d2 and #$0f,d2 cmp.b #5,d2 beq.s ChangeUpVolume cmp.b #6,d2 bne.L SetVolume2 moveq #0,d2 move.b 3(A6),d2 sub d2,d3 tst d3 bpl SetVolume2 clr d3 bra.L SetVolume2 ChangeUpVolume: moveq #0,d2 move.b 3(1ZBursterwu<&N l3@A0 l!&l3@Nu9g HaLNNU9|D9|^9|x9|ByByByByp,eS@B,lÃ!@NrN]NuNU/x A삺Jg A/0"C삺/1NzPORm(N]NuNU3@!Tl3ByByByBy3N]Nu(x@)ytR,BA,,egJl&g0,&|3Bl&"|pE>3j "*g(BB,HAJg2*A3p(`*g2*j5A3AQ`c A6),d2 add d2,d3 tst d3 cmp #64,d3 ble.L SetVolume2 move #64,d3 SetVolume2: move d3,8(A5) NoInstr2: cmp #-3,(A6) ;Ist Note = 'PIC' ? bne.s NoPic clr 2(A6) ;wenn ja -> Note auf 0 setzen bra.s NoNote NoPic: tst (A6) ;Note ? beq.s NoNote ;wenn 0 -> nicht spielen clr (a4) move.w (a6),16(a6) ;eintragen move.w 20(a6),$dff096 ;dma abschalten move.l d7,-(SP) move #300,d7 ;genug fr MC68030 Delay1: dbf d7,Delay1 ;delay move.l (SP)+,d7 cmp #-2,(A6) ;Ist ̮F5_es 'STP' bne.s NoStop ;Nein! clr 8(A5) bra Super NoStop: move.l 4(a6),0(a5) ;Intrument Adr. move.w 8(a6),4(a5) ;Lnge move.w 0(a6),6(a5) ;Period Super: move.w 20(a6),d0 ;DMA Bit or.w d0,DmaCon ;einodern NoNote: rts ;-------------------------------------------------------------------- ArpeTable: dc.l Arpe1 dc.l Arpe2 dc.l Arpe3 dc.l Arpe2 dc.l Arpe1 ChannelData0: blk.l 5,0 ;Daten fr Note dc.w 1 ;DMA - Bit ChannelData1: blk.l 5,0 ;u.s.w dc.w 2 Channe llData2: blk.l 5,0 ;etc. dc.w 4 ChannelData3: blk.l 5,0 ;a.s.o dc.w 8 Instruments: blk.l 15,0 ;Zeiger auf die 15 Instrumente PosCounter: dc.l 0 ;Offset ins Pattern TrackPos: dc.l 0 ;Position Counter Timer: dc.w 0 ;Zhler 0-5 DmaCon: dc.w 0 ;Zwischenspeicher fr DmaCon AnzPat: dc.w 1 ;Anzahl Positions PlayLock: dc.w 0 ;Flag fuer 'Sound erlaubt' DelayValue: dc.w 14565 SongPointer: dc.l LenghtTable ChipFlag: dc.w 0 CiaaBase: dc.l 0 InterruptName: dc.b m'Έlkwi+ZVֻw+ЭkwkkZ.홭l׭k}wkkZoسh8/3l` ` ` ` ` m(ψa` ` ` ` ` ` ` ` ` ` ` ` m)*.` ` ` ` ` ` ` ` ` ` ` `  ќ!Voloumenregs. auf 0 clr $b8(A0) clr $c8(a0) clr $d8(a0) clr.w Timer ;zahler auf 0 clr.l TrackPos ;zeiger auf pos clr.l PosCounter ;zeiger innehalb des pattern rts ;---------------------------------------------------------------------- PlayDisable: lea $dff000,a0 ;AMIGA clr.w PlayLock ;player sperren clr $a8(a0) ;volumen auf 0 clr $b8(a0) clr $c8(a0) clr $d8(a0) move.w #$f,$96(A0) ;dma sperren rts ;------------------------------------------------------------- E<-------- IntCode: bsr PlaySong ;Note spielen moveq #0,d0 ;kein Fehler rts ;---------------------------------------------------------------------- ;hier werden 5 * effekte gespielt und einmal der song PlaySong: ;HauptAbspielRoutine movem.l d0-d7/a0-a6,-(SP) addq.w #1,Timer ;zhler erhhen cmp.w #6,Timer ;schon 6? bne.s CheckEffects ;wenn nicht -> effekte clr.w Timer ;sonst zhler lschen bsr PlaySound ;und sound spielen NoPlay: movem.l (SP)+,d0-d7/a0-a6 rts“ ;------------------------------------------------------------------- CheckEffects: moveq #3,d7 ;4 kanle lea StepControl0,a4 lea ChannelData0(pc),a6 ;zeiger auf daten fr 0 lea $dff0a0,a5 ;Kanal 0 EffLoop: movem.l d7/a5,-(SP) bsr.s MakeEffekts ;Effekt spielen movem.l (Sp)+,d7/a5 NoEff: add #8,a4 add #$10,a5 ;nchster Kanal add #22,a6 ;Nchste KanalDaten dbf d7,EffLoop movem.l (a7)+,d0-d7/a0-a6 rts MakeEffekts: move (A4),d0 beq.s NoStep bmi.s StepItUp add d,0,2(A4) move 2(A4),d0 move 4(A4),d1 cmp d0,d1 bhi.s StepOk move d1,d0 StepOk: move d0,6(a5) MOVE D0,2(A4) rts StepItUp: add d0,2(A4) move 2(A4),d0 move 4(A4),d1 cmp d0,d1 blt.s StepOk move d1,d0 bra.s StepOk NoStep: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #1,d0 beq appreggiato cmp.b #2,d0 beq pitchbend cmp.b #3,d0 beq LedOn cmp.b #4,d0 beq LedOff cmp.b #7,d0 beq.s SetStepUp cmp.b #8,d0 beq.s SetStepDown rts LedOn: bset #1,$bfe001 rts LedOff: bclr #1,U$bfe001 rts SetStepUp: moveq #0,d4 StepFinder: clr (a4) move (A6),2(a4) moveq #0,d2 move.b 3(a6),d2 and #$0f,d2 tst d4 beq.s NoNegIt neg d2 NoNegIt: move d2,(a4) moveq #0,d2 move.b 3(a6),d2 lsr #4,d2 move (a6),d0 lea NoteTable,a0 StepUpFindLoop: move (A0),d1 cmp #-1,d1 beq.s EndStepUpFind cmp d1,d0 beq.s StepUpFound addq #2,a0 bra.s StepUpFindLoop StepUpFound: lsl #1,d2 tst d4 bne.s NoNegStep neg d2 NoNegStep: move (a0,d2.w),d0 move d0,4(A4) rts EndS$)UtepUpFind: move d0,4(A4) rts SetStepDown: st d4 bra.s StepFinder StepControl0: dc.l 0,0 StepControl1: dc.l 0,0 StepControl2: dc.l 0,0 StepControl3: dc.l 0,0 appreggiato: lea ArpeTable,a0 moveq #0,d0 move Timer,d0 subq #1,d0 lsl #2,d0 move.l (A0,d0.l),a0 jmp (A0) Arpe4: lsl.l #1,d0 clr.l d1 move.w 16(a6),d1 lea.l NoteTable,a0 Arpe5: move.w (a0,d0.l),d2 cmp.w (a0),d1 beq.s Arpe6 addq.l #2,a0 bra.s Arpe5 Arpe1: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.׳2s Arpe4 Arpe2: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s Arpe4 Arpe3: move.w 16(a6),d2 Arpe6: move.w d2,6(a5) rts pitchbend: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s pitch2 add.w d0,(a6) move.w (a6),6(a5) rts pitch2: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 tst.b d0 beq.s pitch3 sub.w d0,(a6) move.w (a6),6(a5) pitch3: rts ;-------------------------------------------------------------------- PlaySound: move.l SongPointer(pc),a0 ;Zeiger auf Songص{File add #60,a0 ;Laengentabelle ueberspringen move.l a0,a3 move.l a0,a2 lea 600(A0),a0 ;Zeiger auf BlockDaten add #472,a2 ;zeiger auf Patterntab. add #12,a3 ;zeiger auf Instr.Daten move.l TrackPos(pc),d0 ;Postionzeiger clr.l d1 move.b (a2,d0.l),d1 ;dazugehrige PatternNr. holen moveq #10,d7 lsl.l d7,d1 ;*1024 / lnge eines Pattern add.l PosCounter,d1 ;Offset ins Pattern clr.w DmaCon lea StepControl0,a4 lea $dff0a0,a5 ;Zeiger auf Kanal0 lea ChannelData0(pc),a6 ;Daten fr Kanal0 moveq #3,d7 ;4 Kanle SoundHandleLoop: bsr PlayNote ;aktuelle Note spielen add #8,a4 add.l #$10,a5 ;nchster Kanal add.l #22,a6 ;nchste Daten dbf d7,SoundHandleLoop ;4* move DmaCon(pc),d0 ;DmaBits bset #15,d0 ;Clear or Set Bit setzen move.w d0,$dff096 ;DMA ein! move #300,d0 ;Verzgern (genug fr MC68030) Delay2: dbf d0,Delay2 lea ChannelData3(pc),a6 lea $dff0d0,a5 moveq #3,d7 SetRegsLoop: move.l 10(A6),(a5) ;Adresse move 14(A6ڿa),4(A5) ;lnge NoSetRegs: sub #22,a6 ;nchste Daten sub #$10,a5 ;nchster Kanal dbf d7,SetRegsLoop tst PlayLock beq.s NoEndPattern add.l #16,PosCounter ;PatternPos erhhen cmp.l #1024,PosCounter ;schon Ende ? blt.s NoEndPattern clr.l PosCounter ;PatternPos lschen addq.l #1,TrackPos ;Position erhhen NoAddPos: move.w Anzpat(pc),d0 ;AnzahlPosition move.l TrackPos(pc),d1 ;Aktuelle Pos cmp.w d0,d1 ;Ende? bne.s NoEndPattern ;nein! clr.l TrackPos ;ja/ Sound vŢon vorne NoEndPattern: rts PlayNote: clr.l (A6) tst PlayLock ;Player zugellassen ? beq.s NoGetNote ; move.l (a0,d1.l),(a6) ;Aktuelle Note holen NoGetNote: addq.l #4,d1 ;PattenOffset + 4 clr.l d2 cmp #-3,(A6) ;Ist Note = 'PIC' ? beq NoInstr2 ;wenn ja -> ignorieren move.b 2(a6),d2 ;Instr Nummer holen and.b #$f0,d2 ;ausmaskieren lsr.b #4,d2 ;ins untere Nibble tst.b d2 ;kein Intrument ? beq.L NoInstr2 ;wenn ja -> berspringen clr.l d3 lea.l InstrumentAg/-,+) Zound.ow/Dource des Programms laden in den wir den Song einbauen ; wollen. ; 6.Am Anfang des Programms 'bsr StartSound' einsetzen ; 7.Am Schluss des Programms 'bsr StopSound' einsetzen ; 8.Diesen AbspielSource laden ; 9.Das Label 'Laenge' auf die Laenge des Datenfiles setzen ; 10.Assemblieren ; 11.DatenFile mit 'ri' nach 'datas' laden ; 12.fertig ;------------------------------------------------------------------------ Laenge = 60000 ;Lnge der Sounddaten ;----------------------------阺-------------------------------------------- Beispiel: bsr.s StartSound bsr.s Intro bsr.L StopSound moveq #0,d0 rts ;------------------------------------------------------------------------- Intro: move d0,$dff180 addq #1,d0 btst #6,$bfe001 bne.s Intro rts ;--------------------------------------------------------------------------- ;Ergebis in D0 0=alles Ok. $ff = Timer nicht bekommen StartSound: movem.l d1-d7/a0-a6,-(SP) clr ChipFlag ;Flag fuer Datef!n im Chip move.l 4,a6 ;ExecBase move.l SongPointer(pc),a1 ;Zeiger auf Daten jsr -534(A6) ;TypeOfMem() btst #1,d0 ;Sind Daten im Chip ? bne.s ChipOK ;ja -> st ChipFlag ;Flag fuer AllocMemChip setzen move.l #Laenge,d0 ;wenn Fast Memory -> addq.l #4,d0 moveq #2,d1 ;Chip Speicher jsr -198(a6) ;reservieren moveq #-1,d5 ;Fehlerflag tst.l d0 ;Speicher bekommen ? beq.L EndStart ;wenn nicht -> Ende move.l d0,a1 ;Ziel move.l SongPointer(pc),a0 ;Quelle move0 .l #Laenge,d1 addq.l #4,d1 ;Reserve lsr.l #2,d1 ;divu #4 subq #1,d1 ;fr dbf CopyMem: move.l (a0)+,(A1)+ ;Daten ins ChipMem move (a0),$dff180 dbf d1,CopyMem ;kopieren move.l d0,SongPointer ChipOk: move.l SongPointer(pc),a0 ;Zeiger auf SongDaten add #60,a0 ;Laengentabelle ueberspringen move.b 470(a0),AnzPat+1 ;Laenge des Sounds move 4(A0),DelayValue ;Geschwindigkeit bsr SongLen ;Lnge der Songdaten berechnen add.l d0,a0 ;Zur Adresse der Songstr. add.w #60=#&0,a0 ;Laenge der SongStr. move.l SongPointer(pc),a2 lea Instruments(pc),a1 ;Tabelle auf Samples moveq #14,d7 ;15 Instrumente CalcIns: move.l a0,(A1)+ ;Startadresse des Instr. add.l (a2)+,a0 ;berechnen un speichern dbf d7,CalcIns lea CiaaResource(pc),a1 ;'ciaa.resource' moveq #0,d0 ;Version egal jsr -498(A6) ;OpenResource() move.l d0,CiaaBase ;Resource Base speichern move.l d0,a6 bsr PlayDisable ;Sound DMA abschalten lea Interrupt(pc),a1 ;Sound Interupt Struct⡰ure moveq #0,d0 ;TimerA jsr -6(A6) ;installieren move.l d0,d5 ;ergebnis speichern bsr PlayInit ;Loop Bereich setzen bsr PlayEnable ;Player erlauben bsr InitTimer ;Timer starten moveq #0,d0 ;Ergebnisregister loeschen EndStart: tst.l d5 ;ergebnis von Resource sne d0 ;ergebnis in d0 setzen movem.l (SP)+,d1-d7/a0-a6 rts ;--------------------------------------------------------------------------- StopSound: movem.l d1-d7/a0-a6,-(SP) move.l 4,a6 ;ExecBase Itst ChipFlag ;mussten wir Speicher reservieren ? beq.s NoFreeSong move.l #Laenge,d0 ;Lnge der Daten addq.l #4,d0 ;Reserve move.l SongPointer(pc),a1 ;Zeiger auf Daten jsr -210(a6) ;FreeMem() NoFreeSong: move.l CiaaBase(pc),a6 ;Zeiger auf Ciaa Resource lea Interrupt(pc),a1 ;Zeiger auf Int. Strukture moveq #0,d0 ;Timer A jsr -12(A6) ;Interupt entfernen bsr PlayDisable ;Player sperren moveq #0,d0 ;Alles Ok movem.l (SP)+,d1-d7/a0-a6 rts ;--------------------- ------------------------------------------------------ SongLen: movem.l d1-d7/a0-a6,-(SP) move.l SongPointer,a0 lea 532(A0),a0 move AnzPat(pc),d2 ;wieviel Positions subq #1,d2 ;fr dbf moveq #0,d1 moveq #0,d0 SongLenLoop: move.b (a0)+,d0 ;Patternnummer holen cmp.b d0,d1 ;ist es die hchste ? bhi.s LenHigher ;nein! move.b d0,d1 ;ja LenHigher: dbf d2,SongLenLoop move.l d1,d0 ;Hoechste BlockNummer nach d0 addq #1,d0 ;plus 1 mulu #1024,d0 ;Laenge eines Block ,д movem.l (SP)+,d1-d7/a0-a6 rts ;-------------------------------------------------------------------- Interrupt: dc.l 0 ;letzter Node dc.l 0 ;nchster Node dc.b 2 ;Node Type = Interrupt dc.b 0 ;Prioritt dc.l InterruptName ;Name dc.l 0 ;Zeiger auf Daten dc.l IntCode ;Interrupt Routine ;------------------------------------------------------------------- InitTimer: move.b #%10000001,$bfee01 ;Timer starten lea DelayValue(pc),a1 move.b 1(a1),$bfe401 ;Timer о A low move.b 0(a1),$bfe501 ;Timer A high rts ;-------------------------------------------------------------------- PlayInit: lea Instruments(pc),a0 ;Zeiger auf instr.Tabelle moveq #14,d7 ;15 Instrumente InitLoop: move.l (A0)+,a1 ;Zeiger holen clr.l (A1) ;erstes Longword lschen dbf d7,InitLoop rts ;----------------------------------------------------------------------- PlayEnable: lea $dff000,a0 ;AMIGA move.w #-1,PlayLock ;player zulassen clr $a8(A0) ;Alle 7<HHЭ T)@TB/,TNPO)@XfL 0N]NuHH/ KR//,XNZO HzPHHЬX/NPO/- / /,XNZO BP&lX$KHH* g g g g fR`  m "f2R KRHH*g JR"f "fR`B*```D KRHH*g0 g( g g g g JR` JRBJfSRP`JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUHl/-NPON]NuNU/(-/- /N4PO f& m (  \{HHgHx/- NPO(N]Nu`NU/ $m Re -// NPO$_N]Nu RR- HH`NU/ A$H J/aXOA삶e$_N]NuNUH $mx f pLN]NuJ* gT* g Hx/ aVPO(* HH/NXO* g /*N apC삺E삺f2<&1kt"Q)O0,x)N4H瀀.)gKN`B_NsC Nh)@8f .<N`NPONudos.libraryINuNU/ Hy0,/N PO)@ 0~ 0q?ߌ0! 0?~f>ۿn߿0̃?ߎ^%d3?n|>ۿ7y߿fs?v>7ృ wv߷_^f}۷wϛw0 @30wϟ>gÛ~ߞ߻3 ` ,L`>}wvcv393  w<~ww?f<~wwǎ?߾`><~ww?f<~wwǏ?߿`?a"e, !"#$%&'()*+,-./0123456789:;<=>? abcdefghijklmnopqrstuvwxyz[\]^_HaLNuS9+gNu+R9* 9*fB9*p9*@A"y=NX0<"QNu@ @@!cwxoxoxNx!@ @@wL"3E;S?p[7p[7p[&pB"??@ @@?$$#)`-`-`-`!$?@ @@(    @ @@b1 0p ` ` ` pp@ @@`` ``` @ @@` 0@ @@  H h h h   @ @@?$`-p-|-l-l-L$|?|@ @@DH;];U3>U36U36]2&DB;;@ @@${ؽ{ܥc_c[c[bS!{{@ @@$cc{c{bs!cS@@ @@B(?_?U3~U3vU3v_0fB"??@ @@?!0/-|-l-l/l!$?@ @@xxx x@ @@`  p p p 0p@ @@ ``` @ @@@ @@ x ` ` ` x   @ @@?$|%|-di`-`-`-`$|?|@ @@wLB3E;U;0]30]30]"0DB;;@ @@!cߍsߥ{XkXkXJX!{{ S2and this is a journey into stereo-speeded scroll, S9steW2-S6steW2-S3steW2-S2stereo-speeded scroll.... this release is called : d.o.c soundtracker v2.1 !!! distribution and spreading by dr. mabuse orgasm crackings (d.o.c) !!! this version of the unrelenting d.o.c soundtracker was coded by unknown of d.o.c !!! thanx ev`must of 'coz go to karsten obarski, exterminator of jungle command and tip of tnm for the cool preparation !!! the text for this scroll of 'coz written by doctor mabuse of d.o.c !!!! in a few minutes (if you are not too stupid) you'll notice that this soundtracker is the best one in world !!! you'll get all what you want : analyzer, playroutine, instructions, disk options, pattern play, record, two new commands and an improved tasten-abfrage !!! if you are satisiffpied or if you can't get satisfaction contact us by smashing the following lines on a letter : plk 089114 c / 2300 kiel 1 / west-germany !!! following now : some greetings... who believes that, eh ??? no, i think it's better you throw a look in our demo, there you can perhaps read your name (proud?) !!! are you slow of mind ?? no ? then stay awhile... and now some stories transmitted from daily life... yesterday my (dr. m's) brother married and i gCwas very funny at the end of the marriage (approx. 4 o'clock am).... some guests left the party at about three o'clock in the morning, and two of them had to sleep in my brother's flat... so my brother gave 'em the key for it and told them to hide it on a place before the door... and so they left the party... one hour later we (my brother, his wife, the dj and me) left the party, too... as we arrived at the flat we began to search for the key... and as you may think now"H>@*f-*B@*@A5p*gd*f @ <@Bj`Xp"f-|?AA00j5@ Bj0|BA,=5@"`*g |H5@ 2<g*f-fa`D*%g@%S6M/B.,H5@at%V 5n.5n0 B0.2Ъ %@g*%*$g&@$3 *?g0*lp& 7j7j7R(XQLR,2 , 2fB,2R,/A,/A,>fl/@/ANuNUH0BB,;x`:z "ЁA@0,:c "ЁA@p:RmRp,>eL0N]NuNUH HxHlXN >PO+@Jl2% JgNJgBHxHl;/-N 4O HxHl:/-N O HxHl/@/-N O HxHl>/-N O HxHl=/-N O xHx6r6 N 8A/BЈ//-N O Rmx`Hx A@Ј//-N O Rp,;cx`Hx A@Ј//-N lO Rp,:cHxeHl/-N LO Hz^N&XO/-NXONB,2N4N4B,2`NR,2 ,2eB,2B,2` Hz/-NZO HxHl=/-NFO xHx6r6 NxA/BЈ//-N$O Rmx`Hx A@Ј//-NO Rp,;cx`Hx A@Ј//-NO Rp,:cHxeHl/-NO /-N XOHz$N\XO` Hz%NPXOJl2gN(N]NuSaving done.Could not open File...apCEf2<&kt"Q)O2,x)N2H瀀.)gKN`B_NsC Nh)@2f .<N`NPONudos.libraryINuNU/ Hy0,/NPO)@2fBHyNPO.l2Nu l' c2Bh l21|"l23| l2 ,2P)@2 l2 MANXBNXO$@Jg0/- /-/ NO )|2 l2h l2h `DHj\NXOHj\NXO)@2 l2J$g l2"h$/NzXO/,2/ NlPO)l22N l2 N l2!@gHxHz,NPO l2!@ /,2/,2N:POBNXO$_N]Nu*NUH 0$m m (( D (&@HHЭ T)@2B/,2NPO)@2fL 0N]NuHH/ KR//,2NZO HzPHHЬ2/NPO/- / /,2NZO B2&l2$KHH* g g g g fR`  m "f2R KR(&&HH*g JR"f "fR`B*```D KRHH*g0 g( g g g g JR` JRBJfSR2`JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUJ2g l2N/-NXON]NuNU/+mJ2g,x` /NXOR0,Hm0,//,2N(POJ2g l2NJ2g /,2NXOJ2g /,2NXOJ2g /,2NXO,x.)g/ K N*_`B_NsJ2f*J2g"/,2/,2NPO ,2R//,2NPO`N/,2NXO -.l2Nu(N]NuNUH (-r ND$@2Jm0,HlZ 0 0A<π 0?~ 1; 0; 0 [ˡ03|g 0q 0/? 0 0fπ 0w 0? 3 3 3~g 3 3131 3 1~癟 3\/R38x9 18|93~9ߌ1߿ό0 031 3 1`< 0p~ 0w 0w 0ap? 0`0f 0 0/?O~(m l g l g lg A)H^`:Ad)H^,f l(mA)H^0,|g l(lA샧)H^0, l^r0/NLXOJgHxHxN XO/N%PO0,Hr2, Ё\/t4, 6,H lr208ԁ//,HN%:O Hxp0,Ь^//,HN%O 0,H/2,HR/N PO`Fp0,`0,|g0,H/BN PO`0,H/2,HS/N PO lfV l(lNJlgHp,2r6N"4,HЂA/EJ0f*0,H/p,2r6N"A/FЈ/N!\XO/N fPO`0,|g0,H/r2,/N BPO`0,H/2,HR/N (PO l8f8 l(l0p,2r6N"f4,HЂA/EJ0f0,H/Hx(N PO`(JlfS,2` lfS,20,|gB0,H/N PO`0,HS/2,H/N PO lf2 l(l*0,H/p,2r6N!A/FЈ/N TXO/N ^PO`JlfR,2` lfR,20,|gp0,/2,H/N "PO`0,HR/2,H/N PO lf2 l(l*0,H/p,2r6N!>A/FЈ/NXO/NPO` lgN:Rlp0,9@Jlg 9l9l NJlf0, H/2,H/NvPO`Jp9@H/r9AH/NZPO0,HrNt,2ЂA@|@p2v0/NbXO` HznNXO`^NJlf9l9l ` lf,,2 lg9l9|`9lN0Jlf 0, 9@H/2,9AH/NPO`p9@H/r9AH/NPO`NZ` lf> l(l6,`p,2r6NtЂA/FB0R<(ep,2/NXO`p,2r6NA/vJ0g$p,2r6NtA/vS0t0/NXO` HzkNXO`8p,2r6NBA/vt0d$p,2r6N$A/vR0t0/NnXO` Hz?NXO`l2/@N"`l2>N|`l2/AN` ,=cS,=B,2NL` HzN6XO`ަ ,=d R,=N,` HzNXO`zN `tN`n gSg*5gWgDUg]gSgSgSgSgFSgNSgVSg^Sg|SgSg g2(N]NuUse DEL to exit the Sample Table !Negative presets not allowed, UllieOnly 174 presets available (Sorry)Can't go any faster than this!Can't slow down anymore!NUH JlgHzlNXO`Z(<`z S"ЁA@$&ԃC@( S"ЁAA$&ԃCA( S"ЁAC$&ԃCC( S"ЁAB$Ta&ԃCB(RmfSp,2⸀bVp,>g,2,>bR,>N,/A,2cR,/ANjp0,r2, Ё^/t4, v6, lr208ԁP/6,Ht4, ւ/HxHxBHxNXO/NOp,2/NXOL0N]NuYou've to be in the track-table to insert a stepNUH JlgHzN,XO`pp,2(`z R"ЁA@$&ԃC@( R"ЁAA$&ԃCA( R"ЁAC$&ԃCC( R"ЁAB$&ԃCB(RmfRmX,/A,2cS,/ANW*HJ ,>c,2,>bS,>NZp0,r2, Ё^/t4, v6, lr208ԁP/6,Ht4, ւ/HxHxBHxNjXO/N,O0,H*9lp,2r2,Ё/N:XO9EL0N]NuYou've to be in the track-table to delete a stepNU0,Ar09A0,Ar09A0,Ar09A 0,Ar09A lf AB)H` lf A쀊)H`A)HN]NuNUHxHxanXO/NNPOHxHxxHxHx /,HNOHxHx/,HNO Hx/,HNPO/-NXO//-/,HN(O |bN]NuNUJm g lH]|` lH| ,HN]NuNU/0,Hr2, (؁Hx/,HNPO ^/r2, 4,H lv60(҃^//v6, 4,H"lr21(ց/BNlXO/NO(N]NuNUH (-*- Nn9D9EJllBl`0,Hr2,c9lJllBlJlfhp0,r2, Ё^/t4, v6, lr208ԁP/v6, /BHxBHxNXO/NOp,2/NߨXO` lfxp,2㰼fR,2`dp0,r2, Ё^/t4, v6, lr208ԁP/v6, /BHxBHxNXO/NOp,2/NXOHx/,HNPO0,Hr2, Ё^/t4, 6,H lr208ԁ^/6,Ht4, ւ/v6, 4,H"lr21(ց/BNXO/N`OL0N]NuNU l)h2 l9h l9h/,NXON]NuNU/B/-NXOBmBm/-NXOHxpЭZ//,HNO Hx/,HNPOHxpЭ @HhHxpЭ"@Hi /,HNO` lD"hVp)r/NDXO lD/(VNXO)@gN 2frJmfj l@b l,g A)H^`Ad)H^0,|gA샧)H^0, l^"-RC"HxpЭZ//,HNO Hx/,HNPOHxp0,Ь^/HxNXO/NO `* lDf;|` lAfJgS`;|JmfHx/,HNPOHxpЭ @HhHxpЭ"@Hi /,HN2OB/,HNRPOHxpЭ @HhHxpЭ"@Hi/,HN dԟNO`Bm`hJmgF -A"B0BBNXO/NPOHxpЭ @HhHxpЭ"@Hi/,HNOHxHzNJPOB,b(N]Nu NU f6B m ("m"-MXR (mNN`NǼN,c,/Ag l/AcNפ lD/(VNXO)@gN ,2`vp0,g8p0,r /t4,ļ?/v6,Ƽ/N\O `8J,bgS,bJ,bfHxHz*NRPOB,bN8`gg`@N]Nu NUa$N]Nu9g HaLNp1A5BQ9|59|59|59|6By! ByByByB,2l/@/A,=S@2A 3@A l!<l3Nu3@!vl33Nu(zbR,2,2,=gJlpg0,p|3Blp&|pQzE5a(QNu*g\*f0Rj*f`2*⁂HAB2*A7p(`<0*j"g2R@5@4* "j7B`*g2*j5A7A&7j NuB0*"IHA-HA|@e J@k0<@`B@4NuB,2zE5&|K@B,/A*ga`BB,2ЁC@(1.1 r<?fa``@ r Ibd (N]NuNU/- B,hpApgpApfAf (N]NuNU/8- B,l0Hr Aph0HApi0HApk0HApjAh (N]NuNU/- B,opgHx/,HN:zPO<Jf|-n|-m|-l`X<?f|Ol|Fn|Fm`>Spr N6pAplpr N6\A$pmpr N6Tм0@nAl (N]NuNUH- 0,Hr2, Ё,\HxHxNXO/N9PO/B/,HN9fO Hxp/N^XO//,HN9O z/p0, " lt40Ђ//,HN9O  -/Hxp"ЁA@t0/NXO//,HN9`O /p0, "T lt40Ђ//,HN8O Hxp"ЁAAt0/NXO//,HN9O /p0, "X lt40Ђ//,HN8jO Hxp"ЁABt0/NPXO//,HN8O /p0, "\ lt40Ђ//,HN8O Hxp"ЁACt0/NXO//,HN8RO RmLpN]NuNUH - HxHxN XO/N7POz`|p0, "Ё.\p"҆ЁA@$p/p0, r/ N5 lt40&ւ//,HN7LO Hx r/NXO//, 8d)HN7O Hx/,HN7lPO/p0, r / N5fV lt40&ւ//,HN6O Hx r/NXO//,HN7>O /p0, r / N5X lt40&ւ//,HN6O Hx /NXO//,HN6O /p0, r / N4\ lt40&ւ//,HN6JO Hx r/NXO//,HN6O /p0, r / N4r^ lt40&ւ//,HN5O Hx/ NXO//,HN6PO Rm2Rp0,c"LN]NuNUH - 0,Hr2, Ё\@2HxHxNXO/N5POp,2/B/,HN5nO HxpR/NdXO//,HN5O !e%ap,2/r2, lt4҂//,HN5(O pr6N3xA/FЈ/N1XO@2r/pr6N3VA/FЈ//,HN5ZO p,2/r2, lt4(P҂//,HN4O Hxpr6N3 A/pt40/NXO//,HN5O p,2/r2, lt4(X҂//,HN4jO Hxpr6N2A/nt0/NRXO//,HN4O p,2/r2, lt4(\҂//,HN4O Hxpr6N2`A/rt40/N:XO//,HN4XO p,2/r2, lt4(d҂//,HN3O Hxpr6N2 A/tt40/NXO//,HN4O p,2/r2, lt4(l҂//,HN3hO Hx"Sߛpr6N1A/vt0/NPXO//,HN3O HxHxNXO/N3bPOp,2R/r2, lt4(N҂P/v,2]/v6, t,2"lr21(ց//,HN2OL0N]NuNU/- <Ae<Fbp7(N]Nu<0e<9b p0`pd`NUH $m--Jg` p送L0N]NuNUH $m8-:-0H`<RR`FR0H送R`8R0HခR`*R0Hr 㠁R`d 0;NL0N]NuNU/- 0,HrN.rN.4`0,HrN.$/t/0,HrN-v,2ЃA@Ј/NO `0,H#VrN-/t/0,HrN-v,2ЃAAЈ/NO `0,HrN-/t/0,HrN-hv,2ЃABЈ/NO `X0,HrN-f/t/0,HrN-*v,2ЃACЈ/NHO `,ld 0;N(N]NuNUH0- 0,Hr N,4,HЂv,2ЃA@$@&J<?|0,Hr N,`޸<-fB`l<Og<?f?`ZJgJpSr N,r N./pSr N,A$ 0#ft`t&ւtCr1(ց` pA`vJg`<?gZp`HpSr N,HA$ 0#fpS`2pSr N,&A$ 0-$@YFf <$gR` -g]g`<-fB`0Jg,<?g&pSr N+/p0r N-$ԀR`Hxp// NO `0,Hr N+R4,HЂrN+l/vƼ/T/ NO `zHxp// N|O `^0,Hr N+4,HЂrN+v/vƼ/T/ NBO `$4RR d 0;N0,Hr N*ʰn0,|g0,Hr2, Ё\/t4, 0,Hr N*drN,t lv60ԃ/HxNZXO/N-O Hxp/NXO//,HN.LO Hx/,HN.PO0,H/2,HR/NPO|p%zL pN]NuNU/- 0,H(rN)`&0,H @Hhr/p,2r6N+C/pЉ/N O `0,H @Hhr/p,2r6N+C/nЉ/NO `0,H @Hhr/p,2r6N+^C/rЉ/NO `0,H @Hhr/p,2r6N+,C/tЉ/NtO `p0,H @Hhr/p,2r6N*C/vЉ/NO p,2r6N*A/vt0/N.XO`"00bbd 0;N(N]NuNUH- zp/NjXOp0,`*<dgzp/N0XO`"0,Hr N(l`<Ae<Gc <-g<Ofp/N4XO:` Hz2NXO|`&ai<-g<3fp/NXO:` Hz(NzXO|`V<0e<2c<-fp/NXO:` Hz NJXO|`&<dgzp/NXO`JgTSgSg``V l'l zp,2r6N)4,HЂA/F`<dg l'gp/N^XOz`JgSgSg<df:JEf6 lf0,Hr N':o lf l'f HzZNXO0HLpN]NuType a note from A to G, O or '-'Choose '-' or '#'Type 0,1,2 or '-'Type 0-9 or A-FNUH - z`6pr$N(tЂA@/p,2r6N(rvЃC/F,_Rp/pr$N(NA@Ј/N&XO"d<'h)(e`p,2r6N(&tЂA/FB0R<(cpr$N(Abt40Rp,2r6N'C/r3pr$N'A`t40Rp,2r6N'C/t3p,2r6N'A/n@p,2/NXOL0N]NuNUp0,`0,HrN%rN%V`LHzN XO`RHzN XO`FHzIN XOHxdN'XOHz{N XO`&HzN XO`ܰd 0;N`0,Hr N%`NHzN rXO`THzN fXO`HHzN ZXO`y ߿|U-!K<>~߿㟿w>`gـf͛߳V.VVW/-M䁁σ=>Ѱgg?ÏX03ͻ6<߷ݻw9&2dp LYzhp 2|g`JgSgSgLN]NuOK to Load Sample ?Next time: Think before you act!OK to Load entire Song ?Next time: Don't be such a Cow!OK to Save Songdata ??? Then don't say so!Type Q to Quit, type S to Save first:Bye!Your Music did'nt sound nice anywayBye!Watch your fingers!NUp0,`(Jl2g Bl2N*`J,>f|>N*>9|2`!gN]NuNUHx(HxHxN"XO/N=ZO HxHz2/,HN=O Hxp,/@/N/NXO//,HN=0O N]NuF2: EndTrack=NUHx|σ?~>3?n~ww}g}ݏ?nϻvm}|wnݻo ?gL3 3σ?Xon=౞ݏ?w?g|wߟw9G5ܛg?ɟ 3?3?σ?~>3?n~ww}g?ݏ?nϻvm}|wnݻo9gL3 3H6=g?ݻvl|vᙂdɐ?I7Mg߃?|aߏvlov3&Odɐ?J8g ~ϟcv;w3ϻ۲{w~{~ϛ6?{ϻvߟ0ޙw;~n>d`|=>|fCGFwǟϏ~w?ś?7 0< g~}߳ϟ>߷{g?͇~?>۷{ϛ~|yDH=nݿ{۾{ݻ̙>72< 3 ?3 g߻ σ?gςϟn߻on~|n߻6?ݏ?ϟ=g͟>w|wn|ݻ၂dE3oI37gL 2  ?σ?n?ϟn{Ͽ>ݏ?>o{{ݟ|wv{?>?gLd&s2<8~J;Cursor-keys move cursor. shift + Cursor-keys move cursor fast. alt + Cursor-keys move cursor fastest. F6 - Set cursor to first line of pattern. F7 - Set cursor to 16th line of pattern. F8 - Set cursor to 32th line of pattern. F9 - Set cursor to 48th line of pattern. F10 - Set cursor to last line of pattern. DEL - Delete note under cursor. shift + F3 - Cut track of curKu=rent pattern and copy into copy-puffer. shift + F4 - Copy track of current pattern into copy-puffer. shift + F5 - Copy puffer to track of current pattern. alt + F3 - Cut the whole pattern and copy into copy-buffer. alt + F4 - Copy pattern into copy-puffer. alt + F5 - Copy puffer to current pattern. Special keys: ------------ To quit the D.O.C-SoundTracker II point the mousepointer at 0,0 and press: alt + shift + left and L %right mousebutton together !!!! Sample zero function: --------------------- While edding-ting you're able to set the sample to the value zero (0!). Press all mousebuttons (three at all) at the position of the sample- gadgets (plus,minus = +,-). Now you can edit the pattern with the sample 0 to prevent difficulties according to the volume (Frog's idea) !!! Instruments. ------------ You can use up to fifteen different instruments in one music-piece. All instruments are listed in tMhe preset-list. The volume is allways 64 but you can change it to each value between 0 and 64. To change the other values of each instrument you have to load the preset-editor. With that tool you can change the whole preset-list. TIP improved the preset-editor : some values (Length,Repeat and RepeatLength) have to be entered in hexadecimal !!! Now you can use samples up to $8000 (=32768) bytes !!!! Notes: ------ C#1 3 C 2 3 / / | \|  NmG / / | Arpeggio,portamento,volume,speed,filter and / / Command position info. / Inst# Note to be played. Note: This is simply the note that must be played by that particular ----- instrument. Inst#: This is the number of the instrument that must be used to play ------ the note. When the instrument number is zero, the last selected instrument will be used. Command: O{O This number tells SoundTracker what special functions must be -------- preformed while playing the note. These functions are as follows: 0 - Normal play or arpeggio. 1 - Portamento up. 2 - Portamento down. B - Position jump! C - Set volume. D - Pattern break! E - Set filter on/off F - Set speed. Info: This byte contains the additional information for the commands. ----- Arpeggio: Arpeggio is used for simulating accords. It doe P5@s this by --------- rapidly changing the notes while playing an instrument. Arpeggios are selected whenever the info byte has a non-zero value and no other commands are selected. When arpeggios are used, SoundTracker looks five times during the play of one note, at the information contained in the info byte. Each nibble (4 bits) in this byte defines how many notes SoundTracker must add to the the note currently  Q' playing. In each of the five passes SoundTracker does the following with the information contained in the info byte : 1 - Add the first nibble to the current note. 2 - Add the second nibble to the current note. 3 - Play the current note. 4 - Add the first nibble to the current note. 5 - Add the second nibble to the current note. Portamento: Portamento is used for 'sliding' of the instrument. ------ Rۤ----- If portamento is in use, the information contained in the info byte will be added to (or subtracted from) the period of the note playing in each of the five passes. Example: D#2 3208 Slides down $08 --- 0208 Slides down $08 --- 0108 Slides up $08 --- 0210 Slides down $10 (=16) etc. Position jump: -------------- The position jump command will do the same like the pattern break Sr command, but the info byte gives the playroutine the no. of the position. Example: E-2 3B04 - Break the pattern and jump to position 4 --- 0000 --- 0B06 - Break the pattern and jump to position 6 Volume: One of the enhancements that the V2.0 version provides is the ------- ability to change the volume at any time during play. When command $0C (=12) is selected, the volume is set to the value contained in the info byte. The vol>Dume will remain at this level until a next SAMPLE is played. At this time, the volume is reset to the default volume level of that sample. Example: C#1 1C22 - Set volume to $22 (=34) and use instrument # 1 to play the C#1 note. D-2 0000 - Use instrument # 1 to play the D-2 note. (Volume level remains at $22 (=34)) B-1 1000 - Use instrument # 1 to play the B-1 note and set volume to defaulAER6=3ߟw|,o=#~ws7xߛϏwwn>g>p&L7ρ309 0  ౟?V$1,mt_partpoint clr.w mt_dmacon lea $dff0a0,a5 lea mt_aud1temp(pc),a6 bsr mt_playit lea $dff0b0,a5 lea mt_aud2temp(pc),a6 bsr mt_playit lea $dff0c0,a5 lea mt_aud3temp(pc),a6 bsr mt_playit lea $dff0d0,a5 lea mt_aud4temp(pc),a6 bsr mt_playit move.w #$01f4,d0 mt_rls: dbf d0,mt_rls move.w #$8000,d0 or.w mt_dmacon,d0 move.w d0,$dff096 lea mt_aud4temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice3 move.l 10(a6),$dff0d0 move.w #1,$dff0d4 mt_voice3: lea mt_aud3temp(pc),a6 cWWKBmp.w #1,14(a6) bne.s mt_voice2 move.l 10(a6),$dff0c0 move.w #1,$dff0c4 mt_voice2: lea mt_aud2temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice1 move.l 10(a6),$dff0b0 move.w #1,$dff0b4 mt_voice1: lea mt_aud1temp(pc),a6 cmp.w #1,14(a6) bne.s mt_voice0 move.l 10(a6),$dff0a0 move.w #1,$dff0a4 mt_voice0: move.l mt_partnote,d0 add.l #$10,d0 move.l d0,mt_partnote cmp.l #$400,d0 bne.s mt_stop mt_higher: clr.l mt_partnote addq.l #1,mt_partnrplay moveq #$00,d0 move.w mt_maxpart, Xw=d0 move.l mt_partnrplay,d1 cmp.l d0,d1 bne.s mt_stop clr.l mt_partnrplay mt_stop:tst.w mt_status beq.s mt_stop2 clr.w mt_status bra.s mt_higher mt_stop2: rts mt_playit: move.l (a0,d1),(a6) addq.l #4,d1 moveq #$00,d2 move.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 tst.b d2 beq.s mt_nosamplechange moveq #$00,d3 lea mt_samples(pc),a1 move.l d2,d4 asl.l #2,d2 mulu #$1e,d4 move.l (a1,d2),4(a6) move.w (a3,d4),8(a6) move.w 2(a3,d4),18(a6) move.w 4(a3,d4),d3 tst.w d3  Ygbeq.s mt_displace move.l 4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) bra.s mt_nosamplechange mt_displace: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) mt_nosamplechange: tst.w (a6) beq.s mt_retrout move.w (a6),16(a6) move.w 20(a6),$dff096 move.l 4(a6),(a5) move.w 8(a6),4(a5) move.w (a6),6(a5) move.w 20(a6),d0 or.w d0,mt_dmacon mt_retrout: tst. Zew (a6) beq.s mt_nonewper move.w (a6),22(a6) mt_nonewper: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #11,d0 beq.s mt_posjmp cmp.b #12,d0 beq.s mt_setvol cmp.b #13,d0 beq.s mt_break cmp.b #14,d0 beq.s mt_setfil cmp.b #15,d0 beq.s mt_setspeed rts mt_posjmp: not.w mt_status moveq #$00,d0 move.b 3(a6),d0 subq.b #$01,d0 move.l d0,mt_partnrplay rts mt_setvol: move.b 3(a6),8(a5) rts mt_break: not.w mt_status rts mt_setfil: moveq #$00,d0 move.b 3(a6),d0 and.b #$01,d0 [ _ rol.b #$01,d0 and.b #$fd,$bfe001 or.b d0,$bfe001 rts mt_setspeed: move.b 3(a6),d0 and.b #$0f,d0 beq.s mt_back clr.l mt_counter move.b d0,mt_cool+5 mt_back:rts mt_aud1temp: blk.w 10,0 dc.w $0001 blk.w 2,0 mt_aud2temp: blk.w 10,0 dc.w $0002 blk.w 2,0 mt_aud3temp: blk.w 10,0 dc.w $0004 blk.w 2,0 mt_aud4temp: blk.w 10,0 dc.w $0008 blk.w 2,0 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_partpoint: dc.l 0 mt_samples:dc.l 0 mt_sample1:blk.l 15,0 mt_ b`maxpart:dc.w $0000 mt_dmacon:dc.w $0000 mt_status:dc.w $0000 mt_arpeggio: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 mt_data:blk.b 0,0  rts mt_setvol: move.b 3(a6),8(a5) rts mt_break: not.w mt_status rts mt_setfil: moveq #$00,d0 move.b 3(a6),d0 and.b #$01,d0]1޽ Improved record function Extended keymap (Sonix style) Pattern play function Delete Song function in the dos menu Improved ANALYZER Pattern changing during play Pattern break command !!!! (geil) Position jump command !!!! (geiol) Sample zero function New playroutine for use in demos/intros/games Improved graphics (colors,styling,fon^Dt) Nice scrolling Animated mousepointer Patterns. --------- Any piece of music written with SoundTracker II is build up from patterns. SoundTracker holds a table with information about the sequence in which these parts must be played. With 'Position' you determine your position in the table. With 'Pattern' you define what pattern to play at that position. 'Length' defines the total size of the table. The Keys. --------- The original (V1.8) version oI>/f the SoundTracker had a German keymap. Version II supports a standard USA keymap and this ensures compatibility with ALL Amigas. The keyboard has been extended, try typing on the whole key-rows. The keys on your Amiga have been grouped to represent the layout of a two-octave piano-keyboard. You can "shift" the keyboard one octave up or down with the aid of the F1 and F2 keys, thus incrementing the range of the keyboard to three octaves. While editing: -------------- m`ڲ53"#0 1!23#4$5%6FX(\:}hS@. c-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 --- }hS@. xqc-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- X(\:}hS@. xqc-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#mach2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- @ 53"#$%&'(76!421  `` 9:`++`9``:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596mb,9798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff "#$% abcdefghijklmnopqrstuvwxyz0123456789().-'#:/`nf|f|lf>`<|~ffff`|f<~ |0008 8<0`(|mcC(|( 0`~ ?  , x8pH p <00@ , y'rdO&s>dOɓ , x30rd`s 0|0p , y>Nrds>Lϓ3O , y`s sd0< ?  md w ?  , p  fd  , s&s>dOd&2d>dI , p`s  0 dd  , ss>L |9 3 d , ssd |9 3 ??   ?m e(&  , < L 0χ   , <9?2d>dI , <992φd  , <99 2dd ,  y <3 d ??   ?  , A Ær ?m!fa@ , ̟>g>d 2g2"d , gd g  , O>g>d 2g2R| , ρ 22r|??  ? .~  @ . ~9a~d ?>9` .  1@@~ 8` x?`` ? . rm"g\Wz-DeR\ ~|' f#` @ ǂ>c? 8}w . 88}ga2 .̙gm#hzz .̙g .L"g .p >|9?2<|?? @  x< D1 %"#xdž<0~L$&DG8@013<CC8p>0s0y$2Abq 88xas0r8s8| !<0L < `|p<?? G078 Ɏp~?? .m$io@~fN@ Ɏp~?|p?? ."B  ~dDO Ȏx~?!|2  . 10~d@Ap ̎x~0|3da6 a.a*#/d#&/`N&B&By/NuA0BAHANuNuA/B( |4#/`#/dN&A/B( |4#/`#/dN&By/NuB/\&9/d y/`/\/~BB9/~A6"g `A6P"y/@"9/D$<(QR/\R/D/\g`NuA-AZBdBYAdB@}@dB@01BNu <"<,yN:#mqV' < y' ?Q <P"<,yN:#' <O |0"y'Q <P"<,yN:#' <O |1"y'Q <P"<,yN:#' <O |1B"y'Q#'/ #'/$#/(#'/,A/0"9' < QA/ C[$<3XXQNu,y"|N,@-|NuN,y+*"9/$<N#) f NNu"9) $9/&9/N"9) NB) NrNuN,y+*"9/$<N#) f NNu"9) $9/&9/mrN"9) NB) NrNu <"<,yN:#),y+*"9/$/a#/,D 9/€"H@ @gNu3,L 9,D"<,yN:#,H#/a|Nust-00:,_v,_w#_`^\,y+*"<,$"xp `@@@@@@@@@@@  mv[ 29/ Ёd#/DN&3/T/R/DN&N @ y/f By/Nu y/f*|I03/`p y /f*|I03/`L y/f*|I0r3/`( y/f*|I0Z3/`NuM/3/*".;V0. @g n*;n;y/;nB0.H9@ <Q <y/3n*;nBy/By/Nust-00:modules/mod. y/ fNuB/Pa NBy/#_^\By^X 9Ag 9yg(`mwm^#`^\#^XNBy/Nu#_2^\B^XN-N- y/C <Q#/N* y/BBBBy/0R @n49/Bo3/`B09/RX#/#/#//N*f <A/C0#/#/#/ /gHN*fLQ#_^\#^XNrBy/Nu 9cg 9ag 9gg 9egLBy Nu y gRy y jNuBy 3 y/y?/NNu y gRy y jNuBy 3mxP y/y?/NNu y gRy y jNuBy 3 Ry/ y/k 3/`J y gRy y jNuBy 3 Sy/ y/j 3/`B09/A60@ 2<$< y'N'Nu09/29/$< y'N'Nuaa\aV y/g&BR @g9gBy/`3/9gBy/By/`3//3// yz/j yn/j yc/j y/j( y/j\ y/j yt/jNu y,/kNu y!/j y/my"_j y /j y/jNu y,/kNu y!/jB y/jj y /jZ y/jNu3/ yX/j yM/j yB/j y7/j z y,/j y!/j ( y/j V y /j y/j 6NuBy/ yX/jt yM/jj yB/j` y7/j  y,/j ~ y!/j y/j y /j D y/j NuBy/By/NBy/3 /3/N (#y/Da B|a3/3/N (ap9?|3/3/N (B/#m zH|/hN"N Nr edit/Pfa| /pga6Nu y/g y /n y /fBy/B9/By/Nu0&BAHA#/d#&/`N&B&By/NuNuK3By/N%"N$ y/g yA/gp yD/g29/BugT \n`"9/f`A6"RPy/N (N%"N$By/`| yl/f`lBSy/N (By/N%"N$`D3/3/N (NuNB/P,y/BB6R f3l/3l/N (#//m {)'G~NB/NrNuB/PaNBy/ y/g y(/g$By/N#`^\#^XNuNBy/B09/A/"0 g 0<"A,yN.B09/ y/ B0#/‘#/M, (-g #pahha 9/"<,yN:#/A/29/!/!/ y//l ?k?N$|NNNNu y//l jN$|NNNNu y/g>/l /lk #/lN$|NNNNu/l /lj #/lN$|NNNNu <@QNuH y/0W /pgX patt/pg #//lRy/ y/f By/`M0Z .g*|aFM0r .g*|a0M0 .g*|aM0 .g*|a`. g mj۷gtNu y/g* y/g* y/g, y/g y/g NuB.`B.`4.`HB2.A240PgT`;BNuB. gV;VNuB. gV;VNu y/&H $HX song/pg "9/h`B 9/2ҹ/#/By0X*|M0Za*|M0ra*|M0a*|M0aa2 patt/pf edit/Pga/ /f@B/ song/pf,R//B090V"9/ʲfB/LNu,XB. gRC/(-q(=sH=s(>8q"sourcesxp 8+[ZYXWVUBreplay.S5ze fxplayer.sKn`**************************************************************************** * * * * * Sound Abspiel Routine zu Sound FX * * * * 1988 LINEL Switzerland * * * * * * * **************************************************************************** ;Einbau: ; 1.Sound FX laden ; 2.Song schreiben oder einladen ; 3.Sounddaten mit Save Datas abspeichern ; 4.Sound FXverlassen und Seka laden ; 5.S;tP@- M&UG@@&d7{dP *Q@$ 0 8'" 0|@-@ ` <>I0  /  "@U@/   d (@L;Jo#H*_I@ @   0Pj`@$ P * P B4T@@!  { QPPdzМl4   6@@@"  ]@@%  ) P^P@@ CtqZ@@+ WH  t,?L  fK :a hl<o\@%@  0X@@& 0 W H D 3Q( ` px4` 1<$`3DX|AÌk=KÌ([@ @   l$a cLZS@$ CR@ CLo4H@.@  ,0 `.`L/̿ A@, 8|AC@@,` 0 XlN7?R@/ @ `8`h ,U@%@   IXmTA+ML&  x|BL6ΐ  &C@!Cls=>\E]@@%  m@% @'B g].  dJ+} @ 0  @O8,8~ &pD1 !N(]@ @  A_@,  4FkNT@' qtT9˰ Ag?HFB\gH.Z@/@ AP@*` @hS0@[@&B=Q@@' pD , P,h p, * XG @ @  X^`@, 0& r 8b-\l |`X"- X"'0 P >YY E$KDZQKE D>0DO@-@ d=QOL@,   `@O@-  < @!b%R@@. 1bP]@-  ؘ^@@, 0+@`Z@@@'BSq`|R @(@ R@@+ kK$DzK%#H $BTK$C  Jv %P@'@  HT:7`@A%v&3J|,A%R@, G@% \C@(  h ~`h[@m?/NBy/Nu 9`/gNu y/f | `F y /f |`0 y/f |` y/f |`Nu/X 9/h y`R/g y`S/g4 y`T/gLNuBB fBy/N"NuC. B" fBy/NuC. B! fBy/N"Nu yP/g yQ/g Nu#1/t#1/xBy/Nu#2>/t#2p/xBy/Nu09/Y29/$< y'N'Nu edit/PgNuA1VBB09/XgR g`Nu y/f$<m`3/II` y/f$<3/I` y/f$<3/I` y/f$<3/`~ y/f$<3/II`\ y/f$<3/I`< y/f$<3/I` y /f$<3/` y /f$<3 /II` y /f$<3 /I` y /f$<3 /I` y/f$<3 /`~ y/f$<3/II`\ y/f$<3/I`< y/f$<3/I` y/f$<3mu]/ y/X 9/hB09//PP3/B09/29/ Ёh#/DN&N @By/Nu y/fNu y`"/g%" y`4/f#_2^\#^XBy/Nu y`7/g y/g6 y/g* y /g y/g edit/PgNuBA1v9/B(pgT 2fNuB"y/t613/ /Pg y/X 9/hB09/09/0 y/gB09/((`h3/T y/0y/ y/x#/`#/dB09/1lQm+3rcopperplayroutine.Sz_***************************************** ***************************************** ** ** ** SoundTrackerV4.1 Copper Playroutine ** ** ** ** Coding : The Invisible Power ** ** ** ** The New Masters ** ** ** ** Based on the V4.0 of DOC ** ** ** ***************************************** **************8dbNMba`_^]\[ZYXmTNM.sX7v****************************************** * Master Soundtracker V1.0 replayroutine * * based on V9.0 of DOC ******************* ****************************************** * Improved by TIP of The New Masters in JULY 1988 * start: bsr.s start_muzak main: btst #6,$bfe001 bne.s main bsr.L stop_muzak moveq #0,d0 rts start_muzak: move.l #data,muzakoffset ;** get offset init0: move.l muzakoffset,a0 ;** get highest used pattern add.l #472,a0 move.l #$80,d0 clr.l d1 init1: mo; ----------------------------------------------------- ; ------- D.O.C SoundTracker V2.0 - playroutine ------- ; ----------------------------------------------------- ; ---- Improved and omptimized by Unknown of D.O.C ---- ; --------- Based on the playroutine from TJC --------- ; ----------------------------------------------------- mt_init:lea mt_data(pc),a0 add.l #$01d8,a0 move.l #$0080,d0 moveq #$00,d1 mt_init1: move.l d1,d2 subq.w #1,d0 mt_init2: move.b (a0)+,d1 cmp.b d2ķ,d1 bgt.s mt_init1 dbf d0,mt_init2 addq.b #1,d2 mt_init3: lea mt_data(pc),a0 lea mt_sample1(pc),a1 asl.l #$08,d2 asl.l #$02,d2 add.l #$0258,d2 add.l a0,d2 moveq #$0e,d0 mt_init4: move.l d2,(a1)+ moveq #$00,d1 move.w 42(a0),d1 asl.l #1,d1 add.l d1,d2 add.l #$1e,a0 dbf d0,mt_init4 lea mt_sample1(pc),a0 moveq #$00,d0 mt_clear: move.l (a0,d0),a1 clr.l (a1) addq.l #4,d0 cmp.l #$3c,d0 bne.s mt_clear clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 clr~.l mt_partnrplay clr.l mt_partnote clr.l mt_partpoint move.b mt_data+$1d6,mt_maxpart+1 rts mt_end: clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 move.w #$000f,$dff096 rts mt_music: addq.l #1,mt_counter mt_cool:cmp.l #6,mt_counter bne.s mt_notsix clr.l mt_counter bra mt_rout2 mt_notsix: lea mt_aud1temp(pc),a6 tst.b 3(a6) beq.s mt_arp1 lea $dff0a0,a5 bsr.s mt_arprout mt_arp1:lea mt_aud2temp(pc),a6 tst.b 3(a6) beq.s mt_arp2 lea $dff0b0,a5 bsr.s mt_a) rprout mt_arp2:lea mt_aud3temp(pc),a6 tst.b 3(a6) beq.s mt_arp3 lea $dff0c0,a5 bsr.s mt_arprout mt_arp3:lea mt_aud4temp(pc),a6 tst.b 3(a6) beq.s mt_arp4 lea $dff0d0,a5 bra.s mt_arprout mt_arp4:rts mt_arprout: move.b 2(a6),d0 and.b #$0f,d0 tst.b d0 beq.s mt_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn rts mt_portup: moveq #$00,d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: move.w 22(a6),6(a5) rTts mt_portdwn: moveq #$00,d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mt_ok2 move.w #$358,22(a6) mt_ok2: move.w 22(a6),6(a5) rts mt_arpegrt: cmp.l #1,mt_counter beq.s mt_loop2 cmp.l #2,mt_counter beq.s mt_loop3 cmp.l #3,mt_counter beq.s mt_loop4 cmp.l #4,mt_counter beq.s mt_loop2 cmp.l #5,mt_counter beq.s mt_loop3 rts mt_loop2: moveq #$00,d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: moveq #$00,d0 move.b 3(a6),d0 and.b #$0f,d0 braUWL.s mt_cont mt_loop4: move.w 16(a6),d2 bra.s mt_endpart mt_cont: asl.w #1,d0 moveq #$00,d1 move.w 16(a6),d1 lea mt_arpeggio(pc),a0 mt_loop5: move.w (a0,d0),d2 cmp.w (a0),d1 beq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w d2,6(a5) rts mt_rout2: lea mt_data(pc),a0 move.l a0,a3 add.l #$0c,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay,d0 moveq #$00,d1 move.b (a2,d0),d1 asl.l #$08,d1 asl.l #$02,d1 add.l mt_partnote,d1 move.l d:; F@@@$cG (@`Qd(  X$C`Hq`@#BHMA'@`" @x4 @ A #4T lAv"L D"P ` pJuY@. @$C(ExR  `HeHP¨7 P^0Pz[@' QNL@@) P p%^AQ0XM @`^Q@@"BO @>"@r+ď`@@@, Pvg$@EH$EYFHC$ H~X)$#H X2LAiR@%   &Hp 07˃8˃9˃:ra;o<˃=˃9uB@+`  0 BHtNH@@%BPkP`G U>"hF@/ Ah& BL(Z`@$ `@( !j@Y@* `@& aX|A`p+0 @&C! M@)  zCa^@TO@,@   #Dn `@/ 0 X a(M@%  (FW@$  ,DzCZ@( p x' ?  DM@@*` @(  PXZU@.  ht4 p 0 Xl7`J@+ >?4@T;.b=3c}o=>7~owwg7xw|wn7>g>p&Lϙ9 0< 4|ֈ!|3_ ~ٰ~6o`w`;9߿?wϸ9`ٳ<>g~ p`ɓ0 8O 3vv3@*Tl]-m \Ƭ`eI`dF@L i;s!(#ҦE6vb 8 #L2< #,2: #l2> #29 #24 #22 #26%>r BSCv4I%Ks kAE8Hڹ؛P^EЄdal2 N5 S ؛U,mMt` 6Ά.Nf".vʦnv( Ȁ &  cr0  z0, `@v0( Py .R``u * `} $2`s F`dE03#07#00P #04P#xX6Z2 SaveName:Ra&M NN28Load LData&M~NNSave Data'INFOx-P-0?`@` ` h|&>0>f?0kF|@kL80sAxb*` @ @11` 11:@0@@   0 c 8x|`0~0  A `3X0 c  @`7px)A-?`@` ` h|&>0>f?0kF|@kL80s LcYαc@ 9c2c c b|c    0 0a>xncTA` @ @11` 11:@ `  b  d @  8q @ 0@@   0 cxe 8x|`0~0  A `3X0 c  @`7p0 gX  ߀b30k   d#0 1 8|0  A"g"XfNNuR0intuition.librarydos.library # & ldD.*6,$ x 4n]rh`XFA` @ @11` 11:@ `  b  d @  8q @ 0@@   0 c67s:  df0:Samples!df1:   /\??c99~3fa < f7 ~` ` a q3<cy<3<|yo;?gy?~0;?~w;cÀ9?;c}q;w0?x;?c9w;t}/HNs+x Єq+xЄr+xЄs+xЄt+xЄu+x$Єv+x(Єw+x,Єx!z !{!|!}!~!$!p(!q,A Nu!q !r!s!t!u!v$!w(!x,NuNU -yAt/0 msNXON]NuNU/(-+DЂsN$(N]Nu _exep _old3 _old4 _old5 _old6 _old7 _old9 _olda _oldb $_TrapNohandler3handler4handler5handler6handler7handler90it+handlera$handlerb_FreeGurus (_usercode_Message._CatchGurusb_GetExeptions.begin (z+|Іy``(z+|Іy`R(z+|Іy`D(z+|Іy`6(z+|Іy`((z+| Іy`(z+| Іy` (z+| Іy/ <#Q A:cB,zE>&|KB,BB,ЁC&(1 rg@ r@*f-*B@*@A5p*g @ <@*g |H5@ 2<gS6M.,H5@B0*"IHA-HA|@e0<@4Jg.*f-%V 5n.5n0 B0.2Ъ %@3& 7j7j7R *dl0*l&XQR, , fB,R,,²,flÃ)yxNuNUH0Bp,:r6NAJ0f +|`&Hx/-N PO(Jg/NXO,Hxp,:r69 -!`1h2@@ ZATBSC @D A#;c  [0 p execute loader ;c  [0 p EXECUTE NFL 2 6;c  [0 p SETMAP TJCMAP "SOUNDTRACKER V2.0" ;c HIFI ;c  [0 p ST3 ;c [0 p  2  ;c  [0 p ST-4-BY-AFL ;c [u(NhAЈ/NPO*JgHm/NPOJgzp,:A삺$pp,:A&pHx/-xNPOr,:A삺!gp,:A삺/p,:r6NC$#(p,:A!xHxp,:r6NAЈ/N:PO.Jglp,:A/0r,:C삺/1/N*O g / / NPO/NXO+|r -xN 0?p,:r6NBA41`PHzNXOp,:A/0r,:C삺/1N8POp,:A삺!p,:A!`HzN\XOp,:A삺!` HzN@XO/NxXO`$HzN,XOp,:r6NAЈ/NXO/NXO/N0Df~}a3|fc`>f7` o<?f/ٞ~y7?~0?w?{9~9?w97|7ٌ<̀ǁπ<3f͙l1Z#?~0;~9;绎w;w0;;>?7|fl3<?~h@?~0=|ـ>g9x;w0ǟ<9w~~߀9s20`|?`c6`9>a<3f͙l?~0;~9;绎;w0;;>?`|fl33<3_?ww ?~f}6os S0p ppp p0pp p 0  s     ``  ` s  ` directory printing (right mouse button). 2. Longer songnames will be printed and cleared in full length. - SOME INSTRUMENTS HAD BEEN CHANGED AND SOME HAD BEEN REPLACED FOR OTHER INSTRUMENTS (done by K. OBARSKI) - CAUSE OF DISK-SPACE ON SECOND INSTRUMENT DISK UNKNOWN COPIED SOME INSTRUMENTS FROM HIS MUSIC-RIPPS TO IT. THE MAIDEN VERSION CONTAINS 216 INSTRUMENTS AT ALL. THE NEW VERSION CONTAINS 234 (OR 243 ?) INSTRUMENTS !!! - THIS SOUNDTRACKER-VERSION CONTAINS THREE DISK8S AT ALL! (ONE SONG DISK,TWO INSTRUMENT DISKS) - HINT : ALLWAYS SET THE SPEED ON THE UPPERHALF OF THE SCREEN TO '120'. DO NOT CHANGE THE SPEED VALUE, COZ THE ROUTINE WORKS IN THE TIMER-INTERRUPT, AND IF YOU SET ANOTHER SPEED VALUE, THE INTERRUPT WILL SPEED UP OR SLOW DOWN AND THAT'S NOT VERY USEFUL FOR DEMOS/INTROS/GAMES... THE ORIGINAL SPEED IS '120' AND THAT'S ONCE EVERY VERTICAL-BLANK. THE OTHER SPEED VALUE (EFFECT $0F) CAN BE USED AT ANY TIME WITHOUT ANY INFLCRUENCE TO ANY INTERRUPT. - HINT : DO NOT PRESS RESET WHILE COMPOSING - OTHERWISE THE MUZAKDATAS ARE LOST (HAHA) - HINT : CONTACT D.O.C !! (But not, if 'ya are a LOOOOOOOOOSER !!!!?) - ATTENTION : I (DR.MABUSE) just noticed that the our intro sometimes (only on the A-500) hangs up... A-1000 users will have no problems... Have joy, have fun, have seasons in the sun... ----------------------------------------------------------------------------  CONTAINS THREE DISKs    s  s;bsqdp0  s    Ñ#M 3)pO0( (p@( ɠ4;|8`)'30Pp`F`$!0 @0)E(+O|F 00P=  t AQAp0R!*ha`oϵp{`sp|`6$(s(0 P/$$/B3" b)@(^0g_`0' P19 󓜂 m:cYsC~~NÔ Bڻ4 Pks6/u(L PPhh)#OQAP>Pk}\zV}o{ud>=@k }8h<{lPa`o/x ( CPv xU |b@|( )!DpAG yQ q(,HNpOp_8 )D(@@(gOaP q C `rfs? ? _ 0=$P?b<-PXH(g(:K`sa? ⅽQWڭu$, .k!w(S0h|(, h6 kE 1&vE]kk`}oE]@@x"MHZ(b?L68 (Ch} =@ *$ ,* Cf R1őM.J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`* Cf R1J`9:*  s(6@C~ @ ! Y0ʬAQ6p4DD!@p`$K8@ MP`1@AG`ȣHrdp$zo `R H d (ja*A2AHx <A!CH`(3` * A  " b1C#C3j80,Ph @`P2z/ 0xW…p13@ @`Q@'p0BP?  @ n @%K"S.@ (*|(p `S X xP4 H & !xP60%A@"HX`Q ' C0 !HP0`&@x0@H0P|  <A@@!B*@@ *TO@,@   <0  H 0`}F> @!  $r\@#` @w`]@/   XF@@/ P !FD H@+` a 'CAhh @* @ r fW@' P h= {_R@/ @ >F@@, ,, HQ p,@I &[ApH@* @ 4<" p  .7 ?& `HTG@/  Pl @R"X<85GV@%  px dZ] n>@hQ@&`6(PlNT@@! (T= \l@#C`и@^A8 ! .@L@"p+K@.  B@#B ]@!@  0IA@@"  f(U+' : 0p13@ @`Q@'p0BP?  @ n @%K"S.@ (*|(p `S X xP4 H & !xP60%A@"HX`Q ' C0 !HP0`&@x0@H0P|  <A@@!B*@@ *TO@,@   <0  H 0`}F> @!  $r\@#` @w`]@/   XF@@/ P !FD H@+` a 'CAhh @* @ r fW@' P hs P PP Psqs  @ s1 p p 0pp0pPs šPP PPbs  ` ``,/fcy|0 f}߿矾wgy~ wߙÞ?c wy߹~ß?c}~ w=?ùßc9p ?y ٳa0~` |0߀`  `  a q 0~`cy> f矾8pg-&by 8xc<9 ߹~8|c}9 ~?~pc98 yf|c0a>y 3y0`  `  a q >|cy~ ϟ矎?~gy ߀?cxp.(4y ߹~? ?~{c}|p ?8wc9~ y3~a?|` fo0`  ` a q<cyxپ~of8?gy??w||c9;~w~<c}9;~pzQ  C3zDfC20tQ xe2h0(`0x 4 2P8` h(l:: ^iXs" dPSDx7Pt6D`Y@2%A0b,  c 61P010-Ȅ7~iJD҈ TX*u2 r@3  l@2P x_ kPYGB@ 8 D41D@@ f;'f 1 4'ƛA`pA'Lr ʺC40hq-P1Z* <LT}'9@ @@@:@<@8@?#p-Y;-d<_a(pŻB4"O sruF0#O 2Breqd XI) P\1`pp`p02P06`01@05 B0< "0: b0> 09 R04`BpP;h_`P1hEo*P2hOjP0hC0*p.\``u* e, B=@`s(b`".@(-Կ@((4 DK" Ѐ Ȁ &  cr0  z0, `@v0( Py .R``u * `} $2`s F`dE03#07#00P #04P#ps; ^".(@(,@(,@(̬(plư UkdN h `i"(AlV(cl"vR(P"NB(r'  {a# Рa ap h".@(ֱ@(/@()({Fp egwp p p h0"@ZBU(\Bu(BX(`" w~wp ~p@:] zN r,΁ l AU. dJ0* `i`k( < !@p6s0?mQ `~f xH_t BBA 0XC$,, (@$@@Ù1@lpSfA6IPc$1`$  BJ!A%(dH`_N脘Dܪ̾:}g%0 B 8 AL?0:fࠡ HȠ@)@D@bR 0˼3?5#?D*A@ K! k  k P A1@_p @H@%f(:  p.& `wРW(# m Fʻ 2p=@ c0a0`# @L \3 Ј.@(?($@( ֙bJ0ňr@ @՘TB 0?B@Bd!G0 CCv  *Lp!4<pvq1?π>)" A 1A88CWaJDNeD 0e] <"N39@%!x;Rw@c 0c< aSz0y@ 8TG#:8 DC$.@G d`@494P >w}Jq *?=s8v:Chx!@ D@B IHA !CE*g3B08pPr #@0` B(<8`0 态@Qa0ШX 0 l?Hc$4   גEr@Fg@0Cl  P @p^DhD p@" J !H >w ,hw3AH RAUOK*8p$3t1 Dn Lpg@1<<;Fd`h3jCa)00G>D=)`9!O)pRa38G6>π<>>o``>6`0``cπ>6>f0<c<c؀666f0ٌ6ac6؁oc6>6>ُ>o>πoc66ُs^djt*2Px8@T|Xf\+VNote: This SoundTracker is based on the MasterSoundTracker V1.0 by TIP/TNM D.O.C-SoundTracker II - A Quick Clarification. ---------------------------------------------- Update : August-1988. Update done by : UNKNOWN of DOCTOR MABUSE ORGASM CRACKINGS (D.O.C) INSTRUCTIONS : DOCTOR MABUSE and UNKNOWN of D.O.C / Based on J.C.-Instruct. ----------------------------------------------------------------------------- Modifications by D.O.C: ----------------------- ݌%"c 8 P| !E(0Y0?Іbu@0>IT'h π(;Q/'$ sv؁  /#Ŀ%Q  X5RA;d4CD2e O0fDP`(g `(@*PFL`0`C JL`&00Ap %b !"CPQ/rLX (COAAҤBҢ ;@JRB(Q@@ eU)0|xsP,80FPt| 2! &+'] @ M@.  tA[@*Q<A@( p 8\@*03 rDjV2(\h @@@ @8<AR/ AZp@’!&t6FNNC0PVbdhHf```/< 1bd\EL h`(PH: B" h<@BAtP nAʁ6%D5 )t0 @`;Q@ِ)4P2@0- sN!@`j(Qa/:bruʸZY[X:9;8zyx2130rpRQӒsS@Z0}`  `````` `  `2(HAOd'ȯ?@ W!G3@$' &$bI$CsSRQPONMLKJI^]\)Q track.docIIVt    0 : @ R j p v j 4 PV\:DNXb$,4<DLTZx (8@R\fltzB<`"6yoi PX^p   . 4 : > D J P \ j r z !~!!!"""0"\"h"n"t"|"""""#Z#l#~#######$ $$,$6$<$H$L$V$h$p$v$|$$$$$$$%% %%% %(%.%@%R%X%^%h%l%r%|%%%%%%&&&& &*&4&>&F&Pz맩&\&j&t&|&&&&&&&&&&''&'2'V'b'~''''''''''(( (((($((((())").)6)@)N)T)Z)j)|))*T*h*n*++++"+,+6+>+H+T+\+f+n+t+~+++++++++, ,,,@,F,N,V,`,h,r,z,,,,,,-----.. .&...4.:.N.l.v.|........./ {Rg/,/V/\/b/h/n/t/z////////////////////////000 0000 0&0*0H0\0f0p000001 1111:1D1J1N11111111112222&242:2`2f2j2t2z2222222222233$30343>3H3T3Z3`3j3t3~333333333333333444"4(44|x4@4H4P4X4`4h4r4|4444444444445555 5&5J5R5\5p5x55555555555566 666Z6f6l6666666666666677 7777$7*74FFFFGG G2G`Gf>04:>HRbjp|YShF+H$m fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABB3f DQNu80:A( A`:>@?.a & u x"!.e&~!o\.   C2|65 |,.Ȥ),H=.!!@$_H A `"N@0]BZF.R!H0@@` ! ` @. P 0   |g@2sN aC A]`0@0@Τ1 %KP0rp>`O@ʈJ uQ^h s(Rm)&BH@#F@֧6> Q4@ r`PHe P0` "AؖhPlH: &PI8 AQ Šz|PPD& $H|'I>F3'''*,  #o__XbLR? A8h;E` y"`,GRf L<L@`Qp$([ 90~3 0(P0 &p`* n`H)L0 :!  2*@QB@A8 "&Z!h KARğAIC `!t`] 4qa\&*B Ԡ@@Ѐ(@Ѐ`)vl00::×`@0@9D-;I 4( А*@R`IQAG2P*.X(@ (d!?X \ 0 aL ̆`n2-8f . Vr%HP  ™eH0)Ib РT |ϊA|*HA `)(4I2$@J*#Gw cB u_`Ih<zk?@hJ@Q3WX > D(n AB.@i@ asBp' :4`Xс%`qP0S .Dl l+X fp` y@b ʹR{ ($ % 6 J`l`pcbT*00ˌq"P؈T   ğ  AH =g y g NuB.`B.`4.`HB2.A40PgT`;BNuB.gV;VNuB.gV;VNuBy y&H $HXB 92ҹBy KMaKM*aKMBaKMZa <Q <y 3 y fBy 3 y8fBy83 yPfByP3 yhfByh3 f&BRB09fBLNu,XB. gR(Cn-q(=sH=sH;sHB63BH֮-C =sH ng-n =sH Vg@3 nf=|=V+n;n;n0.y =nNuX(\:}hS@. xq Press Left mouse button to stop music. Thanx for using the best and only ST Music Ripper. Also thanks to well known Karstc}en Obarski for his UltimateSoundTracker!! r!! |06BHR`jt~ @NX|@Ndr &,<HRZ`fpv.drHNTZb 6Lbn'=Znken die, ich bin voll der 'c' programmierer!! was hier ? waaaas ??? ich sag lieber nichts mehr !!! hoer auf, sack !! jetzt reicht's aber du altes (knack!) nee komm, jetzt schreib mal was vernuenftiges, hier !! komm nun schreib mal echt was vernuenftiges, echt jetzt, hoer auf, mann !!! das ist nicht mehr witzig, echt !!! aupfff... nee, jetzt kam auch noch kotze mit hoch !!!! brrrrr, ist mir schlecht, brpbrp !! ich !!! zwei snickers, eineoqy milka nuss, ein yes torty nuss.... doch... hmmmmhmmmmmhmmmmmmmmdaumdaummmmmmmmm.... an alle : ir seid alte saecke, wichser, pisser, abgefuckte scheissriegel, mir ist so schlecht, uhaaaaaaa !!!!!! waaas ??? hey! eh, du hast erst 95 zeilen, das ist echt nicht viel !!! das ist nicht mehr witzig, echt !!! was faellt dir ein, das ist echt nicht witzig !!! das ist auch nicht viel mehr !!! denkst du das liest noch irgendeiner durch ??? ahpohohoooo!!!! oh! oh!! mal sehen das sieht bestimmt lustig aus.... waas ??? los schreib mal hin da !!! toword ze real ov ze bildink ley onn ould chip. schlidly largscher zen ze asers, ant barried benass iven tripper geils ov thrust and copper nets. pack die scheisse weg !!!! okay schreib hin : interest !!! echt, echt voll die id... echt, echt !!! echt, hahahaha ha ha !!! eins ausrufezeichen ???? dogge, jetzt ganz im ernst, das liesqFt doch keiner durch, echt nicht !!! helloechen d.o.c !!! hey der will wieder 'ne demo !!! 100 maerkers, billiger bin ich nicht und ausserdem skywichser ist immer gut !!!! echt, du bist die letzte sau, jetzt reicht's mir aber, du ficker !!! will die happy lesen !!! dogge, du musst den scrolltext schreiben, nicht ich !!! dogge! okay !! okay ! diddelliddeldimdemmdimdim !!! doc ich moechte jetzt gerne die eier von shut berlin abhacken !!!! dasr+u klingt voll schwul... aech moechtae jetzt gaene die eier von shud baerliin abhackaen... eh das klingt echt oberschwul... achja leute : p.e.n.i.s kommt doch !!!! ausserdem : we don't swap with people who swap with generation x , is that noticed, man !!!??? nimm mal deinen huebschen kopf da weg !!!! eh, die denken nachher ich bin schwul, eh !!! nachher ruft hier keiner mehr an, wah !? wah!? hmhmhm. pspspspsssssssss. mach das mal auf speed 5sB oder so.... ich muss gleich los (dr.m) !!! jedesmal das gleiche intro von unknwon kostet nur : dm 100 !!! warte mal... was steht da ??? natuerlich nicht das gleiche intro, logo und scrolltext wird natuerlich anders !!! duetscjhkujfoewi , was !!! haah! musst du denn jeden pupser aufschreiben ???? wozu hab ich eigentlich die waits eingebaut, die benutzt du nicht einmal !!! achso !!! fuck you big mac, where's my (dr.m's) elephant ??!! sto'n fetten arsch, eklig !!!! das merken die sofort den zusammenhang !!!! benutz mal die waits !!! gleich bleibt fetter arsch W? stehen, oder so !!! okay i think that langt for now, you sau..... tis is the end W? end W? eW1nW2d W3 hohoehoehoe satte 136 lines.... $8frz~2>PVbr|u|G>JTl @Zfrz "04FRhnv  &.4:BHN\rz&.<DLZbjxHh < H X d ~ * 0 6 @ F L X ^ j n  4 B H Lv< Z ` h l r x   . 4 > b  :Tn (2<FPZdnx(2Rn $*.4<DLZl ,:JXht$4@PVbp|w9 $0:@JVdt  2BN^hx$@Lnv~(0:BJV^dlv06Xv  ,x:FR^hv"*28@HVhpx$*.8>FTbpz"*<BZblv0<DLXt04:>HRbjp|c>%@@`  p p p 0p@ @@ ``` @ @@@ @@ x ` ` ` x   @ @@?$|%|-`-`-`-`$|?|@ @@wLB3E;U;0]30]30]"0DB;;@ @@!cߍsߥ{XkXkXJX!{{ S2and this is a journey into stereo-speeded sd:2croll, S9steW2-S6steW2-S3steW2-S2stereo-speeded scroll.... this release is called : d.o.c soundtracker v2.0 !!! distribution and spreading by dr. mabuse orgasm crackings (d.o.c) !!! this version of the unrelenting d.o.c soundtracker was coded by unknown of d.o.c !!! thanx must of 'coz go to karsten obarski, exterminator of jungle command and tip of tnm for the cool preparation !!! the text for this scroll of 'coz written by doctor mabuse of d.o.c !!!! in a eTofew minutes (if you are not too stupid) you'll notice that this soundtracker is the best one in world !!! you'll get all what you want : analyzer, playroutine, instructions, disk options, pattern play, record, two new commands and an improved tasten-abfrage !!! if you are satisified or if you can't get satisfaction contact us by smashing the following lines on a letter : plk 089114 c / 2300 kiel 1 / west-germany !!! following now : some greetings... who bfA:Oelieves that, eh ??? no, i think it's better you throw a look in our demo, there you can perhaps read your name (proud?) !!! are you slow of mind ?? no ? then stay awhile... and now some stories transmitted from daily life... yesterday my (dr. m's) brother married and i was very funny at the end of the marriage (approx. 4 o'clock am).... some guests left the party at about three o'clock in the morning, and two of them had to sleep in my brother's flat... so my brogR~-ther gave 'em the key for it and told them to hide it on a place before the door... and so they left the party... one hour later we (my brother, his wife, the dj and me) left the party, too... as we arrived at the flat we began to search for the key... and as you may think now - we didn't find it !!! we searched everywhere, but we couldn't find it... it was such a fun to see my brother digging with his hands (in his fine clothes) in all that rubbish flying around thereh7ߧ... used chewing gums, cigarettes and mega spiders are very nice to get in touch with... the end of august is nearly reached, and i'm now the master of the cutter and the besen !!! never forget : d.o.c has a neutral smell, is waterproof, refillable, odeur neutre, etanche, rechargeable, olor neutral, resistente, rellenable - zu deutsch : d.o.c ist geruchsneutral, wasserfest und nachfuellbar !? and of course : made in germany !!! for our norwegian friends : en doc' gjoiC) er godt for munn og svelg !! doc' halspastiller, doc portemonaies, doc vine, doc snacks - all from d.o.c !!! keep this tracker out of children's reach !!! the next story is coming up... in the middle of my brother's party some guys got the idea to pup up the following german folk song (melody : the walking is that muellers fun) : S2der s p a r g e l in neustadts fruechtereichem land ist ein gemuese wohlbekannt - der spargel. er schmeckt sehr gut und istj|h famos, drum freut sich immer klein und gross, wenn endlich geht das stechen los - des spargels. im dunkeln schlaeft er klein und still und kann nicht so, wie er wohl will - der spargel. und wenn es warm und etwas feucht, er schnell aus seinem loche kreucht, und seinen kopf ganz offen zeigt - der spargel. die hausfrau ist meist sehr entzueckt, wenn sie 'nen schoenen kopf erblickt - vom spargel. und war 'ne gute stange dran, spricht laechelnd sie zu ihrem mann : er hatkԘd uns beiden gut getan - der spargel. nicht immer haben frauen glueck, nicht immer ist er schoen und dick - der spargel. oft ist er duenn und langgestreckt, oft krumm, als wollt' er um die eck. doch stets erfuellt er seinen zweck - der spargel. ein langer off'ner aufenthalt, ist auf die dauer auch zu kalt - dem spargel. drum schuetzt ihn sorgsam und auch schlau, denn ist der kopf erst veilchenblau, verliert den wert er fuer die frau - der spargel. und stecket, wlenn er gut und fein nur in gesunde dosen rein - den spargel. denn wenn er erst vergiftet ist und wehmutstropfen er vergiesst, dann werft ihn lieber auf den mist - den spargel. wie jedes ding auf dieser welt, so auch der zeit zum opfer faellt - der spargel. drum merkt, solang er steht und schiest (sach mal machst du das mit absicht ??) , dass ihr ihn voll und ganz geniesst. bis er den letzten saft vergiesst - der spargel! tjatjatrallaalaaaa! now only some more masmWJsagen an some popel : 1. bytemaster / tuf 2. zeronine 3. defjam 4. tip / tnm 5. ftf / tcg 6. chris huelsbeck ist doch sowieso die niete da (unknown) to number 1. : ehee. (unknown) hoehoe. (dr.m) 2. du altes schwein (unknown) sowassagichnicht (dr.m) 3. some compactings don't work 100! (unknown) isaynothing. (dr.m) 4. ruf mal an! (unknown) call germany 110 (dr.m) 5. wie gefaellt's dir im altersheim ? (unknown) naja. (dr.m) woooooooowwwwwww!!! nachher de&          )",.Jg6 g gNua2B@.T Tqj8q;TNuaB@.T TXk8X;TNu>fINu>fINu>fINuINuJVga8. g g0 gF gJ g^Nu.S=>3KjNu .@o|@nnNu3KjNu.99Nu.g B>#=Nu[?????'T>??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(`?????????????????????????????????????????????????????????????????????fflll~|f 0f|    T8|)D8T| | 0`<nvf<< |<`~||<l~ ~`||>`|f<~ <f<f<<f>|0 0 <<0 0|<f~ff|f|f|<f`f<|fff|~`x`~~`x``>`nf>ff~ff* !hH~~~f<ff|ff````~Bf~fffv~nf<fff<|f|``<ffn>|f|ff>`<|~ffff>fff<ff~fBff<ffff<~`~80008`0 888lD~`  +n sa q >cy߾f |y3矎~gyw ~8pcÞ? pߙ߹~ 8pc}ß? ~vsc9ùß pwy >~1faٳ 0f30`  `  a q ߾^ |>ۿ7y߿fs?v>7ృ wv߷f}۷wϛw0 @30w_ ϟ>gÛ~ߞ߻3 `>}wvcv393  w` <~ww?f<~wwǎ?߾`><~ww?f<~wwǏ?߿`?d !"#$%&'()*+,-./0123456789:;<=>? abcdefghijklmnopqrstuvwxyz[\]^_HaLNuS9cgNucR9b 9bfB9bB9b@A"yU36U36]2&DB;;@ @@${ؽ{ܥc_c[c[bS!{{@ @@$cc{c{bs!@ @@B(?_?U3~U3vU3v_0fB"??@ @@?!0/-|-l-l/l!$?@ @@xxx x@ @)1C8Nh#1 @#1!|1NuPLSTintuition.libraryHJ1g"# =#a=r#1=alLNH# =#a=r#2$=a1NuByKd y.0"#y=r"9=An A0BAHAA0BAHA#=#6=aB6#a=r,y>X,9=B=v|~#="9=vA A0BAHAA0BAHA#=#6=a B6R=rR=vpr#X=2 |ApgT`A#=aR=r#=p.A#=ap. |B#=aR=rXR fz=rR @f y.02Nu3==#=ra y>==Kor9Kig3Kd#`=rKi`^ y>#==#=ra8 y=3==#=ra#>=#%=r#=`3==#=ra6p09=J@gA 8#= y> 09=#=3=3=3=3=3=# @C=rap#==#=r#=`Nu3==#=ra4 y1p09=S@#=#=r#=`r29=AFa2da, a&a$#=#6=arB6By=NuA0BAHANuAp |B#=#=a.Ap( |B#=#=aBy=NuB=&9= y==rf96 `m  I |Kv"y=n=rh(hPhxhR=R=r=fNu?96 6ax36NuA,AZBdBYAdB@}@dB@01BNuJ>g^a ,y="9= Aa$<NB1#>f`Z"9> Aa$9=&9>NB1"9>NB>`֢aָ,y="9= A#2K1$<NB1#>f`"9> A#2K1$9=&9>NB1"9>NB>`.st-00:songs/st-01:B @!Lstdatados.library"u?(  53"#1!2"34$5%6&78(9):    FX(\:}hS}hS@. c-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f##{A3 g-3 g#3 --- }hS@. xqc-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- --- --- --- --- --- --- --- --- --- X(\:}hS@. xqc-1 c#1 d-1 d#1 e-1 f-1 f#1 g-1 g#1 a-1 a#1 b-1 c-2 c#2 d-2 d#2 e-2 f-2 f#2 g-2 g#2 a-2 a#2 b-2 c-3 c#3 d-3 d#3 e-3 f-3 f#3 g-3 g#3 a-3 a#3 b-3 --- @ 53"#$%&'(76$CI!421  9 *000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5%.WUfe6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff "#$% abcdefghijklmnopqrstuvwxyz0123456789().-'#:/ "$&(*,.02468:<>     Dw M ,,8$,2"2  p@  p@p@p@    LB=`B9=ApBQp09=A!H"0g 0<"A,yN.p09= y> p0H#>CNpQAB (:g #8,=` #82= 9>"<,yN:#=A r29=I!=!> p"pBX CpQ#>=#8=,y="9= A#2K1NB1aaBy `Ra`0aB9= y>X0CpQ#>=#8=#X>a y> PACKf,#!#! 9>X!#!aB=B=afaa"aa,ANp"3=HaLQ3=`H y>CNp2R fByLANt 02(An$XQJyLfANpBPXQLNu3L&(( !C`aB9=B=zB=~By>3NuaVJy=gFB9=p09=S@ y1p09="y> pQaa`$aara b#edit=zNuB9= y>prtBy=0R @~n49=Bo3=`ApBQ y>CpQ#8=#>=#X>p09=Rѹ>Jy faaJy fa`Nuah y>"H #!"HX#!"HX>#!#>! y>>"y>X 9> Sfan! #!"ҹ!#! y> PACK!y!!y!#>= 9! #>Nu y!"y!$y!tBAaJg RA Afana`F&Ho&Iz*HR(fgn`ZS(Hfn& Sl>( S o| mG6<`<UFNMlv`l*#""n g:a|9"&9"06`a06`g&SCa06`66` a~v`(BNupalpNu JAg6BA C lRy"SCp`NuRy"C Cp NqS@eQNuB@$tQNu y> "y! 9!"9!a< y!"y> 9!Sf y>X"y>! BSfNu$A fane2rvfabeLrBDad6DrfaNQQ`8rx`ra@ m gra062<` 2< BTB6aSJ QmNu DNuSABBf D+|TGQNua, y>prtBy=0R@ @n49=Bo3=`A(pBQ y>CpQ#>=#X>p09=Rѹ>a^faf|aR fa`x`0HAX"0g. 0 0p0#>f4Nu,y="<%n$<#2K1NB1.gpNupNu,y="$9=&9>#2K1NB1JgpNupNu,y="NST-00:modules/mod.9ga#song=~By>B=zB> By=ar29> 9=j #=>NuB>B=Nu ]T9gB=za|aR#patt=~By> y.02#=>B> Nu y=g6 y> p09=J@gRh h@k1|@`>Nu y> p09=ShJhjBh`Jy=g aBy=Nu9 f By=` y=gRy= y=k3=` Jy=g Sy= y=j3=` y=ga:3=Nu y=g&Ry=09=°y1k 31=a`2Sy= y=j3=a `a y=g$ y>R ka a` y>S ja a`a y!A=g0 y>= ?k?a aa`~ y>=JjBa aZaX`V y=g*= =k #=a a&a$`"=J=jB=a faa <@QNuH y>>J=~g patt=~g #>=R> 9>=m B>`MJ.g KaMJ.g KaMJ.g KaMJ.g Ka` >g2 >g0 >g0 >g >g Nup.`p.`4.`Hr2.A40PgT`;BNu y"$sw>&H $HX patp=~g song=~g"9=` r 9>2ҹ> #>By>KMnEa:KMrEa(KMvEaKMzEa`,Xt. JghvC(-q(=sH=sH63HJCg&$.ԃ-B-B =sH=sH;n4`$.ԃ-B =sH;n4JVg,=V0.3*;n;V0a0.y>`l <Q09>y@3M nf# 3Mf nf# 3M4 nf# 3M nf# 3#K patp=~fa patt=~fa edit=zf 9> 3=> > fFB> patp=~g song=~f(R>>p09>"9>fB>JyKjgByKjR=a`LNu 9> `09= y=nЈ"y.3@H@3@Nu09 4@2y=3=H @k 2<@0` @j@y=0H2y=3=H @k 2<@0` @j@y=Jy=jBy= y=j3= y=k3= y=k3=p09=H3=p09=H3=NuHA,y2(gdhg L"$?HnNg6HaaaJNPaa~a aԄLL"HnNg L"HnNLcNsHA( rAA(@F><2Q( `gV agN bgF dgR egJ gL gD g( g g=LNu3.`By.`3.`By.`C&Nh#=,y <lp"<N:#=n3EHH@3ED,y="<1tN.g "$< NJg"NA (|#131 91r,yN:#1g"<1$<,y=N.gѸ"$91&9fm"1Nְ1fќ"N y109 2@3=I3= <X"<,yN:#> @p1|Q y>0xByByByBy3=B=B>B> B>B=~B=zp#= <D#.#.#E2.#EJ.#E.#E.#?=#@=#>7#7=N#?=R#=V#?D=Z#H4=^#H=b#I=f#J=jA VCt3XXQaB=aZaa63=a#-rl <OvC3@H@3@H@(3@H@3@ ,yCϲNh#[&w0? 3 3 3~g 3 3131 3 1~癟 338x9 18|93~9ߌ1߿ό0 031\' 3 1`< 0p~ 0w 0w 0ap? 0`0f 0 0/? 0 03~ ? 0?0~< 1~> 0~ 0q?ߌ0!] W5G 0?~f>ۿn߿0̃?ߎ3?nj9u <16;i++)Read(fh,&Sample[i],sizeof(struct SampleData)); for(i=0;i<=MaxTable;i++)Read(fh,&Table[i][0],VOICES*sizeof(struct TabData)); for(i=0;i<=MaxPart;i++)Read(fh,&Parts[i][0],4*32); Close(fh); for(SN=0;SN<16;SN++)ret&=LoadSample(path); if(!ret)QuitZound(); }else ret=FALSE; return ret; } t=FALSE; if(!(Sample[SN].name[0]))ret=TRUE;else { if(lock=Lock(dir,1005)) { dirlock=CurrentDir(lock); if(ZMemsize[SN]=FileSize(Sample[SN].name)) { if(Sampl+⁂HAB2*At7p(`<0*j"g2R@5@4* "j7B`*g2*j5A7A&7j NuB0*"IHA-HA|@e J@k0<@`B@4NuB-tzE&|K{B-v*g `BB-uЁC}(1.1 r<?fa`P@ r@*f-*B@*@At5p*gT*f @ <@Bj`HpGAt00pj5@ Bj0|BA-r5@"`*g  |H5@ 2<g*f-famain() { CatchGurus(quit); /* Trap 3,4,5,6,7,9,10 and 11 will cause */ #asm ; a call to quit jmp 1 ; Show that it works, Generate a TRAP 3 #endasm Delay(200); /* program will never reach this point */ }  Guruw,M(`D*%g@%S6M|.,H5@a%V 5n.5n0 B0.2Ъ %@g*%*$g&@$3 *?g0*m~& 7j7j7R(XQ`R-u - ufB-uR-v-v-xfmwЄvNuNUH - -JfJg DЂwEЂx` myЄwmzЄxNJL0N]NuNU/xr6 NwA|Jg" Ap/0r6 NwC|/1NxPORm(N]NuNUH $m~p-qr6NwA!|4J0f~`Hx/ NyPO(g/NzXO*p-qr-106NwA!|4Ј/N{XOr-qAp!gHxp-qAp/0p-qr6NwC!|4Љ/N|O /p-qr6NwA|$!gB~p-qr6NwA|"pBQp-qAp"0p-q?r6NwC!|^43/NzXO/N}XO LN]NuNUH 0$m&m zHx/ NPO+@JgHxHzs/-NpO HxHzr/-NpO HxHzy/-NpO HxHzz/-NpO HxHzr/-NpO xHx6r6 NwA|Ј//-NpO Rmx`//`Hx A{Ј//-NpO Rp-scx`Hx A}Ј//-NpO Rp-rc/-NqXOB-q`/ NXOʀR-q -qeJfN\`z L 0N]Nu _ZMemsize @_SN A_MaxPart B_MaxTable C_count D_partvec E_tabvec F_StartTab G_EndTab H_loadstart I_loadend J_Table J_Sample _Parts _dmaconhulp _AudioTemp_KillZound _SetUpInterruptK_speednewlevel3_Periods_PlayZound_QuitZound.# but unknown Archimedes!?! Or if you want some informations about our Cracker Journal, then write to: AFL Redaktion 'Cracker Journal' PLK 043347 B or 043366 B 4000 Duesseldorf 1 West Germany [0 p rt with 'mt_'. Please note that the V4.0 version of SoundTracker is not completely downwards compatible with version V1.21. Any old V1.0 song that uses no portamento or arpeggio can be used with V4.0 without any problems. If arpeggio is used, simply remove the 1 thax'mulu_FreeMem_Lock_CurrentDir_FileSize_AllocLoad_UnLockF_LoadZound_Open_Read_Close.beginNpO HxHzz/-NpO HxHzr/-NpO xHx6r6 NwA|Ј//-NpO Rmx`dz IX. -------------------------------------------------------------------------- If you think the SoundTracker IX is best and DOC is great, then write to: D.O.C (Don't write this line.) PLK 089114 C 2300 KIEL 1 WEST-GERMANY If you have any questions to the police, call Germany : 110 ------------------------------------------------------------------------- ADDITIONAL INFORMATIONS AND HINTS : - THE DIRECTORY FUNCTION WAS CHANGED IN TWO WAYS : 1. You can abort the 2Gre finished writing your music using SoundTracker, save it to disk. Use the function 'SAVE MODULE'. You will find at the 'MODULES'-DIR a file, which contains all muzakdatas and instruments. Load with SEKA the source of the playroutine and enter the size of saved module at the label 'DATA'. Assemble. Now load the saved module to 'DATA'. At the start of your program, call the 'START' routine. -------------------------------------------------------------------------- If you think the 3ŎMaster SoundTracker is best and TNM is great, then write to: THE NEW MASTERS! P.O. BOX 705 7300 AS APELDORN NETHERLANDS If you have any questions to the police, call Germany : 110 ------------------------------------------------------------------------- ADDITIONAL INFORMATIONS AND HINTS : - USE RIGHT MOUSE TO CONFIRM SOME FUNCTIONS (LEFT: CANCEL) - USE FOR YOUR OWN SAMPLED IN4ߵqSTRUMENTS AN OWN DISK (e.g. ST-03). - BE SURE, THAT THERE IS ENOUGH DISK-SPACE ON YOUR SOUND-DISK, ELSE ... - SOME INSTRUMENTS HAD BEEN CHANGED AND SOME HAD BEEN REPLACED FOR OTHER INSTRUMENTS (done by K. OBARSKI) - CAUSE OF DISK-SPACE ON SECOND INSTRUMENT DISK UNKNOWN COPIED SOME INSTRUMENTS FROM HIS MUSIC-RIPPS TO IT. THE MAIDEN VERSION CONTAINS 216 INSTRUMENTS AT ALL. THE NEW VERSION CONTAINS 234 (OR 243 ?) INSTRUMENTS !!! - THIS SOUNDTRACKER-VERSION CONTAINS THREE DI=YWSKS AT ALL! (ONE SONG DISK,TWO INSTRUMENT DISKS) ---------------------------------------------------------------------------- Improvements by TNM in the PED+ =============================== New KeyRoutine Faster scrolling Up and Down with shift+cursor keys New Charset Instrument Length: Up to 32KB ($8000) ------------------------------------------- ADDITIONAL INFORMATIONS AND HINTS : - USE RIGHT MOUSE TO CONFIRM SOME FUNCTIONS (LEFT: CANCEL) - USE FOR YOUR OWN SAMPLED INU6oߛV7VVW8a`%σ=>Ѱgg?Ïͻ6<߷ݻw9&2dp LX9uciY:u`hCZ%< 0 0A<π 0?~ 1; 0; 0 03|g 0q 0/? 0 0fπ 0w < e volume is allways 64 but you can change it to each value between 0 and 64. To change the other values of each instrument you have to load the preset-editor. With that tool you can change the whole preset-list. Notes. ------ C#1 3 C 2 3 / / | \| / / | Arpeggio,portamento,volume,speed and filter info. / / Command / Inst# Note to be played. Note : This is simply the no=pWte that must be played by that particular ---- instrument. Inst# : This is the number of the instrument that must be used to play ----- the note. When the instrument number is zero, the last selected instrument will be used. Command : This number tells SoundTracker what special functions must be ------- preformed while playing the note. These functions are as follows : 0 - Normal play or arpeggio. 1 - Portamento up. 2 - Portamento down.  >hC - Set volume. E - Set filter on/off! F - Set speed. Info : This byte contains the additional information for the commands. ---- Arpeggio : Arpeggio is used for simulating accords. It does this by -------- rapidly changing the notes while playing an instrument. Arpeggios are selected whenever the info byte has a non-zero value and no other commands are selected. When arpeggios are used, SoundTracker looks five times during  ?h~ the play of one note, at the information contained in the info byte. Each nibble (4 bits) in this byte defines how many notes SoundTracker must add to the the note currently playing. In each of the five passes SoundTracker does the following with the information contained in the info byte : 1 - Add the first nibble to the current note. 2 - Add the second nibble to the current note. 3 - Play t @[ &he current note. 4 - Add the first nibble to the current note. 5 - Add the second nibble to the current note. Portamento : Portamento is used for 'sliding' of the instrument. ---------- If portamento is in use, the information contained in the info byte will be added to (or subtracted from) the period of the note playing in each of the five passes. Example : D#2 3208 Slides down 8 --- 0208 Slides down 8  AAS --- 0108 Slides up 8 --- 0210 Slides down 10 etc. Volume : One of the enhancements that the V9.0 version provides is the ------ ability to change the volume at any time during play. When command 12 ($C) is selected, the volume is set to the value contained in the info byte. The volume will remain at this level until a next SAMPLE is played. At this time, the volume is reset to the default volume level of tha BuAt sample. Example: C#1 1C22 - Set volume to $22 and use instrument # 1 to play the C#1 note. D-2 0000 - Use instrument # 1 to play the D-2 note. (Volume level remains at $22) B-1 1000 - Use instrument # 1 to play the B-1 note and set volume to default value for that instrument. Filter: This Soundtracker version allows you to turn the lo-pass filter ------ on/off. Example: G#2 1E01 C - Turns the filter and the power-led off ! --- 0000 E-1 1E00 - Turns the filter and the power-led on ! Warning to all Amiga 1000 owners : Don't make jokes with the power-led because some A500 and A2000 owners will not be happy when they hear your song. Speed: This function allows changing the speed during play. ------ You can only enter a speed between 01 and 0F. Setting the info byte to zero doesn't effect anything. The normal speed is 6. D/)Example: D-2 4F05 - Set speed to 5 --- 0000 E-1 0F00 - Nothing happens to speed. --- 0FC3 - Set speed to 3 G-2 2F06 - Set normal speed If you load another song it will be played with the actual speed. All songs on these disk are re-written to their normal speeds. (by D.O.C) The Playroutine. ---------------- The playroutine on the SoundTracker disk is for using your music in demos, intros, games etc. It was written usinE yg the Seka-assembler and the source of the routine can directly be incorporated in your demo/intro source. When you are finished writing your music using SoundTracker, save it to disk. Use the function 'SAVE MODULE'. You will find at the 'MODULES'-DIR a file, which contains all muzakdatas and instruments. Load with SEKA the source of the playroutine and enter the size of saved module at the label 'DATA'. Assemble. Now load the saved module to 'DATA'. At the start of your program, cal0ӠNl the 'START' routine. Please note that the IX version of SoundTracker is not completely downwards compatible with version V1.8. Any old V1.8 song that uses no portamento or arpeggio can be used with IX without any problems. If arpeggio is used, simply remove the 1 that selects the arpeggios in V1.8. (Example : C#2 2184) If the old V1.8 song uses portamento, you will have to rewrite this a little until it sounds the same as before. The songs supplied on this disk are re-written for|+G|wowstring3@st-08:wowstring4 @st-08:wowstring5 @st-06:xylophone@st-02:yaskme@st-09:yeah1@st-04:yodel@st-07:zaang @st-09:zisch1 @st-09:zisch2 @st-09:zisch3 @st-07:zoolookcryG@t-07:zoolookstart@t-06:zupp@@st-03:war1 1@st-02:warmbellsn@q H? word move.l #$8000,d0 or.w enbits,d0 move.w d0,$dff096 cmp.w #1,datach0+14 bne.s rep2 clr.w datach0+14 move.w #1,$dff0a4 rep2: cmp.w #1,datach1+14 bne.s rep3 clr.w datach1+14 move.w #1,$dff0b4 rep3: cmp.w #1,datach2+14 bne.s rep4 clr.w datach2+14 move.w #1,$dff0c4 rep4: cmp.w #1,datach3+14 bne.s rep5 clr.w datach3+14 move.w #1,$dff0d4 rep5: add.l #16,patpos ;next step cmp.l #64*16,patpos ;pattern finished ? bne rep6 clr.l patpos addq.l #1,trkpos ;next patternq IR in table clr.l d0 move.w numpat,d0 cmp.l trkpos,d0 ;song finished ? bne rep6 clr.l trkpos rep6: movem.l (a7)+,d0-d7/a0-a6 rts chanelhandler: move.l (a0,d1.l),(a6) ;get period & action-word addq.l #4,d1 ;point to next chanel clr.l d2 move.b 2(a6),d2 ;get nibble for soundnumber lsr.b #4,d2 beq.s chan2 ;no soundchange ! move.l d2,d4 ;** calc ptr to sample lsl.l #2,d2 mulu #30,d4 lea pointers-4,a1 move.l (a1,d2.l),4(a6) ;store sample-address move.w (a3,d4.l)q J.,8(a6) ;store sample-len in words move.w 2(a3,d4.l),18(a6) ;store sample-volume move.l d0,-(a7) move.b 2(a6),d0 and.b #$0f,d0 cmp.b #$0c,d0 bne.s ok3 move.b 3(a6),8(a5) bra.s ok4 ok3: move.w 2(a3,d4.l),8(a5) ;change chanel-volume ok4: move.l (a7)+,d0 clr.l d3 move.w 4(a3,d4),d3 ;** calc repeatstart add.l 4(a6),d3 move.l d3,10(a6) ;store repeatstart move.w 6(a3,d4),14(a6) ;store repeatlength cmp.w #1,14(a6) beq.s chan2 ;no sustainsound ! move.l 10(a6),4(a6) ;rq Kepstart = sndstart move.w 6(a3,d4),8(a6) ;replength = sndlength chan2: cmp.w #0,(a6) beq.s chan4 ;no new note set ! move.w 22(a6),$dff096 ;clear dma cmp.w #0,14(a6) bne.s chan3 ;no oneshot-sample move.w #1,14(a6) ;allow resume (later) chan3: bsr newrou move.w (a6),(a4) move.w (a6),16(a6) ;save note for effect move.l 4(a6),0(a5) ;set samplestart move.w 8(a6),4(a5) ;set samplelength move.w (a6),6(a5) ;set period move.w 22(a6),d0 or.w d0,enbits ;store dma-bit qLmove.w 18(a6),20(a6) ;volume trigger chan4: rts datach0: dc.w 0,0,0,0,0,0,0,0,0,0,0,1 datach1: dc.w 0,0,0,0,0,0,0,0,0,0,0,2 datach2: dc.w 0,0,0,0,0,0,0,0,0,0,0,4 datach3: dc.w 0,0,0,0,0,0,0,0,0,0,0,8 voi1: dc.w 0 voi2: dc.w 0 voi3: dc.w 0 voi4: dc.w 0 pointers: dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 notetable: dc.w 856,808,762,720,678,640,604,570 dc.w 538,508,480,453,428,404,381,360 dc.w 339,320,302,285,269,254,240,226 dc.w 214,202,190,180,170,160,151,143 dc.w 135,127,120q0<,113,000 muzakoffset: dc.l 0 lev6save: dc.l 0 trkpos: dc.l 0 patpos: dc.l 0 numpat: dc.w 0 enbits: dc.w 0 timpos: dc.w 0 data: blk.b 0,0  ;clear dma cmp.w #0,14(a6) bne.s chan3 ;no oneshot-sample move.w #1,14(a6) ;allow resume (later) chan3: bsr newrou move.w (a6),(a4) move.w (a6),16(a6) ;save note for effect move.l 4(a6),0(a5) ;set samplestart move.w 8(a6),4(a5) ;set samplelength move.w (a6),6(a5) ;set period move.w 22(a6),d0 or.w d0,enbits ;store dma-bit N:FuTracker holds a table with information about the sequence in which these parts must be played. With 'Position' you determine your position in the table. With 'Pattern' you define what pattern to play at that position. 'Length' defines the total size of the table. The Keys. --------- The original (V1.8) version of the SoundTracker had a German keymap. Version IX supports a standard USA keymap and this ensures compatibility with ALL Amigas. The keys on your Amiga have been grouped tO`o represent the layout of a two-octave piano-keyboard. You can "shift" the keyboard one octave up or down with the aid of the F1 and F2 keys, thus incrementing the range of the keyboard to three octaves. While editing: Cursor-keys move cursor. ------------- F6 - Set cursor to first line of pattern. F7 - Set cursor to 16th line of pattern. F8 - Set cursor to 32th line of pattern. F9 - Set cursor to 48th line of pattern. Ph F10 - Set cursor to last line of pattern. DEL - Delete note under cursor. shift + F3 - Cut selected voice of actual pattern. shift + F4 - Copy selected voice of actual pattern into copy-puffer. shift + F5 - Copy copy-puffer to selected voice of actual pattern. Special keys: ------------ shift + V - MESSAGES and GREETINX from D.O.C shift + D - DIRECTORY (left mouse button for next entry - ;^Wright to abort.) The following keys are on your numeral pad at the right side of your keyboard. !! ---> 7 - Sets the volume from voice 1 to zero. !! ---> 4 - Sets the volume from voice 2 to zero. !! ---> 1 - Sets the volume from voice 3 to zero. !! ---> 0 - Sets the volume from voice 4 to zero. Instruments. ------------ You can use up to fifteen different instruments in one music-piece. All instruments are listed in the preset-list. Th| RLrax @st-07:screech@st-09:sdrum1 @st-09:sdrum2 @st-02:sequencer @st-03:servant1@st-01:shaker~@st-06:shaker1@st-06:shaker2@st-01:shamus@st-07:shootingz@st-03:shortsiren?@st-03:signorina Z@st-02:sinbad @st-01:sinecz@Jst-02:singerbell z@st-02:siren|!S=@st-01:sixteaseh@` st-01:slapbass @st-08:slipbass<@st-07:slist@st-06:smack@st-07:smack1 @st-02:smartbrass<@st-01:smash1@st-01:smash2@st-04:smatter@st-04:smatter2@st-04:smatter3@st-07:snap@st-06:snap2@st-06:snap36@st-01:snare1|"T8qL@st-06:snare10 %@st-06:snare11@st-06:snare12 @st-06:snare13 @st-06:snare14?@st-06:snare15 @st-06:snare16 @st-06:snare17r@st-06:snare18@st-06:snare19 @st-01:snare2@st-01:snare3l@st-01:snare4@st-04:snare5f@st-02:snare6F@st-02:snare7@st|#U-02:snare8@st-02:snare9@st-07:snarerollX@st-01:softbass @st-03:softcell I@st-02:solobass @st-07:soundsynth@st-01:soundtrackV@st-04:sp12bassdrum@st-04:sp12snare @st-07:spade[@st-02:speowl@st-06:spit @st-02:spoils@st-03:spyandmind @st-02:sqbrasst@st-01:squa|$VkresV@st-02:squint @st-03:sss @st-01:stabst@st-05:starhit c@st-02:starpeace6@st-02:stars Z@st-01:steinway z@st-08:sto^@st-01:strange @st-08:string1|@st-08:string2@st-08:string3@st-08:string4@st-08:string5 @st-05:stringdur@st-05:stringmoll|%W\pT@st-05:strings@st-01:strings2@nst-01:strings3@ st-01:strings4@st-01:strings5V@st-01:strings6V@ st-01:strings7V@st-01:strings8@st-05:stringskv3@st-05:stringskv2@st-05:stringskv3@st-09:sturm1V@st-09:sturm2V@st-07:superstrings@st-02:sweep @st-01:synbrass@|&X.Kst-02:synbuz:@st-07:synclap @st-01:synclaves@st-02:synpia @st-08:synth %@st-09:synth1V@st-09:synth2V@st-09:synth3!@st-04:syntherev@st-01:synthpiano @st-07:synthpluck @st-02:take H@st-02:tallic @st-06:tambo1@st-06:tambo2@st-06:tambo3O@st-0|'Y7:tambourine|@st-07:tape1@st-02:teapiano@st-01:techbass @st-07:tejp ;@st-07:telefonton@st-02:telephone @st-01:theeggV@st-04:throwups@st-07:tightsnare@st-05:timpani2 9@st-01:tinewaveV@st-04:tjogatjagaf@st-08:tom#@st-09:tom1@st-06:tom2@st-06:tom3|(ZfhЏ @st-06:tom4@st-06:tom5@st-08:tomdrill4@st-08:tomdrill2 @st-04:tourston Z@st-04:tourvas @st-04:traksclaps@st-02:trio@st-07:trumpet@st-09:tschah1@st-02:tubes @st-01:tunebass `@st-01:touch@st-03:uhahuh@st-06:umpf@st-06:ungk|)[0@@st-04:unitbirds@st-06:uuh@st-06:vibe H@st-07:vinglas@st-07:violin@st-04:voice2[@st-01:voicesV@st-09:voll1 q@st-09:voll2!@st-09:voll3V@st-09:voll4@st-09:voll5V@st-01:wabberstring@st-04:war@st-03:war1 1@st-02:warmbellsn@|*F5st-02:warmth @st-09:warriors1@st-07:water@st-09:water1V@st-07:weirdperc@st-07:weirdtom2@st-03:welcomeo@st-08:whaaii{@st-08:whirp,@st-07:whistle @st-07:whoosh @st-01:woodblockX@st-01:wowbass @st-08:wowkling@st-08:wowkling2e@st-08:wowstring@st-08:"] l 0 mt_maxpart: dc.w $0000 mt_kn1: dc.w $0000 mt_dmacon: dc.w $0000 mt_modulate: dc.w $0c39,$0039,$00bf,$ec01,$6630,$0839,$0007,$00bf dc.w $e001,$6626,$2c79,$0000,$0004,$43fa,$0020,$4eae dc.w $fe68,$2c40,$4280,$41fa,$0026,$223c,$0000,$0032 dc.w $4eae,$ffa6,$60ee,$0000,$0000,$4e75,$696e,$7475 dc.w $6974,$696f,$6e2e,$6c69,$6272,$6172,$7900,$0104 dc.w $1753,$6f75,$6e64,$5472,$6163,$6b65,$7220,$5632 dc.w $0063,$00f0,$20a9,$2054,$6865,$204a,$756e,$676c dc.w $6520,$436f,$6d6d,$616e,$6400,"^$0000 mt_arpeggio: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 mt_sampleinfo: blk.b 0,0 s1: blk.b 0,0 s2: blk.b 0,0 s3: blk.b 0,0 s4: blk.b 0,0 s5: blk.b 0,0 s6: blk.b 0,0 s7: blk.b 0,0 s8: blk.b 0,0 s9: blk.b 0,0 sa: blk.b 0,0 sb: blk.b 0,0 sc: blk.b 0,0 s"-d: blk.b 0,0 se: blk.b 0,0 sf: blk.b 0,0 000,$0000,$0008,$0000,$0000 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_tempo: dc.l 6 mt_partpoint: dc.l 0 mt_samples: dc.w $0000,$0000 mt_sample1: dc.l 0 mt_sample2: dc.l 0 mt_sample3: dc.l 0 mt_sample4: dc.l 0 mt_sample5: dc.l 0 mt_sample6: dc.l 0 mt_sample7: dc.l 0 mt_sample8: dc.l 0 mt_sample9: dc.l 0 mt_sample10: dc.l 0 mt_sample11: dc.l 0 mt_sample12: dc.l 0 mt_sample13: dc.l 0 mt_sample14: dc.l 0 mt_sample15: dc.|`9c3:master :@st-08:mboop@st-01:mechanic1@st-01:mechanic2@st-01:metalkeys\@st-03:miami@st-03:miamisnare@st-02:milbass @st-02:minimoog @st-05:mix1 @st-05:mollstrings@st-05:mollsynthh@st-07:money p@st-02:monkey (@st-01:monobass @st-01:monsterbass@st-05:morse|a.XD@st-04:munk@st-07:munspele@st-01:muteclav @st-01:nice @st-07:nicetune`@st-01:nightmareV@Qst-06:noise1@st-04:noiseburst2r@st-01:noteman @st-08:numberagain @st-08:nummer@st-03:oeh@st-04:ohno @st-04:oink@st-03:ok ?@st-08:okey|bHM #@st-07:oljefat@st-03:onesynthbass@st-06:operator@st-05:orchestra@st-01:organ @st-09:orgel1V@st-09:orgel2a@st-04:orhmn@st-04:ormn@st-01:outlawh@st-04:oxygene<@st-07:oxygeneplink@st-07:oxygenetonk^@st-07:oxygenetuneX@st-04:p3000brass-hit=@st-04:p3000chicken*@|cTst-04:p3000kick-2-g @st-04:p3000kick-elx@st-04:p3000kick-gated@st-04:p3000sn-wood-at@st-04:p3000snare-2-g@st-04:p3000snare-3-g@st-04:p3000snare-g\@st-04:p3000snare-lp @st-04:p3000snare-wood @st-04:p3000strike-2@st-04:p3000tom-el0@st-04:p3000woodbblk-l@st-04:p3000woodblk-l@st-04:pah@st-01:panfluteV@st-02:paper (@st-03:|dԂwparanoid@st-03:party]@st-02:peck T@st-04:peoplemetall@@st-02:perc-agogo@st-02:perc-bongo@st-02:perc-drytom (@st-02:perc-handdrum:@st-02:perc-taiko@st-02:perc-timbale@st-02:perc-timpani@st-01:perco@st-06:percus@st-09:percus1@st-03:phaselock@st-08:phone@st-04:piano|e}:[@st-01:pingbells @st-02:pinvoice@st-07:pipeorgan@st-08:pippip@st-02:pitchbrass @st-01:pizza\@st-02:pizza2 @st-04:pleasurey@st-04:plingf@st-07:plingsound@st-08:ploom@st-02:poison @st-01:polysynthV@st-06:pop@st-09:pop1@st-01:popsnare1|fO@st-01:popsnare2@st-01:popsnare3F@st-07:power @st-01:pulse @st-03:raphornblastg@st-02:realkoto1@st-02:realkoto2 @st-02:reflex @st-07:rendezgjonk@st-07:rendezglid V@st-07:rendezpiano @st-07:rendezshort @st-07:rendezstring ~@st-04:rendezvous\@st-06:reverbC@st-05:revsnare@|Q5{Gst-01:richstring z@ st-06:ride*@st-01:ringpianoV@st-02:ringtone@st-04:rock @st-05:rockkeys@st-01:roombrass@st-01:rubberbass@st-02:sawjump @st-07:saxophone@st-09:schirch1@st-09:schirch2V@st-09:schuss1V@st-04:scnep@st-09:scratch1 @st-04:scratchme Z@st-04:sc"hƂd tst.b d0 beq.L mt_arpegrt cmp.b #3,d0 beq.L mt_arpegrt cmp.b #4,d0 beq.L mt_arpegrt cmp.b #5,d0 beq.L mt_arpegrt cmp.b #1,d0 beq.s mt_portup cmp.b #6,d0 beq.s mt_portup cmp.b #7,d0 beq.s mt_portup cmp.b #8,d0 beq.s mt_portup cmp.b #2,d0 beq.s mt_portdwn cmp.b #9,d0 beq.s mt_portdwn cmp.b #10,d0 beq.s mt_portdwn cmp.b #11,d0 beq.s mt_portdwn cmp.b #13,d0 beq.s mt_volup rts mt_portup: clr.w d0 move.b 3(a6),d0 sub.w d0,22(a6) cmp.w #$71,22(a6) bpl.s mt_ok1 move.w #$71,22(a6) mt_ok1: m"iinove.w 22(a6),6(a5) rts mt_portdwn: clr.w d0 move.b 3(a6),d0 add.w d0,22(a6) cmp.w #$358,22(a6) bmi.s mt_ok2 move.w #$358,22(a6) mt_ok2: move.w 22(a6),6(a5) rts mt_volup: clr.w d0 move.b 3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldwn mt_pushvol1: add.w d0,$12(a6) cmp.w #$40,$12(a6) bmi.s mt_ok3 move.w #$40,$12(a6) mt_ok3: move.w $12(a6),8(a5) rts mt_voldwn: clr.w d0 move.b 3(a6),d0 mt_pushvol2: and.b #$0f,d0 sub.w d0,$12(a6) bpl.s mt_ok4 clr.w $12(a6) mt_ok4: move.w $12(a6),8(a5) rt"j _8s mt_arpegrt: cmp.l #1,mt_counter beq.s mt_loop2 cmp.l #2,mt_counter beq.s mt_loop3 cmp.l #3,mt_counter beq.s mt_loop4 cmp.l #4,mt_counter beq.s mt_loop2 cmp.l #5,mt_counter beq.s mt_loop3 rts mt_loop2: clr.l d0 move.b 3(a6),d0 lsr.b #4,d0 bra.s mt_cont mt_loop3: clr.l d0 move.b 3(a6),d0 and.b #$0f,d0 bra.s mt_cont mt_loop4: move.w 16(a6),d2 bra.s mt_endpart mt_cont: lsl.w #1,d0 clr.l d1 move.w 16(a6),d1 lea mt_arpeggio,a0 mt_loop5: move.w (a0,d0),d2 cmp" k*a.w (a0),d1 beq.s mt_endpart addq.l #2,a0 bra.s mt_loop5 mt_endpart: move.w d2,6(a5) rts mt_rout2: lea mt_sampleinfo,a0 move.l a0,a3 add.l #$0c,a3 move.l a0,a2 add.l #$1d8,a2 add.l #$258,a0 move.l mt_partnrplay,d0 clr.l d1 move.b (a2,d0),d1 mulu #$0400,d1 add.l mt_partnote,d1 move.l d1,mt_partpoint clr.w mt_dmacon move.l #$dff0a0,a5 lea mt_aud1temp,a6 bsr.L mt_playit move.l #$dff0b0,a5 lea mt_aud2temp,a6 bsr.L mt_playit move.l #$dff0c0,a5 lea mt_aud3temp" l,a6 bsr.L mt_playit move.l #$dff0d0,a5 lea mt_aud4temp,a6 bsr.L mt_playit move.l #mt_speed,d0 mt_rls: dbf d0,mt_rls move.l #$8000,d0 add.w mt_dmacon,d0 move.w d0,$dff096 move.l #mt_aud4temp,a6 cmp.w #1,14(a6) bne.s mt_voice3 move.l 10(a6),$dff0d0 move.w #1,$dff0d4 mt_voice3: move.l #mt_aud3temp,a6 cmp.w #1,14(a6) bne.s mt_voice2 move.l 10(a6),$dff0c0 move.w #1,$dff0c4 mt_voice2: move.l #mt_aud2temp,a6 cmp.w #1,14(a6) bne.s mt_voice1 move.l 10(a6),$dff0b0 mo" m&)ive.w #1,$dff0b4 mt_voice1: move.l #mt_aud1temp,a6 cmp.w #1,14(a6) bne.s mt_voice0 move.l 10(a6),$dff0a0 move.w #1,$dff0a4 mt_voice0: lea mt_modulate,a0 move.l mt_partnote,d0 lsl.b #7,d0 add.l #$10,d0 move.l d0,mt_partnote cmp.l #$400,d0 bne.s mt_stop clr.l mt_partnote addq.l #1,mt_partnrplay clr.l d0 move.w mt_maxpart,d0 move.l mt_partnrplay,d1 cmp.l d0,d1 bne.s mt_stop clr.l mt_partnrplay mt_stop: rts mt_playit: move.l (a0,d1),(a6) addq.l #4,d1 clr.l d2 mo" nWDve.b 2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 tst.b d2 beq.s mt_nosamplechange clr.l d3 lea mt_samples,a1 move.l d2,d4 mulu #4,d2 mulu #$1e,d4 move.l (a1,d2),4(a6) move.w (a3,d4),8(a6) move.w 2(a3,d4),18(a6) move.w 4(a3,d4),d3 tst.w d3 beq.s mt_displace move.l 4(a6),d2 add.l d3,d2 move.l d2,4(a6) move.l d2,10(a6) move.w 6(a3,d4),8(a6) move.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) bra.s mt_nosamplechange mt_displace: move.l 4(a6),d2 add.l d3,d2 move.l d2,10(a6) move" o.w 6(a3,d4),14(a6) move.w 18(a6),8(a5) mt_nosamplechange: tst.w (a6) beq.s mt_retrout move.w (a6),16(a6) move.w 20(a6),$dff096 move.l 4(a6),(a5) move.w 8(a6),4(a5) move.w (a6),6(a5) move.w 20(a6),d0 or.w d0,mt_dmacon mt_retrout: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 move.w d0,$dff09e tst.w (a6) beq.s mt_nonewper move.w (a6),22(a6) mt_nonewper: move.b 2(a6),d0 and.b #$0f,d0 cmp.b #14,d0 beq.s mt_zx1 cmp.b #15,d0 bne.s mt_noset move.w 2(a6),d0 and.l #$f,d0 move.l "pspd0,mt_tempo rts mt_zx1: move.w 2(a6),24(a6) rts mt_noset: tst.b 3(a6) bne.s mt_noclr clr.w 24(a6) mt_noclr: cmp.b #3,d0 beq.s mt_modvol cmp.b #6,d0 beq.s mt_modvol cmp.b #9,d0 beq.s mt_modvol cmp.b #4,d0 beq.s mt_modper cmp.b #7,d0 beq.s mt_modper cmp.b #10,d0 beq.s mt_modper cmp.b #5,d0 beq.s mt_modvolper cmp.b #8,d0 beq.s mt_modvolper cmp.b #11,d0 beq.s mt_modvolper cmp.b #12,d0 bne.s mt_nochnge move.b 3(a6),8(a5) mt_nochnge: rts mt_modvol: move.w 20(a6),d0 bra.s mt_push mt_modp"qger: move.w 20(a6),d0 lsl.w #4,d0 bra.s mt_push mt_modvolper: move.w 20(a6),d0 lsl.w #4,d0 add.w 20(a6),d0 mt_push: add.w #$8000,d0 move.w d0,$dff09e rts mt_aud1temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0001,$0000,$0000 mt_aud2temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0002,$0000,$0000 mt_aud3temp: dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0004,$0000,$0000 mt_aud4temp: dc.w $0000,$000"\0,$0000,$0000,$0000,$0000,$0000,$0000 dc.w $0000,$0000,$0008,$0000,$0000 mt_partnote: dc.l 0 mt_partnrplay: dc.l 0 mt_counter: dc.l 0 mt_tempo: dc.l 6 mt_partpoint: dc.l 0 mt_samples: dc.w $0000,$0000 mt_sample1: dc.l 0 mt_sample2: dc.l 0 mt_sample3: dc.l 0 mt_sample4: dc.l 0 mt_sample5: dc.l 0 mt_sample6: dc.l 0 mt_sample7: dc.l 0 mt_sample8: dc.l 0 mt_sample9: dc.l 0 mt_sample10: dc.l 0 mt_sample11: dc.l 0 mt_sample12: dc.l 0 mt_sample13: dc.l 0 mt_sample14: dc.l 0 mt_sample15: dc.%sI ?p?p?pM`hE @AxP (i`"@p\9$BOAH1."a@NS D"\?`p0 bc#@c8Hv?؀P1؍`P±@ #p C @LP `Chf(̀A0ãT v9Ȉ`yP` S v1Xy1wb  #((-v?t1bpaGOE81cFn Ҁq~ί]@ؗy@Ked삐88π́@p`ʼ; Py@(,6{"bvx2&v`@x`; |2@p1hg?a m; "q@@e#@@;LPxaC;Rb|`QE*!@*I"B+!NaA *@)Es%@ ɤ~x-"NAa&03㱺 @ph@P( uL_( M ;8? @@H (e3}1(?= a΀<0S?8t2i   4 ) h8b|0糙H(11Ad2%H0a(I1 B0%w3̀ZALW!?Iq@xy/9<<`P.K` H!`(v葅R? H R)H?'3ðaLDPB1ؠx'@d`qy`<b1ADP80(y 27bQ3JAA~œAp|F; 19Pr7H` 9(d0cPq;!@Ţ P$8pC  3䃰!'20p F^O`A<8 !g*PB0h7 44o7tg2@p9X(,xxX4+Dq UЀFJl]hJ 7f @$KP`H y!1Y 3j| @- h@@1 Ba4 BA(T`R )   ?x &" *! $@d `0IȀpH` @TuB0{:@+QJ/ 0Lr`@܀ , % MsFp @ 4M&CHĀw@\$8  @PP3 gnjtMH āU:5l9# X7@B`jp'  0@0 f$;I@Ԅ ppb8`O xb@0(?. (@ 0._$hX |@6AV*@<@Q( O@('0 Hh@#dNU~  00 Y Q0A0Uh 5$jp(_(b6ap2wDB$vVg s0rg'Pa`@<3F/x 1R Lê<~`(@0  xF%  }` vxn@JQ [t!@h Bkx@1P'h6F @&BB5y,2 `B!`%a*`c&! @ x @ۀ  0\3pqX  -! k@ k XЦ!~\Pc e@ a<<"e@Ay(3hh0ؖ 6P`(fA€V,]20~@&lXB^$Eh CLiЭ"!ऀ1Tcx&6<q@j€@~b4 x'n!R j7p&Ѥ@f~@v oS  Ap0(z *P4 b=xLh@GQgsC*t^BBCL% (HGh Q:`c0m,8P5cN)\&4kE,BRLp Ld-0aa dРjNj*@FH7i(X@PpcP0z G2 @C,p>=n02B x,& (EQAT ǂ@!AY 02!T @f`0Mx7a8B0 W0 ]B fP@0lU @BHc0ǸSVHP ? h@ى`;Q0S)R I(  @B' :@V] ͝@yց9Y::y P @1wv6"58N83 d3 b< 5t 幠)LM lJ*qxZ 0!$]m*g`x L Zj١ OC: (x=<s$Z [ 1 с @`CSK3`"DS"ji@PlT` ZXZA` 7pAbAs.M "@V9$AxW07{Bq<Jp7{K#07 l◀kA$h;C ny深s?!X=4122!(-`C08p>`~FmɁ׌;0p~x%M  񅡗D` Zyš(b!vŰ 8G3pjX$< -,\KP"[.p?dd.K@`7r!8gfcj(SCNxX:)8Llmj0x, iPxm= m PREaHd9,ah\J`WAC%mLi x \<7Z9 Zڻ0 ` Yڛx`@ )gKSw@89 \z1<t` 86 ݁<.ً $6`A S!`qخ@H t4./A0,8p`xq%qxa 0Z= <,X40'Hmx-MM̓Pm@A. h8us6*B!A(wv0 D(w516d5 2252vqrt2  CLm퍬À0hPx ܍ }] '8@Gx  )A`?><808y0d@@Jd5$0q     B6c{g5(ʀtGkS}-q`Z %o@i<#AȂ ȀD2  @C"2`DdAD !d@"A`!@I`4 (@y <` 6$$kLL@V +31 ):9;&2!  "*# 0(8$'5^[TVt|8 LM0ymSM[ed4b4f4a4e4@_O]5mGɈɘɄɔ@_O]5mG٘لٔԖ@_O]5mGńŔҐ|W=tն]VSBC#3 +<^[TVt}!-zl  P6t8 b  X` h@ n> D5 `N H0`xF(8eR@@@$KN @ l dZF   @ T_rl,T J& ? 6(9, b$P@; pN(&@t`f0LM, b$(3>HlEf0PP5 m@g!ψD :0v$$0Y` i^P TP`OpP 0E?`BrP)p@@*bP , NA] , 8p3``!@րP)`Q @x( 0  )X?A%_ЄBx¸`-0%}Ua` (W D  ąD( `"`B9 Hj@ F e@U`y30$b`AU 2d5< p 0Ҁ @HE@l ( " l}P)(VA@`'1 2hf 0 #P0܆)8d!!ABid7B!@d @B  F T A`PB1A Jp3 l-@3(El` 8T3 Y"U VC<0:J@@ A@H`B  <:!!G@',0ncqpw((`OzzbAP'#M7< Xx  AZE ~l ̇"[@ *.Ek%>k| Chg(4e 0p6fh &҃h   (6dh!҃0>DNX5 R` `e > p4@îƒքFH";ˇ@€` B 8AFqiM%X[%k:5 (!x A%@@BDHh@U !`@BT>s  x 1`R.XV@  BvA00@ `@@6 0(@@ATA 01" Р@ g@ p8p@`m@rP~3$C]-U 7!qQU`A"BjA 0@ᰠ l ((O2 y`a)l` w T`iq 0`M 0 a8L%o[oY2 1p! 6P*' 5Q Dk@Ċy@H[H\ HH! A( B !U403@ Jej fq`fd" ~ A+p 3v< dvl `vS Ρa5Z ,@(V*rbH '~sW@X'@!(l @`82X;01@ @@` $\b d P @lH68 H p@ہ$A=$6p(31p(0p(0p(500p01 l` @F`c0!0 _06V{R%v0A84P0ʀ@ ! #fAd@X @P$04#̸3 10e` U*P*X D``uH2 HJ @@ЈLȁ- \H hS@)/pЀ=4f 6F@pt"h300;  a&J*P3hH`tH*5@@`?%5!b8 ȸ@`0! OY, @נ FS(hMDN (|܆A Ã!܁H;9K(6=:=Cv 4 ,E[ ZVD̂l$ABV(Y@   D"A  08P5A D@@>)LDmB@4 5@@@W iȐs# go: : Tempo is usually used to change the speed in which the score ------ is played. You just write the speed in the info byte. You can choose a tempo from 1-15 ($01-$0F). Example : D#2 3f06 - Normal Speed --- 0000 E#3 3f04 - Higher Speed --- 0000 C#3 3f08 - Lower Speed Important: 1) You have to set the tempo at the beginning of every score. Otherwise the score may be played in another speed than you wa# Ynt. 2) A tempo of 0 is equal to a long, long loop! 3) The tempo affect all voices! Modulation : One voice can be programmed to modulate another. This means that ---------- either the volume, period or volume AND period are no longer static values that are set before starting to play a note, but that these are subject to change during play. It can be seen that this provides a way to program viberato and tremolo effects. When a voice is progra# Jimmed to modulate, it always modulates the next voice. So voice1 modulates voice2, voice2 modulates voice3 and so on. When a voice is told to modulate another, that voice is made silent. When voice4 is told to modulate, it is only made silent, because there are no 'higher' voices than voice4. How does this modulation work ? Well, say you programmed voice1 to modulate only the volume of voice2. The volume of voice2 is no longer defined by the v#  ׶olume of that instrument. Instead, the words in the sample of voice1 define the volume for voice2. So if the sample of voice1 looked like this : $0030,$0032,$0034 etc., the volume of voice2 would become $30, then $32 and so on. This is used to introduce a viberato to voice2. The period of voice1 defines the speed of this viberato effect. When voice1 was programmed to modulate the period of voice2, the words in the sample of voice1 woul#]7d define the period of voice2. When a voice is programmed to modulate the volume AND the period of the next voice, the first word in the sample defines the volume, the second the period, the third the volume again and so on. Arpeggio : Arpeggio is used for simulating accords. It does this by -------- rapidly changing the notes while playing an instrument. Arpeggios are selected whenever the info byte has a non-zero value and no other commands are se#hlected. When arpeggios are used, SoundTracker looks five times during the play of one note, at the information contained in the info byte. Each nibble (4 bits) in this byte defines how many notes SoundTracker must add to the the note currently playing. In each of the five passes SoundTracker does the following with the information contained in the info byte : 1 - Add the first nibble to the current note. 2 - Add the second nibble to the current no#0*te. 3 - Play the current note. 4 - Add the first nibble to the current note. 5 - Add the second nibble to the current note. Portamento : Portamento is used for 'sliding' of the instrument. ---------- If portamento is in use, the information contained in the info byte will be added to (or subtracted from) the period of the note playing in each of the five passes. Example : D#2 3208 --- 0208 --- 0208 --- 0210 etc. V#.olume : One of the enhancements that the V4.0 version provides is the ------ ability to change the volume at any time during play. When command 12 ($C) is selected, the volume is set to the value contained in the info byte. The volume will remain at this level until a next SAMPLE is played. At this time, the volume is reset to the default volume level of that sample. Example : C#1 1C22 - Set volume to $22 and use instrument # 1 to play the C#1 note. D-2 000#]0 - Use instrument # 1 to play the D-2 note. (Volume level remains at $22) B-1 1000 - Use instrument # 1 to play the B-1 note and set volume to default value for that instrument. It is also possible to "slide" the volume up or down while playing. In this case the first nibble of the info byte defines the amount at which the volume must be incremented, and the second nibble the amount at which it must be decremented. Example : D#3 2D20 - Slid#We volume up, amount = 2 --- 0D20 --- 0D20 etc. C#3 4D03 - Slide volume down, amount = 3 --- 0D03 --- 0D03 etc. This is all very well until you try to slide the volume and use portamento or arpeggio at the same time. For this reason, SoundTracker V4.0 provides an auto-slide mode. You set the auto-slide mode with command # 14 ($E). Set the amount at which the volume must be slided up or down as normal. Now play your a#D$rpeggio or portamento and the volume will be slided as well. You return from auto-slide mode whenever an info byte with a zero value is encountered. Example : E-2 CE02 - Set auto slide, amount = 2 --- 0203 - Portamento AND volume slide down. D-2 3203 - Volume to default level of instrument #3, portamento and volume slide down. --- 0203 G-1 1000 - Return from auto-slide. Play note G-1 with etc. instrument # 1. The Playroutine. --------RƍmSoBcT5#|W>y ߿|<>~߿㟿w>`gـf͛߳#nd : This number tells SoundTracker what special functions must be ------- preformed while playing the note. These functions are as follows : 0 - Normal play or arpeggio. 1 - Portamento up. 2 - Portamento down. 3 - Modulate volume of next higher voice. (possibly with arpeggio) 4 - Modulate period of next higher voice. '' 5 - Modulate period + volume of next higher voice. '' 6 - Modulate volume of next higher voice and portamento up. 7 - Modulate#  wm> period of next higher voice and portamento up 8 - Modulate period + volume of next higher voice + portamento up. 9 - Modulate volume of next higher voice and portamento down. A - Modulate period of next higher voice and portamento down. B - Modulate period + vol of next higher voice + portamento down. C - Set volume. D - Slide volume. E - Set auto-slide. F - Set TEMPO! Info : This byte contains the additional information for the commands. ---- Temp#>|eir Equalizer, but without TEMPO setting!!! Modifications : TEMPO setting during play! ------------- Modulation. Enhanced portamento. Volume changing during play. Volume sliding up/down during play. Standard USA keymap. Playroutine for use in demos etc. Correct (?) spelling. (Karsten, it's spelled "Length" and NOT "Lenght" !!) Patterns. --------- Any piece of music written with SoundTracker V4.0 is build up from patterns. SoundTracker holds a #Etable with information about the sequence in which these parts must be played. With 'Position' you determine your position in the table. With 'Pattern' you define what pattern to play at that position. 'Length' defines the total size of the table. The Keys. --------- The original (V1.21) version of the SoundTracker had a German keymap. Version V4.0 supports a standard USA keymap and this ensures compatibility with nearly all Amigas. The keys on your Amiga have been grouped to repr#4esent the layout of a two-octave piano-keyboard. You can "shift" the keyboard one octave up or down with the aid of the F1 and F2 keys, thus incrementing the range of the keyboard to three octaves. While editing: Cursor-keys move cursor. -------------- F6 - Set cursor to first line of pattern. F7 - Set cursor to 16th line of pattern. F8 - Set cursor to 32th line of pattern. F9 - Set cursor to 48th line of pattern. F10 - Set cursor to last line of #M:pattern. DEL - Delete note under cursor. Instruments. ------------ You can use up to fifteen different instruments in one music-piece. Before you can use a sample as an instrument, some values must be defined. You can do this by either using a preset, or by setting these values your- self. Length : This is simply the length of the used sample in bytes. Volume : This is the default volume of that instrument. Replen : When replen is set to 2, each instrument wil#&l be played once. When replen is set to any other value, the instrument will be repeated until an other note is played. Repeat : SoundTracker can also be programmed to repeat just a part of a sample constantly. This is usefull when playing waveforms. Whenever Repeat is set to a non-zero value, SoundTracker will just play a part of that particular sample. In this case Repeat defines the offset and Replen the length of the part that must be repeated. Notes. ------ #h C # 1 3 C 2 3 / / | \| / / | Arpeggio, portamento and volume info. / / Command / Inst# Note to be played. Note : This is simply the note that must be played by that particular ---- instrument. Inst# : This is the number of the instrument that must be used to play ----- the note. When the instrument number is zero, the last selected instrument will be used. Commaodule length. If the name makes sense, and the instrument names seemes to be ok, then choose the option to play the song. If it sounds like shit or the system falls, it wasn't a ST module or maybe a damaged one !! If you don't think it is a ST mod, then choose the option Continue with Search. Press RETURN for more..... If you can hear that it is the right song but the instruments sounds a bit strange it is possible that it is a ST V.1,V2,V3- tune. If you think this is th {e case, then choose the Save song option. Then you can load it into your soundtracker and save it with the instruments. But if the tune plays well.Choose the save mod option. The module will be saved and you can use it with the ST v1.8 or v9 replay routine. (Of course you can also save it as a song.) (Or you can save just an instrument !!!) Just load the module at the block named DATA. But be sure that the block length is right !! When this program was made, V1.8 and V.9(DO CCnC) was only spread among some privileged persons, at least the V1.8. And this program was made to locate just V1.8 and V9 tunes. Don't blame me if you can't ripp a ST1,ST2,ST3,,,,tunes! Just wait untill the world get their hands on the supreme SoundTrackers, V1.8 and V9 !!! If you don't understand a shit if this, then Don't use this program !!! Press RETURN for MENU. This will take a while. Searching....... Possible SoundTracker tune found !!! At location: SoundTra -$cker song name:dos.library Instrument: nr,name and length. bytes. , . pattern length. Highest pattern number:. Module length: M to save module.S to save song.C to continue Search.P to play Song. RETURN for Menu. I to save an Instrument. What to do:st-00:songs/df0:mod.a9faBNu# y `d <B$S@nQR yCrXԈ <"B2(*ԁQ3333By BB y <(zH#x#xNu#x33333NuHa93 LNsHRy y gM .gKaHM* .gKa2MB .gKaMZ .gKaLNu. g gtNu y g* y g* y g, y LލcMƍaNƂOO jPލCQލo|{@st-08:eow @st-06:epiano @st-07:equinoxeplonk @st-07:equinoxeplopp^@st-07:equinoxtone@st-06:eug@st-01:exbells@st-07:explosion8@st-03:factorynoise@st-05:fades @st-01:faerytaleb@st-02:fatbrass @st-07:female @st-01:filterbass @st-07:flickbass@st-07:flute1|z,@st-07:flute2@st-07:flute3@st-02:friday @st-04:frontsnarev@st-01:funbass @st-04:funfun@st-05:funk1~@st-05:funk2@st-01:funkbass Z@st-09:future1@st-09:future2 @st-09:future3V@st-09:future4V@st-09:future5V@st-09:future6V@st-09:future7a@|X#_st-07:fuzz P@st-03:garbagemetal@st-04:garv@st-05:gatebase@st-01:gato @st-09:geschirr1 @st-09:geschirr2a@st-09:geschirr3V@st-09:geschirr4@st-09:geschirr5@st-09:geschirr6 @st-09:geschirr7V@st-09:geschirr8u@st-09:geschirr9A@st-04:giggle@st-09:glas1 @st-06:gl|6ass@st-07:glidU@st-02:glockenspiel@st-04:goodtimes@st-01:great @st-02:growl @st-06:grunts@st-09:guitar1@st-09:guitar2_@st-09:guitar3V@st-09:guitar4@st-09:guitar5a@st-07:gummikrokodilY@st-03:hag@st-05:halfnotes@st-01:hallbrass\@st-02:hammerbass|&(t@st-03:hammerhihat 3@st-04:happyc@st-02:hapsi @st-03:he@st-01:heaven @st-01:heavysynth$@st-01:heifer@st-06:hey@st-06:highhat1@st-06:highhat2@st-06:highhat3@st-06:highhat45@st-06:highhat5[@st-06:highhat6@st-06:highop1f@st-06:highop2 |4@st-06:highop3@st-06:highop4'@st-02:highvibes@st-01:hihat1@st-01:hihat2@st-02:hihat3@st-02:hihat4@st-05:hitbass@st-04:hitme@st-02:hitme1@st-02:hitme2 (@st-09:holz1q@st-09:holz2A@st-09:holz3@st-09:holz4 @st-07:home @st|$t-01:hooman @st-01:horns@st-02:hosbass @st-07:houseguitar @st-07:housetuneclave@st-07:hqcbass@st-07:hqcbass2@st-07:hqcdrum @st-07:hqcsoft@st-07:hqcstring @st-07:hqctune@st-09:hua1A@st-09:hui1V@st-09:hui2V@st-07:ih@st-09:iloveyou1 @st-08:itsa|@law v@st-01:jahrmarkt1$@st-01:jahrmarkt2$@st-02:jamjam @st-07:japaneeseharp@st-07:jarreskutt P@st-01:jetes@st-05:jp8hornx@st-03:kermie1&@st-03:kermie2 @st-03:kermie3@st-03:kermie4@st-03:kermie5@st-03:kermie6@st-03:kermie7@st-04:keys@st-03:keysynth|^y@st-04:klick@st-01:klickorgan "@st-08:klingA@st-09:klirr1 @st-03:klong@st-07:kolasmack@st-01:korgbass@st-01:korgbeau @st-01:korgbow @st-02:korgdoi @st-01:korgfilter@st-01:korgstring@;st-01:koto @st-07:kraftwerkbass@st-07:kraftwerkgurad@st-07:kraftwerkorgan@|_$st-07:kraftwerksnare@st-07:kraftwerkwood@st-09:kuckuck1@st-04:lah@st-03:lasershot@st-06:laugh'@st-01:leader@st-04:leftright@st-07:lergokv@st-07:lessiv@st-01:licks @st-02:licks2 @st-02:longslap@st-08:lowpiano {@st-01:magicb@st-01:marimba@st-0x]PO)@:fL pN]Nu m "h$/)N`XO(gRHzm D/(6N2PO&@Jg4Hx/ Ng l>N/-NXON]NuNU/+mJ g,x` /NXOR0,NHm0,N//, NPOJBg lBNJ*g /,*NXOJ.g /,.NXOJ2g /,2NXO,x.)g/ K N*_`B_NsJf*J&g"/,"/,&NPO ,R//,NPO`Nz/,NXO -.lNu(N]NuNUH (-r ND$@ Jm0,NHlJf)|6pLpN]Nu0*|f/N2XOBp`Hp4&HCHCBCԃH@H@B@ЂLNuN"/,lNN"/,lNNL,lN,lNNL,lNNL,lNN,lNL :.NL,lNN"/,lNNL,lNHL ,lNL NuN"o,lNbNL,lN:"o,lN,lN|N"o /,lN. o,lN,l"o /N"o,lN o,lNL,l:N o,l:N o,l:N\ X(\:}hS@. xq,g$ * E%h%FHxHz8NPO%@/NXO/,:NhXOB:`icon.libraryWINDOW* o Jf SNubjO+ part 0 to part 45 (* PlayZound(0x00,0x46); *) and the second tune * from part 46 to part 8e (* PlayZound(0x46,0x8f); *) * */ main(argc,argv)int argc;char *argv[]; { if(argc==3) { if(LoadZound(argv[1],argv[2])) /* Try to Load music */ { PlayZound(0,0); /* Start the music */ for(;(*(char *)0xbfe001)&64;); /* Wait for LMB */ KillZound(); /* Stop music */ QuitZound(); /* Free memory b */ }else AJMessage("\nIt won't work this way!\n"); }else AJMessage("Usage: LetsHearIt \n"); } AJMessage(mes)char *mes;{Write(Output(),mes,strlen(mes));} Activas. Enjoy it! * * Note: PlayZound now takes to arguments: * the first and the last part to be played. * specifying 0,0 means: play the song as last saved. * This parameter passing allows you to define * different tunes in one datafile * for example: the first tune could be * fromv6_ ; If not: exit clr.b _partvec ; Install new part add.b #1,_tabvec ; Next tabel position move.b _tabvec,D1 ; cmp.b _EndTab,D1 ; Are we at the end of the song? bne exit ; If not: exit move.b _StartTab,_tabvec; Restart song exit rts #endasm note==63) beq dontplayit ; move.w 6(A2),D0 ; dmaconhulp|=audio->dma; or.w D0,_dmaconhulp ; move.l 12(A2), (A3) ; Poke Samplestart move.w jƁ],0x00b4,0x00aa,0x00a0,0x0097, 0x008f,0x0087,0x007f,0x0078,0x0071 }; static UBYTE count,partvec,tabvec,tablen=2,speed=6,StartTab,EndTab,loadstart,loadend; static struct TabData {UBYTE partno,volume,instradd,noteadd;} Table[TABLEN][VOICES]; static struct SampleData {ULONG start;UBYTE name[40];UBYTE vol;UWORD length,replen,restart;UBYTE preset;} Sample[16]; static ULONG Parts[NOPARTS][PARTLEN]; static WORD dmaconhulp; #include "Player.c" PlayZound(start,end)register Uj{ÃBYTE start,end; { if(start||end){StartTab=start;EndTab=end;} else{StartTab=loadstart;EndTab=loadend;} SetUpInterrupt(); } QuitZound() { register int i; for(i=0;i<16;i++)if(Sample[i].start)FreeMem(Sample[i].start,ZMemsize[i]); } static LoadSample(dir)register char *dir; { register ULONG lock,dirlock,fh,ret=FALSE; if(!(Sample[SN].name[0]))ret=TRUE;else { if(lock=Lock(dir,1005)) { dirlock=CurrentDir(lock); if(ZMemsize[SN]=FileSize(Sample[SN].name)) { if(Samplj(U]e[SN].start=AllocLoad(Sample[SN].name,ZMemsize[SN],MEMF_CHIP)) { ret=TRUE;*(UWORD*)(Sample[SN].start)=0; Sample[SN].length=ZMemsize[SN]/2; } }UnLock(CurrentDir(dirlock)); } } return ret; } LoadZound(songname,path)register char *songname,*path; { register int i,ret=TRUE; long fh=Open(songname,1005); if(fh) { Read(fh,&MaxTable,1);Read(fh,&MaxPart,1); Read(fh,&loadstart,1);Read(fh,&loadend,1);Read(fh,&speed,1); for(i=0;i| Ƀst-02:digipop @st-04:digital@st-06:dingdingL@st-07:dink@st-08:dishdoch @st-03:distortedguitar @st-04:dmbass1X@st-04:dmbass2&@st-09:donner1V@st-04:doorV@st-09:door1@st-05:doublebass@st-05:doublesnareT@st-07:dovoice0@st-09:drake1V@st-01:dreambells@st-06:| u`>drip@st-06:droehn'@st-06:drums'@st-06:dum@st-05:durstrings)@st-05:dursynth@st-01:dxbassF@st-01:dxtom@st-06:dynamic!7@st-07:e @st-04:e2femchoirt@st-04:echotrump\@st-08:ehoh u@st-02:elecguitar @st-01:electom@st-02:elopin Z@st-07:elpianoVˤl0008l|0x0`0`00008l00000ll``?|{{{V@{??>|>|>~9y;gyou. here some info about the files. * Zound.o : The linkable Aztec object file * Zound.c : The source from Zound.o * LetsHearIt : A 4K program which plays a song for you * LetsHearIt.c : The C-source from LetsHearIt including a (clear ?) discription how to use my soundroutines in your own (Aztec!) C-Programs * ZBurster : Like LetsHearIt, it plays a song But after pressing LMB it will give you some 9ee usefull information about how fast your song will be played when you use it in your own programs ( Mean time is Approx 1.7 rasterlines per frame) * GuruGoodBye.o : This Linkable object file is to be found is directory CFiles on this disk. It saves you from GuruMeditations No: 3,4,5,6,7,9,10 and 11. See CFiles/Guru.c for how it should be used. GETTING STARTED WITH THE Z9]OUNDMON PROGGIE; INPUT THE NAME OF THE SONG TO BE LOADED AT THE LEFT UPPER SCREEN AT THE PLACE 'SONGTITLE' e.g. zoundmonsongs/trossport AT THE RIGHT UPPER SCREEN YOU SEE 'SAMPLEPATH' PUT HERE THE PATH WHERE TO FIND THE INSTRUMENTS e.g. df1: OR st-01: *** IMPORTANT *** YOU CAN USE THE WEB INC. SOUNDTRACKER DATA DISKS FOR THIS PROGRAM! SIGNED; THE WEB INC. P.S. IF YOU HAVE SOME PROBLEMS USING THIS PROGGIE OR YOU HAVE SOME QUEST9nNcpIONS CONTACT THE WEB INC. BYE FOR NOW........ THE SAMPLES HAVE BEEN CHANGED TO PROTECT THE INNOCENT! in your own programs ( Mean time is Approx 1.7 rasterlines per frame) * GuruGoodBye.o : This Linkable object file is to be found is directory CFiles on this disk. It saves you from GuruMeditations No: 3,4,5,6,7,9,10 and 11. See CFiles/Guru.c for how it should be used. GETTING STARTED WITH THE ZL~9pQzEFa(QNu*g\*f0Rj*f`2*⁂HAB2*A7p(`<0*j"g2R@5@4* "j7B`*g2*j5A7A&7j NuB0*"IHA-HA|@e J@k0<@`B@4NuB,zEF&|K쀜B,*g `BB,ЁC(1.1 r<?fa`P@ r@*f-*B@*@A5p*gT*f @ <@Bj`HpGA00pj5@ Bj0|BA,M5@"`*g |H5@ 2<L+*g*f-fa`D*%g@%S6M쐜.,H5@a%V 5n.5n0 B0.2Ъ %@g*%*$g&@$3 *?g0*l& 7j7j7R(XQ`R, , fB,R,,,flNuNUH - -JfJg DE` llNJL0N]NuNU/xr6 N A쐜Jg" AR/0r6 N C쐜/1N PORm(N]NuNUH $m~p,r6N tA쐠J0f~`Hx/ N PO(g/N XO*p,r6N X 9=Jy.f& 9R=g 9S=g 9T=gNu 9R=g 9S=g, 9T=g y=f$<3=I` y=f$<3=I` y =f$<3=` y =f$<3 =II` y =f$<3 =I` y =f$<3 =I` y=f$<3 =`n y=f$< mA/3=II`P y=f$<3=I`4 y=f$<3=I` y=f$<3= y>X 9=p09=HH=PP3=p09=29= Ёh#=ra"ZanB9=NuJ9=fNuJy=g. y=g$ y =g y=g edit=zgVNurA+9=p(0g R 'fNuB9=HLv"y=613=J=zg y>X 9=p09=a0HH09=HH0Jy=gp09=((`h3= y=LH#=#=p09=a ڟ+r29= Ёd#=ra!d3==R=ra aJyKpfJy=fNu*| y=fK3>` y =fK3>`f y=fK3>`LJy=fK3>`4NuJ=~g"9=⁲>oByKpNuR@@?3KpNuM(09>3*".;V0.g n*;n;y=09=a;n <Q09>y@3n*;nBy>Nu9= Ng OgR Lg MgxBy>NuJy>g:Ry@Jy.fJy.f y@jNu y@jNu y@jNuBy@3> ۔j patt=~gSy=y?=aNuJy>g:Ry@Jy.fJy.f y@jNu y@jNu y@jNuBy@3> patt=~gRy=y?=a*NuJy>g.Ry@Jy.fJy.f y@jNu y@jNuBy@3>Ry= y=kBy=`\Jy>g.Ry@Jy.fJy.f y@jNu y@jNuBy@3>Sy=Jy=j3=Nq09=A,0H@ 2<tA'$`09=29=S@$<A'H`aaaL y=g pR @g9gBy=`3=9gBy=By=`3==f$]Jy=fJy.gJy.g 9 gj3== yz=ll yo=l yd=l8 y=l y=l$ yx=lV ym=l yb=lNu y-=l y"=l( y=lL y =lTJy=lNu y-=lz y"=l y=l y =l Jy=l ZNu3=`By= yC=lF y8=l v y-=l y"=l > y=l y =l Jy=l>Nu y.333 Nu y.1y1y1y Nu patp=~fNuaapB6R f3l=3l=a#==aV V V3DUfw"3DUfwc R A 0  p,,8  fxxx|xxxx0xx8xx``00 p8` 00a00x0 x``0x00x008 0x|``00 0x0`00 ` ```00x00``00xxpxlx0x00xxxx`xp```ll~80 00l