DOS=spC>p%NJg "@"NbCNJg @ hpNupNudos.libraryexpansion.library")sz3"H3"Ja`v @f(0246zz3"H3"Ja`H @f:0246zza`( @f02znzlEa` @f402zLzJEdar` @f402z*z(EaP` @ f$:0246zzzzN(` @ f:02zzN'`|NuH"HvRCJf(R D/ IN _LNuHJBoJCo @ANLNuHJBoJCo@A3"L3"N3"P3"RzN0:Z4:Z2:TSB6RC::DN0:>4RB2:8RA6:6SC::&N0:$4S@2:RA6::: N0:"qR@4:2:6SA::NLNuHJBoJCo@A3"L3"N3"P3"RzN0:4:2:SB6RC::NRARCSBN0:4RB2:RA6:~SC::nNR@RBSCN0:`4S@2:VRA6:T::HNS@SBRAN0:4R@4:22:06SA:: NSASCR@NLNu3 3 hB9J09L @g @gNu3 3 ha03LPM~aaf\aaa4aa a Kn0:~aBy aJ9g.Jy74f$09*d @gT @g @g`@09*d @g @g* @g4"x @g> @gH @gRNuAkC.NNgNuAC.t0< " "QA)QpNuKLKLAUNJBfNu Bg Bg0 Bgx BgI B g l B g B g B g Bg Bg&( Bg Bg Bg Bg* Bg4 Bg| Bg6 Bg Bg8 BgB Bg BgD B g B!g B"g ( B%gf B&gj BddNuLKLAWNJBfNu BgNu3 LA#B y hg&HN *L3 h3 3LaB9Ja^a~aNNPNBNbJyJfNNva$90? 0 z0: 0<2<v>:z Gk~SGk,JfNuNA @f 0<Q` 0<A Q00Nu9g0:T@zNmp3)a`j~0<2<vA&N @f 0<Q` 0<A"a! QNu BdzzmNu "zC(09*dS@ AMArQa ` TH,xN|"yCx"i""i "@ )"@#(a\@3)By) fg*/a< #) g"<,yN:#)g:B(B(ana#(a^#(aR,xNvLNuLBy)By),xNvNH"zp"g"AJg`LNuH"z g"@Jg :zg`LNu )($@z&z*:VGX~EJgQ: (`HEN&zN*: GX><Q(LNu"s":g"A :,yN.B)Nu0:P @mpH {N)>)P)b)t))3LpI~`X3LpI~`F3LpIϾ`43LpI~`"3LpI`3LpI~a3*dS@ GMG#LA"Lp>gQA`*2: A0<mvN0:hS@ A"0<2<rv Najana`Executable Module Song Instrument Sample Pattern HA* *29*d A0<mvNLNu09*d @g @g @g*NuaaaHaK la " _VOJga $a Zf095Jaa3LA<"N`xaXA9Jf>9J @fA.vNuH#0J3" CnJ3JN09*d @cLNuS@6MO^MK"#J#0#03JpJg@`3JNLJ0g`,xC0&p"N#0f`aa09*d @cNuS@6MO^MK"#0#0#J#JJ3J8|aua"y0aJ0fanJ0f A02N,y0 y0"y0NJf0A0YNB900N_____________arp.libraryCan't open Arp.Library! Masks ignored.Illegal mask type! (Must be wildcard)" sH@Jg ag k zgj @`LNuaa*,yL#J#JJ3J8| 5ataaJygNu`CJfNuf ):g )/g|/NuSNu yLgNuH yLp2< 5NLNuJyLfNuK0:fNuS@35Ja\9fW@jp`JyLfNuK0:R@9fV@2-AjNu35JaAc0`Hv3S2TBy2RKJpS2< mk2g00<)2-H32T295J4-6<S@B32R6:"z CSkvSz32RaTLNuK mbNu3 29" ZacKJ092R@@ky2Tj48<Sy2Ta(29KJ9fd629KJAgBAjrDk232RaHK\0-@2R2<Sy2T35JaL9gaBy Nuy5JjBy5Ja0:aJBy Nuy5J0-@zj35Jat0:aBy NuH292RA0<=492TAN2LNuH292RA0<=492TNzLNuH292RA0<=492TNfLNuJy hjNu29 h3xJyLfNu35LK 0:0AmeNu$Е @J kRCpQ<9L Fg|8 Fgzt"㵉 FfN Fgz Fgu* Fgz F g{(Nu/ yLat _pQA"yLpQa<9L Fg Fgp Fg Fg Fg Fg F gNua yL"HJfSbNuS /fB :g /g BcS`B`|,yCx" tN#Lgn"9L$<NJgZAJ90f, (f" (f ( f"9LNpNu+h+h+h "9LNpNuBpNua a aNa ja By5J,yCx" tN#LgA` 0<a ~3J Fp0(a3lJN3\JN3LJNRy"  'J#J3J y*dfJ9g F mod.fXJNLM 3J F"( kBJ9f*HAAai F3"JN$MQHNu SyJN`#;lJSyJ3JN` H3;NB@H@ @gZeS@m"HA @eS@y;NC`pU@41BdJ@fHR@3;PBRA3;Rp0:0@NdH@3;NNuy;N3;P3;R`;Zx0N (DIR)pax9f093JH#K9gB9JB9:aByFBH#patpJByK#Kae" 9J yKʰ(d #J"!KNuBKBJNupaw9f093JH#K9gB9JB9:#pattJaV#JKNuJ9.gB9JaXJ9Jg9J:pJy$XgNuawb9f093JH#K9ga9:Ja#editJ#pattJNaJ9gX#patpJ`pJy$XgNuav9f093JH#K9gazB9JB9:a#editJ#pattJJ9g#patpJ`RByTr3LQM~JyJf aJyJgaJJgaaaA_C$p+r""RMiKOQA7QN+8aawdPNu0<a"yJCh0<srv" (fvC(QBy2R3S2T` yJA_tpbrQA7QNu yJ0<r QNu yJ0< sr QNu/3 aaBaaa _CNEdadB9Ja9J gf Dg^ 6g2 Eg,9fLKHAbNJBg Bg(aNaTaaaBy B9JpNuaNa2a`anBy B9JpNuC ATp&r (Pi"PB"QACRQ yJATC p&r QACRQNu9"#p]g9g0<By Jy gNu3 aANC!EeHa9fLKHAc NJBg Bg`aBy Nu ProTracker 3.01 (C) 1992-93 CryptoBurners Developed by: Ivar 'Olorin' Just Olsen Bjarte 'Krest' Andreassen Tom 'Outland' Bech3 /a _C&EeHa>9fLKHAc NJBg Bg`aBy Nu// J0<2<2N0<2<24<6<rzNA"_rpYYYYYYAPQAFQ yJpYYYYYYAP"$Q _0<r7N*NuA Ctr?pQC0QC<Q"yJr?pQC0QNuA Ctr?pQC0QC<Q"yJr?pQC0QNu/,y=|w=|D=| ,_Nu/,y=|D=|=| ,_Nu/,y=|p=|@=| ,_Nu/,y=|p=|@=| ,_Nu/,y=|I=|=|[ ,_Nu/,y=|'=|=| Z ,_Nu/,y=| =|=| ,_3xaNa:pNu2:a\Q3CTNu/,y3L3L3 L,_Nua/3x,y=yL=y"%ށL=yL ,_Nu9J eg ggN @fJJfp0JJfp&`q ag Eg$ Bg g 0go ?J-./^J9EgB9JJy0fd3JNP09J@0;taN$AA#M3jANselect noteB9Jp9ER epE"&6bAp2<('N Jy4fNu9J 7f B9JNJ09Ja{9JB9J9aNupB9 g|> g}  g| 1g|0<, g| g| !g{ 2g|p g{ g| "g{ 3g|0<, g{ g| #g{ 4g|vNuJy2fNup9J #g2 !g2 7fN g- g. 1g.: g. g 5g 3g 2gZ "g g g &g 6g g g g g %g (g 'g2 g~ Dg Ag Z $g "'.-4g dNu cNufp3h4B9J0A@ N3 CTaNeditskip = 0Jy0fNup9J 1gӾ 2gӼ 3gӺ 4gӸ 5fNԲ #fNd g2 !g2 g2 g8 "g, 'g| g g"zNuNNNNeB9J 9H yLfNu< J9Hg<IH2<#pAN3J` D3J` 83J` ,3J` B9JJy.f"09JR@ @fp3J`09JZ@S@jp`B9JB9:09L @e409L @g @gV @g> @g/ @"(}2 g6 @g/NuJy$XfJyTrf yLgNuNuNNNFB9JB9:JJfajZaĐa¾aaaH"9gB$9v,yCxN"CE&Jpr4<v2,yC|NR98JJfaa6aa`B9JB9:JJfaiaa0aXaXa 9 g @/,yC|N ,_N bR98JJfaäaaƎar`@JBack to ProtrackerJOK* help selected ** plst selected * 9_JgNuB9JJy.g,AJ 9JgAJNaNNJ9")8Jf yLga3LLQPM~agaJFfa"<N$<,yCxN#KfABabAvpQ"<$<,yCxN#Kg`#:#>#B y h"9Kg ,yCxNaba3LL` 9KTg "@a`JA <aJzfNuAtv0<" " (fv(QA0QpNu3L09M @HAB"9KfNu$0v,yCxN"9K$<B&<NaMR<<~p"N  g J)gR@`#J,I3J3JgNFQaS$`S "*_?ktAI`AL`AF`AOB9JpN dJ@fNu@3M ` 9M԰BfNu"<N$<,yCxN#Kf4ABalApQ"<$<,yCxN#Kg("$<B&<N"9KN#BMNu3LA2<pNUnable to open helpfile!PT.help 9UJflB9JJy.g&3JOXApaoa6paoa.paoa&`a(aB9JyJy?JaONF29JI Ag0<!@AltBNua09Jao&a`29JI Ag0<40Bpp@AltpNuapana&panapanapana`Lala`B09JfNuS@H!@ @e2<tBNua809Jana`09JfNuS@H"-*f40Bpp@ @e2<tpNuaC$p"@ @fB9JNFC$B@"@ @fB9JNuaC$p"0$!@ @fB9JNFaa\ATNaPJgX baDS  yKA<"9J"H09Jr?  "ACQNFN`zSwap with which track? (1/2/3/4)Mark block 00-00You haven't marked any block!The buffer is empty!B9JJyTrg ByTrN3Tr3JTn3JTp09Tn29Tp".m @dAAlaVAg0aLANNB9J3Tr3TpJaL`JyTrfNu09JyTpfNu3Tp` 0@H@0NuB9JJyTrgda3Tr` B9JJyTrgFByTr3Tt09JakC%p?"ACQ09Tn29Tp@dA3Tz3T|NB9JJyTtga 09JakjC%09Tz29T|49JHIJ&1JyTvg(f(0 ! @g4 @g. Bg(@BJyTxgH@a09JajL`ByTvByTxNNFJy.gNu09T|yTzR@yJ @?cp3J`J\3"/ ،Tx3Tv`B9JJyTtg y?Jg09T|yTz/09JajXa Q`B9JJyTrga09Tn29Tp@dA A?g>ByTr3JRyJ@0/09Jaia@ QSyJNNFJyTrgBa~ByTr09Jai09Tn29Tp@dAHIt!@g@`NNFB9JJyTrga(ByTr09Jail09Tn29Tp@dAHI$0!!Ad@AAd`NNFQX`PXB9JJyTrgxa3ð09Tn29Tp@dA:M@<09JahGPvXPJ9XgajX"0!̰NFaiXNFAT:N`JATXN`:B9Ja3JYtRyJ y@Jd09JahHaTyJ y@Je3YtJNFB9Ja3JYtRyJ y@Jd09Jaga:RyJ y@Je3YtJNFB9Jar09Jag09J2AJy.fBAR@ @@eNFBAJ@fNFS@`B9JpagpC*0<"" QNFHpagLC*0<"QLNuAZaf3JZ3JNPazRyJ y Je3ZJNPAZa6f3JZ3"1"!HJNPayRyJ y Je3ZJNPboost all samplesfilter all sampls 9PJg 9QJgNu#CJB9JNu#CJB9JNu3\^3\`3\b`By\^a4aB9Jp09JP\@3JH@HX@3JJy\^g0:X@3J0:Z@3Jaaz Jy\^gaL`NyJaxaR Jy\^ga&`NByJ3JaLapNuH609JY@2:NL NuB9 pr9g8a9J g Dg Eg Og Nga gB9JpNupNupNuACrfNuR fNu"2#UϽJJfNup9Ja fNu yJf AcNu$<ByJII` yJf$<3JII`b yJfNu yJf$<3JI`8 yJf$<3JI` yJf$<3J` yJf AcNu$<3JII` y Jf$<3JII` y JfNu y Jf$<3JI` y Jf$<3JI`n y Jf$<3J`R yJf AcNu$<3JII`* yJf$<3 JII` yJfNu yJf$<3 JI`"3$1 yJf$<3 JI` yJf$<3 J` yJf AcNu$<3 JII`~ yJf$<3JII`^ yJfNu yJf$<3JI`6 yJf$<3JI` yJgNu$<3J yKA< 9Jp09JHHJPPp09J029J Ё@:3J `@ yJg| yJgr yJgh yJg^0`@yJ yJgD y Jg: yJg0 yJg&yJ0@3JNaB9JNu3Jp0@fJ9,g <`@`X"4%6PA[#JN`p9JfNu Fgv cNuS.09Ja`09JHA0(@A1pA`NaNcommand stored!Byap9JfNu Fg g g\ gL cNuSA3aFJ`09Ja`609JS@@?HA0(@Nua3a`a2A Ag R3a`2R@3a`a2A Ag S3a`~2S@3a`fJ9JfNuJy4gNuJy2gNuJy.fJy0f09Jg @g @g @g JJfxNuAC9Jp&0gQNuB9J"yJ1"5&k@ @$dN"9MgFBM A29jgByj@0 Ag Ag, AfNNjNj3JJJ9gCX1gJC21tCE2(Hv61 yKA29Jf29JrJ3JJg 9EfFJJg< yKA< 9Jp09Ja`HH09JHHJy0g09ah`BJy.gB0g.J9Hg1yp09JH((H@P`h3J yJtLH#J3Jp09Ja0r29J Ё@:3JJy0g X@3J` NN|RyJ3"6'ͅvtJJyJN09JX@[yJNaJyKf JyJfJ9fNup09JA0S@@3J`tJJgDr9g: Ag$3K$J@B?@bByK0Nu"9J≲KcByKNuR@@?3KNu yJfKI,<`F yJfKI,`. yJfKI+`JyJgNuKI+#MMK\09JgBAKMKx#K yKA09JfX#Kx#K|yfX+0.f0`nr.?Jp@;A2A;yJ9yJ3".ҹ,*B"7(Y,)A;@9@f p;@9@09J094Q0,y,@3094Qr2.ҁҮ*)A ;n9nP*` 9MfNu9Jg4JyJf*Jy.f"Jy0f yLg Ng Og Lg MgByfByfNuJJgNu yLfNu yLfNu yLfNu yLfNuJyfg:RyfJy0f Jy.f yfjNu yfjNu yfjNuByf3f pattJfNuSyJy?J`9JJgNu yLfNu yLfNu yLfNu yLfNuJyfg:RyfJy0f Jy.f yfjNu"8)R{ yfjNu yfjNuByf3fJJgNuRyJy?J`8JJgNu09h4yJy?J`8Jyfg,Ryf yfjNuRJ?Ja7NFByf3fRyJ yJkByJ`ZJyfg,Ryf yfjNuSJ?Ja7NFByf3fSyJJyJj 3JJy$XgNu09JAI0H@>2<t yJxN29J Lg MgL Og NgNu yLg yLg yLfN yLfNNu yLg yLfN1 yLfN  yLgNuN"9*,Jy.f1Jy0fJy2f2 yLgRNuJy.f1bJy0fZJy2f2 yLg.Nu09JH29JS@tA6N2a@apByF yJg2pRJ91g  @g` @g9gByKB`FJ91ga53J9gByJByKB`3KHKLfJyKJfA=agFNu3KJKN yLfN>09KL29KN Azd6 yLfN yLfNu yLgj yLg yLg yLgNuLKLA]HNJBfNu Bg BgH BfN BgЊ Bg BfN BgIB":+t B g Z B gи B g B fN B g Bg Bg Bg Bg= Bg=N Bg, Bg, B(g- B)g-V B*g- B+g B,g B.fN* B/gI B2gI B3gJD B4gK B5gL B6gL B7gL B8gL3x3KB Bg. Bg/, Bg/z Bg0@ Bg/ B g0 B"g1 B$g2 B&g3ByKB Bg.j Bg. Bg/, Bg/ Bg/t Bg0T B!g0 B#g2J B%g2Nu3KHKL3KJKN09KL29KN yLg> AzdNuJy$XgNuNu yL$C:@p r&gRAQaA:`";,~-a}NuI3pZa*a2ajapAc0<P2<4NaA:a}Ha9J Eg69fLKH @Ye @b AHe ARb @e> @ea`C AJp&r(PiPBQA>QNuaa|aϺA?$2< pNA?5|_|_2<pNafM?HpB6Q#J#JTJM8|3Ja6B9MBJa<,y <rN:#MgTaN#MCMNCp09pZrACZND#MByMC3|N8J gA:a{32CTaӮ`RC3|N8"<-J gA:a{32CTa~`"A>2<p NA>2<p NB#M #ataҼA>a{009MH3Ja~,yC3| N8A?az09MH3Ja~,yC3|N8J9g(Aaz32CTaҴ`XVerify error!RyM yMfRA?azaCB,$yM$DOS5|p #|$3|,yN8"<M,yCxN@,yad$yM5|5|H%|85|q>%|ST-5y?H5|5|AM %@%@ (%@%@ (%@%@&J(Krp)@Q"=.[_()@%|7Gp6&Q5|?r5|?C#|,#|$3|N8C3|N8C3| B$N8 y h$(@C,yN>CMN"yM Jg <N. yMf y00?Hf,yCx"<dN:aHaxa3xNua_` yM0<r QNuMA=axaaxa-aAc0<2<4Na0a-9ga*9J !g g g 3gx Egp9fLKH @e @b A:e ATb @d @c` AJd6 ADc\`z AJd ADc0`ja4awaDB9">/AJNua`a|a4aa`aa@a a 3J`aaNa`a: yKA0<BQ"yKCp3|CQG6pB[QN$a@4B9J yK"HpBQ$I<p2f yK1|!|M.K.8BJBKBKBKBHByTrB93h4p09b#J32a8aaa(3J#JBJByJa,z`v3 333$3,`2B9JJy.gBy ByByBy$p09J X@`p09b#J32aaB9JA~aua`"?0uA+aA+aA,aA, yLgNuaLa a`aaaraaa`a"aa a Pa`anatazaaala`vATC.NNgNuAC.t0< " "QA)QpNuJMg BMa.LKLAXNJBfNu Bg Bg& Bg B"@1g BgZ Bg Bg. B g B g B g B gX Bg Bg Bg Bg Bg Bg, Bg^ Bgv Bg Bg Bg\ Bg BgN B*g B+g B,g B-gR B.g B/g B0g B1g B2g B3g B4g B5g B6g B7g B8g B9g B:g B;g Bg& BLg8 BGg  BHg yLgD B@g t BBg BCg BDg B@g T BIg > BJg b BKg Nu B@g BAg BBg BCgd BDg< BEgb BFg"A2\`& BIgn BJg BKgNu#:#>#B y haƆa B9JBMaPQM~a8a` 9`.y`" 9` 93x` 9` 9` 9AxB`9 9fB9<<3J3JAzp9Aa{`Ŵ FASTMEDIUM GOODBETTER BEST3J3*J3 Ja BJyf3434J3 JNNuaHA=agNuApBQ`lB9JaO yLgNu9 I3J~<<~3"B3#JAJgAazFpQ` on off afG(yJtz<<ByJ3JPJawXF2p3PHApazZ2p3PHApazFgXE EfNuA2CXEpB1R@ @%c*** * xprt2c$2XA Afp2  2  RA A$er#R@ @$eQ_ _ __NuESA SA>OpA @dL @Zd A(3Ja c<p`/a"A,pADayAp#M`X/a"A1pADay\Ap#M`2 @b0<zr;ad`0<r;aR 0<zr;3"C4,/Jav@3J`v#D Jt 9 g #DJtAJ9 gA0<rFvay`n*# @TdJfNuA>a^gNua€A amaa"<B$<,yCxN.f2ABaAp Q"<$<,yCxN.ga"Bp$<p&<N PT2.pfN} PT1.pflHA>af\aA`amLAF"$&<N"Nalabaan`A*al32CT`6a`A`A(`config not found!not a config filecan't create file @TdtA>agNuaĪa"D5fQaAalR,yCxABa8Arp Q"<$<N.gj"$<B6<N"Nak`r3+Ja3P3+J3&J`s0:AN PT.config-00loading configsaving configA>agNuAPCB0<Q` @ efaòaBM 29 #J#JJ3 J0<|ra%x`ØA 29 0<|2<v `v9g Ryyaa a a ` A 29 JfNu#,yC|N.N"<$<,yCxN#g0 @"yH#ha"9f"E6Nu,yCxNBNuAajZ`PCON:0/0/640/150/Protracker Output WindowCan't open windowaTa3J@jpH @kpp9"I3J3lJyJCCaaڔ g baDpJg99aaa`aByJ3J3J`b0<rg9aq2@9aq$@9aq@9`qazBJgAH@0aaF9gNuaNBJgAH@0aa9gNua$BgA@0a^a9gNup09KH @dp`@"F7G-J @cp yLg A29 AA24NuE"yJ2aAa*"yJaAIa"yJRaAIBBBPBTBB6CC8200@0@0@P0@Q/ 0@0@"_Nu|>|> yLfHaL3L yJAZtBAPQ@R A14JA3 a#$3"aar09 2A yJAZf$0?1|?pAP0 Qa\a` !|pAP Qa2ah`d yJA"G8KrpPQPQNuJy0fNuBy0A2:AA4A2:nAA0aNuJy4fNuBy4A"H2:VAA2::AC402aZNu3 .30By4Nu3 234By0Nu y$09"3"0ah` yJAZpB!|P!|!|!|@!|BAQBy0By4NuACp2Qa`ACdp2QA~0<BQA|C~aA\CϾa AМCfAdC pW2QNuAQ=<;:""I;/ڜ"9KNab`6~  c^0@ c^0@ yK0AC@p QC@#g `/ z0(@A@N  z0(@A@N  z0(@A@N ,yCx"9K$<@v4N.RG G f2Nu yK~(Az|p2I0 9c^0 9c^CAH,yCx"9K$<AvNLREEfNuRF FfHaL`,yCx"9K$<@vNNu,yCx"9K$<@vNNu, 0@HF0@H"9K$<@v,yCxNL,,yKM3"K=hJ3bJN$29b dr` 9*`P 9+`F 9,a<`^ 9-`. 9.3x` 9/` 90` 91B9JI*3J~<<3JA{JgAzai0FpQ`rA|0<v `irA\`r%AМ`r0AB`a\aM|#J#JJ3 J0<ra.`Na"aM\#J#JJ3 J0<ra`aaxMМ#J#JJ3 J0<r%a`aa>MB#J#JJ3 J0<r0a`09@d @'c"L>v0<'3a `@p09R@dS@jp`d`3J3J`` @&dZAD0< rFvah3j#6M`d(yJt096HA0< rFvahL38J0<,rF`d0<,rFaj38`aa@M:#J#JJ3J0< rQMazB9MaA:0< rQv`gADagNuaata @"yK <<Sf`\A@a{6pa{(H@CNuRecover Song?By z<0r0UA0Q0aaBa4NBy zr00 UA0UQ0`33ByBy Nu33By "M?`;ByNu33 ByByNu y$29"3"0`J zp"HBPp0`0Q`* zP"Hd ` z<29AA24NuaBJgAH@0a,aN9gNuaBJgAH@0aaN9gNuaBgA@0aaN9gNu yLfaD3L~9fDp029KJGg> A0dr0A0@m2SA3a\a#$3"aR`JygBya0929AeA8@ DbNu$DD z"H@AA4C6z0H2Ia"N@>H>0H@2IAa&H@0@2Aa@TE0DZe`p<EЊA @bNupNuJyg,By zl2:AA4 z\2:VAA0`"Jy fNuBy z8"H2:AA2:&AC402`?:3a3ByByBy NuN yJA r$<69 Cf <x#zzzAPRA A0eAD"z0<\yHr/t000 B0eBX`0@RBQp? QNuKAD0<\r/t000 B0eBX`BX@RBQp? QNu34:6:"OA`>yKPyKR09KP29KRBC339f49KP69KR0:2:@AI3KH3KJ33 Bj pzx3KP Bk pzf3KP Cj pzV3KR C k p zD3KRHa8L`l0:(2:&3KP3KRI3KH3KJByNu0: @jp @kp2: Ajr Akr330:2AA@2A4JB3.2AIA<3A3"2:t,A3b4tXA0<~2<tN2A0<2<tN2A0<2<tN2NhNNuAJ0<;2<0t0N2Nu##ab z #KX"<,yN:#KTg;0"@ z :XY gS n"yKTpNurQU` 9KTfNu"@ 9KX,yN.BKTNu "($<b2b,tg$gM"QCK &fprt&v @d`vA @f&` Af &` @Bf &`v d A&`vB f&` f&` @f&`v d&`v f&` f&` @f&`v d`6vc f&`* f &` @f &` gЃ&Sf`ЃSf`Nup3QNu yKA~p"9JPSSbB(aSByKBa4` yKA 9JRR cB(aS^3KBa`B9J3LJ3 J3IJaJyf* @cp#"RDJ`B9J3TJ3J3Ja.~Jyf ?cp? yKAJ`B9J3LJ3 J3)Ja&JyfS @c< yKA`R3aTaaa ADgZ Ab0d3a PyJaa r Dg00 ya PyJaϸa N Dg yByByJ3Jaϐap0:Nu3aaLana  ADgx03Da 4PyJaJa DgT0dyDa PyJa&a Dg00 yDaPyJaa Dg yDByByJ3JaaDp0:NuJy"SEkeKBkJRJ9f  J Jc #J#JKaPaa`SJ9f  JJJjBJ` yKAJyKBk"JR9f ?c?`JS9f JjnB`h yKAJyKBk*R9f kaPaa`S9f l`9fJyJgP3JJByJ`PJyKBk$RyJ yJk3Jaa`|JyJgSyJ yJj3J` yKA 09JfNu9fB(` JyKBk&( (g R(("TFaPa`Nu( (gS((` yKA 09JfNuJyKBk$R(9f( (@c|@`S(9f(J(jxB(`p3L yKA p09JgOrJyKBk0p0R9f d^ e <0`O4p0(hr2S9f_kc"`r0`OJyLfNuByLp09JfNu yKA "ICKC#N#R )|2@bNuAafzaR yNp0#Z"<,yN:#VgL"@ yR g$@"(|gSj"P (|,yN. yR V!yZ|"UGR_aN6N$` yN"yR )|0`Nadd workspace ? yKA p09JgMJyKBk2Rh9f^h0ghhb1@aMaN)Sh9f_hJhjBh` yKA p09JgMjJyKBk"Rh9f^h0ghhb`p0(S9f_ lp1@`jJ91gH,yCxrN:LNuH,yCxrN:LNuC+EG$a:C+EG8a&C,EGLaC,BJ`@aaBJ,yKM>9Jf>9J#J#JJ3J8|#aBJ`JyJgaAaRApQ yK09JACpQa"<ag"<`t`tr FORMfB 8SVXf8$H Jga> BODYgTcNuPЊرc&zb2+@7@GV09JH7NuJ90fNuH瀀 VHDRg TcLNu"[M9B&z ( g7@ (fp7@`t,yCxN#LgP`"$<NJjPD"9LN 9|gP"$9K&9KN"N yK"yKaa6aA yKBPaxa>`6ApBQ yK09JA#"\N p0(Ѐ#K#-h`#-p0(Ѐr2( Ac ҁp0(Ѐ`r#-#-CE-4pQ"<#Ka$g8Aa |f#KNu Ag :g`pNupNuJ9*fNu |"HC$I! :g /g$IbAaf#KNu yKAp2(4(6(Ad$BAbJhf1|AQNuB1A`r!A`B9JJyJga@aa yKJfNu 9KfNu 9KaT 9Kg:a?\aLa= yK"yKaaVa?< yKBPav3xNua(a#aH`v/"<,yN:#KA"]O~pK29JIA K!_|NuAK09JfNuHA"fNuB (|B|"A,yN.NuA a yKC!PBYf yKC8A0f M.K.pNu yK!|M.K.8pNupNu3 aAlC#Eela89fLKHAbNJBg Bg Bg Bg`p`p`p/aBy Nu This file is not a standard ProTracker module! Load as 31 or 15 instruments module? yKr0(hhc 0(H1@QNu9gNuHA>uafL~NuL~NuaJH3By"`RPԫByByByB9JA$Cd !I!I(!I y>kBy>0:HA pvp)2<NNuPUZ_TrackPatt.BlockCmds 0: @g @g @g @gf @gl @gr @gxNu3$C.NNgNuA8C.t0<Lr QA(QA7Q0<@2<-4<6<yzN"aSYpNu0:$ @g6 @g @g(NuApa|aa"aaavNuLKLA_NJBfNu BgT Bg Bg Bg Bg Bgz BgrNuApaaaaaaa a 4NuLKLA` NJBfNu*yKK09Jf09J Bg X Bg Bg Bg B g Bg Bg8 Bg Bg Bg" Bg Bg Bg Bg Bg B g Bg B g B g B g BgT BgL Bgn BgD Bg" Bg Bg Bg B g B!"bTg* B"gN B#g" Bg Bg Bg B$g B%g NuAzpazanaaaaNuLKLAaNJBfNu Bg0 Bg Bg Bgj Bg0 BgF Bg Bgp B g B g B gv Bg Bg Bg Bg Bg Bg BgNuApaNuApaNuApaNuApaNuFy\AJy\gA0<2<QvN Adjust NoAdjustRy yk3a`SyjBya` 3J3J3J`9\NuRy yk3"cUF'at`$SyjBya``0:R@@33J3J`9NuRy yk3a`Sy yj3a3J0:3JaNuH"yJt0<q2<rMP>:HSGH4JA vNL@(MQ޽nAvN@(M`LNu HN?3wJajB9J9"dV!H-gD9g:Nr9Jg Dg$ Ega9JACp&0gQ`LpNu yJ0//9JBJNa#J LJNu yKA ::@3X3X|0XJAE2t$&(*,0:2: ym<4: ym.6: ym 8: ym:: ym<:~@jAAjBBjCCjDDjEEjFQ3333333@ABCDEF002040 60080@:0P<0`3fNC3fNC~3g*RG3g RG3gRG3g RG3gRG3"eW+::zfNCMAK((|fNC#| fNC#t::fNCMKK gA N>gNu3JNr :nIK29JI)@|,x"<N:(g#x yK0929ACA$IpQ JpJg:JgQ`4SR@2:UAk$Am C40B0 9cQ`#aa0AWN zM-Hp0. >:UGkK",]a\Q*z.:(HU, yo|<:t܆܈p0:lЀІ(@BypByra03XJa+aDa.`e"4. -AJ=B-HNuH/J@jD@ypk3p G6: "fX%iSC,[aJQH @j0< @k0<HJ@jD@yrk3rSfpJy\gNNu8.:.nd :. nRD"nijm"F-IHANuH09p29rdJAfLNu"yx&9|SHd Aor AlrQLNu Overwrite the sample?Please wait, computing...Adjusting result...5 yKA<$9Jt4JNu"gYE0Ry ykBy0:HA pvp2<NNuTrackPatt.Block4N? 9vp@2<J9f ANY@RCANSingle All 0<Jyg0<3ð`0<Jyg0<3ða @cpaapaapaa paa`(|?&H69JJ9gv  K( f624BAg(af"z EHeJ9g`22PB0AQJ9fNuRC C eNu0<Jyg0<3ð`0<Jyg0<3ða @cpa*apa"apaa paa`(|?&H69JJ9gv0"hZ0/ K( f024BAg"a>fz8jJ9g`22PB0AQJ9fNuRC C eNuEE2zT82Pg Dg`xNuxNuN?R9 9eB90<lr;vJ9f A&N 9f ANAN Track Pattern Samplea09Ja`2 @dbaJ9gpaapaapaa paa`&B9Jp?69Jg( fBAQNuA>^N>gNuNCV09JfNCza(a yK09JA"HpBQ3|a(Ja_NC~x @d 9gx` 9g&J9"i[@gpaapaapaa paa`%p?( :p:R@`@N>"k]/ ))p:S@jp`,B9J3J3LJ3JaJyf ?cp?3JByJJ`%VB9J @d63J3J3WJatJyf, @cp@`3Jab @cp3JByJJa$3JByJJ`$N?B9J 9aL yLgNu y$gNuJ9g0<r\vAN0<r\vA N On Off yLgNu< J9g<M< J9g<Sʮʯ2< 1pA a+8NHh__N? 9e0<Qr;vJ9eg ANAN Half Clip $:"l^л j`$: bS9fjt#Z`($: @R9fv6-㋴c#Z yLgNu y$gNu3)J3 J`'t9g29d`*9d f<`9d ftdaԌA$|9djDRp2<a*3J`# -N?NCVNBt49K\fNCzԂS 9KdfNCzaP$@&@(IBjBfda`"yKdBQabNC~`X*: gXHH": Ҁ#f&AA: p0": g`Ҁ#jjre""LNuRNu @b @brN?NCVNBv6:~fN"m__ҐCzփS 9KdfNCz"@$@&@ fõdB`$z~^BR R;@a 2NC~`WHN?NCVNBv6:~fNCzr$: fNCz 9KdfNCz @fNCzxHRD2IBeNC~`VN?NCVNBv6:}fNCzS$: eNCz($ 9KdfNCz @AHfNCzrxHSRD2IBeNC~`Vf4: P`4: HSB9fB jt3^a `&4: $R9fB Bc3^a3 yJ3 Ja zA3J`'j%N?NCVNBv6:|fNCzփS 9KdfNCz"@0: H"n`kd Aor AlrQ"z|BQNC~`U9gN?NCVNB3J3aaJfj 9D g" 9E g9gACA[I0:09R@ @g @ g @d3`p`p `p` g09S@ @e @g @ g `p`p`p`3@J09H@3Ja6A2<pa%aRaN`Jmix 01+02 to 03 B9JaNC~ByJ3JByJa`BaaEKpAa9J@g @b|HG#pAua9J@g` @bXHG#"oaiOpAWa93g8 @b0HG#"y$y")|$*|eBJg #""<,yN:#gAda"z")|"Q$z$*|$R&z&9"JAgSAJBgSHHDJ9eg @op @l p`@JAgRSAfJBgRSBfSl3zJa zx"zxBQ !zt| zz0:XS@A :\1@1|@1|1|NC~aad`RA$Ie"zu0BQNC~`N0N?A=N>gNuaݦN"rdABCVNB0:tHAuZA&(| bNCz fNCz$@(@( r,yN:Jgl&@$*RSl"L ,yN.0:t(HAtA !E| BBP0-H;@0-H;@0-Hfp;@aFN?NC~`MNC~`N?JyJgrA=N>gNuaܸNCVNB :t fNCzp0:sfNCz cNCz c <#rr,yN:#ngb"zs$@&9rSQa֨AK0:s"H!n!r|p0- c <;@p0- c <;@p0- g c <;@a"setN?NC~`LndaۆB9J zsHC&pr41p*@TA A>fAprtByJ0R@ @b4:r2Bc3J`AϾN1 zrpQ#K#rK#<Kp09JRѹK9gAbaaNa"9gAbaa zrtCRpr41p*@A A>faNBrNBr zr@"HC #8"H<#0"H:lp00p g\Ѐ,y"</N:,Jfa,yCx":m@$v`*>:lzOAmH!p!p|,yCx":m$&NaF&RyJ y Jf\":l,yCxN3J#JByJa "NBraԺafaEJ9fN-NHA2N":l,yCxN,xC <#N#g,y | <"<CE̗NJf z : M.K.8fV <; z|"zl:Q/"zl.Cp)vb)QRCS"_ zl<Q# BJBJa `"wiUÏByJa3JagJ9gN%J9+faӴga *3jN zk>:jp00p gNЀ,y"</N:,Jfa`<>:jOAkT!p!p|$@&z&Sl# aD0RyJ y Jfj,x"zt :tJgN.3J#JByJa &NBraҾa jaC,x"yNbLNpowerpacker.library#,x"yNbL : fAc` fAc` fAN@` fAM`v fA_`f fAa`V fAn`FA`>LAo"xjA=`0,x"zL :LN."yNbLA[` LAOa 3J#JByJNCaaZNReading PowerPacked module..Can't open PowerPacker.library!Error while decrunching!! Not enough memory for decruncher!PP Open error!!PP Read error!!PowerPacked module is encrypted!!Permission deniedUnknown PowerPacker version!PowerPacked file is empty!Weird PowerPacker error!?I hate this mod!NCVNB zhPAprtByJ0R@ @b4:gXBc3J`A~N"yk3U1mod. zgpQ zg#K#<Kp0:gRѹK|!|M.K.8AWKaJ9g`>afafD3fn|3Ja a4f(R  fa3JaaNC~a`0HAgL"0fNu 0|fNu#K zg2A 0p0#Kf$Nu,yCx"<$<N.g$pNu,yCx"$:f&:fNJgpNupNu,yCx"NH~|3J0HAf"0g$ 0|g/ zfA p0 _ހR fLNua 9K/߹K,x"< 9KN:.#xg$@ yKSQ3"zleJn|3Jaa^R  f,xC> <#N#f, 9K"yxN.AOaByJNCN,yp9"<ȓN#|f0,x"yNb 9K"yxN.AN@NfHA NL y|"yx 9KN#f4 y|N,x"yNb 9K"yxN.ANbHANLaJg:,y y|N,x"yNb 9K"yxN.ANbHA1NL r9tv,y/N"/$9x&9,yCxHAENLN.JfB/,y y|N"{mGX,x"yNb 9K"yxN..aNANb/,y y|N,x"yNb 9K"yxN..a ByJN3pJaJaNC~0HAc"0fNu 0|fNu/ zcA 0p0 _JfNuSQNuAN@`aByJNCN Not enough memory for PowerPacking! Not enough memory for CrunchInfo!Error while crunching!!Error while writing file!Stanby, Packing..Writing PP module..Writing PP header..Writing PP data..5A>2N>gNuN?A"|n+R aNCVABN1AxpQ"<$<,yCxN.gNBBMxaJ$:cg"&9M,yCxN#K3Mx",yCxNaaNC~PLSTa609fNu#M"<,yN:#Mt3MNuByMBKByMx 9MtfNu"@ 9M,yN.BMtNua`nJyg&AN@`ar32CTNCzNC~JygA` Not enough memory for PLST!PLST not found!HAOyaLNuH"z_( pr%BQC*Q"H2<( pR@Jfa LNuJy$XgNuQJ3"}o)33_ZJad,z`VM<,9J3:JBJEYGIUx09,|?~3^JaRyJRJpr2Af&--- ` t$rgTQ&??? ` к^ @&p@tp.@ttp.@ttMJg +f| 3 J#Ja yJQhyJQBNu---000000 z_RA^DJJKr:^gPJ3JK yLg yLg yLgNua<3JJ3HJ`& yLgJ yLg@ yLfNu yLg* z^A#JByJJ3(Ja z"~pj]l z^2< =p`p0:]3Jf0:]2A^b#Kd z^VA0#J#K\#K`J9M~f/ (g+g-r3 JaA2< pa _ByJJ3Jy 3zJat4:]BԂ&9Zc#Zat4:]&Ԃp0rFvap0rQt49K`Ԃvap0r\t49KbԂvaxa0J9M~g yLgNu z\(2<#p`P z\2<#p`BJ9M~gNu3\LJ3 J`j 3Jr2:\&A ``3Jr2:\A`3Jr2:[A`.3Jr2:[A`R3Jr2:[A"q~+?Ma‚da aa |`3Jr2:[Aada azax |092969J4<`3Jr2:[RA8`23Jr2:[>A$`3Jr2:[*Aada a a |`0BAHANuA" B@d|HABAHA HA0A end"B@H@ 0@gV HA0ABAHAJAgF HA0ABAHAJAg6 HA0ABAHAJAg& HA0`| | | | | 3J`.A" B@dHABAHA HA0A end"B@H@ 0@gV HA"r60ABAHAJAgF HA0ABAHAJAg6 HA0ABAHAJAg& HA0`| | | | | 3J`h< a3Ja|<KA>3J`>< a3Ja<KA3J`AH 2aL`Ht Akx&g"t0eR` 0fJDft `x` ( f|0LNu;B@'d pJyJg0:XnHfJ9,gAn`ЀAN3J`6pJyJg0:X4HfJ9,gA4`ЀAN{3J`փ"sDY8ANa6<` AWpANF3JaAWp( |AZ3JaByJNuAWvAN6<af@AWv( |AZ6<aFByJNuH,yCN8NI|3a\,yCN2LNuH,yCN8N(y)||3a&,yCN2LNuH,yCN8N(zV|3a,yCN2LNuH,yCN8NI<<Z3a,yCN2LNuH,yCN8NI<<Z3a,yCN2LNuH,yCN8NIP<<Z3aJ,yCN2LNuH,yCN"t8N(y)|<<Z3a,yCN2LNuM @b Ab~.f FZg << g<<H*LB=F@BnB8D:?@!"#$%&'()*+,-./0123456789:ABCD?EF@z.AZBdBYAdBz@dB@01BNu,}(<*`AJ`can't open file !can't save file !examine error !can't find file !file is empty !NBA?xa@,yCx":O$<N#KgV":O$:O&:ON":ONBKNBrB9J yLg$ yLgNuN?3LN>Pa gapNuA <a\fNuA_pbri PQA7R"x% QapNu3J3J |A0aFRyJ |A6a6RyJ |A<`&JMtgJKg zP>:PSGJ9A3fJ9A9f J9A?g&zD.(zD0*zD2|0st( ae @( ae @ (f 0STRF`f 0STRF`f0STRFQ3KByKBKNu0STAQ3OKByKBKNuByKByKBKNu3MHJ3]JaDaJMtgrJKgh,:M,zO:|IM~ Jk vSThfd(3J3JGhV#JHa L3hJ09JH3JHaLLbQ"y,(NuLb`(3J3J#ABJHaLQNuMB3J`MBu3J`MBk3JBB.NCVNBa3JNjN[J9Jf9gAAB9PyJa\NjN[J9Jfj9g^AABpNC~a^aPByJ3JNja a>`0pA3A4A9A:A?A@NuNCVNBa3JIHaNLAAPaIHa6LAA>arIHaLAA,aZByJNC~`BB B,yCx" tN#Lg":"z^L$<NJg ":L~NpNu09J@g2#B y hN?B9JN>PN=JyKfNu9g09K4S@Jy.f 9f@ J@jNB@`HJyKfNu9gr0:I 4R@Jy.f 9f@ 2:IA @d0a`2:H3K@fNuJ@g0S@ zKD| pST"{hg `Q#KNuBKNu AdNu A_cNuAIAH"0jNuRA3K@N?`N?3LPM~a(gdByM zG0< BQNBra 0` 9KTg "@a`6A <)afNuAtv0<" C C(fA(v"QA)QpNuLH A-d ^ByMNBr @3dt @ed A"d  Ad A dD` @d A"d AeNu A d ` A"d" Adx A d` a3J`a`:#:#>#B y hN?aa zF0< BQB9"|JN&JMtfaJMtg>,yCx"<?LtN#LgNBA6a,yCx":Hp$<NJjJj a`& 9- f ? ?a T0:Hye a `Z,yCx":H $<NJj@9g4Jj .infg .inf gAp .gQByM3MJ90gA?LN1Af"<$<,yCxN#Kgh"EpB$ v N FORMfH 8SVXf>":F$ vNJg. VHDRf":E$ v N *g3M *3M":ENaza "` if. n"}(f& ff of f`,yCx":FgNNBra,`,yCx":FgNNCA9C9 pQApfSQB 9| c <3MByMM8aRyMxKNuJMtfa:JMtg0:FyMd A8C8p'QNCVNB zCA pwBQA3a3?JM8`~MA8Up%2<!a0W@@@ 3JNjN:CtgB9Jf@ Eg Ag Dg~ Og$ Ng^ @b G(g GgAB6Jy.gABi0g Ge Ge& 0er fbj "~A*N9c ad`Vp` 9 ?g\A7CIpagQp3MA7haH3MA7]aH3MA7RaH3MaRyMxByJ3JNjaaapB9MNC~ Gd Gc SG p`|SG Gc4 Gg& Gg Gg Gg G#g`FSG`@~`:RG Gg. Gg& Gg Gg G#g G(d `RG`~'`pS@ 6 gB6*zD$KpJ-gt5fJ6fB-SyMx`V Ae Zb 6  g. Ae Zb g b`R@ @fK`J-g"û7,"zC0:C @gCB)3QUcp6 Ae Zb  frQ;zCzC|@;zC|;zCxNupa IIAaIAaIAaANur `e 0  bNu_NuNBT3MA1j`fA N>gNua߄`clear plst ?A=mN>gNuNCV,yCx"<м$<N#Kg>NB"$<?v8NA1aByM0:BA4a zB>0:B#MC4$Ir QrJgQ"zB`0)A4a"zBP0)A4a"zB@0)@A4ax":@$<@v5N9gRyM0:B z"5f\Afd`A/a>NC":?NaNC~v$<H0 H@QNut`t2  e^0XQNuA>HN>gNuNCVNBA/Ca޾ABN1AݢpQ"<$<,yCxN.g"$:@6:@N"Na^NC~ @3eByMNBr AzeNu Aod AddF ACd A8d`*SyJJy.f 9f_yJ yJld3J`X y MxeLRyJJy.f 9f^yJ09Mx@ yJd3J`0:@@ kR@`<<!~ :?fNu*@0:=~JfNuCp Q MVC""g$` 0+1+2+3+4+5+6+7-8-7-6-5-4-3-2-1pA2aF3Jp-@A3Ja0-@3JRyJa0-@3JRyJa0-@3JRyJaFKQ:NuNCVNBBJM0Nj#J#JJ3J(|aBJNC~NCVNBBJB9?B9?M0#J#JTJ3J(|MaM0|:B9MBJNC~3MxJ35JaA?L2<RpaA?2<p` yMxgV0:< @;eL @wdF@;"HA Ag44z;z>b(*z=0:;xJy"XMg yMghNuA/pf< Qp-@CCA/| 0@Aa(0-@A aA 0-@a `ByMA>N>gNu"z=T0:=T:TbBSyMxK0::@ z=&bSyJaa NBrNCVNCA*aڒNCAz. z. N>gNuNCVNB z<"H0:<":.$<__‚ (f$H0eSyMxK J`Ae3Ja ajNC~Delete ST-.. ?B9JN?Jy$Xfh3$XB9#9bJBJp2<t yJxaNR3af0Hh""S3caNaNaY aY>`0N?aalN|B9JBy$Xp#$h#8JNPNa"NanNhN`NAC{"NNgNuA& C{"t0< w" "QA& QpNuAC002kpNu0< # yJA+p#)|r QNu 0< yJA+p#)|r QNupr4<v@z`LKLAWNJBg Bg Bg Bg Bg BgJ Bg Bg B g* B g B g B g Bg` Bg Bg Bg Bg4 BgR Bg Bg Bg""tl% Bg Bg Bg t Bg BgNuNdN?AK\#, :0Bh1|?9JByJNd3JaـN?":k& :g*AK\#,0Bh1|?9JByJNd3Ja0N?` :6k":2gҒfr#'j#'fp#$hBy$da N? :":$:&㋶bJ∰ep Ѓc$#'f#'jaD :f p#$haN?B'f#'ja :fp#$hBy$davN?a 3$d3|$faa xN?a np3$d3$f :.#$h#$l`"y}a J0<|3$d3$f :к#$h#$l`2:5g.IAKA :#& "@BQ :#|*!@| z6"2:5JA 0 :B#!@0:63Jf<@1@Na|abaaN?@A$aNCA(`A3`A<`AF`no range selectedset larger rangeset cursor posbuffer is emptysample is emptyNuN?2:4pg z5<A Jyg #p!@Na֚a` :.f0!@`A{JygAzp2gNuNCVNBAanAK2:3LgIA gT$@,(| cD z32:3$p0JA-Nr2:MI20gAE2z:96M:0Pg 鈀x8>O e e.<އ "<,yN:Jg"@&@N J2<vz(HHЂڄHE Jp0HE2I6<A(I˹d(Hʹe"J ,yN.2:24IAKA !G| z22:2A 0B(Bh1|NC~aQ@aLa` NCzB9"W@kjp @<=x0V@rIaRDA`ElGzR Dze`N.<z*HE3&Nx0V@rIaGAElzRD Dze0<|r(Iah`,yCN2aT :JAd'^fp3CQJaɼ`@Jy$XfNuaJ$hjNua`4a2 zxt*:";8,:AX #І# zmNz*HE><=x0V@rI"z4JIBC2A RDA`ElGzR Dze`V.<z*HE3'4Nx0V@rI"zz4JIBC2A GAElz RD Dze`a8 :.Ad'^fp3CQJaȠ`$0<O yJA@r Q :fNu(:*:ֺfNuڄwXD3'wZE3'04rDvHz`HAPA2 IArf`APRA AeLNu/:r#)|x)v f )vabP)|RD De)v#)|NuH)v")5ǘa6)vNu3)x3)zNu4:6:3)x3)z@fAgHxAlDC`@lDB`:ClC`zX@ :MPEҺ9f?93;@xփ3bBl@#PB3d3B3@#H#T3P`3Pf3t3D3&rBB3X3LNu |~0:!pgx z"8A Jy$XfNuBy|~p0(Ѐr2(ҁ*ځ Ec<3$:&:(؃eb zV@<eb z\E>2<0jp2<t@A3"Ha2<0jp2<t@A3"""Ha`JyfNuA0:H2<t@aA0:H2<t@aϴNu29KJ4:WAAnh0]@@oz8B3+a9f429KJWADnr A"cr"Ag43+aX9g3+aBNuSy+jBy+,znrN:`$Ry+ y"+k3"+,zHrN:H0:T3+3+2A3+2<"@3+A.0<4rN2:@"0<@A3JpLNu   ""xAaH ::g pattg#@J zDJsJyPfRK :"$eBKJ9Kg\a `Xa`pI MKalIMKaXIMKaDI$M6K`0G EAPungsDF0:modulesST-:ST-:ST-: 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6"]D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFtrackdisk.deviceinput.device  53"#1!2"34$5%6&78(9):   FF  $$  !"#$$$$$$$$$$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 C-3 C#3 D-3 D#3 E-3 F-3 F#3 G-3 G#3 A-3 A#3 B-3 --- C-1 D1 D-1 E1 E-1 F-1 G1 G-1 A1 A-1 B1 B-1 C-2 D2 D-2 E2 E-2 F-2 G2 G-2 A"-<:2 A-2 B2 B-2 C-3 D3 D-3 E3 E-3 F-3 G3 G-3 A3 A-3 B3 B-3 --- X(\:}hS@. xqR"}Y7{eQ>, ~wqLxU3xcO<* }vpFtP/u`L:(}vo@oL+ r^J8&|un: kH'p[H5$"QH!{tm4fD#mYE3"zsm.b?kVC1 yrlX(\:}hS@. xR"|Y7{eQ>, ~w~LxU3xcO<* }vwFtP/u`L:(}vq@oL+ "?Lr^J8&{uk: kH'p[H5${td4fD#mYE3"zs^.b?kVC1 yr !$%&'()`1234567890-=\*0qwertyuiop[]*123asdfghjkl;'#456zxcvbnm<>?.789 @""&W 4VxST-00:ST-00:modulesST-00:songsST-00:instST-01:"@ST-00:pattST-00:ST-00:modulesST-00:songsST-00:instST-01:ST-00:patt#?.EXE#?MOD#?#?#?.INS#?"#?.PATPT2.0 Configuration File ST-00:songsST-00:modulesDF0:PRT: 8 Onewshelladd21kinfolistloadwb -debugdiskmaster1.3run AudioMasterIII"Lܙced 7G   }, ST-00:   00@P`p p@"^k  kk!NkX Ykc l l  l! dnoyp  "? o?yl"u,l-u7v-7l8uBv8BlCuMlNuXvNXlYuc p !pm"pny%d?n&Bpvd e ?f!g?!h",i"?,j-7k-?7l8Bm8?BnCMoC?MpNXqN?XrYcsY?c ?c}} _`"'|?   _ ` ? _`st? ?@_`?k  SS!T k!"k,l   l   l",  ==!"=,-=78'B(82B38=BC=M"= >7*>8B+>CM,>NX->Yc. / 0!1",2-738B4CM5NX6Yc7 8 9!:",;-7<8B=CM>NX@NXA NMXBYcC YMcDNYkcENN\XF]NkXGQ0iHHl-cI/N4J:N?KENJL-c"VʨjtDN 0 0 0 000000111111:;o o!o"o#o$o)**+-z,}x  x  x! 1! x", ", "1, "Gp(w(((d?no?ybl mw (2 3= b lm wbl!mw!b"l,m"w,b-l7m-w7b8lB m8wB!bClM"mCwM#bNlX$mNwX%bYlc&mYwc'x-?c(>a )> a*>a!+j ,9i .2?,/h-y2@-g73@8gB4@CgM5@NgX6@Ygc7@dgn8@ogy"j>wh8BhCMCMCMhNXhYchdnhCMhNXhYchdnCMNXYcYc Yc dn dn dn CMNXYcdnC!MN!XY!cd!n"C@MACiMjCtMuCM"N@XANiXjNtXuNX"YPcQYicjYc "d".@n!Adin"jdtn#udn$G8B%h8BhCMCMCMhYcYcYcCMCM CM Yc NXhoyoyoyoyo/y0oWyXoyblblbl(bXlbl(bXl 5Sample Monitor ,"  "`} 7'Insert disk in DF0: /  FormatV/ YCancelh'!  Song,6 / Samples!  All,6 3Cancelh'Are You Sure?  YesJ MNo@ 01 01 3Yes3No@ 01 01 3Retry3Cancel@ 01 h01 01 3Retryk3Middle3Cancel@h0"1 k3Resume@ 01 h01 01 331k3Cancel315A0<{r0QNuB9JNNI(N?NBaN>N>Pa3e3N09e@AE200HAKM1@1@p @1@1@p:<pAC$yJE2GI><|v zxg9G~p2IA0022  QRQΕp +g`,f2:gRIAK 0gB"@ 0|gB|,yN.,< "<,yN:"ܫJfjN`2:IAl!!|3e3a.(9eByBy"yeEGIM><|zg4REDg +f09e@3 #e z2:A :00@BX0":DD0:@AKʲ|l $0|!|"p 0| ,yN.09e3NN=aaaaLN?ByB9JBy.N>BeBepNu0:JgHA#e#|epNuH0<2<Ac$N0<2<4<6<zNLNuH0<2<AcvNLNuNCVN"ĵB#j0CNCprANDAvC$i#iE$r QpIV T \"\$\&\HNBL("Jg)"Jg *"Jg+"JfC*N>CrNNC~NuAKp"g"ABQQNu ` p 0@P`p 0@PJy$XfNu(yJt3J4J09eHA#J3J`"Jy$XfNu(yJt3MJ09eHA#J3J`L@"Bw@NKHGf  #  fǙ6`?fy 0~?<>ǟ?f$?pǿ߿~$p8x?8$p>8|?8$ww?~w;w8$3f ߳f߳|Ǚl߳$  $EHLGH$OKHG$  $  $C<̜ ?`0~$~">l$ps8x$ ps8|$;~s?~$f~1$ရ  $MLGH$OKHG$  $  $B@ Byǟ$g g߀$?s$ s$nw$`6`3f$  $MLGH"t($NJHG$MDJE$ěDMXK$M~}ODDE$ěDMX$M|OGDDE$ěDMX?1$MO|DE$ěDMX?w1ߙ$MDJE$MKGH$NJHG$M$ěDMX$M>yO>f$ěDMX w$M<ဥ$ěDMX$M{$ěD" z5MX>f1g~$M$MKGH$NJHG$M$ěDMX$wwE>y3>$wGwNDEX$?E<$GLDEX$E{$~GwFDEX>f1Ǚ$M$MKGH$NJHG$MDJE$ěDMXK$w?=~}G~E"eeQ$DGw^DDX$|G\E$DGG\DDX$wGŀ$DGwfDDX?w1wр$MDJE$MKGH$NJHG$ $ $O?`>y!|${$q<ဴ$p$~`{$6l"Wtc|y0>f1ٰ~$ $MKGH$NJHG$ DJE$ K$'~}O~DE$ߟ$? |O\DE$$~N]\E$6o?w1q$ DJE$MKGH$\L$ $ $ǟ߾~`$p$??0$??|`$;";~p$c~0$ $ZM$\L$ $ $? $? $ᇃ<  $Ü> $ $ߌ f %[Mh@ $MLGHfLLGHf@8fzɟ0ρ`p8``$_ɜ2|IO2dϟfO39&O`$X Á?χ`Á390 Á`$Xɜ2|ϑ2dϟdϙ39$ϑ`$@ɘf2?@2df@p" $YD&@`$xMLGH`$xMLGH`$Gc`$C  `%MLGH`$LLGH`$~`3EE0ρGH`$|?fL'EEO?ϟGH`$x`JC?χGH`$|?g̙'EEO?ϟGH`$|?g3EEGH`$|?MLGH`$LLGH`$j`$C  `%MLGH`$LLGH`$pa7Ed8`DGH`$g̙2|ɓ?E2LGH`$p0?F"Ț9DGH`$~L>|3?E2LDGH`$`̙>~?E2d8fGH`$LLGH`$LLGH`$j`$ `$LKGH`$LKGH`$LdOfDDGH`$L3uߡDGH`$LFdǡDGH`$L3GH`$LwOfDGH`$LKGH`$LKGH`$j`$ `$LKGH`$LKGH`$Ld>GH`$L2d"> C&L>GH`$Ld?&L>GH`$L3 &L>GH`$L30GH`$LKGH`$LKGH`$j`$ `$LKGH`$LKGH`$qqqEd0GH`$gLE2dDGH`$qљݑFd?f@GH`$~LLE3 &HGH`$qqE3pGH`$LKGH`$LKGH`$j`$ `$LKGH`$L"!KGH`$q3dOfdGGH`$OV|3u_3GH`$SFdeGGH`$Of|3}7GH`$q3wOfEvGH`$LKGH`$LKGH`$j`$ `$LKGH`$LKGH`$7 d0ރ>GH`$|ɓ&s3?2dL>GH`$0 s3d?`@>GH`$|3&s3?3 &L>GH`$~&s 3fL".GH`$LKGH`$LKGH`$j`$ `$LKGH`$LKGH`${pLIdOtGH`$y'I3u7sGH`$x0ÞJFddwGH`$y>II3s?GH`$y IwOwFH`$LKGH`$LKGH`$j`$ `$ZM`$ZM`$x8`LWAI`$y9W̟?I`$x09XJ`$y9Wɟ?I`$y9ẂI`$ZM`$"MVZM`$k`% `$ZM`$|?[M`$|?xgWM`$|?yWM`$xx|ÞXM`$|?yWM`$~y`@WM`$ZM`$ZM5U UEc @  ?>??nj ? <;ノ瀥 >;à  ?C g EgOߙT 0 0>|><0߿~?~~0}?8s0w?8s0"!48w8sn0Ǚ316`0 0ENELМ 0 !03< q0 0p }0p yq y03f0 90 0EKEOЙ 0 0~3_0<0x000ߌfyo0 0ENEOЙ 0 0"ѧY~y0 ?~ܠ08080ܠ0g~<̠0 0ENEOЙ 0 0Y~x`0?pD`Ud̙#??> ?? xD<;; <>;; ?? |ff`~~ EgHTG@ EGTLFFFߙFD"ŠgE 0``  0`a q?`fy !<0癞acy=À 3~0agyps~9À ?<0acps|9À ?x0ac}~svy ;0߀ac9~13< f0`a 0`` EEFFFߙDEFFFFߙFDE 0``  0`a q<~apc}?? ߿p3?vac9ٞf}<` |01`a 0`` EEFFFߙDEFFFߙFF` 0``c0``?|yc͘?3Ǚ|g|`c?>c߿opc<g{3n}pcq>~c3?n~pcq8va3w"gÃc3<`o3оcdž>~|aဴ` 0``EEFFߙFEFFߙFDE` 0`` c0`a q~xc͛琾3g!|acy?>c3agyga߿cc3`c}~a3`yc9 <`yl17ٰ`0a` 0`` EEFFߙDE"O\Fc         Ec!EcEcL{?KL?3D?C̟KL?KL33?DɟKL33?̥KEcE EGTIGTHGTHGTHGTIGTJGTLGTLGTHd @@EEFFFߙDEEEFFFߙD"9E`|3faE{fO?|&LdE;fC>|sL ?E{fO?|&L|ϟE{`3fa~?E{EEFFFߙDEEEFFFߙDEj @@EEFFFߙDEEEFFFߙDE`L3Æ Â 3@?E{g2|2dL?sϙdɟE;aD>2̙>sÃɟE{g2d2?L"ChsϓdɟE{`L3Æ?09f?E{EEFFFߙDEEEFFFߙDEj@ @@EEFFߙFEE{FFߙFzg`8fLf@ ?ϙ2g{&Oɓ$̙&s>Ã2;p&CsG99ϓ2g{&Oɓ$̙&s>gϙgg f^p??lEEFFߙFEEFFߙFߜk@"Zt> @@EEFFߙDEEE{FFߙDEzdoA0ރfE{3zd&LȓLdE;3:d0 A`@dE{3zd&O&L E{ 3&OfLߞE{EEFFߙDEEEFFߙDEj!EcEcbbcccEcE``Ec   ??> HN     ""ͼR ~w~D??  sww<;;  vw~w>;;  ?w?v??  33>  EgKJGGGDFE"F#GB琾` ?~|艄Tf}Egp3?#wxx`_Ep|<?/#~~`]wE 3l?~g?|;~{#3=GDFEEJKGKHHGG"΄r3 ` GDFE@a q"F#G8ǘcyGDFE|ǘgy"F#G>ϘcGDFE<؜c}"F#G <Øc9GDFEa"F#G` GDFEEGHGKKJGGGDFE"F#G~x_0~GDFE?"F#GxGDFE|"F#G~~?~GDFE <6l"F#G"mדGDFEEJKGKHQGGG"F#ĚDFE8ǘ'g>GG|ǘ߿"F#ĚDFE>ϘGG<>"F#ĚDFE<Ø~wGG6l߀3"F#ĚDFEGGEGKGKEEEEEEEaݝ"f$q}=qyy߹߹߹߹߹߹߹qy y1EEEEEEEIEEEEEEE"lQ,EEEEEEEE!EcEcKÙÃMKF̟MKMKDɡMKÙṲ̀MEcE EJKGGEJKGGp oA0DˌeOsL&L?&s??fs3wṕ0 A&sDȉwvOs̙&O?&s?fs3_sa3&O" J30D̙egEJKGGEJKG{HEHIGHH︛IGGHǸI{GGHI;GGHǰH{GHHǸI{GIHǽI{GKHIGKHIGG?Q EJKGGEJKGG 7ρKGG3&OKGG3 χKGG3ɓ'ϟKGG'K",GGEJKGGEJKGoHLKGGLKGGIǸf@`GGJ$ɓ&LGGJǰw! GGIǸ$ɓ$GGJǽ&@fAGGLKGGLKGL\EEEEEEEEEEEEEEEEfafafafagfafafabLbLbLbL~gbL~bL~bL`L`L`L`L`L"ԩЂ`L`LdLdL?dLdLdLdL~gdLfafafafafafafafEEEEEEEEEEEEEEEmdIEEEEEEIEEEEEEFEEEEEEFEEEEEEGEEEEEEGEEEEEEGEEEEEEIEEEEEEIEEEEEEFEc "I|        E E          E E          E E       @   E E          E E    " "t      E E          Ec!EcEccccccEcEhccEcEccbccbEcEhccEcEccbcbcEcEhhgdc?cc?deggcc"N?cEcEcbccbcEcEhccEcEccccbcEcEhccEcEcbbcccEcEEc         E E          E E    "ا-5      E E          E E       @   E E          E E          Ec!EcEcccc"F*ccEcEhccEcEccbccbEcEhccEcEccbcbcEcEhccEcEcbbbbbEcEhhgdc?cc?deggcccEcEccccbcEcEhccEcEcb"X"ubcccEcEEc         E E          E E          E E          E E      "۸w    E E       @   E E          Ec!EcEccccccEcEhccEcEccbccbEcEhccEcEccbcbcEcE"ܤhccEcEcbbbbbEcEhccEcEcbccbcEcEhhgdc?cc?deggcccEcEcbbcccEcEEc         E E     " iz     E E          E E          E E          E E          E E       @"ދoL   Ec!EcEccccccEcEhccEcEccbccbEcEhccEcEccbcbcEcEhccEcEcbbbbbEcEhccEcEcbccbcEcEhccEcEc"߭IcccbcEcEhhgdc?cc?deggcd$$   yπߟ x~?<6`` ~  6ow߿"`߿1sfx1"   | 0  `f2|?2d?>>|8 <0>2|>L?> ?>d09f  { ɐ'2dȜd2d3O```````````"jA```````````````````````````````````````````````````````````````` f&lL@@NKFGDEDNM  ` `` `  "qԸ a q`` ` قـ/ cy;0~y`N`wvp`y`|??ߎgyÿ`g`?xp<`{sƞc?x`f`6?8p``ss̞c}񁝸|`f`7p8p`~sáÿs~Ξc9{?~`f`7~xp`v〢7g16a܁fuTw`G"`?<0``fy  ` ``"b ` MKFFDߙEߙDNߙXKMDEDNM `  `` `  a q `` ` <ߞ> cy]``0~fgB?~gy``?gg;~?Ƭc@``8`g?;w?{ϝ̬c}``8g?άc9``?gw3|l a"-@``~`c3ϙ`ဢ `  `` ` JKLDߙEߙDNߙXMMDEDNM  `` `   `` ` fߞ> ܀``Ǚ|g3fáw ``g〢?~ @``w`g=qw ``wgys? ``ng~l"7^ @``c6l>~`cٳ~ဢ  `` ` JNLDߙEߙDNߙ[GFMDEDNM  `` `   `` ` ߀<?~Ѐ``3|c3~?c``g{ߚD3@```csߚDc``asw~}3"禚``g3~4,ߌ@``g~x`cg|yဢ  `` ` MGGLDߙEߙDNߙPGDDIMDEDNM  `` `  G `` `  t؜``ߞ|y`|á  @ Z``~=`~〢  @ Z@``;9``߇q  @ Z܀``;"跤9`|߇s  @ Z``wy`w G@ ZLJ@``3><``3~x`fyဢ @ Z `` ` H@ ZLDߙEߙDNߙPG_ZJMNM _Z0  `  G_Z1Ɯ  `   _ZȞ1oپ~`o?fyc߿<  _Z1pw<g  @ Z"#hĞ0s8p`g>wǁ  @ Z/Ȟ1χ|`s<8pgnwá  @ Z̞0o;~p~xpc?| G@ Z D0F7`0 ᇟ<0`a|y @ Z0  ` H@ Z|JMNߙPG@ ZMMNM _Z   `  G_Z?   `   _ZGX"'Ĝá  _ZI~p?wg߿〢  _ZI@0p;`g߿  @ Z?H`s;xg߿  ?w~wppg GJN@3CȠF=p>ca߿á ?/碠"F&gÀ8sg〢`0f ȠF"t?r3|y1c琀fy "L&  ` DELMNߙQFDMMNM"L&  hMM  b"M#fy<?~~o">{& 'hM~D sb"M#x?>& p hM|ۻ pb"M#pv& qwߜhM!f3fyȾ"ѐ 03όb"M#"L&  hMDEDDJLMNߙ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @ MKFFDߙEߙDNߙNMK|EFDߙEߙDNߙN0&}& pF{||E\pρQq߈DA?Ef@ Fɜ|&&sF;|}]^fO2guwWڪD̟ϟ?E&O3F|p&8fF{x=L^gχ"<}QsيDϟF&CFɜ|&sF{|}]^fO2OWwwڪDOϟ?E0ϓ'Fɐ&|0D F{~Fp2gWqڪDρ?Ey3 FMKFFDߙEߙDNߙNMKFFDߙEߙDNߙ  @ M @ JKPEDNߙNJKPEDNߙNg3 aLlw F{~cMED0ρ?E٘pa| Fg̙3ɑ'|sF;~*MED>g?Eؓ'̙2|";Fǵ3!w pF{~NEDF0|O?E>L>|F`a3'Uv  F{~cMEDg?E٘`̙>?EٓD|ɜFp!DNb"}`=NED80 aF3@F~L?ɒ'DNzMED93$|>?EٓH|F`3'DNb*#MED9&A?E0&L 30Gb*/MED0̃?E0 Fd>dɓ&s短FnMED&L>g?E&L3F <0>d sGb*/NED0&@F0&@3"+A?FL>dɓ&s短FzMED&L>g?Eߓ&L3Fd09 ɗ@GbMED30ރ?E30 g2dF~6JckgNED9̙F߃dF~O"o6JokkMED9̙O?Eߓ>g?2dF~g6JogkMEDy჆g?Eߙ?3 6Dj7FqpD CϟF9d8F~g6DjwFq=3ɟ?ɜOϟ?Eٓ92dF6DEj#wFq}9́?"cÇ0&@??>g?Ep"Q?g?E&L>dɜF~6vjjG>9s?Dɟ́?F L>d?F~g6vjj2g9s?dɜ̑??E&L>dF~6v+j?b0&sf<?EfAFDKMNߙNGDLMNߙ[x   @ DEDELMNߙNDEDLM"*3NߙNag`=Db.#>?F8f@   @H{ FL2gO2|ɝDnGɜs>dIdHL2dFOa Db.FA2=DEbj#:Ffs |'ϜH003 FDEDELMNߙNDEDELMNߙ[J M @ D"EDJYNߙNDEDJYNߙN`a3 J#.;"f/Nf`HߙNO2gLdOJɛO9OHߙNaO|9CJ.~2&N8HIߙN|2L"dOJ̻ϤN9LHߙNA2a3 J#.>r&f/Nf`HߙNDEDJYNߙNDEDJYNߙu \@                   ]&('"4s%  ~|y1?~psp~s;ps f0f1    `   ` g߾~߿|x1` |?߆~=`~?w8`À>w8{ဵ`÷y`7ٌ><`百  `  ߵ    ` "@$  ` ~߿|ό`3~߆~ε`yx烏`À|~Ç`ߎ~÷pε`~?0f񏆵`?  `  ߵ q  ` q  ` q?~ـ`~`|70>1??p?`~{~<ǟ9`s<8>;p`~s8߿߰"u+:`p?8ߌ~?~͘ `0fy   `  ߵ &$$wWGgW   pw o ` q~? o `qw o`qbu:; BW'WurPtu twP1$_XXaXYXX"`ZXXyXW_XXYYYᠵYYXXYXXyXYX͠XXXyXq"VNXqXXyXYXXqXqXqX1XXW_XXXXYXXyX1X";x"W_XXYYYYY$$M   ?3dɟL33ɟdɟ33d?33 g %  @  ߵ  ߵ ~ A  @ ?8d|Ld" 8a xa ?@ <9'|'L|~`L|`s 0̃|< ߵ  ߵ &  @  ߵ  ߵ |@  @0s0́ ?|d2|Ld|s xa|`L <||'&s&a|| s|`s2fs|< ߵ  ߵ %  @  ߵ  ߵ 0'8& g ?s" M̟>d'3NOxaϟg?$̟>d'0 @0fdA3  ߵ  ߵ (%$$; 11_q?[u {WWu{_uuuw_[ ;SS5[111s_[꫻ {WWu[_wuww_; {QQ__$$&`   0`   7`   7`   7`   6` " 3   7`   7`   7`   7`   7`   ?`   0`   7`   7`   6`   6`   6`   6`   6`   7`   7`   6g`   7`   7`   7`   6g`   7`   7` "   7`   7`   7`   7`   7`   7`   7`   6`   7`   7`   7`   7`   7`   7`   7`   ?`   0`   7`   7`   7`   7`   6`   7`   " ݵ7`   7`   7`   ?`   0`   7`   7`   6`   6g`   6`   6g`   6`   7$( wDS @6gٿ3s߀@3@3󟀝N@ٟ+wg@,3̛߀f@ @f@x+߀0f@s+"@8 u"@c1 +@3ǜ~3CC67ÜCϟ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @HJIIJ"_JJJĚDIEĚDIEĚDIEJęDIEJJC!g~y33ǐ<1;~t~Eי}}ĮDIEĚDIE9~9ػDEJJQxD~wp=Ȧ|O|Ey1ĮDIEĚDIEa|~wp=л}~}gEJJ`>p۹߻?~p5~EwĮDIEĚDIEu c<͙gf͙<0?wyG_|őJJ"mĚDIEJęDIEĚDIEDHJHTJJMHJIIJJJJ"I#ĚDIEĚDIEĚDIEJJJJ3ٞff}`x္&'#ĤDIEĚDIEĚDIE{wwpȉJJJq߁p'."#ĤDIEĚDIEĚDIEppψJJJ߆~~'#ĤDIEĚDIEĚDIE~"ܴ=y|y!ٳ>7?>~#ĤDIEĚDIEĚDIEÿ?wJJJD1s;?z#ĤDIEĚDIEĚDIEÿsူ" JJJۿwѿ1?w~swz:w#ĤDIEĚDIEĚDIE͛3wuaU3fF3<1JJJ"I#ĚDIEĚDIEĚDIEDHEHTJJMDDEEIIJJJJĚDIEĚDIEĚDIEĚDIEJJJJ:?>y fy|}~||EĤDIEĚDIEĚDIE?w?JJJ3"W:2IJJD3LLdfL>2dEɛJJJD33a`L`"2dF"~::rJJJD3s&Ldd̑22dEJJJD &sfadfL } E:o~bJJJ`HJHJJJJJO2gHJHJJJJJa2e" 9nh|2AHEHJJJJJDHEHJJJJJD s?ED|Gz }E&'JJJDdȓuwu_]U}Uϙ2d=3E̙JJJD !s55_ED| 3?Ff/㣧/JJJDL'uuu_tUU2|=3EϙJJJDdɘ s?EU2|}E&&/JJJDHEHJJJJJDHEHJ" zJJJrhDDDEEHJJJJJDDDEEHJJJJJG|DDQuQqS`?}Ed_GJJJouU}UUu{U{UfO2d=3E35ݙ?IJJou|DlUuS{U;U?`3?FFDOJJJou{}mUuW{U{Ud2d=3E3UߙJJJo{}lQ{f@2d?}Evd_FOJJJDDDEEHJJJJJ" QA DDDEEHJJJJH'&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"f-V_%%%%%%%%%%%&N&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&N wDfflll"1MT~|fl6f0H:D:    D8|8D| | 0``|f<~ |0 0 <<0 0|`nf>ff~ff<<~f<flxlf````~Bf~fffv~nf`<|~ffff<fff<ff~fBf<=<;:9876543210/.-,+*)('&%$#"! "]"!u)???????????"""dh? ( ` fffdDDD@DDD@"#< @D#< :p~",6  TZpv &,Bj"4BHNV\ Xh ."$4:fjz 0Xblv   & , < B H X ^ d t z  < D J R j z  ( 6 F L h p |  " * H Z n   , p &F`h&FX^r|"%SJT~4X:@nt|DLT\fpx @V`jr| &,:@NX^lr"(r 8Zdl"& n~ .:@FLbntz2DPV\bnt2j|@HP\dlx br<Dhp " P n !!&!B!^!~!!!!!!!!"""'".":"X"`"f"l"""""""##L#X###$$$$$$$%%,%T%%%%%%%%%%%&&&& &&&.&4&>&H&&&&':'F'l'''''''''((($((())&)*).)2)6):)B)T)f)x)))))))**r*x*****+++$+*+2+<+B+H+|++++++++++, ,, ,&,4,:"(Pq,B,H,Z,b,j,r,|,,,,,,,,,,,,,,-p-v-|------------....*.6.@.H.Z............/// /,/B/V/d/j/p/v///////////////0000000161D1P1\1t11112 22*2D2h2n2t2222222233 3*3<3F3\3n3z33") 333333333444D4`44445P5^5f55555566666T6f6p6~6666666777 7(787N7d7p777777778@8\8d8x8~8899999999:: ::::&:@:F:P:t:z:::::::::; ;;,;6;>;F;;;;;;;;;;;;;;<<<<$<2>>@>H>R>r>>>>>>>??? ?2?8?F?X?^?????@@@@$@@@@@@@AA A6ANAAAB6BXBvBBBBC C(C2CNCZCbCjCrCCCCCCCCDD(DJDTD`DfDlDtD|DDDDDDDDDDDDDDE@"+ 1EHEREdElE|EEEEEEEEEEEF.FzFFGGGGGGGGHHDHJHPHVH\HdHlHzHHHHHHHHHHHIIII*I^IfIrI~IIIIIIIIIIIJJJ$J*JJJVJbJhJnJJJJKK KKK K*K0K6K@KNKRKXK^K|KKKKKKKKKLLLL"L4LLLLLLLMM MBMJMZMdMt",!ٛMMMMMMMNN(N0N6N>NBNHNNN^NdNjNtN~NNNNNNNNNNNNNNNOOOOOO*O4O:OBOFOPOhOrO|OOOOOOOOOOOOOP P P*P6P>PHPTP`PlPxPPPPPPPPPQQQ4Q:QZQ`QxQQQQQQQRR&RRRS&S,SHS~SSSSSSSSTTTTTTTTTT"-"VTTTTTTUU UUU@UFUTU^UdUnUvU|UUUUUUUUUUUVV@VPV`VfVlVrVxVVVVVVVVVVVVVWWWW*W0W6WBWVW\WbWhWvW|WWWWWWWWWWXXXX&X,X2X@XFXLX`XpXtXzXXXXXXXXXXXXXXXXXYY YYYY$Y.Y2Y8Y@YHYVY^YfYjYpYxYY".#YYYYYZZ Z$Z,Z2Z<ZDZLZPZVZ\ZjZnZvZ|ZZZZZZZZZZZZZ[[[[[*[2[>[J[P[^[j[|[[[[[[[[[\\\6\H\f\r\\\\\\\\]]]"].]F]V]f]v]]]]]]]]^^^"^.^>^L^\^j^z^^^^^^^^___"_(_2_@_L_X_b_v_~__________"/$и___`` `$`.`4`:`F`f`p```````aaa0aHa^avaaaaaaaaaab bb"b*b4b>b^bdbjbpbtbbbbbbbbbccc"c2c@cLcZcbclccccccccccccddd ddd$d*d4d<dFdRdpdzddddddddddeeee&e6e<eBeHeReXe`efepeveeeeeeeef"0%)ff^fhfrfzffffffffffgg ggg*g6g@gHgRg\gdgngzggggggggggggghh hhh$h,h8h@hHhRh\hfhlhthzhhhhhhhhhhhhhhhhiiiiDiPi\idiliti~iiiiiiiiiiiiijjjj*j6j>jnjjjjjjjjjjjjjjkk kk$k0k<"1&>kJkPkVkxkkl4l|llm"m&m,m0m6m<mDmVmbmjmmmmmmmnTn`nfn~nnnnnnnnnnnooo"o,oHoToxooooooooop pppNpvp~pppppq q qqrrrr8rFr^rdr~rrrs>snsssssstttt t&t,t2t:tHtRtjtttztttttttttttttuu uu,"2'ĜUu4u<uDu\utu|uuuuuuvvv*vvvvvvvxxyy$y.y6yDyJyTyyyyz8z@zHzRzdzlzrz~zzzz{{{${,|,|V|d|||||||||}*}4}V}b}}}}}}}~.~>~N~~$,>v:LR`lv $,8@Fv~l"3(b"(8>DT:4:DLn4:^v| Xflr ,28Zfz6f BHRZ|"*:N"4)XbTz2^(HV\jt~$NX  0BTrxBHPZbhr0H^t,8H,4<DN`j"5*rz$.HRflrz"(0HPdnz$|ZdtPZbl (.`l|Ndv&lbl*0"6+8>DNXbjr (4BHPr\bjt JPXr,4:HRXbjtz (0DPXbhlrx "*8JPZbnt"7,~ZJP^t  &8Z`p~`h&PV\htz06Dhp~ Hlz&BZ`fp~"6NV"8-ֵ B&PV\bpx 8@DHLBHN DJP (2H`hr~ (0:F\n.Tjx$*:NVfDLRZ"9.\blv:@FP &0jr "(>DFPjrz,dj@FÞô  @XĄČĴĺ.80V\jx~ƔƸ*DLRZdxǒ":/~iǚǠǨǴǼ 0:NTZblr|ȂȈȢȴ (0:LTZ`dn|ɄɌɖɨɲ&0DVftʐʖʪʲʺ<DP\dz˄˚ˬ˼ $4@Zj̼̎",28FTZbn͔͚͊ͮ͠";0.VbjzΆΌΒΠΪβ*6Pb|Ϙ(28@F\ЀФд:Vј "(ҜҢҨ BHNXh~Ӹ 28BJT`flzԄԊԐԚԠTdjp~Ռբ:DJP^dք֎(.8"<1>LR^l|הצ׶LR|خ ~لٔ٢ٴټ& ۸4 (.jގޤެ޺ 6@,2.8v  .nt2:\j`hx"=2{$0:@JPV`fpv| ":JPV`f|V\hntZ`jx0:BHNT`pHRZbj|DJVb">3O"(.6Xn *L`pzBNv||2<Fv2LVjT^jRJ4:L"?4(2:@Rtz"6<D *4:@bpx~:HLV`hntzT\NT$*8BHT^l"@52:JPlv*<J\ .LRXf2BRblrz v            $ D     0 6 @ F Z x          & , > D N X    &6<TZ`jpv$4F :"A6|ZKDXflr$*6DJXb~\f~$LRZ`j  ,2<BRXfl~  $*6>DHTZ^df"B7va0l 0Jr8@HNTh RZfn&@        !! !!N!Z!j!!!!!!""8"n"""#X#v###$$"$J$R$r$$$$$$$$%% %% %*%0%:%@%l%t%&&*&6&D&R&~&&"C8o'F'R'v''(((((4(D(J(T(^(f(l(|()))**<*L******+++ +*+B+H+T+`+p+,,,,,,,,,--.-B-H-N-v----.///000*040:0D0J0P0Z0h0n0x0000000000001 11 1,122B2N2Z2b222266 66L6R6r6|66666666788 88899"D9nm9<9V9p999eeeeeffff"f(f0fggNgnggggh&hRhbhhh~hhhhhhhhhhhiii i,iVi|ijBjjjjjjjjjjjjvLTbT^hr~ : p#b%3=?nATABLHj$nvXNT"(.8"E:D*8Ndz8D@x|f <hl:@LD @'(**6*V*lvh(6DP:$DZ`hxfD*8"#R#h$$%%%8%B)J)\)n))),14645l5z6$627T"F;ж{7j888"8,868r8909@9J9T:.:^R`fR,2¨~ʄ"H=1<$F0~ 6~(.4Tpv@V`r  T l  , 4 Z n%&$'@//6d88ef.l0` DDDDD"I>DD``0a q`DDDDD`|x7cy|0πDGODD`q~`~7gy~ߑ`]D?`7vcDGONDD`q}`?~x7vc}~x`_tD`?p7c9pDGODD`"J?{`?0<3a0~`a`LdDg `0` DDDDDDD``` DDDDDDD`a q`"K@B~`cy߾f`GOD`?pgyw?p`9cÞ?9GG`߀9c}ß>;p?`;9pc9ùß߰GD`0aٳ?~ّ͘`"LA+` DDDDDDD`s1` `a qDDDDDDDX`_ ?f}0cy~}y~`"MB[@?gyyD~GX?`<sc|px9` >sc}~pD~GX|9`w~sc9~q?8`ao߳>1a?|x`Dt|X?y`` `"NCC[ ` `a q` f6ocy>~x>B`wgy?g`c"ODpsc?p<?`sc}>|p`wqc9;~``3~07af`0`` `"PEe` """"""'DDDDDDDqa qDDDDDDDYdEBcy""""""'DDDDDDDqggyDDDDDDDYdE?c""""""'DDDDDDDqc}"QF zDDDDDDDYdEc9""""""'DDDDDDDq`aDDDDDDDYdE` """"""'DDDDDDDqE` """"""'"RGZ4DDDDDDDdEa qDDDDDDDYq` cy""""""'DDDDDDDdEpgyDDDDDDDYqc""""""'DDDDDDDdEc}DDDDDDDYqc9""""""'DDDDD"SHry DDdE?<aDDDDDDDYq` """"""'DDDDDDDdEE` """"""'DDDDDDDqa qDDDDDDDYdE"TI?f}0cy""""""'DDDDDDDq?gyDDDDDDDYdE>sc""""""'DDDDDDDq?sc}DDDDDDDYdEw~sc9""""""'DDDDDDDq߳>1aDDDDDDDYdE"UJv` """"""'DDDDDDDqE` """"""'DDDDDDDdEa qDDDDDDDYq?|cy""""""'DDDDDDDdE"VK]gyDDDDDDDYqc""""""'DDDDDDDdE~c}DDDDDDDYqpc9""""""'DDDDDDDdE߰~`aDDDDDDDYq` """"""'DDDDDDDdE"WL\E` """"""'DDDDDDDqa qDDDDDDDYdE?|0cy""""""'DDDDDDDqgyDDDDDDDYdE"XMhc""""""'DDDDDDDq~c}DDDDDDDYdEpc9""""""'DDDDDDDq߰~aDDDDDDDYdE` """"""'DDDDDDDq"YN=>yg< "ZO n~><6lߌ"[PBgg? ~"\Q2 C`6lߌ"]R o'>ٳ~??o?ٟ8g "^Ssx珿`s߀pc1 p"_T<o?$$$$?$$$$ `$$$$'`$$$$#"`UW`Ǚ}3$$$$!`@$$$$'`Asxs$$$$#`A|s|$$$$ `As$$$$ `n0s$$$$ `s8$$$$ `1<gـ$$$$ `"dYV]$$$$ _<$$$$ >$$$$ `w?}$$$$ `3,$$$$ `<><<!||$$$$ `?~?~~?~$"eZOT$$$ `9?8p9x$$$$ `;wx?8s;wx<$$$$ `p8w8sp$$$$ ``031`0|?< $$$$ `ߟ$$$$ _$$"f[E]$$ $$$$ `w=$$$$ `dž3$$$$ c߿߀߿/$$$$ c$$$$ c<<$$"g\mNb%$$ c>0>灆$$$$ c?s8Ç?$$$$ a7177ρ癿ـ$$$$ `_ߙ`߱"h^``Ȉ}``""""""""#xc,``3~fȞ``߿?w~#/``ȹ``|;w:#.#]B~}|{zyxwvutsrqponmlkjihgfedcba`_^""i_p-``ߜȟ`` l3/>:#绣``Ȉ~``_?`Ȉ$$$$ "j`7 `""""""""#`$$$$ `ϙɄ f0$$$$ a$$$$ aϿ9?˟˿Ʉ$$$$ aۿ9oo$$$$ `9ۻɇ$$$$ `x͙"ka3 `#"~cDDDDDDDDDDDDE$$$$ `Ȉ$$$$ _DDEtdGwDE$$$$ ߹q$$$$ `ȈDDEtGDE$$$$ `""""""""#q$$$$ o~DDDDDDDDDDDDE$$$$ `Ȉ"mc|-$$$$ _DDtElE$$$$ 9$$$$ `DD|EE$$$$ `{9߿$$$$ cg0|y`DEgE~E$$$$ a~p3ߑ"ndLq$$$$ `pDDDDDDDDDDDDE$$$$ `~p$$$$ cpp߁p$$$$ a7y0f0`0``DDDDDDDDDDDDE$$$$ `$$$$ _DDG~GwDE$"oeI$$$ ?$$$$ `DDGGDE$$$$ `?$$$$ cg0~0`aDDGgEDDE$$$$ a?p3$$$$ `9DDDDDDDDDDDDE$$"pf=$$ `9$$$$ c߁p9a$$$$ a7y fy01DDDDDDDDDDDDE$$$$`$$$$?_DG~GE$$$$ ?$$"qgJ$$'`DGGE$$$$#ߘ`?$$$$ cg0<`y DGgG}E$$$$'a~p3=$$$$#`sDDDDDDDDDDDDE$$$$ `v$$$"rhT60$c?߁pa7yf0<` @@@"si3?a={?  0wDQfa2s;>d9?Ow&s݀3s{>9wSs݀3s{>g?9sOfsa={g?<3d"tjEsQ?0߀߀@_"ukݚ`{~ A L]dEfL|ȟ;~d|̟̉>dy`{~ |ϟ~}0 g|{~||ɑ̟>dyɜgɟ{~||Ld\\Lɜ"vl@_ 7g{ d>s'gω?"wm(g;3?vϟd>p!gÁ#{3?3s?d>s'gϑ3{3?wgd<3 `@{?w "xnx8Mf@_&09`aɐ?{ ?3?a|?9g?ȓ;̟2dɟs'ɟ̙2|a{>d"yo$ss?|8?g?{ɟ2ds'L>|?g?{́ ?3̙> @"zp@pa|{g̙2|;p|?{~L>|{"{qޫ4`̙>{@_"|r'fa2{fL2d;fL2?{p̟2d{y၆d{"}sAo@_"~t)g{gω?;g#{gϑ3{`@{"uWg@_` {"v9fO>g?;`?{dϟ>g?{f@g?{"wG@_`>{fO>|O;`> "x^&{dϟ>|{f@{"yXf o@2$&O2 C2D&O"zSQmf &@"{A~a| o@̙2|&O|8 CL>|&O̙> &@"|Q"}L]W30&L9D9@9H 0&`30́9O8a"~+9|p@fA9'&Lp0fA>sL "jN||||"89|8f|#ɓ$?I| |$󜉓|ɘf |?|"r|{|̙3|||?̟3}|3}|}a"7ޡ|}L??|}L|}L?|}a3|}|3 |0 ?}|"7A69ɜɜ2d|9>?||9ɜ2dϟ}|8y}|yϼy`}|}f@3&|}ds&Oɓ"|_}dp&Cɐ x}ds0ɓ$"}s97}́p陋}Ls&L&kp`OϙLrfL&ks&a"ҙ2d?&d?|"nA\2f|3?3?|dɓ?dɒ&2~||8 |dLɒ2~|d3?||}"驙|}|}Ltt|}7_ٟ|}]fO|}ٓw_|pAÆgɊˎ}\wt]"|&O?̙2Ono2o}|`a>Οϙ}||?ə2Oo2o|A̙g̋Ώˎ||}|}|"P;x}F\|gN]|}}ٓ7uّ?|}LwgdT|}37uٓ?| ? σ0' }N]dDN_|8dO3?ȟ2g>}|".88~d?>}|9>d3?>g>|  ϟ3?0 ~>g>||}|}|}|deG|"Q q}9?ٟ|}w}O|}39?| ? ρ ϸ0'}}G]|8dO2dȟd?}|8~d|? }|"b9>d&dL?|  3 ϸ0 ~f||}|?}|}|deG\wf|}9?ٓ3|"b3}w}Od|#}39?ٓ5| ? z0'}}G\w|8dO2dȟ2d}|8~df>?}|9>d2gϹ2dϟ|?"l  2 0 ~d?||0Hx`00l0 x0|xx``0`xx| xx| `0ؐ```80p ```0 0 0x0p00Hp0d``00x8x|8"ᨀ0 x00|000(l``800``0 0 ```00 0xx ``0x0Ht0l0``x x0x`0`0x|xx|0x000Hx`00l0 x0|xx``0`xx| xx| 8xx`>8x||~ppx0|~~~~xp8f~p|l0pp<8~>~~00~>8"Jx8<~<<88|pp~0~`x8~|<>```<8<8~xf~f|<Bf~x`x~|33?333?{333333?3_'o#3??333333???3'?33333?"%3333?Ϗ?ϛχ燃??3#?3333χ?'3דg3?33󟟟3333??333'?3#3?#'33ϟ?33?ϟ?χ?3?3333?3χ{3?1G[jv~~vj[G1Ϲ "$&(*,".02468:<> f wD  M ,,< $,X"cM" " "CS)Ma@p"Zn<L?C    @` @"9q<<\????????????????????????????????????????????????xi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"5F!!!!!!!!!!!!!!!!!}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"mj!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"w"I+9T?ϛχ燃??3#?3333χ?'3דg3?33󟟟3333??333'?3#3?#'33ϟ?33?ϟ?χ?3?3333?3χ{3?1G[jv~~vj[G1Ϲ "$&(*,w*@ ""8!! & @ 8@  UUUUUUTUUUUUUTUUUUUUTUUUUUUTUUUUUUTUUTUUUTQUTUUUTPUTUUTQUTEUUTQUTUUUTQUTUUUTQUUEUTTUAUTUUEJUTUUUEUTUUUUEUTUUUTUTUUUQUUTUUUPUT?UUUUUUTUUUUUUTUUUUUUTUUUUUUTUUUUUUTUUUUUUTUUUUUUT? 8   @   <<<<<<<ЀE~E~***********?/x***þ8þ(þ( þ*þ?þ*þ**?***0V*DA&*6*DA&*0Vpt3.01SQ ******************************************************** * Protracker 3.01 * **************************************************** This is a upgrade of ProTracker 1.3/2.0B, and is not based on PT's released after the original release of PT1.3 by Amiga Freelancers, therefore you may find features implemented in Pre PT1.3 releases that this version lacks. However we hope that you'll find this release better than the other0% PT's around :) We will ship new releases as soon as bugs are fixed, and new features are implemented. Final release is scheduled to the Easter of '93. ProTracker 3.01 was developed from April '92 to January '93 by Ivar Just Olsen, Tom Bech and Bjarte Andreassen. Thanks to these people without whom this program would not have been possible: For demonstration music: Gregorian3 by Krest and Vortex, EX-T-Sheep by Vortex. Amiga Freelancers (especially Lars Hamre) for releasing the SoCIYurcecode of PT1.3/2.0B, Janne S. for numerous suggestions and bugreports, Guardian for testing PT on his NTSC '040 Amiga, ALFred and U4IA for moral support :), Arild "WindWalker" Gjerd for letting us borrow his 50MHz '030 for development, Vishnu for help on the AGA chipset and last but not least a special regard to the rest of our friends in CryptoBurners. We would also like to send our regards to our crew of betatesters! History: o PowerPacker support. Powerpacker.library must be atGpresent in the "sys:libs/" directory. Version needed: 35.000 or higher. It is however recommended that you have at least 1MB to use this feature with large modules. Note that this feature will probably be replaced by xpk.library later. o Protracker rearranged to MEDRES (or HIRES perhaps? Hi Buddha! :) 640x200x3. o Format now works with dfx. Remember to specify which drive to format in the "path" string-gadget. o MIDI has been kicked out. o "SpectrumAnalyzer" has been kicked o@ut. o Protracker now works on Kickstart 2.04 and higher (SCS/ECS). o Memory display now displays all memorytypes. o Improved input handler. PT will now live peacefully with Commodities. We hope. o Invented new fileformat based on Interchanged File Format (IFF) chunks. See docs elsewhere on this disk for a discussion of this format. o Hold record mode; waits for keypress before starting to record. o New filerequester. o Screen to back gadgets. You may also use Left Amiga + M/N. o St "tandalone playroutine supporting Finetune etc. Not fast though :( o Some speedups in the SampleEd. It was awfully slow at marking in MEDRES! o Scroll bars added here and there (but not everywhere ;) o New pointer! The old one was simply too big for the new resolution.. :) o Setupscreen revised and merged into one. o Date and time online at mainscreen. o Task interferance problems fixed (Improved multitasking). No busy waits. o The dragging routine in the sampler draws pixels instead o2f lines when dragging. o Major rearranging on mainscreen; editor centered and some new buttons for editing, such as cut/paste, up/down octave etc. o You may now click into the different tracks with the left mousebutton! :o o Audio.device channel allocation, to ensure that other programs doesn't mess with your tunes in a multitasking environment. o Chords editor with up to 7 notes. (Hi JanneS :) o PT now works in OS3.0 with AGA chipset (Hi Vishnu). o The sampler works again! ;)~4 o Screen positioning (For people with TV's or multisync/flickerfixer) To do: o Implement the new fileformat :) - Commands ranging from 0..0xFF (0..255). All commands that CAN run in paralell will do. Lotsa other commands (hi JanneS :). - #Samples and #patterns to word size, I hope it will do for a while! :) - Maximum sample size from 64Kb to 128Kb. It's there, why not use it? o Digital filters and noise-reduction in the Sampler. Planned filters include Lowpass, Highpas )VYs and Bandpass (FIR filters). Perhaps Graphic Equalizer too. o Seek zero/loop in sampler. o Fix bug in PLST; choosing [MOUNTL] causes hangup :( o Protracker.library for non-tech programmers wanting to use PT modules in their programs. o Pattern (position<->pattern) editor. o Save module as executable. o Add icon. o Load samples/instruments/patterns from an existing module. o Freehand sample-editing. o ASDR editor for channel modulation. o Optimise/Rewrite Playroutine. o Gain/Finish kMed info when (Power)Packing. o Hypertext on-line help (a la Windows). o Serial comm. to other protrackers. o Fix bugs in general ;) Things you want, but won't get: o Splitting up each track of a pattern into a seperate "pattern", independent of the others. After having talked to many musicians, we all agreed this is all in vain. Nobody seems to be going to use it, due to the serious timing problems that will arise. Use SIDMON instead, if you're really anxious to use this fe *ature ;) o 8 channels Protracker. The Amiga is designed for 4 voices, if this feature is to be implemented, the CPU has to mix the channels realtime, and will use all CPU DMA on lowend Amigas. Forget it. Use StarTrekker if you want it. o Intuition Protracker. Too much work :) maybe some sunny day... o Beer. o MIDI implementation. To get an acceptable sequencer, the entire program would have to be rewritten. Buy a decent MIDI sequencer instead!!! Don't report these known bugs:  J o Keyrepeat sometimes don't stop in pattern editor. o Turning off audio channels doesn't stop repeating instruments immediately. o Applications that do not allocate the timers properly, will cause the music to stop (eg. ProPlay20). However, this is _not_ ProTrackers fault; PT allocates the used timers gently :) As you see this is not really a bug, but we just want kill potential "bug reports" in birth ;) o PT3.01 does not run properly on Amigas with OS3.0 without AGA chip set. ( (Why run OS3.0 without AGA when there is almost no difference from OS2.0 when you don't have the AGA chipset) o PT sometimes doesn't work ;) o Load as 31/15 instruments modules, choosing CANCEL, leaves crap in the songname and instrument names. o Amiga + N. Use the gadgets located in the top right of the screen. o PT won't work with various, more or less shabby :), utilities such as screenblankers and likes. o Multitasking problems of various character :) ------------------l------------------------------------------------------------- Protracker 3.01 has been successfully tested on A/B/C2000 (OS1.2 to OS2.04), A500 (OS1.2 to 2.04), A500+ (OS2.0) and A3000 (OS2.0). All 680x0 CPU's tested. We reccomend that you do not crunch your PT with Imploder/PowerPacker or likes if your Amiga has got MC68040 CPU, due to severe problems with the Code/Data- Cache(s). Tested with MMU too, but not with virtual memory, so be careful if you have got VM-System. All machinesAߜ were tested with and without HardDisk (except the A3000). Not tested on A4000 and A1200 but should work anyways. Not tested on animals. The authors are not responsible for any damage or loss of data as a result of using this program. This program may not be included in PD libraries or likes without written permission from the authors. Also, your charges for this program may not exceed the expences for disks and postage. You may only spread this program if you include all files on thh4is disk. Contact one of the authors (see below) if you have questions in this direction. ------------------------------------------------------------------------------- Please send bugreports and suggestions to the internet account (E-Mail): db62@hp825.bih.no. Please do not flame the account for other reasons, ok? :) The bugreport should include full description of your hardware and your startup- sequence and the sofware you were using when you discovered the bug. Bugreports on BacdTkPlay 1.0B also, please :) We'd prefer that you direct most of the mail to Tom's E-Mail account, but if you don't have access to an Internet account (or E-Mail), or if you for any other reason want to contact one of the other authors, then you may find the authors addresses below. We do not guarantie any answers, so if you enclose equipment, eg. disks, then don't expect to get them back. However, we will try to answer serious letters as far as we can. Please call our board Home Aloxne WHQ +477040305 - +4770297 and leave bugreports to Trixal CRB. Please direct all snail (eg. ordinary mail) concerning programming to Ivar. Contact addresses to the authors: Ivar "Olorin" Just Olsen Mobergslien N-5200 OS Norway Tom "Outland" Bech Sre Skogvei 73 N-5037 SOLHEIMSVIKEN Norway Bjarte "Krest" Andreassen Ltvetlia 12 N-5064 STRAUMSGREND Norway /* End of file */ ixed (Improved multitasking). No busy waits. o The dragging routine in the sampler draws pixels instead o486'd"8"~@-6 @      ?  ~   @   UUUUVUUUUUUU`UUPUUPUUP0UUPP PP?PPPPUUPUUPUU?P5UUP UUPUUUUUPsys:c/muchmoreowpass, HighpasH]D5%`%!K95^@@ @ C G C C G @ @ @ @@  SYS:C/CLInblankers and likes. o Multitasking problems of various character :) ------------------Q_SCLaicons PT.Version! Shell PT2.1A PT.help.txt PT.Update! PT.ReadMe! d A1200 but should work anyways. Not tested on animals. The authors are not responsible for any damage or loss of data as a result of using this program. This program may not be included in PD libraries or likes without written permission from the authors. Also, your charges for this program may not exceed the expences for disks and postage. You may only spread this program if you include all files on th~#!%%bG @H4!Z(#E? 6 ?>~'SYS:System/DiskCopyhem back. However, we will try to answer serious letters as far as we can. Please call our board Home Alo"H{876543210/.-,+*)('&%$#"!  *<XPT3.01p9#kt{aPT.Update!.infop$+֧a PT.Update!p%T{`glPT.TempoCalc.txt@p&vz!{aPT.ReadMe!.infop'U>8Vax PT.ReadMe!p(l{aLPT.help.txt.info2p)H]ba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! gv T PT.help.txtpc*HGs7vPT.helpp+ - `z PT.FileFormat.txtp,\  `z PT.Effects.txtp- ` PT.config-00p.~а~PT-Fileformat.doc.infop/ap}|{zyxwvutsrqponmlkjihgfedcba5PT-Fileformat.docp0S`_^]\[ZYXWVUTSp`PROPp16X \9RQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! eX PTPlay30B.S22(1.S sourcep3u?xstartup-sequence44\3.S sp5 napowerpacker.library:6"     ?a info.library:7 S8a ` icon.library:8]laexplode.library:9 4da4diskfont.library::C57689.S libsp;$c"a Shell-Seg?<b[@a Ram-Handler?=zla Newcon-Handler?>$8a TDisk-Validator??>=;<.S lp@:~a ` icons.infoopAz\ amod.dekkadance.infoCBbh8al.infoCC#SoAB.S iconspDx xa `11EEJD.S topazJF$a topaz.fontJGDZM (a8HHG.S siestaJIa ` siesta.fontJJ&@HIEF.S fontspKۣ#asystem-configurationRL'Pa@ramdrive.deviceRM%XHagenericNNOM.S printersRO8OQ׃~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPOiTaxprinter.deviceRPK-NMLKaLparallel.deviceRQD7JIHGFED 0a MountListRRD PQONLK.S devspS?>CBA@? a TypeoT 4)>=<;:987654 asetclockoU.>3210/. aRunoV,?-, xaRenameeoW*J+* halRelabelaoX<϶)('&%$#"! aPPMoreoY8HA aNewShelloZe a@NewCLIo[ >$      axMounto\N aMakedir^o]\ aLLoadWBo^懲 &aListo_TR a Installo`܌S aInfooap4 aXFFobҍWx aFailatocжnk a,EndCLIod͌ir aEchoioe~ "DadDirof &™ a Tdeleteog B pa dateoh &xa (copyoigx a4CLIoj} a CDokRG a `AvailolyVo~}|{zy aAssignomwM֐Kxw la4 AddBuffersonrlyvutsraadd21kool:U_[fkSmW`XlcVZYdbh\jgn]T.S cpH{$-%+"?/R4*.J)(:C#0,'&q.TST-00}A ?ns@4NRNUH/+N,lpCN,m)@f HxNPXO+N,lpCN,m)@f HxN(XO l)h" l)P l)h$" l")h& l&p(( l&p0* l&p0(, l&|~`Rl$+N,l" $ l& p(N,m`+N,lN,mJg+N,l"lNb,mJg+N,l"lNb,mLN]Nugraphics.libraryintuition.libraryapCEf2<kt"Q)O*,x)NH瀀.)gKN`B_NsC Nh)@.f .<N`NPONudos.lint>braryINuH0&o/,l"<0, /H"Ё"N:,_)@2fH,l.<NL`.l*Nu l2Bh l21| l21| l* ,*P)@6 l6 MANX/,lN,_$@Jg2/ /// N)|: l2XP l2 PO `V/,lA\N,_/,lA\N,_)@> l>J$g"/,l. l> h$"N,_/,>/ NZPO)l>B/,l.N,_ l2 /,l.N,_ l2!@Jg$H ,l.$<A0"NL@ l2!@ /,B/,FNPO/N*XOL Nu*H82&/(/ &o$ CJg C (,@ .$@`$l HHЄT)@J/,lrnum: ,JN:,_)@NfLLNuHH$/A//,NN\HzF BN/N// /,NN0 lNB0()|F$BNR&JO HH$ g g g g fR`  mv "f*RHH$g "f "fR`B+```8HH$g, g$ g g g g`BJfSRF`RB/,lr ,FXN:,_)@BfBF`t$lN`  lB!/ NbRXORFm  lBB` L "/ JfSWjB NuH82&o(/ /,lpCN,_)@RfLLNu/,lR D h$ hN,_$@Jgx/,lRnvUC j6N,_,@JgPH ,l.$<"/NL@&g2 $ B'h'CH ,l.$<AJ"NL@'@/,lR JN,_/,l"lRNb,_BR`Picon.libraryWINDOW*L "/ `Wg jNuBQjNu o JfSH NuL fNuJVg lV hN lV)PV`JZg lZN//NXONuH0&/ J2g4t` /NJXOR0l n/,l0, H"Ё"l2N.,_J^g l^NJg/,l.",N,_Jbg lb fJjg/,l"ljNb,_Jng/,l"lnNb,_Jrg/,l"lrNb,_Jvg/,l"lvNn4zNb,_H,x.)gKN`B_Ns*_J>f4JNg,/,l ,J"lNN.,_/,l ,FX"lBN.,_`/,lN|,_/,l"l>N,_/,l"l.Nb,_ .l*NuL NuH $/ "Ё$@2Jm 0l oJf)|zpLNu0*@f/,l."N,_Bp`GmxOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F "0 <(jN#AJf$$G" $0( <(j(Nr#Aro$J( gv#C#Cx#D"Jg2to(Jf &)xذ8#D"<| <(j`N`")#p$)")$0(( <(j4NJf")#p tg0&J8f$$)G" <(j(Nr#A`x")$)!(Jg") <l|˼(jN")"0( <(jxN") <(jxN"Jg#i#i")Jf"X"lBN.,_`/,lN|,_/,l"l>N,_/,l"l.Nb,_ .l*NuL NuH $/ "Ё$@2Jm 0l oJf)|zpLNu0*@f/,l."N,_Bp`Gk Q v5 vH瀀,y# <"<N:"@LfpNu*I/ +@+HN(@C|pN+@fH.<,xNL`pd`#Jg , 0H0EG @pB0& - mC ! RB)g\  g  g& "ggB  g`B`g0 "g *f  Ng nfr ` Eg efr`BB GL Hm/`0A\NA\N+@ /B,m$@ *$g @"(NN4p` /$,yN(@*l.M*_/ -g"@NkbJ g N|"m N"M <N. Nudos.libraryNIL:t j"RX/"/t y hB`p0(g (Ԁ PJf $NuNVH?8$.$n &|(|&< Jf BNrXJg. BS  @ p ?f/HyN/NBNrONHxN^,HxN (/<N -@HxN8-@HxN */<N &N~ GOl j cg j Cf /Hy`$p @l* j fg j Ff/Hy$N/NO `p @l" j tg j Tk1f Є/Hy*`Hy0N/N/./ //Hy`/9N/N//. .//Hyf/9N/N$.O@c .` / .І/ .І"҄/ڄ/Hyl/9N/NOBNrXLN^Nu vn8  FL^  R 5Usage: %ls [CHIP|FAST|TOTAL] %ld %ld %ld Type Available In-Use Maximum Largest chipfasttotalCopyright kmެ1985, 1988 Commodore-Amiga, Inc. All Rights Reserved%-5s %8ld %8ld %8ld %8ld H:(o o"oE:Ot&O,yNpJWFg/HoHTNO OL\NuNu: H0&/ $/Ho//NO L Nu H0,yLNL@ Nu/,yN,_Nu  /,yN|,_Nu/,yNv,_Nu/,y"/N(,_Nu$k (jN"Jf(JgG" <(j$Nr#A`b"x&0t:") <(jN#AS$&0(x08g G" $0( <(j(Nr#A"#p"Jg>"0 <(jN#AJf$$G" $0( <(j(Nr#Aro$J( gv#C#Cx#D"Jg2to(Jf &)xذ8#D"<| <(j`N`")#p$)")$0(( <(j4NJf")#p tg0&J8f$$)G" <(j(Nr#A`x")$)!(Jg") <j۽O[O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F TGi= /21H瀀,y# <"<N:"@LfpNu*I/ +@+HN(@CpN+@fH.<,xNL`pd`j#Jgڑ , 0H0EG @pB0& - mC ! RB)g\  g  g& "ggB  g`B`g0 "g *f  Ng nfr ` Eg efr`BB GL Hm/N0# N@##`vA\NA\N+@ #/B,m$@ *$g @"(NA"$<NJg:iM67%+@# ##)@)@ @ (g)@Np` /$,yN(@*l.M*_/"-g,mN,y -g"@NbJ g N|"m N"M <N. Nudos.libraryNIL: nPJ>t D8 "ANVH><$.vz(|-|BN0&@JXfj/<Hx@N$@( Pg g '@ <%@ <%@x/HyNPP/NHyN0 @(Pg ( @/(iNr%@X-kp'@BHy&NX#Pg y(($pl zP-|4*D/N,/-N(/NJO g`HyL*D/-6N( PgHx/N&PHyT*D/-6N( Pg/NrN%@4X/NX/9NDX'npd4o%|4Jf0JgHxHyZN&PJfHxHyxN&PJgdp'@JgHy`HyNPX'nJg/NlB//.NO`B/HyNO /NXJf0/*NBBNX/Nl$ PgHx@/ NPL<|N^NuH08 /r(At`>/<Hxi+2N&@& Pg.Jf$ /*N'@Xg g ((K $@ f L NuH $/ `/*Nl$Hx/ NO $@" fLNuH0 o pv +f` -fvR`HHЀ$ЂҀp0  0m 9oJg"D`" L Nu>Xv>tb. "P| n4z<"idX "J `/execute s:CLI-StartupSYS:Workbenchicon.libraryexecute s:Shell-StartupWINDOWSTACKNEWCON:0/50/640/80/AmigaShellCON:0/50/640/80/New Cli Windows:Shell-Startups:CLI-Startup%N> SYS:2 n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDFi&Pz"lDF @aH$gD $Nu1H ,yL NL@Nu/,y"/N,_Nu/,yN,_Nu/,yN,_NuH ,yL NL@Nu/,y"/N,_Nu/,y"/N,_Nu/,y"/N,_NuH0,yLN"L@ Nu  4DVp/,yLN:,_Nu/,y"o / N.,_Nu/,y"oN,_Nu/,y"oNb,_Nu/,y"o / N,_Nu4H\/,y oNi\ʲ,_Nu/,y oN,_Nu/,yLN,_Nu,,2(jtp NJg2**p$A. J (F $)ԩv0(t/g&&)x08JgR()ةH`S J g,"ҩ t0r/g$ԩ v0(t:f"t0#B$v֩ "#A($n(R$ԁv0($)ԩ(rh % bҩ(`")&)$)" <0INJfr%Al`4") <((jtN&)$)" <(INJfr%AlrNNqCan't open %S for input - v ։#CB0(#pH 4x&t:")pD(jN#A0Jg`G$ ")pHIN$)")4pHIN")pHIxN#A8$!0(rpH(jN$!($)8rpH(jN")4t0Jf`B8$*")4pHIN")t0#B or yesterday etc. to set date $ HH:MM:SS OR HH:MM to set time p (jNXgp (jN"*Xp (jNNNq&(*#p8#pH #pX|܂~ ނ#F#G#Bt")N#B Gh" #A$Gp& #C(xN#D0z#E4G|, #F@G. #GDG #@HJo*J m"  lJm mJf ")$`")(#AT$v0(#CXr#A\XnJ$)Tԁv0(#C`$)ԁc(")ҩ\c")ҩ\crҩ\`")NRg#r#ATt n$G & ցx08&)ց8rҩT`r#ATtn$G& ցx08&)ց8rҩT`t")0NJf "<n`"<m#ATJo l")TR0`rc0ltd0t ")0Nt0҂&)8t ")0Nr0ԁ&)8 t")0NJf ")D`")@#AP")Pҩ4$0lR4`$)4rNU#ALr#ATtn.ҩL&)Hցr08v֩T()؃HrҩT`")4SҩP$0t ")Nt0҂&)8t ")Nr0ԁ&)8t<") N#A8t<") N#B t2")N#A ;Zx0Nm<[y1On$JanFebMarAprMayJunJulAugSepOctNovDegt">c DD-MMM-YYHH:MM:SSSundayMondayTuesday WednesdayThursdayFridaySaturdayBv(։#C$x8؉#D4Gx* #Eb")JxoDBJ|fF#i r#A$ nG" p4(j$Nrҩ$`rҩ$G" p,(j(NJhgr$҉#A $<ԉ#B#B G& #C$tG<" <4(j(Nv$) ")$ <4(j8NJftGD" <4(j(N``") JgdJgv$"0 <4(jN`DtGh" <4(j(Nt") <4INJgv$") <4(jN") JgTtԩ" <4(jhNJf r <@(j(N <4(jN`r#AGx" <4(j$N") Jgt#B") Jf J g") tJ fF#Be ƭ8͘``J|f p,(jNJgJf$G" <(j$Nr <(jN%j`dr <(jNJf,tG" <I(N#A$r <(jN")t")! "&)!8")!")v!""0 <ICa>)@g2N&@Jg4Ca>B2 Jg  fbRJ`Ca"pe`p!,xNA\NA\N)@,lN`Bb890FfNnQq1)J -f(rR;gf0,";Ӏ;9@"B`bB ,f ,#f`, @g< g < g<;fB(CaH)@g^N p`p0/.l/,x ,a. , a( ,a" ,aN"@$,o N|"BN Nug"@Nb"oH0 $ vRJfJf,lN"NL Nu o"oaן]raTHTIr 0(1i3@THTIQNugraphics.libraryintuition.librarydiskfont.librarydos.libraryBad command line switch 1;33;3430mFastFonts0;31;40m V1.31 Copyright 1987 by C.Heath of Microsmiths, Inc NUH Hl$NXO$@JfHyHxHNPO$@JfHztNLXO?<2NnTO J"%H ||?<Hj(NJ\O?< Hj0N<\OxA$0H"@p@"RD|m/ N8XO LN]NuNo memory NUH0ND$@N,#g2J8f,Hl>NzXO&@Jg/ NHXO?< Hj8N\ON$@JgRHzpNXO,#ga'#?<Hj(NJ\O,#g?< Hj0N4\OJ8g,#g?< Hj8N\ONJl"fHz7NXONpL N]NuTrying to replace the system font Terminating FastFonts NUH0$m9m :Hl6NrXO&@JfB|0W m f|1V|1W` m fp8`p6@VHlFN|XO?<NTO m f0+m g / NXO$L N]NuNU/ $mJg/*/NPO/*NXOB$_N]NuNUH08- /-aXO m&PJg9D:)l6Hl6NXO$@Jf"HzNNXO/,NDXOHzN:XO`*gHzNXO/ NPXO`z0*kf0*Dg HzNaيdXO`0*kg HzNpXO`/ / N PO|0o| f|1n|1o`|fp8`p6@nHl`NXO m!JL N]NuCan't open .font file Can't use Proportional fonts Font X or Y dimensions do not match Baseline does not match NU/ N$@NHj(NHXOHj0N>XOHj8N4XO/*(NXO/*0NXOJ8g /*8NXOa/ NXOHxH/ NPON$_N]NuNU/ NN$@a`)j@zJ@g$B@NJ@gNHz"NXO?<N"TOa.J@gN$_N]NuText() vector altered-aborting NUH xN4$@)jDzJDgBDNJ@aurgx0LN]NuNU/ NN$@NH,#g2HzDNXO/*(N|XO%lz@J8g/*8NfXO%lzD` Hz'NXON$_N]NuTurning on FastText Turning off FastText NU/-NnXOBNXON]NuH 0&oNU,l Ep"JN:"J KN jFj;A#H#HA(0A0*:<o0AA0*:U@2<w0Z0|xQ0Q < 0 < *o|`0 K <Q < j:oЀrN:'@&Bj$"JAxpN K"lz"i<0*:S@QG j:oPK"Nu/ ,l ,zgj$@BzJ *aAgap`J,lrN: <"j ioЀ,l"j(g*$ ,͍gNP,|6)&|XHS@rAEzZwZZgZZWZZGZZ7ZZ'ZZZZQ N,E$Bprx4)$HLi$zNa# gNJ*FFy L|N"o,lNNL,lN:"o,lNzN,lN|N"o /,lN.,lNv"o,lN"o,l N o,l N o,lN o,lN VFF2:)topaz.font(( Can't find TOPAZxx font! Replaced TOPAZxx font 4<a,EndCLIo`\OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F NzXO&@Jg/ NHXO?< Hj8N\ON$@JgRHzpNXO,#g_≊mOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F ;Zx0Nm<[y1Oj$JanFebMarAprMayJunJulAugSepOctNovDec DD-MMM-YYHH:MM:SSSundayMondayTuesday WednesdayThursdayFridaySaturdayBv$։#C x0؉#D,z@ډ^#E8$.$n xBHyN*PgBHyN&Pf/NHxNP/N&<,</</N&@, O gV |f` Jf |w` Jf// HyN,Np X///<HxN&@& Pg.Jf$ /*N0'@Xg g ((K $@ f L Nu Z x0,]&R6 >"plJH@T2Z`%intuition.libraryicon.libraryworkbench.task-debugCannot find resident tag for %s Cannot start tool (error %ld) Workbenchdelay(gTH J (2f0CmJg]\mf"`|.| | | | ` JCJgf`EL/:NuWorkbench release 1.2. H8,yLNvL@Nu/,y"/N:,_Nu/,y"/N,_Nu/,yN|,_Nu/,yN,_NuH0,yLNL@ Nu 4HXjA/,yLN:,_Nu/,y"oNb,_Nu/,yL /N,_Nu/,y"oN,_Nu/,y"oN,_Nu/,yN|,_Nu/,y oN,_Nu/,y"o]lr / N,_Nu/,yNv,_Nu/,yLN,_Nu/,y"o o /N\,_Nu/,y oN,_Nu 0L`tH:(o o"oE:Ot&O,yNpJWFg/HoHTNdO OL\NuNu: /"/Ho //NO Nu8t ")8Nr0ԁ&)8t ") Nt0҂&)8t ") Nr0ԁ&)8t ")G" `2G" `&"Smtn6{NL@4(#A tgb`G " `"*p`xG" `lG" ``G" `TG " `HG$" `n6{N$Zl~ [  H6`Nqp(jN%AXt fRdrXfJg rpI@NNr "Bt#Bv-Xfx#D"pINr0Xf.rpIN"*Xp(j,NtXfr"rpIN`V$)"N#A t0Xnv9Xm(*X"`"*Xp(j,NtAv ҃ҩ #ArpINr0Xn t9Xlrf*"*Xp(j,NtAn"*Xp(j,NtFol$)")N%AlNNqr""*pґ[rpINr;XgHt Xg>v Xg4x(Xg*z)Xg |,Xg~=Xg p Xf"*pNR o rpI[ &wN`r` rp I,Nr/Xg t*Xfr/Xf"rp I,Nr*Xf p IN`"rp I,Nr/Xfrp I,NN`` p ILNrtg ttfrtg p ILNNNq` rp INr Xgt Xgv XgNT n].S cpZ O]O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F WHJѳixzhJ@@Y63ı ̏=Y>Nq @@\@װ~k@( tP2⒠X;k@l)L3H䉂H_ ,PJKPD as+=%@ k@ޢC*ĞvSXCtP`/lq; 2L!hs,Nk`4j8 HJi`Nx`%ZpD!IXd @ |z`` `/S!%E!8΅#تa:@cۨw?bCKs {(  /eG~Y # :18a di5P%5O ͇El\`D62uFD~ -’GB2?fhD#KVF4 ljc3ǎc1 ~HlMHl! AP6@l}F04?Ђʢʦp:U` Ss>gTFAOך|ApIc`& ؘ: Z@ A8ZG`Jag8 @T "aC;r{S>8 B @ X 6u(;],\eDhL\< mLML-MF0`$Eչ`L0$2x$ e&`"hg84=OaB_f@8K&e(3PhDFZș`GJ [4y9 >Hb S[ˁA{J:,ޮB-1 1=PՎŀ{đ2!}R?0 ?8\|"5B?α :$s qBxd=,#qIAkcxC~V \eB d0XZt: @3'蒐Ƥ4)6p Ƥxd!Ϫ> IA()03:2>_Gsu+Ogd 3sXĀ`ঙ egD.$"Gd~ ( ;#:L ,׼ 6"|mo`X"<2FC:̡!Fix @N"M'  *TҔ]J q0X sw"19l ҕI/͚"}0q_!#nJ& rCR(<0X|Mexǂt$:+E9ܰ N09sm* ~8|pcW'DA`sCBaqBWZ;$b`Pp"X""zaA>`CBpX(  8 ont, 2P"Z܈2r 5ر@HD\X[pR#'(fYJ/h3>@';^ Pn.$FL~S3IJHүˣEi>,ؠ>P >_J ր|:Ppua<HMn ;0L€ w`o2pQlCS;Ioi}|ua /$ T J2m!c7AW& P iJm xPq[_hI ^N)Ġ { EHBHPiv @c?' @@Jp Ԡ T T$,?AC Pa@0K uP}L:#r@LX#E63 <Ɛ%04F:כʔ\AzO:,Yw:uq09@~q-xO% 02R-pv= Bf1:ʫ"(b[(vi*T T|ex |m0DY^XqB] ю9D-L ti QA("iC@b Lixh2sareƟl4Mhh!0 h X$7a)00ZAM@Z&|q`^ aט2SӁj'< @mǠ`ƒ%^A !9} cd#*ۄ̘B Ie61:p3hp˟>iuEB`FXk>.^HtjA8A: Jj z7AnUu RfXlX $5譟:E`_@$RA8Cu-M9L3=s,)ZڦsE>(Q0p𣫠r$a)jGf`0b"0ӣ!-)Y"!A膼, xpxlI|;X3{h!AIwCGJtF& z&l1_2Cq@t^'Ù$QG)Ϧ (sY`%ȯ9x 1%<|$A{@# S 0 58dM'nK ){0L13#8PpM~|I,Oś錛&L $ %Ft )|C5V7\Hc B1@҂JV,DxeBS@ p4yxR:]&{: P p5 7&K@DI@lK HRX %#}72Xb LV D;Dj`J@YԟS#.Y#'^}$A0ȁ󝁤iܠ%hVжu cKHF}b&qC^@V I/ل(Ci#:%&'PD5Hp x'@CA(+ / y+8F dti$8Ji'##Ad$ >16,\,ʀ1 ' C Y !ɇYKAGe@hˀ 83߁~QH&ao铜\"¬·0DISkv{%a'r=5 >ۚm3wtJIR'0 oڜ<%l2ť9.JHx2Q;69BH\ @Q"f^gJx@_b$(?TBzI.X Q:NIXs1$Pfv?+0:pG`ԭ"EɑR%H@%z0%WK3`1(Iُ(a T0@@潏(1IQg,O"9\8Ɓ ^wt3MI$!$B0;k@9}dP*!f'g`4@#wa`!I=i PD&όPpii/,@?&@kB=<\3Tk@8BD>1o+gGfYXmp@礧!2h!-P$9P$ qRwj 7'$ @" 6L< qJ0Tؠ&$i<%H ;[a9X 'x0do y&Es#dɂ@[l d}  4PR PH_ PIDg P3%fpPɥŎk2`nLL"NP,@#@HC d)@*`E i"E q t0(!Cx'0}0 fabaA^& y%(-kЁe|qQ+&uUp` d"80g gK tH  nnQe)eg_0@ $ bK10t;xӃHM0Z3"";ؠ\$5PfPB|X (Sh0&'BPA P¡&N`Kths")9:,Q+E Px(}:7@Jo>` yWMnU^)o/B b6J YH^rCƒpO9L(>O 1w>@qNH<>@pcLߓo:77!4 >Ao!> =gyڎ sG{wEɟ* @ ( O@jx}Ln0 5@~95eO'cJH(L<](ٕ<ٕsBsBNOfh9ʐo<.nAڐ6kWPyq0:QRⓟ"T%[~rr r;&[C?0EB(1mDeDcbR+P5`J6Ʀ<4̶UC:X@x[0bNv N ֔JFRF2^`Gϗ@ϊH@YTS3CW /c`B`@/dg@ - kPv<@` @x FU@4 G@;,9p ʐ8inOSF&>ARHXLBp  <Rv 6! HlDId\/ 2@q|0 HSDI0(Kc1l'QO#E0 `p/Q@#Lz0 H`&L$ 0 `%qL!}0 d`H$I- :`&р8f4ON=' )[I"C@ / '[dy)Z s( F K#zB Ej9#v5 b. -_ŗ+A CìIH8ރ|9*>WHJѳixzhJ@@Y63ı ̏=Y>Nq @@\@װ~k@( tP2⒠X;k@l)L3H䉂H_ ,PJKPD as+=%@ k@ޢC*ĞvSW+CO~O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F iuEB`FXk>.^HtjA8A: Jj z7AnUu RfXlV-oOBO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F @#@HC d)@*`E i"E q t0(!Cx'0}0 fabaA^& y%(-kЁe|qQ+&uUp` d"80g gK tH  nnQe)eg_0@ $ bK10t;xӃHM0Z3"";ؠ\$5PfPB|U/|O&O(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F SYS:Btԉ#B`Rrp(jtN#A JgB$B(""0p(jN$) !(")!U' #i ""Jf")Np(jN$0#p(`,rҩ$"p(j4NJf")N")#pJfrNNq(jNJg rpt(jN&)\$)`rpt(jNJgG" pt(j(Nrpt(jN`rpt(jNNNqDRIVE/A,NAME/ABad arguments for RELABEL -RELABEL must be given a drive or volume name Device %S not found Attempt to rename disk failed r61:p3hp˟>iuEB`FXk>.^HtjA8A: Jj z7AnUu RfXlT5OMvR7F7vH瀀,y# <"<N:"@LfpNu*I/ +@+HN(@C|pN+@fH.<,xNL`pd`#Jg , 0H0EG @pB0& - mC ! RB)g\  g  g& "ggB  g`B`g0 "g *f  Ng nfr ` Eg efr`BB GL Hm/`0A\NA\N+@ /B,m$@ *$g @"(NNp` /$,yN(@*lT6.M*_/ -g"@NbJ g N|"m N"M <N. Nudos.libraryNIL:t j"RXH<04/&/ $|d&|JBf BNrXN0(#DHyp0 @S* E/08NJPg Hyp0 @S* E/08NJPf N` NJf:#DNJfHy/NHxNrO ` Hy,/NPHyNp0 @S* E/08NJPg HyPp0 @S* E/08NJPf Np`~HyVp0 @S* E/08NJPg HyXp0 @S* E/08NJT7W{ PfN4/NX`*Hy^/NHy/NHy/NBNrO/BHyNO L Hx(/N&Pf/NpX`B//HyN Og` L Nu/ $o g( *g /NX/ NT8쯍@Hx(/ NBO $_NuH?8$|DN R(((tȂ (,rЀ"Ё؀*( ʂ ($rЀ"Ёڀ&(Ƃ (rЀ"Ёր,(̂ (rЀ"Ё܀&h. ΂&G ( rЀ"Ё(P. ΂(G (rЀ"ЁNpSr N$g$|`$|tN` r N.g 9` 9րRmt`  @ְRm$ B $ B" B$ B  B LNuNVH>8$.&|D$|(|r< N*r< N$r*V( $4p 0 FRrresetBattery Backed up Clock not found Warning: Clock is at old address lloadssaveUSAGE: setclock load|save|reset load loads system time/date from clock save saves to clock datetimer.devicemT<"n/,y"/N:,_NuH0,yLN"L@ Nu/,yN,_NuH0,yLNL@ Nu4F7/,y"oN,_Nu/,yLN:,_Nu/,y /N,_Nu/,y"oN>,_Nu/,y"oN8,_Nu/,y"oN,_Nu/,y"o / N.,_Nu/,y /N,_Nu/,y oL "/ND,_Nu/,y"oN,_Nu 0DXlT =FH:(o o"oE:Ot&O,yNpJWFg/HoHTN@O OL\NuNu n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDF"lDF @aH$gD $Nu: /"/Ho //NO Nu o XB!HNu7H< &//z/N,p(rXT >$=Rqfp`f/<Hx"N$@* Pf/NpX`@%C B |B*DBNh%@JXg / N` HjNX L3210/. aRunoS@C}OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F r%Ad``r#A`V")ҩt0G" <(j(N`.")ҩt0" <(j,NtHgvNg`R")t0l~"Jgt#B"Jgt%BdSBzbJdg0Jg(G" <(j$Nr%Ax <(jPNJg <IlN`r%Ah <(jN#Atgd <(jN <INJfr <(jNJg0"*X <(jNG" <(j$Nr%Ax`` <(jPNN#FROM/A,TO/S,TO,OPT/K,HEX/S,NUMBER/S Bad args Can't open %S %S already exists Can't open %S Option '%C' ignored !Invalid option combination N & H **BREAK Jdg$*hG|" p(j(Np(jN"tgrp(jNJgr p(jNrtgFN"p(jNr SC`"gt gv fRhrN%I5 Br ҉#A$<hԉ#Bd#Bd%AlBtv%Cpr#A|tnZ" <INJf&&)$)|")d <I\N <(jPNR")dҩ|tԁ(rҩ|`&)t")d <I\Nr <(jNJg*"*X <(jNG" <(j$N``F <(jPNN ***BREAK Rp$*tpn&$<X"*lp(jN%AtJfrNBp"*lҪptԁr0($!(rNNqJg>x#D t"N#A$) rNV#At") NJf ")`rҩҩ#A$)&)$GD" p$(jSLF/(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: %X2J\g"*\p (jNp (jNJ`g"*`p (jNp (jN"*xp (jNNNqTr"6.Rxnd2Z:4@4 QE7/* MountList for V1.3 */ /* Mount Entry for the new Console Handler */ NEWCON: Handler = L:Newcon-Handler Priority = 5 StackSize = 1000 # /* This is an example of a non-filing system mount using a handler written in C. */ SPEAK: Handler = L:Speak-Handler Stacksize = 6000 Priority = 5 GlobVec = -1 # /* This is an example of an alternative type of non-filing device mount, used to mount the non-buffered serial handler */ AUX: HandlerQFP( = L:Aux-Handler Stacksize = 1000 Priority = 5 # /* This is a non-filing system device */ PIPE: Handler = L:Pipe-Handler Stacksize = 6000 Priority = 5 GlobVec = -1 # /* This is an example of a mount list entry for using the recoverable ram disk. Depending on the amount of memory you wish to devote to it, you may want to change the HighCyl value. */ RAD: Device = ramdrive.device Unit = 0 Flags = 0 SurfQGtG-aces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 20 Buffers = 5 BufMemType = 1 # /* Makes a Mini RAD: */ MiniRAD: Device = ramdrive.device Unit = 0 Flags = 0 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 7 Buffers = 5 BufMemType = 1 # /* MoQHGǚunt a 5.25" disk drive to be mounted as DF2: */ DF2: Device = trackdisk.device Unit = 2 Flags = 1 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 39 Buffers = 20 BufMemType = 3 # /* An example mount entry using the fast file system with a partition of the hard disk using the 2090 disk controller. PREP has been used to create the fQILirst partition (up to cylinder 20). The second partition is MOUNTed, using the following entry: NOTE: Some hard disk drivers require more stack than specified here. Some may required less. (The hard disk is not included; this is only an example.) */ FAST: Device = hddisk.device FileSystem = l:FastFileSystem Unit = 1 Flags = 0 Surfaces = 4 BlocksPerTrack = 17 Reserved = 2 Interleave = 0 LowCyl = 21 ; HighCyl = 800 Buffers = 3QJ:Ȩ0 GlobVec = -1 BufMemType = 1 Mount = 1 DosType = 0x444F5301 StackSize = 4000 # /* Let's say you have an A2000 with an internal drive, and an external drive, and you want to refer to the external drive as DF1: as well as DF2: Well, this MountList entry will do it for you. This technique can be extended to provide you with a drive A: and B: if you really want. */ DF1: Device = trackdisk.device Unit = 2 Flags = 1 Qg[ Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 79 Buffers = 20 BufMemType = 3 # Nr%Ax`` <(jPNN#FROM/A,TO/S,TO,OPT/K,HEX/S,NUMBER/S Bad args Can't open %S %S already exists Can't open %S Option '%C' ignored !Invalid option combination N & H **BREAK Jdg$*hG|" p(j(Np(jN"tgrp(jNJgr p(jNrtgFN"p(jNr PLi%pNuJ"<<parallel 34.9 (18 Apr 1988) parallel.devicemisc.resourceciaa.resourcezNuB)Jn g.ug)5f|`pB.v)5guJ)f J. fRn nu5v)5g #nZ6#n^:NuB)Jn g Sn fBnrB&u.vgNpNuB)p/ /,n"N,_"_|0) @ nHA pN<Q)f/,n2N,_ if .vgP9v`8 if69f.vf </ /,n"N,_"_PMY v </ /,n"N,_"_NuL|Nupa&fB&`,)gJ/ Q"i"!I"_Snrf J&fv|))f /,n2N,_aPNupJn gNupC6/,n"N,_/,njpNpN,_"N Q"i"!I/.b"Np0.n/,n2N.,_ Nua. .&g"@a*NuNupa/,n2N,_"NuNu/ AL"P g #HJg "@a `BnrNu|/,n2N,_"_Nupax999.t.tnt49aH#H6Ep&@/,y N,_p/,y N,_B9 ,_NuH.<,xNL`"y/,y Nb,_H.<,xNL`"y/,y Nb,_H.<,xNL`"y/OR5_,y Nb,_H.<,xNL`"N0.n/,y N.,_p`Jtimer.deviceintuition.librarydos.librarygraphics.library #3* .@2 <>@BbcddXh Z$lT0ZX XX8@H N/ N"_NuaaaNuJn f/NXCZ/,y N,_C/,y N>,_"y/,y Nb,_"y/,y Nb,_"y/,y Nb,_/.""N0.nOSq/,y N.,_"N Q"i"!I Nu pNu/ &I/,y N|,_Rn n f/,y Nv,_/,y N,_#A4'H/NXJf . g . fvA`AxprCl/,y ND,_JfPp(AlC2Q/ y h NXJf  &_NuCl/,y N>,_`/,y Nv,_p@Sn `parallel.deviceserial.device/ &I/,y N|,_A8/,y N,_Jg Clf `Cf `.G/.Hp/,y N,_@Gk/,y N,_-@Ha`BH/,y Nv,_/ y hNXCl/,y NOTK'>,_p.Gk/,y N,_/,y N|,_-_H_G/,y Nv,_Sn p'@'@f. g"KN&_NupaNu=Nu=Nu"nHJga|`Nu`LPp/,y N,_*ECAH XB!HCZ-ID-IHp/,y N,_,FGAL XB!HA8-H-Hz-Hp"L/,y N,_~ /,y N,_$ g6A8/,y N,_Jg Clf `Cf ` g"nHJg#0)H n* pN` o /aNuJg8/,yH瀀a p l T P & " O XƬ z r n b ^ Z F B > :  z.<Bh  ll   & " 4 B Rtd840,($     O Yܙ5/ /$|zB9|B9~ yB( BBJgJf NJg&Nnp#p#|#|1$_Nu"| Q3 V Q3 X Q3 Z Q3 \ Q3 ^ Q3 jNu"| Q0( VyfF Q0( Xyf8 Q0( Zyf* Q0( \y f Q0( ^y f Q0( jygp`pNuNVH< nh"h#h$h%p0( *pLfp.#B`HnHnp0( /N8&pO o`xJfBHxN (PJfx y( f/HnNX(PfXN (`NE" `RSgJO Z$J(f //NX(PfN (fBHxN RSPJgJgJfJfBHxN (PpL !cLoY|S"ca`~-r-*+23'uP.O \(,1o'///?AAAAAAACEEEEIIIIDNOOOOOxOUUUUYT3aaaaaaaceeeeiiiidnooooo/ouuuuytyPGenericnjPLHDbv@|xtplhd`\XTPLHD@<840,($  O]|xtplhd`\XTPLHD@<840,($  NVH?<$n(|-|-|zrABSEf * -@-@ =j,=j.<*0=j2-j4-j8 y (.-@-@ y=h Vp0.V-@t4*<-B|Hn|N y(XfHn/ Hx` -n|p@&.ƀ-Ct4.V r-Cgp|/.|HxB/.|/ &nN*Og`-n|Xp0.Vg |` |-HO^f8 yr(8D Dg Df Df y h dgnx y h bfnx y h dgnx yJh df y=h ft`Bnt$*(gnx$*(VDHH*+VD. .HH-@ n-Pg\ nJ g"n i p0=@"n i `P n=h n0(nRn n=h n0(nRn` "n ip0=@"n i=hJneBJnet4" .N`8v6$v6⋴d v6$`v6$v6ծOb͛v6.$c t4.-B`Dt4." .N`8v6$v6.⋴d v6$`v6.$v6ծJg .d-nJg .d-nJg y&(R$=Br`\ yt( gL& y$"HB"HBBBւZr Nl y$(&.րd y (=@r$.| g"v6.r$Ԯ%B4%n8Hn/ B`v6.$RD. .HHHg8".v6. Nl$=Bl".v6. N`$=Bn=np`6v6." .Nl$=Blv6." .N`$=Bn=npv6$RD. .HHHOcbgg0".t4 Nl=@".t4 N`=@=n`" .=@t4" .N`=@=F"n ir(=A ncnxBE`,*n&m0@/3ND&pƀXgnx`REne.yg$Jg"n i`Jgn@x` P f.yfJHxHxdN-@Pf`4 n"n&Hp&Q n| nB nBp0.8D(&nHxv6/N'@Pf` n"h*n mp "Q n"hB n"h3|2.nct4.`t4.8t4 rЁrNЀ8 n"h2v6.$=Bz&n&kHxv6.z/N'@Od5Pf`:62.*&"Ok_NVpH><&n&<*<-|zr k$-Hp(@fB nR +(J0fB EB"y$i\ j#e "yp#@:` C#By`*C UR"|z*E(UR +( E .o C m$C-RHnp/.N(@"y) Pf / HnpNX"PfN "`v|xr`d`R FĹo FCp1f/EpHrHNX"PfN "Jf FCp1fBHxN "P FR(|lJgJf E .n CBJf8Jyg0`"*C UR"|z$|(RR$|z .nJf'n `B pL<|LN^NuNVH>8(.OlWM4*. &|$|HyHR/HyN  9hOg 9lf$ fr9 rN~`B`|9 |,0hf,Jfpfprr7Ё`pgpf`p f Jf;`Jfp f@`pfp fK`pfp fp#L`plp g |:h`Jf c `ppo^p(@"$ҁ&ҁ҃҂"|H1f |:0hHH" Ё`Rpn"$ҁ&ҁ҃҂"|H1g Rpn Ag @fBJm BHR//HH/NOmzǧd#O| RhRp nB* R .oXL|N^NuNVH><(.&. &|(|$|BBBBBBB y h\p0(,` | R |zJo R"@8S`htp#n6 yJ>g*9~HH/p/ RHp8 y h>N$O Jm ђ` f8/HyN  #Pfz/HyN zP |0Xf |$XRpnJo f B9|B9~BHy//HH/Nd#O` (f</HyN zP |0XfRp OnnJmH"` [f`z |0Xf< |Xf B9|B9~BHy//HH/Nd#ORpo`  fJ9~f`HxHy//HH/Nd#OlJ9~fB T o 9S#p#`n R"@ 8 R"@ 8`R R"@ 8`B f//N P`. e-|p!n yJ6g y-h6r ` @*n"pB`4 \f( 0m 9nz 0m 9nRRpo`RRJf й o 9S#`r ` @*n"p`Z \O ofJR 0m 9o`:tz 0m$ 9nHHԂ"ԁЂr0$Rpn R*@8` R*@8Jg ` R"@8o й l JoJJg 9m ` B L<|N^NuNV/. $.BH/.Hnp0/N8"O n`\"y o(#J.fN `"yS#p"`"p` |"PR IC(Rmr $.N^NuH88$/&/ &o$p(@B`J ;fRB4`<  f "o(p"`, "f"o(p`"Lp @p0p4 (//N  0Pe 9c  g O!p5;g "g#pLNu"o /"R |z0m m N B`pNu"| 9S"`SJo" |zp0rrf3 Nu hV nd tTNH>4.&vn`T~j\D.t\TN0$xnRLD>82,& O"q$G`Rrd^J8(~xR2&JfTX*DpcDEMLKHJ !CDBRKAEHYZJ6C19082345<=>?BIJmwzvpFgEtqrsxr-1E09:@AKLO#r?ZLNVH> $n$. BE=jV=jZ=jd=jf0*h=@=@8*ND|r2*Ng yJh dg|/ NJDXg $n$. BE=jV=jd=jfO%trl0*h=@=@=jZ8*ND|r2*Ng yJh dg|/ NJDXg $n$. Bn6*V=jd=jf0*h=@=@:*Z<*NFpr2*Ng yJh dgp=@/ NJFXg8/ N EXf*qf0*X j80S@g&`/*8/ p0R` /* / p0/NO Bp0r2*V// NRCHn0.H/p0./p0./N=@8.O`2/* / p0/NHxp0r2*V/O'v:@/ NRCOSDf8.p0.// Nfr2*NPgp0// NhPr2*Np€g *qg y h df / NVXJFg&Hx/ p0/p0r2./NO`JngHx/ NP// p0./NJFO g / NX`Jng/ N/ N $n$. BF6*V=jd=jf0*h=@=@:*Zpr2*Ng yJh dgp=@jN/ N/* / p0/NBp0r2*V// NRCHn0.H/p0./p0./N=@8.O,`2/* / p0/NHxp0r2*V// NRCOSDfr2*Ngp0// NO)xhPp0.// N|r2*Np€Pg *qg y h df / NVXJng B/ NP// p0/NJnO g/ N/ N8$n4.".(*6*X&j (j y(gz`z y h `fp`p,*qg *qfp0, F *-pJgx*qg-T4 BO+zpdp0" A-pH`B2A0A0H @mo @f`A` A`Ap0*p/HnNP .ќSCg`*qg-T4 Bdp0" A-pH`B2A0A0H @mo @f`A` A`Ap0*p/HnNP(SCg,`Jgp0"@ 1HќSCg`p0" A(HSCfL|N^NuNVH>8$n4.<*X&j(K-j(p0*p @p"€ AgB@=@=@8=D nT=P6.p+@pnp+np+nXSCf:n6Kp0r2Ёr2Nl@p0r2.Ёr2Nlp0r2.Ёr2Nl@p0r2.O,{9yЁr2Nl@XngR`>BD nT=P6.p+@XSCf:np0r2 r2Ёr2Nl@Xnf/ NXL|N^NuNVH>84. "n ".(Q y h\ h#eHxp0/// NO`\p0 @p(Ȁ D0-H$i()m =ij=iX&iiq.p0)p @p(Ȁ DfJgH=Z+g*cHxp0/p0./BNORnSng `0.nXSng`=Z+g@p0. @p"€ A"n0cHxp0/p0./BNORnSng `0.nXSng\`Jg+k=ZcHxp0/pO-|.w80./HxNOcHxp0/p0./HxNO.cHxp0/p0./HxNORnSnfXSng`v++k=Zp0. @p"€ A"n0J.gcHxp0/p0./B`^cHxp0/p0./HxNOcHxp0/p0./HxNO.cHxp0/p0./HxNORnSnfZXSnf//*NPJ(gp0*J//*(NPJ,gp0*L//*,NP*qgHxB/*PHH/ RNOBHHL<Nu("o y(g r i h(//)/ Nh`r i h(//)/ NO Nu o"y)gp0(X//(/Nh`p0(X//(/NOO0+ nf NuNVH>"n n $.)Og|`|)Ogp`p=@)Ogp`p=@p(:pr26p(r28p(r22JFgDdp0`p0JngCdp0`p0(JngAdp0`p0(XSfL|N^NuNVH>"n n ".)Ogz`z)Og|`|)Ogp`p=@p(4p(6p8JEgCcDcDcp0`p0@0HJFg BcDcDcp0`p0@0H(Jng BcCcCcp0`p0@0H(XSfxL|N^NuxL,\O1opH8",y oL$o,"o0(/4N,LDNuH?8@HRo6.*AHRo*&H(I|` K ""LNR܂Q LNupLNuH8",y oL$o("o,(/0NLDNuH>0JDgHaL(`04/"&o$$o(+qg8,+6+T8+X0HSCH/p0//N4O lBRTSDg`+qg6O3>,+6+T8+Xp0/0HRCH//N4O lBRTSDg^`,+6+T:+X El8H`(<p0+pr//+/ H/p0/0H//NvECEJEOnL |Nu8x'NVH0$n"|&j( QJ( f. QAlCp"Q2=| HnNBp`@ QAlCp"Q2=| HnN.p0.p%@ XL N^Nu(>lNVH>8$n$. Jg / NX-j(=jX-j&j (j$p@O4V= y h dfT n=X-H nHHX (+HHX (+HHX .oHHrЀ`BHHЀ.o |HHrЀ@.`B+HHЀ@..o |HHrЀ@.`B+HHЀ@.p0*p// N,,X.,.,X++SnPfXSng` n=X-H+HHX  n(.o|HHrЀ`B+HHЀ,XDX+SnfXSnf/ NJO5Xg / NXL|N^Nu o ($!h $!@ h$BNu,J@ o (4!h 4!h8 !@8NuNVH?84. 6.$nJg / NX-j ,*4-j8(j&j =jX-j( n:-H&SEfTTTXUn"F=Q"n=Q"n=i"n=i"F=i=i"n=i"n=i nT8:&SDf=ESn=CSnp0.=@p0."ЀЁ=@0.HJngƴ@b nc0.nf^0.nf 0.ngJp0. Gp0.r2.r2.NO6G*6l28`&0SAJ@f2Dp0. G0.nfB0.nf 0.ng,p0. Gp0.r2.Ёr2.NlR28p0. G2D`&0SAJ@g`@c0.nf`0.nf 0.ngLp0. Gp0.r2.DЁr2.Nl28`&0SAJ@f2Dp0. G0.nf`0.nf 0.ngLp0. Gp0.r2.r2.NlR28p0. G2D`&0SAJ@fTTTXSnf n:-H&SEf/ NJXg / NXLN^Nu8*nPO7Ǚ/,y"/N,_Nu/,y"/Nj,_NuH ,yL NL@Nu/,y"/Nd,_Nu/,y"/N,_Nu.H\/,y LN:,_Nu/,y "oN8,_Nu/,y "o / N.,_Nu/,y "oN,_Nu0H/,y o / N|,_Nu2 n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"aO8|$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDF"lDF @aH$gD $NuN^NuNVH>84. "n ".(Q y h\ h#eHxp0/// NO`\p0 @p(Ȁ D0-H$i()m =ij=iX&iiq.p0)p @p(Ȁ DfJgH=Z+g*cHxp0/p0./BNORnSng `0.nXSng`=Z+g@p0. @p"€ A"n0cHxp0/p0./BNORnSng `0.nXSng\`Jg+k=ZcHxp0/pMNVrpNu#%JTTTTPgenericpNu62. r02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~M%uL,($  |xtplhd`\XTPLHD@<840,($ Mx *x  / / / pNupNuH<0$hg jj hv@HЁBA(A"iC^BJ`$$X&Y8`Q:` $K8`QQQL 04/"&o$$o(+qg8,+6+T8+X0HSCH/p0//N4O lBRTSDg`+qg6LFvpNuJlBRlBpNNuNNupNupNuNB*"R"B DOSramdrive.deviceCommodore-Amiga Ram Drive 1.0 (6 Apr 88) dos.libraryexpansion.libraryH ",x"z <N4Jg"z :L 4N4Jg~CNP:fftA m$(< mL otCp"NJg4,@ANpAJH,xC"g WCB NLNbLDNu"zD <N.`C%NJg @ hNNuH0>,xCp!NA g"@$i"Nb j (g$@Jf* *g$&@ + @CB@gS@VfJg ` *( @C>pS@QC#k#k + @ 2 op2` "Q :R@g$SԺA" PAB ra A2 gPA. &@ <praJg(@ <raA g*@AB"M0<u"LH.qQAVC0<"Q" A:A0kӴ`A8)HDA)HPA)HhA)H3@R.&A" "-H"A:!n&g-H&N-@*S.&l3ClNP","f"@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~ISgsiesta/8BHagenericNG.yypNu   tB n^l8`|||<|| `<||||x|||<<`<0 8`8vxf>fl`~8xf8|f؂x<<<<|||||f|>>>>8`~~~~~~w|||||~f|||G=-|>>>```0x30<~h`` (08@HPX`hpx (08@HPX`hpx (08@G.NHPX`hpx (08@HPX`hpx (08@HPX`hpxGf (08@HPX`hpxD\bK Br02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~Ftopaz/11 @K.S devspD\  pNu FED  @ nfl8 0<<< ~~<<<|<lff8ff`0fff 0f0>fff~3fl0f<<vf<~8`fffX,l88888ll````ffffff6fffffcf<<<<<<~<<<<<8p8 |<<<<<|f|fl<v0 ~~~ | <>` f|fxx~x`||ff<0 D^7JvfnfxfvlffffvpfflfLpflxff0 ft<3r;0llllllo````ffff0<f3|xf~bg`````f6ffff~fffffff`~~~DX~0 fffffffffl|ffff fff  0fflf`fffffl`lfff0 ffff`0`ff~<8<<<><<<;|<;>>><`l;;;;;;w<<<<<>fff~3fl0f<<vf<~8`fffX,l88888ll````ffffff6fffffcf<<<<<<~<<<<<8p8 |<<<<<|f|fl<v0 ~~~ | <>` f|fxx~x`||ff<0 @NaJ%L%Zp%<V+h%1@+ Z(J-(΀΀@@ 0 1@ `2 `1@ `p2 `5 `3 `6 < 8@sDJ.΀ ΀@@ 0 1@ UUUUU^21@2`f5`f3`f6`f<`l8``p (08>l%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$) G>[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"*pD>@(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``"ҪJ> FQl$)"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 headeral.infoC=iRRRtԉ#B&< ։#CBBBBBBBBBBBBBBB(zJHgF#E,<܉#FX#FBBBBBBB#pH#pHG. R#GG R#@G" R#AG" #A "<҉#A"<$҉#A BX"<`҉#A\"<t҉#Ap"<҉#A"<҉#AJHl ")`r#AG$ #B&<։#CG( #DTG* #EX`<&x08&)tp(jN")R&t("p(jN"p(jTNNB\B=-`#|drd#Aht#BlBp&)x08#DtJf#Dx"#A|xn$#Al$)ԁv0(t:g vց"`Rlr#Axtn()l&)t/") <(jN#A|BJf t#Bp`")ҩlt0#Br0n$v9n$)r Nҩt0#A`rt/gF#Ap`Rl`Jpf("<\҉ҩx!#i|lrҩx`>t") <(jNJpfJlfr`")l#Al#itx#A|xn($)ԁv0(l$)ԁ(rҩ|`rhord`")h#Ahtdo "<`")d#Ad#i()h&$)`")\ <(j=+N#AtfF#BpJpf<&)t(") <(jNx&$)") <(j|NJfr#ApJpg&<t" <(jNN"< <(jtN#Ar#Ax n$)ԁv (rҩx`v $)") <(jN")p!$)T") <INJf$)X") <IN")\!x&)t") <(jN")t!t" <(jN <(jN#AxB|B` ")x#p$)v!(Jf$)\") <(jXNR`St")x <(jN`rҩ#A$)v0(Jf ")t0=7#Bvn*xn"Wz$") <(jNJg BJf bJfrfBJf:rt nFvx?mFƒ#AvSfz#ErftT#BrAfJgt#Br@fJgt#Br fr`r#AtDf*&)g()gSS#DrCf*$)ggRv֩#CrAgtBg vTf&rҩ#A#i#itAg vTfRBr#A n:$)S#B&)ւx08v f x#D` rҩ`rҩ#A=a$)f#iB`rAf.Jg&tBf#iB#i#i`VrAgJg$)g&)()S#Dr#AnN$)ԁR&)ւt08&)ց()؃v0Hg B` rҩ`Jf #i``Br#A n:tԩ#B&)ւx08v f x#D` rҩ`#i")f#iB`PrBfBJg:tAg vTf&#iBrҩ#A#i`L`#i")f>#iBt#B&)gg=`Vש#i`")$)#B#Br#An>$)ԁ&)ւt08&)ցR()؃Hrҩ`")ҩ#A$)&)#B#iv֩#Crl` gB`r#A`r#A#i`r #AB#i$)f v#C`")$)S#Br#AnT$)ԩv0($)ԁR()؂t0Hgt#Brҩ#Atԩ"`")$)&)()gt#B")ҩt0r gt#Brҩ$)ԁr=K0(t fB")gJg#iS#AB#Ar#An$)ԁR&)ւt08#Bvo mr ffr `")$)ԩ(#irҩ#Atԩ"`x")ҩ#irҩ#A")S#A$)ggթ#i#i`")g"$)g#i`X")ggө#i`,")gJgBtl")&)"`r#Aөҩ#A`=z ")gȲgt#B")g&gS#ARRtf`")S#A")ggө#irf0$)g8g0Rv֩#Cx#D#i")g2$)g&S#AS#BRvf")fr`r#AJgh$)&)S#C#Cr#An@$)ԁR&)ւt08&)ցR()؃Hrҩ``L")tl.vgxgzg| gN~ g``Sҩ$)ԁr0($)ԩ&)ւ8rҩ`")ҩ#i`$)\") <(jXN`pJo") <(jNB`P")x#p$)x"<҉ <Io&)S"`r=#At#B#Ar#AnL$)ԩv(rҩ$)ԁ"<(tԩ()؂tPHVxة"`")$)") <= ;CIN")$<")vK")#Axة#D`FJoSJg|")$)#Bv#Cx#D*)|X#i"#An$)ԁ&)ւt08#BRvn x f")ҩR`Tr#Atn.vց() ؃v0H()ةHRrҩ`r@ҩ$)[&)ւ8rҩ`P")ҩt rҩ&)ց"<8v֩()؃vDHxة&$)") <ItNrҩ$") <IN")#At ԩ#BJfB`#ir#A`JoS")=OPbҩt0#B|`Jgp")fdJf\JfT#i$)#p(#p(#p(&!( 8")! Jn") <(jNB`` JgJ|gJgT")$)#Bv#CBB#Br#An$)ԁ&)ւt08#Bvn x f")ҩR`Tr#Atn.vց() ؃v0H()ةHRrҩ`r@ҩ$)[&)ւ8Rrҩ`P")ҩ$<rҩ&)ցrD8&)Sxة$")& <ItNrҩ$") <IN")#A=datԩ#B`r|m t |f#ir#Atԩ(`Vr#Atn(vց() ؃v0H()؁Hrҩ`r@ҩ|$)(")#At #BB|JoT()&)t") <(jN&)t(") <(jN$)p") <(jXNJnr#AJnpJfhJf`") <(jN") <(jxN#ix&t"*p <(jNN  Xconsole.device timer.device[0 p[ p[0 p[ p` """Jf!")$!( ")BNNq=Ջxd#D zڃ#E"#AnF$) ")Nt0҂&֩8$) ")N#Bt ") N#A tԩ"`NNq&(<8"t0"v "zp"ҩrҩ,܁hrҩ,܁hNNqor#AtDf*&)g()gSS#DrCf*$)ggRv֩#CrAgtBg vTf&rҩ#A#i#itAg vTfRBr#A n:$)S#B&)ւx08v f x#D` rҩ`rҩ#A<WG 7 HB A"B ,xNLBN77$#p(r p(jtN#A $G," p(jNBXr-p(jtN%A\r#At-nҪ\Brҩ`"*\t!r%Ahv ֪\$") p(jNrҪ\p(jXNp(j8N$)!(r#At nҩBrҩ`") p(jTN#Ap(j8N$)!(")t!")B ")B")!DOS %|DOSx%itvt"p(jNp(jN#A`")p0IN&*l$")p (jN`")p0I,N&*l$")p (jN`v<1{$*t")p (jN`")$$0("0p0I \N&*l$")p (jN`d")$$0("0p0IN&*l$")p (jN`6")$&((0H &08$0("0p0IN&*l$")p (jN`")"0p I4N#AJg*$)$0(p4IN&*l$")p$(jN`&*lt")p$(jN`")p0(jN&*l$")p (jN`rҪ\p (jXN")$&&08$0("0p0I N&*l$")p (jN`>")$&&08$0("0p0I N&*l$")p (jN` ")$&x&08$0("0p0IN&*l$")p (jN`")$&x&08$0("0<"jp0IN&*l$")p (jN`")$&&08$0("0p0IHN&*l$")p (jN`j")"0p I,Nvt")p (jN`D")"0p I4N#A#i$Jfr`t")p4IN&*l$")$p$(jN`")"0p0I,N&*l$")p (jN`&<t")p (jN`")p0IN&*l$")p (jN`")"0p I4NJf&<t")p (jN`f")p IN`Vvt")p (jN`B")p0INv$")p (jN`"&<t")p (jN` ")"0tlnvl0xgzg|g4~<5kgBp gtg`gtgvgxgfzg|g6~g`lgt"l6vgxgzg|g~gpg0`,gtRgnvWg0 g g g g gj``RAM DISK`D"#ptf"0 pIN`""0 p(jHN"p(jxN"JfN$v(f "0(` ""0#AtR#B$#jh(#jh,#|0#jx4#jt8#jX")$&&08$0("0p0I N&*l$")p (jN` ")$&x&08$0("0p0IN&*l$")p (jN`")$&x&08$0("0;z<tԉ#BvL։#CH(<؉#D*<ډ#E,<@܉#Ff"v#C"< <IN#A`$ <(jN"< <IN#A`&JnD"< <IN#A``p") t ghv g`xgT`Jg&")! ")!")!; F&)$)G|" <ILNNBr#A$<ԉ#B#i `JmB`2D`* <(jNt f #B` <(jNJgr g t fJgrf^ <(jNr#A$)#p( #p(#p(!( $)!($)&0(x08&)!8`bB")! ")!")! <(jN#A ` <(jN#A r g <(jN`")ҩR`\`n")ҩR oNrf&$)!( $)!($)!(&)$)G" ; ЧVj <ILNN`2") tgv g|x"g or <command too longtԉ#BBpt") <(j(j4NJg` <0(jN#Ar gtg v fr g0`6")$0G@" <0(j(N")#pJg@`B$B` <4(jN#Ar gtg v gr#A` <4(jN#At g v fjJ$fbJ fZr#A <4(jN#A` <4(jN#Ar gtg v g <4(jNr #Ar"fJ$gr`r#A$")ҩRr g tf4")U$)(#i&) $") <4IHNrN`:")$0") <0I NJf");â"0N")#pJfrNalias %S rp(jtN#A $v0(t"Np(jtN#A$)#p(#iJ gJfG" p((j$NrN"t0#Br#A n"$ԁv0($)ԁ(rҩ ``")#p")#pJg")$0")p(INJn")$0")p(INJfJf0")$)!(")p((jxN") p((jxN`,")$) !(") !")! ")"0p((jxN")p((jxN`JJf")p((jxN") p((jxNrN") !") !")!;s rN Out of Workspace &x08*|0X#D#F l`")#A$v0(#Cr#An\$ԁv0($)ԁx0($"p((j0N#A$ԩv0(t frNJg")Nrҩ`")t0R&)ւt08v g$) frN")fr`rN($)ԁv0($)ԁ(rҩ`")t0R&)ւt 8")v0R()H`")trf, <(jNJgr`r #ABDB`"<҉#A(<؉&<։$)9J="9E`NJP" 0Pdiskfont.librarydiskfont 34.37 (27 May 1988) HACE" <8NLJg "@#H"NtpNu/ @#,@#Cp/,yN,_#gJCrp/,yN,_# gA* XB!H ,_Nu"y/,yNb,_"N0.nH/,yN.,_p`dos.librarygraphics.library "%6 LZJ,/ $n*JgNJjT9hnD"J Q"i"!I"*/,yNd,_C6 Qf if Q"i"!ISn($R`$_Jn&f`Jn(nZ"y /,yNb,_"y/,yNb,_/.""N0.nH/,yN.,_"N Q"i"!I NupNuRn& NuSn&f .gNpNu jfb^& zvrn@H/N Nu/NXONuHNPNu/ N@XNu0$9KnNVH>8 n$. &.,TUm"FBQJm$H*ڂgn y (h`\"l x`RDJfp0p0r Ёm:"l p&@`XRp0b4%E5lll FRPp (TJfgBHxN (@& Pgv/HyNL-@Pgp/.N-@/ /.N|JO g6Jo.`Hx.HlN~"@& PgHy/ N   F (X "  4  4FONTS:.fontNVH?< .$. z&EBx/N-@HxHxN &O g/N,r9ZXm/HnNHx.HnN~$@* Og|Hy/ N o"oJig$<:)hl 0HԀ`0Hနp(:p)Ep(<p)FvBD0H2Hg*r) 2Hg 0@ |(` 0@ |0H2Hg*r) 2Hg 0@ |h` 0@ |HCRD Dm9B}`$< L|NuNVH?8$n JC""/N-@HnN(@&L$ Pg,=kkkHnHnN Pf`Tt/HyNL-@Pf`8/.N-@t//NL-@O gHx/N-@PgHxHn/.N0t BO fp0. fp0.,B/N *Pgh///.N0O fD gHnHnN8P`BDtBC`$0C.H GHpXHnNưDPo84RC0.CbJBm/.N&/N0B.H GHpXN(. GP"$ApO g jfb%D/.HjNA9b3%H@*MNHj6N(RjT/ yHh*NP yRh(NtI6O`0/N0H @$HBjX`0H @"HBiJg /NhXJBl//N8P/.NX/.NhX/.N/.Nh$ Pgg / NX LN^NuH| Z N <f|      | \    dfr 9 ԁYNt"FONTS:  9"o oJfNu o /`RJf//NPNu op`RJfNu"o o`Jfp`g!lp`pNu o/ ` f `RfpNuH0&/ //N @S HX` f `SlpL Nu/$/Hx//N PfHx:/N Pf`R$ $NuEH ,yL NL@9 ޼Nu/,y"/N,_NuH0,yLNL@ NuH ,yL NL@Nu/,y"/N,_NuH ,yL NL@NuH ,yL NL@Nu/,y"/N,_Nu/,yN|,_Nu/,y"/Nj,_Nu/,y"/Nd,_Nu/,y"/N.,_Nu  6Rl/,yN|,_Nu/,yNv,_Nu/,yLN:,_Nu/,y"o / N.,_Nu/,yLN ,_Nu$<T/,y 9 TlV oN,_Nu/,y "oN,_Nu/,y "oN ,_Nu,;<.S lp8.ܹ{{pNuJ .rexplode.libraryExecutable Explode Wedge V5.6.29 (16-Jul-91 00:21:38) dos.library2hvZ ./ *@+H(Cp!N+@$f .<NN| m$jC;P,+h. PNf #hr`( pg/.<N.`2X X`f#Hr"m$0|j <ЁN\ n%eNNv *_NuRn " NuSn f."fpNuH *N,xt m$j XNfB g f2$-("MN m$j0,8>] ."m$Nb"M0-mN. ,ML Nu"NupNH瀀gL @ Hf@ expl(f6 ode.,f, libr0f" ary4fH~K 6(OaB6L~LJNuSn *_6(Oa$|a6/I<,x n%eNLNu/ A)XC ""@ ]8)UB,AC$"""A$CrjPtJjSB2QACr0YQ _E)J0pR@"$Af9@4Sl4<a0,I )Q($NSFa )QJ(gY( Iz<a&Ia6j REl4f`Ѐj.a""ga<a& tfaPԚ׳(Sf`ܵfa> Nu"KMQk84Wb""""""""`M Pgg"Sf`a`ʕH&J:4,,f(JBg SEk,SBfSgf ddf dTf dDf d4f d ~`:f f f \~`p~`p~` p~`p~6f df d|4pX`f B`|4p f BSfF|:F>f dCf d:t0P`:t0X4p$j gf FSfRFM*KƻdĽf*JSEk Sf`@A8LoNu<,4RF,xaQ N.SFl4daBNu>"l0SGk "QQXNu 8ݻ vz~H&@$ Pg&7|Bk/N//N|JO g//N*Pg CJl$CHjN$Xgx  @P(H lfZC0+Rkr2. G$HHnHRNHyHRN*CHmHRN5lJlLlMO/NXJfVN fA-HJf g // N8PJg /NhXJgHx/N8P/.N7 :w )<pNuJ" F+Hicon.libraryicon 34.2 (22 Jun 1988) .XHD&4BP "+dos.libraryRn  NupSn f .gaNuJn f4/.*"N Q"i"!I"Npr0.2.Ё/,n"N.,_ `pNupNu/ $@%H*%N"CzNh%@&fH.< ,xNL`p`#"#& $_Nu//N7dOPNuH/NO NuH/N$ONuH/NO Nu//NVPNu//NPNu/NXNuH/NONu//NhPNu//NPNuHNPNuHNdPNuHNPNu/,o/,n"N,_"@#o ,_Nu |xtplhd`\XTPL VH:,:H<&/(/$/// /N*Pg$////NJOf7v}//NzP LH0 $/&/$op" g^Hx/ //N OgF2*HpҀ0*HN@"0*HN@//* //N OgL NuH0 $/&/$o`@Hx/ //NJOg0*HHЀЀ//*//NJOg $j fp`pL NuH< $/&/(/ J$7 jg/<Hx//N/@4OgHx//(//NJOgv o$:(Hpڀ"0(HN@*$o$"0*HN@*$o$Hx///N%@ /$o8/* //NJO g /$`pL $/&/ (/$|`/<Hx//N/@8OgJf,/(`%o( Hx//,//NJOgl o((HHڅڅ$o(Hx///N%@ o8JOg6/$o,/*//NJOg$o( o(/h (J(fP `pL|Nu "Rz,"fHVPd75.wNVH8 $.&. /N$@( Xg|HjHn//N$JOf/ /NP`RAC`p "Qn=%nH%n\%nT%nX%nL%n%nJLg jL!J `pLN^NuNVH ".$. n=|=|C`Ep $Q-h\h=-hT-hX-hL-hH-h-hHn//NO LN^NuNVH<<$. . $n&|&<I/HnN,HyHnN8HxHnN*Ofx`tHxN/ //NJOgZ RfR jfHBBJBgJ/<Hx/./N(OgHx8*DHU/7c]c4/NJOg%DB*DHmNX, gF/,//./N(pOg)D/,//./N(pOg`D/,//./N(pOg)D/,//./N(pOgb)DJfJ2gRHxHn//NJOg8/</././N%@2Og/./*2//NJOgJ6gHxHn//NJOg/</././N(@( Og%L6`PHxHn//NJOgB/././N(Og/.///NJOglYXpmJFgHHxHn//NJOg@B/././N%@F7bOg$/./*F//NJOgx/NX`x` L<8$.&. $nx(|BHxN*PfHxg/N`x` ,*//N,Hy/N8Hx/N&Ogr2*p€pfBHxN/ //N(OgJBgHx8/*B//N(Og*g2/*//N(O gX/*//N(O f4`>/*//Nz(O g&/*//Nz(O gJfJ2g@/*2NR-@HxHn//N(Og/./*2//N(OgJ6gt&j6r-A`XXJfHxHn//N(Og&j6`:7Z/NR-@HxHn//N(Og^/.///N(OgJXJfJFg>/*FNR-@HxHn//N(Og/./*F//N(Og/NXHx/N%FP L|N^Nu/ o E` /N0X/ N\ XgfJg /N0X$_Nu / oHh/NPNuH0 $//<HxN$@& PgLHjNHj/NNJO fHx/ NP`Hx/ Hj/NJOg `pL NuH / $o$/SRn/ /NNJPfp`SR"j 0H#0H#pLNuH8 $/&//<Hx^N(PgX rNЁ$@Hj7 N/ /NNJO g6Hx^// /NbJOg / ///NVJOf / /Nx``Hx^/NxP LNu/$/"/ pNҀ//NFP$NuH80$o$//N&( Xg(` /// NHJO f =f `&Z fpL NuH<$/&//N*X`LHx|/N(Pg ` /NXf///NHJO ft `Jg$R`tJfpL 6    nb2 "@pf .info.infocopy7 5ZO copy of of of copy %ld of ) opJWFNu o /g fS Nup`LfNuLJfS`L / Sm fJfpNupnpNuL / JgSn`SaNuL / Sm fSoB`Nu< n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDF"lDF @aH$gD $NuH:&o oCE,yNL\NuNu o XB7 @p"!HNuH ,yL NL@Nu/,y"/N,_NuH0,yLNL@ NuH0,yLNL@ Nu 6R/,yLN:,_Nu/,y"o / N.,_Nu/,y oN,_Nu/,yLN ,_Nu/,y oN,_Nu4H`.S libsp6iL5&[6Vw (E< Q5JҀ" &info V1.3 &nP6##"@#H"#Nu "/NXNu/NxXNu/NXNu/ /NPNuinfo.library~zvrnhZJ>82.*& o(Rh 6ӺQ%NuH $o NJj c*Np`<$9/ Np0*r2*Ё/" p0*/N8N O LNu oSh f(g /NX`pNub@.h8H $/ /$|Jg /NXJ$g/9$NHXJgHx/NPJPg /9PNXJHg /9HNXJLg /9LNXJTg /9TNXLNuH8 /$|(&|\(|,/<Hx/N$O fp`` R("RA,#0"RAX#L"RA&"RA#d6 '"RA#`"RA#4"RA#8"RA#<"RA#@"RA4#P"RA`#D"RA#H"RA#"RA#"RA#"RA# "RA@#"RAL#"RAX#T"RA#XHx /9HyN$Hx /9HyN$"T |p "Q"y0 |p "Q"y0""T"P"yL |p "Q"yL#S""S |p"Q"S"`"S#yd"y4 |pp "Q"y8 |p "Q"y< |Dp "Q"y@ |p "Q"yP |p "Q"yD |p "Q"yH |p "6P(G = L:Aux-Handler Stacksize = 1000 Priority = 5 # /* This is a non-filing system device */ PIPE: Handler = L:Pipe-Handler Stacksize = 6000 Priority = 5 GlobVec = -1 # /* This is an example of a mount list entry for using the recoverable ram disk. Depending on the amount of memory you wish to devote to it, you may want to change the HighCyl value. */ RAD: Device = ramdrive.device Unit = 0 Flags = 0 Surf6GǙunt a 5.25" disk drive to be mounted as DF2: */ DF2: Device = trackdisk.device Unit = 2 Flags = 1 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 39 Buffers = 20 BufMemType = 3 # /* An example mount entry using the fast file system with a partition of the hard disk using the 2090 disk controller. PREP has been used to create the f6/'^HnNJXPf/ HnHxNO `lN2$g/HnNJPf`JyhfJg /NX/ NHn/ NB/ NHn/ N/ HnBNO(LN^Nu@O@rH"|nfPHvbZR6"th\PD8, vnd\6EֹRJ*" < 0&t ^N4jZ0::B0B|h([dos.libraryicon.libraryintuition.librarygraphics.librarydisk.info6n@NVH0 $|Bn=| =|\=|||-|D-|o-y0B-JBB=|=|2=|\=|=|HnND$Xg/ v//NO L N^NuH0$o "/&|d j0(&m @n @0;N$6 uHrx::::V:/9 SHhtN`// N`/9 S/(``"S yL h" (r#@h`p`/9HypN>JPf"Sp#@/ N\pX`\/*,Np`/*,NL`/9 S h/( N"Sp#@`//*,N` //*,NpP`pL Nu/ "o$o yd"(p0*& @mH @nB@0;N $(8888888,04p`p`p`p` p`p `p@ yd!Ap/),NX$_NuNVH88$nt&|X(|d&<Hx` THPHyN$x/x/HxHx THP/*,N S (=O$g S (6 :=f S"T!ihNzJft/9 T/(`N T/(` S/(HN>JOfdB T/(`NhX/N (PfBHxN (P T/(`NhX// SHhN T/(`/N S!DHO S (=g6Hy S/(@HyHnNBHnNJOft` S (=fHy` S/(@HnNP/HnN0Pft S (=gr/9 S/(@NhJPft T/(p S/(@NJPftHy* S/(@Hy$HnN T"(pp€/HnNJOft LN^NuH0 $/$|v//94/NrO f`Lv//98/NrO6 խ f`2v//9Zx^vR<.  R|N.BTDrlP6\mInfo release 1.31%s%s.infoDisk%s%s.infoNAMETYPESTATUSL topaz.font`topaz.fontV !! ""            X`ADDXxDELD SAVE D QUIT / l6{ $ 8 # L# dP  |P   + 7 C  6H fIP  zVN"plXT  XD6H <$o&||(|$<` *2 yXp(= @m @n@0;N ,HyHx,HxZHx/ NHyHx6HxHx/ NHy Hx?HxFHx/ NHyHxHHxFHx/ NHy*HxQHxFHx/ NHy6HxZHxFHx/ NHyFHxrHxHx/ N*B U/( Hx?HxHx/ N U/(HxHHxHx/ N U ( /HxQHxHx/ N U/(HxZHx6ZHx/ N yX/(@HxHxZHx/ N/ NHyTHxHxHx/ N U"(OpPn(lpQgpRf` |`` |j` |v` |/Hx6Hx`HyHx,HxZHx/ N yX/(@HxHxZHx/ NHyHxrHx2Hx/ N/ NH/ NHyHxHxHx/ NOX`HyHx,HxZHx/ NHyHx6HxHx/ NHyHx?HxFHx/ NHyHxHHxFHx/ NHyHxrHx2Hx/ NHyHxZHxHx/ N yX/(@HxHxZHx/ N y\/(|Hx?HxHx/ N y\/(HxHHxHx/ N/ NH/ N/ N6oHyHxHxHx/ NO`HyHx,HxZHx/ NHyHx6HxHx/ NHyHx?HxFHx/ NHyHxHHxFHx/ NHyHxrHx2Hx/ NHyHxZHxHx/ NHyHxHxHx/ N yX/(@HxHxZHx/ N y\/(|Hx?HxHx/ N y\/(HxHHxHx/ N/ NH/ N/ N Hy$HxHxHx/ N/ NO`Hy0Hx,HxZHx/ N yX/(@HxHxZHx/ NHy8HxrHx2Hx/ N/ NH/ NHy@Hx`\HyLHx,HxZHx/ NOL<NuNVH08$.&. $|d&|6Cھ(|/<Hx,/N#h/<Hx$/N#l/< R/(d/N#/< R/(d/N#JhO0gJlgJgJfp`/<Hx,/N#/<Hx$/N#/<Hxt/N#/<Hxt/N(JO0gJg JgJf` yXp(= @m @n@0;N VVHx R/(d/9/9HxHxlHx/9l/9h R/(`/NT/NO0`.BHxP//9HxHxlHx/9/9 RHht/NT/Nl/NO4`/N/NBHxP//9HxHxlHx/96ӌl/9 RHht/NT/NlO8`/N/NBHxP//9HxHxlHx/9/9 RHht/NTHx R/(d/9/9HxHxHx/9l/9h R/(`/NT/NlOdL N^NuH0$/ ydJhf y`B` yd/(hHyT/9`NO v//9L/NrO fp`L NuH0 $/$| yX (=g0 yD1|v yH1|} yT1|w yX1|wv//9D/NrO f`Lv//9H/NrO f`2v//9T/NrO f`v//9X/NrO fp`pL Nu6*"r#rLxbL.pZD&n~hR$F d6h (> j ^  ;P\D8l8JPf>nPDt:xV&6Ll\ L*VDiskSIZENumber of BlocksNumber UsedNumber FreeBytes per BlockDEFAULT TOOLTOOL TYPESRead OnlyValidatingRead/WriteI'm not sureDrawerCOMMENTTOOL TYPESToolSIZEin bytesin blocksCOMMENTSTACKTOOL TYPESProjectSIZEin bytesin blocksCOMMENTSTACKDEFAULT TOOLTOOL TYPESGarbageCOMMENTTOOL TYPESDevice%ldH8 $o$/vx jV(/*VN X6ugv//NVJPgJf /NXv`pLNuH0 $o$/&*, *rn6l*r@g f&`// NP`"/ Np`/NX/ NpXL Nu/ $o/ N/ N/ N yX (=O g / NXB/ /*>NXHx/ NO$_NuH0 $/$| yd&(ppƀ Hy r/B/NHy r/Hx/NHy r/Hx/NHy r/Hx/NO@L NuNVH>&.. .<<=|>|(|4|@|LJgxz/.Hy0Hy*`BzHy&B(///4N,/HypN v// / NrOfp`B/ /+>NXpO L 6 Y;`NuH $o /$///*2NB/*2N"/0p ///,"/4///*2NO$LNu tRF%ldwH 0$o$/&|d yX (=g"<`"< S hC S hgBHxHx/9/9HxI/Hx/9 /9 S h/( / NTO,`, P//HxHxB/ N.B/ /*>NXO$JgB/ /9N(O L NuH08$/p&|d$S/<Hx/N6 g,%@ SJO fp` S"h$S jA" S"h$S j#H SB yXJ\gd yX(h\`T/<Hx/N$@& O f`/<Hx/N%@ //* N/ $S/*NlXOJf S"S$i!RL NuH0$o &|d"S i  Sg"S i ( S h감f$N/*.N0B/ /*>NXO`>/9 S h/( N/9/ Nt"S S h#hB/ NOL NuH0$o &|d"S i ( Sg"S iA  S h감f$N/*.N0B/ /*>NXO`NXOL NuH><&<d(|X"C QJf`>"C Q hE Q h감f TB\`/96 7L*C$U j/( Nx U h&PP`R&SJf$T/</N %@\Pfp`/$T/*\ THhNx*C U h&PO `/+ Nh*Xfz$T, F$*\$H/</N %(Pf`/$T$ B *\/0 THhN/+ $T$ B *\/0NR*C U hOg &S g"C Q hE Q h감f^pL<|Nu 6*zZz(8^TVtNb67lV2>bLR h 0@@??a{a ??? ?@@ H:&o oCE,yNL\NuNu(H ,yTL NL@Nu/,yT"/N,_NuH ,yTL NL@NuH ,yTL NL@NuH ,yTL 6 h-NLL@NuH ,yTL NFL@Nu 6RnE/,yN|,_Nu/,yNv,_Nu/,yLN:,_Nu/,y"o / N.,_NuH",yL NLDNu/,yLN ,_Nu/,y"oN,_Nu/,y"oN,_Nu/,y /N,_Nu/,y oN,_Nu/,y"oN,_Nu/,y"oNb,_Nu/,y"o / N,_Nu $<VpnPDt:xV&5n pNupowerpacker.librarypplib 35.274 (6.3.92) J0v# x #(Jdos.libraryintuition.librarygraphics.libraryH I(*@+H$CNh)@CNh)@CNh)@ N|"NA 0|.N\#Nv LpNuRn " NupSn f."fNuH *N,xJm g "p`bN|Af0gNvp`L"N :N0|.N\Nv$-$"MNI"TNb"lNb"lNb"Mp0-mN. LpNupNu"5-/U4(~"0: J $ t tH0$ & NL@ NuH<8HG8 3&@z(I" Jg f* Sf* etrf* f* AWAgrf* f* f* f* f* f* f* f* Qe`S@rgQNu* `rf* f* p24WAf8f* epa6rf* f* f* A_Ag`a6RB10Q6eL +RJf SN'@A8 ` SNg BA. `p'@ pLNuIncorrect!Please verifyError! Restart/ &H g kD"HN k<"HN"KN&_NuNU5{XH0.&HH <T"<NJ$@ fp`x | z -JgSgUgSg`| z x `| z ` | z `z | 4 5@ 5@ 5@5|p"5A "5A "5ABj5|5|5|,5A "5AL%K%mzHE(rf(Jgz@"JjV%A@"JjV%AH"ANj%@e.,l(JlLf aLA` aZLA`553/"H~>e.a _/)H,z~ ,|eLѬ, ,gBH @ ,/ ,4/ ,P0ЎGT/ ,,0/NOLyJfX`LJlLfH*l8xCv6,&(0HpCHEH0g^@feRdHEM gSd ,M&$ Sdrpd2U04Ce(:>`9E"9G$Lh`4 lLfH*l8xCv6,&(0Hp0gd@f1HfedLEM gSd ,M&$ Sdrpd2U04Ce(9C"9A$`Lh`H*l8xCv6,&(0Hp0gp@bC×5 8 f1Hfe޳dNEM gSd ,M&$ Sdrp@d2U04Ce(9C"9A$`~Lh@ ETЬPP8eXOp`\pgJga`rpape4$p e HB2paHBpraQ` [B0<2a4,$2,"SApe|d padr` 04 aXrp`04 aJp24 a@`z0<a4R lLgFH,l(B[B^SFf<,&&l<,l(C~JlLf aL@`aL@`B[SFf<,&&l&l<,l(<,&8SDB[B^Q&l<,l("H.JlLfa`:a`4,l5 (0S@B[B^SFf<,&&l<,l(Q."HJlLf aL@`^aH`p0,&e(&l<<,&8SDB[Q&l<"H/>ar.`&0S@B[SFf<,&&l"HaJ.8eapgRd.t&,8S@Q, AT"lP,I/,xN,_"ቂ, 0L~NuH*l8*<$lDt4, SGvSdTpH((؅Ѐr2HHA22Jg(&"mBdFeBBA7="5HAHRQ‘L Nu/ *l8$lDt4, SGd2pH"2g"&"mBdFeBBA7=%RQƑ‘*_Nu/ *l8$lDt5 4, SGd.pH"2g&"mBdFeBBA7%RQʑ‘*_Nu"$peYHB2pa HBpraQ`S0<a rpa~NuS@d8,ze0H,lPAT"N </,xN,_M)NPMTLQNu/X/,xN:JfXO` @ ,_Nu g/ !,xN.,_Nu* |x "F26>BTn3ҦFF >NIL: siesta.font Echo "*n*eProtracker V3.1A *e- (C) 1993 Cryptoburners" Failat 20 Setclock opt load Mount NEWCON: LoadWB -debug Endcli I<` l*.,R Et TrHAg/N:Jf XT `"@" (Jg E2I!(I fXI*IRQ/ML|vVK &@"|fj"aR$ JSg6RK &@0g2a:($B" ӒS@grf ؁` g"a" $BӒSf`"MYSAe"Q`XNu|g(JgRv gr|gj"a KN`XvRnNJgP oA ~*Q"_Q N. _Jf1a***************************************************************** * Protracker 3.00B playroutine * * Written by Tom "Outland" Bech, Ivar "Heatseeker" J. Olsen, * * and Bjarte "Krest" Andreassen of Cryptoburners. * * Based upon Protracker 1.1A playroutine written by Lars Hamre. * * VBlank version. Not optimised in any way. * ***************************************************************** * Call pt_InitMusic before start. Then ca1hi01ll pt_PlayMusic at VB. * * To stop the music, call pt_StopMusic. * * Please note that in this version, all SetTempo commands are * * ignored. This assembly language program has been tested with * * the Devpac 3.02, AsmOne 1.2, MCAsm 1.5 and a68k assemblers and* * may have to be modified for other assemblers. * ***************************************************************** ; FileFormat offsets sd_songname EQU 0 ;songname offset sd_sampleinfo EQU 20 ;fi1 `yrst sample starts here sd_numofpatt EQU 950 ;number of patterns are stored here sd_pattpos EQU 952 ;pattern positions table is here sd_mahokakt EQU 1080 ;"M.K." :) sd_patterndata EQU 1084 ;first pattern starts at this position ; Song offsets. W/L/B means word/longword/byte length. n_note EQU 0 ;W n_cmd EQU 2 ;W n_cmdlo EQU 3 ;low B of cmd n_start EQU 4 ;L n_length EQU 8 ;W n_loopstart EQU 10 ;L n_replen EQU 14 ;W n_period EQU 16 ;W n_finetune EQU 18 ;B n_volume EQU1!U 19 ;B n_dmabit EQU 20 ;W n_toneportdirec EQU 22 ;B n_toneportspeed EQU 23 ;B n_wantedperiod EQU 24 ;W n_vibratocmd EQU 26 ;B n_vibratopos EQU 27 ;B n_tremolocmd EQU 28 ;B n_tremolopos EQU 29 ;B n_wavecontrol EQU 30 ;B n_glissfunk EQU 31 ;B n_sampleoffset EQU 32 ;B n_pattpos EQU 33 ;B n_loopcount EQU 34 ;B n_funkoffset EQU 35 ;B n_wavestart EQU 36 ;L n_reallength EQU 40 ;W n_trigger EQU 42 ;B n_samplenum EQU 43 ;B pt_InitMusic MOVEM.L D0-D3/A0-A2,-(SP) LEA pt_da1"ta,a0 MOVE.L A0,pt_SongDataPtr LEA sd_pattpos(A0),A1 MOVEQ #128-1,D0 MOVEQ #0,D1 MOVEQ #0,D2 moveq #$1e,d3 pt_lop2 MOVE.B (A1)+,D1 CMP.B D2,D1 BLE.B pt_lop MOVE.L D1,D2 pt_lop DBRA D0,pt_lop2 ADDQ.W #1,d2 ASL.L #8,D2 ASL.L #2,D2 LEA 4(A1,D2.L),A2 LEA pt_SampleStarts(PC),A1 ADD.W #2*20+2,A0 ;find first sample length MOVEQ #31-1,D0 pt_lop3 MOVE.L A2,(A1)+ MOVEQ #0,D1 MOVE.W (A0),D1 ASL.L #1,D1 ADD.L D1,A2 ADD.L D3,A0 DBRA D0,pt_lop3 MOVE.B #6,pt_Speed ;default 1#([Bspeed OR.B #2,$BFE001 MOVEQ #0,D0 LEA $DFF000,A0 MOVE.W D0,$A8(A0) MOVE.W D0,$B8(A0) MOVE.W D0,$C8(A0) MOVE.W D0,$D8(A0) CLR.B pt_SongPos CLR.B pt_Counter CLR.B pt_PattPos MOVEM.L (SP)+,D0-D3/A0-A2 RTS pt_StopMusic MOVEM.L D0/A0,-(SP) MOVEQ #0,D0 LEA $DFF000,A0 MOVE.W D0,$A8(A0) MOVE.W D0,$B8(A0) MOVE.W D0,$C8(A0) MOVE.W D0,$D8(A0) MOVE.W #$000F,$DFF096 ;stop AudioDMA activity MOVEM.L (SP)+,D0/A0 RTS pt_PlayMusic MOVEM.L D0-D7/A0-A6,-(SP) MOVE.L pt_SongData1$|^Ptr(PC),A0 ADDQ.L #1,pt_Counter MOVE.L pt_Counter(PC),D0 CMP.L pt_CurrSpeed(PC),D0 BLO.B pt_NoNewNote CLR.L pt_Counter TST.B pt_PattDelayTime2 BEQ.B pt_GetNewNote BSR.B pt_NoNewAllChannels BRA.W pt_dskip pt_NoNewNote BSR.B pt_NoNewAllChannels BRA.W pt_NoNewPositionYet pt_NoNewAllChannels LEA pt_audchan1temp(PC),A6 LEA $DFF0A0,A5 BSR.W pt_CheckEffects LEA pt_audchan2temp(PC),A6 LEA $DFF0B0,A5 BSR.W pt_CheckEffects LEA pt_audchan3temp(PC),A6 LEA $DFF0C0,A5 BSR.W p1% t_CheckEffects LEA pt_audchan4temp(PC),A6 LEA $DFF0D0,A5 BRA.W pt_CheckEffects pt_GetNewNote LEA 12(A0),A3 LEA sd_pattpos(A0),A2 LEA sd_patterndata(A0),A0 MOVEQ #0,D1 MOVE.L pt_SongPosition(PC),D0 MOVE.B 0(a2,D0.W),D1 ASL.L #8,D1 ;*1024 ASL.L #2,D1 ADD.L pt_PatternPosition(PC),D1 MOVE.L D1,pt_PatternPtr CLR.W pt_DMACONtemp LEA $DFF0A0,A5 LEA pt_audchan1temp(PC),A6 MOVEQ #1,D2 BSR.W pt_PlayVoice MOVEQ #0,D0 MOVE.B n_volume(A6),D0 MOVE.W D0,8(A5) LEA $DFF0B0,1 &:[A5 LEA pt_audchan2temp(PC),A6 MOVEQ #2,D2 BSR.B pt_PlayVoice MOVEQ #0,D0 MOVE.B n_volume(A6),D0 MOVE.W D0,8(A5) LEA $DFF0C0,A5 LEA pt_audchan3temp(PC),A6 MOVEQ #3,D2 BSR.B pt_PlayVoice MOVEQ #0,D0 MOVE.B n_volume(A6),D0 MOVE.W D0,8(A5) LEA $DFF0D0,A5 LEA pt_audchan4temp(PC),A6 MOVEQ #4,D2 BSR.B pt_PlayVoice MOVEQ #0,D0 MOVE.B n_volume(A6),D0 MOVE.W D0,8(A5) BRA.W pt_SetDMA pt_CheckMetronome CMP.B pt_MetroChannel,D2 BNE.W pt_Return MOVE.B pt_MetroSpeed,D2 BEQ1 '[.W pt_Return MOVE.L pt_PatternPosition,D3 LSR.L #4,D3 DIVU D2,D3 SWAP D3 TST.W D3 BNE.W pt_Return AND.L #$00000FFF,(A6) OR.L #$10D6F000,(A6) ;Play sample $1F at period $0D6 (214) RTS pt_PlayVoice TST.L (A6) BNE.B pt_plvskip BSR.W pt_PerNop pt_plvskip MOVE.L 0(a0,D1.L),(A6) ;Read one track from pattern BSR.B pt_CheckMetronome ADDQ.L #4,D1 MOVEQ #0,D2 MOVE.B n_cmd(A6),D2 ;Get lower 4 bits of instrument AND.B #$F0,D2 LSR.B #4,D2 MOVE.B (A6),D0 ;Get higher 4 bit1 (Ws of instrument AND.B #$F0,D0 OR.B D0,D2 TST.B D2 BEQ.B pt_SetRegisters ;Instrument was zero MOVEQ #0,D3 LEA pt_SampleStarts(PC),A1 MOVE D2,D4 MOVE.B D2,n_samplenum(A6) SUBQ.L #1,D2 LSL.L #2,D2 MULU #30,D4 MOVE.L 0(a1,D2.L),n_start(A6) MOVE.W 0(a3,D4.L),n_length(A6) MOVE.W 0(a3,D4.L),n_reallength(A6) MOVE.B 2(A3,D4.L),n_finetune(A6) MOVE.B 3(A3,D4.L),n_volume(A6) MOVE.W 4(A3,D4.L),D3 ;Get repeat TST.W D3 BEQ.B pt_NoLoop MOVE.L n_start(A6),D2 ;Get start ASL.W 1 )M#1,D3 ADD.L D3,D2 ;Add repeat MOVE.L D2,n_loopstart(A6) MOVE.L D2,n_wavestart(A6) MOVE.W 4(A3,D4.L),D0 ;Get repeat ADD.W 6(A3,D4.L),D0 ;Add replen MOVE.W D0,n_length(A6) MOVE.W 6(A3,D4.L),n_replen(A6) ;Save replen BRA.B pt_SetRegisters pt_NoLoop MOVE.L n_start(A6),D2 ADD.L D3,D2 MOVE.L D2,n_loopstart(A6) MOVE.L D2,n_wavestart(A6) MOVE.W 6(A3,D4.L),n_replen(A6) ;Save replen pt_SetRegisters MOVE.W (A6),D0 AND.W #$0FFF,D0 BEQ.W pt_CheckMoreEffects ;If no note -> MO1 *VE.W 2(A6),D0 AND.W #$0FF0,D0 CMP.W #$0E50,D0 ;finetune? BEQ.B pt_DoSetFineTune MOVE.B 2(A6),D0 AND.B #$0F,D0 CMP.B #3,D0 ;TonePortamento? BEQ.B pt_ChkTonePorta CMP.B #5,D0 ;TonePortamento + VolSlide? BEQ.B pt_ChkTonePorta CMP.B #9,D0 ;Sample Offset? BNE.B pt_SetPeriod BSR.W pt_CheckMoreEffects BRA.B pt_SetPeriod pt_DoSetFineTune BSR.W pt_SetFineTune BRA.B pt_SetPeriod pt_ChkTonePorta BSR.W pt_SetTonePorta BRA.W pt_CheckMoreEffects pt_SetPeriod MOVEM.L D01+-D1/A0-A1,-(SP) MOVE.W (A6),D1 AND.W #$0FFF,D1 LEA pt_PeriodTable(PC),A1 MOVEQ #0,D0 MOVEQ #$24,D7 pt_ftuloop CMP.W 0(a1,D0.W),D1 BHS.B pt_ftufound ADDQ.L #2,D0 DBRA D7,pt_ftuloop pt_ftufound MOVEQ #0,D1 MOVE.B n_finetune(A6),D1 MULU #37*2,D1 ADD.L D1,A1 MOVE.W 0(a1,D0.W),n_period(A6) MOVEM.L (SP)+,D0-D1/A0-A1 MOVE.W 2(A6),D0 AND.W #$0FF0,D0 CMP.W #$0ED0,D0 BEQ.W pt_CheckMoreEffects MOVE.W n_dmabit(A6),$DFF096 BTST #2,n_wavecontrol(A6) BNE.B pt_vibnoc CLR.B n1,'_vibratopos(A6) pt_vibnoc BTST #6,n_wavecontrol(A6) BNE.B pt_trenoc CLR.B n_tremolopos(A6) pt_trenoc MOVE.W n_length(A6),4(A5) ;Set length MOVE.L n_start(A6),(A5) ;Set start BNE.B pt_sdmaskp CLR.L n_loopstart(A6) MOVEQ #1,D0 MOVE.W D0,4(A5) MOVE.W D0,n_replen(A6) pt_sdmaskp MOVE.W n_period(A6),D0 MOVE.W D0,6(A5) ;Set period ST n_trigger(A6) MOVE.W n_dmabit(A6),D0 OR.W D0,pt_DMACONtemp BRA.W pt_CheckMoreEffects pt_SetDMA move.b pt_timeout,$bfe701 ;TimerB HI move.b1-1-7 pt_timeout+1,$bfe601 ;TimerB LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait1 btst #0,$bfef01 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait1 ;nope... MOVE.W pt_DMACONtemp,D0 AND.W pt_ActiveChannels,D0 ;mask out inactive channels OR.W #$8000,D0 MOVE.W D0,$DFF096 move.b pt_timeout,$bfe701 ;TimerB HI move.b pt_timeout+1,$bfe601 ;TimerB LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait2 btst #0,$bfef01.1 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait2 ;nope... LEA $DFF000,A5 LEA pt_audchan4temp(PC),A6 MOVE.L n_loopstart(A6),$D0(A5) MOVE.W n_replen(A6),$D4(A5) LEA pt_audchan3temp(PC),A6 MOVE.L n_loopstart(A6),$C0(A5) MOVE.W n_replen(A6),$C4(A5) LEA pt_audchan2temp(PC),A6 MOVE.L n_loopstart(A6),$B0(A5) MOVE.W n_replen(A6),$B4(A5) LEA pt_audchan1temp(PC),A6 MOVE.L n_loopstart(A6),$A0(A5) MOVE.W n_replen(A6),$A4(A5) pt_dskip ADD.L #16,pt_PatternPosition MOVE.B p1/~OTt_PattDelayTime,D0 BEQ.B pt_dskpc MOVE.B D0,pt_PattDelayTime2 CLR.B pt_PattDelayTime pt_dskpc TST.B pt_PattDelayTime2 BEQ.B pt_dskpa SUBQ.B #1,pt_PattDelayTime2 BEQ.B pt_dskpa SUB.L #16,pt_PatternPosition pt_dskpa TST.B pt_PBreakFlag BEQ.B pt_nnpysk SF pt_PBreakFlag MOVEQ #0,D0 MOVE.B pt_PBreakPosition(PC),D0 LSL.W #4,D0 MOVE.L D0,pt_PatternPosition CLR.B pt_PBreakPosition pt_nnpysk CMP.L #1024,pt_PatternPosition BNE.B pt_NoNewPositionYet pt_NextPosition MOVEQ #0,10qD0 MOVE.B pt_PBreakPosition(PC),D0 LSL.W #4,D0 MOVE.L D0,pt_PatternPosition CLR.B pt_PBreakPosition CLR.B pt_PosJumpAssert ADDQ.L #1,pt_SongPosition AND.L #$7F,pt_SongPosition MOVE.L pt_SongPosition(PC),D1 MOVE.L pt_SongDataPtr(PC),A0 CMP.B sd_numofpatt(A0),D1 BLO.B pt_NoNewPositionYet CLR.L pt_SongPosition pt_NoNewPositionYet TST.B pt_PosJumpAssert BNE.B pt_NextPosition MOVEM.L (SP)+,D0-D7/A0-A6 RTS pt_CheckEffects BSR.B pt_chkefx2 MOVEQ #0,D0 MOVE.B n_volume(A6)11f/F#,D0 MOVE.W D0,8(A5) RTS pt_chkefx2 BSR.W pt_UpdateFunk MOVE.W n_cmd(A6),D0 AND.W #$0FFF,D0 BEQ.B pt_Return MOVE.B n_cmd(A6),D0 AND.B #$0F,D0 TST.B D0 BEQ.B pt_Arpeggio CMP.B #1,D0 BEQ.W pt_PortaUp CMP.B #2,D0 BEQ.W pt_PortaDown CMP.B #3,D0 BEQ.W pt_TonePortamento CMP.B #4,D0 BEQ.W pt_Vibrato CMP.B #5,D0 BEQ.W pt_TonePlusVolSlide CMP.B #6,D0 BEQ.W pt_VibratoPlusVolSlide CMP.B #$E,D0 BEQ.W pt_ECommands pt_SetBack MOVE.W n_period(A6),6(A5) CMP.B #7,D0 BEQ.W p123&t_Tremolo CMP.B #$A,D0 BEQ.W pt_VolumeSlide pt_Return RTS pt_PerNop MOVE.W n_period(A6),6(A5) RTS pt_Arpeggio MOVEQ #0,D0 MOVE.L pt_Counter(PC),D0 DIVS #3,D0 SWAP D0 CMP.W #1,D0 BEQ.B pt_Arpeggio1 CMP.W #2,D0 BEQ.B pt_Arpeggio2 pt_Arpeggio0 MOVE.W n_period(A6),D2 BRA.B pt_ArpeggioSet pt_Arpeggio1 MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 LSR.B #4,D0 BRA.B pt_ArpeggioFind pt_Arpeggio2 MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #15,D0 pt_ArpeggioFind ASL.W #1,D0 MOVEQ 13@6Bj#0,D1 MOVE.B n_finetune(A6),D1 MULU #37*2,D1 LEA pt_PeriodTable(PC),A0 ADD.L D1,A0 MOVEQ #0,D1 MOVE.W n_period(A6),D1 MOVEQ #$24,D7 pt_arploop MOVE.W 0(a0,D0.W),D2 CMP.W (A0),D1 BHS.B pt_ArpeggioSet ADDQ.L #2,A0 DBRA D7,pt_arploop RTS pt_ArpeggioSet MOVE.W D2,6(A5) RTS pt_FinePortaUp TST.L pt_Counter BNE.B pt_Return MOVE.B #$0F,pt_LowMask pt_PortaUp MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B pt_LowMask,D0 MOVE.B #$FF,pt_LowMask SUB.W D0,n_period(A6) MOVE.W n_pe14U7riod(A6),D0 AND.W #$0FFF,D0 CMP.W #$0071,D0 BPL.B pt_PortaUskip AND.W #$F000,n_period(A6) OR.W #$0071,n_period(A6) pt_PortaUskip MOVE.W n_period(A6),D0 AND.W #$0FFF,D0 MOVE.W D0,6(A5) RTS pt_FinePortaDown TST.L pt_Counter BNE.W pt_Return MOVE.B #$0F,pt_LowMask pt_PortaDown CLR.W D0 MOVE.B n_cmdlo(A6),D0 AND.B pt_LowMask,D0 MOVE.B #$FF,pt_LowMask ADD.W D0,n_period(A6) MOVE.W n_period(A6),D0 AND.W #$0FFF,D0 CMP.W #$0358,D0 BMI.B pt_Portadskip AND.W #$F000,n_perio15~sWd(A6) OR.W #$0358,n_period(A6) pt_Portadskip MOVE.W n_period(A6),D0 AND.W #$0FFF,D0 MOVE.W D0,6(A5) RTS pt_SetTonePorta MOVE.L A0,-(SP) MOVE.W (A6),D2 AND.W #$0FFF,D2 MOVEQ #0,D0 MOVE.B n_finetune(A6),D0 MULU #37*2,D0 LEA pt_PeriodTable(PC),A0 ADD.L D0,A0 MOVEQ #0,D0 pt_StpLoop CMP.W 0(a0,D0.W),D2 BHS.B pt_StpFound ADDQ.W #2,D0 CMP.W #37*2,D0 BLO.B pt_StpLoop MOVEQ #35*2,D0 pt_StpFound MOVE.B n_finetune(A6),D2 AND.B #8,D2 BEQ.B pt_StpGoss TST.W D0 BEQ.B pt_S16f9QtpGoss SUBQ.W #2,D0 pt_StpGoss MOVE.W 0(a0,D0.W),D2 MOVE.L (SP)+,A0 MOVE.W D2,n_wantedperiod(A6) MOVE.W n_period(A6),D0 CLR.B n_toneportdirec(A6) CMP.W D0,D2 BEQ.B pt_ClearTonePorta BGE.W pt_Return MOVE.B #1,n_toneportdirec(A6) RTS pt_ClearTonePorta CLR.W n_wantedperiod(A6) RTS pt_TonePortamento MOVE.B n_cmdlo(A6),D0 BEQ.B pt_TonePortNoChange MOVE.B D0,n_toneportspeed(A6) CLR.B n_cmdlo(A6) pt_TonePortNoChange TST.W n_wantedperiod(A6) BEQ.W pt_Return MOVEQ #0,D17:0 MOVE.B n_toneportspeed(A6),D0 TST.B n_toneportdirec(A6) BNE.B pt_TonePortaUp pt_TonePortaDown ADD.W D0,n_period(A6) MOVE.W n_wantedperiod(A6),D0 CMP.W n_period(A6),D0 BGT.B pt_TonePortaSetPer MOVE.W n_wantedperiod(A6),n_period(A6) CLR.W n_wantedperiod(A6) BRA.B pt_TonePortaSetPer pt_TonePortaUp SUB.W D0,n_period(A6) MOVE.W n_wantedperiod(A6),D0 CMP.W n_period(A6),D0 BLT.B pt_TonePortaSetPer MOVE.W n_wantedperiod(A6),n_period(A6) CLR.W n_wantedperiod(A6) pt_TonePor18}^taSetPer MOVE.W n_period(A6),D2 MOVE.B n_glissfunk(A6),D0 AND.B #$0F,D0 BEQ.B pt_GlissSkip MOVEQ #0,D0 MOVE.B n_finetune(A6),D0 MULU #37*2,D0 LEA pt_PeriodTable(PC),A0 ADD.L D0,A0 MOVEQ #0,D0 pt_GlissLoop CMP.W 0(a0,D0.W),D2 BHS.B pt_GlissFound ADDQ.W #2,D0 CMP.W #37*2,D0 BLO.B pt_GlissLoop MOVEQ #35*2,D0 pt_GlissFound MOVE.W 0(a0,D0.W),D2 pt_GlissSkip MOVE.W D2,6(A5) ;Set period RTS pt_Vibrato MOVE.B n_cmdlo(A6),D0 BEQ.B pt_Vibrato2 MOVE.B n_vibratocmd(A6),D19mq2 AND.B #$0F,D0 BEQ.B pt_vibskip AND.B #$F0,D2 OR.B D0,D2 pt_vibskip MOVE.B n_cmdlo(A6),D0 AND.B #$F0,D0 BEQ.B pt_vibskip2 AND.B #$0F,D2 OR.B D0,D2 pt_vibskip2 MOVE.B D2,n_vibratocmd(A6) pt_Vibrato2 MOVE.L A4,-(SP) MOVE.B n_vibratopos(A6),D0 LEA pt_VibratoTable(PC),A4 LSR.W #2,D0 AND.W #$001F,D0 MOVEQ #0,D2 MOVE.B n_wavecontrol(A6),D2 AND.B #$03,D2 BEQ.B pt_vib_sine LSL.B #3,D0 CMP.B #1,D2 BEQ.B pt_vib_rampdown MOVE.B #255,D2 BRA.B pt_vib_set pt_vib_rampdown 1:=D TST.B n_vibratopos(A6) BPL.B pt_vib_rampdown2 MOVE.B #255,D2 SUB.B D0,D2 BRA.B pt_vib_set pt_vib_rampdown2 MOVE.B D0,D2 BRA.B pt_vib_set pt_vib_sine MOVE.B 0(A4,D0.W),D2 pt_vib_set MOVE.B n_vibratocmd(A6),D0 AND.W #15,D0 MULU D0,D2 LSR.W #7,D2 MOVE.W n_period(A6),D0 TST.B n_vibratopos(A6) BMI.B pt_VibratoNeg ADD.W D2,D0 BRA.B pt_Vibrato3 pt_VibratoNeg SUB.W D2,D0 pt_Vibrato3 MOVE.W D0,6(A5) MOVE.B n_vibratocmd(A6),D0 LSR.W #2,D0 AND.W #$003C,D0 ADD.B D0,n_vibrat1;g ropos(A6) MOVE.L (SP)+,A4 RTS pt_TonePlusVolSlide BSR.W pt_TonePortNoChange BRA.W pt_VolumeSlide pt_VibratoPlusVolSlide BSR.B pt_Vibrato2 BRA.W pt_VolumeSlide pt_Tremolo MOVE.L A4,-(SP) MOVE.B n_cmdlo(A6),D0 BEQ.B pt_Tremolo2 MOVE.B n_tremolocmd(A6),D2 AND.B #$0F,D0 BEQ.B pt_treskip AND.B #$F0,D2 OR.B D0,D2 pt_treskip MOVE.B n_cmdlo(A6),D0 AND.B #$F0,D0 BEQ.B pt_treskip2 AND.B #$0F,D2 OR.B D0,D2 pt_treskip2 MOVE.B D2,n_tremolocmd(A6) pt_Tremolo2 MOVE.B n_tremol1pt_sononew MOVE.B D0,n_sampleoffset(A6) pt_sononew MOVE.B n_sampleoffset(A6),D0 LSL.W #7,D0 CMP.W n_length(A6),D0 BGE.B pt_sofskip SUB.W D0,n_length(A6) LSL.W #1,D0 ADD.L D0,n_start(A6) RTS pt_sofskip MOVE.W #1,n_length(A6) RTS pt_VolumeSlide MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 LSR.B #4,D0 TST.B D0 BEQ.B pt_VolSlideDown pt_VolSlideUp ADD.B D0,n_volume(A6) CMP.B #$40,n_volume(A6) BMI.B pt_vsuskip MOVE.B #$40,n_volume(A6) pt_vsuskip MOVE.B n_volume(A6),D0 RTS pt_V1"??olSlideDown MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 pt_VolSlideDown2 SUB.B D0,n_volume(A6) BPL.B pt_vsdskip CLR.B n_volume(A6) pt_vsdskip MOVE.B n_volume(A6),D0 RTS pt_PositionJump MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 SUBQ.B #1,D0 MOVE.L D0,pt_SongPosition pt_pj2 CLR.B pt_PBreakPosition ST pt_PosJumpAssert RTS pt_VolumeChange MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 CMP.B #$40,D0 BLS.B pt_VolumeOk MOVEQ #$40,D0 pt_VolumeOk MOVE.B D0,n_volume(A6) RTS pt_PatternB1#@:reak MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 MOVE.L D0,D2 LSR.B #4,D0 MULU #10,D0 AND.B #$0F,D2 ADD.B D2,D0 CMP.B #63,D0 BHI.B pt_pj2 MOVE.B D0,pt_PBreakPosition ST pt_PosJumpAssert RTS pt_SetSpeed MOVE.B 3(A6),D0 AND.W #$FF,D0 BEQ.B pt_SpeedNull ; CMP.W #32,D0 ;change this for lev6/CIA users ; BLO.B normspd ;it updates the countervalues (Tempo) ; MOVE.W D0,RealTempo ;for the BPM timer ; MOVEM.L D0-D7/A0-A6,-(SP) ; ST UpdateTempo ; JSR SetTempo ; MOVEM.L (SP)+,D0-D7/A01$AɊLj-A6 ; RTS pt_normspd CLR.L pt_Counter MOVE.W D0,pt_CurrSpeed+2 RTS pt_SpeedNull RTS pt_CheckMoreEffects MOVE.B 2(A6),D0 AND.B #$0F,D0 CMP.B #$9,D0 BEQ.W pt_SampleOffset CMP.B #$B,D0 BEQ.W pt_PositionJump CMP.B #$D,D0 BEQ.B pt_PatternBreak CMP.B #$E,D0 BEQ.B pt_ECommands CMP.B #$F,D0 BEQ.B pt_SetSpeed CMP.B #$C,D0 BEQ.W pt_VolumeChange BRA.W pt_PerNop pt_ECommands MOVE.B n_cmdlo(A6),D0 AND.B #$F0,D0 LSR.B #4,D0 BEQ.B pt_FilterOnOff CMP.B #1,D0 BEQ.W pt_FineP1%BiFortaUp CMP.B #2,D0 BEQ.W pt_FinePortaDown CMP.B #3,D0 BEQ.B pt_SetGlissControl CMP.B #4,D0 BEQ.W pt_SetVibratoControl CMP.B #5,D0 BEQ.W pt_SetFineTune CMP.B #6,D0 BEQ.W pt_JumpLoop CMP.B #7,D0 BEQ.W pt_SetTremoloControl CMP.B #8,D0 BEQ.W pt_KarplusStrong CMP.B #$E,D0 BEQ.W pt_PatternDelay CMP.B #9,D0 BEQ.W pt_RetrigNote CMP.B #$A,D0 BEQ.W pt_VolumeFineUp CMP.B #$B,D0 BEQ.W pt_VolumeFineDown CMP.B #$C,D0 BEQ.W pt_NoteCut CMP.B #$D,D0 BEQ.W pt_NoteDelay CMP.B1&CL #$F,D0 BEQ.W pt_FunkIt RTS pt_FilterOnOff MOVE.B n_cmdlo(A6),D0 AND.B #1,D0 ASL.B #1,D0 AND.B #$FD,$BFE001 OR.B D0,$BFE001 RTS pt_SetGlissControl MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 AND.B #$F0,n_glissfunk(A6) OR.B D0,n_glissfunk(A6) RTS pt_SetVibratoControl MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 AND.B #$F0,n_wavecontrol(A6) OR.B D0,n_wavecontrol(A6) RTS pt_SetFineTune MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 MOVE.B D0,n_finetune(A6) RTS pt_JumpLoop TST.L pt_Coun1'DEter BNE.W pt_Return MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 BEQ.B pt_SetLoop TST.B n_loopcount(A6) BEQ.B pt_jumpcnt SUB.B #1,n_loopcount(A6) BEQ.W pt_Return pt_jmploop MOVE.B n_pattpos(A6),pt_PBreakPosition ST pt_PBreakFlag RTS pt_jumpcnt MOVE.B D0,n_loopcount(A6) BRA.B pt_jmploop pt_SetLoop MOVE.L pt_PatternPosition,D0 LSR.L #4,D0 AND.B #63,D0 MOVE.B D0,n_pattpos(A6) RTS pt_SetTremoloControl MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 LSL.B #4,D0 AND.B #$0F,n_wavecontro1(EFB¸l(A6) OR.B D0,n_wavecontrol(A6) RTS pt_KarplusStrong MOVEM.L D1-D2/A0-A1,-(SP) MOVE.L n_loopstart(A6),A0 MOVE.L A0,A1 MOVE.W n_replen(A6),D0 ADD.W D0,D0 SUBQ.W #2,D0 pt_karplop MOVE.B (A0),D1 EXT.W D1 MOVE.B 1(A0),D2 EXT.W D2 ADD.W D1,D2 ASR.W #1,D2 MOVE.B D2,(A0)+ DBRA D0,pt_karplop MOVE.B (A0),D1 EXT.W D1 MOVE.B (A1),D2 EXT.W D2 ADD.W D1,D2 ASR.W #1,D2 MOVE.B D2,(A0) MOVEM.L (SP)+,D1-D2/A0-A1 RTS pt_RetrigNote MOVE.L D1,-(SP) MOVEQ #0,D0 MOVE.B n_cmdlo1)F "W(A6),D0 AND.B #$0F,D0 BEQ.W pt_rtnend MOVE.L pt_Counter,D1 BNE.B pt_rtnskp MOVE.W n_note(A6),D1 AND.W #$0FFF,D1 BNE.W pt_rtnend MOVE.L pt_Counter,D1 pt_rtnskp DIVU D0,D1 SWAP D1 TST.W D1 BNE.W pt_rtnend pt_DoRetrg MOVE.W n_dmabit(A6),$DFF096 ;Audio DMA off MOVE.L n_start(A6),(A5) ;Set sampledata pointer MOVE.W n_length(A6),4(A5) ;Set length MOVE.W n_period(A6),6(A5) MOVEQ #0,D0 MOVE.B n_volume(A6),D0 move.b pt_timeout,$bfe701 ;TimerB HI move.b pt_timeout+1,$bfe601*Gkٙ1 ;TimerB LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait3 btst #0,$bfef01 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait3 ;nope... MOVE.W n_dmabit(A6),D0 BSET #15,D0 MOVE.W D0,$DFF096 move.b pt_timeout,$bfe701 ;TimerB HI move.b pt_timeout+1,$bfe601 ;TimerB LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait4 btst #0,$bfef01 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait4 ;nope... MOVE.L n_1+Hfloopstart(A6),(A5) MOVE.L n_replen(A6),4(A5) pt_rtnend MOVE.L (SP)+,D1 RTS pt_VolumeFineUp TST.L pt_Counter BNE.W pt_Return MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #$F,D0 BRA.W pt_VolSlideUp pt_VolumeFineDown TST.L pt_Counter BNE.W pt_Return MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 BRA.W pt_VolSlideDown2 pt_NoteCut MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 CMP.L pt_Counter,D0 BNE.W pt_Return CLR.B n_volume(A6) RTS pt_NoteDelay MOVEQ #0,D0 MOVE1,Iy>.B n_cmdlo(A6),D0 AND.B #$0F,D0 CMP.L pt_Counter,D0 BNE.W pt_Return MOVE.W (A6),D0 AND.W #$0FFF,D0 BEQ.W pt_Return MOVE.L D1,-(SP) BRA.W pt_DoRetrg pt_PatternDelay TST.L pt_Counter BNE.W pt_Return MOVEQ #0,D0 MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 TST.B pt_PattDelayTime2 BNE.W pt_Return ADDQ.B #1,D0 MOVE.B D0,pt_PattDelayTime RTS pt_FunkIt TST.L pt_Counter BNE.W pt_Return MOVE.B n_cmdlo(A6),D0 AND.B #$0F,D0 LSL.B #4,D0 AND.B #$0F,n_glissfunk(A6) OR.B D0,n_glis1-Jsfunk(A6) TST.B D0 BEQ.W pt_Return pt_UpdateFunk MOVEM.L A0/D1,-(SP) MOVEQ #0,D0 MOVE.B n_glissfunk(A6),D0 LSR.B #4,D0 BEQ.B pt_funkend LEA pt_FunkTable(PC),A0 MOVE.B 0(a0,D0.W),D0 ADD.B D0,n_funkoffset(A6) BTST #7,n_funkoffset(A6) BEQ.B pt_funkend CLR.B n_funkoffset(A6) MOVE.L n_loopstart(A6),D0 MOVEQ #0,D1 MOVE.W n_replen(A6),D1 ADD.L D1,D0 ADD.L D1,D0 MOVE.L n_wavestart(A6),A0 ADDQ.L #1,A0 CMP.L D0,A0 BLO.B pt_funkok MOVE.L n_loopstart(A6),A0 pt_funkok MOVE1.K0.L A0,n_wavestart(A6) MOVEQ #-1,D0 SUB.B (A0),D0 MOVE.B D0,(A0) pt_funkend MOVEM.L (SP)+,A0/D1 RTS pt_FunkTable dc.b 0,5,6,7,8,10,11,13,16,19,22,26,32,43,64,128 pt_VibratoTable dc.b 0,24,49,74,97,120,141,161 dc.b 180,197,212,224,235,244,250,253 dc.b 255,253,250,244,235,224,212,197 dc.b 180,161,141,120,97,74,49,24 pt_PeriodTable ; -> Tuning 0 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,1/L3)170,160,151,143,135,127,120,113,0 ; -> Tuning 1 dc.w 850,802,757,715,674,637,601,567,535,505,477,450 dc.w 425,401,379,357,337,318,300,284,268,253,239,225 dc.w 213,201,189,179,169,159,150,142,134,126,119,113,0 ; -> Tuning 2 dc.w 844,796,752,709,670,632,597,563,532,502,474,447 dc.w 422,398,376,355,335,316,298,282,266,251,237,224 dc.w 211,199,188,177,167,158,149,141,133,125,118,112,0 ; -> Tuning 3 dc.w 838,791,746,704,665,628,592,559,528,498,470,444 dc.w 419,395,373,352,332,314,10ML,U296,280,264,249,235,222 dc.w 209,198,187,176,166,157,148,140,132,125,118,111,0 ; -> Tuning 4 dc.w 832,785,741,699,660,623,588,555,524,495,467,441 dc.w 416,392,370,350,330,312,294,278,262,247,233,220 dc.w 208,196,185,175,165,156,147,139,131,124,117,110,0 ; -> Tuning 5 dc.w 826,779,736,694,655,619,584,551,520,491,463,437 dc.w 413,390,368,347,328,309,292,276,260,245,232,219 dc.w 206,195,184,174,164,155,146,138,130,123,116,109,0 ; -> Tuning 6 dc.w 820,774,730,689,651,614,580,547,11N̫k516,487,460,434 dc.w 410,387,365,345,325,307,290,274,258,244,230,217 dc.w 205,193,183,172,163,154,145,137,129,122,115,109,0 ; -> Tuning 7 dc.w 814,768,725,684,646,610,575,543,513,484,457,431 dc.w 407,384,363,342,323,305,288,272,256,242,228,216 dc.w 204,192,181,171,161,152,144,136,128,121,114,108,0 ; -> Tuning -8 dc.w 907,856,808,762,720,678,640,604,570,538,508,480 dc.w 453,428,404,381,360,339,320,302,285,269,254,240 dc.w 226,214,202,190,180,170,160,151,143,135,127,120,0 ; -> 12O]cTuning -7 dc.w 900,850,802,757,715,675,636,601,567,535,505,477 dc.w 450,425,401,379,357,337,318,300,284,268,253,238 dc.w 225,212,200,189,179,169,159,150,142,134,126,119,0 ; -> Tuning -6 dc.w 894,844,796,752,709,670,632,597,563,532,502,474 dc.w 447,422,398,376,355,335,316,298,282,266,251,237 dc.w 223,211,199,188,177,167,158,149,141,133,125,118,0 ; -> Tuning -5 dc.w 887,838,791,746,704,665,628,592,559,528,498,470 dc.w 444,419,395,373,352,332,314,296,280,264,249,235 dc.w 222,2013P_<9,198,187,176,166,157,148,140,132,125,118,0 ; -> Tuning -4 dc.w 881,832,785,741,699,660,623,588,555,524,494,467 dc.w 441,416,392,370,350,330,312,294,278,262,247,233 dc.w 220,208,196,185,175,165,156,147,139,131,123,117,0 ; -> Tuning -3 dc.w 875,826,779,736,694,655,619,584,551,520,491,463 dc.w 437,413,390,368,347,328,309,292,276,260,245,232 dc.w 219,206,195,184,174,164,155,146,138,130,123,116,0 ; -> Tuning -2 dc.w 868,820,774,730,689,651,614,580,547,516,487,460 dc.w 434,410,38714Q4,365,345,325,307,290,274,258,244,230 dc.w 217,205,193,183,172,163,154,145,137,129,122,115,0 ; -> Tuning -1 dc.w 862,814,768,725,684,646,610,575,543,513,484,457 dc.w 431,407,384,363,342,323,305,288,272,256,242,228 dc.w 216,203,192,181,171,161,152,144,136,128,121,114,0 pt_audchan1temp dc.l 0,0,0,0,0,$00010000,0,0,0,0,0 pt_audchan2temp dc.l 0,0,0,0,0,$00020000,0,0,0,0,0 pt_audchan3temp dc.l 0,0,0,0,0,$00040000,0,0,0,0,0 pt_audchan4temp dc.l 0,0,0,0,0,$00080000,0,0,0,0,0 pt_SampleS15R@xtarts dcb.l 31,0 pt_timeout dc.w 330 ;CIA-B timeout-value pt_Counter dc.l 0 pt_CurrSpeed dc.l 6 pt_PattPos dc.w 0 pt_DMACONtemp dc.w 0 pt_ActiveChannels dc.w %00001111 pt_PatternPtr dc.l 0 pt_PatternPosition dc.l 0 pt_SongPosition dc.l 0 pt_SongDataPtr dc.l 0 pt_MetroSpeed dc.b 0 pt_MetroChannel dc.b 0 pt_Speed dc.b 6 pt_SongPos dc.b 0 pt_PBreakPosition dc.b 0 pt_PosJumpAssert dc.b 0 pt_PBreakFlag dc.b 0 pt_LowMask dc.b 0 pt_PattDelayTime dc.b 0 pt_PattDelayTime2 dc.b 16 0 even LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait3 btst #0,$bfef01 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait3 ;nope... MOVE.W n_dmabit(A6),D0 BSET #15,D0 MOVE.W D0,$DFF096 move.b pt_timeout,$bfe701 ;TimerB HI move.b pt_timeout+1,$bfe601 ;TimerB LO move.b #%000011001,$bfef01 ;set commandbits: OneShot & CLK & Start pt_timerwait4 btst #0,$bfef01 ;timeout on timerB? (ICR TimerB) bne.s pt_timerwait4 ;nope... MOVE.L n_0TF8J@gBB0*H*,yC"pN#Dg ,@N#Hg"$<XvFN Eb":$<vN`" t,zN#Lg"$<>NJgEJxj" $<N#Pg *|#Tr,yN:#g":$&:,zlN":pN":dN z PP20g PX20ga"y :B,yN.`":.,zN":,zN"z ,yNbpNua `a`":$ &S,zN":$<vNNua `a`":$<v,zNNu":$<vN`~a `a`f":$<v0UtFAaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 20 Buffers = 5 BufMemType = 1 # /* Makes a Mini RAD: */ MiniRAD: Device = ramdrive.device Unit = 0 Flags = 0 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 7 Buffers = 5 BufMemType = 1 # /* Mo0VL,yC~pN#g,@ MprCET&|NJf.a|,y"z: :N.a`,y"yNbNu.a g g`powerpacker.library|Kb=pCJ,yN#HgCLpNJg @0(g.<`.<OM#P},z Fg0C pN#LJfD#6GOGNuCpNBLJf#6GOG0WNua=KSFf:BHNu :gBH,@*zhJLg p`pCzpNNu$:Pg @ dp 34$:B(z" :4g BJBNuBJBNu}ciaa.resourcegraphics.library|$Protracker MusicInt y"HCpr$S@nQRC<Ԉ$BpB"r2(*Q9B9B9ByQABhBhBhBh3NuHJ9g>R9::eB9J9gDa `va` KM4a KMRaKM0X^:paKM` z.G EAAB0.#.#g*B.# . r2.ЁЁ n$Re n -H$pLNu  +@1JaxŴxaJ1X(\:}hS@. xqR"}Y7{eQ>, ~wqLxU3xcO<* }vp0 ^HnH1FtP/u`L:(}vo@oL+ r^J8&|un: kH'p[H5${tm4fD#mYE3"zsm.b?kVC1 yrlX(\:}hS@. xR"|Y7{eQ>, 0 _XWp~w~LxU3xcO<* }vwFtP/u`L:(}vq@oL+ r^J8&{uk: kH'p[H5${td4fD#mYE3"zs^.b?kVC1 yr0 `Y 0<Tp| nTfl2T^px*4DJ ^ 0k    $ 4 : @ F N b h J T f  >D6L`ltemType = 1 # /* Makes a Mini RAD: */ MiniRAD: Device = ramdrive.device Unit = 0 Flags = 0 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 7 Buffers = 5 BufMemType = 1 # /* Mo/bw! Introduction. ============= The text below was intended to be the documentation on the fileformat used in this release of ProTracker. However, we decided to wait with the actual implementation of the format until having released a couple of versions, because we'd like to hear some comments, suggestions etc. upon it first. So read it lightly, and feel free to post your opinion to one of the authors (see the ReadMe.doc file elsewhere on the disk). Note that since this is only a sugge/cstion, don't start programming a revolutionary new piece of code based on this info yet; we may change the format :)... Here we go... - Signed Tom "Outland" Bech of CryptoBurners. -**- Protracker release 3.01 Beta. Fileformat documentation. ======================================================= This document includes the complete documentation of the fileformat used in Protracker 3.01, and instructions on how to use it. Fields marked "*Reser/dYved*" are reserved for future use and are guarantied to cause hangup if messed with. General ------- With this release of Protracker we have decided to change the filestructure of the musicfiles produced with the program. We felt the old format was too obsolete, messy and out of date for us to use any further. So we invented this new format. The format is based upon Interchanged File Format (IFF) chunks, originally developed by Electronic Arts, but now in widely use on the Amiga. T/ewhe format allows considerable flexibility and does not suffer too severly from changes and updates, and is therefore perfect for our use. The Format ---------- We will in this section introduce and describe each chunk type appearing in a Protracker music file. Look in the next section for the sequencial description. ** Contents of Chunk "VERS": OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "VERS" Chunk i/f@dentifier. 4 4 ???????? Chunk length (in bytes). 8 2 ???????? Version number (word). 10 6 "PT3.01" Version ID string. -------------------------------------------------------------------------------- This chunk is used by Protracker to identify the producer of the module, and if necessary perform upgrade-conversion if the file was made with a pre- vious version of Protracker. There can be at maximum one "VERS" chunk in a Protracker music file. This chunk is not critical; i/g!1t may be obmitted, but be aware of the possible incompatibility problems that may arise if it's left out. ** Contents of Chunk "INFO": OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "INFO" Chunk identifier. 4 4 ???????? Chunk length (in bytes). 8 32 [..??..] Song name (string). 40 2 ???????? Number of instruments (word). 42 2 ???????? Number of positions (word). 44 2 ???????? Number of patte/hIArns (word). 46 2 ???????? Overall volume factor (word). 48 2 0006h Default speed (#VB) (word). 50 2 ???????? Packed field. See below. -------------------------------------------------------------------------------- Protracker uses this chunk to set different internal variables, and to store vital information used in replay and processing of the file. The song name is a maximum 32 Chars long ASCII string. It need not be NULL-terminated. Number of instruments indicates the n/ikoumber of instruments used in the song, it may range from 0 to 65535. At present version number, however, there may be maximum 255 instruments in one song. Number of positions reflects the actual length of the song, that is; how many patterns that will be played during a complete cycle. This number may vary from 0 to 65535. Number of patterns, on the other side, reflects how many _different_ patterns that will be played during the song. This number is used to calculate the total lengt/ jʲh (in bytes) of the song. The Overall Volume factor is used to compute the final volume of all channels after the individual channel-volumes have been figured out. In this way it is easy to control the loudness of the music from the program/ song itself. Default speed is the number of VBlank frames between each pattern position change, and is as default set to 0006h. The packed field consists of these bits (right to left order): Bit Meaning 0 1 Default ------------------------/ k9p-------------------------------------------------------- 0 Filter flag. Filter off. Filter on. 0 1 Timing method. VBlank. CIA timing (BPM). 0 2 File type. Module. Song (no instruments). 0 3 Packstatus. Packed patterns. Raw patterns. 1 4 Length flag. Equal pattern length. Variable pattern length. 0 5 Voices flag. 4 voices. 8 voices. 0 6 Sample res. 8 bit. 16 bit. 0 7 *Reserved* / l4 x 8 *Reserved* x 9 *Reserved* x 10 *Reserved* x 11 *Reserved* x 12 *Reserved* x 13 *Reserved* x 14 *Reserved* x 15 *Reserved* x -------------------------------------------------------------------------------- There can be at most one "INFO" chunk in a Protracker musicfile. This chunk is vital; it _must_ be present for the replay routine to function properly. ** Con/ mp?tents of Chunk "INST": OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "INST" Chunk identifier. 4 4 ???????? Chunk length (in bytes). 8 32 [..??..] Instrument name (string). 40 2 ???????? Length of instrument (word). 42 2 ???????? Instrument loop start (word). 44 2 ???????? Instrument loop length (word). 46 2 ???????? Instrument volume (word). 48 2 ???????? Instrument finetuning (integer/ na). -------------------------------------------------------------------------------- The "INST" chunk is used to store information about an instruments properties, such as length and volume. The instrument name is a maximum 32 Chars long ASCII string. It need not be NULL-terminated. The Length field describes the length of the instrument (in words) and thus ranges from 0 to 128Kb (65535 words). Instrument Loop Start sets the offset from which to start playing after the first replay. /o⭠This value may vary from 0 to the instrument length. Instrument Loop End sets the length of the loop to play after the first replay, relative to the loop start value. It may thus vary from 0 to [Ins_len-Loop_start]. Instrument volume indicates which volume to use in the replay of the sample, if the song doesn't say differently. This value varies between 0 and 40h. Instrument finetuning sets the sample-rate correction difference and varies from -7 to 7 (0fff9 to 0007h). There may b/p#te any number of "INST" chunks in a Protracker music file, limited to the number of instruments actually used in the song. This chunk is not vital; it may be left out if the song-only bit of the control word in the "INFO" chunk is set. Otherwise, it should result in an error. ** Contents of Chunk "PPOS": OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "PPOS" Chunk identifier. 4 4 0ffh Chunk length (in by/q~~ftes). 8 256 [..??..] Pattern position table. -------------------------------------------------------------------------------- This chunk contains the table defining which pattern to play in a given song- position. Each entry in the table is a byte indicating which out of 256 possible patterns to play. There may be at maximum one "PPOS" chunk in a Protracker musicfile. This chunk is vital; it _must_ be present to play the song. ** Contents of Chunk "PTRN": OFFSET Length /ra?Contents Meaning -------------------------------------------------------------------------------- 0 4 "PTRN" Chunk identifier. 4 4 ???????? Chunk length (in bytes). 8 32 [..??..] Pattern name. 40 ? [..??..] Pattern data. -------------------------------------------------------------------------------- This chunk is used in a module of variable pattern length. The chunk must thus appear as many times as there are patterns in the son/sg. The chunk length divided by 8 ( >>3 ) will show the pattern length (default 64). Pattern name is a 32 byte long ASCII string, describing the pattern, eg. "Intro part 3". It need not be NULL-terminated. This chunk is critical; it must be present in the file, or it will be regarded invalid. NOTE: This chunk is not in use in the present version (3.01B), and will be ignored if found. ** Contents of Chunk "SMPL": OFFSET Length Contents Meaning --------------------------------------/tf------------------------------------------ 0 4 "SMPL" Chunk identifier. 4 4 ???????? Chunk length (!in bytes!). 8 ? [..??..] Raw sample data. -------------------------------------------------------------------------------- The "SMPL" chunk contains the raw sample data of an instrument. This chunk is not critical; if the song-only bit of the "INFO" chunk is set, it may be obmitted. If, however, the file is a module, then the number of "SMPL" chunks in the file mus/u.t be equal to or greater than the number of instruments used in the song. If not, the file will be regarded incomplete. ** Contents of Chunk "CMNT": OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "CMNT" Chunk identifier. 4 4 ???????? Chunk length (in bytes). 8 ? [..??..] Raw ASCII text. -------------------------------------------------------------------------------- The "CMNT" chunk is used /vخsfor a signature, comments, greetings, date of completion or whatever information the composer wishes to include with his or hers creation. This chunks is not critical; it may be left out and will typically be ignored by most applications. These are the chunks that may appear in a Protracker musicfile. If other chunks are encountered, they will be ignored. Any program dealing with this fileformat should perform tests to determine the validity of the file in consideration. Using the P/wWrotracker.library will guarantee correct handling of musicfiles, and we strongly encourage the use of this runtime shared library instead of hacking away on your own. Look elsewhere on this disk for the library documentation, the library can be found in the "LIBS/" directory. The sequential format --------------------- In this section we will describe how the various chunks are expected to be located within the file. These rules _must_ be followed or it will wreak havoc when tried /xuimanipulated with inside Protracker. Here comes the header in table form: OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "FORM" Indicate start of IFF file. 4 4 ???????? File length. 8 4 "MODL" IFF type identifier. ------------------------------------------------------------------------------- This header must be found in the start of the file, or it will be rejected as not being a Protracker musi/yKjcfile. From offset 12 in the file, things may vary somewhat. The only rules are these: After a "INST" chunk a "SMPL" or a new "INST" chunk _must_ follow. This "SMPL" chunk will be regarded as the sample data of the instrument(s) preceding it. If after a "INST" chunk another "INST" chunk follows, and the module-flag in the "INFO" chunk is set, then all "INST" chunks following each other will share the same sampledata found in the first "SMPL" chunk after them. Also, all "INST" and "S/z/MPL" chunks must be found in sequence. That is, when a "INST" chunk is found for the first time in a file, all other "INST" and "SMPL" chunks must follow. If this is not so, an error message should be given, and processing terminated. Note that in a song-only file, no "SMPL" chunks should be included. If any "SMPL" chunks are encountered in such a file, they should be ignored and a warning given. All other chunks used in a musicfile may be located anywhere in the file, usually in the/{$ beginning of it, but no assumptions of their locations should be taken. Note that all used chunks _must_ be found _before_ the "BODY" chunk, which is the last chunk to be found in the file. Searching for chunks should stop when encountering a "BODY" chunk. The "BODY" chunk is constructed like this: OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "BODY" Chunk identifier. 4 4 ???????? Chunk length (in by/|9tes). 8 ? [..??..] Raw pattern data. ------------------------------------------------------------------------------- Chunk summary ------------- Now follows a list of the chunks that have meaning in a Protracker musicfile: Chunk Function Critical? ------------------------------------------------------------------------------- "VERS" Contains information about the producer of the file. No "INFO" Contains vital information and standard sett/}G@ings. Yes "INST" Information about instruments; such as length, volume etc. Yes "SMPL" Raw sample data associated with one or more instruments. No "PPOS" Position table. Information about patternsequence. Yes "CMNT" Comments, greetings etc. Contains information in ASCII code. No "PTRN" Pattern data. Used only in modules of varying patternlengths. Yes "BODY" Pattern data. Used in modules of equal patternlengths (defa/ockOult). Yes ------------------------------------------------------------------------------- /* End Of File */ " Chunk identifier. 4 4 ???????? Chunk length (in bytes). 8 32 [..??..] Pattern name. 40 ? [..??..] Pattern data. -------------------------------------------------------------------------------- This chunk is used in a module of variable pattern length. The chunk must thus appear as many times as there are patterns in the son.7,@6'x"P"( (56@      ?  ~   @   UUUUVUUUUUUU`UUPUUPUUP0UUPP PP?PPPPUUPUUPUU?P5UUP UUPUUUUUPsys:c/muchmorein the file mus-EjPT2.1 Configuration File ST-00:songsST-00:modulesDF0:PRT: U Onewshelladd21kinfolistloadwb -debugdiskmaster1.3run AudioMasterIIIced 7G   -ک}, ST-00:  00@P`p  0@P`p p`ST-00:tracksST-00:patterns-0whe header in table form: OFFSET Length Contents Meaning -------------------------------------------------------------------------------- 0 4 "FORM" Indicate start of IFF file. 4 4 ???????? File length. 8 4 "MODL" IFF type identifier. ------------------------------------------------------------------------------- This header must be found in the start of the file, or it will be rejected as not being a Protracker musi, c1Protracker V2.1A Effect Commands ---------------------------------------------------------------------------- 0 - Normal play or Arpeggio 0xy : x-first halfnote add, y-second 1 - Slide Up 1xx : upspeed 2 - Slide Down 2xx : downspeed 3 - Tone Portamento 3xx : up/down speed 4 - Vibrato 4xy : x-speed, y-depth 5 - Tone Portamento + Volume Slide 5xy : x-upspeed, y-downspe,{\ʲed 6 - Vibrato + Volume Slide 6xy : x-upspeed, y-downspeed 7 - Tremolo 7xy : x-speed, y-depth 8 - NOT USED 9 - Set SampleOffset 9xx : offset (23 -> 2300) A - VolumeSlide Axy : x-upspeed, y-downspeed B - Position Jump Bxx : songposition C - Set Volume Cxx : volume, 00-40 D - Pattern Break Dxx : break position in next patt E - E-Comm,5!ands Exy : see below... F - Set Speed Fxx : speed (00-1F) / tempo (20-FF) ---------------------------------------------------------------------------- E0- Set Filter E0x : 0-filter on, 1-filter off E1- FineSlide Up E1x : value E2- FineSlide Down E2x : value E3- Glissando Control E3x : 0-off, 1-on (use with tonep.) E4- Set Vibrato Waveform ,c$ E4x : 0-sine, 1-ramp down, 2-square E5- Set Loop E5x : set loop point E6- Jump to Loop E6x : jump to loop, play x times E7- Set Tremolo Waveform E7x : 0-sine, 1-ramp down. 2-square E8- NOT USED E9- Retrig Note E9x : retrig from note + x vblanks EA- Fine VolumeSlide Up EAx : add x to volume EB- Fine VolumeSlide Down EBx : subtract x from volume EC- NoteCut ,r9 ECx : cut from note + x vblanks ED- NoteDelay EDx : delay note x vblanks EE- PatternDelay EEx : delay pattern x notes EF- Invert Loop EFx : speed ---------------------------------------------------------------------------- Peter "CRAYON" Hanning /Mushroom Studios/Noxious used in a module of variable pattern length. The chunk must thus appear as many times as there are patterns in the son+?YK Protracker 2.1A Song/Module Format: ----------------------------------- Offset Bytes Description ------ ----- ----------- 0 20 Songname. Remember to put trailing null bytes at the end... Information for sample 1-31: Offset Bytes Description ------ ----- ----------- 20 22 Samplename for sample 1. Pad with null bytes. 42 2 Samplelength for sample 1. Stored as number of words. Multiply by two to get real sample length in bytes. 4+s4 1 Lower four bits are the finetune value, stored as a signed four bit number. The upper four bits are not used, and should be set to zero. Value: Finetune: 0 0 1 +1 2 +2 3 +3 4 +4 5 +5 6 +6 7 +7 8 -8 9 +,Ǹ -7 A -6 B -5 C -4 D -3 E -2 F -1 45 1 Volume for sample 1. Range is $00-$40, or 0-64 decimal. 46 2 Repeat point for sample 1. Stored as number of words offset from start of sample. Multiply by two to get offset in bytes. 48 2 Repeat Length for sample 1. Stored as number of words in loop.+4f Multiply by two to get replen in bytes. Information for the next 30 samples starts here. It's just like the info for sample 1. Offset Bytes Description ------ ----- ----------- 50 30 Sample 2... 80 30 Sample 3... . . . 890 30 Sample 30... 920 30 Sample 31... Offset Bytes Description ------ ----- ----------- 950 1 Songlength. Range is 1-128. 951 1 Well... this little byte here is set to 127, so that old +!,_G trackers will search through all patterns when loading. Noisetracker uses this byte for restart, but we don't. 952 128 Song positions 0-127. Each hold a number from 0-63 that tells the tracker what pattern to play at that position. 1080 4 The four letters "M.K." - This is something Mahoney & Kaktus inserted when they increased the number of samples from 15 to 31. If it's not there, the module/song uses 1+&5 samples or the text has been removed to make the module harder to rip. Startrekker puts "FLT4" or "FLT8" there instead. Offset Bytes Description ------ ----- ----------- 1084 1024 Data for pattern 00. . . . xxxx Number of patterns stored is equal to the highest patternnumber in the song position table (at offset 952-1079). Each note is stored as 4 bytes, and all four notes at each position in the pattern are stored after each+YdB other. 00 - chan1 chan2 chan3 chan4 01 - chan1 chan2 chan3 chan4 02 - chan1 chan2 chan3 chan4 etc. Info for each note: _____byte 1_____ byte2_ _____byte 3_____ byte4_ / \ / \ / \ / \ 0000 0000-00000000 0000 0000-00000000 Upper four 12 bits for Lower four Effect command. bits of sam- note period. bits of sam- ple number. ple number. Periodtable for Tuning 0, Normal C-1 +eS}to B-1 : 856,808,762,720,678,640,604,570,538,508,480,453 C-2 to B-2 : 428,404,381,360,339,320,302,285,269,254,240,226 C-3 to B-3 : 214,202,190,180,170,160,151,143,135,127,120,113 To determine what note to show, scan through the table until you find the same period as the one stored in byte 1-2. Use the index to look up in a notenames table. This is the data stored in a normal song. A packed song starts with the four letters "PACK", and then comes the packed data. In a module, + i2xGall the samples are stored right after the patterndata. To determine where a sample starts and stops, you use the sampleinfo structures in the beginning of the file (from offset 20). Take a look at the mt_init routine in the playroutine, and you'll see just how it is done. Lars "ZAP" Hamre /Amiga Freelancers Peter "CRAYON" Hanning /Mushroom Studios/Noxious E2x : value E3- Glissando Control E3x : 0-off, 1-on (use with tonep.) E4- Set Vibrato Waveform *-wpX G  "4}M "$&^')+!,.024{68:*;<>V?ABBC`DF+GrIJK:MOiPS T[V]XYS[[]_a0b8deg:hikglnq*Ă-s_tzv/wy{}*pR>LJJ44&;t`NME6"^ ɏ̾ΗѲSY #^]/ts*^01:E0,00,02,08 Protracker V2.3A June '92 ---------------- (C) 1992 Mushroom Studios This program is Public Domain Written by: Peter "CRAYON" Hanning USE CURSOR LEFT/RIGHT TO SELECT TOPIC, AND UP/DOWN TO READ ABOUT THAT TOPIC. PRESS ESC OR HELP TO EXIT HELPSCREEN. <-- GENERAL DOWN MAINSCREEN --> ^02:E0,01,03,08 Hi there music lovers! Here comes PT2.3A, a n* s^ew version of Protracker, the best tracker around! There has been several new changes this time to enhance Protracker even more! Read more about it in the Readme! file. Don't hesitate to contact us if you can't get it working, if there's some- thing you can't figure out or if you find any bugs. <-- GENERAL UP/DOWN MAINSCREEN --> ^03:E0,02,04,08 Some technical info: Sourcecode: 440k / 25000 lines Main Program: 200k GFX data: 80k (packed) Something you'd l*|Ivike in the next version of Protracker? Have you found any bugs? Anyway, write to: Mushroom Studios/Noxious Vinterstigen 12 14440 Ronninge Sweden (No games, please!) <-- GENERAL UP/DOWN MAINSCREEN --> ^04:E0,03,00,08 Mushroom Studios are: Peter "CRAYON" Hanning (Code,Music) Anders "DOLPHIN" Ramsay(Music,Organize) Daniel "KNOTIS" Sindahl(Code) Greetings to: All members of Noxious Tritoon/Alpha Flight - Matrix/LSD Devistator/EOC1*L 0999 - T.G.L./Aliens Spirou/Visual Design - Alex Kunz Sun/Dreamdealers - Deltabar Dilonardo Markus Jentsch - Tal/Majic12 Sebastien Rose - Toni Maenpaa This space is for rent <-- GENERAL UP MAINSCREEN --> ^08:01,00,09,18 MAINSCREEN ---------- ## PLAY ## Will play the song from the current position in the song. The pointer turns yellow, just to show you what's going on. ## PATTERN ## Will play the current pattern which is*#ω shown at the bottom of the screen. The pointer turns yellow here as well. Holding down the right button while pressing play,pattern or record will play from the current patternposition. <-- PROTRACKER DOWN DISK OP.1 --> ^09:01,08,0A,18 ## EDIT ## Will put you in edit mode. The pointer turns blue, and you can enter notes and numbers from the keyboard. Use the arrowkeys to move up/down and left/right in the pattern. Entering a note or a number will cause the pattern* s? to jump one or more slots down. ## RECORD ## Will put you in edit mode, but also play the current pattern or song. You can select this in the Edit Options menu. While the pattern or song is <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0A:01,09,0B,18 playing, you can type in notes and numbers from the keyboard, and they will appear in the pattern as it scrolls. The notes and numbers will also be quantized to the nearest slot, so that keeping a steady rhythm is no problem. * 5pThe pointer will turn blue here as well as in the the normal edit mode. ## STOP ## Will stop playing of songs and patt- erns, recording, and will turn edit mode off. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0B:01,0A,0C,18 ## CLEAR ## Will first ask you what you want to clear. You can clear either all, song or samples.Patternnames are cleared together with the song. ## EDIT OP. ## Will exchange the Spectrum Analyzer with the Edit Menu(s). Pressing more than one time* (Ar will browse through the edit op. screens. ## DISK OP. ## Will go to the File Requester. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0C:01,0B,0D,18 ## PLST ## Will go to the PLST screen. ## PSET-ED ## Will go to the preset editor. ## SETUP ## Will go to the Setup Screen. ## SAMPLER ## Will go to the Sampler screen. ## 1, 2, 3 and 4 ## Represent the audiochannels of your amiga. When lit, that channel is on. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0D:01,0C,0E,18 Wh* Imen not lit, the channel is muted and the notes in that track will not be played.Holding the right mousebutton will solo the desired channel. ## TEMPO ## The tempo gadget on the status bar is for setting the CIA speed, if CIA timing is used. The gadget will be updated every time you set the speed using the F command (if CIA that is). ## I(NSERT) ## Insert a position into your song. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0E:01,0D,0F,18 ## D(ELETE) ## Delete a positio* +8on from your song. ## POS ## Defines your position in the songtable. Pressing POS wil put you in the Position-Editor. ## PATTERN ## Defines which pattern will be played at a specific position. ## LENGTH ## (SONG) Defines the length of the song. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^0F:01,0E,10,18 ## FINETUNE ## Tune your untuned samples to match the others. 0 436.4 hz -1 432.1 hz 1 439.0 hz -2 429.6 hz 2 441.6 hz -3 426.3 hz 3 445.1 hz * ~g -4 423.1 hz 4 447.8 hz -5 419.9 hz 5 451.5 hz -6 416.7 hz 6 455.2 hz -7 414.4 hz 7 457.0 hz -8 412.0 hz ## SAMPLE ## Choose sample. You can use up to 31, or hex $1F samples in a song. Pressing <-- PROTRACKER UP/DOWN DISK OP.1 --> ^10:01,0F,11,18 both mousebuttons at the same time will set the samplenumber to zero. You can then record the pattern with sample 0 to prevent Protracker from setting the volume each time you play a new note. * ## LENGTH ## (SAMPLE) The Length gadgets are simply used for setting the length of the sample. A sample can be up to 64k, or $fffe long. You can add workspace behind the sample by increasing the length and letting go of the button. PT will ask if you are sure, and if you are, allocate more memory for the sample. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^11:01,10,12,18 ## VOLUME ## Use this to set the volume the current sample will be played with. ## REPEAT ## Here you *"0set the start of the sample- loop. ## REPLEN ## Here you set the length of the sample- loop. ## PATTERNNUMBER GADGET ## To the middle left of the screen is a box with a number in it. The number is <-- PROTRACKER UP/DOWN DISK OP.1 --> ^12:01,11,13,18 the current pattern number. Click on it to type in a new number. When in type- in mode, use return,ESC or right mouse- button to exit. This should also work on most other such gadgets. ## A(BOUT) ## This one you'll ha*3^{4ve to experience for yourself. ## LOAD ## (sample) Will simply try to load the current samplename. Use this when you've fucked up in the sample editor, and have destroyed a sample. <-- PROTRACKER UP/DOWN DISK OP.1 --> ^13:01,12,00,18 Pressing both the left and right button on the arrow-gadgets will speed them up a bit. All numbergadgets except Fine- tune&Sample allows you to click in the gadget and type in the desired value. Holding the right mousebutton while press*Iing them will zero the value. The main screen has some indicators on the left side of the song- and sample- name textgadgets.The indicators are as follows: M S M 0-9 (Metronome ON, Split ON Multi ON, Editskip) I 0-9 (AutoInsert ON, AutoInsert Macro) <-- PROTRACKER UP DISK OP.1 --> ^18:08,00,19,20 DISK OP.1 --------- ## PATH ## The paths for songs, modules, samples, tracks and patterns can now be changed, and* 6 they can be up to 31 characters long. To change path, click on load song/module/sample/track/pattern or the arrow indicating what path you're at. ## FREE (DISKSPACE) ## Free diskspace can be shown in hex or decimal. Select this on the setup screen. Click on "free" to get free diskspace without re-reading the dir. <-- MAINSCREEN DOWN DISK OP.2 --> ^19:08,18,1A,20 ## FORMAT DISK## Will format a disk in df0: ## RENAME FILE ## Will dir the current directory. Select*Q3 a filename, and you will be able to edit the name. ## DELETE FILE ## Will dir the current directory. Select a file, and it will be deleted from the disk. ## PACK ## When on, Protracker will pack songs <-- MAINSCREEN UP/DOWN DISK OP.2 --> ^1A:08,19,1B,20 before saving. Modules will be Power- Packed and .pp will be added to the filename. ## LOAD SONG ## Will dir the songs path. Select a song, and it will be loaded and decrunched if crunched. ## SAVE SONG ## Wi*[>ll pack the song if pack is on, then save it to the current songs path. Remember to enter a name for your song, otherwise PT will not save! <-- MAINSCREEN UP/DOWN DISK OP.2 --> ^1B:08,1A,1C,20 ## LOAD MODULE ## Will dir the modules path. Select a module, and it will be loaded. Power- packed modules will be decrunched. ## SAVE MODULE ## Will crunch(Powerpacker) the module if pack is on,then save it to the current modules path. Holding the right mouse- button will sav*Ѐe as an executable file in the current directory. ## LOAD SAMPLE ## Will dir the sample path. Select a sample, and it will be loaded to the <-- MAINSCREEN UP/DOWN DISK OP.2 --> ^1C:08,1B,1D,20 current sample. IFF headers will be chopped off and loops loaded, if any. Powerpacked samples will be loaded and decrunched. ## SAVE SAMPLE ## Will save the current sample as RAW, IFF or PAK(Powerpacked). Select this in the "Save" gadget to the right of "Load Sample". IFF loo*4ps will be saved too(Not with PAK in this version). ## DIR-BROWSE BUTTON ## By pressing this button you can browse through various preset paths, so that <-- MAINSCREEN UP/DOWN DISK OP.2 --> ^1D:08,1C,1E,20 you won't have to enter them over and over again.Holding right mousebutton will show all paths in the filewindow. ## PATH INDICATOR ## Click to change paths without reading dir. ## 2 ## Goto Disk Op.2 ## T(OP) ## Will put you at the top of the file- list.Hold* 6ing the right mousebutton will put you at the previous character in <-- MAINSCREEN UP/DOWN DISK OP.2 --> ^1E:08,1D,00,20 the file-list.Try it out! ## B(OTTOM) ## Will put you at the bottom of the file- list.Holding the right mousebutton will put you at the next character in the file-list. Holding shift while pressing a key will put you in the list at the chosen position. This works in the PLST and Preset-Ed screens as well. <-- MAINSCREEN UP DISK OP.2 -->*-B ^20:18,00,21,28 DISK OP.2 --------- Disk op.2 has alot in common with disk op.1 but with a few additional features ## LOAD TRACK ## Will dir the track path.Select a track, and it will be loaded to the cursor position or to the trackbuffer, depending on the MODE choice. ## SAVE TRACK ## Will save the track from the cursor position or from the trackbuffer. <-- DISK OP.1 DOWN PLST --> ^21:18,20,22,28 ## LOAD PATTERN ## Will dir *I`عthe pattern path. Select a pattern, and it will be loaded to the cursor position or to the patternbuffer ## SAVE PATTERN ## Will save the pattern from the cursor position or from the patternbuffer. ## MODE ## Determines if the track/pattern will load/save to/from the buffer or the cursor position. <-- DISK OP.1 UP/DOWN PLST --> ^22:18,21,00,28 ## 1 ## Goto Disk Op.1 AutoDir - If you set the autodir toggle on the setup screen to on, Protracker will automa*;tically dir the current path when you enter the disk op. screen and after you've saved/renamed/deleted something. AutoExit - When this toggle is on Pro- tracker will exit from disk op. when loading a song/module/track or pattern. <-- DISK OP.1 UP PLST --> ^28:20,00,29,50 PLST ---- The PLST is fairly simple to use. Listed here are all the samples in your Presetlist and their lengths.Just click on a name, and Protracker will *(ask for a disk called ST-01 through to ST-FF. Insert it, and the chosen sample will be loaded to the current sample dis- played at the left of the screen. Use the up/down arrow keys to move up and down in the PresetList. If you press shift or the right mousebutton,the PLST will move 10 presets at a time. <-- DISK OP.2 DOWN PRESET ED --> ^29:20,28,2A,50 At the top the PLST shows the total number of samples from the selected sounddisks.There are some PLST gadgets: *1) ## CLEAR ## Will clear all the sounddisk names you have entered, and display the whole PresetList. ## MOUNTL(IST) ## Will search your drives for disks called ST-**, and put the names into the ST-__ gadgets. ST-00 will not be mounted. <-- DISK OP.2 UP/DOWN PRESET ED --> ^2A:20,29,2B,50 ## ST-__ ## There are three ST-__ gadgets where you can enter the numbers of the sounddisks you want to display in the PLST. Only the presets from the selected sound- disks will be*kj shown. If you clear all gadgets (by pressing return or right mousebutton), or press "Clear",the PLST will revert to show all presets. ## T(OP) ## Will put you at the top of the preset- list.Holding the right mousebutton will put you at the previous character in the preset-list. <-- DISK OP.2 UP/DOWN PRESET ED --> ^2B:20,2A,00,50 ## B(OTTOM) ## Will put you at the bottom of the preset-list.Holding the right mouse- button will put you at the next character in the pr*:4eset-list. ## EXIT ## There are 2 exitgadgets in this version I didn't know what to change the other exitgadget to. Holding shift while pressing a key will put you in the list at the chosen position. This works in the DiskOp and Preset-Ed screens as well. <-- DISK OP.2 UP PRESET ED --> ^30:28,00,31,40 PRESET ED --------- The preset editor is used for sorting and catalogueing your samples. All samples for use with Protracker should *S be on disks called "ST-01" to "ST-FF". When adding a disk to the presetlist, only these disks are recognized. Harddisk owners may want to add a directory. e.g. You've got a directory called "Supersamples", and you want to use the samples on PT... Simple. Assign "Supersamples" to ST-13 or whatever. In the box with "Disk:" and ST-__ in it, <-- PLST DOWN SAMPLER --> ^31:28,30,32,40 enter ST-13.Now type "DHX:supersamples" in the path box and press "add path". *  The path will be added as ST-13 in your presetlist, so everytime you need a sample from ST-13, it will be loaded from "Supersamples" instead. Simple? Editing -------- To edit a preset, simply click on it. Use the arrowkeys to move left/right. When moving up and down in the preset- list, use shift or the right mouse- button to speed it up a bit. <-- PLST UP/DOWN SAMPLER --> ^32:28,31,33,40 ## ADD PATH ## Will add the current path to the presetlist.Infofiles *!will not be added. Samplenames can only be 15 chars long. ## INSERT PRESET ## Will create a new preset.Enter the data for the sample, and it will be added to the presetlist. ## DELETE PRESET ## Will delete the wanted preset from the presetlist. <-- PLST UP/DOWN SAMPLER --> ^33:28,32,34,40 ## DELETE DISK ## Will delete the disknumber set in the "Disk:" box. ## PATH ## This is where you enter the path to be added from. It can be up to 31 characters long.*"^ ## DISK ## This is the disk (or HD-dir) that's being added from (or deleted). ## PRESETS ## This is the current number of presets <-- PLST UP/DOWN SAMPLER --> ^34:28,33,35,40 in the presetlist. ## CLEAR PLST ## Will clear all the presets. ## LOAD PLST ## Will load the presetlist from a file called "PLST". This file should be placed in the PTdir (See setup2). ## SAVE PLST ### Will save the presetlist as a file called "PLST" to the current PTdir. <-- *#RnxPLST UP/DOWN SAMPLER --> ^35:28,34,36,40 ## PRINT PLST ## Will print the presetlist to the current print path, shown on the setup-screen. ## PLST ## Will go to the PLST-screen! ## T(OP) ## Will put you at the top of the preset- list.Holding the right mousebutton will put you at the previous character in the preset-list. <-- PLST UP/DOWN SAMPLER --> ^36:28,35,00,40 ## B(OTTOM) ## Will put you at the bottom of the preset-list.Holding the right *$Amouse- button will put you at the next character in the preset-list. Holding shift while pressing a key will put you in the list at the chosen position. This works in the PLST and DiskOp screens as well. <-- PLST UP SAMPLER --> ^40:30,00,41,50 SAMPLER ------- Editing ------- When editing a sample, use the mouse to set the cursorline and to mark ranges. ## WAVEFORM ## Will play the full sample with loops. ## DISPLAY #*%>n# Will play the part of the sample being shown on screen. <-- PRESET ED DOWN SETUP 1 --> ^41:30,40,42,50 ## RANGE ## Will play the marked range. ## STOP ## Will stop all playing of samples. ## SHOW RANGE ## Will magnify the current range and display it. ## SHOW ALL ## Will display the whole sample. ## BEG ## Will put the cursorline at the begin- <-- PRESET ED UP/DOWN SETUP 1 --> ^42:30,41,43,50 ning of the sample. ## END ## Will put the cursorl*&nRine at the end of the sample. ## SWAP BUFF(ER) ## The swap the current sample with the copy-buffer. ## ZOOM OUT ## Will show double the range you are dis- playing. <-- PRESET ED UP/DOWN SETUP 1 --> ^43:30,42,44,50 ## RANGE ALL ## Will range the part of the sample being displayed on screen. ## CUT ## Will cut away the part of the sample that's marked. ## COPY ## Will copy the marked range to the copy- buffer. ## PASTE ## Will paste the copy-buffer into *',Lthe current sample. <-- PRESET ED UP/DOWN SETUP 1 --> ^44:30,43,45,50 The volume box -------------- Set the "FROM" and "TO" volume percentages by using the sliders, or just type in any number you please (from 0 to 200) in the percentage boxes to the right. ## NORMALIZE ## Will find the highest volume settings possible (without clipping). ## CANCEL## Will exit the volume box. <-- PRESET ED UP/DOWN SETUP 1 --> ^45:30,44,46,50 ## \ ## Will set the percen*(r-tages 100%-0% ## / ## Will set the percentages 0%-100% ## - ## Will set the percentages 100%-100% ## RAMP ## Will ramp (calculate) the volume! ## TUNETONE ## Will create a sinus sound, which you can tune your samples after. See <-- PRESET ED UP/DOWN SETUP 1 --> ^46:30,45,47,50 setup 2 help for details. ## SAMPLE ## Will first enter the monitor screen. Now click right button to sample, left to exit.The pointer will be green when waiting for diskactivity to s*)1top. ## NOTE ## This is the note to sample on. Range is C-1 to B-3. ## RESAMPLE ## Here's a step-by-step explanation: 1. Turn on the tuning tone. <-- PRESET ED UP/DOWN SETUP 1 --> ^47:30,46,48,50 2. Use the keyboard to find what note it is. Use finetune if needed. 3. Enter the note in the "Note:" box to the right. 4. Press resample! ## NOTE ## This is what note to resample to. ## DISP(LAY) ## This is the length of the part of the sample being shown on** screen. ## LOOP ON/OFF ## This is for turning loops on/off <-- PRESET ED UP/DOWN SETUP 1 --> ^48:30,47,00,50 without having to fiddle with the repeat and replen gadgets. ## EXIT ## Exits the sampler screen. <-- PRESET ED UP SETUP 1 --> ^50:40,00,51,60 SETUP 1 ------- The setup screens were provided so that PT users could set up their own personal environment. We hope we have satisfied most of you. You've got 8 *+P( on/off toggles,a split keyboard editor, a color palette and lots more. Choose what you want, and use "Save Config" to save your environment. On the next screen is a list of what will be saved in the config file. <-- SAMPLER DOWN SETUP 2 --> ^51:40,50,52,60 This will be saved in the config file: -------------------------------------- Songs/Modules/Samples/Tracks/Patterns and Print paths&savemode, Colors, Keyrepeat, The 24 On/Off toggles, Split Keyboard data,*,* Keyrepeat, Accidental, The eight external dos commands, Max PLST entries, Multikey channeltable, Effectmacros,CIA/VB timing,Tempo&Speed DMA wait and Tunetone+Volume. You can have up to 256 different config files. They will be saved as "PT.config-00", "PT.config-01" and so on. Set the confignumber in the "cnfig" box. <-- SAMPLER UP/DOWN SETUP 2 --> ^52:40,51,53,60 ## LOAD CONFIG ## Will load the selected config file. ## SAVE CONFIG ## Will save the selected con*-lfig file. ## RESET ALL ## Will set the original PT defaults and colors. ## MULTI ## This table is used with the multi keyboard option.The four numbers repre- sent what channel each channel will jump to next. 1-2, 2-3, 3-4 and so on. <-- SAMPLER UP/DOWN SETUP 2 --> ^53:40,52,54,60 ## THE DOT ## The gadget with a dot and a textline can be used to execute dos commands. Each of the 8 commands can be up to 31 letters long. Pressing the dot will browse through the *.Wcommands. Holding the right button and pressing it will execute the command. Note that PT needs the command "run" to execute the other commands.This is because of commodore's stupid programming of the dos library function "execute". Type "endcli" to go back to Protracker. <-- SAMPLER UP/DOWN SETUP 2 --> ^54:40,53,55,60 ## THE COLOR PALETTE ## The color palette is simple to use. Just select a color, and use the R, G and B sliders to set the color. ## UNDO ## W*/P~[Gill put back the latest change. ## CANCEL ## Will set the config colors. ## DEF(AULT) ## Will set the original ST colors. <-- SAMPLER UP/DOWN SETUP 2 --> ^55:40,54,56,60 ## SPLIT ## You can set 4 splits on the keyboard, each with it's own sample, splitpoint and transpose. Just type in a sample number and select the key to split at by pressing the appropriate one. The transpose note for each split is the first note in that split-range. Notes below the first s*0xplit will be played with the current sample. Split is great for recording drums, or for playing untuned samples in tune (use together with finetune). <-- SAMPLER UP/DOWN SETUP 2 --> ^56:40,55,57,60 ## CLEAR ## Will clear the splits. ## KEYREP(EAT) ## The first number is the keyrepeat delay and the second is the speed. ## ACCIDENTAL ## Simple enough, accidental allows you to select sharp (#) or flat () notes. This will not be saved with the song! ## PRINT *1gmSONG ## Will print the song to the path shown below the "Print Song" gadget.The print <-- SAMPLER UP/DOWN SETUP 2 --> ^57:40,56,58,60 path can be 31 chars long. ## SPLIT ON/OFF ## Toggles between normal and split key- board. ## FILTER ON/OFF ## Toggles the audiofilter / PowerLED. (Not available on all Amigas) ## TRANS(POSE)DEL(ETE) ON/OFF ## When on, notes transposed out of range will be deleted. <-- SAMPLER UP/DOWN SETUP 2 --> ^58:40,57,59,60 ## S*2HOWDEC(IMAL) ## When on, Freemem, Tunemem, and file- lengths will be shown in decimal. ## AUTODIR ON/OFF ## When on, Protracker dirs the current directory path automatically. ## AUTOEXIT ON/OFF ## When on, Protracker will automatically exit from the file requester when loading a song,module,track or pattern. ## MOD. ONLY ON/OFF ## When on, Protracker will only show <-- SAMPLER UP/DOWN SETUP 2 --> ^59:40,58,00,60 modules beginning with "mod.". ## MIDI ON/OFF *35͡P## Enables midi input (see midi help). ## 2 ## Will enter SETUP 2. <-- SAMPLER UP SETUP 2 --> ^60:50,00,61,70 SETUP 2 ------- ## TIMING ## We included this so that American users also could enjoy Protracker, and wouldn't have to use sonix or any other terrible music program... You can choose between CIA or Vblank timing. Vblank is the timing-method soundtrackers have been using since the dawn of time, while CIA is a *4Kmuch better and accurate timing with the tempo measured in beats per minute. Using Vblank on NTSC amigas will cause <-- SETUP 1 DOWN MIDI --> ^61:50,60,62,70 the song to play 20% faster. With CIA, there's no difference. ## TEMPO ## This is where you set your default CIA timing tempo. Range: 32-255. ## SPEED ## This is where you set your default Vblank timing speed. Range: 01-FF. ## COPPER EDITOR ## The copper editor is for altering the colors of the VU*5B -meters and the spectrum analyzer to your own liking. <-- SETUP 1 UP/DOWN MIDI --> ^62:50,61,63,70 Select a color by clicking somewhere within the coppered stripe. Now use the R, G and B sliders to alter the color. ## SPREAD ## Will create an even gradient between the current color and the one you click on next. ## ARROWS ## Will rotate the whole copper stripe in the Y-axis (up/down). ## UNDO, CANCEL and DEF(AULT) ## Will work just like in the palette in <*6Ø ^63:50,62,64,70 SETUP 1. ## MODS ## This is where you set your default modules path. ## SONGS ## This is where you set your default songs path. ## SAMPL(ES) ## This is where you set your default sample path. <-- SETUP 1 UP/DOWN MIDI --> ^64:50,63,65,70 ## PTDIR ## This is the path for the helpfile, the PLST and the PT configfile(s). ## MAX PLST ## This is the maximum number of presets in your presetlist. ## D*7ĸMA WAIT ## Use this on fast amigas to slow down the DMA enough to not miss any notes. If you set a too low value, you will miss some of the low notes! If you set a too high value, everything will be slowed down. 300 or a little less is ok <-- SETUP 1 UP/DOWN MIDI --> ^65:50,64,66,70 on a normal A500 7.09 MHz (PAL). 900 (approx.) is ok on an A3000 running at 25Mhz. ## TUNING TONE ## The tuning tone is for use with the sample editor. The note is what note to p*8j;lay the tuning tone at, and the number is the volume. ## COUNT IN ## Doesn't work..YET..sorry... ## <- DEFAULT ## Will put back the default for every- <-- SETUP 1 UP/DOWN MIDI --> ^66:50,65,67,70 thing in the middle column. ## OVERRIDE ## When on, PT will ignore any paths or disknames when loading a song or module. All the samples will be loaded from the current sample path. ## NOSAMPLES ## When on, PT won't load the samples when loading a song or module*9ܪ. ## BLANKZERO ## When on, PT won't show the first zero in the samplenumber. <-- SETUP 1 UP/DOWN MIDI --> ^67:50,66,68,70 ## SHOW DIRS ## When on, directories will be shown in Disk Op. ## SHOW PUBL(IC) ## When on, PT will show all free memory, not just chip-mem. ## CUT TO BUFF(ER) ## When on, all samples cut in the sample editor will to put in the copy-buffer. ## LOAD LOOP ## When on, PT will load loops from IFF- samples. <-- SETUP 1 UP/DOWN *:$] MIDI --> ^68:50,67,69,70 ## SYS(TEM) REQ(UESTS) ## allows you to turn the requests on/off ## 1 ## Will enter SETUP 1. ## SALVAGE ## doesn't work yet. ## 100 PATTERNS ## with this on, you will be able to have 100 patterns. ## SAVE ICONS ## When on, PT will save an icon together <-- SETUP 1 UP/DOWN MIDI --> ^69:50,68,6A,70 with the module. ## LOAD (PATTERN)NAMES ## When on, PT will try to load the patternnames with the module. ## SAVE (PATTERN)NAMES #*;v-# When on, PT will save patternnames with the module. ## LOAD PLST ## When on, PT loads PLST when starting. ## SCREEN ADJUST ## When on, PT will scroll the screen 16 <-- SETUP 1 UP/DOWN MIDI --> ^6A:50,69,00,70 pixels to the left. ## SAMPLEPAK ## allows you to pack samples as IFF or RAW. You can now have modules with 100 patterns. If you save a module with more than 64 patterns then M.K. in the moduleheader will be changed to M!K! <-- SETUP 1 *<ˉ: UP MIDI --> ^70:60,00,00,78 MIDI ---- Midi routines in Protracker 2.3 are still very limited. Midi in should work ok, though. To activate midi, you'll have to turn it on on the setup1 screen. Use the three upper octaves on your synthesizer to play notes. Some keys in the lowest octave can be used to play/stop/record etc. We might fix better midi support in later versions of Protracker, but so far, this is uncertain... Read the *=4s PT.ReadMe! file for more info. <-- SETUP 2 NOWHERE POSITION-ED --> ^78:70,00,79,80 POSITION-EDITOR --------------- Press 'POS' on the mainscreen to get to the Position-Editor. All the gadgets should be well known, pressing the big gadget at the top will stop the song. Keyboard input works too,Left Alt,Left Amiga,space and the cursor up/down arrows.You can use the Position,pattern and length gadgets on the main screen, or click in the list to alt*>K;jer the current pattern or to enter a name to each pattern if you'd like to. The Patternnames will be loaded/saved if you have the corresponding toggles ON <-- MIDI DOWN EDIT OP. --> ^79:70,78,7A,80 (load names,save names). The files will have the mod. exchanged to mod! just to distuingish them from the real modules. The patternnames will be cleared if you choose clear song or clear all.Another way is to click on each name you'd like to clear and then press th*?٩e right mouse button. Patternplay works a little different from in the mainscreen.The pattern shown on the edit-row(the current position) will be played instead of the pattern currently shown in the notedatawindow. HEY! The patternnames has no effect on <-- MIDI UP/DOWN EDIT OP. --> ^7A:70,79,00,80 the module, they are just to remind the musician of the contents of the patterns, eg. you can name the first three patterns to INTRO just to remind yourself that th*@eTose three patterns are the intro to your tune! <-- MIDI UP EDIT OP. --> ^80:78,00,81,98 EDIT OP. -------- The edit op. screens were just a handy way for us to implement all the new functions we had thought of. There are three screens, and you can browse through them by pressing the edit op. gadget more than once, or select one by clicking on the numbers 1-3. To exit edit op., click on the gadget labeled "E" or press ES*A#@C. <-- POSITION-ED DOWN CHORD MAKER --> ^81:78,80,82,98 Edit op. Screen 1: ## TRANSPOSING ## What is transposing ? Transposing lets you shift the pitch of the notes up or down. E.g. Change a C-3 to a C#3. In comparison to other trackers, Protracker lets you transpose in just about every way you can imagine.You can transpose either the current sample or all the samples in a track or pattern. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^82:78,81,83,98 To the right o*BҜQ5 f the title bar is a small box with the letter "S" or "A". S - Only the current sample will be transposed. A - All the samples from $00-$1F will be transposed. To toggle between the two, click on the edit op. title bar. If the setup toggle "TransDel" is on, all the notes transposed out of range (C-1 to B-3) will be deleted. If not, they will not be transposed. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^83:78,82,84,98 Edit op. screen 2: (Record) ## RECORD ## P*C|%ATT - Record current pattern only. SONG - When recording, PT will move through the patterns in the song, just like normal play. ## QUANTIZE ## Will move the notes you record to every n'th slot. Entering 00 will turn off the quantizing, and the notes you play will always be inserted at the pattern- position you are at. Entering 01 will quantize the notes the the nearest slot <-- POSITION-ED UP/DOWN CHORD MAKER --> ^84:78,83,85,98 according to the speed. i.e.*DԀoQ if you play a note after the first half has been played, it will be quantized to the slot below. Entering a value like 8 will quantize to every 8th note, and so on. Got that? ## METRO(NOME) ## The first number is the speed of the metronome,and the second is the channel to play it on. The Sample used for metronomes is always sample $1F. Load your own favourite metronome sample.The metronome will always be played at C-3, but you can still change the volume and <-- POSITI*EHON-ED UP/DOWN CHORD MAKER --> ^85:78,84,86,98 loop values. To turn off the metronome, just set the speed or channel to 00. V2.3: The metronome has a master toggle ALT+M. ## KEYS ## When MULTI, PT will jump to another channel after you play a note on the keyboard. This makes it possible to play two or more notes at the same time (very useful with midi). On the setup screen you can choose what channel to jump to after playing a note. <-- POSITION-ED UP/DOWN CHORD MAKER*Fh= --> ^86:78,85,87,98 Edit Op. screen 2: (Samples) To the right of the title bar is a small box with the letter "T", "P" or "S". T - Copy & Exchange apply to current track only. P - Copy & Exchange will affect the whole pattern. S - Copy & Exchange will apply to the real samples in memory. To toggle between the two, click on the edit op. title bar. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^87:78,86,88,98 ## DELETE ## Will delete all notes with the current *GאP sample in current track or whole pattern. ## KILL ## Will kill the current sample. That is, remove it from memory and reset all sample settings. It will not be deleted from the track or pattern. You can also use the period (.) key on the numeric keyboard to invoke this function. ## EXCHGE (EXCHANGE) ## Will exchange the samplenumber shown in <-- POSITION-ED UP/DOWN CHORD MAKER --> ^88:78,87,89,98 the "FROM" gadget with the samplenumber in the "TO" gadget and vice vers*Hٴ}a. "T" or "P" selects track or pattern. "S" exchanges the samples. ## MOVE ## Will move the samplenumber shown in the "FROM" gadget to the samplenumber in the "TO" gadget. Edit Op. screen 3: (Sample Editor) To the right of the title bar is a small box with the letter "H" or "C". <-- POSITION-ED UP/DOWN CHORD MAKER --> ^89:78,88,8A,98 H - Will halve the volume when mixing and echoing to avoid clipping. C - Will not halve the volume. The sample may be clipped.Bl\     **IW4|? To toggle between the two, click on the edit op. title bar. ## MIX ## Will mix one sample with another. PT asks you which two samples to be mixed, and where to put the result. Holding the right button and pressing mix will mix the current sample with <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8A:78,89,8B,98 itself. You can offset the sample by setting a position in the "pos" gadget. If you set "mod" to a non-zero value, the sample will also be modulated. ## ECHO ## *JۙԦWill create a echo effect on the current sample. Use "pos" to set the delay time of the echo.If you want more room to echo in, just turn up the length of the sample. ## BOOST ## Will turn up the treble of the sample. Use this on hi-hats and snares! <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8B:78,8A,8C,98 ## FILTER ## Will Delta-filter the sample. Use this on noisy basses. ## X-FADE ## Will crossfade the sample (mix with itself, backwards). Handy for looping samples th*K&at are hard to loop. ## BACKWD (Backwards) ## Will turn the sample backwards! ## UPSAMPLE ## Will remove every second byte of the sample, halving the length and shifting <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8C:78,8B,8D,98 the pitch one octave up. ## DOWNSAMPLE ## Will double every byte of the sample, doubling the length, and shifting the pitch one octave down.If you downsample samples longer than $7FFE,you will lose the end of them. ## POS ## This is just an of*Lݦ&fset in the sample, used for a lot of things.This one has a numbergadget as well.Holding the right mousebutton while pressing the number- gadget will zero the value. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8D:78,8C,8E,98 ## MOD ## This is used for modulation.Press "MOD" to modulate the current sample. Holding the right button while pressing the numbergadget will zero the value. ## CUTBEG(INNING) ## Will chop the number of bytes set in the "POS" gadget off the beginning*M]: of the sample. ## FU (Fade Up) ## Will fade the volume from 0 to 100%.Use "POS" to select where in the sample to fade up to. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8E:78,8D,8F,98 ## FD (Fade Down) ## Will fade the volume from 100 to 0%.Use "POS" to select where in the sample to fade down from. ## VOL ## With this you can change the "real" volume of the sample. Just set a percentage and press "VOL".VOL has a numbergadget.Holding the right button while pressing it *Nߗ}will set the value to 100%. ## CHORD ## Will put you in the Chord-maker. <-- POSITION-ED UP/DOWN CHORD MAKER --> ^8F:78,8E,00,98 Edit Op.3 is now intended to be used with the new sample-editor. If a range is marked, some of the functions apply to the range only. If there's no range marked, the functions will affect the whole sample. You may also set "POS" by clicking on the sample and setting the cursor-line. <-- POSITION-ED UP CHORD MAKER --> ^98:80,00,99,A*Oa `8 Chord-maker ----------- ## Chord ## Will make the chord, using the current sample and the notes chosen, and the chord will be put in the current sample or a free sample,depending on your choice (see below) ## Reset ## will reset the notes and the length ## Undo ## will undo the last change. (apart from multiple arrow up/down) <-- EDIT OP. DOWN EFFECT COMMANDS --> ^99:80,98,9A,A8 ## Length ## will set the length to the maximum value, de*POhpending on the length of the original sample and the notes you choose.This will ofcourse set the ':' after the 4 lengthdigits (see below) Holding the right mousebutton will set the length to the minimum depending on the notes chosen. '.' will be shown after the 4 digits. Mixing with the minimum length will make the sample as long as the shortest sample of the 4 resampled notes. <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9A:80,99,9B,A8 ## Major ## will set a major chord, *Qwwdepending on the basenote. ## Minor ## will set a minor chord, depending on the basenote. ## Sus-4 ## will set a sus-4 chord, depending on the basenote ## Length string gadget ## will wait for you to enter a new length (not greater than the maxlength <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9B:80,9A,9C,A8 If you want a longer sample then add more space after the mix has been done.) The ':' after the 4 digits shows that the samplelength is set to its maximum! ## Ma*Rd7jor7 ## will set a major7 chord, depending on the basenote. ## Minor7 ## will set a minor7 chord, depending on the basenote. ## Major6 ## will set a major6 chord, depending on <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9C:80,9B,9D,A8 the basenote. ## Minor6 ## will set a minor6 chord, depending on the basenote. ## 4 notegadgets ## The upper one is the basenote.If you press a gadget,PT will wait for you to press a note.Holding the right mouse- button will reset the *Senote. ## 4 Up/Down gadgets ## will add/sub 1 halfnote from the current note.Holding right button will <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9D:80,9C,9E,A8 add/sub 1 octave.You can reset the note by adding past B-3. ## The 4 rightmost gadgets ## works just like the edit op gadgets. 1,2,3 takes you to the corresponding edit option, and E exits ## The statusline ## pressing the upper line will toggle between New or Old sample: If N, then PT will search for an free sa*T5mple to put the result. If O, then PT will put the result on the current sample, overwriting the original sample. <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9E:80,9D,9F,A8 Note1! ------ This version of PT resets repeat and replen. PT also puts a '!' last in the samplename to show you that this is a chord sample.The '!' is for you to see where the destination-sample has gone, it has nothing to do with the program. You can take the '!' away and rename the sample to ...-majo*U横r, ...-minor etc for instance. Note2! ------ The chosen option on the statusline in <-- EDIT OP. UP/DOWN EFFECT COMMANDS --> ^9F:80,9E,00,A8 edit op. 3 ,H(alve) or C(lip) will affect the chord resampling and mixing <-- EDIT OP. UP EFFECT COMMANDS --> ^A8:98,00,A9,D0 EFFECT COMMANDS --------------- Effect commands on Protracker should be compatible with all other trackers. 0 - None/Arpeggio 8 - * NOT USED * 1 - Portamento Up *Vʈ 9 - SampleOffset 2 - Portamento Down A - VolumeSlide 3 - TonePortamento B - PositionJump 4 - Vibrato C - Set Volume 5 - ToneP + VolSlide D - PatternBreak 6 - Vibra + VolSlide E - Misc. Cmds 7 - Tremolo F - Set Speed <-- CHORD MAKER DOWN KEYBOARD --> ^A9:98,A8,AA,D0 E - COMMANDS ------------ The E command has been altered to contain more commands than one. E0- Filter On/Off E8- * NOT USED * E1- Fi*WZUneslide Up E9- Retrig Note E2- Fineslide Down EA- FineVol Up E3- Glissando Control EB- FineVol Down E4- Vibrato Control EC- NoteCut E5- Set Finetune ED- NoteDelay E6- Patternloop EE- PatternDelay E7- Tremolo Control EF- Invert Loop <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AA:98,A9,AB,D0 Cmd 0. Arpeggio [Range:$0-$F/$0-$F] ----------------------------------- Usage: $0 + 1st halfnote add + 2nd halfnote add Arpeggio is used to simula*X5) te chords. This is done by rapidly changing the pitch between 3(or 2) different notes. It sounds very noisy and grainy on most samples, but ok on monotone ones. Example: C-300047 C-major chord: (C+E+G or C+4+7 halfnotes) C-300037 C-minor chord: (C+D#+G or C+3+7 halfnotes) <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AB:98,AA,AC,D0 Cmd 1. Portamento up [Speed:$00-$FF] ------------------------------------ Usage: $1 + portamento speed Portamento*Yu up will simply slide the sample pitch up. You can NOT slide higher than B-3! (Period 113) Example: C-300103 1 is the command, 3 is the portamentospeed. NOTE: The portamento will be called as many times as the speed of the song. This means that you'll sometimes have trouble sliding accuratly. If you change the speed without changing the sliderates, it will sound bad... <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AC:98,AB,AD,D0 Cmd 2. Portamento down [Speed:$00-F*Z[F] ------------------------------------- Usage: $2 + portamento speed Just like command 1, except that this one slides the pitch down instead. (Adds to the period). You can NOT slide lower than C-1! (Period 856) Example: C-300203 2 is the command, 3 is the portamentospeed. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AD:98,AC,AE,D0 Cmd 3. Tone-portamento [Speed:$00-$FF] -------------------------------------- Usage: Dest-note + $3 + slidespeed This command *[Pwill automatically slide from the old note to the new. You don't have to worry about which direction to slide, you need only set the slide speed. To keep on sliding, just select the command $3 + 00. Example: A-200000 First play a note. C-300305 C-3 is the note to slide to, 3 the command, and 5 the speed. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AE:98,AD,AF,D0 Cmd 4. Vibrato [Rate:$0-$F,Dpth:$0-$F] -------------------------------------*\퓿- Usage: $4 + vibratorate + vibratodepth Example: C-300481 4 is the command, 8 is the speed of the vibrato, and 1 is the depth of the vibrato. To keep on vibrating, just select the command $4 + 00. To change the vibrato, you can alter the rate, depth or both. Use command E4- to change the vibrato-waveform. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^AF:98,AE,B0,D0 Cmd 5. ToneP + Volsl [Spd:$0-$F/$0-$F] -------------------------------------- Usage: $5 + upspeed *]+ downspeed This command will continue the current toneportamento and slide the volume at the same time.Compatible with NT2.0. Example: C-300503 3 is the speed to turn the volume down. C-300540 4 is the speed to slide it up. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B0:98,AF,B1,D0 Cmd 6. Vibra + Volsl [Spd:$0-$F/$0-$F] -------------------------------------- Usage: $6 + upspeed + downspeed This command will continue th*^G?e current vibrato and slide the volume at the same time. Compatible with NT 2.0. Example: C-300605 5 is the speed to turn the volume down. C-300640 4 is the speed to slide it up. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B1:98,B0,B2,D0 Cmd 7. Tremolo [Rate:$0-$F,Dpth:$0-$F] -------------------------------------- Usage: $7 + tremolorate + tremolodepth Tremolo vibrates the volume. Example: C-300794 7 is the command, *_F, 9 is the speed of the tremolo, and 4 is the depth of the tremolo. To keep on tremoling, just select the command $7 + 00. To change the tremolo, you can alter the rate, depth or both. Use command E7- to change the tremolo-waveform. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B2:98,B1,B3,D0 Cmd 9. Set SampleOffset [Offs:$00-$FF] -------------------------------------- Usage: $9 + Sampleoffset This command will play from a chosen position in the sample, and not from th*`&e beginning. The two numbers equal the two first numbers in the length of the sample. Handy for speech- samples. Example: C-300923 Play sample from offset $2300. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B3:98,B2,B4,D0 Cmd A. Volumeslide [Speed:$0-$F/$0-$F] -------------------------------------- Usage: $A + upspeed + downspeed Example: C-300A05 5 is the speed to turn the volume down. C-300A40 4 is the speed to *a\ slide it up. NOTE: The slide will be called as many times as the speed of the song. The slower the song, the more the volume will be changed on each note. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B4:98,B3,B5,D0 Cmd B. Position-jump [Pos:$00-$7F] ---------------------------------- Usage: $B + position to continue at Example: C-300B01 B is the command, 1 is the position to restart the song at. This command will also perfo*b?rm a pattern-break (see 2 pages below). You can use this command instead of restart as on Noisetracker, but you must enter the position in hex! <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B5:98,B4,B6,D0 Cmd C. Set volume [Volume:$00-$40] ---------------------------------- Usage: $C + new volume Well, this old familiar command will set the current volume to your own selected. The highest volume is $40. All volumes are represented in hex. (Programmers do it in hex, you kno*c|%w!) Example: C-300C10 C is the command, 10 is the volume (16 decimal). <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B6:98,B5,B7,D0 Cmd D. Pattern-break [Pattern-pos:00-63, decimal] ----------------------------- Usage: $D + pattern-position This command just jumps to the next song-position, and continues play from the patternposition you specify. Example: C-300D00 Jump to the next song-position and continue play from patternposition 00. Or: C*d[WR-300D32 Jump to the next song-position and continue play from patternposition 32 instead. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B7:98,B6,B8,D0 Cmd E0. Set filter [Range:$0-$1] -------------------------------- Usage: $E0 + filter-status This command jerks around with the sound-filter on some A500 + A2000. All other Amiga-users should keep out of playing around with it. Example: C-300E01 disconnects filter (turns power LED off) C-300*eg=E00 connects filter (turns power LED on) <-- CHORD MAKER UP/DOWN KEYBOARD --> ^B8:98,B7,B9,D0 Cmd E1. Fineslide up [Range:$0-$F] ---------------------------------- Usage: $E1 + value This command works just like the normal portamento up, except that it only slides up once. It does not continue sliding during the length of the note. Example: C-300E11 Slide up 1 at the beginning of the note. (Great for creating chorus effects) <-- C*fHORD MAKER UP/DOWN KEYBOARD --> ^B9:98,B8,BA,D0 Cmd E2. Fineslide down [Range:$0-$F] ------------------------------------ Usage: $E2 + value This command works just like the normal portamento down, except that it only slides down once. It does not continue sliding during the length of the note. Example: C-300E26 Slide up 6 at the beginning of the note. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^BA:98,B9,BB,D0 Cmd E3. Glissando Ctrl [Range:$0-$1] ---*g9z--------------------------------- Usage: $E3 + Glissando-Status Glissando must be used with the tone- portamento command. When glissando is activated, toneportamento will slide a halfnote at a time, instead of a straight slide. Example: C-300E31 Turn Glissando on. C-300E30 Turn Glissando off. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^BB:98,BA,BC,D0 Cmd E4. Set vibrato waveform [Range:$0-$3] ---------------------------- Usage: $E4 + vibrato-waveform Examp*h0yƛle: C-300E40 Set sine(default) E44 Don't retrig WF C-300E41 Set Ramp Down E45 Don't retrig WF C-300E42 Set Squarewave E46 Don't retrig WF C-300E43 Set Random E47 Don't retrig WF <-- CHORD MAKER UP/DOWN KEYBOARD --> ^BC:98,BB,BD,D0 Cmd E5. Set finetune [Range:$0-$F] ---------------------------------- Usage: $E5 + finetune-value Example: C-300E51 Set finetune to 1. Use these *iPetables to figure out the finetune-value. Finetune: +7 +6 +5 +4 +3 +2 +1 0 Value: 7 6 5 4 3 2 1 0 Finetune: -1 -2 -3 -4 -5 -6 -7 -8 Value: F E D C B A 9 8 <-- CHORD MAKER UP/DOWN KEYBOARD --> ^BD:98,BC,BE,D0 Cmd E6. PatternLoop [Loops:$0-$F] ---------------------------------- Usage: $E6 + number of loops This command will loop a part of a pattern. Example: C-300E60 Set loopstart. C-300E63 Jump to loop 3 times before pla*j6G-ying on. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^BE:98,BD,BF,D0 Cmd E7. Set tremolo waveform [Range:$0-$3] ----------------------------- Usage: $E7 + tremolo-waveform Example: C-300E70 Set sine(default) E74 Don't retrig WF C-300E71 Set Ramp Down E75 Don't retrig WF C-300E72 Set Squarewave E76 Don't retrig WF C-300E73 Set Random E77 Don't retrig WF <-- CHORD MAKER UP/DOWN *k  KEYBOARD --> ^BF:98,BE,C0,D0 Cmd E9. Retrig note [Value:$0-$F] --------------------------------- Usage: $E9 + Tick to Retrig note at. This command will retrig the same note before playing the next. Where to retrig depends on the speed of the song. If you retrig with 1 in speed 6 that note will be trigged 6 times in one note slot. Retrig on hi-hats! Example: C-300F06 Set speed to 6. C-300E93 Retrig at tick 3 out of 6. <-- CHORD MAKER UP/*l 2DOWN KEYBOARD --> ^C0:98,BF,C1,D0 Cmd EA. FineVolsl up [Range:$0-$F] ---------------------------------- Usage: $EA + value This command works just like the normal volumeslide up, except that it only slides up once. It does not continue sliding during the length of the note. Example: C-300EA3 Slide volume up 1 at the beginning of the note. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C1:98,C0,C2,D0 Cmd EB. FineVolsl down [Range:$0-$F] --------------------------*m@---------- Usage: $EB + value This command works just like the normal volumeslide down, except that it only slides down once. It does not continue sliding during the length of the note. Example: C-300EB6 Slide volume down 6 at the beginning of the note. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C2:98,C1,C3,D0 Cmd EC. Cut note [Value:$0-$F] ------------------------------ Usage: $EC + Tick to cut note at. This command will cut the note at the selected tick, cre*noating extremely short notes. Example: C-300F06 Set speed to 6. C-300EC3 Cut at tick 3 out of 6. Note that the note is not really cut, the volume is just turned down. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C3:98,C2,C4,D0 Cmd ED. NoteDelay [Value:$0-$F] ------------------------------- Usage: $ED + ticks to delay note. This command will delay the note to the selected tick. Example: C-300F06 Set speed to 6. C-300ED3 Play note *oat tick 3 out of 6. If you use ED0, the note will be delayed a little anyway. You can play the same note on two channels, delay one, and get a nice flanging effect. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C4:98,C3,C5,D0 Cmd EE. PatternDelay [Notes:$0-$F] ---------------------------------- Usage: $EE + notes to delay pattern. This command will delay the pattern the selected numbers of notes. Example: C-300EE8 Delay pattern 8 notes before *pq[playing on. All other effects are still active when the pattern is being delayed. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C5:98,C4,C6,D0 Cmd EF. Invert Loop [Speed:$0-$F] --------------------------------- Usage: $EF + Invertspeed This command will need a short loop ($10,20,40,80 etc. bytes) to work. It will invert the loop byte by byte. Sounds better than funkrepeat... Example: C-300EF8 Set invspeed to 8. To turn off the inverting, set invspeed to 0, or press ctr*ql + Z. <-- CHORD MAKER UP/DOWN KEYBOARD --> ^C6:98,C5,00,D0 Cmd F. Set speed [Speed:$00-$FF] -------------------------------- Usage: $F + speed This command will set the speed of the song. Vblank: Range 01-FF - Normal timing CIA: Range 01-1F - Set vblank speeds with CIA timing. CIA: Range 20-FF - Set BPM speeds, range 32-255. Both: Range 00 - STOP song. <-- CHORD MAKER UP KEYBOARD --> ^D0:A8,00,D1,E0 *rs KEYBOARD -------- The keymap on Protracker is a standard US keymap. The font has been enhanced and redrawn a little, so you now have a lot more special characters than before. Remember to always use the left shift and alt, as the right ones are used for other things. High notekeys: 2 3 5 6 7 9 0 = Q W E R T Y U I O P [ ] Low notekeys: S D G H J L ; Z X C V B N M , . / <-- EFFECT CMDS DOWN GEN*sYuERAL --> ^D1:A8,D0,D2,E0 F1 - Choose lo octave(From C-1 to G-3) F2 - Choose hi octave(From C-2 to B-3) F3 - Cut (sample) F4 - Copy (sample) F5 - Paste (sample) shft+F3 - Cut track to buffer shft+F4 - Copy track to buffer shft+F5 - Paste track-buffer to track alt+F3 - Cut whole pattern to buffer alt+F4 - Copy whole pattern to buffer alt+F5 - Paste patt-buffer to pattern <-- EFFECT CMDS UP/DOWN GENERAL --> ^D2:A8,D1,D3,E0 ctrl+F3 - Cut commands*t to buffer ctrl+F4 - Copy commands to buffer ctrl+F5 - Paste cmd-buffer to track F6 - Go to patternposition 0 F7 - Go to patternposition 16 F8 - Go to patternposition 32 F9 - Go to patternposition 48 F10- Go to patternposition 63 shft+F6-F10 - Store current patternpos- ition on selected F-key alt+F6-F10 - Play pattern from the stored patternposition ctrl+F6-F10 - Record from stored patpos <-- EFFECT CMDS UP/DOWN GENERAL --> ^D3:A8,D2,D4*u٧,E0 Esc - Exit DiskOp/EditOp/PLST/PsetEd/ Setup/Help etc... shft+Return - Insert blank note at cursorposition and move the others down. Notes beyond patternposition 63 will be lost! shft+Bckspce - Delete note above cursorposition and move the others up. You can NOT do this if you're at patternposition 0! <-- EFFECT CMDS UP/DOWN GENERAL *vu--> ^D4:A8,D3,D5,E0 alt+Return - As above, but with all 4 tracks alt+Backspace - As above, but with all 4 tracks ctrl+Return - Push cmds one down ctrl+Backspace - Drag cmds one up ctrl+0-9 - Select how many slots PT will jump down each time you insert a note (this is only in Edit-mode) Tab - Move cursor to next track Shft+Tab - Move cursor to prev track <-- EFFECT CMDS UP/DOWN GENERAL --> *wuDL^D5:A8,D4,D6,E0 alt+cursor right - patternnumber up alt+cursor left - patternnumber down shft+cursor right - song-position up shft+cursor left - song-position down ctrl+cursor left - samplenumber up ctrl+cursor right - samplenumber down BackwardsSingleQuote (The key over TAB, you know?) - Go to CLI Help - Go to help or plst screen shft+Help - Toggle between Help or PLST on Help key Space - Toggle between Stop/Edit-mode <-- EFFECT CMDS UP/DOWN *x }s GENERAL --> ^D6:A8,D5,D7,E0 < (beside Z) - Kill DMA & Volumes to 0 right Amiga - Play Pattern right Alt - Play Song right Shift - Record Caps Lock - Toggle Keyrepeat on/off Del - Delete note under cursor alt+Del - Delete command only shft+Del - Delete note and command shft+0-9 - Store current command on selected key alt+0-9 - Insert command in current track <-- EFFECT CMDS UP/DOWN GENERAL --> ^D7:A8,D6,D8,E0 On Numeric pad: *y ( 0 - Select Sample $0 1st row - Select Sample $1-$4 2nd row - Select Sample $5-$8 3rd row - Select Sample $9-$c 4th row - Select Sample $d-$f Just Enter - Select Sample $10 Holding Enter + the other keys, will select sample $11-$1F Period (.) - Kill current sample <-- EFFECT CMDS UP/DOWN GENERAL --> ^D8:A8,D7,D9,E0 Left Amiga (Plus keys below) - Transposing like in Edit Op. Screen 1 Sample/Track Sample/Pattern -----*z _H2----------------------------- 1 - Note Up 2 - Note Up Q - Note Down W - Note Down A - Octave Up S - Octave Up Z - Octave Down X - Octave Down All/Track All/Pattern ------------------------------- 3 - Note Up 4 - Note Up E - Note Down R - Note Down D - Octave Up F - Octave Up C - Octave Down V - Octave Down <-- EFFECT CMDS UP/DOWN GENERAL --> ^D9:A8,D8,DA,E0 ctrl+A - Toggle channel on/off c*{ 1&_trl+B - Mark block ctrl+C - Copy block to buffer ctrl+D - Delete block, drag notes up ctrl+E - expand track ctrl+F - toggle filter on/off ctrl+G - Boost all samples ctrl+H - Transpose block up ctrl+I - Insert block, push notes down ctrl+J - Join-paste block ctrl+K - Kill to end of track ctrl+L - Transpose block down ctrl+M - Toggle multikeyboard on/off ctrl+N - Re-mark last block ctrl+O - Contract track <-- EFFECT CMDS UP/DOWN GENERAL --> ^DA:A8,D9,DB,E0 ctrl+P - P*| 4aste block ctrl+Q - Unmute all channels ctrl+R - Restore F6-F10 positions ctrl+S - Toggle split keyboard on/off ctrl+T - swap tracks ctrl+U - undo last change ctrl+V - Filter all samples ctrl+W - Polyphonize block ctrl+X - Cut block to buffer ctrl+Y - Backwards block ctrl+Z - Restore Effects ' - Autoinsertmacro down # - Autoinsertmacro up (The key beside return) <-- EFFECT CMDS UP/DOWN GENERAL --> ^DB:A8,DA,DC,E0 alt+A - Monitor/Start sampling *}B alt+B - Boost sample alt+C - Toggle channel 3 alt+D - Go to Disk Op. alt+E - Go to Edit Op. alt+F - Filter sample alt+I - Toggle AutoinsertEffect on/off alt+K - Delete current sample/track alt+M - Toggle metronome on/off alt+Q - Quit Protracker alt+R - Resample alt+S - Go to Sampler screen alt+T - Tuning Tone alt+V - Toggle channel 4 alt+X - Toggle channel 2 <-- EFFECT CMDS UP/DOWN GENERAL --> ^DC:A8,DB,DD,E0 alt+Y - Save all samples alt+Z - Toggl*~Se channel 1 alt+shift+M - Set metrochannel to current channel alt+"\" - Copy command above cursor to current patternposition. alt+"=" - Copy command above cursor to current patternposition and add one to the value. alt+"-" - Copy command above cursor to current patternposition and subract one from the value. <-- EFFECT CMDS UP/DOWN GENERAL --> ^DD:A8,DC,00,E0 \ - Toggle keypad m*rgode (dots!) Return - Step one note forward Backspc - Step 0 note backward Amiga+Backspc - Step 1 note backward Alt+any key on keypad - tune drumpad <-- EFFECT CMDS UP GENERAL --> ^E0:D0,00,E1,01 GENERAL INFO. ------------- Making Music ------------ Any piece of music written with Pro- tracker is built up from patterns. Each pattern is built up from four tracks, one for each of the amiga's audiochannels. A pattern is 64 lines*2*w long. The magni- fied line is always the one you edit. If you need shorter patterns, use the patternbreak effect command. <-- KEYBOARD DOWN PROTRACKER --> ^E1:D0,E0,E2,01 A track is built up like this: 32 C-3 01 C20 / \_/ |/ \_/ / / | \ Pos Note Sample Effect cmd. The C-3 is the note being played at patternposition 32. 01 is the sample- number, and the three last digits are the effect command, in this case, set volume to $20 (C-Command,*% 20-Value). Protracker holds a table with info about the sequence in which the patt- <-- KEYBOARD UP/DOWN PROTRACKER --> ^E2:D0,E1,E3,01 erns will be played. With the "Pos" gadget 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 full sequence of Patterns is the Song. A song is built up from up to 64 different patterns, each being played at up to 128 different *Gpositions. The small gadgets labeled "I" and "D" are Insert and Delete. With them you can Insert or Delete a position from your song. The length of your song <-- KEYBOARD UP/DOWN PROTRACKER --> ^E3:D0,E2,E4,01 will be adjusted automatically. Remember that the length of your song always must be one more than the last position, since the first position is 0. The "Are you sure ?" requester ------------------------------ In addition to the gadgets, you can use "Y" or *͡Return for Yes, and "N" or ESC for No. The Clear requester ------------------- In addition to the gadgets you can use <-- KEYBOARD UP/DOWN PROTRACKER --> ^E4:D0,E3,E5,01 "A" for All, "O" for Song, "S" for samples and "C" or ESC for Cancel. The text-input routine ---------------------- Now this is really simple. Clicking on a textline will enable you to edit it. Some text lines are longer than they seem, so use the arrowkeys to scroll back and forth in the text. Th*ce text- input mode is just like an ordinary text editor. You can use backspace, delete, space and such. In text-input mode you can also use the numeric pad for entering numbers. Pressing the <-- KEYBOARD UP/DOWN PROTRACKER --> ^E5:D0,E4,E6,01 right mousebutton will clear the text- line and exit the editing. Use ESC or return to just exit. The numbergadgets ----------------- Click on them and type in the value (Hex or Dec).ESC or return aborts. Passing arguments fr*vPom Workbench/CLI ------------------------------------ When starting from CLI, you can type a modulename with a pathname(optional) as an argument. The modulename will be added to the modulepath stored in the <-- KEYBOARD UP/DOWN PROTRACKER --> ^E6:D0,E5,E7,01 current config-file. E.g. If the modulepath is ST-00:modules and you pass crap/mod.fake as an argument, then the module ST-00:modules/crap/mod.fake will be loaded. When starting from Workbench, you can click on a*0T project icon twice and the selected module will be loaded (presuming that the icon's default tool is PT2.3A.The module will be loaded from the modulepath in the current config-file regardless of in which directory the moduleicon is located. That is, you can have all modules in a directory and the icons in another <-- KEYBOARD UP/DOWN PROTRACKER --> ^E7:D0,E6,E8,01 directory to prevent PT from loading all .info files into the file-list when you select LOAD MODULE. Pr*4&vessing the moduleicon once, and holding shift while double-clicking on the PT2.3A icon also works as above. Tips 'n tricks -------------- When inserting, pasting or join-pasting hold down shift to keep the cursor from jumping to the end of the block. e.g. shft+ctrl+P <-- KEYBOARD UP/DOWN PROTRACKER --> ^E8:D0,E7,E9,01 Holding shift while pressing ctrl+K (kill to end of track) will kill to start of track instead. Holding shift while pressing ctrl+ shift-a will sol*Ùo the current channel. Use Esc or right mousebutton to exit from a lot of things. Effect tips ----------- You can set the volume without playing a note. e.g. ---01000 This will set the volume for sample 1 without trigging the note. <-- KEYBOARD UP/DOWN PROTRACKER --> ^E9:D0,E8,EA,01 Or try trigging the sample and sliding the volume down. e.g. C-301A08 ---01A08 ---01A08 This will create a strange arpeggiato effect, like *B0ron "Cream of the earth" by Romeo Knight / RSI. <-- KEYBOARD UP/DOWN PROTRACKER --> ^EA:D0,E9,EB,01 Pointer Colors -------------- Gray - Nothin's happening. Yellow - Playing song / pattern. Green - Disk action. Blue - Edit / record. Magenta - Waiting for something (text, number etc.). Cyan - Select entry or delete. Red - Something went wrong. <-- KEYBOARD UP/DOWN PROTRACKER --> ^EB:D0,EA,00,01 Drumpad -----*%w-- Use backspace '\' to toggle modes. One or more dots will appear to the right of the freemem display. No dots: Normal keypad. 1 dot: Drumpad. 2 dots: Drumpad - Edit/Rec possible. Use Alt + keypad key to set note. <-- KEYBOARD UP PROTRACKER --> -- Making Music ------------ Any piece of music written with Pro- tracker is built up from patterns. Each pattern is built up from four tracks, one for each of the amiga's audiochannels. A pattern is 64 lines)lD------------------------------------------------------------------------- Protracker V2.3 Release A - (C) 1992 Mushroom Studios / Noxious 1/1-1993 ------------------------------------------------------------------------- Protracker is a Public Domain program, and may may be copied freely and included in any PD library. You may not charge anything for the program other than the cost of the disk and the PD-service. *** This is an printable version of the PT.help file *** Written)sN by: Peter "CRAYON" Hanning Layout & Help: Anders "Dolphin" Ramsay Thanks must go to the following for contributing with suggestions and bug-reports: Gahn, Reverend D, Dolphin, all members of Noxious. Devistator/EOC1999 Spirou/Visual Design Sun/Dreamdealers The Green Lark/Aliens Matrix/LSD (Thanks for the source!) Deltabar Dilonardo Toni Maenpaa Markus Jentsch Alex Kunz Tritoon/AlphaFlight Hi there! Here comes PT2.3A, a new version o))f Protracker, the best tracker around! There has been several new changes this time to enhance Protracker even more! Read more about it in the Readme!.txt file. Some technical info: Sourcecode: 440k / 25000 lines Main Program: 200k GFX data: 80k (packed) Worktime: 954541497 hours ASM time: about 30 seconds MAINSCREEN ---------- ## PLAY ## Will play the song from the current position in the song. The pointer turns yellow, j)zScust to show you what's going on. ## PATTERN ## Will play the current pattern which is shown at the bottom of the screen. The pointer turns yellow here as well. Holding down the right button while pressing play,pattern or record will play from the current patternposition. ## EDIT ## Will put you in edit mode. The pointer turns blue, and you can enter notes and numbers from the keyboard. Use the arrowkeys to move up/down and left/right in the pattern. Entering a note or a num) {1ber will cause the pattern to jump one or more slots down. ## RECORD ## Will put you in edit mode, but also play the current pattern or song. You can select this in the Edit Options menu. While the pattern or song is playing, you can type in notes and numbers from the keyboard, and they will appear in the pattern as it scrolls. The notes and numbers will also be quantized to the nearest slot, so that keeping a steady rhythm is no problem. The pointer will turn blue here as w)! ell as in the the normal edit mode. ## STOP ## Will stop playing of songs and patterns, recording, and will turn edit mode off. ## CLEAR ## Will first ask you what you want to clear. You can clear either all, song or samples. ## EDIT OP. ## Will exchange the Spectrum Analyzer with the Edit Menu(s). Pressing more than one time will browse through the edit op. screens. ## DISK OP. ## Will go to the File Requester. ## PLST ## Will go to the PLST screen. ## PSET-ED #)"){2# Will go to the preset editor. ## SETUP ## Will go to the Setup Screen. ## SAMPLER ## Will go to the Sampler screen. ## 1, 2, 3 and 4 ## Represent the audiochannels of your amiga. When lit, that channel is on. When not lit, the channel is muted and and the notes in that track will not be played.Holding the right mousebutton will solo the desired channel. ## TEMPO ## The tempo gadget on the status bar is for setting the CIA speed, if CIA timing is used. The gadget wil)#]sl be updated every time you set the speed using the F command (if CIA that is). ## I(NSERT) ## Insert a position into your song. ## D(ELETE) ## Delete a position from your song. ## POS ## Defines your position in the song-table.Pressing this will put you in the Position-Editor. ## PATTERN ## Defines which pattern will be played at a specific position. ## LENGTH ## (SONG) Defines the length of the song. ## FINETUNE ## Tune your untuned samples to match the others. ) $ 0 436.4 hz -1 432.1 hz 1 439.0 hz -2 429.6 hz 2 441.6 hz -3 426.3 hz 3 445.1 hz -4 423.1 hz 4 447.8 hz -5 419.9 hz 5 451.5 hz -6 416.7 hz 6 455.2 hz -7 414.4 hz 7 457.0 hz -8 412.0 hz ## SAMPLE ## Choose sample. You can use up to 31, or hex $1F samples in a song. Pressing both mousebuttons at the same time will set the samplenumber to zero. You can then record the pattern with sample 0 to prevent Protracker from s) %etting the volume each time you play a new note. ## LENGTH ## (SAMPLE) The Length gadgets are simply used for setting the length of the sample. A sample can be up to 64k, or $fffe long. You can add workspace behind the sample by increasing the length and letting go of the button. PT will ask if you are sure, and if you are, allocate more memory for the sample. ## VOLUME ## Use this to set the volume the current sample will be played with. ## REPEAT ## Here you set the sta) &H!rt of the sampleloop. ## REPLEN ## Here you set the length of the sampleloop. ## PATTERNNUMBER GADGET ## To the middle left of the screen is a box with a number in it. The number is the current pattern number. Click on it to type in a new number. When in type-in mode, use return, ESC or right mousebutton to exit. This should also work on most other such gadgets. ## A(BOUT) ## This one you'll have to experience for yourself. ## LOAD ## (sample) Will simply try to load t) '?T2he current samplename. Use this when you've fucked up in the sample editor, and have destroyed a sample. Pressing both the left and right button on the arrow-gadgets will speed them up a bit. All numbergadgets except Finetune&Sample allows you to click in the gadget and type in the desired value.Holding the right mousebutton while pressing them will zero the value. The main screen has some indicators on the left side of the song- and samplename textgadgets.The indicators ar) (/&e as follows: M S M 0-9 (Metronome ON, Split keyboard ON, Multi keyboard ON, Editskip) I 0-9 (AutoInsert ON, AutoInsert Macro) DISK OP.1 --------- ## PATH ## The paths for songs, modules, samples, tracks and patterns can now be changed, and they can be up to 31 characters long. To change path, click on load song/module/sample/track/pattern or use the arrow indicating what path you're at. ## FREE (DISKSPACE) ## Free diskspace can be sh))uown in hex or decimal. Select this on the setup screen. Click on "free" to get free diskspace without re-reading the dir. ## FORMAT DISK## Will format a disk in df0: (Hopefully bug-free) ## RENAME FILE ## Will dir the current directory. Select a filename, and you will be able to edit the name. ## DELETE FILE ## Will dir the current directory. Select a file, and it will be deleted from the disk. ## PACK ## When on, Protracker will pack songs before saving. Modules wil)*]Hl be PowerPacked and .pp will be added to the filename. ## LOAD SONG ## Will dir the songs path. Select a song, and it will be loaded and decrunched if crunched. ## SAVE SONG ## Will pack the song if pack is on, then save it to the current songs path. Remember to enter a name for your song, otherwise PT will not save! ## LOAD MODULE ## Will dir the modules path. Select a module, and it will be loaded. Powerpacked modules will be decrunched. ## SAVE MODULE ## Will crunc)+3[h(Powerpacker) the module if pack is on,then save it to the current modules path. Modules can be saved without a name, since they always begin with "Mod.".Holding the right button will save as an executable file in the current directory. ## LOAD SAMPLE ## Will dir the sample path. Select a sample, and it will be loaded to the current sample. IFF headers will be chopped off and loops loaded, if any. Powerpacked samples will be loaded and decrunched. ## SAVE SAMPLE ## Will s),ave the current sample as RAW, IFF or PAK(Powerpacked). Select this in the "Save" gadget to the right of "Load Sample". IFF loops will be saved too(Not with PAK in this version). ## DIR-BROWSE BUTTON ## By pressing this button you can browse through various preset paths, so that you won't have to enter them over and over again.Holding right mousebutton will show all paths in the file-list window. ## PATH INDICATOR ## Click to change paths without reading dir. ## 2 ## Got)-J>mo Disk Op.2 ## T(OP) ## Will put you at the top of the file-list.Holding the right mousebutton will put you at the previous character in the file-list.Try it out! ## B(OTTOM) ## Will put you at the bottom of the file-list.Holding the right mousebutton will put you at the next character in the file-list. Holding shift while pressing a key will put you in the list at the corresponding position. DISK OP.2 --------- Disk op.2 has alot in comm).,Ron with disk op.1 but with a few additional features. ## LOAD TRACK ## Will dir the track path. Select a track, and it will be loaded to the cursor position or to the trackbuffer, depending on the MODE choice. ## SAVE TRACK ## Will save the track from the cursor position or from the trackbuffer. ## LOAD PATTERN ## Will dir the pattern path. Select a pattern, and it will be loaded to the cursor position or to the patternbuffer. ## SAVE PATTERN ## Will save the pattern f)/#<rom the cursor position or from the patternbuffer. ## MODE ## Determines if the track/pattern will load/save to/from the buffer or the cursor position. ## 1 ## Goto Disk Op.1 AutoDir - If you set the autodir toggle on the setup screen to on, Protracker will automatically dir the current path when you enter the disk op. screen and after you've saved/renamed/deleted something. AutoExit - When this toggle is on Protracker will exit from )0ݿӮ disk op. when loading a song/module/track or pattern. PLST ---- The PLST is fairly simple to use. Listed here are all the samples in your Presetlist and their lengths. Just click on a name, and Protracker will ask for a disk called ST-01 through to ST-FF. Insert it, and the chosen sample will be loaded to the current sample displayed at the left of the screen. Use the up/down arrow keys to move up and down in the PresetList. If you pres)1_4Es shift or the right mousebutton, the PLST will move 10 presets at a time. At the top the PLST shows the total number of samples from the selected sounddisks. There are a few PLST gadgets: ## CLEAR ## Will clear all the sounddisk names you have entered, and display the whole PresetList. ## MOUNTL(IST) ## Will search your drives for disks called ST-**, and put the names into the ST-__ gadgets. ST-00 will not be mounted. ## ST-__ ## There are three ST-__ gadgets where yo)2j!u can enter the numbers of the sounddisks you want to display in the PLST. Only the presets from the selected sounddisks will be shown. If you clear all gadgets (by pressing return or right mousebutton), or press "Clear", the PLST will revert to show all presets. ## T(OP) ## Will put you at the top of the preset-list.Holding the right mousebutton will put you at the previous character in the preset-list. ## B(OTTOM) ## Will put you at the bottom of the preset-list.Holding )3Nthe right mousebutton will put you at the next character in the preset-list. ## EXIT ## There are 2 exitgadgets in this version. I didn't know what to change the other exitgadget to. Holding shift while pressing a key will put you in the list at the corresponding position. PRESET ED --------- The preset editor is used for sorting and catalogueing your samples. All samples for use with Protracker should be on disks called "ST-01" to "ST-FF")4xm. When adding a disk to the presetlist, only these disks are recognized. Harddisk owners may want to add a directory. e.g. You've got a directory called "Supersamples", and you want to use the samples on PT... Simple. Assign "Supersamples" to ST-13 or whatever. In the box with "Disk:" and ST-__ in it, enter ST-13. Now enter "DHX:supersamples" in the path box and press "add path". The path will be added as ST-13 in your presetlist, so everytime you need a sample from ST-13, )5nit will be loaded from "Supersamples" instead. Simple? Editing -------- To edit a preset, simply click on it. Use the arrowkeys to move left/right. When moving up and down in the presetlist, use shift or the right mouse- button to speed it up a bit. ## ADD PATH ## Will add the current path to the presetlist. infofiles will not be added. Samplenames can only be 15 chars long. ## INSERT PRESET ## Will create a new preset. Enter the data for the sample, and it will be adde)6$d to the presetlist. ## DELETE PRESET ## Will delete the wanted preset from the presetlist. ## DELETE DISK ## Will delete the disknumber set in the "Disk:" box. ## PATH ## This is where you enter the path to be added from. It can be up to 31 characters long. ## DISK ## This is the disk (or HD-dir) that's being added from (or deleted). ## PRESETS ## This is the current number of presets in the presetlist. ## CLEAR PLST ## Will clear all the presets. ## LOAD PLST #)7P# Will load the presetlist from a file called "PLST". This file should be placed in the PTdir (See setup2). ## SAVE PLST ### Will save the presetlist as a file called "PLST" to the current PTdir. ## PRINT PLST ## Will print the presetlist to the current print path, shown on the setup-screen. ## PLST ## Will go to the PLST-screen! ## T(OP) ## Will put you at the top of the preset-list.Holding the right mousebutton will put you at the previous character in the preset-li)8Q/Wst. ## B(OTTOM) ## Will put you at the bottom of the preset-list.Holding the right mousebutton will put you at the next character in the preset-list. Holding shift while pressing a key will put you in the list at the corresponding position. SAMPLER ------- Editing ------- When editing a sample, use the mouse to set the cursorline and to mark ranges. ## WAVEFORM ## Will play the full sample with loops. ## DISPLAY ## Will play the part)9 of the sample being shown on screen. ## RANGE ## Will play the marked range. ## STOP ## Will stop all playing of samples. ## SHOW RANGE ## Will magnify the current range and display it. ## SHOW ALL ## Will display the whole sample. ## BEG ## Will put the cursorline at the beginning of the sample. ## END ## Will put the cursorline at the end of the sample. ## SWAP BUFF(ER) ## The swap the current sample with the copy-buffer. ## ZOOM OUT ## Will show double the):AV range you are displaying. ## RANGE ALL ## Will range the part of the sample being displayed on screen. ## CUT ## Will cut away the part of the sample that's marked. ## COPY ## Will copy the marked range to the copy-buffer. ## PASTE ## Will paste the copy-buffer into the current sample. The volume box -------------- Set the "FROM" and "TO" volume percentages by using the sliders, or just type in any number you please (from 0 to 200) in the percentage boxes to the r) ;szight. ## NORMALIZE ## Will find the highest volume settings possible (without clipping). ## CANCEL## Will exit the volume box. ## \ ## Will set the percentages 100%-0% ## / ## Will set the percentages 0%-100% ## - ## Will set the percentages 100%-100% ## RAMP ## Will ramp (calculate) the volume! ## TUNETONE ## Will create a sinus sound, which you can tune your samples after. See setup 2 help for details. ## SAMPLE ## Will first enter the monitor screen. Now )!`Vand use "Save Config" to save your environ- ment. On the next screen is a list of what will be saved in the config file. This will be saved in the config file: -------------------------------------- Songs/Modules/Samples/Tracks/Patterns and Print paths, Colors, Keyrepeat Song/Module/Sample/Track/Pattern Savemode, The 24 On/Off toggles, Split Keyboard data, Keyrepeat, Accidental, The eight external dos commands, Max PLST entries, Multikey channeltable, Effectmacros, CIA/VB t)$?Jiming Tempo&Speed, DMA wait and Tunetone+Volume. You can have up to 256 different config files. They will be saved as "PT.config-00", "PT.config-01" and so on. Set the confignumber in the "cnfig" box. ## LOAD CONFIG ## Will load the selected config file. ## SAVE CONFIG ## Will save the selected config file. ## RESET ALL ## Will set the original PT defaults and colors. ## MULTI ## This table is used with the multi keyboard option. The four numbers repre- sent what ch)%@XRannel each channel will jump to next. 1-2, 2-3, 3-4 and so on. ## THE DOT ## The gadget with a dot and a textline can be used to execute dos commands. Each of the 8 commands can be up to 31 letters long. Pressing the dot will browse through the commands. Holding the right button and pressing it will execute the command. Note that PT needs the command "run" to execute the other commands. This is because of commodore's stupid programming of the dos library function "execute". T)&Agype "endcli" to go back to Protracker. ## THE COLOR PALETTE ## The color palette is simple to use. Just select a color, and use the R, G and B sliders to set the color. ## UNDO ## Will put back the latest change. ## CANCEL ## Will set the config colors. ## DEF(AULT) ## Will set the original ST colors. ## SPLIT ## You can set 4 splits on the keyboard, each with it's own sample, splitpoint and transpose. Just type in a sample number and select the key to split at by p)'Bressing the appropriate one. The transpose note for each split is the first note in that split-range. Notes below the first split will be played with the current sample. Split is great for recording drums, or for playing untuned samples in tune (use together with finetune). ## CLEAR ## Will clear the splits. ## KEYREP(EAT) ## The first number is the keyrepeat delay, and the second is the speed. ## ACCIDENTAL ## Simple enough, accidental allows you to select sharp (#) or )(C)flat () notes. This will not be saved with the song! ## PRINT SONG ## Will print the song to the path shown below the "Print Song" gadget. The print path can be 31 chars long. ## SPLIT ON/OFF ## Toggles between normal and split keyboard. ## FILTER ON/OFF ## Toggles the audiofilter / PowerLED. (Not available on all Amigas) ## TRANS(POSE)DEL(ETE) ON/OFF ## When on, notes transposed out of range will be deleted. ## SHOWDEC(IMAL) ## When on, Freemem, Tunemem, and filel))DUuengths will be shown in decimal. ## AUTODIR ON/OFF ## When on, Protracker dirs the current directory path automatically. ## AUTOEXIT ON/OFF ## When on, Protracker will automatically exit from the file requester when loading a song,module,track or pattern. ## MOD. ONLY ON/OFF ## When on, Protracker will only show modules beginning with "mod.". ## MIDI ON/OFF ## Enables midi input (see midi help). ## 2 ## Will enter SETUP 2. SETUP 2 --)*Eʑ----- ## TIMING ## We included this so that American users also could enjoy Protracker, and wouldn't have to use sonix or any other terrible music program... You can choose between CIA or Vblank timing. Vblank is the timing-method soundtrackers have been using since the dawn of time, while CIA is a much better and accurate timing with the tempo measured in beats per minute. Using Vblank on NTSC amigas will cause the song to play 20% faster. With CIA, there's no difference.)+F+[ ## TEMPO ## This is where you set your default CIA timing tempo. Range: 32-255. ## SPEED ## This is where you set your default Vblank timing speed. Range: 01-FF. ## COPPER EDITOR ## The copper editor is for altering the colors of the VU-meters and the spectrum analyzer to your own liking. Select a color by clicking somewhere within the coppered stripe. Now use the R, G and B sliders to alter the color. ## SPREAD ## Will create an even gradient between the current colo),G1A*r and the one you click on next. ## ARROWS ## Will rotate the whole copper stripe in the Y-axis (up/down). ## UNDO, CANCEL and DEF(AULT) ## Will work just like in the palette in SETUP 1. ## MODS ## This is where you set your default modules path. ## SONGS ## This is where you set your default songs path. ## SAMPL(ES) ## This is where you set your default sample path. ## PTDIR ## This is the path for the helpfile, the PLST and the PT configfile(s). ## MAX PLST ## )-H9 This is the maximum number of presets in your presetlist. ## DMA WAIT ## Use this on fast amigas to slow down the DMA enough to not miss any notes. If you set a too low value, you will miss some of the low notes! If you set a too high value, everything will be slowed down. 300 or a little less is ok on a normal A500 7.09 MHz (PAL). 900 (approx.) is ok on an A3000 running at 25Mhz. ## TUNING TONE ## The tuning tone is for use with the sample editor. The note is what note t).I %o play the tuning tone at, and the number is the volume. ## COUNT IN ## doesn't work yet...Sorry! ## <- DEFAULT ## Will put back the default for everything in the middle column. ## OVERRIDE ## When on, PT will ignore any paths or disknames when loading a song or module. All the samples will be loaded from the current sample path. ## NOSAMPLES ## When on, PT won't load the samples when loading a song or module. ## BLANKZERO ## When on, PT won't show the first zero in )/Jrcthe samplenumber. ## SHOW DIRS ## When on, directories will be shown in Disk Op. ## SHOW PUBL(IC) ## When on, PT will show all free memory, not just chip-mem. ## CUT TO BUFF(ER) ## When on, all samples cut in the sample editor will to put in the copy-buffer. ## LOAD LOOP ## When on, PT will load loops from IFF-samples. ## SYS(TEM) REQ(UESTS) ## allows you to turn the requests on/off. ## SALVAGE ## Doesn't work yet. ## 100 PATTERNS ## with this on, you will be ab)0K le to have 100 patterns. ## SAVE ICONS ## When on, PT will save an icon together with the module. ## LOAD (PATTERN)NAMES ## When on, PT will try to load the patternnames with the module. ## SAVE (PATTERN)NAMES ## When on, PT will save patternnames with the module. ## LOAD PLST ## When on, PT will load the PLST when it starts. ## SCREEN ADJUST ## When on, PT will scroll the screen 16 pixels to the left. ## SAMPLEPAK ## allows you to pack samples as IFF or RAW. ## 1)1Lv~5 ## Will enter SETUP 1. You can now have modules with 100 patterns. If you save a module with more than 64 patterns then M.K. in the moduleheader will be changed to M!K! MIDI ---- Midi routines in Protracker 2.3 are still very limited. Midi in should work ok, though. To activate midi, you'll have to turn it on on the setup1 screen. Use the three upper octaves on your synthesizer to play notes. Some keys in the lowest octave can be used to p)2M~~lay/stop/record etc. We might fix better midi support in later versions of Protracker, but so far, this is uncertain... Read the PT.ReadMe! file for more info. EDIT OP. -------- The edit op. screens were just a handy way for us to implement all the new functions we had thought of. There are three screens, and you can browse through them by pressing the edit op. gadget more than once, or select one by clicking on the numbers 1-3. To exit e)3N kdit op., click on the gadget labeled "E" or press ESC. Edit op. Screen 1: ## TRANSPOSING ## What is transposing ? Transposing lets you shift the pitch of the notes up or down. E.g. Change a C-3 to a C#3. In comparison to other trackers, Protracker lets you transpose in just about every way you can imagine. You can transpose either the current sample or all the samples in a track or pattern. To the right of the title bar is a small box with the letter "S" or "A". S -)4Ov Only the current sample will be transposed. A - All the samples from $00-$1F will be transposed. V1.1: Now bugfree! To toggle between the two, click on the edit op. title bar. If the setup toggle "TransDel" is on, all the notes transposed out of range (C-1 to B-3) will be deleted. If not, they will not be transposed. Edit op. screen 2: (Record) ## RECORD ## PATT - Record current pattern only. SONG - When recording, PT will move through the patterns in the song, )5P [just like normal play. ## QUANTIZE ## Will move the notes you record to every n'th slot. Entering 00 will turn off the quantizing, and the notes you play will always be inserted at the patternposition you are at. Entering 01 will quantize the notes the the nearest slot according to the speed. i.e. if you play a note after the first half has been played, it will be quantized to the slot below. Entering a value like 8 will quantize to every 8th note, and so on. Got that? ## )6Q)METRO(NOME) ## The first number is the speed of the metronome, and the second is the channel to play it on. The Sample used for metronomes is always sample $1F. Load your own favourite metronome sample. The metronome will always be played at C-3, but you can still change the volume and loop values. To turn off the metronome, just set the speed or channel to 00. V2.3: The metronome has a master toggle, ALT+M. ## KEYS ## When MULTI, PT will jump to another channel after you pl)7R~Jay a note on the keyboard. This makes it possible to play two or more notes at the same time (very useful with midi). On the setup screen you can choose what channel to jump to after playing a note. Edit Op. screen 2: (Samples) To the right of the title bar is a small box with the letter "T", "P" or "S". T - Copy & Exchange apply to current track only. P - Copy & Exchange will affect the the whole pattern. S - Copy & Exchange will apply to the real samples in memory. T)8Seo toggle between the two, click on the edit op. title bar. ## DELETE ## Will delete all notes with the current sample in current track or whole pattern. ## KILL ## Will kill the current sample. That is, remove it from memory and reset all sample settings. It will not be deleted from the track or pattern. You can also use the period (.) key on the numeric keyboard to invoke this function. ## EXCHGE (EXCHANGE) ## Will exchange the samplenumber shown in the "FROM" gadget wi)9Tith the sample- number in the "TO" gadget and vice versa. "T" or "P" selects track or pattern. "S" exchanges the samples. ## MOVE ## Will move the samplenumber shown in the "FROM" gadget to the sample- number in the "TO" gadget. Edit Op. screen 3: (Sample Editor) To the right of the title bar is a small box with the letter "H" or "C". H - Will halve the volume when mixing and echoing to avoid clipping. C - Will not halve the volume. The sample may be clipped. To toggle):U ? between the two, click on the edit op. title bar. ## MIX ## Will mix one sample with another. PT asks you which two samples to be mixed, and where to put the result. Holding the right button and pressing mix will mix the current sample with itself. You can offset the sample by setting a position in the "pos" gadg. If you set "mod" to a non-zero value, the sample will also be modulated. ## ECHO ## Will create a echo effect on the current sample. Use "pos" to set the delay);V6烙 time of the echo. If you want more room to echo in, just turn up the length of the sample. ## BOOST ## Will turn up the treble of the sample. Use this on hi-hats and snares! ## FILTER ## Will Delta-filter the sample. Use this on noisy basses. ## X-FADE ## Will crossfade the sample (mix with itself, backwards). Handy for looping samples that are hard to loop. ## BACKWD (Backwards) ## Will turn the sample backwards! ## UPSAMPLE ## Will remove every second byte of the )<WڛBsample, halving the length and shifting the pitch one octave up. ## DOWNSAMPLE ## Will double every byte of the sample, doubling the length, and shifting the pitch one octave down. If you downsample samples longer than $7FFE, you will lose the end of them. ## POS ## This is just an offset in the sample, used for a lot of things.This one has a numbergadget as well.Holding the right mousebutton while pressing the numbergadget will zero the value. ## MOD ## This is used fo)=XĤr modulation. Press "MOD" to modulate the current sample. Holding the right button while pressing the numbergadget will zero the value. ## CUTBEG(INNING) ## Will chop the number of bytes set in the "POS" gadget off the beginning of the sample. ## FU (Fade Up) ## Will fade the volume from 0 to 100%. Use "POS" to select where in the sample to fade up to. ## FD (Fade Down) ## Will fade the volume from 100 to 0%. Use "POS" to select where in the sample to fade down from. )>Y&4u## VOL ## With this you can change the "real" volume of the sample. Just set a percentage and press "VOL".VOL has a numbergadget.Holding the right button while pressing it will set the value to 100%. ## CHORD ## Will put you in the Chord-maker. Edit Op.3 is now intended to be used with the new sample-editor. If a range is marked, some of the functions apply to the range only. If there's no range marked, the functions will affect the whole sample. You may also set "POS" by )?ZZKgclicking on the sample and setting the cursor-line. Chord-maker ----------- ## Chord ## Will make the chord, using the current sample and the notes chosen, and the chord will be put in the current sample or a free sample,depending on your choice (see below) ## Reset ## will reset the notes and the length ## Undo ## will undo the last change. (apart from multiple arrow up/down) ## Length ## will set the length to the maximum value, depen)@[hding on the length of the original sample and the notes you choose.This will ofcourse set the ':' after the 4 lengthdigits (see below) Holding the right mousebutton will set the length to the minimum depending on the notes chosen. '.' will be shown after the 4 digits. Mixing with the minimum length will make the sample as long as the shortest sample of the 4 resampled notes. ## Major ## will set a major chord, depending on the basenote. ## Minor ## will set a minor chord,)A\d1 depending on the basenote. ## Sus-4 ## will set a sus-4 chord, depending on the basenote ## Length string gadget ## will wait for you to enter a new length (not greater than the maxlength. If you want a longer sample then add more space after the mix has been done.) The ':' after the 4 digits shows that the samplelength is set to its maximum! ## Major7 ## will set a major7 chord, depending on the basenote. ## Minor7 ## will set a minor7 chord, depending on the basenote)B]._. ## Major6 ## will set a major6 chord, depending on the basenote. ## Minor6 ## will set a minor6 chord, depending on the basenote. ## 4 notegadgets ## The upper one is the basenote.If you press a gadget, PT will wait for you to press a note.Holding the right mousebutton will reset the note ## 4 Up/Down gadgets ## will add/sub 1 halfnote from the current note.Holding right button will add/sub 1 octave.You can reset the note by adding past B-3. ## The 4 rightmost gadge)C^9o_ts ## works just like the edit op gadgets. 1,2,3 takes you to the corresponding edit option, and E exits ## The statusline ## pressing the upper line will toggle between New or Old sample: If N, then PT will search for an free sample to put the result. If O, then PT will put the result on the current sample, overwriting the original sample Note1! ------ This version of PT resets repeat and replen. PT also puts a '!' last in the samplename to show you that this is a chord sam)D_8ɑple.The '!' is for you to see where the destination-sample has gone,it has nothing to do with the program. You can take the '!' away and rename the sample to ...-major , ...-minor etc for instance. Note2! ------ The chosen option on the statusline in edit op. 3 ,H(alve) or C(lip) will affect the chord resampling and mixing! Position-Editor --------------- Press 'POS' on the mainscreen to get to the Position-Editor. All the gadgets should be well )E`{fknown, pressing the big gadget at the top will stop the song. Keyboard input works too,Left Alt,Left Amiga,space and the cursor up/down arrows.You can use the Position,pattern and length gadgets on the main screen, or click in the list to alter the current pattern or to enter a name to each pattern if you'd like to. The Patternnames will be loaded/saved if you have the corresponding toggles ON (load names,save names). The files will have the mod. exchanged to mod! just to dist)Fauingish them from the real modules. The patternnames will be cleared if you choose clear song or clear all.Another way is to click on each name you'd like to clear and then press the right mouse button. Patternplay works a little different from in the mainscreen.The pattern shown on the edit-row(the current position) will be played instead of the pattern currently shown in the notedatawindow. HEY! The patternnames has no effect on the module, they are just to remind the music)Gb:2bian of the contents of the patterns, eg. you can name the first three patterns to INTRO just to remind yourself that those three patterns are the intro to your tune! EFFECT COMMANDS --------------- Effect commands on Protracker should be compatible with all other trackers. 0 - None/Arpeggio 8 - * NOT USED * 1 - Portamento Up 9 - SampleOffset 2 - Portamento Down A - VolumeSlide 3 - TonePortamento B - PositionJump 4 - Vibrat)HdY o C - Set Volume 5 - ToneP + VolSlide D - PatternBreak 6 - Vibra + VolSlide E - Misc. Cmds 7 - Tremolo F - Set Speed E - COMMANDS ------------ The E command has been altered to contain more commands than one. E0- Filter On/Off E8- * NOT USED * E1- Fineslide Up E9- Retrig Note E2- Fineslide Down EA- FineVol Up E3- Glissando Control EB- FineVol Down E4- Vibrato Control EC- NoteCut E5- Set Finetunec,Y~}|{zyxwvutsrqponmlkjihgfed))IeL"E ED- NoteDelay E6- Patternloop EE- PatternDelay E7- Tremolo Control EF- Invert Loop Cmd 0. Arpeggio [Range:$0-$F/$0-$F] ----------------------------------- Usage: $0 + 1st halfnote add + 2nd halfnote add Arpeggio is used to simulate chords. This is done by rapidly changing the pitch between 3(or 2) different notes. It sounds very noisy and grainy on most samples, but ok on monotone ones. Example: C-300047 C-major chord: (C+E+G or C+4+7 halfn)Jfbotes) C-300037 C-minor chord: (C+D#+G or C+3+7 halfnotes) Cmd 1. Portamento up [Speed:$00-$FF] ------------------------------------ Usage: $1 + portamento speed Portamento up will simply slide the sample pitch up. You can NOT slide higher than B-3! (Period 113) Example: C-300103 1 is the command, 3 is the portamentospeed. NOTE: The portamento will be called as many times as the speed of the song. This means that you'll sometimes have trouble sliding accurat)KgKly. If you change the speed without changing the sliderates, it will sound bad... Cmd 2. Portamento down [Speed:$00-FF] ------------------------------------- Usage: $2 + portamento speed Just like command 1, except that this one slides the pitch down instead. (Adds to the period). You can NOT slide lower than C-1! (Period 856) Example: C-300203 2 is the command, 3 is the portamentospeed. Cmd 3. Tone-portamento [Speed:$00-$FF] --------------------------------------)Lh㩳 Usage: Dest-note + $3 + slidespeed This command will automatically slide from the old note to the new. You don't have to worry about which direction to slide, you need only set the slide speed. To keep on sliding, just select the command $3 + 00. Example: A-200000 First play a note. C-300305 C-3 is the note to slide to, 3 the command, and 5 the speed. Cmd 4. Vibrato [Rate:$0-$F,Dpth:$0-$F] -------------------------------------- Usage: $4 )Mi* + vibratorate + vibratodepth Example: C-300481 4 is the command, 8 is the speed of the vibrato, and 1 is the depth of the vibrato. To keep on vibrating, just select the command $4 + 00. To change the vibrato, you can alter the rate, depth or both. Use command E4- to change the vibrato-waveform. Cmd 5. ToneP + Volsl [Spd:$0-$F/$0-$F] -------------------------------------- Usage: $5 + upspeed + downspeed This command will continue the current toneport)NjQamento and slide the volume at the same time. Compatible with Noisetracker 2.0. Example: C-300503 3 is the speed to turn the volume down. C-300540 4 is the speed to slide it up. Cmd 6. Vibra + Volsl [Spd:$0-$F/$0-$F] -------------------------------------- Usage: $6 + upspeed + downspeed This command will continue the current vibrato and slide the volume at the same time. Compatible with Noisetracker 2.0. Example: C-300605 5 is the speed to turn the volume )Oktdown. C-300640 4 is the speed to slide it up. Cmd 7. Tremolo [Rate:$0-$F,Dpth:$0-$F] -------------------------------------- Usage: $7 + tremolorate + tremolodepth Tremolo vibrates the volume. Example: C-300794 7 is the command, 9 is the speed of the tremolo, and 4 is the depth of the tremolo. To keep on tremoling, just select the command $7 + 00. To change the tremolo, you can alter the rate, depth or both. Use command E7- to change the )PlOb#tremolo-waveform. Cmd 9. Set SampleOffset [Offs:$00-$FF] -------------------------------------- Usage: $9 + Sampleoffset This command will play from a chosen position in the sample, and not from the beginning. The two numbers equal the two first numbers in the length of the sample. Handy for speech samples. Example: C-300923 Play sample from offset $2300. Cmd A. Volumeslide [Speed:$0-$F/$0-$F] -------------------------------------- Usage: $A + upspeed + downspeed )QmÏk Example: C-300A05 5 is the speed to turn the volume down. C-300A40 4 is the speed to slide it up. NOTE: The slide will be called as many times as the speed of the song. The slower the song, the more the volume will be changed on each note. Cmd B. Position-jump [Pos:$00-$7F] ---------------------------------- Usage: $B + position to continue at Example: C-300B01 B is the command, 1 is the position to restart the song at. This command wil)Rn l also perform a pattern-break (see 2 pages below). You can use this command instead of restart as on Noisetracker, but you must enter the position in hex! Cmd C. Set volume [Volume:$00-$40] ---------------------------------- Usage: $C + new volume Well, this old familiar command will set the current volume to your own selected. The highest volume is $40. All volumes are represented in hex. (Programmers do it in hex, you know!) Example: C-300C10 C is the command, 10 i)Soaws the volume (16 decimal). Cmd D. Pattern-break [Pattern-pos:00-63, decimal] ------------------------------------------------- Usage: $D + pattern-position This command just jumps to the next song-position, and continues play from the patternposition you specify. Example: C-300D00 Jump to the next song-position and continue play from patternposition 00. Or: C-300D32 Jump to the next song-position and continue play from patter)TprCnposition 32 instead. Cmd E0. Set filter [Range:$0-$1] -------------------------------- Usage: $E0 + filter-status This command jerks around with the sound-filter on some A500 + A2000. All other Amiga-users should keep out of playing around with it. Example: C-300E01 disconnects filter (turns power LED off) C-300E00 connects filter (turns power LED on) Cmd E1. Fineslide up [Range:$0-$F] ---------------------------------- Usage: $E1 + value This command)Uq works just like the normal portamento up, except that it only slides up once. It does not continue sliding during the length of the note. Example: C-300E11 Slide up 1 at the beginning of the note. (Great for creating chorus effects) Cmd E2. Fineslide down [Range:$0-$F] ------------------------------------ Usage: $E2 + value This command works just like the normal portamento down, except that it only slides down once. It does not continue sliding during the length of)Vr` the note. Example: C-300E26 Slide up 6 at the beginning of the note. Cmd E3. Glissando Ctrl [Range:$0-$1] ------------------------------------ Usage: $E3 + Glissando-Status Glissando must be used with the tone-portamento command. When glissando is activated, toneportamento will slide a halfnote at a time, instead of a straight slide. Example: C-300E31 Turn Glissando on. C-300E30 Turn Glissando off. Cmd E4. Set vibrato waveform [Range:$0-$3] ---------)Wsq̡--------------------------------- Usage: $E4 + vibrato-waveform Example: C-300E40 Set sine(default) E44 Don't retrig WF C-300E41 Set Ramp Down E45 Don't retrig WF C-300E42 Set Squarewave E46 Don't retrig WF C-300E43 Set Random E47 Don't retrig WF Cmd E5. Set finetune [Range:$0-$F] ---------------------------------- Usage: $E5 + finetune-value Example: C-300E51 Set finetune to)Xt81 1. Use these tables to figure out the finetune-value. Finetune: +7 +6 +5 +4 +3 +2 +1 0 Value: 7 6 5 4 3 2 1 0 Finetune: -1 -2 -3 -4 -5 -6 -7 -8 Value: F E D C B A 9 8 Cmd E6. PatternLoop [Loops:$0-$F] ---------------------------------- Usage: $E6 + number of loops This command will loop a part of a pattern. Example: C-300E60 Set loopstart. C-300E63 Jump to loop 3 times before playing on. Cmd E7. Set tremolo waveform [Range:$0)YuM-$3] ------------------------------------------ Usage: $E7 + tremolo-waveform Example: C-300E70 Set sine(default) E74 Don't retrig WF C-300E71 Set Ramp Down E75 Don't retrig WF C-300E72 Set Squarewave E76 Don't retrig WF C-300E73 Set Random E77 Don't retrig WF Cmd E9. Retrig note [Value:$0-$F] --------------------------------- Usage: $E9 + Tick to Retrig note at. This command)Zv?7 will retrig the same note before playing the next. Where to retrig depends on the speed of the song. If you retrig with 1 in speed 6 that note will be trigged 6 times in one note slot. Retrig on hi-hats! Example: C-300F06 Set speed to 6. C-300E93 Retrig at tick 3 out of 6. Cmd EA. FineVolsl up [Range:$0-$F] ---------------------------------- Usage: $EA + value This command works just like the normal volumeslide up, except that it only slides up once. It does)[w' not continue sliding during the length of the note. Example: C-300EA3 Slide volume up 1 at the beginning of the note. Cmd EB. FineVolsl down [Range:$0-$F] ------------------------------------ Usage: $EB + value This command works just like the normal volumeslide down, except that it only slides down once. It does not continue sliding during the length of the note. Example: C-300EB6 Slide volume down 6 at the beginning of the note. Cmd EC. Cut note [Value:$0-$F] )\xKa+ ------------------------------ Usage: $EC + Tick to cut note at. This command will cut the note at the selected tick, creating extremely short notes. Example: C-300F06 Set speed to 6. C-300EC3 Cut at tick 3 out of 6. Note that the note is not really cut, the volume is just turned down. Cmd ED. NoteDelay [Value:$0-$F] ------------------------------- Usage: $ED + ticks to delay note. This command will delay the note to the selected tick. Example: C-300F06)]y6 Set speed to 6. C-300ED3 Play note at tick 3 out of 6. If you use ED0, the note will be delayed a little anyway. You can play the same note on two channels, delay one, and get a nice flanging effect. Cmd EE. PatternDelay [Notes:$0-$F] ---------------------------------- Usage: $EE + notes to delay pattern. This command will delay the pattern the selected numbers of notes. Example: C-300EE8 Delay pattern 8 notes before playing on. All other effects are sti)^zv ll active when the pattern is being delayed. Cmd EF. Invert Loop [Speed:$0-$F] --------------------------------- Usage: $EF + Invertspeed This command will need a short loop ($10,20,40,80 etc. bytes) to work. It will invert the loop byte by byte. Sounds better than funkrepeat... Example: C-300EF8 Set invspeed to 8. To turn off the inverting, set invspeed to 0, or press ctrl + Z. This effect will trash the sample, and will probably be removed in the next version. C)_{C}md F. Set speed [Speed:$00-$FF] -------------------------------- Usage: $F + speed This command will set the speed of the song. Vblank: Range 01-FF - Normal timing CIA: Range 01-1F - Set vblank speeds with CIA timing. CIA: Range 20-FF - Set BPM speeds, range 32-255. Both: Range 00 - STOP song. KEYBOARD -------- The keymap on Protracker is a standard US keymap. The font has been enhanced )`|tkand redrawn a little, so you now have a lot more special characters than before. Remember to always use the left shift and alt, as the right ones are used for other things. High notekeys: 2 3 5 6 7 9 0 = Q W E R T Y U I O P [ ] Low notekeys: S D G H J L ; Z X C V B N M , . / F1 - Choose lo octave(From C-1 to G-3) F2 - Choose hi octave(From C-2 to B-3) F3 - Cut (sample) F4 - Copy (sample) F5 - Paste (sample))a}&t shft+F3 - Cut track to buffer shft+F4 - Copy track to buffer shft+F5 - Paste track-buffer to track alt+F3 - Cut whole pattern to buffer alt+F4 - Copy whole pattern to buffer alt+F5 - Paste patt-buffer to pattern ctrl+F3 - Cut commands to buffer ctrl+F4 - Copy commands to buffer ctrl+F5 - Paste cmd-buffer to track F6 - Go to patternposition 0 F7 - Go to patternposition 16 F8 - Go to patternposition 32 F9 - Go to patternposition 48 F10- Go to patternposition 63 )b~Xkshft+F6-F10 - Store current patternposition on selected F-key alt+F6-F10 - Play pattern from the stored patternposition ctrl+F6-F10 - Record from the stored patternposition Esc - Exit DiskOp/EditOp/PLST/PsetEd/Setup/Help etc... shft+Return - Insert blank note at cursorposition and move the others down. Notes beyond patternposition 63 will be lost! shft+Bckspce - Delete note above cursorposition and move the others up. You can NO)c*lv.T do this if you're at patternposition 0! alt+Return - As above, but with all 4 tracks alt+Backspace - As above, but with all 4 tracks ctrl+Return - Push cmds one down ctrl+Backspace - Drag cmds one up ctrl+0-9 - Select how many slots PT will jump down each time you insert a note (this is only in Edit-mode) alt+cursor right - patternnumber up alt+cursor left - patternnumber down shft+cursor right - song-position up shft+cursor left -)dj< song-position down ctrl+cursor left - samplenumber up ctrl+cursor right - samplenumber down BackwardsSingleQuote (The key over TAB, you know?) - Go to CLI Help - Go to help or plst screen shft+Help - Toggle between Help or PLST on Help key Space - Toggle between Stop/Edit-mode < (beside Z) - Kill DMA & Volumes to 0 right Amiga - Play Pattern right Alt - Play Song right Shift - Record Caps Lock - Toggle Keyrepeat on/off Del - Delete note under curs)e/2+uor alt+Del - Delete command only shft+Del - Delete note and command On Numeric pad: 0 - Select Sample $0 1st row - Select Sample $1-$4 2nd row - Select Sample $5-$8 3rd row - Select Sample $9-$c 4th row - Select Sample $d-$f Just Enter - Select Sample $10 Holding Enter + the other keys, will select sample $11-$1F Period (.) - Kill current sample Left Amiga (Plus keys below) - Transposing like in Edit Op. Screen 1 Sample/Track Sample/P)fbaattern ---------------------------------- 1 - Note Up 2 - Note Up Q - Note Down W - Note Down A - Octave Up S - Octave Up Z - Octave Down X - Octave Down All/Track All/Pattern ------------------------------- 3 - Note Up 4 - Note Up E - Note Down R - Note Down D - Octave Up F - Octave Up C - Octave Down V - Octave Down Tab - Move cursor to next track Shft+Tab - Move cursor to prev track)gXk ctrl+A - Toggle channel on/off ctrl+B - Mark block ctrl+C - Copy block to buffer ctrl+D - Delete block, drag notes up ctrl+E - expand track ctrl+F - toggle filter on/off ctrl+G - Boost all samples ctrl+H - Transpose block up ctrl+I - Insert block, push notes down ctrl+J - Join-paste block ctrl+K - Kill to end of track ctrl+L - Transpose block down ctrl+M - Toggle multikeyboard on/off ctrl+N - Re-mark last block ctrl+O - Contract track ctrl+P - Paste block ctrl+Q - )hȝ=Unmute all channels ctrl+R - Restore F6-F10 positions ctrl+S - Toggle split keyboard on/off ctrl+T - swap tracks ctrl+U - undo last change ctrl+V - Filter all samples ctrl+W - Polyphonize block ctrl+X - Cut block to buffer ctrl+Y - Backwards block ctrl+Z - Restore Effects shft+0-9 - Store current command on selected key alt+0-9 - Insert command in current track alt+"\" - Copy command above cursor to current patternposition. alt+"=" - Copy command above cursor to cur)i6rent patternposition and add one to the value. alt+"-" - Copy command above cursor to current patternposition and subract one from the value. alt+A - Monitor/Start sampling alt+B - Boost sample alt+C - Toggle channel 3 alt+D - Go to Disk Op. alt+E - Go to Edit Op. alt+F - Filter sample alt+I - Toggle AutoinsertEffect on/off alt+K - Delete current sample/track alt+M - Toggle metronome on/off alt+Q - Quit Protracker alt+R - Resample al)jïdt+S - Go to Sampler screen alt+T - Tuning Tone alt+V - Toggle channel 4 alt+X - Toggle channel 2 alt+Y - Save all samples alt+Z - Toggle channel 1 alt+shift+M - Set metrochannel to current channel ' - Autoinsertmacro down # - Autoinsertmacro up (The key beside return) \ - Toggle keypad mode (dots!) Return - Step one note forward Backspc - Step one note backward Alt+any key on keypad - tune drumpad LeftAmiga+N - ScreenToBack LeftAmiga+M - ScreenTo)k{Front GENERAL INFO. ------------- Making Music ------------ Any piece of music written with Protracker is built up from patterns. Each pattern is built up from four tracks, one for each of the amiga's audiochannels. A pattern is 64 lines long. The magnified line is always the one you edit. If you need shorter patterns, use the patternbreak effect command. A track is built up like this: 32 C-3 01 C20 / \_/ |/ \_/ / / | \ )lJĝ Pos Note Sample Effect cmd. The C-3 is the note being played at patternposition 32. 01 is the sample- number, and the three last digits are the effect command, in this case, set volume to $20 (C-Command, 20-Value). Protracker holds a table with info about the sequence in which the patt- erns will be played. With the "Pos" gadget 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 t)mցRable. The full sequence of Patterns is the Song. A song is built up from up to 64 different patterns, each being played at up to 128 different positions. The small gadgets labeled "I" and "D" are Insert and Delete. With them you can Insert or Delete a position from your song. The length of your song will be adjusted automatically. Remember that the length of your song always must be one more than the last position, since the first position is 0. The "Are you sure ?" request)nس_er ------------------------------ In addition to the gadgets, you can use "Y" or Return for Yes, and "N" or ESC for No. The Clear requester ------------------- In addition to the gadgets you can use "A" for All, "O" for Song, "S" for samples and "C" or ESC for Cancel. The text-input routine ---------------------- Now this is really simple. Clicking on a textline will enable you to edit it. Some text lines are longer than they seem, so use the arrowkeys to scroll back an)oIWd forth in the text. The text input mode is just like an ordinary text editor. You can use backspace, delete, space and such. In text-input mode you can also use the numeric pad for entering numbers. Pressing the right mousebutton will clear the textline and exit the editing. Use ESC or return to just exit. The numbergadgets ----------------- Click on them and type in the value(Hex or Dec).ESC or return aborts. Passing arguments from Workbench/CLI -------------------------)pR----------- When starting from CLI, you can type a modulename with a pathname(optional) as an argument. The modulename will be added to the modulepath stored in the current config-file. E.g. If the modulepath is ST-00:modules, and you pass crap/mod.fake as an argument, then the module ST-00:modules/crap/mod.fake will be loaded. When starting from Workbench, you can click on a project icon twice and the selected module will be loaded(presuming that the icon's default tool is P)q"T2.3A.The module will be loaded from the modulepath in the current config-file regardless of in which directory the moduleicon is located. That is, you can have all modules in a directory and the icons in another directory to prevent PT from loading all .info files into the file-list when you select LOAD MODULE. Pressing the moduleicon once, and holding shift while double-clicking on the PT2.3A icon also works as above. Tips 'n tricks -------------- When inserting, pasting )ror join-pasting, hold down shift to keep the cursor from jumping to the end of the block. e.g. shft+ctrl+P Holding shift while pressing ctrl+K (kill to end of track) will kill to start of track instead. Holding shift while pressing ctrl+shift-a will solo the current channel. Use Esc or right mousebutton to exit from a lot of things. Effect tips ----------- You can set the volume without playing a note. e.g. ---01000 This will set the volume for sample 1 without trigging t)sRhe note. Or try trigging the sample and sliding the volume down. e.g. C-301A08 ---01A08 ---01A08 This will create a strange arpeggiato effect, like on "Cream of the earth" by Romeo Knight / RSI. Pointer Colors -------------- Gray - Nothin's happening. Yellow - Playing song / pattern. Green - Disk action. Blue - Edit / record. Magenta - Waiting for something (text, number or something else). Cyan - S)t/7{elect entry or delete. Red - Something went wrong. Drumpad ------- Use backspace '\' to toggle modes. One or more dots will appear to the right of the freemem display. No dots: Normal keypad. 1 dot: Drumpad. 2 dots: Drumpad - Edit/Rec possible. Use Alt + keypad key to set note. alt+F - Filter sample alt+I - Toggle AutoinsertEffect on/off alt+K - Delete current sample/track alt+M - Toggle metronome on/off alt+Q - Quit Protracker alt+R - Resample al(V  A'!(!@" !A&/ . ʣl$ $ .$$$sA$$$$.$$$$$$$$ $$$$$$$$$$(߾9pр8?`A&23(+*2:+=o||x~|1sF(x? sys:c/ppmorembers. Pressing the right mousebutton will clear the textline and exit the editing. Use ESC or return to just exit. The numbergadgets ----------------- Click on them and type in the value(Hex or Dec).ESC or return aborts. Passing arguments from Workbench/CLI -------------------------'V------------------------------------------------------------------------- Protracker V2.1 Release A - (C) 1992 Mushroom Studios/Noxious 16/04-1992 ------------------------------------------------------------------------- Protracker is a Public Domain program, and may may be copied freely and included in any PD library. You may not charge anything for the program other than the cost of the disk and the PD-service. Message to Lars "ZAP" Hamre & co: --------------------------------- '`oInstead of writing brand new textfiles, we've just modified your original PT1.1 textfiles. Hope you don't mind. This disk should contain the following files: PT2.1A - The main program. PT2.1A.info - The Icon for Protracker. PROP - Protracker module player. PT.TempoCalc.txt - How to calculate tempo etc. PT-Play.s - Playroutine for the Seka or DevPac assemblers. PT-CIAPlay.s - Playroutine for 'GCIA timing. PT.FileFormat.txt - Description of the file format. PT.Effects.txt - Quick help on all effect commands. PT.help - Online helpfile for PT2.1A (press the Help key). PT.help.txt - Read-/Printable version of the help file. PT.help.txt.info - Icon for the PT.help.txt file. PT.config-00 - Default configuration file. PT.Update! - Textfile with changes from PT1.1B(PT2.0) PT.Update!.info '@ - Icon for the PT.Update! file. PT.ReadMe! - ****--> This file <--**** PT.ReadMe!.info - Icon for the PT.ReadMe! file. PT.Version! - Textfile explaining the versionnumber PT.Version!.info - Icon for the PT.Version! file. Some info.. ----------- This disk contains all the necessary files to run Shell, CLI, and all the most used CLI-Commands. It is possible to print songs, but we'we only included the Generic printerdriver, so you'']~7ll have to install your own. Remember to set the new printerdriver with Preferences. If you make your own workdisk, remember to copy the commands "Run" and "EndCLI". If you are going to make make a compact-disk containing Protracker, please include PT.help!!! THIS IS VERY IMPORTANT!!! DO NOT ATTEMPT TO EDIT THE HELP-FILE!!! The first 1024 bytes are a text-offset index for Protracker, so keep off. For more info, press the HELP key when you have started Protracker. '"It isn't possible to load old configuration files with PT2.1A, but if you load an old config-file into an editor and change the first 5 letters to "PT2.1", you might be able to use it, but some new functions may be set to zero though. Remember to check the DMA-wait and all the other functions or you'll experience some crashes etc... --- Protracker history --- First Version 1.0 (A) - Full of bugs... Bugs corrected in V1.0 Release B: --------------------------------- - PatternLoo'p (It always jumped to the start of the pattern, not the loop) - Zap had put FineTune AND Glissando-Control in the same command! (E3) - Fade Up / Down caused shit and even a few gurus! - Delete Pos inserted pattern 77 (!) at position 127 in the song, causing it to be longer than 80k! - Filter All Samples was slow as hell because it tried to filter non- existant samples. - If you selected sample 0 from the keypad, it always played the last sample played as sample 0! - A' 590 harddisk owners couldn't use the keyboard because of the way Mahoney & Kaktus set up the keyboard interrupt (we used their NT1.1 routine). - Entering the help screen when in the midi screen fucked up the display. - Escaping from Mix exited from the whole edit op.! - CutBeg no longer fucks up the Sample length and Pos. - The help file was FULL of bugs / misspellings. Bugs corrected in V1.0 Release C: --------------------------------- - Error in Finetune-table2 (note B-2) ' *`Y - Abort Load sometimes caused a guru! - Toneportamento (cmd 3) didn't work correctly with finetune. - PLST screen was one pixel off. MIDI screen was removed. Changes and improvements from Protracker V1.0C to V1.1A: -------------------------------------------------------- General: - Protracker will now run if you have Kickstart 2.0 installed! (A500, A1000, A2000, A3000 etc...) - Protracker will also "Auto runback" when you start from CLI! There's no need to use the' ;I 'run' command. - Keyboard and mouse input is provided by an InputHandler with prior- ity 52. The handler will grab all RAWKEY and RAWMOUSE events from the input.device before they reach intuition. PT will no longer interfere with windows and gadgets on the intuition screen behind. - Keyboard buffer. Wow!!! Now you can play really fast, and PT won't miss a single key (...well, not as many as it used to before...). - The vertical blank interrupt no longer patches' Ι{ the vector itself, but uses the AddIntServer function. - The playroutine creates it's own CIA or VBLANK interrupt, and it will not be removed if a song is playing when you go to CLI/Workbench. - Text input routine changed a little. Use mouse to set pos and to exit. - Improved "Out of memory" handling (hopefully no more gurus...). - Only the first 2 bytes of a sample will be zeroed (were the first 4). - Lots of new keyboard commands/shortcuts using the Alt key. - ' _ Vibrato depth changed to be compatible with NT2.0. Double all your depth numbers if you load old protracker songs. - Funk Repeat changed to Invert Loop (may trash your samples though). - Play samples from the keypad (dot mode) when pressing backslash. Main Screen: - MIDI screen has been removed. Changed to sampler instead. MIDI input is still there, but there's no MIDI output. Sorry... - Quadrascope. Four channel oscilloscope that displays the samples in real-tim' Ce, even when playing from keyboard. The good old spectrum analyzer is still there, just click on the scope to toggle. - Tempo gadget. Default is 125 BPM (normal vblank speed), but that can be changed if you select CIA timing on Setup2. Range is 32-255 BPM, and can also be changed with the 'F' effect command (speed/tempo). - Repeat and replen will be updated in the samples when you change them. You no longer have to press a key to hear the new loop. - Protracker '@should now be able to show up to 10/16 megs of freemem. - Error messages when PLST or Config not found. - Click to enter position, pattern and length with the keyboard. Disk Op.: - Choose RAW or IFF when saving samples. - Samples can be saved with IFF-loops. - Change path without reading directory. - All 30 characters in filename/directory stored (was 24). - Shows directories, just click to add directory to path. - Parent directory gadget. - One preset and several '6żdefault paths for modules/songs/samples. - PT will now read an "unlimited" number of directory entries (was 200). Setup: - The only thing that's happened here is a small gadget labeled "2". Pressing it will put you in... Setup2: - 8 new on/off toggles. Override: Load/save sample from samplepath even if there's a path in the samplename. ST-37:bigbadbass with override will be loaded from DF0: (or whatever) instead of ST-37:. You may want to put all you't8r samples in one big directory on your harddisk... NoSamples: Will load a song without asking for the samples. BlankZero: This will show the samplenumbers in the pattern in the same way as Noisetracker 1.2 (Zeros are blanked out). Show Dirs: If on, directories will be shown in Disk Op. Show Publ: If on, PT will show all free Public memory, otherwise just free Chip memory. CutToBuff: If on, the part of the sample cut away in the sample editor will'v be saved in the copybuffer. Load Loop: Will load loops from an IFF file when loading a sample, or adding a path in the sampleeditor. Slow Mode: Use this toggle if you have a 25 Mhz A3000 where every- thing is faster. Turning it on might help. - Set Default paths. - You can set the maximum number of presets (used to be 2500). - DMA wait. Use this on 25MHz Amigas (normally 300, use 900 on A3000). - Set tuning tone (note and volume). - Select CIA or VBlank'I timing. - Set default CIA tempo. - Spectrum Analyzer/VU-meter copper color editor! Preset Editor: - Use Preset removed, inserted Delete Disk instead. - You can now save Finetune instead of Volume in the PLST. - ST-disk number changed to hex (ST-00 --> ST-FF)! - Adding samples with IFF-loops to the presetlist is possible. - Proper PLST allocation. Protracker will no longer allocate any memory if there's no PLST. PLST: - ST-disk number changed to HEX. This mean'3s you can have up to $FF, or 255 ST-disks (used to be 99). Sampler/Sample Editor: - Sample Graphing like Audiomaster. With Show Range, Show All, Zoom Out, Range All, etc... - Play either Waveform, Display or Range. - Repeat points are shown, and can be dragged around. - Loop on/off toggle. - A line shows current position when playing back a sample. - A sampler just like on NT2.0. - Resample function w/tuning tone. - Cut, Copy and Paste functions. - Cursor t'b0o beginning/end. - Swap current sample with copybuffer. Edit Op.: 1 - Transpose All bug removed. 2 - Move changed to Copy (use this to copy samples too). 3 - Upsample changed a tiny bit (allocation). 3 - Most functions will now work with marked ranges. Bugfixes and changes from PT1.1A to PT1.1B: ------------------------------------------- - Load gadget no longer hangs the program when trying to load a file that doesn't exist. - Better filehandling with error messages. '-|%- Repeat and replen check installed (Rel. A hanged when replen accidentally got the value zero). - Repeat and replen were swapped when loading an IFF sample. - Only RepLen values in IFF samples were added in the preset-editor. - Tune memory wasn't always updated when editing samples. - Swap Buffer debugged. - The arpeggio sounded weird because the pitch wasn't set back at the right time. - Shift speeds up the scrolling in the PLST and preset-editor. -----------------------------'AT---------------------------- Bugfixes and improvements from PT1.1B(& PT2.0) to PT2.1A: --------------------------------------------------------- - mod. prefix was shown in the file-list if it wasn't lowercase only. - ReturnfromCLI requester enhanced with quitgadget. - Gadgetpositions fixed properly. - Accidental and Diskspace bugs fixed. - Editskip has now got an indicator. - DISK OP., PLST and PRESET-ED screens have TOP/BOTTOM gadgets. - PLST screen has now got Up/Down arrows. - PT'0z can load&save powerpacked samples/modules. - PT can load&save tracks/patterns. - Format disk bug has been fixed (I hope). - Volume,Repeat,Replen,Pos & Mod is now editable from the keyboard. Just click on the numbergadgets. - You can now choose an autoinserteffect of your own.(One of the ten effectmacros). - The bug that completely turned the sound off when stopping the recording has now been fixed. - You are now able to fastscroll the file- and presetlist to the next startch'щlaracter.Try it out yourselves...hard to explain. - The preset-ed routines have been corrected.To use your old PLST, simply delete preset #0. - The metronome has now got an accent on the first beat. - A metronome keyboard toggle has been included. - The metronomechannel can easily be changed to the current cursorposition. - Most of the numbergadgets can now be zero'ed. - Better patternrefresh when doing keyboard I/O. - PT now reads the dir after rename/save/delete if the Autodirtogg'fle is on. - You can solo a channel with the mouse by holding the right mousebutton while pressing 1,2,3 or 4. - You can pass an argument from workbench/shell/cli to automatically load a module when PT starts. - Powerpacker crunching/decrunching with powerpacker.library! PT will automaticly append/remove ".pp" to/from the filename. - You can save an Icon together with the module. Known bugs, errors, stupid things and other crap: -------------------------------------------------'w; - If you load a song or module that's not a proper ST-module, Protracker may trash the upper left of the screen and/or crash. This screen-trashing may also happen other times. Don't ask us why or when. There is really no proper way to check if a file is a module or song. We check for "M.K." at offset 1080, and if isn't found, Protracker asks if you want to load it with 31 samples, since it may be a Startrekker module. If you answer no, PT assumes it's an old 15 sample'6$s song/module. - If you format a disk with Protracker, it's possible to save files to the disk, but if you try to load the files you just saved, nothing comes up in the disk op. screen. If could be that the Amiga has some problems validating the disk, but there are no such messages. We'll have a look at the Format routine.If you get any problems, try to take out the disk and insert it again.PT should now re-read the dir. - We're not sure that the MIDI input routines work'H at all... - You cannot have two presets with the same name on different ST-disks. - I have noticed that powerpacker.library crunches some samples/modules improperly. (This goes with the powerpacker program as well). Be sure to check the packed files before you delete the sourcefiles! If you send us bug reports, please describe the bugs properly, so that we can figure them out without too much trouble. State how, when and where the bug appeared, if it's there all the time, or'x:e just happened once. If you can tell us how to duplicate what you did to get the bug, it would be great. THEN we can try to eliminate it, ok? Things to come in newer versions: --------------------------------- - Intuition campatible, multitasking. - Synthetic sounds. - MIDI. PT2.1A: MIDI functions are not functioning at all!!!!! If you really need MIDI, you'll have to wait for a new version. We really don't know when PT2.2 will be released. Wait and see... If you want t'o contact us for any reason (please do) write to: Peter "CRAYON" Hanning Vinterstigen 12 14440 Ronninge Sweden Or to: Anders "DOLPHIN" Ramsay Fornhojdsvagen 6 II 15158 Sodertalje Sweden You can also contact us at the Equipoise BBS: +46-755-87404 )! - Adding samples with IFF-loops to the presetlist is possible. - Proper PLST allocation. Protracker will no longer allocate any memory if there's no PLST. PLST: - ST-disk number changed to HEX. This mean&!GA'!!"! h<A&;x . ʣl$ $ .$$$sA$$$$.$$$$$$$$ $$$$$$$$$$&߲9pр8?`A&>p3&n+*2:+=o||x~|1sF&Y x? sys:c/ppmorest click on the numbergadgets. - You can now choose an autoinserteffect of your own.(One of the ten effectmacros). - The bug that completely turned the sound off when stopping the recording has now been fixed. - You are now able to fastscroll the file- and presetlist to the next startch%2gProtracker CIA (Complex Interface Adapter) Timer Tempo Calculations: -------------------------------------------------------------------- Fcolor = 4.43361825 MHz (PAL color carrier frequency) CPU Clock = Fcolor * 1.6 = 7.0937892 MHz CIA Clock = Cpu Clock / 10 = 709.37892 kHz 50 Hz Timer = CIA Clock / 50 = 14187.5784 Tempo num. = 50 Hz Timer*125 = 1773447 For NTSC: CPU Clock = 7.1590905 MHz --> Tempo num. = 1789773 To calculate tempo we use the fo%9wrmula: TimerValue = 1773447 / Tempo The timer is only a word, so the available tempo range is 28-255 (++). Tempo 125 will give a normal 50 Hz timer (VBlank). A normal Protracker VBlank song tempo can be calculated as follows: We want to know the tempo in BPM (Beats Per Minute), or rather quarter- notes per minute. Four notes makes up a quarternote. First find interrupts per minute: 60 seconds * 50 per second = 3000 Divide by interrupts per quarter note = 4 notes * speed This%ʠy gives: Tempo = 3000/(4*speed) simplified: Tempo = 750/speed For a normal song in speed 6 this formula gives: 750/6 = 125 BPM Lars "ZAP" Hamre/Amiga Freelancers 1990 sions: --------------------------------- - Intuition campatible, multitasking. - Synthetic sounds. - MIDI. PT2.1A: MIDI functions are not functioning at all!!!!! If you really need MIDI, you'll have to wait for a new version. We really don't know when PT2.2 will be released. Wait and see... If you want t$9--------------------------------------------------------- Bugfixes and improvements from PT1.1B(& PT2.0) to PT2.1A: --------------------------------------------------------- - mod. prefix was shown in the file-list if it wasn't lowercase only. - ReturnfromCLI requester enhanced with quitgadget. - Gadgetpositions fixed properly. - Accidental and Diskspace bugs fixed. - Editskip has now got an indicator. - DISK OP., PLST and PRESET-ED screens have TOP/BOTTOM gadgets. - PLST screen has$H'I now got Up/Down arrows. - PT can load&save powerpacked samples/modules. - PT can load&save tracks/patterns. - Format disk bug has been fixed (I hope). - Volume,Repeat,Replen,Pos & Mod is now editable from the keyboard. Just click on the numbergadgets. - You can now choose an autoinserteffect of your own.(One of the ten effectmacros). - The bug that completely turned the sound off when stopping the recording has now been fixed. - You are now able to fastscroll the file- and pre$g=Isetlist to the next startcharacter.Try it out yourselves...hard to explain. - The preset-ed routines have been corrected.To use your old PLST, simply delete preset #0. - The metronome has now got an accent on the first beat. - A metronome keyboard toggle has been included. - The metronomechannel can easily be changed to the current cursorposition. - Most of the numbergadgets can now be zero'ed. - Better patternrefresh when doing keyboard I/O. - PT now reads the dir after rename/s$U ave/delete if the Autodirtoggle is on. - You can solo a channel with the mouse by holding the right mousebutton while pressing 1,2,3 or 4. - You can pass an argument from Workbench/CLI to automatically load a module when PT starts. - Powerpacker crunching/decrunching with powerpacker.library! PT will automaticly append/remove ".pp" to/from the filename. - You can save an Icon together with the module. Peter "CRAYON" Hanning /Mushroom Studios/Noxious F#A'!!`"!( pA&5 . ʣl$ $ .$$$sA$$$$.$$$$$$$$ $$$$$$$$$$#߷9pр8?`A&83#f+*2:+=o||x~|1sF#Q'x? sys:c/ppmore carrier frequency) CPU Clock = Fcolor * 1.6 = 7.0937892 MHz CIA Clock = Cpu Clock / 10 = 709.37892 kHz 50 Hz Timer = CIA Clock / 50 = 14187.5784 Tempo num. = 50 Hz Timer*125 = 1773447 For NTSC: CPU Clock = 7.1590905 MHz --> Tempo num. = 1789773 To calculate tempo we use the fo"euOC,@.l9T,,yHCPN#"LN(@pJfA\NA\N.CbpNJgD*@N",N#LNN|"<Pt, A&B(<NNvNNv"MNbJg N|"GNpNudos.library \h,xN#Ha&,xN|,yCx":*NA"NdpNu#LaafXafPaa faaa a NaAaBN+8adaa#a ,a3Faae`hPT 3.01Protracker 3.01$VER:Protracker3.01 (25/01/93)9fNugN|9gN@9fNua|a@`AJ9Lg B9La patpJgNuNvJ9JfNu#KJNFNN9K9aFaFa 2a aVa aRaa\N"9Jg"Ag <N.BJ"9Kg"A <C)JfC,xNpNu fCb`Ca`H,yC| n4H n8p"h(0)R@(##r#(#LGprtvNLNunCouldn't allocate"ƣ^the audiochannels!General audiodevice error!ResumetProtracker request!<$X TASK INTERFERANCE!TProTracker 3.01 is already running. Unable to get CIA timermTerminate other tasks and try again.$dos.libraryintuition.librarygraphics.libraryiaudio.device#J#J#J#^J`(#"41vJ#>J#J#J#J##6J#JJ#J|AJ|Ct3XXQNu,yN|"yC| < : |N\# aJgr"yC| < x |N\# "yC| < |N\# "yC| < |N\# "yC| < |N\# NvNu,yN|"yC| :b |N\a^JgR"yC| :H |N\"yC| :< |N\"yC| :$ |N\"yC| : |N\NvNu,xC p$NJg "@NbpNupNuJyJgN$J9M}fR9M}/a _Hz/:Nu"2zTR9M}Hz/:NuJyJgN$J9M}fR9M}/ah _Hzb/:pNuR9M}HzR/:`NuJyJgN$J9M}fR9M}/a* _/::NuR9M}/:.NuHz/:(NuHz/:"NuS9M}gNu`H,yC|AdN:# LNuH,yC| y gNLNuHJ g,yCxr N:,yC| .< fLNu@  Protracker 3.01H,yCN"NN##3LNuH,yC"yC|C"N"NN yC#&#&3LNupC ,y"hNXpC ,yNXNupC ,yNRpC ,yNRNuHJy fXLKHAUNB9a< B&f$AH Ag49 hAg3 ha@`3 hLNuH y hg B&fA49 hAgaLNu29 hAA(PA4<6<$ ? QA*QNuHJyfaaJg # yLfaaXaa3 LNuHaLNu jProtracker VBlank Protracker CopIntJ9)f^pCV,yNXpNu" ʏ(J9)f0pCV,yNRNul,hProtracker MusicInt|KbpC,yN#g,@ yC0(g.<`.<OM#Ž} Fg6CzpN#JfP#GOGapNuCDpNBJf#GOGaTpNuaKSFfR@9fP@R@ @c0<3aN>0:S@9fQ@S@ @ d0< ` @^d> @Pd" CNu092R@9fP@R@ @c0<323a*a>N>092S@9fQ@S@ @ d0< `3SJ3JNp}"9g0:j @ dp 3Jy$Xf3J3P3N 9fNu0:*":*z" :g AIANuAIANu}H,yC/ pN$N"_B) #| |B#@NL,yACkpCr#|NDJfC3| #|(N8NuN,yC3| #|(N8CN>CNNu4Protracker InputHandler/ J9M}f"H)" u] g g$I"Q f $_Nuad0)ah`aT09KP29KRi i J@jpJAjr @e0< Ae2<3KP3KRI3KH3KJ` f QNu$Nu98fNu8 g `g ag dg eg cg fg gg g g gz g gl g g bg2 g4Jf<2: AeNuGRyNuByJ`P;NuQ;Nu3.Nu3.`By.Nu30Nu30`By0Nu32NuBy2Nu34NuBy4Nu36NuBy6Nu0:FfNuS@A>03J" ͩP\:3<gByRyJN3JRyJN"<.,yCxN@ 9."9:ga 92"9>ga4 962#6"9BgaHA.C:"""Nu<3JH@?3fJN03JRyJNNuH:SG3pr2AЁQ< yK~|bQRFІTfNu#~J9f(,3' JH@@3JN$3JN :3' JN @"d @d"і~ @ dAt`Av` Ax`AzB9J Pa$ B@0:fzXzJz<3,aN>N> yLf44:6 <Ya(J <_aJ <eaJ <kaNuf$ yJ<r AKQNux 3jP2CPQNuC+Ev0:a8C+E>0:a&C,E09aC,JQg:J@g6JKf.p) @?cp?Jp@0H><yNu29AfNuRNuvV, BHJfJy gye3fJygye3fJy"~Kgy"e3"fJy$gy*e3*LxNu3 aBy Nu?4>68:<JBg&@b@eAbAe3JGg J9fa>Nu~aVHLKHJGga `a,9gL4ga(Nu@b@eAbAeNu@b@eAbAeܵGH yfa* yfaLNu024RB6RCN,>026RC4N04RB2RA6RCN0R@426RCN04RB2RA6N3"D3"F0g @f&0246z>z<3"H3"Ja` @f&0246zz3"H3"Jar` @f(0246z檪E8.TModulesp%~a Disk.infopbm<Qa .infopa Shell.infop@o^aShellp>XReadMe.doc.infopm$!X README.DOCp]]X PT3.01.infop