DOS\pHQ(OB,xCOpNhJg,@)n&A"C( N @*h">(&/0<@2<N)@g~ l2< 'p Q$HC2< Q4<z9909EEvraRCBQ6<rarCBQ6<ra\CBQ6<raFSCBQ A ,"(H@0XHH@0XHHA0XHHA0,|?.?.-|=|-J=|Bn"lA~(rpg8 fr@` f@`$I&M@ p(QRA`<<=| 9g0.g=| Q-|=_=_-lBn,_Jg l0<@2<N"N,xNbPL,xCfd|oNJg @ hpNupNuJEf8`x0@@0@H@0000Nutopaz.fontgraphics.library" f" ,x,8 Where Amiga Memories Live On AMIGA DB  https://amigadb.net --- YOUR PORTAL TO AMIGA HISTORY --- ! Press mouse to boot !p@bcbonmlkjihgfedchE+demopbdU @H<<I*NNN$IRFNQ ,xN.B|N/IvAtBQAIt aAItaGIaGIaraz:AK(Na@f(8I Ma0M24frtaNG#Q##Qra4ft`rSGg`~0HF<"HFHA0Acl>A00Nu0⮞AnC<"A{Nu??H|ra:SExRD2Bo2a0Q: SE2a8Qbe2L>NuHB\~xtvr<9C@0,@l@FF8JQLNuL0 SE|EFR.gN"SfQ&|<k&N$I>gSG<N" &Jp0f ЀӓQ`,Nu .effVۥ%[}y]/JwS_D=Ϧ 9hf_S!ϿNzrj,=>MEa3ԧ MurQak *u;>@_\νˏ P;[:OFbT*˺RU-s;5STcj@6]crnT3wb;MaH<<6`IW_Mʽ5^}Է?%X%]Z"+WVh@S=꣛-CrvS-9͂XdƆj!f zjUxY5dbf|f%ʮW+⸞9Ӭݽ[lƀ<]H !<ؼغj.e`ӳ(v5a# ft~uD8QN F/Lv%kspM>Pt/6.C ]ov.U7iКǾ1ŞoD,ήF,/{ yFx vujf8# 䨮x% !kQ=  LGCy4A< bO )<0l9!zMh5>^@EzQ,߃!kcno ,j@ ~R^ gW>iHmhaڪ ͊(@  &V-t*/BsI gl,x-^j =]#)60u8(al 63'8!ϨNOSԣ4m=H,Tqc4$꠿ WA6zbglz?^Wg~3˪:}K}[kW_!vUN8*eTK9Uq8TH'Oo^eˊĘ<&\mꯚ7D TfgC)JǞk|˷S.Fp ЀxJ(2Z̛}c`ʇuTI-3Xߗy3ϬS-rfƷ%9t!fcrQ rlv]X.B^P}nVmᑥ5%gkҽ/ϯlRt0|5Hwi!e_BMUBbh@yṍ5MXeYi$ q |E#m//5}QtLSk/1|0@q"| RP+C>~$2yKMSe?s~7J OʨnKtn]n'T7%걹 ItXnLrQWsn3Nw ngpy7bBe%\D8zį8yt xpD.B ^(܅X,Fxi.&΢"lլzzi~'[@tmo 4v)0!Vzx_Ggz?uȚ\uu_%hkuRuLktuPC\e-LMk2"HL|&\W:J̥vWq1Âb5+tcg\OXye[%X6"2K}K@[ 1&xbiB805eޒ Gyݟ!6mgaiJ.7i\5\[QI;_[#1[JvHS dyrNJ8z*NSӮGhm+>uvsU2Ĝǵ5U˦kB`NUlV ssuk܆݃ێV16'紞m0on3]RrM_vL|8WOQ-M{˙ՄĽ%+_7 $c줂r]L25⺦ xt :9wta AԶZ_NxlϬPϫ1du%DvLjF eKVS_Gm?{wFUTgib~#H캫7OW=lnPwF5"p/-"Tqz4VuW]qtr.(GnU ziV3ю9uݠbjg!ѥۨˎ#,Kϛ\{\؋-w|.o\VS]Q߃EB&F;l!grO.52_ [I[r|-d 9\I*v+$.P4w=:;d6UB&? BW}mQܧC/nZe ϪvʯbjݕK f`K9ʨN=u}Y%Pݞߩyd\KpTF=_|T EQ<bF8B /aT2n]EqPl[x.{-3#:%~iͪ*ΫtLMFbyapt97&c[/W]2͆\DԯZ\նf 3r](kj,7gZgVA< Tuʉ*}GͧxJLL=zG6j}*t땛}X,14R/,T.fkҖ"r_C3uz3֥!42/8X6tg} OO>SWG0 0Ce#M- D3qW,H5?HRf;O!|y)6l$YW #a|^=lk㭉Շ=Q6i.؍%*ߛ3 Xwh=Xs7F1{1J7+lAԏȤq罏cext#"6ɺSŴHR]U 9V'b m)*0sz%ZF܁ 8;ƶ͂)/RjrbtTObzyaDf@MX^"{ITf+1!Vt2O=dmpW|F E٪Z'gX8mE2kϿ_V 0O{oOgzuʼްu9E&m"YHI\š 8K\lqNSϻIջ-NI22;8r:r:S9dи Zx26D!祥yI)H.sL۟i!Z%gBFʶ{:|?m$⇘{[Kqn g6#̵P7{K]5#1^b63i^6L3Iyuǟ.5wް{9YS-f7 [ $q-."$s8A SG`VruvS\Ӈv*n ipDZXv*b o[35-e}SMjXSHܞASOh?% Oc9)z?uosueoZ fb1RW`*{gh^:;z*ib[@c Vο W1-H$qIw()iyZ*SӮSuG`:XAkzP#ʢ+^Nsn];w.w{Ἑ5+ MIǾ%c4uJv{" X10feAсA( n~w&S[e,vZ/&|y4Iju BgOH꩏W?Zk0V=|dq[)Esk#lX03aAs] U55d4e74P6Ԟ} /U˗ b Baapw zYj ɖt%=:]xW|&RwԪ"HZwԪXd/Ŗ}Jbs{C>z_GJY9~Zy+aǧR=5>zhI1J=2n=4f=?_xLqӯK3.e{V.rTLb]ħo$+Xb;S. d@Few|E:7z;B\startup-sequencexy;3)df0:c/border on df0:c/climaxx -c -t df0:boot.txt df0:demo {|n}|B\boot.txtp{}U Where Amiga Memories Live On __ _____ (__) / _ \ _____ __ _________ / /_\ \ / \| |/ ___\__ \ / | \ Y Y \ / /_/ > __ \_ \____|__ /__|_| /__\___ (____ / {;Z \/ \/ /_____/ \/DB https://AmigaDB.net --- YOUR PORTAL TO AMIGA HISTORY --- ~hB\cp7B\cls~m-] ?g $<Lv`$<Mv,yC@pN*@N"N"MNbpNudos.library Parameters are not required  7tB\border~󫔿HzHHI&TNJg,$! !N. n (gB" & @I<(X/BrQ >D@ Ư!RC":c4@g=3sUE_(ր`J`J7BkpS ЃaZ,o>܄U!H mp9Q>h@9*k7QGB G dmTQ ҫۮ[$E[5:!{a+Pă[Oҥ`*t4e$#> OJo"=@a1ܩ)7-$Ĥ@Z*1'ػ;/=I8 B[_`F<Brp;(uT{Ch9>6- F9X@#~lTNa"2S|w1 yd Qd=qh3a'1p@4Ґ $a*GB*1 p0p$0pI(40k 49@oyfMg\Al1 FF43xL3< <&͆o iac%yΆ>rJFOfLf90Mh1@ɋ|  IcE9BNo8ÙeQΆmq 'N8 SԹ[)tļ2@n䅽FxI)ɨ!Ii|%|HDR)Hћl:A9AІ@ZJ B\htype~ ,`mmNUH720|&P~Cp$,KN$@ J gprAQA"M$v,JN+@JfN|"$N&`N+@ <rHA,KNT+@Jf,JN|"$N&`nr @1|!| m+A+A+HgR mHHHg@phfp+@`pnfp+@`(HH+@A"C$ ,JNF`zJgzJgSJjAn~+H`zA+m~+HJfd"m Y+H+I gPB"$-,JNJg*N|.ptЀf~+mAB"C$ NF`~Jf"m i"(,JN m+@"$<N+@-N|."-NJf m+HA"C$ NF` -g8Jf2"$<N+@JfN|.+mA"C$ NF`Z -g"N "- Ja.Jg "-,JN"-,JNBJf"-NJgN|.ptЀf~"-,JN` -g"A$,JNF`Jgm "t,JN& 0f~`~ -g",JN -g",JN"m,KNN"-,JN"J,KNb`0|"P ipz!@ LLN]Nudos.libraryFROM/A/M,TO/K,OPT/K,HEX/S,NUMBER/S$VER: type 37.2 (21.1.91) Option '%lc' ignored Type can't do both HEX and NUMBER 2 No files to type TYPE can't open %s 0123456789ABCDEF%04lx: %s %5ld %sNUH72.,&Hp*+@",KN+@Rg2JfJf p m,zN8A`\9fNuRaC  gfBA"$<A,zhN+@g"tvN"-tvN+@ g,r,xN:+@g"-$-&- ,z N mB0"-,z NJg(Aca maAXa"m - ,xN.Nu m"h. iX (g"|0) 2) i,zN,zNNuJxgNur < ,xN: @(@C0< QNAp0RB RԈJfR RԈ 0fC,xNhr&Ё @"PrA 3@H@2B97A!xNuH瀀AHpR(T( V(X( Q9L3 Nsgraphics.library"<,xx N(N:JfNu  gSNu zg" -ff ( gJ(f NupNu"$vRJf,z0NAC!IC!I,xN+@pN+@C#mx;|"m) fJ iCg>EL" C8#A #AE#Jr#AE| #@(NAN+m -N -Nu1mCLIMax v1.0 0m33mby RIFF RAFF of UNITED FORCES 0mUsage: CLIMax [options] Options... -f Fullsize, -b Borderless, -c Clear window, -a Add21k, -t Type text, -s CLI Stars -n No Fastmem, -w Wait for mouse d-'0 p pb&rOJ@EN/>.N_UEZ!_ 3.~ Y=m+e0b[⥋OT E) 8?8O|i_nqJ愆:o$\*تE6,Q6%s | >=!9ǨQt~#x (eVΏ9q̿ۦ~:!_Xm*X̴${nGr%C/CXh!v 6$(ˋBQAd^JV&bw֯Ћv"R#%ڐppVi9 7[TIQ;j%}ꅳ\hj׀tpaDRYac4F!oѡ$1k?8GseqPeU*?Es͚NP+"p؁a0&0bImlL<%,pbGԣ W +9É^.n wӈ  H1cOx V\â X.bXjdto D"e^]9kYn`}fтcmf3Y6q7=/HsIze6?#~a1{yIg5k ].-?]yWow/ړ?lid;@ N)+eߋQ_/5P(t$%AX|zhօNjU! Y`@   ؐzF3(9(gugvE+DigiBooster1.7.infopAsW1>!hbhn@tS#> };ﻸ*/qp~RIU_??n@~@@hMG_j(@@j]WUu=8v=G8ZA(* Hv}Ox%Zi*Mhv}OxuZ}xv}ﵫxuZ}xw}xﻰ }qPP|~ ||AUP_p_p^@p]pp0п*j:JUпJUP`8J P<Ǖ)0J P@(J P@(B P@(DADDUUUUUUUTxuTptxtptxCtx _t|_t^t]tt(EE@**$*UUU*@@(J Pr }}UUUUUUT Eq qqDq A?Dqq^DPD+88P?DP)Jӟwn?   ? 4Z5 @ 5ZuT:`;Z i;Z<2<וi;Z<:>i;^:>i;?]}}UUUUUUUP@C{EGwpcWwu@ksrs|DG 8.88@__KY\P*_JQTU*As0 @ T)yRcʔ@P(AR @P(AR @(AR @@" " *?<(88<8*<<>ǯ?8?.8?8RRUP@ R (9R#ʔP(R P(Vp P(pH4\E+VBL.sup8P      W;----------------- DIGI Booster By Tap & Walt ---------------- ; player v 1.6 pure code ; by Tap - Tomasz Piasta ; 14.06.1996 ; ; This player is very easy to use. If you want to play only the VBL modules ; (with cia tempo 125) you can do this: ; - first jump to db_init ; - in your own loop jump to db_music ; - to switch off player jump to db_end ; ; But if you have CIA modules you must use CIA interrupt... ; ; The player plays modules from Digi Booster 1.0-1.6 with qKpacked ; and unpacked pattern data. Eight channels modules take about 0.25 frame ; (on standard Amiga 1200). The player automticly recognize ; processor (old Motorola 68000/68010 or 68020 and higher) and uses ; suitable instructions. If you want to use this player in your ; productions please buy the original (DIGI Booster with player ; source code). ; The code of player isn't optimized yet (except the mix routine ; which is extremly fast!). ; ;------------------------- effects comma%nds -------------------------- ; * 0xx arpeggio ; * 1xx portamento up ; * 2xx portamento down ; * 3xx glissando ; * 4xx vibrato ; * 5xx glissando + slide volume ; * 6xx vibrato + slide volume ; 7xx volume vibrato ; * 8xx robot ; * 9xx sample offset - main ; * axx slide volume ; * bxx song repeat ; * cxx set volume ; * dxx pattern break ; * fxx set speed ; ;----------------------------- exx commands --------------------------- ; * e00 filter off ; * e01 filter on ; * e1x fine slide up ; * e2x fine slide down ; * e30 backwd play sample ; * e31 backwd play sample+loop ; * e40 stop playing sample ; * e50 channel off ; * e51 channel on ; * e6x loops ; * e8x sample offset 2 ; * e9x retrace ; * eax fine volume up ; * ebx fine volume down ; * ecx cut sample ; edx sample delay ; * eex pause Section code,code_p ChanArea equ 108 Version: equ 24 Channels: equ 25 PackEnable: equ 26 PatNum: equ 46 OrdNum: equ 47 Orders: equ 48 SamLens: equ 176 SamReps: equ 300 SamRezrUplens: equ 424 SamVols: equ 548 SamFins: equ 579 SongName: equ 610 SamNames: equ 642 SongData: equ 1572 SamBuffAdr: equ 0 ; 4 SamRep1: equ 4 ; 4 SamRep2: equ 8 ; 4 ChangeAdr: equ 12 ; 1 MixDon: equ 13 ; 1 VolA: equ 14 ; 1 VolB: equ 15 ; 1 SlideVolOldA equ 16 ; 1 SlideVolOldB equ 17 ; 1 ReplaceEnable equ 18 ; 1 OFFenable equ 19 ; 1 SamOffsetA equ 20 ; 1 SamOffsetB equ 21 ; 1 RetraceCntA equ 22 ; 1 RetraceCntB equ 23 ; 1 OldSamNumA: equ 24 ; 1 OldSamNumB: equ 25 ; 1 RobotOldVal: e~qu 26 ; 1 RobotEnable: equ 27 ; 1 MainPeriod: equ 28 ; 2 MainVol: equ 30 ; 1 MBRpointer equ 31 ; 1 PlayPointer equ 32 ; 1 Oldd0 equ 34 ; 2 Oldd1 equ 36 ; 2 Oldd2 equ 38 ; 2 Oldd3 equ 40 ; 2 Oldd4 equ 42 ; 2 Oldd5 equ 44 ; 2 Oldd6 equ 46 ; 2 loopsdataschanA equ 48 ; 3 loopsdataschanB equ 51 ; 3 BACKWDenable: equ 56 ; 1 EqNewSamA equ 57 ; 1 EqNewSamB equ 58 ; 1 MainDTALEN: equ 60 ; 2 PortUpOldValA equ 62 ; 1 PortUpOldValB equ 63 ; 1 PortDownOldValA equ 64 ; 1 PortDownOldValB equ⾆ 65 ; 1 VibratoDatasA equ 66 ; 4 VibratoDatasB equ 70 ; 4 GlissandoDatasA equ 74 ; 6 GlissandoDatasB equ 80 ; 6 BuffBegADR equ 86 ; 4 BuffEndADR equ 90 ; 4 BuffMixADR equ 94 ; 4 OnOffChanA equ 98 ; 1 OnOffChanB equ 99 ; 1 OrgPeriodA equ 100 ; 2 OrgPeriodB equ 102 ; 2 OLDVolA: equ 104 ; 1 OLDVolB: equ 105 ; 1 NoteCount equ 106 ; 2 ; ----------------- To Play VBL modules ------------------- VBLproc: bsr db_Init move.w #$4000,$dff09a Loop: bsr vbl bsr db_Music move.w #$f,$dff180 b?tst #6,$bfe001 bne.s Loop bsr db_end move.w #$c000,$dff09a rts vbl: cmp.b #$ff,$dff006 bne.s vbl rts ; ----------------- To Play CIA modules ------------------- CIAproc: move.l 4,a6 lea NameDOS,a1 moveq #0,d0 jsr -408(a6) move.l d0,DosBase bsr db_Init bsr PlugCIA LoopCIA:move.l DosBase,a6 moveq #10,d1 jsr -198(a6) btst #6,$bfe001 bne.s LoopCIA btst #2,$dff016 bne.s LoopCIA bsr UnPlugCIA bsr db_end rts PlugCIA: move.l 4.w,a6 lea GraphName,a1 moveq #0,d0 jsr  3uw-408(a6) move.l d0,GraphBase lea $BFD000,a5 moveq #2,d6 IrqCiaLoop: moveq #0,d0 lea CiaName(pc),a1 movea.l 4,a6 jsr -498(a6) move.l d0,CiaBase beq NoCia move.l GraphBase(pc),d0 move.l d0,a1 tst.l d0 beq UnplugCIA move.l #125*14209,d7 divu.w #125,d7 jsr -414(a6) move.l CiaBase(pc),a6 cmp.w #2,d6 beq.s CiaB lea IrqData(pc),a1 moveq #1,d0 jsr -6(a6) move.l #1,WhichCia tst.l d0 bne.s ChangeCia move.l a5,CiaAdress move.b d7,$600(a5) lsr.w #8,d7 move.b d ג.7,$700(a5) move.b #%00010001,$f00(a5) rts CiaB: lea IrqData(pc),a1 moveq #0,d0 jsr -6(a6) clr.l WhichCia tst.l d0 bne.s ChangeCia move.l a5,CiaAdress move.b d7,$400(a5) lsr.w #8,d7 move.b d7,$500(a5) move.b #%00010001,$e00(a5) rts ChangeCia: move.b #"a",CiaName+3 lea $BFE001,a5 subq.w #1,d6 bne.w IrqCiaLoop NoCia: clr.l CiaBase rts UnplugCIA: move.l 4.w,a6 move.l GraphBase,a1 jsr -414(a6) move.l CiaBase(pc),d0 beq.l NoCia move.l d0,a6 move.l CiaAdress(p vc),a5 tst.l WhichCia beq.s CiabOff bclr #0,$F00(a5) moveq #1,d0 bra.s OffEvery CiabOff: bclr #0,$E00(a5) moveq #0,d0 OffEvery: lea IrqData(pc),a1 moveq #0,d0 jsr -12(a6) rts DosBase: dc.l 0 GraphBase: dc.l 0 CiaBase: dc.l 0 CiaAdress: dc.l 0 WhichCia: dc.l 0 NameDOS: dc.b "dos.library",0 GraphName: dc.b 'graphics.library',0 CiaName: dc.b "ciab.resource",0 even IrqData: dc.l 0,0 dc.b 2,1 dc.l 0 dc.l 0 dc.l IrqProc IrqProc: movem.l d0-a6,-(sp) tst.w CiaChanged be @q.s CIA_DONE clr.w CiaChanged move.l CiaAdress(pc),a5 move.l #14209*125,d7 divu CiaTempo,d7 and.l #$ffff,d7 tst.l WhichCIA bne.s CIA_B move.b d7,$400(a5) lsr.w #8,d7 move.b d7,$500(a5) bset #0,$E00(a5) bra.s CIA_DONE CIA_B move.b d7,$600(a5) lsr.w #8,d7 move.b d7,$700(a5) bset #0,$F00(a5) CIA_DONE bsr db_music movem.l (sp)+,d0-a6 rts ; -------------------------------------------------------------------- db_init: move.l #$10001,MEMTYPE move.w #14-1,WDMA move.w # 6125,CiaTempo clr.b Fast move.l 4.w,a6 move.l #4,d1 jsr -216(a6) tst.l d0 beq.w NoFast move.b #1,Fast move.w #8-1,WDMA NoFast: move.l 4.w,a6 move.w 296(a6),d0 btst #0,d0 beq.s MC68010 move.b #1,OldCPU MC68010: btst #1,d0 beq.s MC68020 clr.b OldCPU MC68020: btst #2,d0 beq.s MC68030 clr.b OldCPU MC68030: btst #3,d0 beq.s MC68040 clr.b OldCPU MC68040: tst.b OldCPU beq.s NewCPU clr.b Fast move.w #14-1,WDMA move.l #$10002,MEMTYPE NewCPU bsr AllocMixBuffers t kst.b d7 bne.w Exit ; If there's no mem just exit this shit lea Channel1,a0 move.l #sample_buff1_1,(a0) move.l #sample_buff1_1,BuffBegAdr(a0) move.l #sample_buff1_1+BuffSize,BuffEndAdr(a0) move.l #sample_buff1_2,ChanArea(a0) move.l #sample_buff1_2,ChanArea+BuffBegAdr(a0) move.l #sample_buff1_2+BuffSize,ChanArea+BuffEndAdr(a0) move.l #sample_buff1_3,ChanArea*2(a0) move.l #sample_buff1_3,[ChanArea*2]+BuffBegAdr(a0) move.l #sample_buff1_3+BuffSize,[ChanArea*2]+BuffEndAdr(a0)^ move.l #sample_buff1_4,ChanArea*3(a0) move.l #sample_buff1_4,[ChanArea*3]+BuffBegAdr(a0) move.l #sample_buff1_4+BuffSize,[ChanArea*3]+BuffEndAdr(a0) clr.b SongPos clr.b PattPos clr.b count move.b #6,temp bset #1,$bfe001 bsr db_InitVoices move.b temp(pc),count move.l ModDIGI,a5 lea 1572(a5),a1 lea PattAdresses,a2 move.l a1,(a2)+ moveq #0,d7 move.b PatNum(a5),d7 move.l #2048,d0 db_MakePatAdr tst.b PackEnable(a5) beq.s dp_SetPatAdr move.w (a1),d0 addq #2,d0 dp_SetPatAdr add.l d0,a1 move.l a1,(a2)+ dbf d7,db_MakePatAdr lea SamLens(a5),a0 move.l a1,d6 lea sample_starts,a2 moveq #30,d7 db_MakeSamAdr move.l d6,(a2)+ add.l (a0)+,d6 dbf d7,db_MakeSamAdr lea SamLens(a5),a0 lea sample_lenghts,a1 moveq #31-1,d7 db_cploop1: move.l (a0)+,(a1)+ dbf d7,db_cploop1 bsr make_voltab cmp.b #$10,Version(a5) beq.s OldDIGIMOD cmp.b #$11,Version(a5) beq.s OldDIGIMOD cmp.b #$12,Version(a5) beq.s OldDIGIMOD cmp.b #$13,Version(a5) beq.s Ol^ldDIGIMOD EXIT rts OldDIGIMOD lea SamFins(a5),a6 moveq #31-1,d7 CLRFINS clr.b (a6)+ dbf d7,CLRFINS rts db_InitVoices: move.l #sample_buff1_1,$dff0a0 move.w #166,$dff0a4 move.w #214,$dff0a6 clr.w $dff0a8 move.l #sample_buff1_2,$dff0b0 move.w #166,$dff0b4 move.w #214,$dff0b6 clr.w $dff0b8 move.l #sample_buff1_3,$dff0c0 move.w #166,$dff0c4 move.w #214,$dff0c6 clr.w $dff0c8 move.l #sample_buff1_4,$dff0d0 move.w #166,$dff0d4 move.w #214,$dff0d6 clr.w $dff0d8 rts Al NlocMixBuffers: move.l 4.w,a6 move.l #2500*3,d0 add.l #8+8,d0 move.l MEMTYPE(pc),d1 jsr -198(a6) tst.l d0 beq.s AllocMixBuffError addq.l #8,d0 move.l d0,sample_buff1_MIX move.l 4.w,a6 move.l #2500*3,d0 add.l #8+8,d0 move.l MEMTYPE(pc),d1 jsr -198(a6) tst.l d0 beq.s AllocMixBuffError addq.l #8,d0 move.l d0,sample_buff2_MIX move.l 4.w,a6 move.l #2500*3,d0 add.l #8+8,d0 move.l MEMTYPE(pc),d1 jsr -198(a6) tst.l d0 beq.s AllocMixBuffError addq.l #8,d0 move.l d0Ar,sample_buff3_MIX move.l 4.w,a6 move.l #2500*3,d0 add.l #8+8,d0 move.l MEMTYPE(pc),d1 jsr -198(a6) tst.l d0 beq.s AllocMixBuffError addq.l #8,d0 move.l d0,sample_buff4_MIX moveq #0,d7 rts AllocMixBuffError moveq #-1,d7 rts FreeMixBuffers: move.l 4.w,a6 move.l #2500*3,d0 move.l sample_buff1_MIX(pc),a1 beq.s NoFree1_1b subq.l #8,a1 add.l #8+8,d0 jsr -210(a6) NoFree1_1b move.l #2500*3,d0 move.l sample_buff2_MIX(pc),a1 beq.s NoFree1_2b subq.l #8,a1 add.l #8+8,dҔ0 jsr -210(a6) NoFree1_2b move.l #2500*3,d0 move.l sample_buff3_MIX(pc),a1 beq.s NoFree1_3b subq.l #8,a1 add.l #8+8,d0 jsr -210(a6) NoFree1_3b move.l #2500*3,d0 move.l sample_buff4_MIX(pc),a1 beq.s NoFree1_4b subq.l #8,a1 add.l #8+8,d0 jsr -210(a6) NoFree1_4b rts sample_buff1_MIX: dc.l 0 sample_buff2_MIX: dc.l 0 sample_buff3_MIX: dc.l 0 sample_buff4_MIX: dc.l 0 MEMTYPE: dc.l 0 WDMA: dc.w 0 Fast: dc.b 0 OldCPU: dc.b 0 SongPos: dc.b 0 PattPos: dc.b 0 temp: dc.b 0 co¯unt: dc.b 0 JMPEN: dc.b 0 OldPattPos: dc.b 0 PauseEn: dc.b 0 hisam: dc.b 0 PauseVBL: dc.w 0 OldDepAdr: dc.l 0 modDIGI: dc.l module channelenable: dc.w 0 MixPeriodA: dc.w 0 MixPeriodB: dc.w 0 leng: dc.w 0 what: dc.w 0 CiaTempo: dc.w 0 CiaChanged: dc.w 0 ; ------------------- Paremeters -------------- MainVolValue: dc.w 64 ; 0-64 ConfVolBoost dc.w 75 ; 0-100% ConfMix: dc.b 0 ; 0 - mix only joined chennels eg. mix when ; 1a and 1b channels are used... ; 1 - mix all channelYs BuffSize equ 40960 ; sample mix buffer size even db_music: move.l ModDIGI,a5 lea sample_starts,a0 ; sample starts, 124(a0) lenghts lea SamReps(a5),a3 ; sample repeats, 124(a3) replens lea SamVols(a5),a4 ; sample volumes move.b count(pc),d7 cmp.b temp(pc),d7 blt DepackDone tst.b temp beq.s NoNewPos cmp.b #64,pattpos bne.s NoNewPos clr.b PattPos addq.b #1,SongPos NoNewPos: moveq #0,d6 moveq #0,d7 move.b OrdNum(a5),d7 move.b SongPos(pc),d6 cmp.w d6,d7 bge.s N goRepeatSong clr.b SongPos clr.b PattPos move.l PattAdresses,a1 NoRepeatSong: moveq #0,d7 move.b SongPos(pc),d7 move.b Orders(a5,d7.w),d7 lsl.w #2,d7 lea PattAdresses,a1 move.l (a1,d7.w),a1 tst.b PackEnable(a5) bne.s DepackPattern moveq #0,d7 move.b PattPos(pc),d7 lsl.w #2,d7 add.w d7,a1 lea UnPackedData,a6 moveq #3,d7 CopyDataLoop move.l 0(a1),(a6)+ move.l 1024(a1),(a6)+ lea 256(a1),a1 dbf d7,CopyDataLoop bra DepackDone DepackPattern: addq.w #2,a1 lea (a1YDe),a6 lea 64(a1),a5 moveq #0,d7 move.b PattPos(pc),d7 add.w d7,a1 move.b OldPattPos(pc),d6 addq.b #1,d6 cmp.b d6,d7 beq.s NoCalcAdr tst.w d7 beq.s DepackData subq #1,d7 moveq #0,d1 DepackCalcAdr: move.b (a6)+,d0 btst #7,d0 beq.s DepackNoAdd7 addq #4,d1 DepackNoAdd7 btst #6,d0 beq.s DepackNoAdd6 addq #4,d1 DepackNoAdd6 btst #5,d0 beq.s DepackNoAdd5 addq #4,d1 DepackNoAdd5 btst #4,d0 beq.s DepackNoAdd4 addq #4,d1 DepackNoAdd4 btst #3,d0 beq.s DepackNoAdd3 adidq #4,d1 DepackNoAdd3 btst #2,d0 beq.s DepackNoAdd2 addq #4,d1 DepackNoAdd2 btst #1,d0 beq.s DepackNoAdd1 addq #4,d1 DepackNoAdd1 btst #0,d0 beq.s DepackNoAdd0 addq #4,d1 DepackNoAdd0 dbf d7,DepackCalcAdr add.l d1,a5 bra.s DepackData NoCalcAdr move.l OldDepAdr(pc),a5 DepackData: move.b PattPos(pc),OldPattPos lea UnPackedData,a6 moveq #7,d7 DepackDataLoop btst d7,(a1) beq.s DepackPutZero move.l (a5)+,(a6)+ dbf d7,DepackDataLoop move.l a5,OldDepAdr bra.s DepackDonLre DepackPutZero clr.l (a6)+ dbf d7,DepackDataLoop move.l a5,OldDepAdr DepackDone lea UnPackedData,a1 moveq #0,d6 moveq #0,d5 lea Channel1,a6 lea $dff0a0,a5 bsr playvoice moveq #1,d5 lea Channel2,a6 lea $dff0b0,a5 bsr playvoice moveq #2,d5 lea Channel3,a6 lea $dff0c0,a5 bsr playvoice moveq #3,d5 lea Channel4,a6 lea $dff0d0,a5 bsr playvoice tst.w d6 beq.s NoSetDma bsr Wait_dma or.w #$8000,d6 move.w d6,$dff096 NoSetDma: move.l ModDIGI,a5 lea channel1,a6 c' bsr MIXCHAN tst.w PauseVBL beq.s NoPause move.b #1,PauseEn subq.w #1,PauseVBL NoPause: move.b count(pc),d7 cmp.b temp(pc),d7 blt.s No_NEW clr.b count tst.w PauseVBL bne.s DoPAUSE addq.b #1,pattpos clr.b PauseEn DoPAUSE No_NEW addq.b #1,count rts playvoice: clr.b EqNewSamA(a6) clr.b EqNewSamB(a6) tst.w MainPeriod(a6) beq.w PlayOk tst.b OffEnable(a6) beq.s NoOFFchan clr.b OffEnable(a6) tst.w Oldd0(a6) beq.s NoData1 tst.w Oldd4(a6) bne.s OFFchan NoData1  tst.b PlayPointer(a6) beq.s OFFchan move.w Oldd2(a6),d1 lsr.w #8,d1 cmp.b #3,d1 beq.s NoOFFchan cmp.b #5,d1 beq.s NoOFFchan move.w Oldd6(a6),d1 lsr.w #8,d1 cmp.b #3,d1 beq.s NoOFFchan cmp.b #5,d1 beq.s NoOFFchan OFFchan moveq #0,d0 bset d5,d0 move.w d0,$dff096 bset d5,d6 NoOFFchan cmp.w #-1,MainPeriod(a6) beq.w StopChan cmp.b #1,MBRpointer(a6) beq.s NoPlayMixBuff move.l BuffBegAdr(a6),(a5) move.w #BuffSize,d7 lsr.w #1,d7 move.w d7,4(a5) move.w MainPeriod(a7+6),6(a5) moveq #0,d7 move.b MainVol(a6),d7 move.w d7,8(a5) cmp.b #2,MBRpointer(a6) beq.s PlayOK move.b #1,PlayPointer(a6) bra.s PlayOK NoPlayMixBuff move.l BuffMixADR(a6),(a5) move.w OldD3(a6),d3 lsr.w #1,d3 move.w d3,4(a5) move.w MainPeriod(a6),6(a5) moveq #0,d7 move.b MainVol(a6),d7 move.w d7,8(a5) bra.s PlayOK StopChan moveq #0,d0 bset d5,d0 bclr d5,d6 move.w d0,$dff096 move.b #1,PlayPointer(a6) clr.w MainPeriod(a6) PlayOK rts WAIT_DMA: move.w WDMA,d0 wait?_loop1: move.b $dff006,d1 wait_loop2: cmp.b $dff006,d1 beq.s wait_loop2 dbf d0,wait_loop1 rts MIXCHAN: *-------------------- channel 1a,1b mix --------------------------- lea sample_pos1,a2 ; sample positions move.w Oldd0(a6),d0 move.w Oldd1(a6),d1 move.w Oldd2(a6),d2 move.w Oldd3(a6),d3 move.w Oldd4(a6),d4 move.w Oldd5(a6),d5 move.w Oldd6(a6),d6 tst.w what bne.s ok1 move.l sample_buff1_MIX,BuffMixADR(a6) ok1: cmp.w #1,what bne.s ok2 move.l sample_buff1_MIX,BuffM%PixADR(a6) add.l #2500,BuffMixADR(a6) ok2: cmp.w #2,what bne.s ok3 move.l sample_buff1_MIX,BuffMixADR(a6) add.l #5000,BuffMixADR(a6) ok3: bsr mainPROC move.w d0,Oldd0(a6) move.w d1,Oldd1(a6) move.w d2,Oldd2(a6) move.w d3,Oldd3(a6) move.w d4,Oldd4(a6) move.w d5,Oldd5(a6) move.w d6,Oldd6(a6) *-------------------- channel 2a,2b mix --------------------------- lea ChanArea(a6),a6 lea sample_pos2,a2 ; sample positions move.w Oldd0(a6),d0 move.w Oldd1(a6),d1 move.w Oldd2( >[%Ha6),d2 move.w Oldd3(a6),d3 move.w Oldd4(a6),d4 move.w Oldd5(a6),d5 move.w Oldd6(a6),d6 lea 8(a1),a1 tst.w what bne.s ok1_2 move.l sample_buff2_MIX,BuffMixADR(a6) ok1_2: cmp.w #1,what bne.s ok2_2 move.l sample_buff2_MIX,BuffMixADR(a6) add.l #2500,BuffMixADR(a6) ok2_2: cmp.w #2,what bne.s ok3_2 move.l sample_buff2_MIX,BuffMixADR(a6) add.l #5000,BuffMixADR(a6) ok3_2: bsr mainPROC move.w d0,Oldd0(a6) move.w d1,Oldd1(a6) move.w d2,Oldd2(a6) move.w d3,Oldd3(a6) move.!Yw d4,Oldd4(a6) move.w d5,Oldd5(a6) move.w d6,Oldd6(a6) *-------------------- channel 3a,3b mix --------------------------- lea ChanArea(a6),a6 lea sample_pos3,a2 ; sample positions move.w Oldd0(a6),d0 move.w Oldd1(a6),d1 move.w Oldd2(a6),d2 move.w Oldd3(a6),d3 move.w Oldd4(a6),d4 move.w Oldd5(a6),d5 move.w Oldd6(a6),d6 lea 8(a1),a1 tst.w what bne.s ok1_3 move.l sample_buff3_MIX,BuffMixADR(a6) ok1_3: cmp.w #1,what bne.s ok2_3 move.l sample_buff3_MIX,BuffMixADR(a6) "jadd.l #2500,BuffMixADR(a6) ok2_3: cmp.w #2,what bne.s ok3_3 move.l sample_buff3_MIX,BuffMixADR(a6) add.l #5000,BuffMixADR(a6) ok3_3: bsr mainPROC move.w d0,Oldd0(a6) move.w d1,Oldd1(a6) move.w d2,Oldd2(a6) move.w d3,Oldd3(a6) move.w d4,Oldd4(a6) move.w d5,Oldd5(a6) move.w d6,Oldd6(a6) *-------------------- channel 4a,4b mix --------------------------- lea ChanArea(a6),a6 lea sample_pos4,a2 ; sample positions move.w Oldd0(a6),d0 move.w Oldd1(a6),d1 move.w Oldd2(a6),d2#yS" move.w Oldd3(a6),d3 move.w Oldd4(a6),d4 move.w Oldd5(a6),d5 move.w Oldd6(a6),d6 lea 8(a1),a1 tst.w what bne.s ok1_4 move.l sample_buff4_MIX,BuffMixADR(a6) ok1_4: cmp.w #1,what bne.s ok2_4 move.l sample_buff4_MIX,BuffMixADR(a6) add.l #2500,BuffMixADR(a6) ok2_4: cmp.w #2,what bne.s ok3_4 move.l sample_buff4_MIX,BuffMixADR(a6) add.l #5000,BuffMixADR(a6) ok3_4: bsr mainPROC move.w d0,Oldd0(a6) move.w d1,Oldd1(a6) move.w d2,Oldd2(a6) move.w d3,Oldd3(a6) move.w d4,O$&7ldd4(a6) move.w d5,Oldd5(a6) move.w d6,Oldd6(a6) * ---------------------------------------------------------- tst.w what bne.s whatok move.w #3,what whatok subq #1,what rts ; -------------- main procedure ---------------------------- mainPROC: move.b OldVolA(a6),VolA(a6) move.b OldVolB(a6),VolB(a6) addq.w #1,NoteCount(a6) tst.b temp beq old_data move.b count(pc),d7 cmp.b temp(pc),d7 blt old_data tst.b PauseEn bne.w oldperiod_1 tst.b OnOffChanA(a6) bne.w oldper% Oiod_1 moveq #0,d3 tst.w (a1) beq.w oldperiod_1 move.w 2(a1),d7 and.w #$0f00,d7 cmp.w #$300,d7 bne.s NoClrGliss_1 clr.w GlissandoDatasA+4(a6) NoClrGliss_1 clr.w VibratoDatasA(a6) move.b #1,OffEnable(a6) move.b #1,EqNewSamA(a6) move.w (a1),d7 btst #12,d7 beq.s nohisam1 move.b #1,hisam bclr #12,d7 tst.w d7 beq.w oldperiod_1 nohisam1 move.w d7,d0 ; finetunes movem.l d1-d3/d7/a0/a1,-(sp) move.w 2(a1),d7 lsr.w #8,d7 lsr.w #4,d7 tst.b hisam beq.s nohisam&8N111 add.w #$10,d7 nohisam111 tst.w d7 bne.s notakeold1 moveq #0,d7 move.b OldSamNumA(a6),d7 lsr.w #2,d7 addq #1,d7 notakeold1 moveq #0,d2 moveq #0,d3 move.b 30(a4,d7.w),d2 subq.b #1,d2 ext.w d2 beq.s FinTOK3 cmp.w #7,d2 bgt.s NotFromTable1 cmp.w #-8,d2 blt.s NotFromTable1 lea Periods,a1 moveq #36,d7 ftulop1 cmp.w (a1)+,d0 beq.s ftufnd1 dbf d7,ftulop1 cmp.w #74,a1 bge.s NotFromTable1 ftufnd1 sub.l #Periods,a1 move.l a1,d1 subq.w #2,d1 lea Tunnings,a0 add.'Faw #8,d2 mulu #72,d2 add.w d2,a0 move.w (a0,d1.w),d0 bra.s FinTOK3 NotFromTable1 tst.w d2 bgt.s FinTOK1 mulu #-1,d2 moveq #-1,d3 FinTOK1 moveq #0,d1 move.w d0,d1 mulu d2,d1 divu #140,d1 tst.w d3 bne.s FinTOK2 sub.w d1,d0 bra.s FinTOK3 FinTOK2 add.w d1,d0 FinTOK3 movem.l (sp)+,d1-d3/d7/a0/a1 move.w d0,OrgPeriodA(a6) tst.b MixDon(a6) beq.s cont1 move.l (a0,d5.w),d7 add.l 124(a0,d5.w),d7 cmp.l 124(a2,d5.w),d7 bgt.s cont1 tst.l (a3,d5.w) bne.s cont1 clr.l 124(ƒ(a2,d5.w) moveq #0,d4 moveq #0,d5 clr.b MixDon(a6) cont1: bra.s newperiod_1 oldperiod_1: moveq #-1,d3 newperiod_1: moveq #0,d2 tst.b hisam bne.s neweff_1 tst.w 2(a1) beq.w oldeff_1 neweff_1 move.w 2(a1),d2 move.w d2,d7 lsr.w #8,d7 lsr.w #4,d7 tst.b hisam beq.s nohisam11 add.w #$10,d7 clr.b hisam nohisam11 tst.b d7 beq.s oldeff_1 cmp.b #-1,d3 bne.s noupvol_1 move.w d1,d3 lsr.w #2,d3 move.b (a4,d3.w),VolA(a6) and.w #$0fff,d2 bra.s NoOldNum_1 noupvol_1: )•m move.w d7,d1 subq #1,d1 lsl.w #2,d1 move.w d2,d7 and.w #$0f00,d7 cmp.w #$300,d7 bne.s NewAdr_1 tst.l (a2,d1.w) bne.s NoNewAdr_1 moveq #0,d0 moveq #0,d1 moveq #0,d2 bra.s NoOldNum_1 NewAdr_1 move.l (a0,d1.w),(a2,d1.w) NoNewAdr_1 move.w d1,d3 lsr.w #2,d3 move.b (a4,d3.w),VolA(a6) and.w #$0fff,d2 move.b d1,OldSamNumA(a6) clr.b BackWDenable(a6) bra.s NoOldNum_1 oldeff_1: tst.w (a1) beq.s NoOldNum_1 moveq #0,d1 move.b OldSamNumA(a6),d1 move.w d2,d7 and.w #$0f*]00,d7 cmp.w #$500,d7 beq.s YeGL_1 cmp.w #$300,d7 bne.s NoGL_1 YeGL_1 tst.l (a2,d1.w) bne.s NoOldNum_1 moveq #0,d0 moveq #0,d1 moveq #0,d2 bra.s NoOldNum_1 NoGL_1 move.l (a0,d1.w),(a2,d1.w) NoOldNum_1 tst.b PauseEn bne.w oldperiod_2 tst.b OnOffChanB(a6) bne.w oldperiod_2 moveq #0,d3 tst.w 4(a1) beq.w oldperiod_2 move.w 6(a1),d7 and.w #$0f00,d7 cmp.w #$300,d7 bne.s NoClrGliss_2 clr.w GlissandoDatasB+4(a6) NoClrGliss_2 clr.w VibratoDatasB(a6) add.b #1,Off+AJEnable(a6) move.b #1,EqNewSamB(a6) move.w 4(a1),d7 btst #12,d7 beq.s nohisam_2 move.b #1,hisam bclr #12,d7 tst.w d7 beq.w oldperiod_2 nohisam_2: move.w d7,d4 ; finetunes movem.l d1-d3/d7/a0/a1,-(sp) move.w 6(a1),d7 lsr.w #8,d7 lsr.w #4,d7 tst.b hisam beq.s nohisam222 add.w #$10,d7 nohisam222 tst.w d7 bne.s notakeold2 moveq #0,d7 move.b OldSamNumB(a6),d7 lsr.w #2,d7 addq #1,d7 notakeold2 moveq #0,d2 moveq #0,d3 move.b 30(a4,d7.w),d2 subq.b #1,d2 ext.,ŖX w d2 beq.s FinTOK3b cmp.w #7,d2 bgt.s NotFromTable2 cmp.w #-8,d2 blt.s NotFromTable2 lea Periods,a1 moveq #36,d7 ftulop2 cmp.w (a1)+,d4 beq.s ftufnd2 dbf d7,ftulop2 cmp.w #74,a1 bge.s NotFromTable2 ftufnd2 sub.l #Periods,a1 move.l a1,d1 subq.w #2,d1 add.w #8,d2 lea Tunnings,a0 mulu #72,d2 add.w d2,a0 move.w (a0,d1.w),d4 bra.s FinTOK3b NotFromTable2 tst.w d2 bge.s FinTOK1b mulu #-1,d2 moveq #-1,d3 FinTOK1b moveq #0,d1 move.w d4,d1 mulu d2,d1 divu #140,d-Ɛ4 1 tst.w d3 bne.s FinTOK2b sub.w d1,d4 bra.s FinTOK3b FinTOK2b add.w d1,d4 FinTOK3b movem.l (sp)+,d1-d3/d7/a0/a1 move.w d4,OrgPeriodB(a6) tst.b MixDon(a6) beq.s cont2 move.l (a0,d1.w),d7 add.l 124(a0,d1.w),d7 cmp.l (a2,d1.w),d7 bgt.s cont2 tst.l (a3,d1.w) bne.s cont2 clr.l (a2,d1.w) moveq #0,d0 moveq #0,d1 clr.b MixDon(a6) cont2: bra.s newperiod_2 oldperiod_2: moveq #-1,d3 newperiod_2: moveq #0,d6 tst.b hisam bne.s neweff_2 tst.w 6(a1) beq.w oldeff_2 ne.SAu,weff_2 move.w 6(a1),d6 move.w d6,d7 lsr.w #8,d7 lsr.w #4,d7 tst.b hisam beq.s nohisam22 add.w #$10,d7 clr.b hisam nohisam22 tst.b d7 beq.s OldEff_2 cmp.b #-1,d3 bne.s noupvol_2 move.w d5,d3 lsr.w #2,d3 move.b (a4,d3.w),VolB(a6) and.w #$0fff,d6 bra.s NoOldNum_2 noupvol_2: move.w d7,d5 subq #1,d5 lsl.w #2,d5 move.w d6,d7 and.w #$0f00,d7 cmp.w #$300,d7 bne.s NewAdr_2 tst.l 124(a2,d5.w) ; adres sampla bne.s NoNewAdr_2 moveq #0,d4 moveq #0,d5 moveq #0,d/?}6 bra.s NoOldNum_2 NewAdr_2 move.l (a0,d5.w),124(a2,d5.w) ; adres sampla NoNewAdr_2 move.w d5,d3 lsr.w #2,d3 move.b (a4,d3.w),VolB(a6) and.w #$0fff,d6 move.b d5,OldSamNumB(a6) clr.b BackWDenable(a6) bra.s NoOldNum_2 OldEff_2: tst.w 4(a1) beq.s NoOldNum_2 moveq #0,d5 move.b OldSamNumB(a6),d5 move.w d6,d7 and.w #$0f00,d7 cmp.w #$500,d7 beq.s YeGL_2 cmp.w #$300,d7 bne.s NoGL_2 YeGL_2 tst.l 124(a2,d5.w) bne.s NoOldNum_2 moveq #0,d4 moveq #0,d5 moveq #0,d6 bra.s0ɳ NoOldNum_2 NoGL_2 move.l (a0,d5.w),124(a2,d5.w) NoOldNum_2 tst.l (a0,d5.w) bne.s NoZeroSam2 moveq #0,d4 moveq #0,d5 NoZeroSam2 tst.l (a0,d1.w) bne.s NoZeroSam1 moveq #0,d0 moveq #0,d1 NoZeroSam1 move.l a5,-(sp) bsr EffectCommandsA2 bsr EffectCommandsB2 move.l (sp)+,a5 tst.b OnOffChanA(a6) bne.s Stop1 cmp.w #$0e40,d2 bne.s No_stop1 move.l BuffBegAdr(a6),(a6) move.b #1,OffEnable(a6) Stop1 moveq #0,d0 moveq #0,d1 moveq #0,d2 No_stop1 tst.b OnOffChanB(a6) bne.s1 Stop2 cmp.w #$0e40,d6 bne.s No_stop2 move.l BuffBegAdr(a6),(a6) move.b #1,OffEnable(a6) Stop2 moveq #0,d4 moveq #0,d5 moveq #0,d6 No_stop2 old_data: move.b temp(pc),d7 subq #1,d7 cmp.b count(pc),d7 bne.s no_CLReff move.w d2,d7 lsr.w #8,d7 cmp.b #8,d7 beq.s no_CLReff1 cmp.b #3,d7 beq.s no_CLReff1 cmp.b #4,d7 beq.s no_CLReff1 cmp.b #5,d7 beq.s CLReffSP1 TST.b d7 beq.s no_CLReff1 move.w d2,d7 lsr.w #4,d7 cmp.w #$ec,d7 beq.s no_CLReff1 cmp.w #$e9,d7 beq.s 2ˎEno_CLReff1 moveq #0,d2 bra.s no_CLReff1 CLReffSP1: move.w #$0300,d2 no_CLReff1 move.w d6,d7 lsr.w #8,d7 cmp.b #3,d7 beq.s no_CLReff2 cmp.b #4,d7 beq.s no_CLReff2 cmp.b #5,d7 beq.s CLReffSP2 TST.b d7 beq.s no_CLReff2 move.w d6,d7 lsr.w #4,d7 cmp.w #$ec,d7 beq.s no_CLReff2 cmp.w #$e9,d7 beq.s no_CLReff2 moveq #0,d6 bra.s no_CLReff2 CLReffSP2: move.w #$0300,d6 no_CLReff2 no_CLReff bsr TestPeriod move.l a5,-(sp) bsr EffectCommandsA bsr EffectCommandsB move.34:yl (sp)+,a5 bsr TestPeriod move.w d0,GlissandoDatasA+2(a6) move.w d4,GlissandoDatasB+2(a6) ; ----------------------------------- movem.l d0-a6,-(sp) move.b VolA(a6),OldVolA(a6) move.b VolB(a6),OldVolB(a6) move.w MainVolValue,d0 mulu ConfVolBoost,d0 divu #100,d0 moveq #0,d1 move.b VolA(a6),d1 mulu d0,d1 lsr.w #6,d1 move.b d1,VolA(a6) moveq #0,d1 move.b VolB(a6),d1 mulu d0,d1 lsr.w #6,d1 move.b d1,VolB(a6) movem.l (sp)+,d0-a6 tst.w d0 bne.s NoReplace1 tst.w d4 4= beq.s NoReplace1 move.l 124(a2,d5.w),(a2,d5.w) clr.l 124(a2,d5.w) move.w d4,d0 move.w d5,d1 move.w d6,d2 moveq #0,d4 moveq #0,d5 moveq #0,d6 move.b #1,ReplaceEnable(a6) move.b VolA(a6),d3 move.b VolB(a6),VolA(a6) move.b d3,VolB(a6) NoReplace1 tst.w d4 bne mixing clr.b MBRpointer(a6) tst.w d0 beq nothing move.w d0,MainPeriod(a6) move.b VolA(a6),MainVol(a6) tst.b OffEnable(a6) beq.s NoAtStartBuff tst.b PlayPointer(a6) beq.s BuffAtStart move.w d2,d7 lsr.w 5ze#8,d7 cmp.b #3,d7 beq.s NoAtStartBuff cmp.b #5,d7 beq.s NoAtStartBuff BuffAtStart move.l BuffBegAdr(a6),(a6) NoAtStartBuff bsr Calc ; - - - - - - - - - - - - - - - backwd play - - - - - - - - - - - - - - - tst.b BackWDenable(a6) bne.s bckOK move.w d2,d7 lsr.w #4,d7 cmp.w #$e3,d7 bne.w no_backwd move.l 124(a0,d1.w),d7 add.l d7,(a2,d1.w) move.b #1,BackWDenable(a6) move.b d2,d7 and.b #$0f,d7 beq.s bckOK move.b #2,BackWDenable(a6) bckOK move.b #1,MBRpointer(a6) m6ovem.l d0-d1/a4-a5,-(sp) move.l (a0,d1.w),d0 move.w d3,d7 subq #1,d7 move.l (a2,d1.w),a5 move.l BuffMixADR(a6),a4 cmp.b #1,BackWDenable(a6) beq.s copy_loopbck1 copy_loopbck2: cmp.l d0,a5 ble.s sampleend_str move.b -(a5),(a4)+ dbf d7,copy_loopbck2 bra.s bck_done sampleend_str: copy_loopbck3: move.b (a5)+,(a4)+ dbf d7,copy_loopbck3 clr.b BackWDenable(a6) bra.s bck_done copy_loopbck1: cmp.l d0,a5 bgt.s NoTasampleend moveq #0,d0 clr.b -1(a4) clr_loop2: move.b d0,7(a4)+ dbf d7,clr_loop2 tst.b Fast beq.s NoCopyFromFAST bsr CopyFromFAST NoCopyFromFAST bra.w RealSampleEnd NoTasampleend move.b -(a5),(a4)+ dbf d7,copy_loopbck1 bck_done: move.l a5,(a2,d1.w) movem.l (sp)+,d0-d1/a4-a5 tst.b Fast beq.s NoCopyFromFAST2 bsr CopyFromFAST NoCopyFromFAST2 bra.w Replace2 no_backwd move.w d2,d7 lsr.w #8,d7 cmp.b #$8,d7 beq RobotEffect tst.b RobotEnable(a6) beq.s NoOffCH move.b #1,Offenable(a6) move.l BuffBegAdr(a6),(a6) NoOffCH clr.b Ro8ѝ%.botEnable(a6) ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - addq #1,d3 tst.l 124(a3,d1.w) bne sampleloop movem.l d0-d1/a4-a5,-(sp) move.l 124(a0,d1.w),d0 add.l (a0,d1.w),d0 move.l (a2,d1.w),a5 cmp.l d0,a5 blt.s NotSamEnd0 move.w #-1,MainPeriod(a6) bra realsampleend NotSamEnd0 move.l (a6),d7 move.l (a6),d1 add.l d3,d1 cmp.l BuffEndAdr(a6),d1 ble.s NotEndBuff move.l a5,d7 add.l d3,d7 cmp.l d0,d7 ble.s NotSamEnd2 move.w #-1,MainPeriod(9^aa6) bra realsampleend NotSamEnd2 sub.l BuffEndAdr(a6),d1 move.w d3,d7 sub.w d1,d7 subq.w #1,d7 move.l (a6),a4 bsr copy_loop move.l BuffBegAdr(a6),(a6) move.l (a6),a4 move.w d1,d7 subq.w #1,d7 bsr copy_loop bra.s CopyDone NotEndBuff move.l (a6),a4 move.l a5,d7 add.l d3,d7 cmp.l d0,d7 ble.s NotSamEnd1 sub.l d0,d7 move.w d7,d0 move.w d3,d7 sub.w d0,d7 subq.w #1,d7 bsr copy_loop move.w d0,d7 beq.s nosubq1 subq.w #1,d7 nosubq1 bra sampleend NotSamEnd1 mov:3e.w d3,d7 subq #1,d7 bsr copy_loop CopyDone: move.l a4,(a6) movem.l (sp)+,d0-d1/a4-a5 add.l d3,(a2,d1.w) Replace2: move.w d3,MainDTALEN(a6) Replace_R: tst.b ReplaceEnable(a6) beq.s NoReplace2 move.l (a2,d1.w),124(a2,d1.w) clr.l (a2,d1.w) move.w d0,d4 move.w d1,d5 move.w d2,d6 clr.b ReplaceEnable(a6) move.b VolA(a6),d0 move.b VolB(a6),VolA(a6) move.b d0,VolB(a6) moveq #0,d0 moveq #0,d1 moveq #0,d2 NoReplace2 rts copy_loopM: tst.w d7 blt.s copy_loopex bra.s co;py_loopM2 copy_loop: tst.w d7 blt.s copy_loopex tst.b ConfMix bne.s copy_loop2 copy_loopM2: tst.b OldCPU bne.s copy_loopL68000 movem.l d7/a4-a5,-(sp) lsr.w #2,d7 copy_loopL move.l (a5)+,(a4)+ dbf d7,copy_loopL movem.l (sp)+,d7/a4-a5 addq #1,d7 add.w d7,a5 add.w d7,a4 rts copy_loopL68000 move.b (a5)+,(a4)+ dbf d7,copy_loopL68000 copy_loopex rts copy_loop2: movem.l d0/a3,-(sp) moveq #0,d0 move.b VolA(a6),d0 lsl.w #8,d0 add.l VolTabPTR,d0 move.b #$40,MainVol(a6)<f̦ copy_loopL2 move.b (a5)+,d0 move.l d0,a3 move.b (a3),(a4)+ dbf d7,copy_loopL2 movem.l (sp)+,d0/a3 rts nothing: tst.w MainPeriod(a6) beq.s nostopperiod move.w #-1,MainPeriod(a6) nostopperiod rts sampleend: moveq #0,d0 clr.b -1(a4) clr_loop: move.b d0,(a4)+ dbf d7,clr_loop realsampleend: movem.l (sp)+,d0-d1/a4-a5 clr.l (a2,d1.w) moveq #0,d0 moveq #0,d1 moveq #0,d2 clr.b ReplaceEnable(a6) clr.b BackWDenable(a6) rts sampleloop: movem.l d0-d4/a4-a5,-(sp) move=Jb.l (a2,d1.w),a5 move.l 124(a3,d1.w),d4 add.l (a3,d1.w),d4 add.l (a0,d1.w),d4 cmp.l d4,a5 ble.s NotSamEndL move.l d4,(a2,d1.w) subq.l #1,(a2,d1.w) move.l d4,a5 subq.l #1,a5 NotSamEndL move.l (a6),d7 move.l (a6),d2 add.l d3,d2 cmp.l BuffEndAdr(a6),d2 ble.w NotEndBuff_L move.l (a6),a4 move.l a5,d7 add.l d3,d7 cmp.l d4,d7 ble.w NoMakeLoop_EB sub.l d4,d7 ; loop move.w d7,d4 move.w d3,d7 sub.w d4,d7 sub.l BuffEndAdr(a6),d2 move.w d3,d0 sub.w d2,d0 cmp.w d>`M<0,d7 bge.s Copy_ToEndBuff ; d0=>d7 koniec buff pozniej niz petla move.l BuffEndAdr(a6),d2 move.w d3,d7 subq #1,d7 move.l 124(a3,d1.w),d4 add.l (a3,d1.w),d4 add.l (a0,d1.w),d4 move.l (a3,d1.w),d0 add.l (a0,d1.w),d0 tst.b ConfMix bne.s copy_loop3EBMH bra.s copy_loop3EBML2 copy_loop4EBML2: move.l d0,a5 copy_loop3EBML2: cmp.l d4,a5 bge.s copy_loop4EBML2 cmp.l d2,a4 blt.s EBMLcont move.l BuffBegAdr(a6),(a6) move.l (a6),a4 EBMLcont move.b (a5)+,(a4)+ dbf d7,copy_lo?ؽop3EBML2 bra.w MakeLoopEB_done *********************************** copy_loop3EBMH: movem.l d1/a3,-(sp) moveq #0,d1 move.b VolA(a6),d1 lsl.w #8,d1 add.l VolTabPTR,d1 move.b #$40,MainVol(a6) bra.s copy_loop3EBMLH2 copy_loop4EBMLH2: move.l d0,a5 copy_loop3EBMLH2: cmp.l d4,a5 bge.s copy_loop4EBMLH2 cmp.l d2,a4 blt.s EBMLHcont move.l BuffBegAdr(a6),(a6) move.l (a6),a4 EBMLHcont move.b (a5)+,d1 move.l d1,a3 move.b (a3),(a4)+ dbf d7,copy_loop3EBMLH2 movem.l (sp)+,d1/a3 @؀ bra.s MakeLoopEB_done *********************************** Copy_ToEndBuff exg d0,d7 sub.w d7,d0 subq #1,d7 bsr copy_loop move.l BuffBegAdr(a6),(a6) move.l (a6),a4 exg d0,d7 subq #1,d7 bsr copy_loop move.w d4,d7 subq.w #1,d7 move.l 124(a3,d1.w),d4 add.l (a3,d1.w),d4 add.l (a0,d1.w),d4 move.l (a3,d1.w),d0 add.l (a0,d1.w),d0 tst.b ConfMix bne.s copy_loop4EBMLHM copy_loop4EBML: move.l d0,a5 copy_loop3EBML: cmp.l d4,a5 bge.s copy_loop4EBML move.b (a5)+,(a4)+ dAڼbf d7,copy_loop3EBML bra.s MakeLoopEB_done *********************************** copy_loop4EBMLHM: movem.l d1/a3,-(sp) moveq #0,d1 move.b VolA(a6),d1 lsl.w #8,d1 add.l VolTabPTR,d1 move.b #$40,MainVol(a6) copy_loop4EBMLH: move.l d0,a5 copy_loop3EBMLH: cmp.l d4,a5 bge.s copy_loop4EBMLH move.b (a5)+,d1 move.l d1,a3 move.b (a3),(a4)+ dbf d7,copy_loop3EBMLH movem.l (sp)+,d1/a3 *********************************** MakeLoopEB_done move.l a4,(a6) move.l a5,(a2,d1.w) movem.lBP (sp)+,d0-d4/a4-a5 bsr Replace2 rts NoMakeLoop_EB sub.l BuffEndAdr(a6),d2 move.w d3,d7 sub.w d2,d7 subq.w #1,d7 bsr copy_loop move.l BuffBegAdr(a6),(a6) move.l (a6),a4 move.w d2,d7 subq.w #1,d7 bsr copy_loop move.l a4,(a6) move.l a5,(a2,d1.w) movem.l (sp)+,d0-d4/a4-a5 bsr Replace2 rts NotEndBuff_L move.l (a6),a4 move.l a5,d7 add.l d3,d7 cmp.l d4,d7 ble.s NoMakeLoop sub.l d4,d7 move.w d7,d4 move.w d3,d7 sub.w d4,d7 subq.w #1,d7 bsr copy_loop move.wCܖ,*: d4,d7 subq.w #1,d7 move.l 124(a3,d1.w),d4 add.l (a3,d1.w),d4 add.l (a0,d1.w),d4 move.l (a3,d1.w),d0 add.l (a0,d1.w),d0 tst.b ConfMix bne.s copy_loop4HM copy_loop4: move.l d0,a5 copy_loop3: cmp.l d4,a5 bge.s copy_loop4 move.b (a5)+,(a4)+ dbf d7,copy_loop3 bra.s copy_loopHdone *********************************** copy_loop4HM: movem.l d1/a3,-(sp) moveq #0,d1 move.b VolA(a6),d1 lsl.w #8,d1 add.l VolTabPTR,d1 move.b #$40,MainVol(a6) copy_loop4H: move.l d0,a5 copy_lDݒ#oop3H: cmp.l d4,a5 bge.s copy_loop4H move.b (a5)+,d1 move.l d1,a3 move.b (a3),(a4)+ dbf d7,copy_loop3H movem.l (sp)+,d1/a3 *********************************** copy_loopHdone: move.l a4,(a6) move.l a5,(a2,d1.w) movem.l (sp)+,d0-d4/a4-a5 bsr Replace2 rts NoMakeLoop move.w d3,d7 subq #1,d7 bsr copy_loop move.l a4,(a6) move.l a5,(a2,d1.w) movem.l (sp)+,d0-d4/a4-a5 bsr Replace2 rts TestPeriod: cmp.w #113,d0 bge.s OKKI1 tst.w d0 beq.s OKKI1 moveq #113,d0 OKKI1 cEޚmp.w #113,d4 bge.s OKKI2 tst.w d4 beq.s OKKI2 moveq #113,d4 OKKI2 tst.w d0 bne.s OKKI3 moveq #0,d0 moveq #0,d1 moveq #0,d2 OKKI3 tst.w d4 bne.s OKKI4 moveq #0,d4 moveq #0,d5 moveq #0,d6 OKKI4 rts ; --------------------------- EffectCommands --------------------------- EffectCommandsA2: ; effects 9xx, bxx, cxx, dxx, fxx chan A move.w d2,d7 beq EffComA2exit lsr.w #8,d7 clr.b channelenable move.w d2,d3 lea SamoffsetA(a6),a5 cmp.b #9,d7 beq SampleOffset cmp.b #$bFl",d7 beq SongRepeat lea VolA(a6),a5 cmp.b #$c,d7 beq SetVolume lea Hex(pc),a5 cmp.b #$d,d7 beq PattBreak cmp.b #$f,d7 beq SetTempo ; effects E0x, E1x, E2x, E6x, E8x, EAx, EBx EEx chan A cmp.w #$e00,d3 beq.w OffFilter cmp.w #$e01,d3 beq.w OnFilter cmp.w #$e50,d3 beq.w OffChannelA cmp.w #$e51,d3 beq.w OnChannelA move.w d2,d7 lsr.w #4,d7 move.w d2,d3 cmp.b #$e1,d7 beq.w FineSlideUp cmp.b #$e2,d7 beq.w FineSlideDown lea loopsdataschanA(a6),a5 cmp.b #$Gsae6,d7 beq.w Loops lea SamOffsetA(a6),a5 cmp.b #$e8,d7 beq offsets lea VolA(a6),a5 cmp.b #$ea,d7 beq FineVolUp cmp.b #$eb,d7 beq FineVolDown cmp.b #$ee,d7 beq Pause EffComA2exit rts EffectCommandsB2: ; effects 9xx, bxx, cxx, dxx, fxx chan B move.w d6,d7 beq EffComB2exit lsr.w #8,d7 move.b #1,channelenable move.w d6,d3 lea SamoffsetB(a6),a5 cmp.b #9,d7 beq SampleOffset cmp.b #$b,d7 beq SongRepeat lea VolB(a6),a5 cmp.b #$c,d7 beq SetVolume lea Hex(pc)HVwQ,a5 cmp.b #$d,d7 beq PattBreak cmp.b #$f,d7 beq SetTempo ; effects E0x, E1x, E2x, E6x, E8x, EAx, EBx EEx chan B cmp.w #$e00,d3 beq.w OffFilter cmp.w #$e01,d3 beq.w OnFilter cmp.w #$e50,d3 beq.w OffChannelB cmp.w #$e51,d3 beq.w OnChannelB move.w d6,d7 lsr.w #4,d7 move.w d6,d3 cmp.b #$e1,d7 beq.w FineSlideUp cmp.b #$e2,d7 beq.w FineSlideDown lea loopsdataschanB(a6),a5 cmp.b #$e6,d7 beq.w Loops lea SamOffsetB(a6),a5 cmp.b #$e8,d7 beq offsets lea VolI\HB(a6),a5 cmp.b #$ea,d7 beq FineVolUp cmp.b #$eb,d7 beq FineVolDown cmp.b #$ee,d7 beq Pause EffComB2exit rts EffectCommandsA: ; effects 0xx 1xx, 2xx, 3xx, 4xx, 5xx, 6xx, axx, chan A move.w d2,d7 beq EffComAexit lsr.w #8,d7 clr.b channelenable move.w d2,d3 lea OrgPeriodA(a6),a5 tst.b d7 beq.w Arpeggio cmp.b #1,d7 beq.w PortUp cmp.b #2,d7 beq.w PortDown lea GlissandoDatasA(a6),a5 cmp.b #3,d7 beq.w Glissando lea VibratoDatasA(a6),a5 cmp.b #4,d7 beq.w VJNibrato cmp.b #5,d7 beq.w SlideVolGliss cmp.b #6,d7 beq.w SlideVolVib lea VolA(a6),a5 cmp.b #$a,d7 beq SlideVolume ; effects E9x, ECx chan A move.w d2,d7 lsr.w #4,d7 move.w d2,d3 lea RetraceCntA(a6),a5 cmp.b #$e9,d7 beq.w Retrace lea VolA(a6),a5 cmp.b #$ec,d7 beq CutSample EffComAexit rts EffectCommandsB: ; effects 1xx, 2xx, 3xx, 4xx, 5xx, 6xx, axx, chan B move.w d6,d7 beq EffComBexit lsr.w #8,d7 move.b #1,channelenable move.w d6,d3 lea OrgPeriodB(a6),K9/a5 tst.b d7 beq.w Arpeggio cmp.b #1,d7 beq.w PortUp cmp.b #2,d7 beq.w PortDown lea GlissandoDatasB(a6),a5 cmp.b #3,d7 beq.w Glissando lea VibratoDatasB(a6),a5 cmp.b #4,d7 beq.w Vibrato cmp.b #5,d7 beq.w SlideVolGliss cmp.b #6,d7 beq.w SlideVolVib lea VolB(a6),a5 cmp.b #$a,d7 beq SlideVolume ; effects E9x, ECx chan B move.w d6,d7 lsr.w #4,d7 move.w d6,d3 lea RetraceCntB(a6),a5 cmp.b #$e9,d7 beq.w Retrace lea VolB(a6),a5 cmp.b #$ec,d7 beq CutSamplLX/e EffComBexit rts ;------------------------------ effects ------------------------------------- ;looppattpos (a5) ;loopsongpos 1(a5) ;loophowmany 2(a5) loops: cmp.w #$e60,d3 bne.s no_loop tst.b 2(a5) bne.s loops_done move.b pattpos(pc),(a5) subq.b #1,(a5) move.b songpos(pc),1(a5) bra.s loops_done no_loop tst.b 2(a5) beq.s storehowmany subq.b #1,2(a5) bne.s no_done clr.b (a5) clr.b 1(a5) clr.b 2(a5) bra.s loops_done no_done move.b (a5),pattpos move.b 1(a5),songpoM0ps bra.s loops_done storehowmany and.b #$0f,d3 move.b d3,2(a5) move.b (a5),pattpos move.b 1(a5),songpos loops_done rts Pause: tst.b PauseEn bne.s no_pause moveq #0,d7 move.b d3,d7 and.b #$0f,d7 beq.s No_pause moveq #0,d3 move.b Temp(pc),d3 mulu d3,d7 addq.w #1,d7 move.w d7,PauseVBL no_pause rts SongRepeat: move.b #-1,pattpos moveq #0,d7 move.b d3,d7 cmp.w #$7f,d7 blt.s songrep_ok move.b #$7f,d7 songrep_ok move.b d7,songpos rts PattBreak: moveq #0,d7 movN.5e.b d3,d7 cmp.w #$63,d7 blt.s patt_ok move.b #$63,d7 patt_ok cmp.b #-1,pattpos beq.s NoAddSP addq.b #1,songpos NoAddSP move.b (a5,d7.w),d7 move.b d7,pattpos subq.b #1,pattpos rts SampleOffset: moveq #0,d7 move.b (a5),d7 lsl.w #8,d7 lsl.l #8,d7 and.w #$00ff,d3 lsl.w #8,d3 add.w d3,d7 tst.b channelenable bne.s SamOffsChanB add.l d7,(a2,d1.w) rts SamOffsChanB add.l d7,124(a2,d5.w) rts offsets: move.b d3,d7 and.b #$0f,d7 move.b d7,(a5) rts SetTempo: moveq O#0,d7 move.b d3,d7 cmp.w #$1f,d7 bgt.s Cia_temp move.b d3,temp move.b d3,count rts Cia_temp tst.l CiaBase beq.s NoCia_Temp move.w d7,CiaTempo move.w #1,CiaChanged NoCia_Temp rts OffChannelA: bset #0,OnOffChanA(a6) rts OnChannelA: bclr #0,OnOffChanA(a6) rts OffChannelB: bset #0,OnOffChanB(a6) rts OnChannelB: bclr #0,OnOffChanB(a6) rts OffFilter: bclr #1,$bfe001 rts OnFilter: bset #1,$bfe001 rts Retrace: cmp.b #1,count bne.s retrno_2 clr.b (a5) retrno_2 PGOmoveq #0,d7 move.b d3,d7 and.b #$0f,d7 subq.b #1,d7 cmp.b (a5),d7 bne.s retrno_1 tst.b channelenable beq.s retr_chan_a move.l (a0,d5.w),124(a2,d5.w) ; adres sampla move.b #1,OffEnable(a6) bra.s retr_chan_b retr_chan_a move.b #1,OffEnable(a6) move.l (a0,d1.w),(a2,d1.w) ; adres sampla retr_chan_b clr.b (a5) rts retrno_1 addq.b #1,(a5) no_retrace_1 rts cutsample: moveq #0,d7 move.b d3,d7 and.b #$0f,d7 cmp.b count(pc),d7 bne.s no_cut_sam clr.b (a5) no_cut_sam: rtQ(4s ; ------------- arpeggio ------------- arplist: dc.b 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1 Arpeggio: movem.l d2/a6,-(sp) bsr ArpeggioMain movem.l (sp)+,d2/a6 rts ArpeggioMain: moveq #0,d7 move.b count(pc),d7 subq.b #1,d7 move.b arplist(pc,d7.w),d7 beq.s arp0 cmp.b #2,d7 beq.s arp2 arp1: moveq #0,d2 move.b d3,d2 lsr.b #4,d2 bra.s arpdo arp2: moveq #0,d2 move.b d3,d2 and.b #$f,d2 arpdo: asl.w #1,d2 move.w (a5),d7 lea periods(pc),a6 R3EMmoveq #36,d3 arp3: cmp.w (a6)+,d7 bge.s arpfound dbf d3,arp3 arp0: tst.b channelenable bne.s ARP_chanB1 move.w (a5),d0 rts ARP_chanB1 move.w (a5),d4 rts arpfound: add.w d2,a6 cmp.l #PeriodsEnd,a6 ble.s ArpOk1 move.l #PeriodsEnd,a6 moveq #0,d2 bra.s ArpOk2 ArpOk1 sub.w d2,a6 ArpOk2 tst.b channelenable bne.s ARP_chanB2 move.w -2(a6,d2.w),d0 rts ARP_chanB2 move.w -2(a6,d2.w),d4 rts ; ------------- portamento up ------------- PortUp: moveq #0,d7 move.b d3,d7 tst.SV`b channelenable bne.s PortUp_chan_b PortUp_chan_a tst.b d7 bne.s NoOldPortUpA move.b PortUpOldValA(a6),d7 NoOldPortUpA move.b d7,PortUpOldValA(a6) sub.w d7,d0 cmp.w #113,d0 bge.s PortUpOkA move.w #113,d0 PortUpOkA rts PortUp_chan_b tst.b d7 bne.s NoOldPortUpB move.b PortUpOldValB(a6),d7 NoOldPortUpB move.b d7,PortUpOldValB(a6) sub.w d7,d4 cmp.w #113,d4 bge.s PortUpOkB move.w #113,d4 PortUpOkB rts NoPortUp: rts ; ------------- portamento down ------------- PortTDown: moveq #0,d7 move.b d3,d7 tst.b channelenable bne.s PortDown_chan_b PortDown_chan_a tst.b d7 bne.s NoOldPortDownA move.b PortDownOldValA(a6),d7 NoOldPortDownA move.b d7,PortDownOldValA(a6) add.w d7,d0 cmp.w #856,d0 ble.s PortDownOkA move.w #856,d0 PortDownOkA rts PortDown_chan_b tst.b d7 bne.s NoOldPortDownB move.b PortDownOldValB(a6),d7 NoOldPortDownB move.b d7,PortDownOldValB(a6) add.w d7,d4 cmp.w #856,d4 ble.s PortDownOkB move.w #856,d4 PortDownOkB rtsU noPortDown: rts ; --------------- set volume ------------- SetVolume: move.b d3,(a5) rts ; --------------- slide volume up ------------- SlideVolume: tst.b d3 bne.s NoOldSlideVol move.b 2(a5),d3 ; Old SlideVolVolue NoOldSlideVol move.b d3,2(a5) moveq #0,d7 move.b d3,d7 cmp.w #$10,d7 blt.s Voldown lsr.b #4,d7 add.b d7,(a5) cmp.b #64,(a5) blt.s Voldone move.b #64,(a5) rts Voldown sub.b d3,(a5) tst.b (a5) bgt.s Voldone clr.b (a5) Voldone:rts ; ---------------V it fine slide down ------------- FineSlideDown: move.w d3,d7 and.w #$000f,d7 tst.b channelenable bne.s FineSlideDownB add.w d7,d0 cmp.w #856,d0 ble.s FineSlideDownOkA move.w #856,d0 FineSlideDownOkA moveq #0,d2 rts FineSlideDownB add.w d7,d4 cmp.w #856,d4 ble.s FineSlideDownOkB move.w #856,d4 FineSlideDownOkB moveq #0,d6 rts ; --------------- fine slide up ------------- FineSlideUp: move.w d3,d7 and.w #$000f,d7 tst.b channelenable bne.s FineSlideUpB sub.w d7,WD]ܣd0 cmp.w #113,d0 bge.s FineSlideUpOkA move.w #113,d0 FineSlideUpOkA moveq #0,d2 rts FineSlideUpB sub.w d7,d4 cmp.w #113,d4 bge.s FineSlideUpOkB move.w #113,d4 FineSlideUpOkB moveq #0,d6 rts ; --------------- fine volume up ------------- FineVolUp: move.w d3,d7 and.b #$0f,d7 add.b d7,(a5) cmp.b #64,(a5) blt.s FVUOK move.b #64,(a5) FVUOK tst.b channelenable bne.s FVUClrVolB moveq #0,d2 rts FVUClrVolB moveq #0,d6 rts ; --------------- fine volume down ------Xϋ------- FineVolDown: move.w d3,d7 and.b #$0f,d7 sub.b d7,(a5) tst.b (a5) bge.s FVDOK clr.b (a5) FVDOK tst.b channelenable bne.s FVDClrVolB moveq #0,d2 rts FVDClrVolB moveq #0,d6 NoFVD rts ; ------------- glissando ------------- ;GlissOldValue: (a5) ;GlissEnable: 1(a5) ;GlissOldPeriod: 2(a5) ;GlissNewPeriod: 4(a5) Glissando: move.w d3,d7 tst.b d3 bne.s NoOLDgliss move.b (a5),d3 NoOLDgliss cmp.b #1,count bne.s NoStore move.b d3,(a5) NoStore tst.w 2(a5) beq.Y:6w GlissRTS tst.b channelenable bne.s GlissOK1B GlissOK1A: tst.w 4(a5) bne.s GlissOk2 move.w d0,d7 move.w d0,4(a5) move.w 2(a5),d0 clr.b 1(a5) cmp.w d0,d7 beq.s ClrNP bge.w GlissRTS move.b #1,1(a5) rts GlissOK1B: tst.w 4(a5) bne.s GlissOk2 move.w d4,d7 move.w d4,4(a5) move.w 2(a5),d4 clr.b 1(a5) cmp.w d4,d7 beq.s ClrNP bge.s GlissRTS move.b #1,1(a5) rts ClrNP: clr.w 4(a5) rts GlissOk2: move.w d3,d7 and.w #$0ff,d7 tst.w 4(a5) beq.s Glissrts tst.b 1(a5Z,&) bne.s Glisssub add.w d7,2(a5) move.w 4(a5),d7 cmp.w 2(a5),d7 bgt.s GlissOK3 move.w 4(a5),2(a5) clr.w 4(a5) GlissOK3: tst.b channelenable bne.s GlissChanB GlissChanA move.w 2(a5),d0 rts GlissChanB move.w 2(a5),d4 rts Glisssub: sub.w d7,2(a5) move.w 4(a5),d7 cmp.w 2(a5),d7 blt.s GlissOK3 move.w 4(a5),2(a5) clr.w 4(a5) bra.s GlissOK3 Glissrts: rts SlideVolGliss: and.w #$00ff,d3 add.w #$a00,d3 tst.b channelenable bne.s SlideChanB lea VolA(a6),a5 bra.s DoSl['%ideChan SlideChanB lea VolB(a6),a5 DoSlideChan bsr SlideVolume move.w #$0300,d3 tst.b channelenable bne.s GlissBChan lea GlissandoDatasA(a6),a5 bra.s DoGlissChan GlissBChan lea GlissandoDatasB(a6),a5 DoGlissChan bra Glissando SlideVolVib: and.w #$00ff,d3 add.w #$a00,d3 tst.b channelenable bne.s SlideChanBV lea VolA(a6),a5 bra.s DoSlideChanV SlideChanBV lea VolB(a6),a5 DoSlideChanV bsr SlideVolume move.w #$0400,d3 tst.b channelenable bne.s VibBChan lea Vibrato\+"QDatasA(a6),a5 bra.s DoVibChan VibBChan lea VibratoDatasB(a6),a5 DoVibChan bra Vibrato ;VibPeriod (a5) ;VibValue 2(a5) ;ViboldValue 3(a5) Vibrato: movem.l d2/d5,-(sp) move.w d4,d2 tst.b channelenable bne.s VibCHANB1 move.w d0,d2 VibCHANB1 bsr VibratoMain tst.b channelenable bne.s VibCHANB2 move.w d2,d0 bra.s VibMainDone VibCHANB2 move.w d2,d4 VibMainDone movem.l (sp)+,d2/d5 rts VibratoMain: move.b Count(pc),d7 cmp.b Temp(pc),d7 bne.s NoNewPeriod tst.w (a5) ]q.bne.s NoNewPeriod move.w d2,(a5) NoNewPeriod move.w (a5),d2 move.b temp(pc),d7 subq #1,d7 cmp.b count(pc),d7 bne.s DoVibrato clr.w (a5) rts DoVibrato move.b d3,d5 and.b #$0f,d5 bne.s NoNew1 move.b 3(a5),d5 and.b #$0f,d5 add.b d5,d3 NoNew1 move.b d3,d5 and.b #$f0,d5 bne.s NoNew2 move.b 3(a5),d5 and.b #$f0,d5 add.b d5,d3 NoNew2 move.w d3,-(sp) move.b d3,3(a5) move.b d3,d7 move.b 2(a5),d3 lsr.w #2,d3 and.w #$1f,d3 moveq #0,d5 move.b VibSin(pc,d3.w),d5 mov^'~e.b d7,d3 and.w #$f,d3 mulu d3,d5 lsr.w #7,d5 tst.b 2(a5) bmi.s VibSub add.w d5,d2 bra.s VibNext VibSub: sub.w d5,d2 VibNext: move.w d2,d5 move.b d7,d5 lsr.w #2,d5 and.w #$3c,d5 add.b d5,2(a5) move.w (sp)+,d3 rts VibSin: dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18 Calc: tst.b OldCpu bne.s OldCpuRout tst.b Fast beq.s OldCpuRout move.l #35795*2*125,d3 moveq #0,d7 move._rw CiaTempo,d7 divu.l d7,d3 divu d0,d3 and.l #$ffff,d3 addq #1,d3 rts OldCpuRout cmp.w #70,CiaTempo ble.s NewRout move.l #35795*125,d3 divu CiaTempo,d3 and.l #$ffff,d3 divu d0,d3 and.l #$ffff,d3 add.w d3,d3 addq #2,d3 rts NewRout:move.l #35795*125/4,d3 divu CiaTempo,d3 and.l #$ffff,d3 lsl.l #2,d3 divu d0,d3 and.l #$ffff,d3 add.w d3,d3 addq #2,d3 rts mixing: move.w d0,MixPeriodA move.w d4,MixPeriodB bsr Calc movem.l d0-d6/a0-a4,-(sp) move.l (a2,d1.w),a0 `Ao tst.b OldCpu bne.s OldCpuRout2 tst.b Fast beq.s OldCpuRout2 move.l #35795*2*125,d0 moveq #0,d7 move.w CiaTempo,d7 divu.l d7,d0 divu d4,d0 and.l #$ffff,d0 addq #1,d0 bra.s RoutDone OldCpuRout2 cmp.w #70,CiaTempo ble.s NewRout2 move.l #35795*125,d0 divu CiaTempo,d0 and.l #$ffff,d0 bra.s NewRout3 NewRout2 move.l #35795*125/4,d0 divu CiaTempo,d0 and.l #$ffff,d0 lsl.l #2,d0 NewRout3 divu d4,d0 and.l #$ffff,d0 add.w d0,d0 addq #2,d0 RoutDone: move.l 124(a2,d5.w)ai,a1 move.l d0,d4 cmp.w d3,d4 ble noreplace add.l d0,124(a2,d5.w) exg d1,d5 lea -124(a2),a2 exg d3,d4 exg d2,d6 exg a0,a1 move.w d3,leng move.b VolA(a6),d7 move.b VolB(a6),VolA(a6) move.b d7,VolB(a6) bsr mix movem.l (sp)+,d0-d6/a0-a4 move.w leng(pc),d3 exg d0,d4 bsr play exg d0,d4 move.b VolA(a6),d7 move.b VolB(a6),VolA(a6) move.b d7,VolB(a6) tst.b ChangeADR(a6) beq.s nochadr1 move.l SamRep2(a6),124(a2,d5.w) nochadr1: cmp.b #1,MixDon(a6) beq.s offsam1 b2 brts offsam1:clr.l (a2,d1.w) clr.l 124(a2,d5.w) moveq #0,d4 moveq #0,d5 moveq #0,d6 moveq #0,d0 moveq #0,d1 moveq #0,d2 clr.b MixDon(a6) rts noreplace add.l d3,(a2,d1.w) bsr mix movem.l (sp)+,d0-d6/a0-a4 bsr play tst.b ChangeADR(a6) beq.s nochadr2 move.l SamRep2(a6),(a2,d1.w) nochadr2: cmp.b #1,MixDon(a6) beq.s offsam1 rts ; --------------- robot ------------- MakeBuff_ROBOT: move.b #1,MBRpointer(a6) tst.l 124(a3,d1.w) bne sampleloop_R movem.l d0-d1/a4cpx-a5,-(sp) move.l BuffMixADR(a6),a4 move.l 124(a0,d1.w),d0 add.l (a0,d1.w),d0 move.w d3,d7 subq #1,d7 move.l (a2,d1.w),a5 cmp.l d0,a5 bgt realsampleend move.l a5,d1 copy_loop_R: cmp.l d0,a5 bgt sampleend move.b (a5)+,(a4)+ dbf d7,copy_loop_R movem.l (sp)+,d0-d1/a4-a5 add.l d3,(a2,d1.w) rts sampleloop_R: movem.l d0-d4/a4-a5,-(sp) move.l 124(a3,d1.w),d4 add.l (a3,d1.w),d4 add.l (a0,d1.w),d4 move.w d3,d7 subq #1,d7 move.l (a2,d1.w),a5 move.l BuffMixADR(a6),a4 codW#py_loop2_R: cmp.l d4,a5 bge.s makeloop_R move.b (a5)+,(a4)+ dbf d7,copy_loop2_R movem.l (sp)+,d0-d4/a4-a5 add.l d3,(a2,d1.w) rts makeloop_R: move.l (a3,d1.w),d0 add.l (a0,d1.w),d0 copy_loop4_R: move.l d0,a5 copy_loop3_R: cmp.l d4,a5 bge.s copy_loop4_R move.b (a5)+,(a4)+ dbf d7,copy_loop3_R move.l a5,(a2,d1.w) movem.l (sp)+,d0-d4/a4-a5 rts RobotEffect: tst.b RobotEnable(a6) bne.s NoROffCH move.b #1,Offenable(a6) NoROffCH move.b #1,RobotEnable(a6) bsr MakeBuff_rea*8obot tst.b Fast beq.s NoCopyFromFAST3 bsr CopyFromFast move.l (a6),BuffMixADR(a6) move.b #1,MBRPointer(a6) NoCopyFromFAST3 move.w d3,MainDTALEN(a6) bsr RobotMain bsr Replace_R rts RobotMain: tst.b d2 bne.s NoOldRobot move.b RobotOLDVal(a6),d2 NoOldRobot move.b d2,RobotOLDVal(a6) moveq #0,d7 move.b d2,d7 add.w #80,d7 move.w d3,d4 lsr.w #6,d4 lsr.w #2,d7 mulu d7,d4 cmp.w d4,d3 ble.s CLRrobot sub.w d4,d3 addq #1,d3 bra.s NoRobot CLRrobot: moveq #2,d3 NoRofB^bot: moveq #0,d4 rts play: move.w d0,MainPeriod(a6) move.b #$40,MainVol(a6) cmp.b #1,OffEnable(a6) bne.w NoSet3OnEn cmp.w MainDTALEN(a6),d3 beq.s NoSet3OnEn move.b #1,OffEnable(a6) clr.w NoteCount(a6) move.l BuffBegAdr(a6),(a6) bra.s NoSet2OnEn NoSet3OnEn cmp.b #2,OffEnable(a6) ; jesli jedn. dwa mix sampl. to wait bne.w NoSet1OnEn move.b #1,OffEnable(a6) clr.w NoteCount(a6) move.l BuffBegAdr(a6),(a6) bra.s NoSet2OnEn NoSet1OnEn cmp.b #1,OffEnable(a6) bne.s NoSetga4OnEn cmp.w #100,NoteCount(a6) blt.s NoSet4OnEn clr.w NoteCount(a6) move.l BuffBegAdr(a6),(a6) bra.s NoSet2OnEn NoSet4OnEn clr.b OffEnable(a6) tst.b Fast bne.s NoSet2OnEn tst.b PlayPointer(a6) beq.s NoSet2OnEn clr.b PlayPointer(a6) move.b #1,OffEnable(a6) clr.w NoteCount(a6) move.l BuffBegAdr(a6),(a6) NoSet2OnEn move.w d3,MainDTALEN(a6) tst.b Fast bne.s CopyFromFAST rts CopyFromFAST: move.b #2,MBRpointer(a6) movem.l d0-a6,-(sp) move.l BuffMixADR(a6),a5 move.l hZ}IJ(a6),d1 and.l #$ffff,d3 add.l d3,d1 cmp.l BuffEndAdr(a6),d1 ble.s NotEndBufM sub.l BuffEndAdr(a6),d1 move.w d3,d7 sub.w d1,d7 subq.w #1,d7 move.l (a6),a4 bsr copy_loopM move.l BuffBegAdr(a6),(a6) move.l (a6),a4 move.w d1,d7 subq.w #1,d7 bsr copy_loopM bra.s CopyDoneM NotEndBufM move.l (a6),a4 moveq #0,d7 move.w d3,d7 subq #1,d7 bsr copy_loopM CopyDoneM move.l a4,(a6) movem.l (sp)+,d0-a6 rts db_end: move.w #$f,$dff096 clr.w $dff0a8 clr.w $dff0b8 clr.w $dffi t 0c8 clr.w $dff0d8 bsr FreeMixBuffers rts GETVOL1:MACRO move.b (a0)+,d1 move.l d1,a4 move.b (a4),d1 ENDM GETVOL2:MACRO move.b (a1)+,d0 move.l d0,a5 move.b (a5),d0 ENDM mix: move.b #1,MBRpointer(a6) movem.l d5/a2,-(sp) lea sample_starts,a4 lea (a3),a5 ; smaple repeats move.l BuffMixADR(a6),a2 moveq #0,d2 move.w d4,d2 move.w d3,d7 subq #1,d7 moveq #0,d0 move.b VolA(a6),d0 cmp.w #$40,d0 ble.s mix_volok1 move.b #$40,VolA(a6) mix_volok1 moveq #0,d0 move.bj% VolB(a6),d0 cmp.w #$40,d0 ble.s mix_volok2 move.b #$40,VolB(a6) mix_volok2 tst.b OldCPU beq.s _68020 move.l d3,d6 lsl.l #8,d6 lsl.l #4,d6 divu.w d2,d6 and.l #$ffff,d6 lsl.l #4,d6 bra.s _68000 _68020: move.l d3,d6 swap d6 divu.l d2,d6 _68000: tst.l 124(a5,d1.w) beq.s nosamloop2 move.l (a5,d1.w),d4 add.l 124(a5,d1.w),d4 add.l (a4,d1.w),d4 tst.l 124(a5,d5.w) bne.s doubleloop bra samloopmix2 doubleloop move.l (a5,d5.w),d0 add.l 124(a5,d5.w),d0 add.l (a4,d5.w),kP d0 bra samloopmix3 nosamloop2: move.l 124(a4,d1.w),d4 add.l (a4,d1.w),d4 tst.l 124(a5,d5.w) beq.s nosamloop1 move.l (a5,d5.w),d0 add.l 124(a5,d5.w),d0 add.l (a4,d5.w),d0 bra samloopmix1 nosamloop1: move.l 124(a4,d5.w),d0 add.l (a4,d5.w),d0 move.l d0,d5 ; -------------- mixing norm. sample + norm. sample movem.l d3-d4,-(sp) moveq #0,d0 moveq #0,d1 move.b VolA(a6),d0 move.b VolB(a6),d1 lsl.w #8,d0 lsl.w #8,d1 move.l VolTabPTR,a4 move.l VolTabPTR,a5 add.l d0,a4lx add.l d1,a5 cmp.l d4,a0 bge.w sammixloop1_11 cmp.l d5,a1 bge.w sammixloop1_111 move.l a0,d0 add.l d3,d0 cmp.l d4,d0 bge.w sammixloop1_1111 move.l a1,d1 add.l d2,d1 cmp.l d5,d1 bge.w sammixloop1_1111 sammixloop1_1: move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l #$10000,d4 mixloop1_1: GETVOL1 add.l d4,d2 cmp.l d2,d3 ble.s newdata1_1 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_1 bra mixdone newdata1_1: add.l d6,d3 GETVOL2 add.b d0,d1 move.myqb d1,(a2)+ dbf d7,mixloop1_1 bra mixdone ; test d5,a1 sammixloop1_11: move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l #$10000,d4 mixloop1_11: add.l d4,d2 cmp.l d2,d3 ble.s newdata1_11 move.b d0,(a2)+ dbf d7,mixloop1_11 bra mixdone newdata1_11 add.l d6,d3 cmp.l a1,d5 bgt.s mixgoon2_11 clr.b d0 move.b d0,(a2)+ dbf d7,mixloop1_11 bra mixdone mixgoon2_11 GETVOL2 move.b d0,(a2)+ dbf d7,mixloop1_11 bra mixdone ; test d4,a0 sammixloop1_111: nmoveq #0,d0 move.l a4,d1 moveq #0,d2 moveq #0,d6 mixloop1_111: GETVOL1 cmp.l a0,d4 bgt.s mixgoon1_111 move.b d0,(a2)+ dbf d7,mixloop1_111 bra mixdone mixgoon1_111 move.b d1,(a2)+ dbf d7,mixloop1_111 bra mixdone ; test d4,a0, d5,a1 sammixloop1_1111: move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l d4,a3 move.l #$10000,d4 mixloop1_1111: GETVOL1 cmp.l a0,a3 ; a0,d4 bgt.s mixgoon1_1111 clr.b d1 mixgoon1_1111 add.l d4,d2 cmp.l d2,d3 ble.s newdata1o}_1111 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_1111 bra mixdone newdata1_1111 add.l d6,d3 GETVOL2 cmp.l a1,d5 bgt.s mixgoon2_1111 clr.b d0 move.b d1,(a2)+ dbf d7,mixloop1_1111 bra mixdone mixgoon2_1111 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_1111 bra mixdone ; -------------- mixing norm. sample + loop. sample samloopmix1: movem.l d3-d4,-(sp) move.l (a5,d5.w),d1 add.l (a4,d5.w),d1 move.l d1,SamRep1(a6) move.l d0,d5 moveq #0,d0 moveq #0,d1 move.b Vop lA(a6),d0 move.b VolB(a6),d1 lsl.w #8,d0 lsl.w #8,d1 move.l VolTabPTR,a4 move.l VolTabPTR,a5 add.l d0,a4 add.l d1,a5 cmp.l a0,d4 blt.w sammixloop1_22 move.l a0,d0 add.l d3,d0 cmp.l d4,d0 bge.w sammixloop1_2 move.l a1,d1 add.l d2,d1 cmp.l d5,d1 bge.w sammixloop1_2 bra sammixloop1_1 sammixloop1_2: move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l d4,a3 move.l #$10000,d4 mixloop1_2: GETVOL1 cmp.l a0,a3 bgt.s mixgoon1_2 clr.b d1 mixgoon1_2 add.l q yd4,d2 cmp.l d2,d3 ble.s newdata1_2 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_2 bra mixdone newdata1_2 add.l d6,d3 GETVOL2 cmp.l a1,d5 bgt.s mixgoon2_2 move.l SamRep1(a6),a1 ; samrep1 mixgoon2_2 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_2 bra mixdone sammixloop1_22: move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l #$10000,d4 mixloop1_22: add.l d4,d2 cmp.l d2,d3 ble.s newdata1_22 move.b d0,(a2)+ dbf d7,mixloop1_22 bra mixdone newdata1_22 add.l r 3:d6,d3 GETVOL2 cmp.l a1,d5 bgt.s mixgoon2_22 move.l SamRep1(a6),a1 ; samrep1 mixgoon2_22 move.b d0,(a2)+ dbf d7,mixloop1_22 bra mixdone ; -------------- mixing loop. sample + norm. sample samloopmix2: movem.l d3-d4,-(sp) move.l 124(a4,d5.w),d0 add.l (a4,d5.w),d0 move.l d0,d5 move.l (a5,d1.w),d0 add.l (a4,d1.w),d0 move.l d0,SamRep2(a6) moveq #0,d0 moveq #0,d1 move.b VolA(a6),d0 move.b VolB(a6),d1 lsl.w #8,d0 lsl.w #8,d1 move.l VolTabPTR,a4 move.l VolTabPTR,a5 s AI add.l d0,a4 add.l d1,a5 cmp.l a1,d5 blt.w sammixloop1_33 move.l a0,d0 add.l d3,d0 cmp.l d4,d0 bge.w sammixloop1_3 move.l a1,d1 add.l d2,d1 cmp.l d5,d1 bge.w sammixloop1_3 bra sammixloop1_1 sammixloop1_3 move.l a4,d1 move.l a5,d0 move.l d6,d2 move.l d6,d3 move.l d4,a3 move.l #$10000,d4 mixloop1_3: GETVOL1 cmp.l a0,a3 bgt.s mixgoon1_3 move.l SamRep2(a6),a0 move.b #1,ChangeADR(a6) mixgoon1_3 add.l d4,d2 cmp.l d2,d3 ble.s newdata1_3 add.b d0,d1 move.b d1,t :u(a2)+ dbf d7,mixloop1_3 bra mixdone newdata1_3 add.l d6,d3 GETVOL2 cmp.l a1,d5 bgt.s mixgoon2_3 clr.b d0 move.b d1,(a2)+ dbf d7,mixloop1_3 bra mixdone mixgoon2_3 add.b d0,d1 move.b d1,(a2)+ dbf d7,mixloop1_3 bra mixdone sammixloop1_33 move.l a4,d1 move.l a5,d0 mixloop1_33: move.b (a0)+,d1 cmp.l a0,d4 bgt.s mixgoon1_33 move.l SamRep2(a6),a0 move.b #1,ChangeADR(a6) mixgoon1_33 move.l d1,a4 move.b (a4),(a2)+ dbf d7,mixloop1_33 bra mixdone ; -------------- mixiu6`H z.:00"Jp04OC "qpE#T zJ(g&TG@|?~g$Q`BQRQ`H/0<2<4<6<8<:<<<~?$$0$$@$$P$ $`XQ$3@XC<3B :3@3|@rAC"XQLNu/0<a  NuH zRJ :00eBJJ9ng6a `ha`0: hS@M dKHaL`KM4QNuBy\6: 8SC z2: (KM tHa$L`Xp.a M4RBKQ`Jfa,,t. Jg  fNq&zC \B3S <$Ђs <CЂ3C-q( < #('(6Ђ&3-C-C. <,Ђ&3g, .Ѓ-@ -@* <Ђֳ-C&3-C` .-@ -@* <Ђ&3-C0@g60.@. g g fa`aL`H2Ap.H4<@ԂHB=BL0.@ @g0.a ."fB.."fB.! .a .a JfB p-@a 0.a bP20.y\`na 09\@a a 2: 4SAKM * . a h .a :KM4QRyR9mg nB9mJ9ngS9ngSyRJ9kgQkp0:3RByh0:dzffH0:p3RBy $hB9jR``":Bz8eB`/ $z$j\N$_aJ9jfA1z1z 1z *zNLNua p.`a0.@gb. g^ g g* g gf g g g8"0.a  g gNu0.`p : VH@ @g @g4.`2p.` p.@A6r2.~$40PdTQNuH`2p.H4<@ԂHB0L`BJJfvlp.9lln0.@ @qj nnq0.@`JJf&lB@.9lln0.@ @ % VXk nnX0.@`/4BAJppd T@ @JepF40 _H2p.H4<@ԂHBL=B0.B.@g l|NuBnNu.g@B.Jngbp.J.fn0.nn$=nBn`n0.nm =nBn4..#gAppd T@ @JepF40H2p.H4<@ԂHB0aLNu.g$.g.gB/ .IH@t."g  g<`J.j<``4.@J0.J.kB`Ba .H@<.(_Nua`a`/ .g$. g &7.gB .!IJH@t." g  g<`J.j<``4. @Jp.J.!kB`BjB@ @@c0<@a. H@<.!(_XNup.g@$.$Hl ѮNu-|Nup.Jg. .@k|@.Nup..jB..NuH`p. xb$f": p z(/Sf/ $z$j\N$_S@L#`ByhPjNup. @cp@@Nup.$ z b3hPjNu.@gT @ e@3pH$<*zb"m )f$<OM`$<;B6 mdNLNuBJ 'XF~+3PNuNu. g g gZ g gt g0`. g\ gP g gT g g g g g( g8 gJ gNu.aNuJJfb.g&J.(g.(gH3&hPkNu@(`0:=@&Nu.."."Nu/p.gx"9Jf2.Afd"9JHAJAfT0.a .a .a0.ap.a0.aa . a .av0.aN"NuJJf~p.`4JJffp.`>p.JfD(~9B.Nup.Jf*0@g /`>JJfp.J9nfRmNuJJf..#.#JgH@p.#g>A0.).)g*B.) . r".ЁЁ n*Re n -H*pLNuNuH2 AIA6CK;0*y4-F fpNL NuH@2 AIA*yNL NuH@2 AI bp*yNL NuH@2 AI*yNL NuH*y2@N L NuNu  +@1JaxŴxaJ1X(\:}hS@. )+xq*+ Js V^fnv~~v<FLdntNTbh  : @ F D  J $*hR`(@jv$Z`x~bz \ D D ,H6}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876 E+DigiBooster1.7p--H~,..Hv     ,//H}4UTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! ,00Hh~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWV,11HT,22H@n-,+*)('&%$#"!      ,33H,,utsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.,44H~}|{zyxwv,55ܐ,,7,p-\l@8@>&\I9-,xN(@pJfA\NA\N.C-pNhJgX#-HNmL,yN|"<t9GA&B(<,y-Nv,yNv"y-NbJg N|"GNpNuDigiBooster V1.7V(8B^r\l,xNa,xN|,y-A"NdpNup9J @ lKJ,x"<N(Jg3,x0.(ggB9gB9gB9J9gB93 #a,8QzJga|`4,xC-pNh#-,xC'&p'NJg#QJ3,xC'&pNh#QJ,xCԹpNh#da`aa&aeA٦ayAay u saKN-NKNlNNLNNaNA:aJAQaJAaJAɨaJfAIaJAaJ~ <M#E3 3H@3 3H@&p#E3 3H@3 3H@&p#E3 3H@3 3 <3@3 H@3<3 H@ 3H3 H@3D3 H@ 3P3 H@3L3 < H@3,918H@3< < H@3(3 H@3,3 $ < 3t3 H@3p3 H@3|3 H@3x3 H@NnaLLAKaIA#aIaBNNhAhC><"QJQNg1a/aGaNҞNլJԒg1AaH yndfC yndfC yndfCN3FS(Jy g,y-rN:Jy fNb3aFJy~f 9ugaNZaJhJyfN8JyfNJyfNZJyfNJyfNzNbaF2Jy~f 9ugapNZa,:űIJyfN8JyfNJyfNZJyfNJyfNzJ9ofBykh9f y*f 9@fBy~Jyg"aB`"|,yQJN"NNNuJJB9J3a<8HAhNE6LNFJygJJaEa<.B9o`:NN8DaKdaINgNaG*,x"y-Nb,x"yQJNb,x"ydNbNgN)VavpNuHA4dCP3htLZ yg\SyfTKZ>9SGO 5p|g>"upQP,yN.,yM 6p"up+p|PQ,xN4By5DaNaJy,;0faRNzJy5BfNJy5BgaLNu>9S"yS$g3S"S$aL2aKNu PgjH*B "@@A@B*E*,BHIXX |M B~o$ |fJy5Bf | B&E&B{E{EPC$&@SAHaJL JPHaJLHAaLAAAaLNuJogBo hgHL*B "@@A@B*E*,BHIXX |M B~o$ |fJy5Bf | B&E&B{E{EPC$&@SAHaL JPHarLHAapr9]@9@oSA Al2<@lRA Ao2<Nu3kd3kf3kN <H@3H@3p9@H3JyfDrt09T@99@n@op9Y@9\B@nn@oh9fV3kf3kd3kN3p9]@ @l Nu @oNuByNuByByByNu |CprNNu |CprNNu |,=CprNNuJ9ofh3 33Bo yJygLaWaWa`^a:B9JJCMahaaRafazNuJ9of yBo^uXsa~rB9aVa@FJB9JJyAga:HNuA|~b""""""""""""""""""""QCQNuJ9Dg #listX` #normXp9EAN gJ9Fg #ON j` #OFFjJ9Glp:0o-n` o_n90nJ9Hg #ON r` #OFFrJ9Ig #ON v` #OFF,>Dvp:ALNJ9Lf #4KB  9Lf #8KB  9Lf #16KB 9Lf #40KB:0:0:0:0:0:z0:m0:`0p:QANp:BAN/J9Wg# #All`# Joi#nedp9JAN CXAxprN 90efCf`CeAprNCjAXprNCnA prNCrA8prNCvAprNCAp, ?UrNCAprNCAnprNCA prNCA prNCAZprNCAprNNuDBconfigS:DH1:MusicDH1:Music/SamplesK on off c-3 9D`R9E 9 EfE`f 9, @NF`ZR9G 9GfG`> 9H`2 9I`&H~90R G f~p90 JL`H~90R G f~p90 GJL`R9K 9KfB9KaZ`R9L 9LfB9L`zAaaZ`nAVaN`bAKaB`VA@a6`JA5a*`>A*a`2Aa`&Aa`R  fNuR9U 9UfU`R9V 9 VfV` 9W`J9of$# C A#HNNuJ9gT0:J@gJC @, Af "c-3` @f "c#3` @f "d-3` @f "d#3` @f "e-3` @f "f-3` @f "f#3` @f "g-3` @f "g#3` @f "a-3` @xf "a#3`| @qf "b-3`l @f "c-2`\ @f "c#2`L @}f "d-2`< @hf "d#2`, @Sf "e-2` @@f "f-2` @.f "f#2` @f "g-2` @ f "g#2` @f "a-2` @f "a#2` @f "b-2` @Xf "c-1` @(f "c#1` @f"d-1`| @f"d#1`n @f"e-1`` @f"f-1`R @\f"f#1`D @:f, Bd"g-1`6 @f"g#1`( @f"a-1` @f"a#1` @f "b-13CA#Ha~B9NuJ9of>9SGO yC,Jp|fTJg8#p#p|BBaDaDCAa~r`ABp#pp|g2`#p#p|BpBp|aDVaDCA`~*Nu>9SGOp9@@E"2paV yC, 1p#pѱp|$1p|nSձp#p|aCaD9g 3NuByN oNuቂNu>9SGOp9@@E"2pa yC,pn"<, CٚA#p|ұppo "2pp#p|aC9SGOE"2pg yC&1pgphC,$1pga8`<@gE"2pC,$1pԃxa TwNu o B@NuቂB@NuhxNuaaPaJyf&Jyfz899A[aXnJgNuJ9gX9fB9NNu99g.aNt:m@Jant9 BBl<B Bo<@JaBt:1@J_B>9SGO yA(0p lገp` p,Dپ 9Bfx 9f(0p#t:@J_B(0p lገp` p 9Bfx 9f(0p#l&9##9:OftNu9f:t9 BBl<B Bo<@JaNNuK"0HFBM~?PQNuA"><rfQNug`|QNu g. @g4 g: g@ gF gL gR gX`|QNu|QNu|?QNu|QNu|QNu|QtNu|QhNu|Q\Nu g0 @g0 g6 ,ErͰxg< gB gH gN gTQNuQNu|Q Nu|QNu|QNu|QNu|QNu|QNu|QNu|r g Jg QQNuJ9of3ɦNuJ9of3ɦNuJ9of.A*Cjx~+|""""""""2C.QC~+Qaaa&9gJ9of9fo`B9oz899AhaTxJg:AfaTjJg\AdaT\Jg~AbaTNJgAaT@JgAvaT2Jg`A\aT$JgnA6aTJgA4aTJg,AaSJgAaSJg/ yoa ,FjG _as`NuJ9ofBoa 4aa J9ofBoCjx~+|BBBBBBBBBYC.QC~+QaJg$t:@Jat:@JaaBy5DB9oNuRy yXm3Xaas,9gT`Sy yqn3qaar9g$`bRy yXm3Xaar9g`2Sy yqn3qarar9g`~ 9?far|QB9o`p09Aa{CA>auNup09Aa{vCAauNuJ9of3,G8R3aa`J9of33a~a`J9of 9a`J9f #` #AC0auNuJ9of3aa4`J9ofl3aa`tll0:>z:zSGOA 0pg#,xP"<N:JgP#AZ<:zSFN.0`| p`"@a z. #SG<:znSFNCZ"q`Qa~K,HiZ>:zLSGO 5p|"upQP,yN. :H"zaNJJgVA9SGO#p$ѹ$,Kj/#$`::tSEMKZ#P$#P|$0:2:~>@mx`xH46<d zz,:zgtl~0g SGS*Hƒ Amr AnrASlD,Q ,,:,g$SFHƒ Amr AnrASFlNu3&3&3&33 33 3 3 HAC~;QLNuH3&3&3&3 3 3 A"C~;QLNu3&3&3&33 U3 3~ 9?fahQ3&3&3,LCT&NuAREadAEaVAJEaHAEa:ABEa,AEaA:EaAE`>9SGOCZ$0pftJfVg^gP$gV 1pgP"1p|gJ` og&BA_Nuቂg BA_Nu$`NuaJ9ofJ*g 9*AZ>9SGOаp|,x,P"<N:JgP*AZ"pp"9 @JgSJf":V$zNSJfEZ"2p|JgSJfAZ 0p|g "ppQPN.AZ!p!p| yA!,M|cpBBBy5Da+aaFNua@aNuJ9ofBBa\tB@JaNuJ9of2AZ>9SGO#p|#p|a"4<@JaDNuJ*g ,x :^"zVQPN.B*B*Nua>J9ofAZ>9SGO 9*"9*#p*#p|*!p!p| yA!p yA, 9*"9*#p*#p|*!p!p|BBBy5Da*xaPaNuaJ9ofxa( 9"9gX,x#* P"<N:JgLP#*B*B*AZ>9SGO pp"@":4SJfBy5Da)aNuB*B,N"*avaNuJ9of##azNuJ9ofF#AZ>9SGO#p|aJtB@Jan$<@Ja^axNua~J9ofP 9"9AZ>9SGOJf"0p|"pp$IggbDSJfBy5Da(aNuaaJ9ofH 9"9AZ>9SGOJf"0p|"ppgESJfBy5Da(a0NuaJ9ofl 9"9AZ>9SGOJf"0p|"ppg4.H4@0JAkAA`DAAA Bot BltSJfBy5Da(aNua@J9ofP 9"9A,OmZ>9SGOJf"0p|"ppgSg)SJfBy5Da'aPNuaJ9ofH 9"9AZ>9SGO"ppgBSJfBBBy5Da'\a4aNuaJ9of 9"9gAZ>9SGO,xN|"pp 0p|QPN.AZ"pp 9"9!p!p|  yA!pPQN4NvBBBy5Da&aaRNuaJ9of 9"9gAZ>9SGO$pp"pp$0p|&րJgSJf,yN|"pp 0p|QPN.AZ"pp!p| yA!p PQN4NvBBBy,P`a.5Da&aaNuJ9of2aSJyf&aa BBBy5Da%aabNuJ9ofXa",31V31X3Nga0091V@3091X@3a`*a! a%^NuJyg@B1ZB1^B1ba,x"<N(#1Z m"<N:JfNuP#1^ap0:DHAKM1@1@p@1@1@p:<AdC(EGI6<4<:<Oxg9C~p2IA0022  QRJQ̕P9gv9 f333"y,Q1^EGIr4<6<(:Qg4Rg 9fS#1b,y 91Z"y1^QN.By5DJ1bgdN9@,y"y1^Q 91bPN4>9SGOAZ!1bp|!1^p yA!1bp yA$O@pNuA(><?BQNuK"~?p********************QNuK~p**********QNu>9zzg35Da`>9SGO$yEJpgCAa``CAa`BB>9SGOEZ rp,2p|glK,RIޮMd roX lᎌpgSrt:<oRB8L.&0S@CSG6F 0vQQNu*<pFt>SGrzچ$^B8L 60vFCQNupSrt:<oRB8L.&0S@CSG6F 0vQQNu#AX4Adp><0@PQ`lArJh^grAJC[ ([H")fXE3 ([L$([PabE3 ) $)aPL2L88f$gRDgRDg`A[ C,1iLÖNu<"HA2$$$Nuy4 y>N4o,SWS}f yS(fZRy4 y4fHBy4 Ai4fNu4aa 4C,N3S(Nu zC~QNuAdC"ETG ><; $QNuJy5Bf$AdC"ETG ~;"&QNuA=8C"E ~ "$QNu,ydprA6N`@,ydprABNNu,ydprAPNaNu Sorry, CIA interrupt busy !!! Sorry, not enough memory !!! Sorry, can't open screen !!!*y <$~-.RGЇ# K~НQ#,T+# 9 NuKV,y <$P"<N:JgP#,y-":$<NJg#8@"98@$9&<$N gt~(y,.aQ(yKIZ~a*Q,y-"98@N,y .g .g .g .gNuMC~BQNu~Nu~NuBXLHCN3FS(LNu,y <P"<N:JgP*,yJ.f$"98@,y-$&<N gNu"98@,y-$<&&<N g^"98@,y-$<(v69&N g6H$maLNu,y Jg8P"<,UK2N:JgP("98@,y-$&-N gNu(Nu3>A٦B(B(AB(B(A~B(B(AB(B(3}S"axaVa,y <$"yQPN.~KV,y <"UJgQPN.BQ~KZ(yI|,y "UJg:BBQPN.B yE$G,CB`B`:MB2PB2PXFQNuH>9SGOKZ"up 5p|gQP,yN.BpBp| yCE$G,IBpBpBpOB2pB2pLNu(yB,/B,.~~KZ,y <"UJgBQPN.BQI0~BQ, V 9KKV*U><BQNu*yB-J9;g|+|V1.7|,y-"<*$<NJg#8@#$"98@$9&<$N gNKV~a g:Q(yKIZ~a gQ,y-"98@N~Nu,y-"98@NCN3FS(~NuCN3FS(NuJ9;g<r Jf`$JfrRISAQ(3&Nu/ AhC,!W`(E(><rg$`BJfrRISAQ$_a2NuC(~?""""""""XHQNuA(~?$%X%X%X%X%X%X%XXJQNu/ArJa _By> <vH@3H@3B9aCARrpaT$yCbA\praTH 9 A\a[ 9A\a[L_C\A"praTnC\ALpraT\EN><wpaEN><wpa$yEIG2aR9N gfy> efy> y>o3> y >l3 >0:t@E>9>z`gax3>> 9tg.,"X9frz899A4na1hJfVNByByBoNu&pLEPQNu~ 0:@H*yKH0a\ApCHraSL g0HAaZJAaZL_HA>pCraRLEGQL NuAM|*< ,#YB QQAt@|x><  QQA>< sBQNu DIGI Booster 1.7 (c)1996 coding: Tomasz (TAP/INV) Piasta Waldemar (WALT/INV) Piasta For more information about buying, program, your sugestions & bugs report: e-mail - waldek@zakus.ita.pwr.wroc.pl or (if you prefer) Poprzeczna 66/6 51-167 Wrocaw Poland tel. (71)726563E3;I?E<1=51CC8?<5Jy,$ZkEAg3AAByAan`3ANuJyAf3AA`ByANuA ~prtvxzAHHAHHAHHAHHQNu G&g""<#11Nu"<#Nu~+EZ 2в|"ZlMdpr 26R@QNuJyAgJyfJ9JfJy f|a(<&|DJ9f&|E$ yAgM٦CEAvJ.9gBR.J.bfa*MCEAvJ.9g,%[w1i~TEEo T9 RyTEEo T9 RyTEEo T9 RyVEQJynH ByLNuHJ9JgR9J 92JfB9JR9J 9 JfZB9JR9J 9Jf R9JB9J 9 Jf R9JB9J 9 JfB9JB9JB9JB9J{tmf90909090J9f*J9f"JyfJ9JgASCOapraFLNuJyS(m JyS(gSyS(`CHzaM(3S(Nuz|99ByAI LN+JfN8ByAILN+JfN,)_h33By By 3 @3 DNuAzCq <H@33 H@3 3 3hϺa56ACM><""""""""""QByaNZa <Q,y <P"<N:P#VaNuCgJfYI"NuCJggXI`E"fNuCgJfYI"NuC&IJggXI`E"fNu34h,xCONANpCOCONNu4M.H@Jy f"H) g$I"Q f LNua0)a` f QNu$Nu9NgN `g ag dg cg fg g g gl g g^ g bg( g2Jf<2: AdGRyNNuPNNNuQNB9NNuNNuB9NNuNNuB9NNuNNuB9NNuNNuB9NNuNB9NuB9NNu0:JQVg p`pC:pNNuciab.resourcegraphics.libraryQ,xCQNLpNuQ y oHa=LSyRyJy f9f3H~93SJyS&gFByS&*zJ.<S"JQVfGOG`GOGA"XJg HNL`a LpNu~p>:9o2RyS y(S f ByS ByS2:Ao3SaLaNup0:j,-c!Td @mU@AN%CA*NNup09S"ANCANNu}/HJy fD9M:ga-fJyf J9JfaMS*Jy5Bf p9M ?o<?:gj3"<Ҁ 9<Ml 9Ml#`# @` #p9M ?o<?"<KҀ#MS+,z( 9S-g\J9S-f09z f 9M:ga$aTaA# r2:DSA"yC# #4praABUCAp0:AaA~,yM$p2:ASp6AB?CAaAZACBpra9laA1CApra9VALCB pra9D 9AAa@A1CApra9$,x"<N(AAa@VABCAypra8A,0f7BSCAopra8Nu,yMC2:ASp6~Hl ~AAgC@a@+JGg-AZCADpra8Nu,yMr2:@SAI 6AA/a?A4CA$pra8VNu,yM,p2:@pSAI 6AAa?AC@pra8"Nu,yMp2:@Jg+A*a0Jg+Aa"Jg,AaJg,AaJg)AaJg)AaJg*AaJg*AaJg(AaJg)XAaJg)AaJg*VA aJgJ9ugVAaJg.AarJg.AadJg.AaVJg/jAaHJg/Aa:Jg/`pAha*Jg.VANaJg.tApaJg,2hVs.AnaJg/A<0PHQByByNuAF"z~\H><0PHQNu <H@3H@33 Nu<.<>AAP@NuBye3k#k:k#k:e(a^<.<>`Bye3k#k<k#k<e(a.<7<>`Bye3Zk#k>k#k>e(a<@<>`ZBye3*k#k@k#k@e(a<I<>`(Bye3k#kBk#kBe(a<R<>`Bye3k#kDk#kDe(af<[<>`Bye3k#kFk#kFe(a4<d<>`3e z,6l.3k#k#e(a<.<D`d3e zTH3k#k#e(a<7<D`43e zlXH3k#k#e(a<@<D`3e z<\H3k#k#e(av<I<D`3e z PH3k#k#e(aF<R<D`3e z 3k#k#e(a<[<D`r3e z 3k#k#e(a<d<D`@k:J9of@At kHf6 kVa09eJ@g S@H zP3k#k#e(`Nu kHa09eJ@gS@H z3k#k#e(`TkH0: @g @g. @gLNu,7m| ykhgf ykhgZ3khA6`L ykhg@ ykhg63khAJ`( ykhg ykhg3khA^`Nupr9]2<@4<^HHAm Bn @` A`B ykhg ykhg* ykhg>Nu~(G@OO z0@G0`8~(G@OO zp0@G0`~(G@O zT0@G0AF"z\H><0PHQ3kL3kL 3kL 3kd 3kf 3kN ACk:1Y1Y1Y 1Y1Y1Y1Y1ykLA Ck:1Y1Y1Y 1Y1Y1Y1Y1ykLAaAaA&a,8n (AvaAaap3 3 3kL3kL 3kL 3kbJy5Bf3kRT3kR 3kT3kT 3kT 3kT |3kL3kL3kL3kL3kL 3kL 3kL 3kL 3 `3 33kR–3kRÆ3kT3kTN3kTþ3kT>3kR<3kR 3kL3kL3kL3kL3kL3kL3kL3kL3kR=RNu1ykF1ykF1ykF.1ykF>1ykFN09kP33,9oo 24@AB@A@YBJ@lpJAlrJBltBA33 09kN24@AB@APBJ@lpJAlrJBltBA3kf09kN24@AB@APB @o0< Ao2< Bo4<BA3kd33 0:24@AB@A@BJ@lpJAlrJBltBA309kV24@AB@A@B @o0< Ao2< Bo4<BA33 Nu z*0246<@@ABHIHIJ7K_NuxV4w  j  f w  J9ofA"h020,:p'a^avNuk:ABC><2QaXa8NuAPp:*C|><2Qa0aNuwU3w  j  f w  wU3w  j  f w  wU3w  j  f w  jH6w |  6u fD3w  t yW5w    gE#w  j  f w  J9ofb,y-"<nf$<NJgJ#8@"98@$<J&<N gah"98@NaJyga6a~NuJy,;qdK1gCN3FS(3ndNuACfSI ):g )/g/DBconfigBNuJ9ofa,y-"<nr$<NJgT#8@"98@$<&<N"98@$<k:&<*N"98@NCN3FS(NuCN3FS(NuS:DbConfigHACJ "(fXfRARCEk:><T2Q><4QJygCN3FS(3ndLNuJygCN3FS(3ndLNuL@l,<r㧖NuBoNuAlNuCoNu/"H yoga _aL#oopNu*h45h?@hJKhUVh`ahk*4߈5?߈@J@JÈ@JLj@Jˈ@Jψ@Jӈ@J׈@JۈKTԈKT߈U_׈U_ۈak߈a[kfaMkYVM`fKMUf@MJf*M?f,A3E5A<E>AEEGANEPAWEYA`EbAiE,G3K5G<K>GEKGGNKPGWKYG`Kb,=s࠴GiKnEsfyE~fEf*45?KU@J@JKUKU5?5?*@4O*P4_5`?o5p?5?5?@`Jo@pJ@J@J*@> @_@_))@߈  `)`o@OP_,>tσѭ`) P)_p@@J_*`45`?*@4_5@?_al@*A?_*a?~*?@@J_*4@aJ~@aJ~@JK@U_KaU~KU*4*45?5?@J@JV`V`akakV`V`lvlvw,?uLw$J9ofJahaդB9JNuJ9ofpJaƖazB9JB9NuJ9of$RyA yAmnJ9gByAaϰNu9fJtL uMB9o`J9ofy`9fJtL uMB9o`J9of~yt`t9fJ,@v3tL uMB9o` J9ofy` 9fJtL uMB9o`J9ofyL`9fJtL uMB9o`LJ9of@yM`69fJtL uMB9o`J9ofy`9fHtL uMB9,Aw}o`xJ9ofnyu`f9fHtL uMB9o`J9of y `Nu`J9ofB9MB9MB9JB9JB9JB9JJ9MfMAMa҆APa~NONgNOByMB9MA٦aAaA~aAaA٦aAaaJJyfJNONM*NOA~RGJfC# Q#MP3 3 3ByoNuBhBh"Bh$Bh&Bh(Bh*Bh,Bh.B(0B(1B(2B(3B(4B(5B(B(| By,Bxg3MB9MB(9B(:BhdBhfBhjNu~>9M !zV!zZߨZ!zl!z!zߨ!z!z.!z2ߨ2!zD!z!zߨNu 9Lf3M 9Lf3 M 9Lf3@M 9Lf3M,xp09M"<N:JgP#|p09M"<N:JgP#|p09M"<N:JgP#|p09M"<N:JgP#|,x <L":gN:JgxP#|,x <L":gN:JgTP#|,x <L":gN:Jg0P#|,x <L":g\N:,CyٖJg P#|~Nu~Nu,xp09M"zҳg QN.p09M"zg QN.p09M"zg QN.p09M"z~g QN. <L"zdg QN. <L"zJg QN. <L"z0g QN. <L"zg QN.Nu><ARBQNuX Ytu01LٜMٝNuB9JB9J33ɦAMaNgA٦aAaA~aAaa`A,DzKa~aB3 3333ɦByB9oB9MNuJ9of MaNuJ9of3~NuJ9ofJJB9J3anHAhNE6LNFJygJJaadB9oNuJJaaJB9oC$aj3 S(C*BBBBBBBBHa:09ByA+~RyJfa|Q3aԸLNuEVC*p |x ZgaQBy5DNu*<.g|<n`QNuJ9ofbJyg&aBy3 33,E{5M`a333 i3 Xa33ɦ`Nu*zc\v9M500KKV#0`*J9ofaNuJ9of8aܸ y5BJy5Bg <^H@303 0H@343 4 <fH@383 @H@3<3 D <vH@3 3 H@3$3 3 3aRBy By $By(By, <f3=ZH@3=VH@)3=bH@3=^H@)3=jH@3=fCA#HaaNua < H@38H@3< < H@3(3 H@3,3 $By0By4By 0By 4By By$By By By @,F|^lZKBy D3 NuJJB9J3aHAhNE6LNFJJaȖ`J9offCqa3S(9fz899AaVJg A|aHJg@Axa:JgFNu9O yCon><?J9wg y><0g:J9xg ayf&@Gon[mE0om0<qPPXHQaNux`B9xJ9ofv>9O yCon><?J9wg y><0g:J9xg ayf&@Gon[mE0onl0<XPPXHQaNux`B9xJ9ofp>9O yCon><?J9wg y><0g4J9xg atyf @Gon[mE0olPPXHQaNux`B9xJ9ofr>9O yCon,H~ĿI><?J9wg y><0g6J9xg ayf"@Gon[mE0onmPPXHQaNuJ9wga Nu&zH<$zH<>9<O aH6S-NuJ9ofRy y fBya'naNuJ9vg$A Crpra bA Cbpra PNuJ9ofJ 9sJ9sfCUa3FS(#n`C'a3FS(#n`Nu1off J9ofNJ9vgB9vta\NuvCAaCMAata4`NuJ9of waNuJ9of waNuJ9wgDA CMa,I_rA@CPafACMaVA8CPatNuA CMa4A@CPaRACMaBA8CPaNuBB&pBLBB&tBLBB&pBLBB&tBLNu B&pBL!|B&tBL"B&pBL#|B&tBLNuJ9of$B9v 9tCaCMaNuAt`J9tfA |~+""""""""""""C QCQNuJ9of" 9uCHaCMaahNuA>J9ugA.@|~+""""""""C0QCQNuJ9ofRp9M,zZ2 ./g<@,JFg"UGm<K(QB,K(QaNuJ9ofFp9M,zYJ./g2./fS9MS./M0><@g SGRNQB.aʂNu,zYp./r9MAoR9M9gaNuJ9MgS9M9gaNu(zYNt,.r,/I0|9M4`od4`n:,y <P"<N:JgDP*zYR-.~-.OKV+pR4`aaaV9g a>B9oNuCN3FS(Nu,zXr./,zXM0p9MJ6o$S6apa*aX9g aB9oNu,zXjM/9f p @oa*aNu l RaaNu,K3q,zX*M/9f JlBaavNuJg SaafNu,yMC2: fSp6HR@ @o0<a:9ga*Nu,yMC2: *Sp6H@ @l0<a9gaNu yl*RyBBaa9gaNu yo*SyBBazaǚ9gaNu,zWM$r2: S @gRaj9gaRNu,zVM$r2: RSJgSa>9ga&NuNur2: ,SAIK,zVM9f* B?o,B?*a>Nu B?g R*a,aNur2: SAI3,z,Li7VDM, ,zV8MЖ,zV,M9fo,aNug SaahNur2: pSAI,zUM ,zUM,zUM,9fl,aʲNug RaʦaNur2: SAI,zUM,9fJlBarNuJg SafaNur2: SAI,zUTM ,zUHM,,zU7GL GSk&pkPk&GPQTH`MJgIL~|,BQI#QtIGpg,g(R@ E pH|GLGLGPQTH`NufIGpg&@ E 8H|GS GS!GPQTH`NuIt seems to be OK...Mark block...Copy block to bufferCut block to bufferJoin block,Oi to bufferCut & join blockPaste block...Insert block...Cut block (notes up)Cut to end of trackSwap track with ?Done...Low octave chosen...High octave chosen...Cut track to bufferCopy track to bufferPaste buffer to trackCut pattern to bufferCopy pattern to bufferPaste buffer to patternSorry,not enough memoryDIGI Booster module Pro Tracker module...Fast Tracker (8chn) modFast Tracker (6chn) modUnrecognized mod. type!Decrunching PP file...Can't decrunch (no mem,Pσ%)PT 100 patts module!Can't load, no memory!Use num. keys to playNum. keys disabled...Play with economic modeSorry can't convert modRIFF WAVE sampleIFF Oktalyzer module...Module/Patts/Smpls/DropKey skip = Loading PP file...Can't open file!Not a track file!Not a pattern file!Ram Disk not found!No mem for all samples!Bad IFF structure!Bad RIFF WAV structure!LHA extracting...LHA extracting Error!XPK decrunch ( )XPK decrunch Error!XFD decrun,Q-xching...XFD decrunch Error!Multi keyboard onMulti keyboard offOptimizing module...H0~|QE G QL NuH` HA1EGha a aGpJfLNu@ E H|G + +P+ G! ++ +Q+ GPQTH`~ 0f| Q|0NuRHQB(NuH`H0v0" 'l0000`<'HAt4HABAHAdBAHA BAHA"BAHAdBAHA BAHALNu,R^bH#&H IpC:E,yNLNuNu%09ld%9ld%02ld$%05lx%08ldName:Song:Samples:K00:00,SA)xxp`xx?x?xx99?x8xxxxxxxxx|>~~{yxxx~{yxx~x>x<<x>sxxxxx<<xxx88pxxxxy;xx<<<~~{yx~{yxx~<<>x<x`aDJ9 fa0`a6J9ufa"`a(J9,\-.{fa`aJ9Mfa`a NuA `A ."""""""""""NuS-CFF| z",4:"JJCg 0:"$<@@>:!SG Gg6G F?oF?F Jhf1|oa>Q3S-Nu Jhf1|oQS-NuCS-0:!S@2:!@nA z!4:!J>@@@ Cg Cf6 y@l0:!T@@yRy y@o3@` 3Ry Cg" Cg"QByByS-Nu" oQByBy3S-Nu3S-NuJy g 3ɦB9J9NfJ9Ngy,]ĆBBa`<090ZlCax3FS(`rJygJyg JygJyg:,B9N Ha 6LJ9Ng> UfM0:MB9N`ʆ SfM0:MB9N`d QfM0:MB9N`B OfM0:vMB9N` MfM0:^MB9N` fB9NB9`b f B9NN \ f B9NNuJyfP f B9N`٦ 9f B9`Ӵ f B9N`א fB9NB9N`JygJygJyf,^V7 AgrJ9Ng8 f B9w`6 f B9w`հ f B9w` f B9w`v f B9w` f B9w`z f B9w` f B9w`@ f w`Դ f w`, f w`p f w` f w`v f w` f w`2 f w`Ӱ g gJ9g g B9NB9J9Ng f`՞ f 3` f 3` f 3` f 3` f 3`| f 3`j f 3`X f 3,_,`F f 3 `4 f 3`" fN.Jy5BffJ9of\ Uf:J9Ng#pΎ#lΒ3pΖ`##3 Sf:J9Ng#0Θ#,Μ30Π`##3 Qf:J9Ng#΢#Φ3Ϊ`##3 Of:J9Ng#ά#ΰ3δ`#r#n3j Mf:J9Ng#pζ#lκ3pξ`#<#834S9N 9Nf B9N [fJ9NfNJ9NgtBy33vaJaByCa3,`1ͮlPS(NB9N`.33?va CaN3PS( YfjJ9Nf:GG ah )a^!@ )aR!@ )aF!@ )a:!@ )a.!@ )a"!@ )a!@a 0:^MNuH" A f@` A f@`" A`f@LNu y>9OC<9~@FUGNH Gg"QL Gg C Qa~ByJ9Ng~ f 3RyzCa3S( f4Jyf 3z` 3pBCazCa`3PS( f3f|vCa(aByByBy3zCbaD3PS(J9Ng, fp0:HC "qQz f yz f33ɦNu9 yf3Jy g 3ɦ`t Kf 3` If 3` Gf 3` Ef 3` f 3` f 3` f 3,d`x kf 3`f f 3 `T f 3 `B f 3 `0 Cf 3 ` f 3 ` f3` f 3` f By`TNu:N J9NfB9NJ9f` 90f B9`X 94fB9oB9` f33ɦ wg fJ9ogB9NB9N`| fjJyg*Byz3 3333ɦ`6Jyf.3z33 i3 X33ɦaÄJ9NgA٦ fhb fh fh: fh ,eEC_fhc fh fh; fh f0bc:; f0bc:;a f8 y Jy gCraٴ3FS(`Cva٢3FS(B9"zJyfC$zv&zn>:"By3b y mCGE y 3 ymCGE y 3 ymCGE y 3 y$mCGE y 3 y-mCGE y 3 y6mCGE y ,f1n 3 y?mCGE y 30:NHA sg(J9Nf"J9NfJ9NfJ9NfJyfa g0)@ @og3ɦJygi @f3}ɦi}`d @f3SɦiS`N @f3ɦi`8 @f3ɦi`" @f3 ɦi ` H3ɦi yfaP yfa yfaT yfRIAa yfRIAa0Jyg$g aS->9g SGa@QNuJyga S-Bya cfJ9NftJ9NfLJy5Bf` yFfH,gZ By` y=g< y4g2 y+g( y"g yg yg yfRy9 y?gF y6g< y-g2 y$g( yg yg y g yfTy9 Ry9 afJ9NfʨJ9NfvJy5Bf^ yf 3F` y?g< y6g2 y-g( y$g yg yg y fSy9 yBgF y9g< y0g2 y'g( yg yg y g yfUy9 Sy9 Jy5BfvaJ9of,h0q h|9 Fl2 yo( yl9f yg 3` gftB9N yf ##3?` <〰 $l8KSy y;m  yl |9 Fl( yo9f y?g 3` efpB9N y?f##By`D < xo8KRy y;o  yn NutL uMHZ l~$-6?J9sg6J9ˊg.AM|>: 0pSFrA0`0` 3Nu {f y ,i+`l0J9Ng 3?`Z 3 ` yl.J9NgH By`hl 3`T yl0J9NgZ 3 `.~ 3` y$l0J9Ngl 3` 3$` y-l0J9Ng~ 3` 3-` y6l.J9Ng 3$` 36`l y?l,J9Ng 3-`H 3?`6 yHl,J9Ng 36`H By`Nu fRI f Nu f TI,j!Nu fTIRNu fTITNu fTIVNu fTIXNu fTIZNu fTI\Nu fTI^Nu fTIPNu fTI Nu fTI Nu fTI Nu fTI Nu fTI Nu fTINu fTINuNu f TINu fTINu fTI Nu fTI0Nu fTI@Nu fTIPNu fTI`Nu fTI,kBpNu fTINu fTINu fTINu fTINu fTINu fTINu fTINu fTINuNuH3CJyɦf J9ɤfB9ɤ4:JBq  y3ɦf`MB"B&B*Bn.MbB"B&B*Bn.MB"B&B*Bn.M:B"B&B*Bn.Byɦ`6Jyɦgˊ3N g2:0 Amq IIq Byɦ*yAZG,I$|zMKNOzMbKNOzMKNOz,lrM:KNOJFgFNO3*yMˋMˌMMMMNPˋMˌMaaB9ˊLNuCBCBCBCBCBCBCBCBNu _f3/ Cfa@3PS("_Nu ]fBy/ CYa3PS("_Nu sf,J9NgB9NTIQNu2oJ9NgQNu f2)Nu f2)Nu f2)Nu f2)Nu f2)Nu f2)Nu f2q)Nu f2)Nu ,m&df2)Nu f2)Nu f2)Nu f2x)Nu f2)Nu f2})Nu f2S)Nu f2@)Nu f2)Nu f2)Nu f2)Nu f2)Nu f2h)Nu f2.)Nu f2 )Nu f2)Nu f2)Nu f2)Nu f2)Nu f2)Nu f2)Nu @0,nWܣ @ @0?AC|?JgVI02g@ @ofBBBBB)Bh` @fCB3` @fC#3` @fDB3` @fD#3` @fEB3`| @fFB3`h @fF#3`R @fGB3`> @fG#3`( @fAB3` @xfA#3` @qfBB3` @fCB2` @fC#2` @}fDB2` @hfD#2` @SfEB2` @@,o֙fFB2`n @.fF#2`X @fGB2`D @ fG#2`. @fAB2` @fA#2` @fBB2` @XfCB1` @(fC#1` @fDB1` @fD#1` @fEB1` @f FB1`t @\fF#1`` @:f GB1`N @fG#1`: @f AB1`( @fA#1` @f BB1`VI046~ hiJ Jg o^0Jg  o^0Jg  o^0Jg  o^0Jg  o^,pa0C@QpNuXH\IBBBBBC@QXNuJyf6A,zN:#ԒJgaNuJyfdefg hijklmnˀpr,qhDӀstu Ԯtopaz.fontintuition.libraryDIGI BOOSTER v1.7 by TAP & Walt 1996J9Ng9N 6gJ 7gB yd 9ԒA:NL>NuJy f$,yQJ#&#2J9ofNg3,r͊( A:NLPAXNL$A6NLPNuJ9of`NuBrB9 y DIGIf<,Ha3C+N3 S(,y-"<$<NJg#8@"98@$9&9N g(,y-"98@NaBT#64N68`,y-"98@NaCN3FS(aBNKalCN3FS(aANK#8r OKTAfCa`3FS(<` M!K!rfCa83FS(<` M.K.rfCa3FS(<`h 8CHNrfCa3FS(<`B 6CHNrfCa3F,sPjS(<`Ca3FS(NXNK z A~pr: AoQ~: RG$$z E*|x8؄ބEQ#a Jf*NXCN3S(><(aAbNKNu z >A"z 2SG/RHE0vRCxz|~RDFnDlBFnQ z "z ~EGއ(~>އ"~> Gf~އ$Q"z PE. z LAEGIKQ( z @A<~: RG`. 8CHNrf~?,8D DfF` D fF`D DfF$,8D DfF` D fF`D DfF&,8D DfF` D fF`D DfF(,8D DfF` D fF`D DfF*,8D DfF` D fF`D DfF%F,8D,u˲ DfF` D fF`D DfF'F,8D DfF` D fF`D DfF)F,8D DfF` D fF`D DfF+FQvEGIKQ` zvA<~:NRG`d 6CHNrfV~?,8D DfF` D fF`D DfF$,8D DfF` D fF`D DfF&,8D DfF` D fF`D DfF(,8D DfF` D fF`D DfF*,8D DfF` D fF`D DfF%F,8D DfF` D fF`D,v7"F DfF'FQEGIKQ zA<~:RG"zGICvt.g S4QRBQHaL& ":ĖNX,y-"<$<NJgh#8@"98@$9N g8,y-"98@NN#64N68,y-"<NNu,y-"98@NNaCN3FS( 9@fNZSyS(fNKNuRAM:DB_temp,yMC~pK5@QNuaCN3S(><a:NKByByBy#$ z| XSLf XENf.>߹ z^p~# XSAf X,w֢aMPfAАA QѹaJf*NXCN3S(><(a:NKNuA3 SLENf.>SGG. PLENft.>SGG/ PATTf`.SGC0Qx..GonC$p0:y PBODf$.<*H4 F@o<<@SF::nSEpgS@@032fRH`prR)pr f @n < ` po<,x, `t `o<`\ Po <  `J @o.< `6  ;f gTIRH`CQzzMŒQ B@o M.(UH`0 B@g*~YIJfii `CQii Q,zEx..RDC$ SBODf.Jg%GSGQ` ygJpC0C$~Jfii0:i`CQii0:iHARCbpQLNX,y-"<$<&9NJg#8@"98@$9&9N gL,y-"98@NN,yN#64N68,y-"<NNu,x :JP"<N:JgP#Nu,x :("z(QPN.Nu A"y.<P QNu9fNuA AC><p f AQNu@ E$ZPZZZ@ZZRHQNuA><pfRHQNu f AQNu@ EHZPZZZ@ZZRHQNu ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 -,z--00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---,{g h00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000 ---00000<66lllllx|0f8l8nl:000008 8l88l~0~ 0`<0 00 ~~0 0|F 8|~&F|lxxl```bv~nf`<Z<fffff<fff<<f<<"QNuH9gJ9of9f.o`B9oz899AvaPJfadLNuB9333333 <vH@3 8H@3 A[^azJg.LA[alJg:A[a^Jg!A[aPJg2A[aBJg+jA[ a4Jg*^A[,~xa&Jg#A[aJg"A[a Jg6XA[aJg)pA[aJg(nz|99JyfA[La>RJgA[ La>@JgA[La>.JgAZLa>JgAZLa> Jg AZLa=Jg AZLa=Jg 0Jyfz|99AZ~La=Jg AZtLa=Jg AZjLa=Jg AZ`La=Jg AZVLa=rJg AZLLa=`Jg AZBLa=NJg / yoNx _`ByAZNLa="Jf` ~ByAZ:<AzaJGfJ@fy>` @fy>3 3 3 LNuJyg03:3<#\#aHNu0929@33#H#aNuHAV*adprtvxz|A,qaH0(W@2VA4<6(PUC89:9AzaJGfaLJ@fa` @faLNu9fLJy0gJyf6z|99La8|Jg3Jy0f By0~Nu~Nu~3NuH,H Eo†L H.DJEgŌFLwvx Clv9x> z,9~WG Q LHt9xBl9v9xLJGg(3kd 3kf 3032Nuprt9T9v9xJy2g:@nt@mt|3kf 3kd 32x99Dm ,łgpNuDnŀg2pNu~NuprNuprNuSA/ yN"QNuSA/ yN"QNu/>< QLNuJyfa `Xa`RJyg Sya3&NuAR"P~0:԰y<a"H`a#` y:maa z ><,a"H`a#6 y:maa z~az"H`a# y:m`aa z><aR"H`ha" y:m:ara z><a,"H`Ba" y:maNaz zp><a"H``J g fQNuRHQNuER gDfa`HERAfLNuHAERfLNuaa IEJg0Jg :fJf fa4By` */g/ fa3By`33a\H y- h" ( @ ( @C\Jg8$Y (( f,&@|SFQ:  @Jg y`LNu ,l%!, @Jg`<Zx,JA0:H P`jA0:H h`XA0:H h`FA0:H h `4Az0:tH h`"Ah0:bH h`AV0:PH ha Jg"a>If<a2By3`HA><IBQLNuHA><BQLNuHAR~kBQLNuH y4~BQLNuH yAb~BQLNuHA*><BQLNuHA><BQLNuHA><1BQLNuHA><1BQLNuHA><1,]BQLNuHJg,pR@JfS@SH @m (.f[H.a bLNuDIGISMPLPATTTRAKHARCJgf ):g )/g|/RJSJfBLNu3 B9aNa3 aaNaNu<0:M T@ G(| K4:MRBv8<JyfJy fa#8NuBy a#8Nu<0:MXR@ T@ GR(|# KL4:M2RBv"xlJyf Jy fJyg6aP#8NuBy Jyga(#8Nua#8Nua#8Nu<0:LR@ T@ &z(|# ,l|hK4:LRBvxJyf*Jyf"a3 @3 D#8NuBya3 @3 D#8Nu<0:LFR@ T@ &yGb(|IK.4:LRBvx Jyf*Jyf"a43 @3 D#8NuBya3 @3 D#8Nu<0:KR@ T@ G(|K4:KRBvx2Jyf*Jyf"a3 @3 D#8NuByar3 @3 D#8Nu<0:K2R@ T@ G(|K4:K RBvx2Jyf*Jyf"a3 @3 ,$X2D#8NuBya3 @3 D#8Nu<0:JR@ T@ G(|K4:JRBvx2Jyf*Jyf"a3 @3 D#8NuByaR3 @3 D#8NuRJyfJ"K*"U < H@3 H@3 p:֐Jg J)fSIS@` `"y8p9NB9N 9fz|99HAI0La,LJg"Jy fa3 By By JygTHAHLa+LJg$Jy fa,j}[3 By By NuJyf.HAHLa+|LJg3By By Jyf2HAHLa+FLJg3By By aJyf.HAHXLa+ LJg3By By Jyf.HAH*La*LJg3By By Jyf.HAGLa*LJg3By By NqNuHAGLa*nLJg`9f$Jyg|JygJygJygJygJy f 3 By By aa`Jyg3 By By aa`3By ,G|1By a`3By By a`3By By aN ,3By By aN D3By By aN aav`L 9ufB9JygDJygPJygbJygtJyg3kL 3!33 3 By By aaJygNu wgN ygFJ9Ng sf/ BJf"_a3 sf/ RIJ)f"_a3J9Ng( }f"HPJ)fBJfL  *"K`@ }fF Ug/ QRIJ)f"_SI9 `gS/ QRIJ)f"_SIa,~3J9Ng| af *"KaV3 cf KUHlJg KUHlRIJf IRH*o*, SXEQ a3`r af. UgSI9 3`oSISa3 cf8 KUHl& USHm`JgRIX9 ` JgRIRa3J9NfZA@r0 gаg\RA`$KWJ/ RSJl"_ N KUHoRI UómR`9 NuA@r0 gxg*RA`J9Nf6J9NfDM@aa3`HMA*a|a3`0MAhada3`MAaNa3`, + JygNua JygNuBy By 3NuNZBy By 3NuN ,By By 3NuN DBy By 3NuN By By 3NuB93JygdJygpJygJygJyg3 3 By By f a%ByNuHA Cprva#N8DCN3FS(#*64N%N68N&,N5Nupr.0,ã .0.NuN~>N8D#aNJgd,y-"<*$<NJgF#8@"98@$:&:N%NN&, g"98@NNu"98@NaCN3FS(3 NKNuC\N3S(a@JgN%aRN&,Nu3 NuN%A=CD~QA*Cb><QAbJf|"CN3FS(p,y-"<D$<&<N"N&,Jg<QAbJf|" RAM:DB_TempCNN3FS(J9IfN~>N8DNKp,y-"<J$<&<N"N&,Jgp,y-"<tNJgZ#-,y-"9-Na|#RAM:*#DB_t.#emp2a  a,y-"<NNuCaN3FS(3 Nu y# (# P,x"<N:Jf.CZN3FS(a 3 B NKNuPCCN3 S(aa #v#rNu z,T!`"@$I&yG# ~|z" Jg f* Sf* e9gSGO,y-"<*$<NJg#8@,yM,K9gt,NjyjSGO,|( XPKFf#4NIL FORMg RIFFg",y-"<*$<NJg$KZH 9+p|(yM-p<NM$@`,xP"<N:JgP+pL#8@"98@$5p&9N%NN&,"98@NNuA(By 16SVg 8SVXf6`3 VHDR f"|1 BODYg.QA*|0 BODYgQCN3FS(Nu*(,,y-"<*$<N%NN&,JgaN%aN&, gJygRH up"H ЅTHo,y"up 5p|QPN."up +p| yA!pPQN4L,>XA(C,Jf BpBp|`#p#p|`(yKZH+p|M-p<NM$@`,x P"<N:JgP+pL#8@"98@$<(&N"98@$5p&N"98@NNuK(|1 NAMEgQK*|1 NAMEgQNu,SF(yOIH|BQL@ Fm|QNuHA(|1 ANNOgQA*|0 ANNOgQ`*. o~SGCQBCuaJ3FS(LNu WAVEgCN3FS(NuA(|c datagTHQ`z|XH:<]^چ(,,y-"<*$<N%NN&,Jg,eCa3FS(N%a,N&, gzAR(yOI|QO up.5p|"HlNuBp|(yMBpM$B6`LCN3FS("98@N~Nua3 ARJg HAha/BLaJJyf axaE*aA*Ca\ARCaL,y-"<*$<NJgV#8@#PATT("98@$<(&<N"98@$9&<N"98@N#` CN3FS(`a(3 ARJga&E*aaJGf,y-"<*$<NJgj#,]8@"98@$<(&<N PATT(f""98@$9&<N"98@NNu"98@NCN3FS(Nuar3 ARJg HAha-LaJyf aaJE*a A*CaARCa,y-"<*$<NJg`#8@#TRAK("98@$<(&<N"98@t49JԹ&<N"98@N#` RCN3FS(`$at3 ARJgarE*a4aJGf,y-"<*$<NJgt#8@"98@$<(&<N TRAK(f,"98@t49,w7JԹ&<N"98@NNu"98@NCN3FS(Nu,x :P"<N:Jg,P#Nu,x :ʾ"zʶQPN.BBNuBBNu,y-"<*tNa Jg2#-,y-"9-$<|N,y-"9-N~NuC&N3FS(>: >:<:4 y!r,(LfRFFn y.`Ry.aAR"z . fJm|#-Ry:Ry< y!rgI< fY(a aF`K fY*a a*>:8 Gn#l3:`"AlSG<SGa#::F3:By`,JyfNZNNBy!aa`3!NuHJy!f" zj3 T" Pf #!"`LNuwfUD3""3DUfw!,z j"<*$<NaJg~NuC(N3FS(abaHa>9.,ГV\SG"QNuAvC~l gYH" fNu#R%\aJGf,ala>:SGAv aBy`arAv>:D Ry.aXAR"z l. f#-Ry:Ry: Gn#l3:`"AlSG<SGa#::ҼF3:By`a`aNARJgHAha!~LaJyfa˴a0E*a,y-"<*$<FNFa@Jg"<*Na,Jg#R%\a@JGfha>:0 Gn #lSy<3:a a\`2AlSG<SGa#,|zoSy<::ȚF3:a a,`ЮBy`a`CN3FS(`CN3FS(Nuaha g f`RIJfJ)f>:rzNg"RH#- n-f #l-SH` SH#-RH~BQ>:4SGAv#!nC>:SG Q~ QNuCln z Am" ZnA ` am znA `nggRI`RI )gJ)fRH Am" ZnA ` am znA `Jf gg gRI``RI gJfSI !gJfRI I~Nu>RH g fRy&^oLNuaXAJgPJfSH (:gBB By (/g g`B (/ga By33`êJyga3`ÒaBy33`tgraphics.libraryJy'Lg ajBy'LNu9ga`aByaaЦa a`By(LA~ BQAI>:WG(y(LaQAC>:SG QNuHr49(LSBJBgp lG(NBg`I(sIp04 Am Zn Am Zn m nR`RA`>ASGJI ,(,؉Q(LNuI0:HAa"TprvaA1"lprvaA"lprvaA"l prvavA"lprvabAq"lprvaNAA"lprva:Nu3kL L3kL T3kL \3kL d3kL l3kL t3kL |Nu3kJ L3kJ T3kJ \3kJ d3kJ l3kJ t3kJ |Nu3kH L3kL T3kL \3kL d3kL l3kL t3kL |NuJ9g.H0.<|QQL, " @NuH0.<&&&&&&&&&&QL @NuAPJgNJfEG`a`4EGMan&p&pa^&p&paN*MtJfGpRB gJfNuUEP E.g& E7g, E@g2 EIg8 ERg> E[gD EdgJNu3kH LNu3kH TNu3kH \Nu3kH dNu3kH lNu3kH tNu3kH |NuAn @ EHH|ZLZLGPQTH`<p QA<>< QAv><p QA~l>< QA<>< QA,֩ >< QA>< QA>< QNuHr49.SBJBg lE~lGASGJI K ,*(*Q(*LNuHr49.SBJBgp mGܲBg`I(sIp04 Am Zn Am Zn m nR`RA`>ASGJE $Q$LNuHCE<IJy.g609.S@rI&qI(: +f|RA@oaJy.gZC:O,mM~l09,Q=.S@rI&q*I(:fRA@oa8AlC<$zrl`LNuAC>:SG"QNuA C<>:xSG"QNuHAlC<.:lgSGQ~Q>:ؾz:n&y.3!rAaa$a`Ry.By!rA y.a:aJy.fA~l>< Q`ap~"QLNu,* g"C"؛ f#|Nu!|Nu,* g6C"؛ f#|A g`Nu*(!| g y *`A C<",ؾ?o fNuAC" fNu,y-"<tNJg.#-,y-"9-$<|N,y-"9-NNuNua^,xNJgn/Cf@/ N"_#@NCnAH#HAC^prNDJfCL3|N8J f.C63|N8J fT>93SGJ3gZ 3gp (3g )3gTa|a9fa`3| #|,$#|<(,:,#F,HA=Cx :tN@CN3FS(L3N8K* grQBK*3| B$N8CDN>CN NK^ Nu,پ0trackdisk.deviceH OFSfA`A aLL`HA<>< WALTQL`H OFSfA `AaL`lC<><"QNuHA<>< WALTQLNuCN3FS(NuHClN3FS(L`HC,N3FS(L`xHCN3FS(L`ZHCHN3FS(L`<$QA!IBh1|r2 9f 9?f9gQ!n&Bh,yCNJg @ hpNupNuBA!N@ANpNP @< PffUtopaz.fontgraphics.librarydos.library DIGI BOOSTER DATA DISKWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWAL,a.TWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWDOSpH,yp*.2&f,3k CpN,@"zN: zp"<tNz z"z!I |P#H0<BQA^Cb N"z#h @#H"z0<rN"zArpNAEj"J><$QA!IBh1yr2 9f 9?fQ!n&BhLCp%NJg "@"NbCNJg @ hpNupNuBA!N@ANpNP @< PffUtopaz.fontgraphics.libraryexpansion.librarydos.libr,ݍary DIGI BOOSTER DATA DISKWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWALTWAL,t߳TWALTWHXYVr DIGI DATAS,n]Rq!qp,HXYՑq = D,)W.IGI DATAS =7??,C"z$z&z~3|Q6Q~3|Q6Q~3|Q6QNuJygXH"zR$zR&zR~3|BQ6Q~3|BQ6Q~3|BQ6QLNuɿKIGEkCɭɿKIGEkC1234567890-=\qwertyuiop[]asdfghjkl;'<>?1234567890-=\QWERTYUIOP[]ASDFGHJKL;'N8DNK HaLJy f,y-"<$<NJgtHN,]~>N8DNKL#8@"98@$:&:N"98@N,y :"zYN.N#RAM:*#DB_t.#emp2NNR,y-"<NN&,Nu,xCL@Nh#L#LV#LzA$6CLR,yL:*O;G>.;G~.;G .g>| `6*^6.(K;C;n~.;G`p 3| BnNu0999gQNuER0."2.$4.&6.(8.*:.,<..JyMf-y|^ y,P$CMf-y|^ ^ yMf-y|^^a=@"=A$=B&=C(=D*=E,=F.MlEJ0."2.$4.&6.(8.*:.,<..CJyMf-y|^ yMf-y|^ ^ yMf-y|^^aR=@"=A$=B&=C(=D*=E,=F.MlEB0."2.$4.&6.(8.*:.,<..CJyMf-y|^ yMf-y|^ ^ yMf-y|^^a=@"=A$=B&=C(=D*=E,=F.MlE:0."2.$4.&6.(8.*:.,<..CJyMf-y|^ yMf-y|^ ^ yMf-y|^^a6=@"=A$=B&,\=C(=D*=E,=F.JyMf3MSyMNunhniRnjJ9Mg:P:KmJ9MfJ.bf vJQg>)G GfBnNBnB||9> gM JGg0Hq>)OOJ9MgGJGf ~.ORGtv4pSHg` Bn< Bm6Con~$Yg QJl on" UAAm.BH00`JBnvr2‚JCfA`AL=@dJ. g .0PްP|P|nJPf BP|xzB. `vtJ9MfJigv4)>OOJ9Mg GB9MJgT f6Kt0B`n2SAI>G GfJfprt`N%6Kt0B,긜6AB.8`0JQg,r.>G Gg GfJfprt`%J9MfJ.cfvJig>)G GfBnTBnF.|:>) gM JGg8Hq>)OOJ9MgGJGf ~.ORGtv4pSHg` Bn< Bm6Con~$Yg QJl on" UABAm.H80`JBlvr2‚JCfA`AL=DfJ. g .0ް|nJf BprB. `v|J9MfJigv<)>OOJ9Mg GB9MJgT f6Kt0F`p:SEM>G GfJP|fxz|`P%PP|6Kt0FEB.8`2Jig,,-?z.>G Gg GfJP|fxz|`%PP|JPfxzJfpr/ aa*_J.bf B@f,V|prtJ.cf F@f,V|xz|:=SG:8fj>O g. g( g" gJg>O Gg Ggt`4<>O g( g" gJg>O Gg Gg|`<<a / aa*_a=@L=DRHnhni09~9Jǀdr.IAr.IALJ@f.JDg*%P|PBP|024xz||.nCJDf $B.J@g&=@nJ.gJ. g>O g g,Va rJ.8f(>O Gf.0|߲|,b28g|8|H 0>SG*r(n^ .8goQ`2QB.8`&npB,QJ9ga`Q%L0J9ga`>O g J.g |,VB.RCJ|fZH 0|а*rm =|`$."҃Zo2. ރo =|`Z>ASG(Va,V(V>SGar`*(V. ރo0>@SGaX>gSG`>SGaF,L0ײ=CDZ0B@lz$.Z>SG(3|سذ 3аJ9Wf`*@lm,V(VQ`H@r.Iҹ2|@`*@lm,V(V&AQL`rGGSGa,V(VGSGa>SG(3|سذ 3аJ9Wf*@lQ`,H@r.Iҹ2|@*@l&AQL,%L0aNuZ>BSGa,V(V>SGa ,%L0aNu(V. ރox8>DSGa>SG(3|سذ 3аJ9Wf*@lQ`,H@r,ǚ.Iҹ2|@*@l&AQL,%L0a@Nu>SGap,%L0a(Nu @qlJ@gpq DqlJDgxqJ@fprtJDfxz|Nu>gOB9M6K  g  gK  gKl  g g CgX CgZ CPg( CQg(>O6 g gK0 gK gK g" g< gNu>gOM6K  g`  g K  gNK  g gf Cg Cg CPg CQg>O6 gn g8K3 g*K gK gp g g\Nu>gxOB9,M6KdJg g( gbKJ ghKB g g gNK  gt>O6K gK gNu>gzOM6KfJg2 g gKP gKF g g gK  g>O6K gfK gNu C`fJ-fL Sz`>J-g"S-f BB-B-`&MM`CMMNuJ9Mf~gv:RG3MNuM~ Gm<MNu~ Gcm<c 9MgR9M5pMS9MNu~OCKCJ9Mf߲Nu߲P|Nu,%{Nu~ GnMMNu3S"3S&NubNubNucNucNuNuNu 9MfB~Sf&J9Mg%PP||` |%BNuRNu~:fBNuH aL@Nu~:RS;pg( gt `tB>Mv$^lQJ9Mf0Nu8Nu½oo ,|ot`J9Mf06 Nu86 Nu~J9MfJf.>G>G @ql0<qNuJf.?G?G Dql8<qNuNu~J9MfJf.@G@G @Xo0<XNuJf.AGAG DXo8<XNuNuNuJf-C,߾8~ Gm @m@NuJnBNu>GJ9MfG @Xo0<XtNuG DXo8<X|Nu>GJ9MfG @ql0<qtNuG Dql8<q|Nu> @m@J9MftNu|Nu>JlBJ9MftNu|Nu>Jf 9MfJmgJ9Mf$JmfF>;@0-B-@g.l|NuJmf">;D8-B-Dg lf|NuBmNu>GJmgLJ-f,m>-mn ;mBmJ9Mf0-Nu8-Num>-mm;mBm`NuCC J9MfK`KaN6<J9MfKJ`KP`CC J9MfK`Ka6<J9,KfFMfKB`KF`H$4J9Mf4aJ9Mf0`8L$Nu:.:)fJUf:4:SG:fBUNuf -f -?C-KCz;0*CMJ-kE`E:ME<-6Nu1JaxŴxaJ1J9f&J9g&<~>9S"LG0RCNu yFS"o &<DFS"CTCNu&<S"勆CTCNu3M3MaxH rJ9f&J9g <~>9S"LGR@`> yFS"o <DFS"` <S"刀@T@"rP|(C,%QPoxѲP|EEDFI3M.nGarL6:HDa`D.nGJ. g%P| . gNuBBP|xz|prtB. NuײaLaJ. g% . gNu|J|f8H (n^ 0|а>SG*rn" nQL0ײNuH (3|سذ>SG*r(n^lQL0ײNu 3а*@lQ%L0NuJ.f||aZJ9ga-V^|=C .f nd,׹jm Bnj,V`$B.J9fJ. gB. |Bnj,V=CASG(Va,V(V>SGa` (V~>SGa,LNu3ByByByByNu|H IZK$n^t4>SGp. @@o|@p. @@o|@J9g,鎌`,HFLB`J|g&(5ص|شJP|f`B 5PеP|дP`(4|شJP|g 5PеP|дP`B 4P|дP*Hpr..HI(y2*y2lVl Ѓl" ҂l" $&(<(AԄo Q` ֆ*@Q`," $&(<Ԅo Q`ֆn BQ`*@Q`p" t|(An Q`Q`" $&&D(<(AnBԄo Q`bֆ*@n BQ`JQ`>H"5PҴP-A*pr..HI(y2*y2md Ѓl" ҂l`" $&&D(<(AnBԄo Q`ֆ*@n"nQ`" $&(<Ԅo Q`ֆ*@n"nQ`lH 4P|дP* 5д-@pr..HI(y2*y2mt Ѓl" ҂l`" ,QD$&&D(<(An n| Ԅo Q`ֆ*@n BQ`Q`" n n| (AQ`H-u"4Ӯ"5PҴP-A*pr..HI(y2*y2" $&&E*(<(An n| ԄoQ* ` ֆ*@n"nQ* `L/09Mzgf"E`SU I llllL -H%P|NuyNr4hA4j><Q <6#2 @t6<|@><pHƒ ?mr? nrR@QTBQAAX><)0Q yN ,[  !"#$%&'()*+,-./0123456789:;<=>?X(\:}hS@. xR"|Y7{eQ>, ~w~LxU3xcO<* }vwFtP/u`L:(}vq@oL+ r^J8&{uk: kH'p[H5$,U>u{td4fD#mYE3"zs^.b?kVC1 yrX(\:}hS@. xqR"}Y7{eQ>, ~wqLxU3xcO<* }vpFtP/u`L:(}vo@oL+ ,.r^J8&|un: kH'p[H5${tm4fD#mYE3"zsm.b?kVC1 yrl 8.<X`v ".V^hntz8>Zpv|,s (.6<DJRX`fp (<@FNblrz~&Hjxz   H N Z   & 4 > L V ^ ~   d p | ,jr    " . > D P X d l x  $ * 6 @ L V ^ h p v  "28HN^dtz *6F\lZblv~$,6@PX`hn|FNT,VHfp $*06lt",4>Fh~ $BJTrz0NZbt  @ l !!!!!!"$","4">"\"b"j"""""""##4#>#J#R#d#p#x#######, ###$$$$$$$$$%%%%%&2&<&F&&&&&&'(((($(X((((((()))*)6)>)X)t)z))))))))))))*** *$*2*8*F*`*f*l*x*********+ ++F+N+T+`++++++,,,, ,p,,,,,,,,---"-(-@-J-P-`---------.,܈.X.t.z..........///2/:/@/F/^/~0h000000001111 1*1211111222$2*203H3L33334*424>4H4P4X4^4b44445H5^5r56 66"6(6.6`6f666666667*70787f7r7x7777888H88899F9v9:::,:H:R:X:^:::::::::::;,߂8;;$;:;F;L;X;h;n;v2??,?l???AAAAAAAAABBBCCCC$C,CBClCCCDD>DhEFF8FlFxFFFFG GG.G\GhG~GGGGHHHLHXHnHHHHHI II0IBITIfIrIIIIIIIIIIIIIIIIJJ JJJ J(J0J8J@,MJHJPJXJ^JfJnJvJJJJJJJJJKK KKK$KLKRKKKKKKLpLzLLLLLLLLMMM*M4MvMNNNNNN(N0N:NBNLNTN^NfNpNvN~NNNNNNNNOO OOOPbPPPPPQQQ~QQQQQQQQRRRR~RRRRRRRRRRRSS SS:SDSTS\ShSlSrS~SSSSS,PhSSSSTTTTT*T6T@TLTXT^ThTrTvT|TTTTTTTTTTUU&U,URUUUUV:VZVbVVVVVWWFWhWpWWX$XXXXYYHY|YYYYYYYZZZ[]2]_ __&_6_>_R_f_`ab|bbbbbbbbbbbbbbbbbcccc"c(c,cBcJcPcTcZc^ctc|ccccccccc,δcccccdddd d8dDdJdPdhdtdzddddddddddeeee(e.e:eBeLe`efelexeeeeeeeeeefff f*fnfxffgggg"g,g<g^glggggghhhh"h,h6h@hJhTh^hhhrh|hhhhhhhhhhiiii$i.i8iBiLiVibijiriziiijjjZjklklmm mm$mHmVmh,smrmxmmmmmmnn nn n0n:n@nHnPnVn^nnnnnoo oo o(o.o6o>onoouuuuuuuuuuuuvvZvdvvw.w8wwxx xlxvxxy:yByZydyjypyvy|yyyyyyyyyz zzz z&z,zHzLzjzrzzz{D{N{V{`{h{r{z{{{{{{{|| |D|h|||}}$}D~@~F~N~T~^~,~~~~~~~~ ,6<DHV^bpLT`tx~06@Pd $,8Zbhrz $2>JZz $,6>LX,dt$*<BFX^b| .jv,8NFNT\x \^ht .6T\F.h|&.8>DR\br|,> &8BHZdjz*:JZjz(:P^dj(8>HXbjr| "*2<DLXbjr| (0<DLT\r,x 8FR\dj~ &8>P\r*R^t(06>Rdv~ 2@Hj "4FXj| 0BN,60X^ ,6$6HXz"8@H^fn "8Ndt (2>NZdnx *4@R^hr|†š¢²¼*DNblzÂÎØ, wàú*2>HNfltĀĈĔ0DPXh|ňŐŢŶ*6>PdnvƈƚƤƬƾɰɼ@HRx~ʢʶ *04:>L˘˪˺ҠҴ$.P|ӀDԎԤ&FRZhp|ՈՎ, lՖ՜բծմ.6>DJT^fx~քִֺ֦֮ "06>HRX`jr׊נײ(BHNlآذضؼ V\bx~ބޖޜަެް޶޼ (^dlz߀߆ߌߖߴ$LR"6<, BN^djp*"*2:rz DJRfnz"8@HTt &,BH`hpnBLPVZ`djnz8@flt(2>Fh, / 6JRj,4Fh 0  .rz<Vp (6Bv~ &2>px .6T`z $,NVt(,0@&4Hl~$H, *F\dz ,Jh .2:NVjrDPft"NTpv  " , 2 8 @ H P ` f l r z                $ . > J, X ^ f n t |            , ` f r x         & , 4 P Z ` p v |            * 0 8 D J P Z ` h x   *.>f2Xjpv @JPnt 2P(,zLn4:DZ"2<Xh~8>NZdjr(08HV`fn~ "(0Rnt| <JPZ`<N,t ,s " , R f l       !4!<!T!`!f!v!~!!!!!!!""F"N"|""## #&#,#Z#b#z####$$<$B$J$h$n$z$$$$$$%% %%:&4&N&f&&&&&&''''':'F'd'~'''))"),)6)@)J)T)`)j)t)~)))))))))))*+++ +,+8+D+X++,, ,, ,&,,,2,8,R,X,h,^,,,,,,-,-4-:-@-J-X-`-l-t-z.(./d/l//0000001122 22 222223*343>3F3T44`44444455 5"5*EINITIZIbItIzIIIIIIIIJJ JJJ"J*J0J8J>JDJLJ^JhJnJJJJJJJJJKK KK K*KJKPK\KvK|KKKKKKKKKKLL LLLLL,\LLM MM,MLMlMMMMMMMN&NNNNNNNNNNNOP,P4P>PFPXP`PPPPPPQHQPQZQbQtQ|QQQQRR R:RDRJRbRxRRSS&S0SSSTLTTTTU UpUUW W(X<XZYbYjZZZ[\6\]^^^^^^___"_:_B_L_R_j______`````aaaabb6bHbbcc6cP,-clczd4d<dLdddrdddddddeeeNfg4gXhllRlXl`  &.4@FNTbhpv     ( 0 8 b h |   h p x(B^j.RV | !%%,ޱf%%%%%&& &&&6&@&J&R&Z&b&h&n&&&&&&&&&''''/1h112L3j3~44555,52EFENEVE^ElExEEEHHIII*I<INI`I|JJK*K0K6K:K@KDKXK`KfKnKtLTTY__.bbbb&b@bHbPbXbhef f0f@ffgggg&g0g6gfggggggggggg,jhhh&h0h:hDhNhXhbhlhvhhhhhhhiiiiijbjjjjjk(k.k4zTz\zd~~~hpx  &,4:BHNV\djrz  &,28>DJPV\bhl&DLdlzRX`ftz,@ $,2@FNTbhpv~nx$HJª6(<btŚŮ"H\ƀƒƶ0>@HPV\fNflhn v|"(,26LR,6T\b>LT:JR,$(@DJN\lt:>DH`djn|NV^:@rxNT06LRjp|\$*@F\bx~ ^d<B 0!))&)0):)D,Ł)N)X)d)n)x)))))))))))++ ++$+0+<+H1NT:J = =>>>???BC<CfCCCDD8DbEF,FFG"GrGHHbKS0SSST<THUz 0@Rbr~$ÊÔê:DV΄ΈΎΒΘΜ΢Φάΰζκp*d*z*BD\ $P v5&EEE,KKiZ& *:L\l|(6|x֖ג׺ 0.  TF`|*#*^*t@J H*>v$% '' '.'<'J'X'f't'((N(|(()$)*r++Z+,,,-Z--.J//1 1F2:2R3R3x44556:67778N8\8j8x,z889P99:2:v:;*;2;;;;;;;;<<6BBC6C`CCCDD2D\F2F@FJFPFFFFFFG(G6G@GxGGGGGHH&H0HhHvHLLhhhhhhi iii(i2i<iFiPm*nnvv$v,v4v<vDvLvTvpvvvvvvvvvvvwwwww w(wDwZwbwjwrwzwwwwwwwwwwwwxx.x6x>,"xFxNxVx^xfxxxxxxxxxxxyy yyy$y,y4yLyyyyyy}}}}}~~~ ~~~~ ~$~*~.~4~8~d~n~x~ l &4BP^&r P^t@`ĚĞĢĦĪĮIJĶɶ*ʄʖʪʾ$X l,}O`"Z$(8Z|         > H R     :   Dx&^ ,nBtRfT,Bbn0   : N v   ! !0!D"$"*"f"l"""""##2#V,2#j###$$$8$X$%%.%b&:&l&&,,>,d,n,t,z,,,,,------...:.@./R/X/^////00 0"0(0<0B0Z0`0j0001z111111234<4|4IIIJJJK4KKL^LMMN N,NBNTNfNxNP PQ"QYZ[ [ghhiijjkkljlvl8HERE,D]/,,< $  "$&(*,.02468:<>,8AJS\enppqqrrssttvvwwxxy,јyzz||}}~~,<́+<, iqu|~Aי??>!>!>!>!>!?*@9`P8<x<~\,!U*6>AD>A<$~B4,00Xh `P8<x<~\@,"©H$,#b@ @ =$"%%%D%%=$,,<$ ,$    "$&,.(*0246468:<>Zclu~,<́+<,%ڦ((((((((((((((((((((((((?((((((((8ЈH((((((((6^(((((((,&Oe[(0N ((((((((5B3((((((((5$^((((((((4Px((((((((7R3((((((((> ZIX((((((((,'4>2"4o%@((((((((((((((((?h((((((((=PB((((((((2d:((((((((1TƇ((((((((5[d8h,(G܉((((((((1G((((((((1̚((((((((<x((((((((=i((((((((4o%@(((((((((,)㦜-(((((((?((((((((8Ј((((((((6^((((((((0N ((((((((5B3((((((((5@$^((,*P((((((4Px((((((((7R3((((((((> ZIX((((((((4o%@((((((((((((((((?(((,+B(((((9S((((((((0Um~d쿟'^6ןzyf[w|{{??D dM 2@@"n(Ha*?6S0 a!IM>U-h $2m@ arG2Bb o!h C}Ȅ `tFGPA `:V4% "d-  2@@u L "DXD,@ n{ "ź!bt qsZaJfT(腈 b!hwvf(A!fu &+~X43dI1FHJ,,!KU 7@$` lΡb- ",@ nde]оF$/ў ~3&K#C:D600bE3_0f(@LFu & dv4<_j-,ED%eL [H*$-{*`R#[ ~Q0)m#"D쨥F4>FXF'aK"d!; X%0@+NYײ-R`)c$@Laj-,VƲ%eL B1@hZB@U*̳'x-V#22PS2ϨjතXF?ey"dC-S./wk$c A|\eq$n4-!B*wfY .q6hZCDU*$-ySgB5[dr3C(B %sB멕tȻZwA,-oqTX,X+lAFd!S*+wk$a\UmP#Q!X#@-9 -!oe!]9! w2 +hB5Ydr3C(B%qqDTDěE9#z$ )((ЬBZ$8s 4h%P#QX#@- G2BꤒGWVRx\*:#*"HMLѢ? pjSFTD̛E9#zdqLGJ* zQP| SRIRѫ)NlR<. sQEA2aO\c(GwVRj;vP@P@TQ@AT@`" "(( (PAQEPDP@EPPQXYqо((((((,.l((64<_((((((((>F((((((((((((((((?((((((((:ePH((((((((:U(((((((,/l((0̼@((((((((3&q ((((((((0((((((((27p((((((((4H((((((((0}0(((((((,03(4z((((((((((((((((?((((((((=PB((((((((2d:((((((((1TƇ((((((((,19I5[d8((((((((1G((((((((1̚((((((((<x((((((((=i((((((((4o%@((((((((,2;u((((((((?((((((((2 3P((((((((0Xd((((((((2=3((((((((4d((((((((3@(,32#(((((((>/H((((((((3}(((((((((Mי7oH?~.y|~.y|@{ukR4"F쭁KiED5el Zc@y"/*0 ~Q# ~Q HFxKVʌ06k)c$@L'K"dDTH#ZV"@ײ@"@ײ-aHֽ)m&x88888888t88888888x888,5YW88888488888888x88888888?488888888888888888 t8888888888888,6o#e8888488888888h8888888848888888888888888848888888888888,7qb6888 488888888 88888888848888888888888888488888888o8888888,8_88488888888x88888888488888888888888888488888888wxx8888888,9q8?488888888(88888888 488888888?888888888?t8888888888888888,:4y8488888888x88888888488888888888888888488888888,>E- T$ "@`R!H0& (` `I`aJ" 2`L@P 2!,;QXa8|5{o{zM4wo~ޗwo}{{߿=|y{~?oK緿_s~ޗwoO4;k]_{ߏ9{{_}}Md}{?߹h9,<#GZ?}i_??@4}ws߾[?~׿}9~*o}~_߽{{oOοo߿}m|yݽ~~*o}~[9ݟ?l}c_;οN4o_>_mݟ޿l}9zW_,=x?߿oO~O/~{?[}z_9UEUETUUUQUUTUUUUUUDUUUUr**5QUUUUUUUUUUUTUUUUUEETUTUUTZO488888888 888888888ht88888888888,>^Ms888888488888888888888888t88888888888888888$888888888888, ?+E88888488888888xx88888888488888888 888888888t8888888888888, @:*$8888 488888888 888888888$88888888888888888488888888o888888, A_;~8884888888888888888884888888888888888884888888888888888, Bc28888888888 888888888 ;488888888888888888t8888888888888888, C0>8 W488888888888888888t8888888888888888TEx#_Da+#":(fPȐbC2D1C2D.2$zZ,D߿-?_i_,E,F,G,H,I,J,K,L,M,N~,O|,Pz,Qx,Rv,S?>"{ϓ֯oۛw"{ϓ֯oۛww>OZnm@q  $0 SO| `@q,T  $0 SO| ` DP0$%M>U-{ڕUUUUUUUUUUUUUUUZUUUUUUZUUUUUUUUUUUUUUUZUUUUUUUUUUUUUUUUUUUUUjUUUUUUUZ,UXp, VXn,!WXl,"XXj,#Y;h,$ZXf,%[Xd,&\Xb,']X`,(^aEnٻ'^6Enٻ'^6߽{oWͻww@@"(Ha*@@",)_ۢ(Ha*Ȁ dʾi SO| ʪUU**UU*UUJUUUU],*`ތT??БHGxTVn<ġ" J>< _DUG<*TБHGxTVn<ġ" J><2x\$2h*Ҫ$R** */?>,+a=$2k ^x~?pK2ITUmITUQT E4APETAACt qwdx?K2q 1{!sx@2j"2`j*$ hB  q0;@2kqG]tǀƁBΏivxҍJ 39UUUEEQUT*MDSACIFƁrH9zӝJ 3;guՈx8q'u_w0:"* h*$Z (Ո\w89_0; OvsAwN8eq8ZD:ETUHD UUSlx!DADTIGI-BAwwE8y;D2qwH]usl {zp$B0Jh*j Ez**J#**CX pz?B0K,,b uO T c} :|D@BN0J@P۸@(c ` 2|A@??C!о 0**/p (t/D RC!о 0 ৎ x (C5"46xpL-UUTU+d?"47/q5]q'*p@rhhXx?5;?,-c'׏wwg=wqwr1h=vMUUU!UBʲ ;;B1NƟgQpq1qvHDُG"(Q6Ɩ+P?;Q13D՜W8puˎ6wCMEUTTSs՝ߑt86?wx]O|z vuËP2 Zz=x'A)$KWzlKKKP2;wd_w߄62$?=pu]&UTTĀ^?Ę6?D <2р@w.8'p%a`B` )`<8 8,.d=??t/E*?h¢"n
;w(Շ}n)>;< waja6RLIE%5]QDD:tw.48wsܠ;uwyW=c#.;D4r4fB(%20J ?srrX#/8|(_B(sWAM|0g RH()9BD: U1R2(h?<$A"4Q82d?n B4V#j; 6~;B1=xpux#{BX͖-8;. Њ4tAB"b0z>;A1}=9 {w&_;_4rh/b9x=6+1sýDd~cCw!,@n|#6ss*@Zdklxޝ3Ğ;2,1g:xxc =%E;NHއ0tvaja6`_Sd;.]3{@P2#\D99lɋ{.6)G5Lq4fl:%^|՘2]wGTT{<0sB  x 4*0D8ԀGЫ NJP$ 4 an8??DhHByGxTVn<ġ!о*)< ,2hf(_DUG<*T !о**Rn<6HS><ꪪʱhd$2h/$SnK?$2n[и/YZd˸=K2܎?9GWtAwĐK23|: Pdoߺx2jNwl{Ž  7뿯w/e2i~_ϡ>,DUUAfO 39~Ϯ}~4*({iF8V8 g7p 3p=[$UI@pu}ǺD:?|ww5Slx!w:^,3i8"ܖ-B*x=:A%NH$Slኪ`׿B0KuH Ey/>?7CXᄊ=܇c0I\WNniH tx :}AA`NH 0e۸| (:~ð@"pS `H" 0l )P$d H" 0l )P$d LRD$0BB 2`L@V?>UUUUUUUUUUUUUUUZUUUUUUZUUUUUUUUUUUUUUUZUU,4jUUUUUUUUUUUUUUUUUUUjUUUUUUU@,5kD,6lB,7m@,8n>,9o<,:p:,;q8,<r6,=s4,>tH9y!&D)"@`R!H0& !&D)"@`R!H0& B6H@2D@ d ?^^_*UU**UU*,?u|ĈUUJUUUUW84x484,@v@8T?v ^߿?o?v ^߿; W]U]m]uU5];UuUU_ 7?{*zv* l? 躪ꨁ7{;,Aw>Ypl9w UOU}DWm|;MDDEOG9} w}w|=w :ꊪ"=#=;w*;quAU]T5UUL?~EMDMG[n*uL;ww"+"?;?ww?}sPOUEoD=UU_7TD5O_?sw;7@ -l,`pp;78 }`08-F 0ǰ,BxCEB?}n?}?}~zw|>roz{zo|7wwwxEUUUw7n?w??x9]ww ;w}6 &ވt9! >;=v,CyYuw'G]WUTS=*|o{wۋ ;;w&۟*go{۞ ?wo;}w߿}}]WUUQ;wソ^}ww߿ qw=?j? ;!qF`(a?1;/x8,Dz(x\?~ }}?o߽?~ }UWuuSU]]W7{7 .?m?\q?pp87'??w9EDuUTDaW?ws9}?wy=+ꪣ&?}~=o=an *@MGEWD'w,E{#=q?x*_~?t;ih'jw?w;}~}OSOOu]WMQW }|7w?o; ?;>#qC-#@?|GH#;<@l8c-@p?~~w{߿9,F|?~}~=~߿|?9s<_ 3s?' ?x 2;~|%u,pt%{ n:}~Ͻ;[w~ 'o~?/]&;~o7;?},G}_-'w{7{~}/^? =7_߿/{_c? <8p`0 {`o?p q~ ?׻} ^?o? ~?߿]Wuu~w ;,H~e ww7 ߸?;/ql?7w?߻;Nl8Uq]Onqۻ þw|;9=? ~|> ~o{ol=?8w~UQU5N߿s7_=,I5/߱~900-|߰p ; 8-oO#8߰,J,K,L,M,N,O,P,Q ,R ,S,T,U,V,N?p8??8?8??p8;p8w8;q>qw8;qq8;p8w8;pxpw8qp?,WIp8 w'?wNpw88gp88pp8ww8;qpw88qwpp88pp8w8;qqw88;qwqp88p8;??8?q?p,XkBDsp?ppp?8??wwpqp8pp}q|88;;;wwspqpppqݸ8;;pprpqܜ?;8ppqÀwp,Ypqx8;;w8vpqÀ0}q88;;;w8wqÀ?pp?8?;,Z:bYm88p???8p88|;pqqp;ppp8p;p888vqqp;~~8?;?p98?s?}pg'ppp?9p88q;=pqwwq;ppp8;8p88p;pqwq;,[7ppp8a;p?pqqpp8~s8?,\S>;;s88p8;p9;88p;pp88 Ü8?|ppp8;88p;p;;s88p0;pp;|s??;,]xpßß?9?øø8;q9w,^f{p8øø8q9㿏w`98gpøøqp9wpøø;qvw89wp8ßßq>,_v>&\000,`KMG1020304050607,a#FA 08091011121314,bG(Dc151617181920,cII 21222324252627,dSp3282930313233,eC'34353637383940,fVy9414243444546,g 7)47484950515253,huA .545556575859,i{kV60616263,j,k,l,m,n,o,p,q2cIz׽5 n?)_^kS?oO_p)U0N9V2xcyY/r$r`&vZ3,rXf6zI 6˷@e`ZP}@l<IU͉m!T83_ĻR}ANHQ"$ÞRCpP[N@Wp SCgn!T3)A]ć6t:),prDoҗ:^2~TZ֛q&AL$qmkS=}^ kSum ].8qKﺖ~?JPaj%I"E<9_}En!8<9O7KA$ȩGN]5J5~be$eO 6FF8KSa@'2 SR6#p1^BIBP#*J$@s? XKB`&$mu#խ:2,sWC a2:^Jap*\ ^JapHU=@ Cuk!nUPS}#M:*?h£r&f5M:D?7ENV*EUjVUUUUI"cBF4%c)QGmfaR!T)QGq Z?wɘe!DtgP>f*,Ȁz1 Iƀz15JVz_ޟh`ߊ!4C)JyEW#کRJc,'F}1ڿ{O Hl#xQPEFD 8)>0 ;-XGCU~_%`fu $b0~^u2t0*08 ޷.랼`8 jSI%eM0)m;p ^ud$"d `Y2$xApis@Ur˿4*UUUUUUUUUUUU,wo=Eޛ^>Q= -!mf!X@-28T&?/Z.i1E9"7_0 ;p8?nCVR G<;'?d`t3XzSL^1x 6dBr`0zc) /L$\v9Q~{ö*d#J>L:2HPbac cC=B(M5=4*UUUUUUUUUUUU?/WߡSzbzB?4v*NŚe,yuaOX*lgDeOX*a G:P!or h9  Gd$f2h?rp=Bt3P A2X6U;tK cd(H* F8Ÿr;PxR`YW%_J1)>?t8 l/,8({B3wvDz,z7s9tP?2b;u;^d:}#USBO! 0$R@#q'S<8"؉Y?ԅFI,TW\О{"`Z%͡zodZ~ Os4CZ`彡~-7- ig?bbQZ:>t]NN98L%գwHa(@=$H 0:xД'F1ܡ,{7$ #Ƅ'Fqw=P_րnzu } `/@ dZu3d&yTcf!0UvC0D!0wsw CP?賒lKEcHBYzEBK81{/EBv@9x-Z@uw=@ /S4ED /S4<@ (!z>G3=uYN6"9SvBqG"9wB,%j1 `PX4)A`|a-F!L %j1 `PX4CZ`zV>7, Ұ6wu}®L@rN7-?ȴIE@rN7->-0N- igX` in2DbVXJ!Cp(JV DbV3M1ܡ#Ƅ'F14%/I>0,|`F Bs> )lPR~w$=;s> 8*1ċUvC0D!0$ -@#Qi9?AπH xwy- pπH zw1="9x-Z@9hDjUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUP/kB` |T3Ӆ ҰWN5}~/pN`Ұ7- igX` ioJޟh`2#{brp8Д$H !Ƅ'F1ܡ#Ƅ'F14%/I>1 &%},}83bdLQEpaTBfd&yTvC0D!0UvC0D!0$ ^xDww]&/ Ar^-v1{-@9x-Z@9hDđaƀ;pw5ާm3ڧzZ6~G3=uXBqC"9SvBqG"9SjVC}rF{ ioŦ V>CZ`Ұ7, Ұ7ޕ>&yeo\}q"n%=iGEr?$yAc!#JбDc!#J bP~sw)&h8[HRm!JV h[&N1M3B6?RpXYM3B6?Rpiɱ BKKS,~s iNV$<:.Ɣh54 v4+AS4 v4+A,@K9Z r-43`ǧM[hgA-|]L  ?bjdAi dAАiS$oo{~^O}p?wߍ{w}?~?_a;/{^/?]Op߂~~ۻ?pMo,t~>8@#xO?p~?_?~w`?㾸=~_~Y_?*EUjVUUUU}뿹޻"ݼ6wh 8~w~ߍ]]Oo?Z?~~WW~?c;,)_۽?{Ͼ{OW?߿n?w/|{{ܳ﷿};o~~sCNΞ .0g_}w/? ;n׾+?O{~Å?__{G?߿]_O?>￟={o,KZBw?=K#}c?j*UT*UUUUUUUUUUUU2`LB+  jBȩ"[N} |nN~ޗw=,CL$n>|_ ~0;N~s__nÄnO} x8}g,є*UUUUUUUUUUUU@[ `#K`#C IY%dN?m;_?8w?,/l[ p0 ?ÇO~#nww*UUUUUUUUUUUUQ ^@,6@M0 ' o}??w>w> w{-o_fw{0?,ă ^oO"w~޿o,ŭ,gݯ?U>skq}:?}wu}_zmogs]};? ffgq}w}oow}G;,txdw? wkϿ|t` wo~ݟwW_߽{mom~jUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUPhd:Д :?oUo,<3Y]?w>skϿ}o^ww}xOmom~o޿~vw~ff7v߱}oo~~vw_wu,ȵU?_lexCwww}Ͽ]?,,,,,,~,|,睺:8p88`889~8}p88=p8~}8p89~=?,:6O9~?,Q08;;;1;,ӑ?;p0,37pnp>ppp,Ɠ80;p8,y;8p?;p8;p8;,PKpp0;pp>p;p;ppp9,캊;pp8;pp8p;p,7"?qwwqwp'qwpqw,ڶՁ-qwp?p,N?Kpw}wwp=rwppw=pwp,pwpP4"DAL @@ײ,hU>-@1<~``ċgEhgEh$_<%+EF7 $07aI2PS O_F%9II%w aQH*$-{*`[Qid "*)kS0$K^ʘoϞB :V4 "Qw9STʃ?\?;()fN–2DAL 6Ǹ88JLwqw| ;n ,&I pUw_<瀄 2$E9:ϟ-, Ti ! q=_qwQ|-; _"iIQ<爿FxKV6!B 9ˌ+,P@j ?}s=l%PtgP,<H8;kDDXѢ:G,[ڝ`d8Lq/ww- i |-BBF H[jϟ<,d",~9ATj\w#qytNHޟ712FrF T ^Jb AKH|!aL.ťj!n2Ti t/G<ɜ c62_³}*e,vk(2C qeA aP@^Kؐ׏<睙(‚D:"8q|؍hxt/E*?h£,LB$R"D:"}DǏ<矙qv"Ƈ9Ӈ=!HK)cBF4"a*|F4"AƇz1k^Ǐ<癙 s#yQՒ3{߿\$b~ѫ$gP>eHƸlAFeB[dr3C(BD<痙Oƃef9˟\ƍ́ H[дq| (tq!X#@-I<̗3J!^9s˷]',GCFrFh$oB 9Sэ$oOěE9#ow|3!~2uߟ%Bd);n ,B@qiYB GWVRgЀ B"A(M)#-; Ӹo]L-!oOTcR* z OEUۓăd;UWlZB>-P#QB>ċ_D Um+ҷJ($#F*/(VbΩ' 4S4E9#zUD̚؊S/1@D^Jb*4zS?UA%EEA@T`T@UTE@AD@TQEQPA@@EVADDTo w?l ۿ.)fzkY;*kZw*#~[t~7p-~}( =#QՔ6)AQG2nbdS產efž<=ʃ,6<=y)z122=ЈAo S產efžn a5ᖣϦ@AHNJ(ai5^D'ԭ&A? >n {<>W)ג Y2j!mGYgSN D8Oג 2>Yj8skd&9䂋 vǃ@ӎtH.88:*aD"xYd,;΂ qc<~HHx8$R|LDƍ .9;șLB3+_8~$\H$R?X:K:ƍh ?|F4!?H*֩OFC?P @$^Y9ƄP"S|F4"Ĉt//wI;x.Fe QƂlb!F,-$i88ǹd)R?P 9`w !9Mc0܂ "v/ 8qq )|þ)$T(x8@6`Pd|"x gT_ӑ?~V#  @4h$k9u>0Z6R3@#71 rF4S0@odZ~z2Q"S? ZI^$STpjS GVR$ !@/xP(JV Cp(JV ^bX|o%G *( b ( ** * **((*, !zZ__{{~?߾wu}߿|ߝz]=^w?{~?|߿o{_oy??}qusۯ<_vw]wq|}ߗ?<߽=ow}w_,j<߯;{~}}sw}|?<|?wuOuw}w}m}#ݟ!<` Fcw<珙ߜ;_߿glo_?<񙙙U}oc߱}?޽l}ݟ߿￿޿:?owv~zUUUDQUuUQAESUUuEUTWUUQUTEUUUUUYTUUUQWUTTGUUEUUAEUTQUEEUEEUTTUUEWUWTUUUUD )p$@hNԙ@D`#QU@Ք4) ,QJ= P>ȏ/,3>5-?~guw~?~cm}w~{^~?w}opߟ߻ϟǟ{??}{>?^ -[sƯw}??sp}/,W7ݽ~p<_?>`{_lw}?_?~om{_~<}x?p0~@o^** ꪨ**(*,38qÃp,VX <<x<<|||x? `0<(0d4?,i@#GFrpJ#GGȎ1,uD}a(Whք;Slh`3DD:t}.z4| $ &4LGuzƉ_?Φg?)3$R2'h4-8?x?㸸a 4wqπmݣp;8賭3w}>W_{?C?@N~BtR1^=.AIlfə ]̡Gi,Xϟ|L?ȶHz<]NN{](4Ɯw upuLx^qkw۸m?pKͺxwۂ}_$qz?{|n0KEG{KւZCϿ upD /QαI ΎLj]g8 WNw8 :8<s˲w<ր.o8'q5ȴ7:qE - sߺ |~~ZL7xÈo-+Li,r~;NW 8ʉXJ!;(JVh88 lZp D`Ҁ0Cl` J2TpFw$<ڄ?' *B+PA`RƁF3PsUtHHBvH境3$0GV"A3yDg3 6% =8{ ~!Hhh`A4cG[_Z "I+4I5(&D9I~9 "PӇƛ^?qN,Rzi5dZsEh+UdБjJh J4RRP&ٜd_ڤ$"^.qr^7A";kws l"lĥ"6JD' ɵl%4 j BeVz @3Phhd!ÖҢL"7hau$vbҕB Xz% q> `PX4:MwKdZ~TƓ"}) [X@@oHtZiQx&PQECN7-?0ؕw㏧!h%h-TeTM-(DT -X >AO, 4J^nDbV:/H @x@SXUFL, ")!ꈷ`T5I&L]*RѲEJ¨悗$<80p )2*T,ZA@F 4jT*|L,JJXT,VTYx\l„,oelܔL| x,*0h4տ,bd`0l]0񔌬%X,ڡIP h,р% ɩL !R,ŔZ(UZ,V@H DH%,$Լ$ ,{̈<KENN DSQZ:>tZ%ͭ vPցmhOs5H\ОjpОjA ?@z &pP498L%գwHa(A]CӄQZ:>tQZ:>t v]؟ ?׸)ԗ[ `/@ dZuE#_րnz_րn O@dr^۫4;icXHBYzEBKutƐ?賒l?賒V,a ,kh>4GED /S4<@ (!zb@ @^ =bX ;һodZ~!-F!L %j1 `PX4Wy%j1 `PX4y- QSҿ wq{ipjԔ`%h(KRQIE@rN7-? Z@rN7-? ewqipjJ y*@Sûh Cp(JV DbVo%@RDbVn #y,2< 0 .  O%U-AR~w$=;s> )Ĵs> ) OuX!Pe ONpπH xwy- pπH zw17|@SûV!% O0UUUUUUUU,UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT?oUCk>{_?]׿?@?t>w| [>wq?8  |/w]ug{]ﻻ.wyg}};y}}~_;vw}w,m<];;z }^ j?}w;x\;8}~ UL?}w{}v9}{}}~w?w{?};{~ ?8?N!??`0qc<8,Pw=w_>}{_?ソ/;~{?7?x?Cw'><>8=ﻻ>}};}~_/x>;?^?;z3, 2p?w~?{w=} }~w?w/};~?8 #?;qǃ?qc<<87?,[ /?]}]?{>]|77Ӈy/8p?{x?zpw3]߻}{Ͽ=?{;?߿\>۷=?>m{ ?߸x߷}_?yg;-ߺG{ߟ}]m?k,iAy{};~>߹{߿}?{?#r?ßG=?8?``w c|?ߩ7?{WM7WOk?[߅o?_, Gm޽7ϯϾ/>}~~-?? o/o翵k?~%_}g/n>7?{{}?5C??~ w=ow/;^~?;oo|~o?~ ~|?ܿ~{7W?~, LE<>sn_|= <,+\<?<?<?<=<<,<?</<<?<= <?<4,\0?6|?_޿{o~U??__??],nk}__=y;?Ow?o?;q뿙w?w뿙;??x~ 0ǀ>w??/w,+|U/_+|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTpsq8;p?8sq}q8pq988sqwwq,Y}'8㻻pq9898sqrwq? ;pq???sqpwq8;pq9898sqpwq8;pq988ps?8;?9888@,d1???w8;?8s898;8qwpsp8s9?;?qw㻻?s~89s8;8w ,Wb';p?? s98;8qw;sp89s088;8q;aqp8?8|?q;p88,(ßp??8?;spp8qÀ<q8p888ps۸p8qÀq88?8pϿNpp?NÀg8q8p88|8psǸpp8qÀwq,;8p888psøpp8qÀwq8p888psø~8qÀ8??8p,'`s;qss;qsssqssq,gsぇqs,<, ,!,",#,$,%,&,',( ,)q<p,*gv|;v;sq;p;p;,+JUUUUUUUjUUU{/n߭Uy ~aP;4sr/u`[)Rwfd{%qrs n2&d^{y+|!^`uu{ 8 `Yp5cB>0;^PŝoqjQ/P@$a dAA(-=ez)Ԃ2 n&PJqʛS6&I%_ F@$w :Gdg0ˠ#?2!`.P uUUUUUUjUVUUUUUUU=Fvˮۿ.~=U7V!iVk˳`}Z{ 2vnޙF&@h,-Z`[QP2}!;jLn!!Ք&V ANb1>ct[#efž.qpU"@@PQ*Ê >V@@PP( 0п~2ƿŒzO~/`:ANz/`;"|B$R^UKiYxt?`X|u`;ŰN9p$ H9MVoN_]{o^_;?qs7,/ľ{s]{~JOrs?;xsKn{s}g{=]~ڸ1@?A]߷Nw?mo?soKuwo3on{{UUUUUUUjUVUUUUUUUA4Q@$@hF JK}_ wG~ uIEUUU*?wEUUU*;},0)C>OKc?O5/O|M>_N yp??/BJOy>O|= 6gO GO?oOO*w>GO<]O>`??OO?O?>>O?o?w~KsϽsOsw?]}-o_jUV,1#?pq;qpq;qpqqp q;8qpq;8qpq;,2K8??9?9p89,3-F?88@8a8??1((ЬBKxl 70ɳ~kS7 rfpb<x5R,4e;$SkͤSy8t5x4U翎vĜ3RC,L=6@s(CO@e=X5H0 9qAXo ЄvI4j5s;tcN!E"1UH8?=wbxȀc H 1@8D` 4d! )S0d4 UUUUUUUUUUUUh;߷gh=>k,@udj ]Nu:? ?}sgMI M|6|=(' Á*c+x8]vOCtdO.)p3[Ãs=/L#>m3/AČVZ |;<ǜ:c ZZhH Z1wq\# I UD5]]s_ C!0~\]xM7%#7w}\~}IN/;3:w=#$Rcg 2D6!ACكCMk4A<?,6n$0 ZTh P>Me5FO[2^Fp0ya % %lW9X a6s %0$RûTQ<2jZIj0à$I!+_ ׷?{_ߋw?A ws?POw߭?8k,86,A G>o \а Y Hm?mp{~?r|ǜ;+õ q}/C߽?p_}}7] }=?ƒ;]?O cЀ1/}[m }|l}y,9 `,_|O|]??w}w? o߿{7}w|p`9|9v9s9q,:<6w9p?8p@?p`Á|vÁsÁqÁpp,; 8s`w8w8|}?=8w88s8,< 48|??3چYu:N UUUUUUU70p#!$$I6ڔ<x5Z335x4$Y 0d4???pҤ- S? 0B$9;q(49p:p׏u6~3?{u㷾p@52;qr64~9{Q>:cvx3~44{e8#w3;:p#< 0,@PA3@lUUUUUUU@??7. sT%,>KE]7? |7xUUUUUUU@  `߿~ | p?pߒ 4Ç;·߄ χ, BN>( } z~ㆱ& $D@ l@, Cy;?p;p8pp~;?8pp;pp~;8pp~;a8pp~;8pp|8v?s,D-q8?p8p??88p?88p???p88p?88p88p,Eg,F,G,HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU777777,I7777777777,J7777777777,K77777,L,M,N`ֹF2&2Jf 0Q( ,OjK!HaƘX6Fqs7܈Q!!h q@dM F(0țƅFI,THHaZD Haho C 4r!G 5 @tQ- ҶDXD ZmnP#_:Ebt3BR@٠ K!v B@"y~?I@ċ'/@"H*$_<"#{\??}󯿿$B4-!r@8s`Cy qsq8N–2B멗vȸwsp]Kpwqqκ&B ]9ZA8wsqNw;0P_"(9რw$3wx\ts>,P {gte*"HMyBwy}#qs^@BFIR£/EO? ?8712Dp%!L  H4B8`bJFm%G ]ɴb i F(0$0L- "d(T+6Br|$0L- "bC 4:V({?o,Sw}~>_>s=x}~ߗ?Øw{}ׁ~w?߿z}wws~-s<?c?w?{{;oqx <Px6/x0?of?4z]=sc55}z]=~o{_{?vo{_{wWo}=W,Tծ?=߽y;8{Ǐ?{޻}߾~{ﯿcW~/{޻]~{{7~{{|w׀~{ݽ??7￿u{}ߛ{_;?{;=3~??" x`[~ jZ?^}6}q}{?￾7{?c,Uit*}~o'op8 p, VԶ 8s?|??8sqpsqq88sppsqq88s8pspq88ss8psqq88ss8psqq8p??8,!Wwڢ99 9?>8998Îp89899<Îx89899>?9899À8989À8q899?~,"XkX?,m D\d8d"qM#BaH߄EPL) %TĐld/wk2%I lAj4$c A|\d3_eOr3r1pONH62ȻmH}C(BEl1ąq;#@,#Y4 2!`]9d-ێ.!$oN ɠ=T"B8PB-;=ێ"#VR3S7MLь}C/P tgTc^ 9%̀ ѫ)]h$- ώBF B8$#s:i1Nwͅ9!NO_߮712F`^Jb+XRU2[~=w}q\6)F! R / H#"$S7ùрB4!oeAV!r.#̀ wsѫ)Ѐ8J)q&&@h\Ǿ)C[r3"B??Bl2`#QՔHR~@'S  @ Lц2d9:֐'hN0p ̀ G£ѫ)P9Bo&=Pjl GWVR PcaO'X_3c ~ptH "?~a=~ ?J#GGrpJ"nd/|i~6{8ow_{K|}~_~ッy/o}>폾?^? ׿{v;l}ۏ}w?/]߾ߗ?_yt/7o/߱z,nߎ=|ߟN7u߾?}}?p7c0,(^D ~l?;}?q?}|{;ǎ??{wvw>}_]?}^߿?w߿x {=n?u Zcw?^;7sߴ?~?7?;??8  }{7lwx(>o]z;W_>?O߷?|{,)_zH?w }w?;|~?77?߿}?W9}߿~?_?ww]=}߿~_=vw?*w}߿~_zk]$=v_;}߿~?h?v߯~ ퟿7vww?;7 :,+aj ??@#0qxc???;Î;Î8,,bPuĎ8wÎ8ww?w8;qǎw;p;w;q1;q??,-c{Tÿw;pw7w8;}ۇw8;wwχw8;=rwLJ,.dgw8;pw7Çw9;=pwÇpw~p88;?pp8888p8;qp88888;ppp?,/eK88;ppp8888ダ;ppp8888Ǹsݏq~8?8??&1ALVn<ģ'aK"d_<ꋌd$)$PU8Ϫ?V$2h/z3zgAp XǸK2;wxwN8;(x8 2+[xnA@2j{,0few8|3xf2AƁB .nJ 39C#x.4<$08\Th DՈ"x}.ȕ0::w>;=v;pAtpy=nD:z^8Sl-lWuX h 6^B0K1n8 ûνTXVZI@(Å :}O8`dvJ `@vn?.N–2ALVS0-8$S./(FxX zvB46/_HDY wvw 5q8|w,1gsy*@,d<Ö ]tfn1u9=wnVw9ZƁw]v w~늊1w>CXDُ]9wL Չwpt~D6w> {ә\Awv%w>2 wݸw^Ϥ)w:v-ޛ N62_>w:$. =p @<2  (.8 YAc(P?JZwA멗v"nBrYV2 ՀMO]sou-G05=ppzX@1!3@ ]R\}ssBD:KpNc74 BSA ܠ.s?T20N=p> VPDah,FBX 9sD0l"[(DR?gq$޺w`c47@VN–2DAN(!; X%=_j,3i/o  BUMQVt 2~LՑQVUtV}%Y͖5o)T 0" ւ!'AǸxs& DEEUHt:=BEUERWT֚'www,2*4?٢+ *(D9 twwm=%EEUEjV9BMUT@QAXȲWwWw<ɋ(~>a"H!d*?w/wɞTTHEMU!:HUUUUTY&ͅ?p?.NH 0@'([=B@ .8}J @ ?,4j8$߾ Y?}?{}[ ;7xN?KN8?l?8?O9{}^ ~|;{=}^8=~x=p{*x}~>?L?};z}>w~??~~/^7};7`x-x x߰ w,5ks$?{}~*s?_w|>7w'q8|~x?9w}wn ;ݺ}w~6=}up~~'*}w~ ^۷_;}wn>>x?}>= i~??;;7 @@7x}@1 j  x{?#_?,6lr?o o?~_~7w}_7qǸ ?w}9qwuu~??=owwn;=~*wuop^=;wwwn?{w7 _s~|7;>Lj`~-{x ,7mf?W{~<_ߟ ꪩ#|w2QMRMOATEtx?w%haښ''=߻wwuLMUTOMUTTWUC?ww&z(~wI ??w}7FEQM}4OM5_]??w}/k? 竪+7o,8nI?C (cG?/>#<`???8;8w88p88;~?w888?8w8p888w88p88À8w88p8,9o)ݗ??8pw?wppwq8www8wpwnq8wwn~w8wppw>q8ww>8wppwq8www8wp,:p#gpwq8wwÀw8w8w8p?xqqϸvpq?sw<8qq,;qܾpx8pqpp?p88sp?ppwq8wpqp}qwpqpwwq|,<r:,prwqpqÀpwq8wpqÀpwq88sqÀpw??nA[ Pf0 (1 <~Τ(nHH$A-Ơ`4%` _jYP i2Y`B`J!BP<5A`?Q9(& 7Ԁ !  @51 Y@J,=sh@@-E /у`&1 :@D?D޻XX q`@ @ @J6 .0Ėl (hz0  y P2}{@1.`BKQa"I `6*P" a ;"`Ɉ`Ɏ<2Wyh8Ԕ ;KN`?? X*V$  <043$PlhgP@ΤAC@ 0 d2%2DĖtpل VA@ Ck2 0n;]0,>tN?w<A`L2 3N:4 8;{t{± 30λk0{: jA 0 >{<˾L+0y Ђ8 (E`C:}C 9< (z{Ǹ B1@@0*?_D@[@qV@'+p8R>:2PAa: |@Q@&"??p712GjH0043$PhhgP@ΤAIN4%2@tY,?uoaZ p`&5 0n;]0?wT [Jr1 3N:4 8;{t&d@ ])10λk0{:,՚B9#{<6 >{<˾L+0yrPB(2}C 9< (z{ǸF )( 6*?_@@[@qx堏O[%t"<2PAa: x@Q@&"Ņ?hJX!; X4A2}A*:q@DȲGtljwWw<أ\8s a5l8=ăSl*'w}&w/wɞwU1}}Bմ ͅOwp?. !kY2a=h`}PP @ ?kO,Aw`Uo_??; @|__`1|>>Acq {qc?xq@_;qxc} 2#4Oxx{ x~` _}W>_?!W}x=qpkco u??uhw=|qcx߸}bq/1`>~?xxwJ}a # =~;߿6;۟Ϳ?,BxMB7 =?o>10 _;i??<8AGGo??_|>x?n8_Fp 28??׸@^Ǯ~?{l=;8G ?/{?88G{?t?/8@ 7W?3#q 2u,Cy5{=?o;>_?i??7 :=Go?_|>x?786 24?_>?^Ǯ~#{l=*w8>>  /{;867{t?8~ ?W?;_#q;,Dzy=T 2??ן]oow?_8v= l?ww?ztqm|=wwwwu?߽~?'vww4\{?L?Gw?w}'_{w? ?}o}?vw} {}?7w^,E{r$$;!o}p~߰/|D<`?9?;ps;89;ps;89np;?9>ps;89ps;8q,F|-wpq8pp8??ppp88;8;ppp8?;8;pppN88;|8;pp88p;<8;ppǸ88,G}W;8;p8??ppw?p};8;pww;8;p=rw;|8;pw,H~cw{;<8;=pw;8;ppw?pwspwq8v}w}q8pwswwq|8q,IdL|o'p=rwq<8sppwq8wv=pwq8wwpw?S?8bA2h,l ( t,#S) B0  4, : NB@2,0}ȰUWªFugBwnt $ha3xm@H(,Jz+ ThhXPs<'ptGA\wpwDq8 y38UeY 8U d@@7uu(|sny* `T)3?njaP+ mPq`cŀL(oWvt=rw>s9h HL@ 7#~G`@hAS" bWAww\wܹ `$;_^〸\ )Bf$$cwts@3'=vwNK:?A :3㺻w>!~t @PFq@EApr%C+px8 a;'H`Z6 @p,Kn"D@CvH!1A`0opC 6 ;`AON0 @s9O\c" UWҪp8R@Ƀ??{AV؅SJ(ESBC B0}<(Q@xUP1 }@A`*k;<(]o6 $ha3?;(hX ʐL$y{~t}w:zY y3ǜ8pp  ,,LK#E;;w~C뿟ιT0 mH`T);zy낿8d* H4s;;@3w>L 8<:$&hHL@ 7>?ιqS' AINA0 $2s&zǕCwx^: h0(`$3Y8;uBfR$!Hd?]w>9?A :?y9pp\@D0@0#=wn0w|a3 wUVzVB4rZA 8sq@F @?A0opC 4& . @#apJc(,MH8o?h "RD AA"DH ThT8hX5 }<(`!`8˜4 EAHb ]xhM [C 3$tP> H(C# (\|q?pl_}rp^;qwqh";"&4, : NBF*B *cFu;r#Ftt.suwu@;C*y ?K@8 m@H , #@H8 V p,N~fOsj Bf`;*yT,8qw @0`a6 H]Ϲ'=]IJ`. HFh4~{t7nwܞӗNK#HL4vINA0 $D?w˻{/=?Aap 87}7'^@AH`, R$!H 1!t@ K a?@n?! 2B8?An0,p2s?dUmU1dV؅SJ(E9SN#,QzW1E@Ă#¨P>GdQ!B/wow@HB7z't4, @Ȱm UVr?;sw;LeZ3:p q8*&#Q B^{=۾{]>{s~8T0 5P+C;8w qs8t8 ʲeHCCC=ϸ{s|{w>$&tw@7븸pup:¡VŁh ;N7}׺{o|wh0 X)?:Gpu@!3D( B^@$z9ϹwG\~{t5zop,Rasb/sw]<s#@N!3L03~wdyP H`q 9?`!pn7pqH`, ,TB)00xtv@  "@$X0`?An c(֪UU`_ϤpPPQ!"B)H EAH(@ $P>xP2()E@Ă#¨P>G"  qUUUUUUUUUUUUUU)U  4, :H(H PCB#ᆅBGt4, FT 8Kwq lG" G (@ $[C! ,Uj^qGw<ﻷq$*y U("FT S yh XKwu!@0aVj@[C! $[C@H0`ڠ$ y 8qGw㻏qǃI!3G`h$yhd*HL`H޸KN뻗q,@AHAڠ$ y`ڠT0+ @H`.  HJ^:q_____N㻇'`@Bf`HL$?AaVG2BO[*VpL p q  HL`. i\@A !~w ]WuUUUUU,VBUUUUUUUUU)UUUUUUTUUUUUUUUUUUMUUUUZUZUUUUUUUZUUUUUUZUhLBPPQ!"B)( 2,rDF*B 2(AThbA@xP2,2 dX`#oqUUUUUUUUUUUUUU*K; ;@ ;JrHL`ڠT0 mP HK^w>q#f Z \@AH`. HL$&hINA0 $oq____}' h7} 7}>~w?Aa`. h0R$!HpVG2BO[*Vp !Ea.a?Aa0UUUUUUUUUUUUUUUUU*լRUUUUZUZUmUUUUUZ (@P{߯,Z]}UU~wtq8}ws]~ݺ~~w]w~?~]wp=w~{~~w}u~w,[:~}wuw~;~;~|FǏō x@1@c ? ?xc|/}uUUs~},\%~_>=p?}pwywn?~{w~8<?{}?w~{7s~??]w~}}UUx` 8wN,]uqgUUp Dx?_>1??q@#~|}z~_}wmoz;prpq,^p}]uw}s^www|w;wmUU^ww}w~pߗ{}}0@E8 p@1 >0!O,_^~=~{߯w}} zt; u?|}=߿]}~~}UU,`z*=}߸;g~=>w}}Ϲw]/n>~q}=}ӻ}=~~w߻}}}߿~=p 0| ca q?7(xx~},a_ ^|x}UUp?;]?p?8n|=߿}w~;ww}z}߸;=~gpw~;}Ϲ},brq~owm}ӻ\}~~ww~߻w~;?}8C| clxb`0 |@?8 ~|mUUo,c@]}޾w~^`}y}{;qw?~~w_y}w?ww}~5{}=w~~~s]q?;w}~w}w],djw~|~?wwwxxph @08>>?>1?Lj?8qM4}}w8ww.?M4㻿w.{8}wN((4w,f:px "<@1G]WEUUUUUUUUUUUUUU)UUUUUUTUUUUUUUUUUUMUUUUZUZUUUUUUUZUUUUUUZUh @B@ P?MUUUUUUUUUUUUUU*8>;4~ǿ,goTpM8ww4ww~w.M8ww~LJ.4w~/N((8w|81G,h/o#d]WEUUUUUUUUUUUUUU*ըUUUUUTUUUUUUUUUUUMUUUUZUZUUUUUUUZUUUUUUZUh)@B@ Po??MUUUUUUUUUUUUUU*մ>?8\^ǿ>M4}ww,i֟8x~w>?M4.LJ^{8}~N((4}w|Q1GUUUUUUUUUUUUUUUUU*լRUUUUZUZUmUUUUUZ,j1pwpw?8?ppwpwq88ppwpwnq8?ng'ppw>q88>wwpp,kÓYpwq88wpppwq88ppp88㿿À88;,lf&8;w??9?8;~}w889pp8;wn㿟;w89?<88;w> 8;>?9xp88;Àw88w89p?w8;,mX89ap8w??s;,nB[oq;p}pp;qwqq;pppsqwqqpppwqq;ppps8qwqq;ppp;8qwq9pp;8,oOV8?ÿ8q8qww;ww8qq,py;8qwۿ;ww;qq;8qϸ;w?8qwǸ;wq8qwwø;wÀq?wø9Àq,qikÿww888?8;w;w;qw8pqw8;ۿ;;qwn88wqs8p,rdϸ;;w>?8'pqp8p;Ǹ;;qw88pqp809wø;w;qw8pqv8p?8ø9wq8??8p,swq8sppwq88wqqsp;xwns8wqqswp;vw>8ws>s,tD1ws8wqqswp;qwq88wqqsp;pq8󃃀p;p,u\;8wq8w㻷qpwNqp8w㻏q8w,vzW㻇qp8㻇pw,wj|8}qwqqwqpqwqp8qwq8qwqpp,x8wq,y 6K8wqpgqp8wq8wqpp,z\Cq ~peePYubI ''FI}p 2`2`~@d9%qyŠkс r3BkP@q80e Z ZOcTRd~ LUUƕUUƕqjAD]qtb~ BBJBBJz?qRws[e~)<8r|w%x|} ?~]uw?qkqw?o}uw޿}=q~qݽ_}ws={uo@0 ]}Co8,ntI||~8?{p8?N~?qw{]>ww}nwww}~;ww}~ww~GGx<`0|qq~qq~,Lxqq~?qq~qq@p~?pp~p~p~@|,j?swqqs;wqqs;ws;wqqs;wqq;qp?p8;xp8;~;q8;v8;;pp?;sp?;,A=pp8;qp8;;pp8;pp8;~;qp8pp8;?D:"~EJMTē8|4, : h1'm ~@8?xw UB㸏x}\`cCVj Ò;8?w]BA!3G`Ö.L8O~VA?;.]w\S)9!??]C~wݙ8 0@U ,7T~wHD:"~EJMHē<7 Z4p1'Ѡ$[B qq;9Ȁyh[ws\dc7`ڠs<xHLqz!p<;b`. w,;;PS)-?A`~0psa π PU 9 r@:P@X:P@V,Qn}Æ܂ÎPȐ;89}㈆ۓ㸍ˎ|w=Z(޻cq=ۚ(V㹫\wT^}yu]ߔE;#ߎw&JN;}8sNJ@ˎw?0?{?ߌ??}??Ç=?O,\|:`<01 ??3v3?v7q??=?7?w?0ώ/???/?Ç>{?O|:0/0??,obw|?w|||7Ï7?8;ﻇ߾}~;w߾? ?wϽ*_ߎt*x?w߽:׾={:{w}߻?߾?߿;p8x; ?~?? 7? /Çqp=/p9?߿w,/7w;˿ݝa;7z?׿q}s/Ͽw3w w}w?ߟw;w.8|?08;8w;8w;8?w;8w?0;8w,UB?80qq;8?qq;8q08q8p;8q 8p;8p;|,f^w9?ÀÎw;89qÎw;89qۀw;?9qܝπÎw;89qǀÎww;8qq}ÀÎ>8?À??q?Çqp,,cqqp8Çq?sp88Çp?}p8Çqsp8=p8Çqaqqp8Çqq?DIGI Booster moduleV1.7FORM8SVXVHDR AVNAME ANNODIGI Booster 1.7 BODYc:lha >RAM:DB_temp p -qMINQw "c:xfddecrunch FORCE NA ",<,(I97cE+DigiBooster1.7_full.infopĂA9hahj(<h`h6 hh,bS9`p? /`/US/np-U_/w%.%_/%?.%UD*%U<x5UUUUUV? #  B 0B B?B 1)b@$HUUUUUTc)`XUSn U^E'V [ֵ;޷{8UDc< cU>9 poUU@0)UU۸c/O@{/U?󀪀?UUoU^@@ @@@@@@PB@T@X@@a`B@@!@@!B@!@@ @ UUB ?UU@0 ,=)V7UUx>/ րtLK"; ƀ@1 +C? -{ր z:[րU{*1cj UUUUUU%ImageDrawer, don't remove this entry