DOS!pCNJg @ hpNup`dos.library`Vr҉"$<ԉ#B&< ։#CBBx#D**T#pX T v2$G" <(j8NJg("#p$)G" <(j@N#AJl$G" <(j$Nr <(jN") <(jN#AJf($)G8" <(j(Nr <(jN")#i0#i4()(v$0 r <(jNJfZr <(j(N#A$)GH" < (j(N") < (jN") < (jNr < (jN") <(jNx&)Gp$ ") <(j|NJf$G" <(j$Nr <(jNt") <(jN") <(jTN")J g4G" <(j$N") <(jNr <(jNt"< <(jLN#AJf4") <(jNG" <(j$Nr <(jNB#|` ") ҩ$)ԩ!(R")l$)&)!(8B,(<&)t") <(jNB#|`(")ҩ$0") <$IN#AR")l$)F&)!8") <(jTN#At") <(jN") <(jTNx&)$t ") <(jN") <(jTNJgr#AG" <(j$;fM?<!??=lB?>2??b+??@:HA a(<<(8B S:6.&EA?&>??|x||?>?>?'c??~???~>χ?????~(A'>?|?????|????~?~~?????)[n??8??????????*{?????????????+( ~????????,;?<?????-29??????????????????. ??????0?p????????/ [?????????????"fg6 rxҁJg*Jk&/NHx/ NO (`Hx/ NPO(J=gp`$%D L N]NupaH&o " ,l@4N.JfN|)@=p)@@0` ",l@4NpLNuH./,/*/ /N LXO&@ fp`///+NO (J=gp` LNuH0./Jnp`pd. V.GE;&R g@ +m2f S$; `n +re K$$H$%@; `L$K&S` ",fCp,xN)@>A)HJg A> `p )@@0p.NuHp"<0,xN.0Jfp` J=g l ( @=NJfp` HxNFXO L@NuaNuH02,l> o"o$o &o$ /("/,$/0&/4NLL NuH./ ,;S,JFk0 HA>*0Jgf HA>/0NXOSF`/NXOLNuH2&l@8 g$S"K +,xN.&J`)H@<)H@8LLNuH2./p ހ r,xN:&@ fp`:'GE@8 j'H&Jf$Jg"j"%KJ;f)K;A LLNuH ,y@4L NL@Nu/,y@4"/N,_Nu/,y@4"/N,_Nu/,y@4"/N:,_Nu/,y@4"/N.,_Nu/,y= /N,_Nu/,y= oN,_Nu/,y=!)l"oN,_Nu/,y="oNb,_Nu/,y="oN8,_Nu/,y="o / N,_Nu/,y> oN,_Nu/,y> o / Nj,_Nu/,y> oN4,_Nu/,y>LLN(,_NuH",y>L N"LDNu=J=,==<<<<<<N"HxHljHx Hlna^HxHlHx HlaJHxHlHxHla6O/ NPO`J-gp"mf Hz/ NPOB-`>p-J5g.r/HmNFmHlHl~HlxHzp/ NOR- -eHz`/ N.NPO`N hp./Hx HlaOAN"lN#H AA"l#H B/,= l=/(>N (p./HxHlaOJgJ-gp!mfHzHmNPO`J-gp"mfHzHmNPOHmN XOB-`Hp-J5g8r/HmN mHlHl~HlxHzJHmNHmN VO R- -eaLN]NuNU/ mB$1| "H,xN8,_N]NuNUH2BBN^PO$@ f/ej:p`N/ NXO&@ f / Np`6'm( m - "K"-,xNDJg/ N.N^Bp` LLN]NuH&o g0Jg/ aRXO"k,xNJ"KN>/+NB.NXOLHNuNuNuH0./&o,/ /NtXO$@ fp`6*gHxB/NO // /*N`O *J=gp` L NupaNUH'0&o\$o`~|zp| r+At+BA@@+A+A+HJgBpr]Ak8{fN#` `+` -`~`|` z`|R`r0fRAp*f RC$+PR`Hm/ N POr.f&Rp*f RC$+PR`Hm0ս/ N POrlf |R`rhfRr@p0]@kT{fNc`*s`X`~x`xp`^o` u`d`J-g RC$ ` RC$ +@l rD+AJgp-` Jgp+`p @p"-肀pgRR/-/-N BPO+@ -Jjr+A -"-Ho. m"H`Sdp-"- m`Sd -+@ѭA+HJgP| `FJ-g RC$ ` RC$ +@`bJ-g RC$ ` RC$ +@J-g m0r+A+H//-N PO+@`(|0 -Jjp+@J-g RC$ ` RC1\Q$ +@J-g m0xr+A+H//-N xPO+@pX-fHmNTXO` RC$"P+IfA+H mJfS+H -Jk*o&+@` p+@ RC$ @B-`p` -"-lt+B`Jg6Smp m/+H mNXO`SmHp-/ mNXO`Smp-/ mNXO`Smp m/+H mNXO` L N]NuNUH0&o$o"+mJg4p%f"fR`/ Hm/ aO +@g$@`p/NXO`L N]NuNUH!2&o, ?lr g r gr fR`Jgh ,?R?A?$Hp"f&R$Jg 2Jvp"gR`Jf HxN$XO`B`$Jgr gr g r gR`Jf`B`rJ?f l=`A?)H?J?f|A$C?\""""2"l= i$Hx(/(Hl?\NjO A?\"$<,l@4N)@> )@>(r)A>$)@>0)A>,倓,x+@N m"@#h~+@`*,l@4N)@> N)@>(A"$<N)@>0~ @> @>$>,JB-B=+l@0z;l A>JgR` ,;Ȱf p)@@0p`* A>$HJg-g +|`+| <;ేg @.G r g gJf,R` p)@@0p` g g|/-/ N.PO(`< fHx/ NdPO(Jj  g|)m@0/-/ NTPO(J-86e upper left of this window. Changes made at the time of exiting will remain.  installation program.  installation program.copy >ram:temp L/MSDOSFileSystem to L: You MUST install the file system,  , from the, installation disk to the  L: directory. You may  this transfer and move the file manually.     the transfer.copy >ram:temp DEVS/mfm.device to DEVS: You MUST insta9ll the floppy device driver code,  , from the installation disk to the  DEVS: directory. copy >ram:temp DEVS/mountlist.msdosFS to DEVS: You MUST install the mountlist file,  If you primarily use WorkBench, you may wish to automatically load the file system and device driver code for the floppy unit(s) you plan to work with. To choose this option, edit the mountlist file parameter Mount = 0 to Mount = 1. Otherwise, the disk :X&icon will appear after the first access of the MS-DOS device from the CLI. This mountlist file contains four MS-DOS floppy drive entries. If you wish to modify or add additional entries, install the mountlist first and edit the file after completing the installation program. copy >ram:temp C/TDPatch12 to C:copy >ram:temp C/TDPatch13 to C: It appears that your Amiga system has only one 3 1/2" floppy drive and you are using KickStart code. It is necessary that a pat;rEch to the "trackdisk.device" be applied. This requires that the patch program, , be installed in your  C: directory and run from your startup-sequence. Without this patch, we can not guarantee proper operation. copy >ram:temp C/MOUNT_JDS to C: requires that a V1.3 compatible "mount" command be used to mount it. If you do not have one in your  C: directory, we have provided one called  . copy >ram:temp C/MOUNT_JDS.#?.inforam:temp Utilities/#? to SYS:Systemcopy >ram:temp Utilities.info to SYS:System.info We have provided miscellaneous utilities to enhance  =U֟ We have provided MS-DOS format and diskcopy utilities as well as utilities to check disk integrity and to "kill" off the file system. To find out what these utilities do, refer to the manual supplied with this product. This installation panel installs all these files into your directory called  SYS:System . If you do not have that directory, one will be created for you.   Your system startup file  , cannot be found. Either >}a mount your desired MS-DOS floppy device(s) from the CLI or manually edit your startup-sequence file. To mount from the CLI or your startup-sequence file, use the command:   You can mount any MS-DOS floppy drive from the CLI as you need it. To mount from the CLI, type the command:  You can also automatically mount from your startup-sequence file. Mounting from your startup-sequence is the easiest method and therefore recommended. Select [4 ?@1;32m if you wish to mount from your   file. The mount command listed above will be added for each MS-DOS floppy device to the end of your startup-sequence. [NOTE] You may still need to edit your startup-sequence file to move these commands to the proper position in order to be executed.  if you wish to mount the device from the CLI or you already have MS-DOS floppy devices mounted from your startup-sequence. This concludes the installation of @D If there are any special modifications you would like to perform on the mountlist.msdosFS file or your startup-sequence, please do so. Should you exhibit any difficulties, consult the manual supplied with this product. If the manual cannot answer your questions, contact the Technical Support line atlisted in the manual. We believe you will find very useful and easy to use. Thank for purchasing  if you wish to mount all the MS-DOS floppy devices immedi ANately. or  the mount.intuition.libraryconsole.devicetrackdisk.deviceSYS:Systema TDPatch12 TDPatch13 %s%s %s NU;| ,>>/N%NXO)@> >g l=/(VN%J @ h;h&.N%LXO ,> >g l=/(VN% ;|.N%(XO0-N]NuNU l!m( l1|p!@$/N%"N]NuNUHlaHzHzN.HxHm/@NHma.NHlaN]NuNUH0&o./ $o$,/(B-Hx2N$BXOB-`p-"H/3aZXOR-p-mB-`Jf|a @g&J@g @fpaT`jJg Hl,)]aXO|`T|B-`>p-"H/2NXOJfHlaXO|`ap@@R-p-mJ-gl-L N]NuNUH &oTp@@@AdCJg.Hx/N")@>.N#:)@>.>N".>N"PO)@>BHzdN#)@>HlN#)@=Hl`N#)@=r./Hl l=/(2N#O l= hVp(r$)B> l= hVp()A>`a^ @gJ@g @f a|J-g/,=p//HzN(O)@p@@`p-"HA&/0apXOR- - e`&a @gJ@g @fa|` av`|J-gA4"lC@)HCD&Q+H+I g K ++H"mc$%G,m,p`xf,S$ +"҇%A,m,p`ZdHp`Nf,Jg ScHp`8߫Jgf )ѫ&p`+K+m&S`n m B%GpLLN]NupaH0./&o,/ /N$XO$@ fp`// /*NLO *J,gp` L Nu/./RhSzm lrC)Ir r` rHln/N0PO".NuNU/ &o BhHm / HzNTHlnHxN ,h&mN]Nu /f <&)@DpNupaH./,/*/ /NLXO&@ fp`///+NO (J,gp` LNuD#"paH0&o$KSTmp lP)HP` HlLNXO.pgp fB` `ʵfp`B L NuH0./Jnp`pd. V.GED&R g@ +m2f S$H `n +re K$$H$%@H `L$K&S` ",ЁSNz",NR,P V,F/NzXO&@ g// N.aTPO`pL Nupa/.//N2XO.NuH./GL g4+f(+g +,Jg//+/+NBO &S`/NlXOLNuH7./&o ,/$JDgNB,"$ &,ltN*pfN|)@,p)@p LNupaH?./,/ */$EE JDgNpB, S"$&,ltN(pfN|)@,p)@p  g gJf ` І`"tv,ltNLNuH7./&o ,/$JDgNB,"$ &,ltN*pfN|)@,p)@p LNuH&o |0|'H'H"Kp0,xN.LHNuH&o J g "K,xN|p'@p+,xN"Kp"N.LHNu/./JDgNF",ltNp.NuH0$&HBHCCHBBBЂL NuJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCFZFJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$NuNUH32~ l\(pOo. C`SdB5x,xN&@JgL +$@,*8Jf,+Jg4"A$v ,ltN GR  "A$&,ltNp`NJlfCp,xN)@lA)HHxHzN+Hx2N:v.N.=N; .=N;.>N:.>N::.>N:BN2 ONu Thank you for purchasing . . . CrossDOS Installation Programram:tempr We atwould again like to thank you for purchasing . This installation program will attempt to install all the necessary files in the standard Amiga system directories (C:, DEVS:, L: and SYS:). Should your system have different requirements, please manually install jJꪪUUU`ꪪUUU`ꪪMFormatFMT=AS9] Z9 MFormat.info7EAUthe files supplied with this product. This installation program will provide you with up to four MS-DOS floppy drive mountlist entries. If you would like to create a mountlist entry for other types of MS-DOS devices, refer to the manual for the necessary mountlist parameters. Select the appropriate response gadgets at the bottom of this window to the actions requested in the program. If at any time you wish to exit the installation program, select the close gadget in th6q0`6`6`6`6`pago?ꪪUUU`ꪪUUU`ꪪMFormatFMT=AD99 GMFormatNk:N8Hm m/((N.HzNDHzNHmNNOJ,fpJgHx/,NPOHzNXOJ,g l!|$`$ l!l $|&l`&mmR , 䈼eHzXNXO,-` l!l( ", NT"l#@,3| ,xN2 //HzvNdO "l,xN&.Jg/Hz|NbHx aO J,gaJ,fp-f$ l1|"H,xN8 l1|"HN8 l!l( l1|"H,xN2HzNXO"l,xN&.Jg/HzNHx aO J,ga8RoHzNBXOJ,fJf"-,ltNR)@//-/,aO Rf O HzNXO` HzNXOBaLL|N]NuNU/ mB$1| "H,xN8,_N]NuNUH2BBN"PO$@ fp`H/ NXO&@ f / NJp`0 m - "K"-,xNDJg/ N&.NBp` LLN]NuH&o g0Jg/ aXXO"k,xNJ"KN>/+N.NXOLHNuH./ &oJg  @CrR// / NxO `B LNuNUH2Jfp`R lt h" (/@ ,xN| / @"(&A`Jf kf$K` &@ f,xNv LLN]NuNUH2 lt h" ($@BHx:/-NpPO&@ g @`/-N PÅXO@,xN| *&@`2 +( @Cp-// /-N O Jf+K` &@ f,xNv -LLN]NuNUH2&o gj,xN @C\/I pD"<N:$@A%H %J%o p%@%m ( K"JN o N o N g"JpDN. * `pLLN]NuNUH!2&o `|Rr gr gr gJgn ,RA$Hp"f&R$`RJgp"fJf HxNXO`(B`$$`RJgr g r gr fJgB m|Jf lP`A)HJfzA Cd""""B lP h$Hx(/(HldN O Ad"$<,ltN)@,)@4r)A0 Q$3)@<)A8/@,xN"/ A"@#h~`*,ltN)@,N)@4A2"$<N)@<~ @( @08Jgp` <Bh"A)Adr)A"A)Ar)A@)@A)HD/,/,NpBNLLN]NuNuNuH0./&o,/ /NTXO$@ fp`6*gHxB/NO // /*NO *J,gp` L NupaH&o KJfS,~Jg2Szm lrC)Ir r` rHln/N.PO"`HlnHxNPO LNupaNUH0&oD|A +HJg p%fpr]Ak{fNd R`Px`p`s` m$X+H`J m(+HEzJk rASS`B-` m(+H/HmN POE/ NXO܀`^RSzm lrC)Ir r`>pHln/N"PO"`(RSzm lrC)Ir r`pHln/NPO"`HlnHxN L N]Nu0123456789ACDEFNUH'0&o\$o`~|zp| r+At+BA@@+A+A+HJgBpr]Ak8{fN#` `+` -`~`|` z`|R`r0fRAp*f RC$+PR`Hm/ N POr.f&Rp*f RC$+PR Sw`Hm/ N POrlf |R`rhfRr@p0]@kT{fNc`*s`X`~x`xp`^o` u`d`J-g RC$ ` RC$ +@l rD+AJgp-` Jgp+`p @p"-肀pgRR/-/-NPO+@ -Jjr+A -"-Ho. m"H`Sdp-"- m`Sd -+@ѭA+HJgP| `FJ-g RC$ ` RC$ +@`bJ-g RC$ ` RC$ +@J-g m0r+A+H//-NXPO+@`(|0 -Jjp+@J-g RC$ ` R TfC$ +@J-g m0xr+A+H//-N4PO+@pX-fHmNXO` RC$"P+IfA+H mJfS+H -Jk*o&+@` p+@ RC$ @B-`p` -"-lt+B`Jg6Smp m/+H mNXO`SmHp-/ mNXO`Smp-/ mNXO`Smp m/+H mNXO` L N]NuNUH0&o$o"+mJg4p%f"fR`/ Hm/ aO +@g$@`p/NXO`L N]Nu/ &oJg +fp`6/,N XO'@'@Jf p )@pp`'lpp'@ '@&_Uʣ>NuNUH/./4&o8(p1gp`p+VDHH,Jf+fzp'@ rgB/ NNXOJg p`*Jg +"D'A ` +'@ S m kC'I r` r/ /aRPO" `+gXpfp` @Jg"r fr/Hz/++AN4O *`r/Hm/++ANO *~`JgRpgLT r f& kC'I "+ Jk / /aPOR kC'I "+ Jk~ ++@gr+gRHxB/+NO +@Jg8Sm2B/-/+NtHxHm/+NOJ,f -V9)rg/-/+/+N8O *`zpf` gJg"+$D'B `+gr'A `"+'A k'Hg.S m kC'I r` r/ /aPO"p0gp` pfp` LN]Nu H&o+VDHH.p0g Bp`X+g+g / HxN"POJf6B+gp'@A 'H`/ NXOJgvp`JgfT +JnZ kC'I|  g. f2Sm kC'Ip`/ a.XO`p` `+fN/+/+/+NO *JjJfWZE0JoJg D'@`'E k'Hp2gJgp'@`p'@p` Sm kC'Ip`/ aXOLNu / am zn NuH 0&o$KJg$pA 0g rt `rR` L NupaNUH0&o$o ./$Jg6Jg2Jg.p/N|r./@NnXO"/,Jg `S`JgJgp` Jgp`pL N]NuNUH0&o $o$./( JJfS, KJfS "K+Ic,  J`Sd mB0h L N]Nu o JfSH Nu o"opr am zn am zn fJfNuH&o ./pfB j `JfpLNuH&o ./// aPOLNuH0&o./Jgpf$KR` L Nu / oNU"Or NA0Jf fBN]Nu / oNU"O"AA0f fBN]Nu0123456789abcdef / oC2Af "XᲉfBNu / oNU"Ol-Dr NDA0JffB N]Nu o"Hrp/ +g -fRH0m n $҂ҁҀ` -fD$ S o NuH0&o$o./ JJfS,m,S  J"K`SdB3h RL NuNUH2./4Jnp`pd. V.G$m m߬ YФ˾ І`"tv,lpNLNuH7./&o ,/$J@gNB("$ &,lpN*pfN|)@(p)@l LNuH&o |0|'H'H"Kp0,xN.LHNuH&o J g "K,xN|p'@p+,xN"Kp"N.LHNu/./J@gNF",lpNp.NuH0$&HBHCCHBBBЂL NuJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$NuNUH32~ lX( Z}pOo. C`SdB5x,xN&@JgL +$@,*8Jf,+Jg4"A$v ,lpN GR  "A$&,lpNp`NJhfCp,xN)@hA)HHxXOLNuH2&lt g$S"K +,xN.&J`)Hx)HtLLNuH2./p ހ r,xN:&@ fp`:'GEt j'H&Jf$Jg"j"%KJ4f)K4A LLNu"o/,iN,_Nu \Lt _BeginIO%con:0/0/640/100/*(j""" ((((( H (((((  3 H jH,lh o"o$o &o$ /("/,$/0&/4NLL NuH./ ,0S,JFk0 HA$*0Jgf HA$/0NXOSF`/N>XOLNuH2&lt g$S"K +,xN.&J`)Hx)HtLLNuH2./p ހ r,xN:&@ fp`:'GEt j'H&Jf$Jg"j"%KJ4f)K4A LLNu"o/,iN,_Nu r9%*ꪪUUU`ꪪUUU`ꪪ  9 Utilitiesp_\h`CpN)@tgNudos.libraryNU/J,fJg B/,N POHzrN8XOJ,g rKҁ,ltN:Jg "l,xNb/,N XOJg"l , ,xN.Jg"l , ,xN./-N ,mN]Nu Operation ABORTED by userQUICKNOVERIFYFAST QUICK mode selected NOVERIFY mode selected FAST mode selectedFMT %s Format selectedRELABEL_MEicon.library Could not find DeviceDRIVENAME Usage: %s DRIVE NAME [QUICK/s] [FMT/k] ERROR! No disk i`#con selected. Extend-select Disk Icon and try again. %s not a mounted device Not a block formatted device Not an MSDOS device.mfm.device Insert disk to be initialized in drive %s: and press RETURN Ctrl-C to exit Formatting cylinder %3d, %3d to go Error = %d Verifying Initializing Disk Format Complete. Format Error.HzPN HxaPONu|pNuNUH2&o g,xN @C\/IpD"<N:/@ p rN:$@A"m f m akxJfS  o C!I !H!o!| !@(!m, K"o N oN oNJ g "o pDN. g"Jp N. o ( `pLLN]NuNUH00&mE`nJ,f/Hz`NPOJWDHHAJ,f J,f/Hz@NPOJWDHHAJ,f J,f/Hz$NPOJWDHHAX SJgeJ,g HzN XO` J,g Hz N XOJ,g HzN pXOHz./-N#NPO&@ g>/ HzN +HH+HH+HHHBBBHHHCBC჆ `pL N]NuNUH/2./x+KB-A+HCp,xN)@JWDHH@g| m (bUcS@rch&h$P,JgR",ltN./@ "N&mJ f  @ h )H/NXO&@ fHzhN fHx aPO`l$k&m`bpm< m HzX/(NPOJf& m HzH/( NPOJf m $h+h` J,f m /Hz N fHxaO +JHzNfXO f g/ NjXO&@ g)kJg+K f0J,gHzN HxaBPO`/ Hz6N Hx a,O +/@ dHz2N jHx aPO o ($@ *@ MSDg MDDgHzN 8HxaPOJ,gnp-fp@p-"H m h$&h,JgvJgr",ltN/ /@(N @.MQU6/@,a(.,N XO"/$,ltN`6 m X S"m ,xN A"m #A/a`XO(J,fHm o$/(N\ o(. //NO)@f Hx aXO  AS9g MS9gJf * @`|`|HzHmNPOJf>| l1|"H,xN8p l fz'`zOr- <N)@ `*,*$**( * "*N"*N"*N)@ +F"*0t",xN:)@Jf Hx aXO *0r , ,xN:)@f Hx aXOpC J"lQ l&Hp'@'E(p-'@ '|p '@Jg'|MSD@ l!K( l1|"H,x d6" BBN>PO$@ fp`N/ NXO&@ f / Nfp`6'm( m - "K"-,xNDJg/ N<.N Bp` LLN]NuH&o g0Jg/ aRXO"k,xNJ"KN>/+N.NXOLHNuH./ &oJg  @CrR// / NO `B LNuNUH2Jfp`R lp h" (/@ ,xN| / @"(&A`Jf kf$K` &@ f,xNv LLN]NuNUH2 lp h" ($@BHx:/-N PO&@ g @`/-N "XO@,xN| *&@`2 +( @Cp-// /-N (O Jf+K` &@  eڒIf,xNv -LLN]NuNUH2&o gj,xN @C\/I pD"<N:$@A%H %J%o p%@%m ( K"JN o N o N g"JpDN. * `pLLN]NuNUH!2&o `|Rr gr gr gJgn ,RA$Hp"f&R$`RJgp"fJf HxNXO`(B`$$`RJgr g r gr fJgB m|Jf lL`A)HJfzAC`""""B lL h$Hx(/(Hl`N O A`"$<,lpN)@()@0r)A,)@8)A4/@,xN"/ A"@#h~`*,lpN)@(N)@0A."$<N f[)@8~ @$ @,4Jgp` <Bd"A)A`r)A"A)Ar)A@)@A)H@/,/,NBNLLN]NuNuNuH0./&o,/ /NhXO$@ fp`6*gHxB/N O // /*NO *J(gp` L NupaNUH'0&o\$o`~|zp| r+At+BA@@+A+A+HJgBpr]Ak8{fN#` `+` -`~`|` z`|R`r0fRAp*f RC$+PR`Hm/ N POr.f&Rp*f RC$+PR`Hm/ N nPOrlf |R gN'`rhfRr@p0]@kT{fNc`*s`X`~x`xp`^o` u`d`J-g RC$ ` RC$ +@l rD+AJgp-` Jgp+`p @p"-肀pgRR/-/-NPO+@ -Jjr+A -"-Ho. m"H`Sdp-"- m`Sd -+@ѭA+HJgP| `FJ-g RC$ ` RC$ +@`bJ-g RC$ ` RC$ +@J-g m0r+A+H//-NXPO+@`(|0 -Jjp+@J-g RC$ ` RC$ +@J-g m0xr h⁓'+A+H//-N4PO+@pX-fHmNXO` RC$"P+IfA+H mJfS+H -Jk*o&+@` p+@ RC$ @B-`p` -"-lt+B`Jg6Smp m/+H mNXO`SmHp-/ mNXO`Smp-/ mNXO`Smp m/+H mNXO` L N]NuNUH0&o$o"+mJg4p%f"fR`/ Hm/ aO +@g$@`p/NXO`L N]Nu/ &oJg +fp`6/, N XO'@'@Jf p )@lp`'l pp'@ '@&_NuNUH/./4&o8 i:62.*&" $fp`:'GE j'H&Jf$Jg"j"%KJ| uU+`CpN)@pgNudos.libraryNU/Jg B/,N RPOJg B/,N @POHzfNRXOJ, g rKҁ,lpN:J g "l ,xNb/,N v.N nXOJg"l <3,,xN./-N,mN]Nu Operation ABORTED by user ERROR!SOURCEDESTNATIONmfm.deviceicon.libraryTO Usage: %s TO ERROR! No %s disk icon selected. Extend-select Disk Icon and try again. %s not a mounted device %s not an MSDOS floppy device.%s larger the %s. Cannot proceed. Place S vOURCE disk ( FROM disk ) in drive %s: Place DESTINATION disk ( TO disk ) in drive %s: Ctrl-C to exit Could not allocate memory for track buffer Copying cylinder %3d, %3d to go %s Error = %d DiskCopy complete. CAUTION -- %s and %s identical. You MUST remove at least one of the copies from the drivesHzNnHxaPONuHzNZHx aPONu|pNuNUH/2./$H+H+H+HCzp,xN)@ JWDHH@ gb m mT&h$P,JgD",lpN./@ "NJ  w-f.  @ h )H/NXO+@JfHx aLXO`$kJ, gl m m^"h$&I.JgF",lpN./@ "NJ f  @ h )H/N XO+@Jf`Hx aXO`T+k`Lpm& m Hz/(NPOJf m $h+h ` J, f m /Hz^NHxahO Hz`NXO&m f g/ NXO&@ g)kJg+KJf*Jg$/-NXO+@Jg @)hJgB f6J, gHzHzNjHxaO `/ Hz.NRHx aO Jf8J, gHztHzN.HxaO `/-HzNHx aO +$@ m (&@Hm/* x4N~Hz./NOJgHzHzNHxa@O Hm/+NHHz/N^OJgHzHzNHxa O /* /HzNXO )@Jf Hx aXO/+ /HzN4O )@Jf Hx aXO l1|"H,xN8 l1|"HN8 l ( rf"l$) f|O`4Sf.p"l f"Hz(HzHzNHx aTO,-`|'+FJgHx/,NPOJgHx/,NPO lB( l1|"H,xN8 lB( l1|"HN8Hm m/((N.HzNPHm m/((N.HzN6HzN.HmNN(Hz.NHzNPO( <3,r,x cyN:)@JfHzNahXOp l@!|3,$"l!I( l1| l@!|.|$!l( l1|zx` //HztNO ~`,܇ l!F,/NXO"l,xN&Jg/HzHzZNPHx aOJ,ga l!F,/NXO"l,xN&,Jg/HzPHzN Hx aOJ,gaR,-pefRTcBHzNHzHzHzN.Nv.NnOJgRJgLHzNXOr2,lpN: l1|"H,xN8 l1|"HN8 lJ f lJ gBaLLN]NuNU/ mB$1| "H,xN8,_N]NuNUH2 z:\0Jfp` Jg lNJfp` HxNFXO L@NuaNuH02,l4 o"o$o &o$ /("/,$/0&/4NLL NuH./ ,S,JFk0 HA,*0Jgf HA,/0NXOSF`/NXOLNuH2&l@ g$S"K +,xN.&J`)HD)H@LLNuH2./p ހ r,xN:&@ fp`:'GE@ j'H&Jf$Jg"j"%KJf)KA LLNu/,y<"/NR,_Nu _DeviceProcx(:{R\ ((((( H ((((( H :$p` Jg lNJfp` HxNFXO L@NuaNuH02,l4 o"o$o &o$ /("/,$/0&/4NLL NuH./ ,S,JFk0 HA,*0Jgf HA,/0NXOSF`/NXOLNuH2&l@ g$S"K +,xN.&J`)HD)H@LLNuH2./p ހ r,xN:&@ fp`:'GE@ j'H&Jf$Jg"j"%KJf)KA LLNu/,y<"/NR,_Nu _DeviceProcx(: ~|&_NuNUH/./4&o8(p1gp`p+VDHH,Jf+fzp'@ rgB/ NNXOJg p`*Jg +"D'A ` +'@ S m kC'I r` r/ /aRPO" `+gXpfp` @Jg"r fr/Hz/++AN4O *`r/Hm/++ANO *~`JgRpgLT r f& kC'I "+ Jk / /aPOR kC'I "+ Jk~ ++@gr+gRHxB/+NxO +@Jg8Sm2B/-/+NXHxHm/+NpOJpf "ꪪUUU`ꪪUUU`ꪪMFormat FMT=MQD99I Utilitiesp ))-rg/-/+/+N8O *`zpf` gJg"+$D'B `+gr'A `"+'A k'Hg.S m kC'I r` r/ /aPO"p0gp` pfp` LN]Nu H&o+VDHH.p0g Bp`X+g+g / HxN"POJf6B+gp'@A 'H`/ NXOJgvp`JgfT +JnZ kC'I|  g. f2Sm kC'Ip`/ a.XO`p` `+fN/+/+/+NO *JjJf谝JoJg D'@`'E k'Hp2gJgp'@`p'@p` Sm kC'Ip`/ aXOLNu / am zn NuH 0&o$KJg$pAQ0g rt `rR` L NupaNUH0&o$o ./$Jg6Jg2Jg.p/N|r./@NnXO"/,Jg `S`JgJgp` Jgp`pL N]NuNUH0&o $o$./( JJfS, KJfS "K+Ic,  J`Sd mB0h L N]Nu o JfSH NuH&o ./pf `JfpLNuH&o ./// aPOLNuH0&o./7Jgpf$KR` L Nu/ &opAQ0gR` &_Nu / oNU"Or NA0Jf fBN]Nu / oNU"O"AA0f fBN]Nu0123456789abcdef / oC2Af "XᲉfBNu / oNU"Ol-Dr NDA0JffB N]Nu o"Hrp/ +g -fRH0m n $҂ҁҀ` -fD$ S o NuH0&o$o./ JJfS,m,S  J"K`SdB3h RL NuNUH2./4Jnp`pd. V.G$m m߬C&Q+H+I g Kj.ꪪUUU`ꪪUUU`ꪪMFormatFMT=MS9}w9fMSDOS_QD9.MFormat.infon y ++H"mc$%G,m,p`xf,S$ +"҇%A,m,p`Zdp`Nf,Jg Scp`8߫Jgf )ѫ&p`+K+m&S`n m B%GpLLN]NupaH0./&o,/ /N$XO$@ fp`// /*NLO *Jpgp` L Nu/./RSm lC)I r` rHl/NLPO".NuNU/ &o BHm / HzNpHlHxN ,&mN]Nu /f <" )@pNupaH./,/*/ /NLXO&@ fp`///+NO (Jpgp` LNupaH0&o$KSmp lꪪUUU`ꪪUUU`ꪪMFormatFMT=MD991 DiskChk.infofpN)@ Not a valid device => %s Could not find process for device %s Handler removed. Handler would not die.NUHzrN.NN]NuNUH2&o,xN @C\/I pfHz8NrHxaPO/+HmN @Hx:HmN jOJf/+HzN>Hx a~O /+NXO$@ f/+HzNHx aVO A+HA+H+o p+@B JC,xN o N o N @ h p f HzN XO`HzJr N HxaPOBaLLN]NuNuNuH0./&o,/ /NxXO$@ fp`6*gHxB/N O // /*NO *Jgp` L NupaNUH'0&o\$o`~|zp| r+At+BA@@+A+A+HJgBpr]Ak8{fN#` `+` -`~`|` z`|R`r0fRAp*f RC$+PR`Hm/ N dPOr.f&Rp*f RC$+PR`Hm/ N 6POrlf |R`rhfRr@p0]@kT{fNc`*s`X`~x`xp`^o` u`d`J-g RC$re ` RC$ +@l rD+AJgp-` Jgp+`p @p"-肀pgRR/-/-NPO+@ -Jjr+A -"-Ho. m"H`Sdp-"- m`Sd -+@ѭA+HJgP| `FJ-g RC$ ` RC$ +@`bJ-g RC$ ` RC$ +@J-g m0r+A+H//-N PO+@`(|0 -Jjp+@J-g RC$ ` RC$ +@J-g m0xr+A+H//-NPO+@pX-fHmN`XO` RC$"P+IfA+H mJfS+H -Jk*Ұo&+@` p+@ RC$ @B-`p` -"-lt+B`Jg6Smp m/+H mNXO`SmHp-/ mNXO`Smp-/ mNXO`Smp m/+H mNXO` L N]NuNUH0&o$o"+mJg4p%f"fR`/ Hm/ aO +@g$@`p/NXO`L N]NuNUH!2&o, lr g r gr fR`Jgh ,RA$Hp"f&R$Jg p"gR`Jf HxN0XO`B`$Jgr gr g r gR`Jf`B`rJf l`A)HJf|A$Cl""""2"l i$Hx(J/(HllNvO Al"$<,lC)I> r` rHl:/NPO".NuNU/ &o B0Hm / HzNHl:HxN ,0&mN]NuH./,/*/ /NXO&@ fp`///+NO (Jgp` LNupaH0./Jnp`pd. V.GE&R g@ +m2f S$ `n +re K$$H$%@ `L$K&S` ",ЁSN",N,P V,F/N6XO&@ g// NV.aTPO`pL Nupa/.//N2XO.NuH./G g4+f(+g +,Jg//+ ;R/+NO &S`/N(XOLNuH7./&o ,/$JgNB"$ &,l./Z4$zYb4 aFCj4dFC!ܧ  fIvmount_jd.docmount_jds.doc@)#(ۼ.r!&%u)Ĕ;ia3gMPи B*hD1\1M8a4aS@ki q卜5b(Y:8N I97eVycΜ2 #6ia({(A;eIbիYWa 6o09bMy*On֚*KsuFEղt(FN{s}o>%O3Gc9cy,U{R_Yx{e nA.mȃe.%K48i Dl:J`4)QqCW`/\av8%Wdg1)PHū6%5ЕC.XuI|d(ћʤ+ffTG/ozb㮥=^#`PfWC0+n_C".wb̐4}qsaTJG$RxBz@(]4A o_`,W !ST7J2_ñR7| 0U̲UbdEWR E)Pbev9N]{hRT5 Dy#I b0hI@4lg,hBIi& ܧ1fr1mountdf3.infmountdf3.info@)#(AAt@ 3jxo0U 68|JcC t@͛8sɳϟ7 T:Dڤt(*4-ɱSۺ' j/Wvc'뿓X@\{3𫶮J'ee׮@#KL˘3ka= J\Y#j)N*kާn*Wto{/wcO' }ϦΟLӫ_Ͼ˟_q6o긡ADaECF̠ܧ X0I!Wdg1)PHū6%5ЕC.XuI|d(ћʤ+ffTG/ozb㮥=^#`PfWC0+n_C".wb̐4}qsaTJG$RxBz@(]4A o_`,W !ST7J2_ñR7| 0U̲UbdEWR"| ||8 mount_jds.zoo#n"wء@70 &Hy1Y`4:BBgӆ=j0 f8Ϟr!7S `A@–~ $P1w #$G)"FJ sB0;t:v'~΀!OɎ`6"Sl*lg "`#N q!r`@SҮ!D ƚpaBj LIx)m*O{=.PH9@ 1І) !psΉE'XjJb K;B)Wܴq$PP[T )7Gn`A#0 X dL#@qfpvk8 ?|̋afGr;d # &ri^IDl.u8T7'`#qԂ@`'!0!=Ҕ@$$ۂ8PjZRfx, f'SPD/.v$@ "%Ah.#Ap p0n0a0 0!(,H`-  80@SB &x@b9T݀3Xcr$8=@ a"p$$~!= B? \ݥ/A.&pT f !h &3@(xJ񀔦De[87!^(09|+]03@ b8sb0s*HO F0 0n i#xD&!` 4٘!~?t?ȩs#h3H.@ XQsH`C!KP9ix~ sb?BȘz<23أPȸtz$MBPn0&7w|*q6=bʊb 8 @"hcv ٩dc@6 B!  ȅ"f@7)Eއ t# 8dldqĜ`܈Fl@@ XV\ F?ywD P@ !@ @"/4D 0ѐ @!D;E$&rV{P@ ~kDP!D2sAP! s9bCI t2 nLG'1k(C@p7g,:A eq`6 'P &q!L8 *.Â9e0Wo06RF"8 c(Ì 2x+`@\$ D`B$(z Y[" %g *0r/H ,xN:&@ fp`A"KpN ohPhhhh(@(@7|U *"m3@&p(r(/@ *$N "/N Hx// NfO @"K ,xN.J/g /HH`D m lJg/(NXO lBNјJgp` m0(H&. *0r ,xN:&@ fp`| A/N XOp r KQ|$m` 2hhRp/mp m0(H//(P/ N߈O @"K ,xN.J/g /HH`f m (4,~&h0$K`BRm&m+g.<`.<p!/= o(H@B@က$N|NüB+pLLN]NuNU"m#Hp#@$ ) #H N]NuNUH2&o,xN| l h" ( @"($Apf\ *( @HHR//-/NrO Jf8 *f0 *f& *f,xN @C\%INv ` $@ f,xNvpLLN]NuNUH2 l h" (B-/@ ,xN| / @C $@+I`4 &@ mf Jg%H` m |+J$K f,xNvJ-g "mpLN.-LLN]NuNUH2,xN| l h" ( @"($A`$K &@ f -$,xNvLLN]NuNU"+H2$l j (/@ AC"""N(&@ gHm/ NfAHm/NO`$A"HJfS @HHC,xNHmHmaPO&@ fzpL"<,xN: @C,-HHR/@/IA N&op'@ o 'h@ N @C\'I /'@('m'm'm/ aXO%KLLN]NuH&o K,xN&@ fp` + LHNuNU/ m h"m#m "Q,xN,_N]NuH./ &oJg  @CrR// / NO `B LNuINFinfoNUH 0 m R&HB-$K/H `p- m0t g$KR- - eܵd J`#5/ KB  m r L N]NuNUH 0 m R&HB-$K/H `p- m0t g$KR- -eܵd J` K&Hp m(gX.CHz./ NNPOJf,A""Kfp`0p- m0t g$KR- - eܵd J` K&HB m r L N]NuNUH8&o* m(((ACxQxrp0r2 /Ar'@"/(٫pЀr2N'@prt4p0"t‚A"Ar Ё@HmNXO"<QN j&r-Tt‚f -tcRLN]NuNU$cn1H0 < j mА"<QN~Hm/N8 m (r2N/@ (rd  j  ,)JNW    B| N| \ ^ #n~   ( #" &d &x &&p p p @h p p 4CDM 3.2p *: ((((( H ((((( H p\H4  Z^DtJ-gB`|`$`$`zJ-f -rmJ-gd-r lZ-HHtc )|tB"RH m$H-HHAAM0g-HHr `-HH$o Sm&m0-J@k f L N]NuPlease replace volumein unit CancelNUH2&o./ l h$H/H`.0*Hf" *fpgf)|tp`t $@ fp."<,xN:$@ f pg)@tp`J l ("%A"P%i %S%k +5@k$*pg~%G o$ LLN]NuNUN m (( @C)Ip l hl @0 l@HxPHx@p//HlHlHlPBN"r N]NuNU/ &o| gL +&@ lgNx`NvN< l hg/ a`XO@fJ-f"pmЀ)@tp` lJf )|tp`p&_N]NuNUH0 l$hT/ /- /-aO Jg/-/ a(PO&@ L N]NuH2&o fHxHzBaO $@`>pf6p.r,xN:$@ K"Jp.N +" A$ +" @!A)|t LLNuNUH2 m ("@E &@ fHp`R.f4$"mp.,xN. m (&@ l hg/ N8XOp`$K &@ f)|tpLLN]NuNUH 0&o l$h"m )'@2)H'A gJfRf/ aXOJfp`A *("@HHR///N(O p'@ '@r'A'@tr'A'Ax lr2(H'At4(& N'@|'j'j'jB`.Sp'@/ / a(POJfp`pf p'@'@xpL N]NuH00&o$o/ aFXOJfp`/ N8XO&@ gprFgJgr.g+ f gvA// Np+r+t+HBBBv+HCBC჆%C|p+r+t4.N%@AC./NO p%@p` )|tpL NuH'0&o.+|zJfp3gӟgz`pmp'@p'@`f R..f`* gXp*r*t4'Bp'@p'@|`p*r*t4fzSRJf/ NXO$@ fJf/ NXO$@ f'F L NuNUH2&o l$hTB/ aXOJfp` f)|tp`%k0+H%@p%@/ aXOJgVp.r,xN:r @!A"l"i" !A!i !R!j"*1A"l"i "#A+@`)|t -LLN]NuNUH0&o"./* l$hTB-/ /-/ aO +@gpg)|tp`  gJ g f~`*wg)|tp`!ɬ| l0(R@ l1@~`\Jg/-/ N POJf)|tp`/ /-/ NO Jg+J| l0(R@ l1@~`p`JJg// aPO&@ fp`0/ / am+'j|& * '@'@7|, m!K$pL N]NuH&o .+/ aXOJfp`6pg )|tp`"//,N.NPOJfp`'k"&pLNuNUH80&o* l$hT|++g(gf/ aXOJfp`+*g0HxB/ N4HxHm/ NpO +""+&n"'A&%k0+HS%@p%@/ NXOr+&t+'v+(HCBCx+)HD!eBDᄈ @!D Hm/@NXO o!m l0(S@ l1@//NXOJfp`/ apL N]NuNUH0&o l$hT~Hx/- / NO &@ gF0+HS%@p%@/ N @C./-/@NRPO o  /NRXOJg~/ N L N]NuNUH0&o ./( l$hT|Hx/- / NO &@ gT0+HS%@p%@/ NjXO$@ rg ` g ` / NXOJg|/ NR L N]NuNUH0&o lp`xp'@/ NXO$@ gprFgJf fN/+NnXOJg@RB/N.NPO$@v[ g&Bm`p0-B2Rm l0(F2-@e L N]NuNUH2 l$hT&mr or `HH" h ((/@AN<&@ f(Bp%@p%@/ aXO&@ fp`f| p r KQ~$m` 2xxRp/m/ NnXOJfp`( oR/"oHH/H K"o,xNpLLN]NuNU/+m 0-HS+@p+@HmN/@ m"@p ,xN.N,mN]NuNUH0&o$o"~B@ ` 3xH @:g @\g @/f ~SJn/ / /-NLO Jg l )|t/  L N]NuNUH'2&op l$hT~Hx/- d3/-N@O +@Jgr2Ftg )|t` @,(%F0(?@HS%@p%@/ N| @Cp ,xN./-/ NO Jg p4F)@t`p2Ftg py)@t`A&Cp ,xN/ /-/ aO Jf` * m차g/ aXOJf)|t`** *|2/H//Hm;@aO Jf`-gp-r-t4%Bp%@p%@/ NzXO&@ g p.f+f gn @ rF@/ NXOJf`J&m`00/2+@f$ +f0-7@'EH//NPO'@ &@ f`*;o g:ACp ʱW,xN-@0-H//HmaO Jg~/-NXO LLN]NuNUH02&o0$o8/ /- / NO Jgp4F)@tp`p2FtfA&Cp ,xN*$/ /- / @ aO Jfp`/ aXO&@ g/<NXO;@fp`bpr KQB+ p-t-v67CA"Kp ,xNBHmN 'm.N@XOJfp`o$ LL N]NuNUH90&o. l$hT/ /- / aO Jfp` *Sr%A/ ;@N\&@| .NXOJfp`p+r+t4.+p0B/;BN.NNPO&@ fp`;|`0-HB3Rm l0(F2-@mp?r KQp.rA t-v-x87D'G@ @!A+p-r-t47B:'G6/ NXOJfp` Hx/ N+l m h ($@|&mr or `HH")|tA gJfp`HxN*XOJf lx ( @ r0AkDfNAS9`AD9`MS9`MD9`MQD9``B-.*(p- @g @fpOb .` p'b . * @ *@ *"* N"$RN9@r2JjR. e||` p r@Ap-Ѐr-/@ N"/NR@`Xp-fp`x|`B|`:|`2p-fp`R|`p-fp`<|`p`.p-"HA~>  g p0+,//+@/+0N O Jga*^p0+, f 2*^7A,`5@^/-a 5G^L N]NuNUH0./0$l j`|*\z&H+H`RPp*]l <fp*]fJz:*^  m&Hg <///+N8O & p+zRj^p*]r2*^mBj^  m l| m 0L N]NuNUH0&o$l>*^p0+, f 2*^7A,`5@^/-a 5G^L N]NuH0&l~+\|$k``g///*NzO RPp+]mL NuNUH0&o l h`~$H+H`RPp l(]l" jbp"l)\r2)&N3>cp l(]l "< m°/a@L N]NuNUH~ l,(pz`//,N POJgRRo l (lhr(\/@ N2"/ Ҁ LN]NuRead Error!Write Error!Block = Length =  Z RetryIgnoreHeader CRC errorData CRC errorDevice Error = Disk Ejected Too Soon!Disk May Be Corrupted!Replace Disk Now to try to recover data.RecoverH./|z`fp`6 Rr f*//,N PO. lJfp l(\"N1xLNuH./Jn)|tp` l,(p*(8`//,N xPOJf l!E8`Roຆm )|tp`^ g@`.//,N gI0(`A0(LD(Y(p0LNuNUH 0&o0pE+J m&"m@$/ /-@@@+Ha8POJfp` p r mQH;@`Jmg @HH`pA/H r8AkJfN[`0]`:``B\`0/`(.`p mP@@pr Q`d)|t`J-g)|tgD|&m mf/ a$XOJfN`Jp'@/ NXO$@ g0Hx / /-NNO JfprFgr.g* f f+K gp@@p r mQ+o `)|! Surfaces = 2 BlocksPerTrack = 9 /* 9 sectors per track */ Reserved = 1 Interleave = 0 /* SecOrg = 1 */ LowCyl = 0; HighCyl = 79 /* 80 track drive */ FileSystem = L:MSDOSFileSystem Buffers = 5 BufMemType = 0 Stacksize = 4000 Priority = 5 GlobVec = -1 DosType = 0x4D534400 Mount = 0; # DI2: Device = mfm.device Unit = 2 Flags = 1 Surfaces = 2 BlocksPerTrack = 9 Reserved = 1 InterleaJve = 0 /* SecOrg = 1 */ LowCyl = 0; HighCyl = 79 FileSystem = L:MSDOSFileSystem Buffers = 5 BufMemType = 0 Stacksize = 4000 Priority = 5 GlobVec = -1 DosType = 0x4D534400 Mount = 0; # DI3: Device = mfm.device Unit = 3 Flags = 1 Surfaces = 2 BlocksPerTrack = 9 Reserved = 1 Interleave = 0 /* SecOrg = 1 */ LowCyl = 0 ; HighCyl = 79 FileSystem = L:MSDOSFileSystem Buffers = 5 BufMemType = 0 #[* Stacksize = 4000 Priority = 5 GlobVec = -1 DosType = 0x4D534400 Mount = 0; # DHI0: Device = scsidev.device Unit = 1 Flags = 0 Surfaces = 6 BlocksPerTrack = 26 Reserved = 1 Interleave = 0 /* SecOrg = 1 */ LowCyl = 732 ; HighCyl = 811 FileSystem = L:MSDOSFileSystem Stacksize = 4000 Priority = 5 GlobVec = -1 DosType = 0x4D534400 Buffers = 5 BufMemType = 1 # rTrack = 9 Reserved = 1 InterleaE (4,xN. lJTg"hT (X,xN.LHNuHxPHx@p//Hl@r/Hl/N="O NuNUH=2&l k (/@$+gp`| o$ (7@&JTg"kT +X,xN.p0+&'@X o$"(0t",xN:$@'JT f BXp`" o$ ($"(N;"( N;.Hx// N O Jf'Ghp*rxҁmp*g ap`p* r* t47B&*@/rcp`p*r*t47B,p*r*v6և'C l/N3B,N|XO"lpx,xN. LLN]NuNUH2&o<$lCpp!,xN)@lfp`RBHzfN?PO)@|Jfp`8Hx8/,|N@PO)@xJfp`$%KHm/+N5PO @ "lx"+ ,xNDJg lxB`HxF m/(N@tPO&@%Kt fp` lx'h lx'h|8| 9A'H:A'H>A9 'HBA0'H(7|"K,xN2HxX m/(N@PO&@%K fp`NB*7| A('H 'K( m'h,p'@0AXp"Kr+BG,xNDJfp'@ "KN2R*pLLN]Nuintuition.libraryMFMPortdiskchange_inttimer.deviceFile Allocation Table Corrupt!Results uncertain.Proceed at your own risk.Continue l(fNHxN XO lJg/(N1XO lB l( l@NuH l&h g0Jg"k,xNJ l"hN>HxX l/(N>PPO lJtg"ht,xNHxF l/(tN>(POJxg, lxJg"h,xNJ"lxN>Hx8/,xN=POJ|g /,|N;XOJlg "ll,xNb lJ`g"h` (d,xN. lJ0g"h0 9|+I+Ip2l.N( - m"f N<~N6HxNXOR`Jf. l C^+IY+HY"/,Hz+H+INPO`/,HzNPO` HzNXOHmNXOp/NLN]NuTDPatch2.2trackdisk.device Could not open trackdis NIk.device %s applied %s could not be applied Incorrect Version of trackdisk.device NN@N NNN NN,o&oA.'HNa </,n4N,_`"f K/,n4N,_Jg$@@g kRg 'HNN kRp1@7@LpN N,h4R.',HJk$f2p+C/,n,_NuD$',HJk$f2p+C/,n>*@*(B$D<tp&|b,LAaxASnpSnpSfHAHFAA23HFFHAmJBg0L||NuR(J,LT`! B0c@P`p)Jkѭ12s"RRBrb֓9{ZӽÜ$b4C dtDTjK( ŬՍ6S&r0vfVF[z8 !DםǼHXhx@a(8#Hi +ZJzjq P:3*랛yX;l|L\,"< `Aͭ* hI~n^N>.2Qp:Yxʡ -No0 P@%pF`g=^"2B5RbwrV˕nO, 4$tfdGT$D۷_~<&6fWvvFV4Lm/ȉ鹊XDHexh'8(}\?ثJuZTj7z *:.lM|&l\dLE<, >]|ٟn~6NU^t.>H?>*@(B$D<tp&|b,L-AaHFEE:3PHFFxGGFSnpSnp ϷSnmJBg nRvN`0L|NuR4(J,LT`H9,(@>,RG*l$l <"<*Q*R$R$*R$UR%M| | <",RG*l,M(l$L" $a6*@Jg DUTg& R$URf%@A |$lz*@`R$ &<A00(aXJ@g<@"  Ѓ\w$aJg> DUEf%@A l$*@SGo `bp ,g<LtNupSGo|`+AP`AH (@&$*H ,r, A0(NJ@g| L0Nu,yN(@&lX*k&` KN+"f KNJg $@N`+"`NuH,y"C D|#H|B #A (<Sm2eAJ gN`"XB#I `pLpNuOv  @&Th H VD$(,048<@DHLPTX\`d udvhlptx||L z"Z`T hdX\HLPz < ",RG*l,M(l$L" $a6*@Jg DUTg& R$URf%@A |$lz*@`R$ &<A00(aXJ@g<@"  9)HP)HLLLNuH2./p ހ r,xN:&@ fp`:'GEL j'H&Jf$Jg"j"%KJf)KA LLNu qNUH~ p/Hm/HzNOJgHzNXO` m0(r!Af+|v m h"h>|+I+Ip2l.N( - m"f N<~N6HxNXOR`Jf. l C^+IY+HY"/,Hz+H+INPO`/,HzNPO` HzNXOHmNXOp/NLN]NuTDPatch2.2trackdisk.device Could not open trackdis GBk.device %s applied %s could not be applied Incorrect Version of trackdisk.device NN@N NNN NN,o&oA.'HN`a </,n4N,_`"f K/,n4N,_Jg$@@g kRg 'HNNX kRp1@7@LpNb N,h4R.',HJk$f2p+C/,n,_NuD$',HJk$f2p+C/,npHlN/NPO"`(RSZm lRC)IR r`pHlN/NPO"`HlNHxN L N]Nu0123456789ACDEFNUH!2&o, lr g r gr fR`Jgh ,RA$Hp"f&R$Jg p"gR`Jf HxN XO`B`$Jgr gr g r gR`Jf`B`rJf l,`A)HJf|A$C|""""2"l, i$Hx(/(Hl|N2O A|"$<,lHN)@@)@Hr)AD)@P)AL倓,x+@N m"@#h~+@`*,lHN)@@N)@HA"$<N)@P~ @< @DLJqgp` <.BH @)@Dp)@j @)@fp)@ @)@A)H /,/,N2BN8LLN]Nucon:10/10/320/80/*N/ &oJg +fp`6/,NXO'@'@Jf p )@Dp`'lpp'@ '@&_NuNUH/./4&o8(p1gp`p+VDHH,Jf+fzp'@ rgB/ NNXOJg p`*Jg +"D'A ` +'@ S m kC'I r` r/ /aRPO" `+gXpfp` @Jg"r fr/Hz/++AN)0xO *`r/Hm/++AN\O *~`JgRpgLT r f& kC'I "+ Jk / /aPOR kC'I "+ Jk~ ++@gr+gRHxB/+NO +@Jg8Sm2B/-/+NHxHm/+N\OJf -rg/-/+/+N|O *`zpf` gJg"+$D'B `+gr'A `"+'A k'Hg.S m kC'I r` r/ /aPO"p0gp` pfp` LN]Nu NUH0&o $o$./( JJfS, KJfS "K+Ic, x J`Sd mB0h L N]Nu / oNU"Ol-Dr N`A0JffB N]NuNUH2./4Jnp`pd. V.G$m m߬(C$&Q+H+I g K ++H"mc$%G,m,p`xf,S$ +"҇%A,m,p`Zd(p`Nf,Jg Sc(p`8߫Jgf )ѫ&p`+K+m&S`n m B%GpLLN]NupaH0./&o,/ /NXO$@ fp`// /*N`O *Jgp` L NuH./,/*/ /NXO&@ fp`///+NO (Jgp` LNupaH0c./Jnp`pd. V.GE$&R g@ +m2f S$( `n +re K$$H$%@( `L$K&S` ",ЁSN",N,P V,F/N6XO&@ g// N.aTPO`pL Nupa/.//N2XO.NuH./G, g4+f(+g +,Jg//+/+NO &S`/N(XOLNuH7./&o ,/$J gNB"$ &,lHN*pfN|)@p)@D LNuH?./,/ */$J gN4B S"$&,lHN(pfN|)@p)@D  g gJf ` І`"tv,lHNXLNuH7./&o ,/$J gNB"$ &,lHN*pfN|)@p)@D LNu/./J gNv",lHNp.NuH0$&HBHCCHBBBЂL NuJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$NuNUH32~ l8(pOo. C`SdB5x,xN&@JgL +$@,*8Jf,+Jg4"A$v ,lHN GR  "A$&,lHNp`NJ@f:Lꫪ꫿??uQ c:mount_jds DEVICE=DI2:FROM=DEVS:mountlist.msdosFSꫪ꫿?u .l0Nupd`CpN)@HgNudos.libraryNuNuH0./&o,/ /N XO$@ fp`6*gHxB/NO // /*N pHlN/NPO"`(RSZm lRC)IR r`pHlN/NPO"`HlNHxN L N]Nu0123456789ACDEFNUH!2&o, lr g r gr fR`Jgh ,RA$Hp"f&R$Jg p"gR`Jf HxN XO`B`$Jgr gr g r gR`Jf`B`rJf l,`A)HJf|A$C|""""2"l, i$Hx(/(Hl|N2O A|"$<,lHN)@@)@Hr)AD)@P)AL倓,x+@N m"@#h~+@`*,lHN)@@N)@HA"$<N)@P~ @< @DLJqgp` <.BH @)@Dp)@j @)@fp)@ @)@A)H /,/,N2BN8LLN]Nucon:10/10/320/80/*N/ &oJg +fp`6/,NXO'@'@Jf p )@Dp`'lpp'@ '@&_NuNUH/./4&o8(p1gp`p+VDHH,Jf+fzp'@ rgB/ NNXOJg p`*Jg +"D'A ` +'@ S m kC'I r` r/ /aRPO" `+gXpfp` @Jg"r fr/Hz/++AN)0xO *`r/Hm/++AN\O *~`JgRpgLT r f& kC'I "+ Jk / /aPOR kC'I "+ Jk~ ++@gr+gRHxB/+NO +@Jg8Sm2B/-/+NHxHm/+N\OJf -rg/-/+/+N|O *`zpf` gJg"+$D'B `+gr'A `"+'A k'Hg.S m kC'I r` r/ /aPO"p0gp` pfp` LN]Nu NUH0&o $o$./( JJfS, KJfS "K+Ic, p J`Sd mB0h L N]Nu / oNU"Ol-Dr N`A0JffB N]NuNUH2./4Jnp`pd. V.G$m m߬(C$&Q+H+I g K ++H"mc$%G,m,p`xf,S$ +"҇%A,m,p`Zd(p`Nf,Jg Sc(p`8߫Jgf )ѫ&p`+K+m&S`n m B%GpLLN]NupaH0./&o,/ /NXO$@ fp`// /*N`O *Jgp` L NuH./,/*/ /NXO&@ fp`///+NO (Jgp` LNupaH0c./Jnp`pd. V.GE$&R g@ +m2f S$( `n +re K$$H$%@( `L$K&S` ",ЁSN",N,P V,F/N6XO&@ g// N.aTPO`pL Nupa/.//N2XO.NuH./G, g4+f(+g +,Jg//+/+NO &S`/N(XOLNuH7./&o ,/$J gNB"$ &,lHN*pfN|)@p)@D LNuH?./,/ */$J gN4B S"$&,lHN(pfN|)@p)@D  g gJf ` І`"tv,lHNXLNuH7./&o ,/$J gNB"$ &,lHN*pfN|)@p)@D LNu/./J gNv",lHNp.NuH0$&HBHCCHBBBЂL NuJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$NuNUH32~ l8(pOo. C`SdB5x,xN&@JgL +$@,*8Jf,+Jg4"A$v ,lHN GR  "A$&,lHNp`NJ@f 94Cp,xN)@@A)HHx 2ܙ VA  H=Ĭ56h6@&@Y@^K 04 NQE]$ ; pr\j p? \;~A@| : a2r_7D\C_Alr/ D <[E[_B$9?!~?> ry`<5\$ (r{Ua`B|lpcLo ve>K~c@|_a| g=t q7 Ps"* C':x zA` 2p93 e>A/ 4l3ÉX8  %!q$8 玿p~x?"?‘!"lph;S, c~h0B8! } RP 0p/N8gc]-]:@D8@l_4G AxV8u$sx׳1rOv>! B%)VqD;@^9lL@d4ZPBC@6/l 0b@(   <qphp 'H3[$IrCO/9%@hVv\rP8  8? x*Bl^g0 :0E+r d-c2 #_d.lEa @2/*|} 7_wmhx3& ?T *<P0*& / @`H@:?Z1 OP4*0(@ Qv=jZh ~*?PxZh $!dq@0TT@}K";\h? r@ Ct=ǀ? j*e`rO`@3$`Pp8ˆ0BVY}y /@P b_Rb1PH~ )`=@b(ERv 0chODVY  0ZCFPf01*y`Px҈!{ 2 fA@8`X 4, yh@6M[3`` n.  PuI i u!|HP\p 8<XH2 <A"00b A ,A,@ ֋Ppb F A ,A$q  @>p~ TAX Rr^B`?2\!0: ^1r`yAGp3H5!8 p@ >@` ` d6A֊A iRwc() ` 03A X'x?S܀A܃̈t2x cO/6/r @?iALJ` N> HLH<*#tp IA?.7`?4 A@4@pT=B@=fi0I8(>P"z's*p|8Jx&'{&1*/<,/9rP\Q(/3~.d d1܂p9] 9,@iʍH < y`8~ >y烒<#P4"KXB(" Ϲ@@x(K@2qU¨ @:(- fe89{@PJÓ( cA2AVp0( " Mˀ -Z@~@H$9%T ?AO-@Fp.|?>?T! 0H02HH@I 7U80 ] ( p>F A./( ~0"@o8 І 0 2(CcKJg ! xhDq@;!⢋v@5"X D#)`I?0:(&D :@@1G R`&CGK0Zƺ >>@n .5@@xQ۠ >1Nz +48opyl(H8Bh)a-cьs@eΘ00AP\0x  CƽH`p@06`Lb( ` %S ~PT8`;,ZX|XD0L ɠl@kb ˛R)in-;@7 PC x"K urfB )pZ@qЎ >އx p p  ޓ5Gd'Ip_h'~qA?8^?H83KH`&  8?(0: tAA@fӦ)~;0$Ya )i.XΦf t3L@ _`@4g[t6 nH2E ( <`P?l Uf@`x%$ф4`0, y`h^lBt@_'bK$K_eH$ =H84Z!x88 { @(84A8AB y"K$ l!`@C0Ŀ,Pb` sz(1>@Ġ F {  l Pb0 BXX#AS !@ 1 8pH8Ã:JP0 P?1"Y82)@B^pCd@`MMP+0ophZ^9;?x/~DAGp3H5!8 p@ >@` ` d6A֊A iig",$,&,,l N l"H)Ip< gm</f *f *f /f`S)H :f)H lN.$TaJgg>m: #f`,l l "lmg !m (;g (/f *f *f /g`S #g)H  g =gR`B)H laxGr$[SaJg$Jf"lah&$ av$<4ax` l R =g !m)H ;g  nSB)H t労 n. m )l<`m )lP`)lD` lNjJf0K()@`a`$&,Ta$<va"l ,,xN.,l ",[^d/ÆvYUe@@Dǰ)C^h~`X9ȳ@#ǰp`P b  -B h Ax -P 21 ~U 1Ac8G<Zц!8O8o&Eҏ5P&` ӌo& B &/!_ ¬P TPo 5A,JGdg<@fx `bTF` L# * 20`k$; W\#ɂ8d!@26<`pwH(6?b 6.mû?1 s7l 6LWY.`e @*ہ8 QYj q(lh,~?PmnbXi"0(Bu@ H 4Yu?k!p਴+"[UwfG~w_!?8$VGoO$z 8poeu%jUw~KX8U x-/YU p>/E?[ד @4Qο!I>@Uu?=Y|=E0 1qy`Bg0@;/0/Pk~QiNh /= Ujꊹ x8(#x#X<y0 !+DP@|['I = z@[ AxA H(ج*6 fHL ?-> 8Xnhl# 50 A, "`_@(^r5! 3 @ H p"~8C/:  pCX`=~ @!^olj!2Pw>9_pvՐ*pCc!;B` @vtKƀ)TH`KT4fBzJTdx@W-x^PcĐ֯p@=" w68p ‰d]#?iF 0ʁu|8bC^IǨaM  bbhc1t$ EU|@# q@{p:. tȧE604mNC)!XXP(-S(x@ п d1+ @FAx"?0h" ` C 8!@6ЄP~.D@HQ@8Q `b` h&o>i9@fu"'(\5)f:y%! Q?P;P, `` B#Gø( E~Gm|}!ABQ(@_p&|?>! QZDp{D%激M xEBDO0>GKWgԠoP2Y!@?W1Y< 5N@8S0(><>0A|^EdA*˕s@C0cܿ8C0a(G=?`"0-pD4t0l*e8X- |pG 8! O8-z @z@|(V+ 8 #LL2ID`?~GAB?`:_y?8z(xG^ P آ B,CRN"_#$m Z6B| #xX DH 0EOEeS +hh 4> At ) t /xC hX8`#s00b8b7$ uD $ hB1B" @?rE$q a D* I! DB@t@01$@¤(( 1AF `LAP@ Ą Q"X|ACB „>| !xG#P8-%,0t(Aßh2$D=Aá@B;+8n6 \PP5"/ |kx ?Q P> `!7P>@6 g81(M@?`@50\~ #ZÀ$=4u_>ݙEC7LNvs tzsxC~r_ ?Dgw } 觿7$="y< |x݇$e{ A@ 5xw72ϤdoLhO4oP0p0d @ 9>q@1 >CYey{y { b(߀ߟ4PA_  >>?!A~.Ro ~_N#[AC}'  z} tOvv_/_P)t P   l o`qAq? "SV    =u?aJ>!B>ǁ\ 蜮}C#=q&Cu ~NvDs:@1_q@C z̠A`M^?c߃@!<=#^^~]@Q<|B}nb? $)0*7#4sܽo~ho X! OϘ,4-x`7`O`A楎(O(k/,>@nnQaNq>^^wn`? (>7,%&~A@}~)p wrL_wh/7 Hh B%P 舑!" /7 H)ww v *``lloO'w}}yxyCDBDy3,*}~}b WRv1k۠pSxHX$}h07ϯ/x/X@p~v@?0IH#{ v  X+0p0OX HB 1x ق|ށGI!AtMQ7mpHo3 0w`1'% ~Ax(.X~B~50wp_r`]^Ѓ5t <ʇ`O@!\蹠 }J Y}]    ?pǀp0/a) V@U>^zF/ uz  O v!IV Ѱ8:-ȇPwx2(%} Y~q$(\H?/<+/qB?"#Bb~}?AǼ' °?7د[07OP`uxz/ @O(@T/7 wx~}=8[{TP@1ָPKgH/@xH\!02_Eb?*-&YT~B@w֯@7B a_@? ; Cz;'=<Sy}z"}z}$:>C}.,TY)hk$__&d‚ ƽҳ|8  I?yx/0/pt>` Ni"<@@@{ `zM*ȯh0HO@ A^K}\΁6h(؂!(-yB~B|?8'qv[79J %kA|xG}_AA@;QH e&#CPv/>Hꁿ܃ vڂ"@B"=}>^ #39xW 5L dx䤔,-/hP# yIA"9o`(@;V8CTpt_S@(`Ҙpd 07/XB+ld;*?MrW4>(&;|@{kC~Whpw/?3P-- bCޑ+T /@@/P~k|B <@@|7=T9(+~ m8B5 cϴoWZ@ |: ^8 /=  Ο Αf  r mXlA}W7 7Vxg^P*"B * yK0 \ ;57X Ha^WOp9=z` L\C༘ A<ڋ9U f9O^ oj߃d^? H~A:@?߁$i<$#dGஓ+0A( + J߅A } 4$_ &^KX,a(X,* dP \>xKЫ<  R.߁q"o\H\ ^x@Ľຸ? .2(J. $X\A LP& /U^be 8s !2R$~J/`xI|D@07 |TD@ОD4 I xJ4@<`2Ia AHC(((@2~t 06!0h&@?pgO bPZ<K1X]$ :&VB &Cb@. uBX8 !<41LNˠ 40d@AN 5 %tpS j~A0 _ +F)Qd.ABf9G0 ą=hYܑ ®L! 08f ꯂ^@, ;+\ uՀ|@|p2G/00!T\w*Sa3*i%R2 ?@N(q| GrAӿMW A |yӲ.E(xW J9~H@p^A82.B\j}@?dd/ {#CZl.QM2  /lks 9GC4r, Cze䭋#lfJy! TxLg+rG =ڜ<89>Ww^9/r}w_zW???>w"r @C`} gC39^U٦x1cLŠ:N9! \o|`c8>p†'Y(1</(1L874_  .`g3is?2,'p21@.~x)A2OKѴyр3Aap`{(x?0 0|8/X?!u#Sn- 4pz0?f@s`z|@,2pH^0rp@]b ( E cA*(d uJ"C@ rL,b]<\ȁA`D A@*aFha!ЁA8`]@ƎHø o DZ ba!㐱@A 0ȘyZ,-yY:MkXgZ2y?¼Ey0Ӏ5dP ~@ x?$`3# " |iy 0PQ@4pd8Ӿ@oA<HW0*74@@7p ԡ|( ?]@wP(yheƮ?P8 A" | X3=Zb` x6y/tC&C02d kȸ?MȞ?їT8a HV %l\(P>gA  h@fZ!0ศT8 6_GVJ`0k_(@|,~ ])ITlT-DjP*A&@ITZAgNsAMUJb _UK 8 1/e=Єe"a~ 8C_?`M/Q`(qaP Xw~pak~og T T*& $$5\ !)}0'G<  ?1='@7' 3U>;о ;e9  *&<;69NNLY?q3 (FN 8> GFK6GJ6z?DrO;{+O 13u򵰎 C􉆃1u ~ u|  @pgO%A2vİ+%.Q=8N %|a!"<?:)//z?O x u_=]!b] -~\c03^Q/W/V='GD5s}Q>AC(ܓ4 ͬ?#  aޑ|bo"P|=L#L~-lvn_ E !=8" 0.(z);9,26/k2!6tڽ @a, \㡝~ӓ! Q<#|]nB=@JnC_SN#Pb#8 qZ0A.=߳o"Gǁ2[6%ϼ?k;c %['|k`d`5gw[8|d\|Ɓ<^BGD@|%=}[z߾ǁX%C=C@{>E$ew`#yG}߳([7Fpu=D#z[ą~A{Tg(k(8sL) d \rCtCFBG}$;m7PcW6TmJpH`/d]Z-t#ˣ=wN*yF|ۅz=}Ņ_ڿ&ݻ}F|'oK2H|QihrV j|  kFtn0vo!!hq.1.`!^~aqa.1OPNawpx` /A8oGe oeb qhbx z^b_Cݿn!~~|!3޿v]ao"}_sՁa(}/cü[3y( I8Iy VP0_~c^#?-. 1)0'1 ~_\<#C}/=SB=^A^r7f&)Bw mbꄁw~ xN@p?@[0k?HH (_s }x{Ebv Cut2Gh8DW;$gs+쿠4hϿ__?_?Xl'Ozq}* Pd_P{__L8Oib ]  uꆚ~wfzVmrbiMdtfg䙃qQ+_B`A0üQ~G(()9" !7y#,`ӽ~cbb}`!-?@@ƒB_ q}<\ߑ_Q݂콁ׅ1;Z}V 6 ;?6<;t'?x"y}8CN?8$'G[`0(1@D\+,T`]װL$jNbw)\M}LdI[1dcׇxDMJօ|>Fx&y[>Ƈ؛_Kp@Doϼhx?H -SP?Bs9^zDƜ&^G'3 Eה"P`%X[wyn1 }MDrvHKw'}@~ w z HHhĠLQVn/PQ i{䄑쌂cjё >.P^ϣ |:̯2CCc#!C<2_~'<85 >";%&%!{JC< ]a]#܃у<}}A="? .7 ,t; !^:'fs]>h! 0/!@L !:0 I|@~B/ , ,76 8 {=>!<o^#"}@AoaB^ݠa#BAm"|#C`}CB^BӾmw'1-(--1+7 = "$20/%5 /$#+73$$"1<Ü߁=u+$!. S|a\"GEHȸ,Fl]ŀ6/+5/>^8`.0q [ 1GӊJW˓ dG_0{?ې]ToDx_?겁AC +Dq szKw xw} ߁!y |T4&9&?zK"+; !+t ~@Ac`_?o߀xDSP`|_P~a `AA   <?@A6`>CQ<%!>A^ߞC?#B~B G0 |#:Tw(x/3jtSw7|Rm (2M7g˿7 4@Eǚ@' 7ӏ W}a9ۂ9h]` i k?La``a Ͼ^ A@@ sϜ 1sGTPG\GP_@:C;ýHPCt-ӸttϘ tPH;LOջ,[{^=G r|tEpp0@pKĨϧPh7_P8pYQj@gAiA  v:䉀!n0/Aa6:*# 2 t8AByE{?`EzNODd@2?~5HЙ(W4`[o8sWP(@C& s&nQ-(wMip'zͬFߧq,ЉR4koZ%"uP@RI`gpY&'L: P4VAj͕|3ׄV88*M[\tPC\UR tAEcٯRpDNSld)WI5| (k &f /} }5Vt?lY ]ocא %@ r$IMGy=tfrxx L8ZRkO`'JNd&i'zJQ=@& "`:" #* 'iW2@i <<=?x g|+' ;B> : )w-L,I4#QW?-XZzbV%Ĉ@^ Q>2)8rt 2TjU]M!H!q/ \KE= GkA{EEG9CtK.XSqAƯ/E( B 6NP64M~Oⷀ" <l9F: =q\$H(oKq'jB!s\1u'I^zltѦ*\@ J+ r-@\ N"(@I{J倦0^\Q+҄9&H̬6I "0P! aa @S @N!X"6`YAJC*N& ⎈ŀ0go T@T(麦|%o% R GTYDI`bo hxLCHZq`Ph G@.m,Y^u^u!zWO|Qbߓ@ANi"%% PR >UT?0b | | @ oÂ4 6\@ *P'< HȚ+ âE }z&}y|@AA/ϷӲ{+KWoШ,,tOWǧiYܽyA cf`b ?>;9{>|ϳUBKA&!& )A~t|~g_woSӰ +pH!Qѐ;=)4>{n]ӓ9.82wݟ<bQ2SPGoB ${ѳR omTu?=Bb2s@mmMv"_?\|!R0s3}Jp}Cаqp#ݼBGoD,69#+' 2`4?<=ٺf˧bA==;_Z_ݿ?{$b=~N$$,s񡥥\*8}}AD KӃϰdBv~!?UEA|>ؿ\;zE% xGA@x?흝8?z'{GEG8~ퟜ:\ٸAĢe~Ž:zZ;x?{>,;|ՅAC=?4|GF(%  zxy62|@$+  v|191rL? Ġk]?umMLݼJw#(΂,   s}v (l"  GCsOgB|@XXp.C{{:==rd”(`8DW q)ya0 巹j{x'6% \XW-<K(9ţx)?uqoB: -0, ! =2|xI?ϻ VΟ~Aa0H>~0 $gF$'x=hhܻx@~AOZ&bl2W靛h#^^ϨQҲPa?gw=`=> 1SP>w/A}APQ3w, fFchb\]c܉Yi(wۦ.HhY8ɀ'{go˃X  ;I Ii9YHkk ;i0H|'7=}B=>9 9\^[x 1wce1cK;C_ wt:i%[{o᯶oRVMEGy%'16qp{i; \rVEM5VW}\9~E!$!ƥe] S #$'WUHI(k. &@=ԅASPH12gr~f8 ͹Qr4UENI_=Y^>yC$#W2,K\:8z^XD' nRfayM#}QGܬƱϥ럘4r"\4eQ2ب.h]>{>EOPMzskbt}md;i94I[zg7/a1 ppӂfWDYlC˙א&`eZomZ;XO7XxL<""}kw1%uz =@.=7=>3p4<2tIh%HY8J M-oTz&E伯 EEBlMDC }:36}ut BTTWKS[W'//`qШI61(սg'PrBDAJM wq}|szt, 16!1." 8 =ͽvO_$@?`J=8+BOwR: u O;gW7Wc@!P1!O|<_QyBB11G>?>/t @_р!`H=]_=G߰? E-EDD-quwx~?"40Wǧ@ ^Hx} @$07%_>rH  Uzx|y}}zh b&.A `I?=|=hao}?>`A,!uP{'k.π/A8|ZZ?!G7] hx`xu>ɢ8hnPxx; T!<36РD.p!7C ۂLΐ yhO\: I Rƨ˿`f!)*[0P"'!!kB(;|\.|҇J9zǐׄ ){|(9K@ 4u sz{ LqEr'{py|r DtIBws }C4?{u D*BL:|x=AxL |$!9sJA~qx 8(w'w;O(D{7xscK@r7O@0hroW (d++hg8wKz M{8DﻐKX(#XP ](@ K Ûtc@@KK{dXbO!N򋾞c`@C  >}R L]~.s}1ߍ3_3ӢJO}bs4o~4Ґ,cjC!ru $ 0(ğH) 9\.,6. )L$$ ?E558 $'S!".3|; +\؁9@.]hB֐\6@@PgJ) B7OϕDz#h9I/CJwް0XLvC=|+ 2OJ_wx ǔ8aS=/Gߴ&;k7n(Ry;zkDp`WBa9ܣnB)~ZdZpU@/W_W37O0{8{W'*,qAtvzDDO="K+c(@@xIoBtk}x lZ `h*I,  P^=oD<~߿C@0 _7ohH}o{^PQO@F1 FHx|ZhU7_ߠk-v (@p0,PPP N|QYx~oNx~~x#}x:E't"BX&vp|xrvt|}qxz|tys~t{|w|q]*@ZȞ OW`ࠌEDA@]` I-+0 &-gJ_D4߿@G}]XB ` dPhb`; @$"44$ z C bhE^ Wf|=qS.Y!(H"BAx8DTXXh(h!{PaϺAAW+)O_"D.0{{y(<տ'&{L>?_D%;B /t2> EP8~}xBW77WbDOl.Yb >=z{z}y|{yyN%)=v5 ]Z8 qv@%. CE@a K#Lm $س Zv ]+}V D(`P,xpxrj%I   <Q؝k]aPH0pp(phq@H%D 3%?C@u< d i# RͨǢ>_ _Vy|~0n]#(۴$31?gPlS 5ch|.wyO_o5{|-!||C!'кw^Z?4>ԉPRxad - @ IQs\e=YEa9b~ ~ ,Y&A?߯ƣoUPm/o dG$i t](,tXmjPP Ax>@" y2M ]>*o_{~y %7,b B!"@GCBE@C XdLDcj0E@CMNQ]>1BϹr~]H{@oߠ"`0oxlP` s,:  &;{.#< x#%wn/\ ήM?>txe=W/o`D{4"",D8HXzPp >>D>}*%^,rpp{sGGgWW*|Aۀ ׀! hM!ȃTZhp4Daj/LZLq~o7|wXɍj @29% |z l,$a(Xh c/dh(80 뽾 zzxy7ut@J< <{:vx;xր= )wgCo13BtX?=0#y}wqzy{pZ_qρtqr2Hp=AP `OCCA֕Q@AS(a$U`v )u8~sOPL %q"!W\  G e⤪E fw/ .-EɰSNc*ѩ5SH]c; L2+hU` #=_@!R-h8G/oS+Ivknh: p2 .*jL wLP}u<2z !0AlEe{[7@XM u(IwdZ:3RJx7} }~y|PL}|-&%0Lf 5uAA @@ 2u#0k `V9<zVA A43D(b-3LHe(߀ӘC55q@$ y* ݭZvO`q3Ѐxk|װ%8y"Q- B@؃PH&co[F8պnQ'E`&'M{|"c^Uʹ?4GhLD+0+#E(":CBtUe(SjzԟdIP YĀ~Jr.РBЈOiP?z.m=)4"9h&^5>#&92/BF#0 aD &Bc tg_tB)A?Ā|`+o~Y~8 ǧ琚op͊!| r$>dT$!!hxd$8x8hrp4xDX(XHB7TjgBAA|/CWLvWOk 'xB:X!C@iZnT4!)Õ5@cF4BU> r|jy菄"GgH8$)刘ѻb'Դ)KȨ$ _U!x4G^8+l(Dx8xx ø Z&&h$A=o/syv ȞP0$V%PPm``t}/FX Tcd]5{Ӊ!!! ɀMQ ?=v 7NSP@'feS?_ِ0L) @ .]("ɿ2A oJO:nz<'n =10@0h/@!&~??ǧ̀aO"to&z,.'nՓc`GZhJ `If0`Fos/E@ 4.dR߇_PJ|1/}cLOU l^+A w4L @,A %d B/O^f/C@62{z!< UV=Sx(HAv)@> a Dk@²Pt rp@^6x܊fxrP IP%$6C '$\AƗW B |qpY$" C@$} 3 )ſpp0bx-~VBH;;4 @( $E ,( J ,8 +@ND8+ P_ ov@>Կqx~~5>~{Hz ^W[+F*Y:!Su:(ЦP_# 8?1`c?28=?ac;?ie=,v}{"tR CuZFKh~?0;c ߟ@BGED~D׍B`}j?=}PPZ#g@`!$, M .eUA`_7qQ.\.,t!nb~y}QO!S A/VYށ z"=AX@< bCw">_1;l|~ `NA ctk}Q\#3*J' 'xłb2=>;:v HKc /Ls h> 1.?_X,~B@pxCXc ^/_X^ZEOJu_F'7"/OU??=s"zy"fa,|.OM$0Ep@}Bh9~px=o r߄A\i="`@@xBdr^9^Ԡ|@ޟة?yK Kx 'x H`8 Wz 3`+? d8=<v %@/^#ذl j( Btꂀ؄Q]}_xyexcb`Q p?A:h{2ПV@!?pPC_Y:DVGL7.,'.KJ|z?_1``~r}ڳ=080q3'4-CAN }Ĵ< M?8+)xD6a9emΕlN,\/  X72;_x>o{߀~t(B, ΎKT`g'PS !~r:Zz~ K@iФ=f!BUEі'0K_1xL[ *@^/_xpX_`Ȇ<A~ !"B]>>4 K2/V7;X_++b4g B.( u;J0WEDhC"@ pIi)CQ`b?с@`ؿ:vBkB₋+ʨhL)UCB@= Khx HhspǺB[PX3$@5b:靜o_Fhga=ly`_#Ol]\Z_>^98s +ӕ'ǧc'"`GF-{2N@L'y7`kV/4`,F ,/6X~WWmpA*qv(BjǀG'S@sQi D*A }>[%2 >\o֗L._,~Kaw{z`|x$pf?. ͏/A"@$pCt8щ(~)a~ABfsra~\CFx}~ 0ƇmM@ Eb  iXi8#A:75 کB -   .8>N c;ڃU4!x$X`_#?Ѓ` =>9>=6% ~GBz@=@sn$ҷ?8X= FWW\B@Z@?9. ,@ox"!5ֿ~_auAtm{qJA,xI $> '><37s |\_%Za \u^Ƙg-,-  '0 E66> ,:= 2>64xk#!p=4 (H FRq,Jn8W*/q9`$A27P" *pB::7$,@|?7K稾x=>Bapޜ0eЯ P`1`Hd<@]D?,!C+7Ka/qX?z\X\ۇz%fbet Xt@2I!ydBG?A %ϱ 1@% Ӏju (+$M(gvDQJ (B?/5!z‚`|}gTr Ct"o , 0('ri"d0 kP/ ͷ}2_}zR.~z`C|>8)1$s[F G+^׸9=t h| p1x*u7?8?>xz4C`buŎQ|<*qzva*! A0pZ!T$h!QiGj< 8g&N0hEe=eyPqk<|]ѽ Ƽ iCZx4  4| ( -BNNNAHK߆hl58-pN԰>4 GJ}ZkZ!iޝF#!@Lk҄/8_ n@H\C^m$—I7#̀@~D~ '(_M 842 pJ8Hbd a1f>5!C荂Gp_'˷FOw'?7f80=}A bA~"5C `Xʀ<? 8 #+~C$/ꦋ ąu/wxKP5R?"Cp>">*(d<!l*Bc`# # @?}-zG}' /N-AEK7'Gw1-*"!#Ơ&-LM*@ŎAItHp(Plhg z޺[ jqxo0+p0vi^5_ @A0A?CA  35?,(x8<1x@ 7# #1?>;}~rg)[3s ,42<.q Pՠ %ђBHc€+DA7M.7wWwf#Cqueqa`~qmu}n<#.~SOϯ([ 7?+R@'1]ugp 8!z6.>!11!w`rI_޽B"`zӠ#K{/ ov$ĴDy H{`?T,-/-ߍUFͱI؈.]",6.uW._a|1(:"+ `@lPp|\,)+&44$atDx@qPE er5$CĥH妃C#%Tb"~!PqduA9(q/?Vzg1PpD8ښbt  ]Shfm#VTDL\ZPUvSAwnto[UBX@DO}СGg:^!w!و q@@jwPpv d a`>>>VKVMgv =WnFJAu5ut8/p6++ǧsc*A@ۘubyti)-cQVctz}g9!~PUWTǟevttxCM]x u Q^Oo.CFajm{LF^FR^K ?ZV7O7f eu54){G@lj_tmheswJBS royP߈pHWK;  l7{+Wgwϯpiϩy@/G wy_kKO"TBkG@Ȉtpc7/?(//0(4b ttv2 )p}πDb&6ѱٳ,D\p88]Xx|@BEGB(H$j&<@w՛CFB/' z|'t2С^Ώo a`GX42:!96;whbc 0QqHnwvVWSg(&0B"?k[UCbchr&!!+x lo}A!uBAGGBӃ5AF\ӯ.nη("X / :* x*7oE[B@ .ߑ|0/|LI   ;\@$| F.LGWo?@Q1q!u(/MCӳ󫇗ϠxT` QŸ$9< x#  Ì Q_W;[ '$)-qz;zGAC'ۧ 2*!.Ƞ No_?`$H() 10]..>16<q((?&^^o/==~Cà`ccb, ho/Ogey[T4VD,,"2LD$PA.<>_Xx8dd ||48D8X`o绛9<>dH(aa#|lz'W ˸$Q=8>d Ǘ ?>@?ߝퟜ?< -͂y!gp2;珯ߠPHdL\4d(O^^_\=z {/pILJW%L<8%H=\$4\PpÈ:=<ߜ^_&6>6 w`ow''h*1Qᡌ+b6? !b^=?>}F@EWE_HC?_D5.H]s@1Q`@?/7k0`| vNn__aC^  >_ R Pp@wóW 8<Ϗ|!c¡,@E޿$dd4,<|@@/!aq KoppG_//H y{y~WRED&ܓ$)4t`bF2'؀4Wlb,4DH`_`/x>Cq_߀9( /7E@R$ T$(8xSH5} 'bcDF@F?|;<|XFO@tTA(š<R-ÐA@FC`/w7wBzaHR@C=?<>aI 1Px{x0g!,Ƀ? Qm< * ",Q0?J>>2!J(""U3a Ǘ@ K+$ г.O,?`QieM|5)'Z%olAK37_ AZEĞ c JOo^|Wuy }?47w! K@B}׻z9+7|T`) 3 I=(*~Ѕ)'j]/h^j< D.c y`/ʼE#"" ́~>k>>?<YGA.m( 0 a%H_u>C"1:1ɼP4PIt4<<0I<w׷痷ፈ"ƒs< |@%mg'j'i%!B' XIX+{a (L;/4F؀! b) r|/H~1ž ~Z\ ͻi ~ }f\W4Wb_Ǔ~?<Q亦U((h ?T5v_\Ȅ@??>~K2~# Ȫx~x/~W\> D L/A@0S `_# |2 a+`P"wbAHT Ͱ&<xb|ļ ۆ/{~/f(XCB48 r_־&, |B jt**~_P?< 8J~AoQ^[I.Mp(o ;'W }   j__?D3!q $$R(7ad?^H~~Ǔ ix!?TP0+P Ggk M0$PP >ޞWjhhQBQ྾I@/쀈O;ۻzF۲~/gOi`ubjH̭/" J|y/I)'OG`"A2qO6U> \5ƦP >C@raa]'?_= |oe`'@G _$1DDAvPKy#T$p~<x&",2**29?h!s$\4Z:IoHH0 g 0p~@ D$dD8X>J?W>'>WD?+4ò ׏6ƒ~KY1/CײjR߿~' @{4|[z gIP@wp/CzJ(T:"<<( -ğoGh+m]Tb7D5Ԁ pp@CP{D@`πX!=W#z>|c_ױ(CU A|#p '>O1β(md(!`3G" .׀ J[³{FZ!̀>#>)j>r\7CWz$GTD !2.Xo+n N A9[^}>?>}GKFi |Iz@[I6I8\_Z>\D<(7iB#*2Aexbh].60/ A!rW!~ Bw 4jJWzp4~_P?;5ɀC7m}pzp b||0 r|C!ͶB7 n &rYft]k(C;{ǧ׷Ś^!ɀEj Hȝ/`hPwGDy^%n Wv^@D cF|Xh#hzx@L@< gxBB!mdtK w@ B@|f}ZD\ HL؁0i)]f/ez`ήm OdvD`9!2 季'@h\!05Ӯ^׈9!1EF/nWΥI$_y '蟂6` ݞ|O^y(H5 a;:' ] @;P#N.l? ߊ{\v#}gd<d$diW׋^?a''bk{O@c<O+GW?`7';<c߀ϑ/]-oܿ!_z6vy_#<FccaO[k>~BP>hR'`^مrWe<ED?i|20D?X/IMKmz9݃@#waZ/E<bba~oj? @{kqP3?32o_"OJ <q{υP&~ F֡z8bp>۲Πp!\'{CπttA -]{W}PC['o?@8$ Zy( n@kO D wn ۡ܆}ܨ">^^0/@7`?{'wjXBNDnK_yAc_/@dzH;\}-ab?#~:k_aȷ1D56JfvoNn鿰ZC}Ç[jl\G _ݿ~mDxzO"[;{JN>/NH!Q!&6C@92.43@E9@?H>߃ I+cA^x< Y; `)iY9yORRWgr <[XoW`?7 <qw~~9 H^O`aɠ+ o$/~9;<@Zb P7=b*1 &6.>!א~1 A At q?Ct\B2jR g`C! .ĀX 32>9yJG 9~偾6+phxL\b rO$HRT,@y*[9 }!9 ?R ~(PTz?(E]sY?zWKOT?@"?$~TȨR8 g ?w k*,d? UD0'~yWX$#zy-!?0LJNXB>D$_U聆~0/EvOnKW:_TF/p?2 >ROC]@H)'3w/H+P )>Q?+oH[=p*|Ph85KvJ܀[z^ #14(ϯ2>~0 CA do`P 2_?>jEO@/~!V!!@vu{ o A"vfu5㰮kl˘`4h7!l܂@y}Dz8˲P^\%~0 (؀y5S`3_LP֣נfw9 n >^I;2f q)p|C(.6#Hˀ3}ݞ@ Ϳvp}nat~ ~ݗرr{_A*!م3q{0dRNH> AC213? 0H4 ;Ay/~KCEF8|azivނS!{VAqESZPA/B}&ԀZB@<>OP|(6ķ%e dp=^ MN^J*kiz?'pt>:n]/n<~ P$>:Y_^>s.}] n2*Ⱦg(Dӆ΢0/>!$E]PuC[^IuXx? ߠpDR_@b҇ihh "{~G0}Wy/x4B Q\%eikkk.}|g啛󁾄.xp|B2j Hx?-ےRw_oς~}@>@55e~u} >}0D$eNRz|[)GO|%0߈ y@7@y+PK?(hP|?(i*/+۰G~| !R*F6n@?@#EO@{C tA;`y@擟2$y;#XD4lBRQ%B*=$|iMq> |࿿-H`~VVT?(\䲸D y`ߖp_୊ovnC@$~A ![k!}ļ ep8dXTR\up{(oφ %$a\@y ;珑((× J5%ϲcb?a%(NNC4Mci݈xtJ@w}/1@lOSA0 UH7_Ǔ[r@ 22D ڎڠ P~_r/O@xpBxG@4?\?8ӋrW=3+0:P B@'~-wp QD$=?7ڠ+a\D_k[}n^>^C 9~E\.$6vcI, yyx^oPP7ԀP @oPT]* '{7Ob@PDnl?ޓrhnjorqp\싵@ 4T#on צdEW[Ar@gFD?`WFAj N,o~-i ~`*o߇繠?.130~]ʯB>΁}t|Me^}xTf>_2fa`^=D~`B嵡.(xbՠ  LKw0Cu+?g$g*"ޞ}tWf ! ͇a`*o Dnuwx| Su~ ,;>}z-Fy{p] |$V5|:x`ESg⺀f|;jO/oRQ?!S\ ^-xAx;x=0h $2@H'# K/7` F@wAȉ/w[y7bo sDr,.@|~md nP!}Cc^1(/Jriz# AHzU=AH ӛ=K0!8 C3rz= ]490} ĞExE~/@c9d wdn|"`xlhcdlA`In$. ۇg׏бG+@tzpz* /@@^P.ektÿ*&8RJJBL@or~<VDŅh7w D%P G8-mz|TTEPl[/ `)6/,`'ۃXV0H"#g<+`4>2,&zu;J) H@ph# S"20[.ˆo7إ.KP[u/c0Np0H`(@J+q\~awϋ(Mz'OT'' ʌ(Xh5&$:~ 8!hHShsAuu`&;W#p'B[huT8ϝrwp/qVq5G^",' $-83 B x- 7(i^"d#5(Pl6 ]aGd8WDkDvc !SD!DC) JNM`FtTJ`` &xE0$><=WPL 4!^˃d?3rj xQM@-GQ"vDQ 1$zðdxPLxKJq/MBs bWuAcT\2!S8Bko@KmRP [Ä{X.+U`AjH-PJ> LKg oD0bJx48C]E T?qGC!wQa <09+ u} ɰvƞ1qL١؞.zc:2j|~~-bhٰ<.LHp<jn?>n6Vh#FVXo>+r^ &`%>60 P}DWeuKU#\ CZ .bl]mq/nc`>X*VU8`KWc#Xc} Z9&!p@K]V)< 'KC`)xW[9p04.8*G4``e@ o d0~S];k BWeho<#šzV> 舊!#$Ev p a!!O@ 2.^p< @☦(<⛌@D@f KW`` .|C_/.<\pĂ" O[01t"B^ׄ|,+rQW pfEuJ>>mG L}dPQ.2I\#ø`nP {:mc^aegMoU<|-g+O_$$PO 9!e Ax@0Md?YjҰBZCՁ"@rsrx@r C! 6 p!|_ˠy- > ;лD=E"tx@b~)]xB `3E~CwXe0(HU]5>Jp%\yA䐚vYݍ 5zXS 1pp#?u藨'i_0g@xKb>H^ o FC$Ю"@pp/`<`v"LV(~>wv8',ՁۢvHA Z7`  |'A:qzzQ(߃2 Ա'A&È4xIRs+|e}C*xB#uc Q*?'0;Pcp|3#5s _|!S@Zwb FrĚ<6BpBrA同|wE_^=(/@@C}Ajā EDuo8 "IEa_g3<"@ #.q0ˀ|!@ z&H}B*4.XҽKhcb|@y'~J{ Ҝ$,o(G𣸨a 91 K Wx;Nx4`A#@ X@.!(Ӌ3@ ܵ\*l[U`/+B \1`QHoF(^(%}z|~ƹz!ģ@#>a 61H-Gy~ !75=QA p9 KDa=zw \ #j!Mbܚ0Пϐ Lܡ\&U]A[4Bdvsk". 2C=-w#!Y{8^n1]T&<LJ'!n! `!ƁEQ~Dap0~d LGd^Մ%^L.2aHg﫺yq\ [DK(0`{BPz|# @4;:b\WUYvqu;Lx +DG|0^@+A`Tg'L`بG(bрvvpDLWOF\{:@ &ި֊Z8.8'Qmf[ / j`{x2kш0gϘ8@xGW{&g}G4s czNÞFDn|,/s Z@k/It QB\A<>3fV`t@-];f@=W`^ ~# : yE,@d, e Ѕd!DN{5^  JH^8lvYN0P@v rD7wX{;D+.zJo>OW$$,gC,꒝*WP~d3D<l{!4ʑUl| 9HEt/ d!?k|U((”Gq .gp{҆xZ3"t#Fpiu?ƽ?k\s7 Cgv04$H QO@44o߰?o$o(Zxpsи!|Ђ,~AKobR'/%`=B w A@wI I@M92 Z$xBC|;}kCm _2. Jm# x@Ⱥ-H]P#|ED0k$ $$|@8)d*ԀzK}D^ҩ.ܑ!AhWA-m#$2X 4 ,`d u(6򐈩'yFB>_=| TV22@{0H/Y_`_ď0(T.qf 홼~W{|"%8[`6-$O+pl[7R RY`|jf Tx&Tp6_ :+_HW% A!z2 ScWH8POo $jVrOxHwo@"72$  R(8Vob ߩ9$ tZN "p@d?'PkYJst m>N)Āݑ$@] ?t-J[h GAS@E_|N”z G> @ Rmd[a6 p|K0 - (+рq!1S|$!+I0\,q2y 0t_Cia<o8'!HA"8gH\`RWX#Qn! ̣[ d( I l#4[)! M$ .aaHU<-8P*75 DUn o0E @<7<I HRG4>98!9\7?őo OI[‚DEK_n *@/_o?_A O -N||  ?å8D]Tk D/b  R`pS |@7{!lbL2 ѽ6J> } TL?)5FJYּj@||!Hl蝍I }xD/{|l%w?u]Fb~ pH Õ!)# pdA2'0|^]tKul|Su`8OR*+mFCJ] }¿".W x:b +!_BE!`d0%2Dˆ} B-: -pg=5xQKyf 6%Y2蠃`Q B ~`9c C] wHBJ-FDGS t\' t0; 44 ׯU4>-Ru HCVBI^ <*AJp̈% `U0!{xZ#ICz-*P$p\J o[0 xB + 1a8! Z9Q^$|1` ŀ 9!B 2K@\ >|> w"*<_ ,B92pB%%8ӥ80E0D",8\9+0 f+@F 螈@ !v8)8yX  ~ Hx5>i*3+ z,hc0|} Wx !@]a7o^__^K < % 3BWkT( !$h`@X A0 @R@T T)B-X @ 0 )@\\((1`@^ Dd@7&Foϯ@X$0H``ho@1BHSsQ萢.(?"ǀ˜` AsL )e~j&2bzJÈ_0CHpY^!LdGpTÀ ?"-mJ<( < tCXѼA"½/n$ SB܃I8_pt xa ~a* fd//LA$zI`\`@"` \p!*Q" W F'zȵ# W7!)jxF ~J$8T p >/N&UDsˢ,?懲x3Lp#uxC~KL Q!d_ ~ FT>`ǠXHK)J=VaÇEY, ?"4;sўJ .o\ޓM hS ǐpB\ Y'o3cr%oLQEX@dDdȸFM` Yg>2Nv*f$ U@!o[Au}_<_O ¾G|ن2e_W /OGTP #3|CfT^`}h†%,@D0D@y|~`6> ֣Q_0~.   H 31ǫ2@2W~ep(XZ9"`l /½saFx0{IM^VȰ8U@@/ r< XhЅ=uF?P  :>Ԥ?zE2%TuyA#@$G>w# $DJ.WV@}X(]4dfhLn _,*,s.h^޼>p <^wW=( `P_y$Z 4Jp 6& AFXh%a)~Ea_~X`{c /qxPX"EJ!P`}x^s<P0oc(?q+ |D7W2̀2y`@4pXXV;' y@zQ{ m5]W7$`YW!// |)1aQ 0k0oп3{ Pd P $ @|NxK:(eAEEN,`r1T O$9rpTؠȧP SC])ˆ- J On e5eQXtD|ǟxAP~,z- (<s{@1|ARN=" LK A_o+UA@/J @N_xT!5}!,;YA-ZwO W ~Y`"Dp+@ OlW4 $0 C WC F:`  'OnO@͸#p$9I`Aֆ'w!9 -DyA8B>?؏>$tZHPe‰lC(xQѩU(Yd"AΉ?yELTTYjTbKV~  h膽+l&2uA ^S 5dT/|͹k=B- B -6fM_9/ nhAA~9|ҫzKXWwȥ axu/#o '8$,>,B6_e`8dހ=nrN|":z-uEjD=r~!}ȍ %E}|`c:.P,$r CzD1b*Ec9Zl yBz"ո@R>B45xPX<3@@ܡ?g~ u2  +`PcAqa _`2 aX_0 O<I /px@O8X0G"'^܉ G 9..Ї7, ]0uo@? " ǀ0t,A- qB,8hG ->^cУ?xeA`Z "r?eL-0WP~X'=/3^p|p@hZøB=E0|(ӭeΫ 46 ,?U,(XB1A8Y+#4DW$6xEGy<^.(\ȸE@v+L!(A J7$(`OaCQxY!]{Bd 8X xpȿ4ށQc 05PrV@i~2O'0o h'89iZ2<;P_rt@^pVB^.#8}?=lZ@w1@>5p"G1#xv nYQ83h5Yx"Kk /e5=r VAh|BB =j!wC}C'wZ%f:YP@h?:[ 3@|S<A(@u!"p!Ђ?A"8me Z0/`~v?ǐ#*#L KDL1+R\9dY SW&$+][/0<86 pH߁h! 8-YގZJ>Dy= אq0j )~j[@5g:jϒQ.#+6,| 5D@X^X3:/MWZ.@`d`~`t"t Z #,8=/5Scl `>e!gշ0com{T` \cyH@,vT]A [`3 "!@$8L]#!qSY ?g[0 A@ԙY_`эD _p.@3-B *p8)rAgoxaoMbޖ1EY 5u^pP n wavK }xg yBY`T 9o_o1Cv!or1"فa/ B L*ooYO @ Sԗ& ,7Xgg 4oXOb5p[}DfбQ70TOb4Ob;!V c> #5e8*(dΰ`fXTZh*vrc RX`*R{$d D/jnm݀)DPb ;,aOOF # P"c(#J!ɡ02#7 M N(ˆ6D)e#fЈc&ٮnLQ[Az56!'PrlrKyhd*DS (} X5OI7 klO#TP4PrN j: 7a@uSpN 0m==ǔ:m⓳+^#P533 =?>??pNd,,-r'mFXH]:9 ( (<6042&8xAԄtzQ`„T HpR7%`b G$ @x;^_XYh(,H O.ihlknnm]Pqc33 (sII'-(hB@! qqaI)!zFZ* "BB" T0 Sx{89= e&G' X#h:=338cpEݝ͍hxdb]eS2r򉉋Gnccanmhgj읂^~| 8ۺx[jkjhɈ99&*: sskKSCMIAzZIxJSR3r2efdgRjjrbhX0]-PFDE(*(nݼ !AdC##cb |RQ@)!>>93??/''7?8<4ٹ2jϿphpȨ8(h2a&)$0HE frÌT 24#joCALLJBHC 44 ("PP&pf =P@:pII(郙HVcd7,@GO0A) IiiEU5e SSUVTWeca`bNFJzF:Z*"l,l<{}zy5;wE_?j|?ky|:. BE!l\2)oh"nIg΄ ;;9<>=pV<)o^θ==~}~2gl3@>Y@H@= VPD`@$" x;1(8! `"T&U$@ABÐBBDDFFAE@Y+SP b`X[ đRIz5;r{/pT/qb[{{G$_, vU"ߟ߃ȏRw߯S[) -I7˃bB/..NH]_] %u wwz@VhU 1tx2J`H%t ' €E01 ~g!,D*EPP pS5ȨHH@ /  O!K;5*p9smq!*| P[x ":OρI0`+hf%Z(\utE ɩ}~z%BHy5. @?{{tH !XR`x?DPՠ "Ѓu=V ^|x$Ӏ00Q BD,0)< @- D0 a`a@.4UX:1!$dT4T$D$dx8HQdAbk @KMxIm|<MW)Lj<>s'LJׯ 1kif-!8zb- p@&Tc@ԩ4d\B7`Wp^H!A01A(m`:}|xo@إH|rA*[ս9j>g,.$5x$+qy:*dD8`b",q[NDFH 8I60D$LOA}%߅phw+Ge0X_?eOɁWx'O// c%w &׸0$"S> }~6mb?SƦAɌ6qF|WoHڟ B^^_^]_]x|:T_Œ<= @`PyT ! VD \@(# xѲ+a9 Ot6u C T T@eҰ0;r c 29At.:@6Vd::̠C muT yix;B>En ooDzLJL<%]EuR| vN&`am?,r1BN3gE:`/`C̀yA(8, ,Θ0PL )kɅ/A{eu|,xgD_x*|!* jP@8+Z[pB {Eᒛ<"H3]@j$A@ Pv]ԡ/4;Z  VE6z|z x@]Tѭ;zP@o,p t[` XQ gBXhBz3 kǰ /*3>%IK`BlL L?C oUKwW,5H`S$vr=rއi:8=.5.-s,[D@| *Ea`N{ul_%04)1 0 ei1pLi KB!L B& p|JpJ~0ku 3KJ)iȀmHր|^^ 7l%_|!\PL0@0Y$My~y~08B$@4daN? bwh@j +8AgpƂ} ЫvD \ +3 0a Y(x$44>`];sU1@gр$?H7$ Д+y~z $S /P@B//p#&Xu t@Ș"anÀ6 RגܗBDwA.1,5@jv%ݐ@ j.*N.h/el?'B0 ?i< KHY0,R0ދ.tFe|~Ӈ: ܐoet m8$$s9rrOj\8*R<+Zd><_U,cT5Q5oB 2 @@;M'p @KB@ a,CB{XZ- j@֔`;WS~0-@( }Wm½7h| z&nfZ g%.z|zzyBn- W d#Bg2 l z8qh^O2-5M@` .% xq@ӈ|  p`-2ӰoB+2( @H P=M`lV!!M_~Z 8` bR.!}@E6HDD@G*whb_ܼzB#"=SȰ?~ <6fDž_GVϮ_  E(QaBѾC}]'Z[Zέ|B a<!;9:  /sT,n^@Q9,_9lLAi|s2v@glh;wNnA`Q׀Ps$%C3c924?!?_R,p7_BmzwgG{{W_Hs+/?Hx-W A*`c0P0?^ek` b?V66VVAFD.@~ =]|vCipπx4Hx'` 0`@% sSG@_~78^n>@xWV'@2_ Y/'=dlƇ{{g6/>aH)(i,>g&dž'f#`_*1R 301121L@D>,n,O OopݾB#QS}zTx(a[Ž{P|b2 L^@̌ NFLHG?Aىѡ޾=yF&'$^ޖ  }inz|llq<F&gVO.FEEMCKGGOGKCMIAJBHEz0 _o{3 Gw Pp(x% /+ 6W /,lB>|CC c`Ǽ!yhʖ>)U. gksc}m}cs{h     ^o.OO/o_޾H  =1PQ``!@9 3p`!/G?0ʠ oO>~(8S= Hpct@1~Ƿ_X"/2 o;x"l}??`"_#ǀ8P0 ; l~ C?0pȀ98 0HV؟4p@A4(KFV5/[ `? N/  yۓ oXVdp aJQ@$ 4 "b8mVPx>( Z_p0c=Iׂ 9n!$ &M1\@?l/YI2ABð$z*4,~ +* C)X+duB_p>C}ÎMpPoa&_/\3dTSwt h,4gJ 7pvR0- +nLqr4Dxz.6 0#lDi\'~UC}(|1eO`;=dFz!m ] <^<c]-ƻ 0`_|p0Paj L^ahڻ zճB \q,iz̟l0kW3 o _`xOX; w 6z_Xa& C#>f/uW+F `>`|у%I`kHAĽ{# (,]/x?a!0{8!q0lBD.aJY/%F_X!Qm?ThU_udA{+Ş!8%H7/ 'iBьv ®0&r,s8VLU?`:Gh ,1 A,X;MIT&, 8!,TuVW# u{źH2HN H ?T?Rzi}k?vtrMp. 16!\0PIc"kgzD)IZˬ" U xIǁ4QOIAgS }?C%]_8C>@E)T"Jji<¸ _pл otr@h*` |n D8Qy|$xרBC=dƭNihCM`V1CRm]8>! ?>~C4c w0 'BC{AQUiHH~z$"@ c O~`9l%A"W " c |Mq!W@ސ_~ 8(RUnTU_|"~PvQ-uuPy@ʝOT{zYG➪~ "JK#"{pQ1|& w.* 'CiO5<;#ŤFF^1X]+|;[&YK M}jNx/} QoOq|m]d!=(t4:B4 xA Dv20F>OY\Q2|OL$ yD~A!o!%TTx%+KU",A=-""lE>* hDW] ѝ`} @c. je~V\ ZӞ`^dDB Q@3mJŤUhAxSJ%pZ\*Q`_u(bY|:U#cɗP0 숱!LKPρO= #:~8jҘC 2+l Ahz1E3Mw3Ag  $ " B)935NmGL%cL)7vY!eYb@`@ޑĮZ35U @qRP@>D{hH2uIQ*4" .(o4E4cXJPuH3}@F Ҡe3?LL tw0"m x*%AhxqS  :mǁ'q_Ԁ61#\ .*`Etȇ /joUHE^ra>TA& ~AHܹ|TLزT梏De$@@1;m axȷ~@~8 )  J|AC7R&@ ?4C|}3x#(NJ )UC Y sF*d`fHNCO߁߇~F]vew]P@@(b)qP2RMDVJ @8 P5;zt Ю@VO0drE>T%>M! q෱|"4 }8h@hKrH"RE3rLƎH!6@x @>  UOࠑw a@lL4dM( g_xg@@? J`>C ގW^h/D;D@`@ NJ wR_Ap"]^P_9?%k?RԠKҿQG&uP{fYjċ6{b&C810p y72 E@)I]_>l]@@ B*nX YQF G?A<}T+0m;1y2A ,vu>Ї|iJYlRVTq 0#QTHpO%  ei[ lp' @u> @GL‰7L1"X̪"F*x :Ä4\D Obd+4X,µ  .! foy*9i3|) U",/#u|,) ׀S & 6  `#M+#' 3`/zBxX a4W$5 @̌ Pbڵ+'4E v;CO@ @?)JLDOPY.!>y-!JM=ґ if)"(֝ɀ**~{:t]!#%fo'KCAB$M I,+wI^S#u i(EnǪJ P{.*"< yj.#:tC5YɉB֗ C倇 ͟b6MөMK8f־vfld-,"1@ L-@50 i^ '6Fqg%Ba((p ؠ U:X\[7"KKQHI ;!VCNBQ ԍ~<) 8;Jzqh q8@8B' !2eQ=(a .WVMo~=-z E@(H pר ]Yr 8 @PZr.$4P@G^GO@HQkW H N^Dٹ+{C=!ЄIiUD8!y@.QӘݭV;{o𘸁RD)fKHo/-y@n!y 0 1(\60?X ^Ž a)b[kʳؐ@r`^ ?`A/2L1TPp0tP G/PȘj:^6-F&$'nB4&x= sy`; U(q* <}EGGN^RpBD8eX=>>xfdA pq˪@3䀷%?<|j(5}ʈXdl<28@}S^邇DN~Ah ya▷8HL86+q"CA bᝃ1g(Tc蠘@=99: t S6{P`]Ѱd0/H E:*;G u~^.EZx&p@T8)pXLlL XQ @ x=wt`K1&@ jрL0 `V)}lA/ ˫πph`ղHhƵW٠ߟOh=ר- HX X5@ !,ق,5B @~ikX!AT<2X5,D~rW:Ԁ6nk $jEF1 &KI =| Ӹ3+u|9 @?2TT1f&0PBn!h 2̞^n 40ҙX->_Mk?<|#sH-SjePz $j ;D@B:K ZOl!3RY+!qM^.iQ  1 H@h%x$  ,0 1؀ W wI+s P"@nep ;﯄,| \и !800 o.@?(dGjkJ1$j | ,v F soK!05%{Ű 20Ѐ`'_4~ु>~#  .(/ov[D_@tnއRPhgȔЧCp:hM @A)+'H|7x ]rz0802 /Ih4@nZ `CTripHHR%  @l9RiJC@:B@2 Gq;GWOS|9xqKIJǸ @`qp]ϛӺ#PD Lt4&ѮCGwDcA[rA3;&7~P(ӮՓDA@J@oa!~^.vz#v-Z ǚ0?xzo٠ܶͯ F1e> 1UzYU|zBˠZlx|@- ` GphrH3&f:wg;#εxfնCA%"c`jSB;Ҁd~h) tߔ2f@`28A}m dS\~"aSP11ǐ G}qP7')@ R% w>NGj>  ui' >lbs^P;0<'JJGрQxO7;<^<_xAA(T6p @'cq>0p VI)0'~n<"2`/_+rn_*?^A߱6 }|^ r~9SUhT>we:BD4d#J0`{Mߨ %U5v O?]z_/| ({;6ڧr_JMH+Y?xA"O~U0<R$07]Pw:'%fW׵@0D4lROsp~ <}A@C}=X(/ͩ|G¢cf\:P @^/ UggԷG~Q  !ܼ|@ !vAn(8lQBC|^L4ebZ~ugd)(v֎v&!' N7O(΅9YyU .n޿|6 SSbA|$rca !@֦R2 VAӿp {h@^,-/+nXǷߐHse ;~$?_4 ? |;\l,IMJ.n\8%aN'騊 BE<ݜk*/+.m~6oayk`俗*&19+s D02_??VZJӳÿUnwf qr wz`ݥ)(/LWo?0ݺi o ,_z8$l Hc 06ZPSU\3oؤ4lDhP#G*95͝"sf9Pi7/LJ߽_! np_Zhc7'?8md9Ds=tH_{+ӃM5eT5 O͇?|l|b j:&q~z~-"#9>Vꇁ3C]" JG7h G 4_& ?ۓ'Pc3˛g7b~a_@[|TDFP :6~:fYޏjx,:y,Nv&`~q uvdg?꺣z#S kǗh< 0nd7c@v""p~:վ=GN~!pр@ )&kcmMX)|ne{`8sp!>'Sx ̃?{6h *+J+kl?}!bS>!o q1P @9ߝΎuuљ卽ӫDԴ'X9qy|_b@lP.v+*n\9zC&fe sltDP@/njhojmlY8|O#; p$|y : 8|X|}<;~U!Ճ$l@X FrdPD;_oNwVI r&uekh_vSJ 8+lm  x#c:7_Zjyw|<˰V`e0HGpo0}f涎ׯD7SR CP`a#ݵMjuM,}@Rч\~&/T}?\$ml89?:v{tL,|"2*qr&zj` lkz:[[&7o_!0 K؀Ǻr,8q* r1;<||w%;;?Zh(0#Kn2:/≅߰84\ 7@O !pW+s;;ک~wϟD >T+~6Vf2sp y`;e?榦]Wqp l0pC"H $fGҐ : : 4`炱D:Ƞ< \ 'o@ 4yL}L!P h6`Ha@5F 2LG^b` t D!Oπ.k  Vez a)`H 6 ,#@N!!:j@X`a u2$ bV G@P7&.-`8#@``  n*YX \@#(0a@A1&:A/!@RhW1P1~t`x>2 u@@ P 5(*PxX81zNHLKă3p8 jA@(p8vQL!UO l|Pa(`@*N8 ,@$P``8 @pma4%y@ J B0@\H֌Q Ĉx i*!蓈P*h 3 zD%n4 .RFo@BD]II ~QL8Q` D/t٘$@̈@@083A" "D  &Xx@HAwCDҨFZ?n"` DQ›5s^54ႀb2ÙQ ahpt0ÑH0 s ô"Bb @~~ d1'l Uĸ zʋ(H@ V `$X HR_0_b@FXBE CL `   _<;Ai-@&,^tXXyU%DM[ЮW m@X h (H p0PP ` `  =< 1{B hJ \@VTd* l:a`H=ilml B2:XZ0p1``> pL/l `Z[9:xcƇy:;9Y +@gnl %  yb @    a ?FtO hA. D`e`*DT 0  @@d@2@, ;ԌB$po8*(|>ٷ`.! `iX!$ OQZ!v _~STFd `, { ir~ T0T b  ՀrA9@o;D GAA E SHU>P0r#ٓ@6``SҌL@6 @8<ك6| uAIu0l8C"`1(2n:s:(YE`IM7@ׅ}?& B`?:w`t4c X P P @o( 9@\Рo @p!|t8 @< 5à-\$"'* 9 Z& ]@2ނ]p=Hx!@80 w'"^pD@`SPHX 0FTP3ӀӉؐ (j= n+z сPaD]1BB( b P`1!@_r(PBVP6@I?0op0ܠ!u!P@Bb(@dP1Aƨ5aF* hՕ H⁝L`(Tpq$-m niIn9`&$;% 0Kr@ z+p hĖ0fhAnnC$yN`|`>$C, )~U="q+S 5c, C`:F|(P`a9R@"Pp4 A ( `GTtB!1/AK +Q hqԈ5AOH*E( r$ =Owy6D2MŨ`>@ &һH(8D7D#-@5%!X`Ŗ$ }5Q HD=%z R0#H d$smL+1 ޓ h?=!`;@ kdfͤ*(l* w R֧HD(3ڀAr;RY $$\ "y6 qYEu.b+O 6PA4Q $;@ P@64 inB`B } IX o#,pڌ\._p`x"|-)~ 8` cI@f-T!B@iA؁0Z^hk# 4q̀_phxG8qĂ8qH l0 R (&08@ 1 `bq`1G`@с e*H@ i&4p0h$"@RIJT51!@X dp4@G2 @4"@|lAKbh]D`>QD 8,,* "@: } ) @@6Kh j1"` M0Z 6(8 _@@Q@5PbHH@Q/X``re!oWo/O AG͝Ë4f^~^nN6VfFZRLh79>A9N8i-AK>9Qq`a@ ]m}D18Rb, t3J? v"= |z  1y0^M ƁDq恰_`DlE( J;q 8Hz[!C€iQ0eIJ`7 h s@c{z/B X(P!/FH._wg[KY3-(va`tD`pf< k`8=DL/1_[2@"0 ` q?̐BA6(H r1@<*~/sSc_eX@@'JR 6H\]74J?UrȈC԰P <.@=> R|l4DXHP 0 3 dg+(Xt@4" rFn6:rb68;^X]|"ԤAW ݬ/S#"$*Kb-˳퍕1 * 0ϣ/O'mq~ xl4aD@Awy0ĂDoʇ,//VM, '@3ԍ"10@o w6w(OZpo7i SiN:P uBZ+A~td4,clI  x? T_;+/y|}Hjnl/( Ѹ@@gi 9~`ߋOEE%et`%6 ߟ\^c0 HNHB6NDGC[ WX7ó@+7a jv@;9@PIIi}R򊪍1$DDA}l 4Dj~/7{tIJD F$$XhM-&}.fFzz2TGE r) xXAjںjRA ]8WjB=D[ρmkhvήz9CRQpt1dq.)kƖ>x8C_/O% >jv@|t'KKF/R.DrmJEB@Hj[ T~mu4h+ܷLF@Pu|Wۨ_9'&$9ztp(4<22:>4~CMEEAFJI&SB}`4bO6's `  " Ȑp!("A8A P ; 0l`p fHp xh@ 0j`pbo0rV8#Ch?CpG~8 ` @PaÀ @@(*v?Cpp;P90pY08 X0xx@ρ (p<?P8`pc ǀo 0aqKw`O0,08a`F `Ȁ @A &1P*3#(08vO (T8;0Dx pc G  ((`18LB=ڪ  @. @Wa@PA P^j83pCp.8 A:ÀP7Pg A8 Pp  A (808PT7aEp p p PApY('P~  4(` >( ߼ 4T (04~p`AN§op @nPA '~  `AN@` " x`" p;.A " ?\8#x T x` *p>\q8  h04$AN ?z( aSh38p W?AS0>h?8Pc(0a89 ~pp?TޞȆ A` x | ?qX AA4T *pqǿ ,x|Ch38?_ X P`@ <8O?8u]Pap0~_pQń*( ?A\ zu P7NV?|:aX 89aBCϿc )H3ϸ8xA +p1> p`.  Ã{!Q\A\` @0gp .7?0gp ~ B $(0n  (:? *p+? `@Ý `n\v iǨ >A 08w! 4T#@P$38< ? 0?BCzY|px  A0  A CF~A#A (*v7CpAhn  ;|cp!LAx x!0 ?Tqy0 FK@*ŀ*Pf1ρ>t!@‹*:$ , (!4c4 P3 ! ((G |Bf7 > EPH4(@b|'A>cX.A >4 K @ !~(+P6 | H? Lo8B \Xƒ@X,xP0(a@> xBU7P= t|V+W>@}Gx } O>!`>?  y\#x1؀3 `< 0<͌8~A@Pe}΀(B QL*8P005S p0: .\ PP0)A, P$ !4CB PAEEt\(*`f؍!B@ -4(p@8P8k2~P>Ep (`UL 0(X   a20 (4  ($&@T5LM h(c & v(3 "?0?N c@ `h ?x¦0)x L#f`wp(#D"8O;A@@@PH:Q ` A*DD(A  b@Xt98 @y@A@(,ddh< @P&?6! +:@X؀PA@3 A g@(A%\ (#@1 p?(d0 `P&0z0`4B@` F`HуU p  f8Ep`@(0`4C@`pt 08H Q0pÄ|? ?A|~@xp?ؼp~V4?`CF~A#A (*v7CpAhn  ;|cp!LAx x!0 ?Tqy0 FK@*ŀ*Pf1ρ>t!@‹*:$ , (!4c4 P3 ! ((G |Bf7 > EPH4(@b|'A>cX.A >4 K @ !~(+@jQx` $ % {3zp0HdLtP"  &\v@ P k@ s$@(`(QDQº xr]ÚD@=@p$l O@e@  DAP  SŸ@b' ēDb@>!O@@ J ,v@3!CBa >Ľ k l]J QyJdXH"D$ !v PXAd!@aGJGKOHL΅Ƀ̈́?GPwpQQp#)aGVOQPSTp52GSnQQ p#&GTtPp{TR @ bd @19mAi ^ h@yeR,j @0؁  6@nFH m @0kd́ͽ vNr@o R@0ӟҁeP ,*Q@n rn@024Ɓ ^Z@`@@1 iej @l K |X SQZz @2j1` 2@@AƯ ҟ&զ@j: 89w @3UU$P )@k-;( @3V{Tݚna" ƚ F@ 'OX @4܄00> !e"T@a{,B ZvNe8Uap?P !`] 3s,A ACP  | 7  A 6e|pVYpu(";8} FQT|EPP: } FQEJZ2 EpB(> |Z3(Z?@ m8>4 F? ?s!сJ (x0\1[&p>#(@- ~ `aE n  `` `/ 9 P61(p x( |\S83!B?drA‡>G"``0= aCA>n (?({!| xxLǀ@13`x(=E I * pƒ G?( _7?p?pL2 0d&$ D0`_@9' * Bn`#A  UĐaU34`E`: ` /T(r(:LH9SoP  Pn %8'BAPH:'"(7e 4CCH87?^A(W7kCDta@P(;4p ZC;LӃ($wF A oA  ;@AG  y  }; A #"v A*r P p  xj@ϱ c@P?`( u4AG(((j Bp(` i``8nBV<%"_4 P0<:T(> q(  R ?dxqp@ | /췄B` p@Nps — ?5`T( QBB hEpq @ 8r8(H`<.z!~C~`p??p8`hB ~T A`>`8@o yxPH> }psm~A@(H<P!( ~? |a@@\a8(p~!pdc4o r?8q0|p!p8 (P  p?Id`z@ p <-`9Ip „|.qM@Pp  n|8  ~>@(`p YS(8  3`z@  *t8Xb!0`|d+H8b㿀xD38 x! Pp7g @`1CpGPǃP<081B#(>pd8P<08 ?, H$<8(|?`  k i³+{@! *~ݣ'x7``( Pp_P|4p | ?o X8H7 tp n`ϻ *#C 9 n'CH=xQ€AmA4U造n>|88gCp1H8r8 tH?NP4GQA} 8_H> 8 0 p Pm p/@ syn3xPjpI4A!ܡ4A_$?P 3#p?70{p 4* HnAA, AAB! 4' n8@n`"=|?@(d7pp Pn(CAa,(2J0@83n %|A*v4@X$Ʌ,  'a`` A`Ʌ<>0hP~0Ppo n $aA``@0` P7@cP3(ҽc;PJ8Da@ (, 1(,*X=PX?#{PJ>AB# co ~ G z €w ``+08 ¸;Ax08'p    (\A*p:}q !pzp </ p.8`Ch3'pC8aSh>8/ P7PaB ` *?@Pd7aSh?8Ch?7Cp.8 k 4T *p p4 <!*p  8h88>80p n@ 8|  E:P80N§pp 2R|8_ _*p p pߏ(.§zp8@UnA 8!/wo`(<~0p 0hp?@,0N` *pbvpyX A4A?)`*p 0aS0p8м{}A`,8<88?Ony (A  b?g(,AÁ,Ab|| Px7yh?8ダh88xU͏FbA@*p 0aSh0sp804TcW5yTp *T }aS<X]_ 8Py0Q\A6. C+H>0! H0px8N(H Q\A `{A>`` 8`ǘY e ~ǜ`  Ϝ? ߜ/`g0pk~@ | @ͧesh<8oxPD<@8 A! QP("?P("P$0 8c P$=8cdyCV= Gr g ~ @(*v>Cp@/|p n?$HB@A p S @#G{j1/( 00@?x_| 5PO V?y1y*b@P>6a0 T=yЁLn'0`@<@P8 :;dJP7xPk?(( X ǔ  (;@߀@p27۟ dp` . (,4A:e2W!_@ hAeG|1.p` ^A hH@F>pw` (<7 h O ,>  Uz P&4 X4n_!򝂅x sCeePHpg.o>gX>AͅBc@ܟ@<(@?$$# x p,'008P000QA Á3c*` hli xP8@YE QTS*F Tp ``k9 `t 0BHDd ,\f  (f0EPp0 P H~_pf؍!B@ -4(p@;\ڊb*  p<p@@*P0h hA@?(?>~8PP7P  [Pp0 CmB`< B=PvOA@@` \!A`-H QL*1@U``XEx@ɜP2@~(=ā@n@QpS ]ET|p`$B ?(N@' `! )P`,( phU Qb(9@҃ 8P8H]ܟ @B0# )_8!idC nj p` &F(A@E~`6 +$eK:;*ɫ `P7x@P!2y(LN,a p /\& ` @PABЁ iF *TW&7zkC 8!!E20 `QC  0J C[Wo 1`LBb08x х N 0 J8p>& `Aࠟ||{z GF4<80l~xyg(#D8* hUKx*<x`x&6 @@x|0(8A@Br)>P((3Wp@(x# (>:>x=@cUAǟ<0*~G:0  cQga"_ G??́ ?p#<p?plAdL*P97@P9<@@ M(6 aTA 8@P~00(02j0Y>@ǡ*pPh0{ă >  t=AH@ ` H_aQ7AXsH?ҩ`(A<8$ÂAP( 7 ,02$dAC?E|@PH0p0rp0 0CX@!pA΀P`p   P<p ARp3@Pp46 C @P(?0 p QgO@(4AA(8'ppB00q.@ @~   l@`B0*A (P3X0Pp28p^F4x8p ߀!8|n8'}(悃" 4Á^8l T4xr|'((@7g:A@0F ((!8@/@'!'] q?o@PP?G 80  A`h*1P&x{((  ((XWfx(񆰐s(H ~EPP7@\A@ c@(x?+0  -@1Ĩ @\Ax H?Ap <C*@P! At b88 ^ \*PP9p'q >^{ CxJD!A@JVnt-;Z8081@?A!GT (`(荼aD À00_ X @. 9C?8P84h8* `(PA@v? @\AG */'0 P80@8_ +As?N MCW~0pcPX8Rx`x$?DxA!$$ 0x,`^`f Q M $ *RAE`@,p h`a-  8@!{!¸00=G A  AG ԀApa =p;=_J`b~@ P/ 03\N *00 }>8!2p?8CU((h0=Oh0*P=@ o "  Pp,u u`)@xP0!^ A8@(|0 ?q_&d(`:_P$;@?9H8@-? 9~ ~@9?̐QGB0cx;AJGx Pp<cB~H8?x~B<߯>W@A (A񇂃 @P(A(3u?@H7 @T |$'<O@L 8aPAp@($ \H6)/Ac"p jT @! @(ڪ\B|0c@G0 eqPd7T*~07=@E@P0 L!@/ҤW`x W  p0Po ~@a!Nm!P8wP?Cp`qX@3_*8X0̕ = W %Qv p M6$f >0~3B +8qPp O FLXy8P# (%' }枒|x ( g = %C7%@!??D%s1P)c80~AǑy (^A@Q@'Pp*`AT>}x ~@o ( -<(ɠX  ?xo  d@  aW8 ,  Q[@0P8PP7ax ~C }܂~ q@,sDI^8 c@Xw8 ǿ Pr+r< B?6 {8,Xrpv'}P0 ||8B8P4AA`?OP8 Ppa-F< ??, H$ >K|nO%_!PpÁCCp1Bx86Cp'p = pgZqƿX[p,jAah<80dH> gT g0apaAɖ 7>x < x( @BAC\H7!1X0f  B$g!\ p | @P.:p 秂C'V?CV?CV>x@ OBSCJ?pPY<x&@( 0bǁ L8H` B1$!0`… R HP($e"T=aEH>oC F$Apa(*XbA.$A X {>c/p ayu$=n - nl/p On / dn3p~zn Š>hl ñE@~88 (WlCgPH>+ϜǟA(7}dC{op<-37P}`($VBAG(H> ø!(/Aw8 x PH?#,(p>+d@ܠ ~ =:P$?ߤ`x pPx5><9(A@|>#P?pN -t_ >||s QR_ai A@$!p0(P<)! ~tV `nCPp@*po _3rP`BA~؃W?Gppb03(({CppA@jCA'g8!{?^0[ x8b?pa(dP?x\/x^ ?pcP6K ?1>805 }Ԝ@~~@`]ϐ Bt,?g lpe܁u8 @}=@xÜJ;;8@hpGT xS(<2]IB8 @X# (\*ppp9K<*^p ?{x,Ap'? ?x_p>VXA |8| tBAO0|~ pg'=}Bm8@xDL \ (pn /8 AapMprlp ߟ/ }p     |߽M~B@nQXp `n*p @npCx>+ È G># p@(.A  `NAAlB @@l: ,@ PH8,B8dpFa  14KXayp j 3AA0(,8/88 H< P@z(ďh  0 #2H%PM@4 l%G`uH &a@ u0(Q\mH`a5!lU@Q 4 >y ](A!Ġk" 5@Pj q#4p(@hpCt4P}*P0X@ PX3y$z4Lr@ qp @%@ 0e!>`&IPA@Px<:y@U uSY@ @-A΂P: LAC@(p6?aN8$ Pт09 !@b>s=SGNw f4"xƠPD19@geP1 O10?0ݸA0 ̇>0F(AU@@(1@,C<@((<X¸  ;\LX r h !#Q@p'P,x*yQP$:?&|H8/2 @G?P*ǐ<2HrjA! HP<7R PP@(>ۦA!v@bxXxO z)!@>{ BQ8>PcPC!-A8<G=C ( FPy6!@O p hpD#0(31,<`'04 .(5;"A ǹ?(.4A?(@>AA^ $D-}@> $~}@" $P89H3 E〰@H2 ڼA!Hb S<ADBɸ0 Dɐ|@(,ɪ?p &@4 LCA0(2@cQ`aQHH8`P 1(6 xpV$ t\(6 xaAlA A R+2` {ǁ.Ku CA}@ (H8dăt5xA * >1 @( ֡@< Ph80,A ~dHGP < PH6( f@((8 1p@(8D @` 8,t  A]0a  `R Ba, `f@0  Ӂ(` pP0# BaX B ( 0 h@ (P~u (4()&01D@ՂA (=J† €!(A0#~P(& (4A`$PX50hP̀X @ .p  `0`/ A|ـRHPP,0(C9AЀ`d `0$`rBPp2@ (:   2@1P<  *@@($4 DDK> a0I@h h X3b A `,0(AU@ r & g DC`8F$Ab2@@CpFcp98NBj\ 1   *P̀b  <0cB XrA #%AO@*(6 (8 H P$= d/Á*HPH1PA$ՈCAC`cȃ0 c*1+RÐ3#F|<`I}M` |=As "(Rf08OQz I\Hx Rx7;Rp!_'x8 @O g `n@r@nB`0T tT(9!P(8JHVxdgq@PP1Rs`(5N0@F >Jaaf,7x n@9 pX!y#I`q^ P'~0O߰AXU 9pXTe~@P c@_   OH?db0!NC'18 &8 À‡QH 9pS`(h,@ p/ /zS -϶C@\  ~wUC!b@R>?yBMzPO *WCV!Cp,@? (9&HÔC(P0E h1Ah8HH9(20i!(88Ch ǐ$7:  n`)0( (A&A0f  ~̫ @@"AQ?pMPX88p  <|H;aA((*X08d ,PX7(0p0 s:r.P`PAPh0b=`e` `8` P80 Hb^N`d A‚!V A@D@(D@@XH:*rHp  @ "X, &8`PD0 ASp8 0 o p0`p`ACpp0Pn ai0pA(c 6@ P PăCP0 B\(`  @@Á@QHH($@7A6S` P8%`8Hnut0LM@e){u EJG?1@x& PPp8 ,dhzH ցA4uP  qp *TC`@d>:0@((1Ô:&p0<񿁃0Gǐ?Y<@?p?p Y0pf & 808pAP8:x@ꥃl8(zs089X08 P0 5\ P,(X6  @85%0x!`X6   -@`8C  @0`  :\ A` @P=h0c `Pk@@  !§xp t`(4X$ (4AA@`ǀ L<  ~(469P3Gl3AS}>x \ ($ 3A4@@B0AxP0L8@A(t#A`C(8ЀcH?8-\h$pP q ߀!( y>hOh <#oWq8c?6 A}mQ8$x(8p30 r<6@>gP<}8sLN7&A`?ٱ G |F 9>0)NX(x}<c#bM  C1@Yz@ S@%P?vE}`n߇|?T >ˀ``P5vvxxsH;~d[Wtq@.9 B? P7^` ɴN E`n{{( jKQ 7τ듓8wϤ?C M ~;<Ў @P8aP?_  @`(٤xˆ(+<OocPDP?/@s_̸ ɣ@: ;?CH:C`A|`(P?M+( !C\ c" =Tx/pw(IQ~C@`p@̷7캊Si@2|(<7Aޠ($G}"Bɠ*ð73 |\P@/?;F@Nxo}eP`9!PAr$(ؠ.^4A$-@p  PP;O?nK$  ~}@?я*߳H= 8p@0~KhvLp. AvMCp0>SUnfޞ'h +Pty H<_0 p>GOA`g>Ǿ oxQA'1A Pp(*"A/G>dD?@T  i` @p _@|{ !@|f @G j &@d=`NAd1MpG!x LW wg=[ <qd /j@@0d@@#_(\pC/ sްԜE|!{n o,d$/ N` xo쿟@U(tbxsD=p/388{P0t2G$ (_>@=?݆?+~@@gpCH E9~|.8, Wx08_x-p y#P?_.Dp7߇`o@\d  AW<A9?SPpA(/p}Cpxtx A`T8tTA`Cp  z⃀88lXH6KQ'YC8 baSLAO0$>($,@8LX 7CpHC ?p >  ! iCWp _ @Aݠ(uׁ-;z(v 2pC?p>C/tP7h:8OA 0 b{PD70vh=/Np)AK! C A P A=4A?!G !IDA:!A APd0P820@C87t ~ F? f`ɞpAP: 2l2 AP% |`A(8?P0: 0t K  `@X2P47PaȂ8A4!p D(*80`@`p0v =` *4v5h23 = 8ƃD@P1@CԜP0x!`i[ p`O@p*5$04E `0P$t80f$4X H<&8l  ʠ0@90BA8_pCp(CT @? z!pD(ip{bu`OP|IA` Ă .h   T7x0c T yPhrLv  @ >j   k  GH  @$`xh0`.?"8887(7x8H22#(2$\|(0y#h8:0{CH8Ecw;U(8 8}eE\,5 BD*ˇpR.&J"dhz< J rՔWm_`sÀ=_rrB?vmc13}>}_ q Օ4"2KR+Z J\\l$j4w? ؼ<\,U@ dž} aLt7PZWPԸ~ J##8/dZrV6r;ŠRaiVZ<(Hx{ 蔸ȰPh('pz9>8yF'A?8Gbd>e`de'u61< $D8X0p ƅt<<  4(478 }sGdT;wnnoN/A>~`CcjS9P /' "8xrF#d@o_x oקgwwǛPXY\Z{yC! 22@-'dPщ(L)1Pჽ}~\)!1!><; QqpIHHIAfiP.h Hp@kٶƶᕓÙޞ燛t&_R 4*4 <)舑@)ظY(1aB\ 4>//o.wVV6wa8@`1SS B~x]!bU РWgP5y]~_ _}{=y7BHG0: A@@߮.no/W&&VgǧQO[Y>!p@X䀷_>~~H |   "!.)5(AJ3%$˳M2&6!9 #-$>%v,(;x2z6s *DG V?@_$@P0ET,\\, 0,l41@C@M O䄕yrs0(]}ean~qiy`>Oo^%*&C[ Re8@xAP00Аe@<=>~q @JĖC%:}[8T\2zz:ZxTdDxH8-_]d P((ȣQFs~>4Jr ^./.Ϗv7WA. MY^Y][]/~O\ 'Qޑc M8D4:@^ ^>~d6) # 0?(I Pa_wOo_ä@ Pp) QR"' $ "@5 ՝ J ~h@戤Ph sϷWgwwvv777A;8!(‚Z?fbL~P0Ofdg! !G|<}f-"AIANJLHO C1Uzw  c?$З@ A /|g'mZtx0PDwv *8  5@m_/P8/7##`b (ENLO  >|A!H"&!%%!&" &c"# Xwϡ_>+x-on` `yo7^h@ *Oh( l(. ?ނ H)ht4dD@_ǐǗ0(8$tL<|(xG, 4T$3lA>P5_oၟ mB'''d1ÁA0782yugߓK({W惂D% 'KH?„ 総t< 3/ u(!0=@@ AA s `. g|~ 8p8! p@! ǂ? ~S wI(H4ɉ pO@x|+;߀`p( xh nJ ! 0PPp7y l"AU .:j_ ` !V"WwQ0OD$d((`b"~}#Ǘϟx s0 @G}8 ! ! ϣs Pd 2H097g~$p8 g (a#'" !NNFL?h#<4`߿` #@(<hHE@ 8H5!W|P6{U>A|d$C,4ch?Х74`:# Caͷp4-P?ẅ@ e{cAңm3 o 8bb"큆 yzx{!0(80@"_@( ۶AM_@A!t!L1q;uvxP~?M`M@0*@!>.( kۻJO/oEA4AB ] i=1Z2:3 Ftg#<@ȩ.ׁ" sk#BL @4x X-.iUۀ5 }㤔 I@!%8QI c Q@ʀ^+ʟԫv; @`b:+РҬBx5 (!j0=``j@у }4 M= P@.ܿ(!¿NJ@C,`ŢH8 @B՝0 ,A ( (00k 'Jp5"  r)pB| @Ԡpe a3G8;I((:0p`0? `  H @ t,)ajRhB b@\AOSpAx|("XQ :tp3@l ` `k}]P BA*p<?x4`C$?@A{8b9G@ ?("65_ ppBAW8).8>P (2<0r'A CaUeA>ٻ!@$ ^15AamAp(Ad P A;8! (4BAq=8w])?!>0(,AׁcP$!AxS8`Pu`p!#?CH8(&dA(<\ǀp6o}#PՆ(>4?? À2#g(>I\ À0#h4x\CH8ltce(7߰8?@P~7O8xwP>>xG~<x8@PY;8`Y>@?p?p Y088P18h~08xX8`0pX`@X0aFPX`  @P ,Bpd0x$(X00`C(pp  Tp0p  80`ăA`@@`` * P=0ci aCy 0x (| fg A 0`P F 0app }| Hnǀ uD(, !*3h<PLh=@ %AbI@('Pp$H WM.ڏqəeaA0Pϯҋ *W>@qHEe8hQ@[[3#&7ŵoƮOCJGw=8;YRZ޼ &'J rt7Pߖ6G$oE (M@rV].4ِ`|RR@8Y0 I1aafZ+KSg (9 * NN/Kn!9zXKE  &}e_C`(_T tL,?Wy/0t$Xt$\2$$nv5%9?) 48U]VvWkI !=5,#gYJCigx<1-.9+=ŅX^Gk {:PP(y8E& `ךT߷z EXպ V6e-1NRRهh84|R&& i)EyFfю܎( P"\fnI1a<֦t !cSSs+iqa][dh N[TTP[C;@0 t2<8]c9˄7}BCdon[=~z{|GŠce"{im?9;}#`dƂ8?~{W#%BY|`\:> ;  4x!6#7# '==o/gǺ&> Qi8y)9Ȉ1$8;x' 2z"fa.jZV8]㕱{}œģf$e`f="R?q)Yjuةɉ?!30  MHy|@&/Ssχ Sy(EOCBBKzx=<0|w DL@GNNsu?12stEMCOIu842u _J|\26tpgхюbp _RLlFzBd|tk鶾׫\0r !01üoBbABÁbRaⓑÀ?tNn/^"#b!C`bRSjwy}hƠ PT?$(x˭û(Ș#Dł!:Y<B$"G* Ml,T\x4ɞ՛ןr,8JR/,0/,z@LW-oS Q#A\#`N|lgm  Z3h3= \b#ѣM u}hhtlLh/HdϷk3mwD,(TXP`s%`㢦A~|9DAy؞9#cBDA:{F%E{^^?e >yyz||?,[޻af7"?w7{o1oi{z8ljy^|t(+도\2hgΡ69)xd,4 oپ )Y-vNasHm͜>#u1 khK`ႜo|camm5Ο\aꩋ2!?oL b# ̮l<#SH =no_#aMuL,_}ۓGK[ZVҍ<[J+78%o/ϟ!hTu5I82vzs1=<9zY}mM. oAB~^Y\D*˦ncHv1y{z=ʼn͗Ba#MaI4K텽׈@?ϝə՝BIYuS-FtpO?Í嫿\nMu3>N孉ɹyy=mnn^ps+s\#Tnllpc{eCBXSnemfyxurpU[XHKshvbg~]*GWB40?{ w{'/[׷‚2ǁ>X[ #jjRĘD]ۚ]>:ٿݛ\}D"7+7: /~YTUٸOvF&wO{~\껅ixO(f+!&,L;5?6z}sv})9q uFz4t`{ٰx+ύNolY QSDNqy|kixaqxug|R_IX[ohq}}nN:3&`'3$979<:{6Ƕ^UEy1a_ζW槻{&>@*AKD{07S226{},!Nj84pkóٱځXj!~= %jAZB|wՃޖRVn]C >&zX 'ڊ2v5uUq n2BlMw=߭74U4nnIhii+RqPbC?\OvVVV^\)h02 4&T wl}2[ +h4q~VVPDN]4G pn#;. ZFz,LHXh %%Y+(Z: \DDP_ gO]MY%uw$4rFrrİϏcI5+W:r& ?QNrTBzSb0= ;ձa.ݺEͪa/NDOB1՞^=1N),dL@Avr7WQ;~F f/*ËNFD p]ٱ~M(#"*HHCv7דո(&,#MCBM{ۚY߾ʠ(EANA6T]>{ +"?  -m ¼\LHh蟧^6wõyAu{wȴ‚|T|$Xxs=I3k]beR;=-= ><h`TVb]x?-" \xZxT|Wm /;?T0zҁެR9vG)VFNi>J\|Tk괠.^^6!a:Vjq.:rnH?wP SS( Hj():9/+LQQDPF  tv*81+*` WYKj(0<,uz@KC[g8;2+%9Ll¬B\̄Dg UaimoxܜTªB", cqqL^;agfPT!#DiH>%!a P #\JbXNP8$ iX8iAd'Nw7R_^ilӟ\=QKKʨcHIi1##5"pOHH]]xwau5]sǠP@taP/k˃ p6Y5y HA"- ,-GؕPZ2puO@,'*&+O 0_R?pO##* p9ՔPXV\[ӼpsB@*-&& h"M 3W=8x 8$&QaN5rD146eZP8N> DQk'Xеr rf~q%i)Men*Dֆwͭ^C0H(CFxtU^]uL2%5? 3cnYaK@b=8 yUci}q_J`,> ;4!6 mqaUp 7? mUem]gT">#0u]QcOV}..8$U~6{'>1 Yx%5U4DYƻ;۪+7`ɹdT8hHoeU[R:?15|GM./ď5\?1q}z~ LH%+O'hvexuppEYV^BL l~clqqbGYXI|w^k'O4, FZ T7SUMM+kood54squ}/ɧj,NKz14\ؾrwq FLaѽc8ġ`oyQa兪ŧǝjF19[yEb ;Φکكͳd !EyVwp[jjhX:>z:&#ԑS#_hꪞz}'/  D?;f^ 0!&/"(E ~1S^ԲyzO#y,wƺ͐y A>>1sKijЃ6T5 "?|}]?UFHE[mu?ߏקTFJ|x -MK?wF>}~$֐g|ޙj/-l=Fǃ<8F%e2R䧀9XkkhC#C~x"6C<j+khXD%@9~}ťVPW%C?^m!@|%6Wf%߭*oF'Cy:|yGgTLܹՐpI-BcӐO>|]C6WV.a)$7g `PT'~!6},x[mqi{s}x xA158:ZY>{ MF@/ު8 7KGT ha@?@Hv~AP"p ]?!j< =Ll4 p@?'kk{F4 2"|l LL$wx|¢ĄxӻD @W^8z%$_?yvtwsvL@A4TAbw}_ ]ͽ 8$G5Q+p~ \ߗt>&)d(?\{ׯ_xX0%??;?d T Hc^G@wN_M￾q.7g @6;  ? @8~ ~ ?S>o'G ']C3_>>|qV}Eg?aPG 7}pD< (_@3?Ug` 9?.J{ 2* )|%X_T.srz%P kˋ߀HpK#!!S?A@ A7O  $L$ _*) P*\?}@z?@?)  @?'?ȂwpGO?x> /wO~`jj_A7c  /h"0pBz3v?@ \A|FA @NSW @6/OOG௠(`/ ?@ t4!}]u@`y~'_!BU p)5҂x/e %:Px`PG0?@ Bס! %-P8 (~@Pmv?/!V*_@@g |Cڟ{_"S' E9( P6~y!||?E~WsȂ迓Jp?' w\.0"CAW7Ђ_`@ߋ~ 7l  0BC>?A@@ ``/ @ $? t @)P?/H( `h@A[| ` ΄4ؿO M 8(# tP?`@@@, d00@P@Á/0@`{ d@A_6 $?~E 4TP;Ȑo$`@@lP? %]88P7 (A+ p3w `'x  P ($(h  䂪9+!37'9Hc3#oK-w 7@46'>-> /, /(7# '>0-2=3?#8 "4!):',! &P ?--4!; (926557',9 .:66?'yFbҐg9Y-8؅:W塃yCCQQc=ݘE$oWӃ*26f 8`YQ/!Ίp3Vs M EE! w00<72BɇG-LxXV/ݍGd:R,`s1Ir`?'E&l|]`bQcPq0h AC<5vOwCQ0S 3!.M44OA£+֜[QNMEK [+nL)ȍΊ05EDHa~AV{#j;oHUE%M-q<Ds<7'~^RE]UNA zdjzy'$zjGMWBS vfv}p0{`QJJZ^ xn`bllktVW^XEFY aibuhjhsf?.,\Bbږ?o`Y8%u^:xBF%Ms;42KG'&*à ?rw?ؼ{ N.R, J zy38<1E,*F {y|~q|x1?=kϔRN*Ey)Lp4 _ǽ˟ó՟RLNE9:"Pc㹛˙յ(\I!ny >|B[|Z?XX8@f@Yi5 =8< 8=;!'&*?.2 -,1&9/ / ( $/ 35z90/6o`ϯ׶oAi٘H#{<(S{Zw=]17??䘅YqFѩaﶏV)Ky30AEvvFJqA@pCS+Z\BxhM͓p1 &ݛn\?"@Jt|CB-->?WRsN ,bNI*h+ٺҁ^nN8p"~?}p c^CMf@_nGjc~\LNx x}`_(' /(DB,Hok%m332''DL hkUw|漜TW'@49i+i]#'Q†y9Z}GB硥#zˬ_RP ~ؿ>}& h).yf; ,0=.%- $.r?J׏ $Tp/oaP )`^jwqY DH ..@ )(WF@YEt5ىPOOpP>/ j?TRBtup~nN^+k[WoeM5%n0M'li)Jv;ld0gζs\b*ij=CB|v7V54r\w65҉pC ~s}#RQ_ nhysp X֞jR8Pcna_'*F7U%uxw>7O7J{;ڶ8U-4Xa>^Nno*z&+[6AimLTe~~nN^;Zѵx+` fFNDy;8T\Y3)/ jNNI}~q3>;י\7;\4@Dݺx m*rcUAAݜ]LwWtMPh[iɲ}@Ӂ]yp|.pE^KFPUTjui!5.iw:4J6:(P; E@ĂvF*t`OGëkq kF"1WT"<jm ,}C4Vc#F>>^mnI)N~B1312SՔBdE8Z-ȏ.[;$Qw17=9*"fXB]OP?ő ~W.y, DpwvvGڒSb+z6Ay l쬤9(~{*cj'Wqet=mLŕ"L3:7UV^\ӻȧ sCyzTd Ʀ̔>YyTx[0y=_j+ +_\eӇ##LJwu?V=l08VZ_V;q M"-`k'Bt?WѼI!ffjbaGDpsۚP2sOFlks!yj<W߀p+lv4%ed֝sjCHFDVgdeEY÷pX"ƺN꒜Xo7õ-99I13O&^zF'3]}7hfZFn6|̄?wS`>$@WKEeآ&z"Dy_mɈJ(>aVӲtSG|{8۝-MJNZUQ6tsQdg{:8[nΏ,ɜف$'V47R&G{=n7ZRkt<683{Mnld~T . 9fHrqg?Ԇq9  E1ޠ/6wKC3*AXӔkNjL`~9?Á4'CBAEF佂BŁGc.%> '!;m΁ƋAC^"]"~?^CB@g 쐎03-8([@dC[T?ÄlsxlR;_7koy8rlBacB@<`ܟ#@6',5$*#*)=9~ao_Aoa0H?H`/ .ޯ1P@Y]S #,)8?%~wVC|< p  n0hoWpHo`a@܏v8 A$@{ #0*7,/Bcs6)=>@߽}@<"!@>CϾ< SwzFHtHdgxUF#o  N{^N@/` {Gs  J ll7hsTB"<|}B€= Cc_j{`?O01xE<B}F}FBg!A'*G Pa l#{(0ag?_?PW`{:D/EdA!_XXw;|kAbB>\~_P^Oܤ|\bCʨC8 'p@HUF@ @HC 7Ph:;x8g%  `@ks0D/{8?o ?H ttK A|dE:BE PH G grk'ߨwۈ{w<~a Ðc!`a"cBACOT;8o?_^!_>A '`PaPDhh(P(VBGEy-h7';9;;;dAD)0/g0H/`HHϐA.     .HK|sz;|~;30 @ߠx_]}4ggw//`}T~*A]{ @0A$#ރ@Ԙ$ p0_@z\Fo@`_> :zo (5Ok^v,W`BF~AU~F , _H ѻe ~O.i=35?x/X_t l IP2 (0?:~?Fp5UD:,/`/_a+=W' +R(PQL 4(Z4x(-$!_oϷ @[xɿ}@>D +  xh $P/ hxP??8Wp(h`oWP7_@/_(WZq ?y~}}xG ~py><7"('JG".DFgyb3FI`p %r[meGDHې3TUgݥɁ$(w9>*<|=ӛkoE)@~7xao}3\VPã"#O|p̎Y5v<ݚ飼i:jj,)|3 3=|YP}S< rlAGȩ=2(kH? j! bH8ذ@=`7NuU`K2t('s] ٹL:A@'"?oV ,\A WC{7ZW`a"!<}:#D}<{R[P.k/K|$Pqi1T[zbm}ŀx\Äz\o,,/Ew4G{ 4݀ą{;;T]{/l ~7]RX_~ln=G3< +?ΆG{c-QNZBTH~A?o(Uq7QdA~އ'KmyyT;ܙI0rmK{*;թ?˓G/U5بAv~@ƚl,Ov5W5Qj9XK̋H%O 9xvTl8Z+s@CRokufxhuPjffZx U?z}9__ƣfOt^ͅSmm򺃕;HoՉ竃ш77:S"E>w5?sp{-rED^HH l;)-%+[#u~Pyӫ<JvgT|eM[WGksc-ʪPT`SN{Gq.>YȰ`&ZN!3ֹ!,khj+J w9Ux==9K+up ]n mC@ksQYVAXXpO'k-N7*=*2Fj|$P߷Й$-nCPW6Q}Eڍե͕MIbqG[#U .*Xv V-,sli㦓qv|Rtp/+shtJ0`Ă1q75[gdfбՔb!E1~jqvat>B'0`g靰E.jEH g vzv&F'iyL4xy;ӹ20<7w%#bKz9=?}LC#nm("Ώ(oҒۋc jbU-#c5)zBd0/oLvSk*sRP~smrocftooSC@F_[5ՙ2l2uUu]e1.:0O^;zHI$&N`W˝Ғ#ݣK ѐ2\i5yu5@w2cC>nJ`H/ Ll.MoaS*)ɪ(r}ep>\_(pn< ?ծ+S}k`$g 1񥔤ŸI0avajHeun|x`^BVNX]nzy#k %'?b)II3` Nί͏OÂF|k| ^\TZDK/{Ss+sSKպDFEff/:D$DyA M-,΍/,@ SI qF{e+@^aĤ Sz8~zdb}mawx|Edz S#3Kp¢"e>=ן^"?9 *$-(Aׇsc s[8c!G{Y͍h(Zn^apsaݟ>`<KR2 ;'%;7"vckf+?? vzR#_ٙɓ?pC̘ r U`> ?՛Y^=fead`FG:?8Zyou lLt'cŅ驙ӿw"бp ǃz8ZXZۿ"egbdgA?_'$4?iȐ @ޞό̃J`[!4vZ&ZZJB 0_כwV2 efbi~ s4t &B>~evjeet#Tdg]]_x9!4 M$!ʐgAcuqqz Iq"b/AGR $Ȉ0 P7{{t|Q(D@1A(oʁ% 9@@FA A(;^A B^BQ(!! aaD@Ak4P$a@``ǀ(!AG`A MY 0~z|y,@@ (( <@&@L4  (@, 8  00 00!}!A   @_ |_^_? `A@ @@*(p: p7!f(  >B AAXbo =-A(r $ %-u/0BB_% ņA @A1Q P8y(!x(07 #PP`}B%` ` 0?  (05?A@+ 8H<} |` $- @ @A ?E 8% @9AD//C?   n2 p0 o@ P0@" 000 Pp a C-BTA_% ` wH@ޓE 00` W` 8z0JE`ou_p@A_P8H`hx(P8*w P0Po 0P00` @A |`` p2``@K 0P?`@(P0PPo@#A~P o@ РCl 8R0KR}!AAA ~BC\x   (p3 ~  $0Axq@ $1Q 8p?x 8 8P;``@( 0= 8 (x __@bbNP@XteΧT߇\ì&2X 7kչ A `N}x><i?e"!$B p0R9 Q".fƗ/-> XiXZ:9;P()9=#5+  2-!).%7$-PStcgvyAt|lBjDx LO *(OȌKNOLʮϩ/ikݟYٟ[^_:9:zDF@!'g1Quu, tt,\8Ș@ O/[]MmxxBtvIye{Gp2> 97-=0}DǨ84MvNAFFE{~f>;:;;[F'g6kt}~] LOZ\R\VYEUQASWK*RR"‚; 8xhII000!oO'z{; "XWVTV]]\U2779͝˃˫ׇϿp(hXDTLR>9527N9(3CfǦ&FJKKSe啙P.?80LnvhX:\Cyuwer~yq`B-BǻGg{vN.o! ` &>!18Ih虘8YyA#*+*," !f&Zr1HL`Q۽=VC15)GJ *2R2Bb }YcCD!a `a !BB:  ]6< '.J uianfzrr`2Azzz;zzG&GF&GGf7mtvvqq}xgϟߠPp8D ,`sS!g`''7^!\l\llLL,̬,L̴tԴd4#"7ႈW8(-8 Y? S1`5ՍЂ[;{ 8w"(g({N#0M@[>1!>.0<4АaaA,2 >? d||zd >Oϣ HGJB@M 3 G  I`q?d HRg'ggE _XHp4kBU[/ϯ= VP =X߂ҦU7*ޮaa(P I% ! 0L$!14A'~GI|6^< on 7W7wx!TP Ȃ@Z Ű+  { &63t*!=_ F>NϏ n 76D\^^\^>=?]Y ׁaboukЯ3"@L8L!8X \xX8"P` @W ~  |( Sx|x*@Ax8& <x0, Yxp  &Π| [^tp;8q tg^$b.Bek ,MsӶ.5ңά3vV}Hl+ eEBI{ s pc}C@J_@}lRB4+3<9z`kh}ubw g]^Fd t v4R\.r<p eVUgeF}x([̫;?khKjEۙ|XGzƼF>"F~@G%"'Ub&%G6&bUFCfţBF:B98}??݋>~XmZ9(l+lI}[[yfzǠ'&cS#6ᑖue te&dbb'ǡ#?b)#/>?OG@T{֞6{{+V[:voN~Po1ű0+'K#DUJDQ_Ç^DDLMvyꢦmqihg#t=o|zw~cogn yb^$ H4hHLLHĤ>9X<ھ蟼\\ݼ{>X~?}&904+>(%1 !47,$=0=3 $?T@!(Pqv! @ѭ7s3w{{uӋ囜W+NoN|: %=R26!+{;ۻ7 E @ݝ |@1|?{G'O xs~O"oOAGgwԀ #Q  rtxtpprr}ߐ,TA"W$ON.C$:0 |OBaʷW!$ =I lx@R 8?y*@0 _ (K^]^ pXd ,lL4d@f~x@V~XGʿB\6@G>?Q" ~D!@|d<2::*(_xwp?Gc@,+I!/x0'=<<==}ED>/}A$$c$*c:_p$dDSt@ĈhK?>@A@D?_ *_@8xxD( Sаpp'^mR Wף~ ~h$(XXhQ?E|= P?fyBMx&Z!<!f_#}  |OFv @ {}@@ KBABC?E} @ @ )A/‚@@A~` L`@Pi !"n>$P0!, ~_% r `lP>?(!X n $ X&-;E |L@(P1*` RN$4(`d!J _|@B}BX`xÁXăA A 0P=` `!PtH?@£h0B-W ~B  u0=wp@  H9 `@[ (?p@@C+@Ah݇x(0(5 g 8H0 0` ⁽FuGQ"o(5 o %{@E 4X6澉P1o@#``  ,h?3I@A$7} m (p0I $D 8; gA(݅چ ~@.J#  (7oΣz00Bq 8H;o0``Kt((5g@ y(?Po A!v/`7߅ډqP `o#yr800@  A_ 0p700B,H8@ c3 8 P: ?n 0? q? ~@ @A (:@ {@'|> @ h; `  8Q pX>J P5 p|  ׂA(!Pp O  P3`A@P`AP 5ie5N,1ᕷV.ljp3P+Ӡdftp/:X+!,1R\l/,^ AAUdLO@ y pz/+*]Sغ OJHAGN%k~AFIi }{moa AZQ h$c>ֶw7a񸤕^kVIQ' 񻻽t@wUՠQɉȱ7A/}E/*!E{SQسsBDNN px{C 9aJ3Υ`pAd@ %wɹ%e kj!y HJBATF@@ntGgW`R28BOak Cn./o? qeexNG_!P& q}uuL#ap$BMi`  RLEy0h {Ѱ0bo@"Ѐ6ll >P t$ZH@@ G?ਤBB4cMPH(p1(9%h@ w F ~ PC[7?@ (`_@X삢-PVG}|p9DxHƁ ן 0'ЂS 1 ֞ɍˏhx@`%E>kx h8hpwE.?[OD,?,0 a!v|] < |@~pt,X?{Wm[=d ~H 2Gmt _öؤ %y1>';zpO$0 .~z/=$R( ~ C"f@؝Z1#tŠ8~ 1pX4|J&.^.jdpZuV?DtBV^~nd/p;vZ?!1(pP#M~@@ q< - YH_w.L )%}ژX9y+*PpIA % A@E*!ZNNF"0 3}!kP0C (ظ_LV!A.N `CS A8E }Ar&9=+( Z\@L8 P? k Vj l @?Ă]*}۝xA"J lTHP@(!g`bx<_?E31ՠ$t~EM=,?Jf~mx  @IK@AK6jz~ud p8ёbp8A+($@ tenzfp ~4 0 DH[ E Դ7k@r ]CCIHN] D dTttTPwG ր``d H@n~ix3Wۡ(AP @;//C!  卽Hh@%)H8(p7'\"!T`_` ͐ =)hQ`*.,oyGGE1"(   J|, P2NH܈ !%VA `d ZTK RBLxP@ # "$A 1* ',z  B$/@ u`vx0  `@Kol"TA %0`` ckk0!&JDKl(P6JNNFLK nP `P B@@>4, d( PP`a ds}cktt@  { $>P`wa"CA@< b @[!@@A!%%&'DJl688!^  DD88<#~  }x|$ F {  P0R 00@`@5OZNO_X8GK4k@#Z@C~Wx`{.!(@A@ᑈjDF~|xppz_{~`b@@@A qq`@@ Ώ<@AG(qrtxtr~pg@ !  >:>=8BX `Ը,rvt|h0Џ(9<B0 ac!A|\p I& T`5hgS(0_@=<-p@@ CP 05|BLi@@௪"@ (Xl?@IWOQ"`A4@@88?^(gAnB(?ׇӃřx; kB ۇtp#X_ cӡ_w8@Ttu"ZCS+[{'O3B5!?~^x{( Y[?C?w`ၒmmjg693?4X  ߂X (T+iUp6T  q|97/[{{GI htbjvay}`qw@ #"#0ožT8 n"  㽭ѡpuv!@-݃u;@`@а(X8xD$dT 8 i Ą8h0 ty897⸻5>28?Nήށ᱉鹅͝Ӹt==}Zl `P;|?FI`G@J_GO_?C`X @"BA@HAA!! "? !A?_no_!ѱI1 Cqqu}ss}usx NEMINJBHC}yrswpCCNI.6&Ffr84 61nV.n6jlH'ᑉÙѕ,FqY)>6> ~f| pKvCjgVO?---! %Hu:SR;:R;0L6~UA.rr?d4jAyͣxb\b::ZJH׳U5U#3^9{'PVW346Pfn/eod7$/C}eu[PM_| 4Wc]K= &V*z(DU\}|x0Fd0Z<=zKFA#eˈ;яU򶱵ݻrBr~is7HpHo4 Ln͗WNCq RVBL7G `%6K#O. i{MhtycH?e_?H }Ź@ZzǶwZ߼S:yjr`€~ u.̖/.N.|#Qr(9xqq# tmuU3sZƧS6tP`!@ƃ9 !&25',gl:@I}^H]}arx o$ H]EM-O7EFG$eճ0-nll}EAFn$/iWdyh:6NQpA+M(foTN擫{`B #P0Q|mYKmwC<.*2" u]cSESmh9%qPG#3))ISn4uuw\#!c@N@JGmCsx$BAF$cbEiXFADA'':8COL?Րp1a"@G@E0;4:6v%![-X x,rF6J*B;ޖٝ}+aCB"}ҀC"e$>^8~DLJ<_obx3[ȘhPU?Q.L.//Ӓ x`opHx "JR\"LWՅD}Aw*&B" H@|~o(fY9eu}kcpV%A$0+r@S`xg8HH0?L 6.1llo;/ oA%pp{~k8hp#l LTt t(WӣÃH}KN? $!a `<_R89?:~-oYGG^~@i>`H(H((p7'o%AIEpHHP.ί>BAP߀4&"i/?E?0Hp_W^B0 %B^  Kpp_ ﯮOԽ@PXXOw W?@_hwt|Yc9+D(АoO @  |xx|z{z@wVx$$8/< @Ba" OO/'A(7\_%( 4BeB+@@Z_4 09,A~@@`}{@`xm oJ`@)A  wH@@boo@$@`x @|G@^@_B p7 `E|OP:X-__ Tz 9~ 73(('#.CBA Qπ_o fD8`  |[$!Bh"@ p~?@ 0 w|($@ P= Wؑ P>z(Ђ r@ v)!~* ?_Cd`*>O%F'$!o,00@ [W: TO%*02\0 k@b[0@'໅x_!(0'_Z %i0A:/7 | @ 1>0/C`g_ NX!_+p+(!/=0P:ABz;0Z m~x ($[zOKn/[NO~N@4zlލ|S཮o@:>AXI 6Na`O !c eLK_*A xPUVKx/F"@hs[5/- A-! e}^~'$S I ˱_Aw ?HF.~?/n s?a>R:X3ڀ?~ >_W3Qx?_0%KB/4`C@AP?C>|܀ !`@@?>߂iS5 oB}?_ V\~ .|}~z*~ ?E ^jr/A@ /sGϟ= 7|6z{)%-Ծ{}?'`@ B@P{y}t~3(%A~==>\?/@oE.o>A `@ϐښvwz=W|(HP O/~Ǫ@B@C AM|AxAAn.~ t7@! !P/ 㝃(`p@aݑYp_%@aOWۛ `EBEskx ~~nn?AŸ@Gǧ˽݋hx$dpw =(uq\PK[_Sp  hC}ӧ8 \\q[RBOwW'kc_#a⏂4ߙvhȳ9ipz. }ޞ_W8L<@@<80]&}q o%.Z?,>P~GnX? ?@F400g G8 }^KQ!~>6'{z=P?¼z\X]>)]Y_yqyl\@@+ yp?P5 #Jp?S`@J7P  @A: (@(08eRA(3RR`@P & 5h07  SX &ؠj%@Ne@H h^c<H`H0f(28 "AP)uDI\B PpAŀX-`PAĕ!BV =*`@P5< u!lc.`m `n> @@) )2•ʹ@A RA. Yn-0%b ~,@͊@6x @  9^A@1BN@P 0@`(``h`XAB o >ҁLU@^@R 2s R ll)>@р$"ˆ"gSRG_!8 x h@C0f%q , ٘$@+L($E@*ah@p#"@Y >L1LN b` "Xp2 @!b  u p0p`C  40p f a@  40 m`_` V `,  @@C  A 0(`^ `C$hnq0͠0B0d0BE @X@ AH( h -~H@o $* }AC P0 Hk `00@(  %C $@x00aq d  d3@X* }AC 6P0 Hk  (0 pph`U 0_  ŀ  8>`A AA4(4pH`u 5 d4`EP ASAAA8Z 2@x00a@ $ a(h D $0r\ MCJ @ 4 P3$AzRA'K 0$2B`K@hA@A.B' f<(0@a}h0 >áP  D`A E 8 $4DaX` @a "C <P  (  Aᖀ$@x0|:p0a @aHPB `8P0j@iG#  9p0hacf @8h 4p` ƒ ;p<`( 8`0ha\ ?P`!5:`@ /h0@a@a `@@ @b`( P$``Pa0 08@ "(   | @0*:*d:ZjJ2Q!B,/A)gkcfb#"Z0@L||brrjz|nѼ=`>~~0HmWa$$$Dx8q.}A(69P"F ly⺞OӾ@1Gr*ː,mcR1srqrpq0cN~|$p?P}t wpsc}x0X nm7| |!QiY%54T(&F~  Hi123RS *b|`FFEvw vwvzޅ_ ~ $bTR䡃^8xCF!#'$ǀ%) 18} X@o! 0h 0}vCGլؔ"cak{oH0>QxX@7 P `?!8#B,0n ]^EKۻxK__Wྍg  ?$(+K |9?1qp  - EQT$" aDFQ{$x|z~_ aqhظxy8P@_G[[&No@!)-ִtt44Td{pp<!"+hW8}}{{x=x`Ax$t̬llt(W #=H +'W/?``Q6kuT!%7 #h 05@=鍽FEGBP0bd ,IBC|~49.lfi}wxI^@ @XBHFxg!0@8V ~)P񣧧'/GS]P< k խ˻8C>v%؄!pXP`9A> 0  ?P/DKx~:7SSWP:5?2<(;☔&+ j@cWUz pDxX('ũPͫ|fausohw_?0P8@` ˀOНW7Dʠ+PqБOޞόt5Ft N-" PP/wpZ,01C32;Op;b 88^nWX?Ilz~` P"A% p..p4 n@dž 2۱MhB)3J@$%z*t+'ʾZ܍dmrup'C[lH39Aikd.RT u4$4N ,L 6g@@р h8 vJDa[`C }XY556-(Һl }3 bmi q,>˚l8V0)ۂ"P5B~_',^e7u98Bj%u](=6i i!)|}`L: m+!|F^9h3::δ&'}1(SFFP4]M`@ދ <`|@Gq e s^щU+^*-P6h7LM } ,igA6 AYkdF$Ah.P8bAi  3}F {8`4QBm !hamFtml x2#A#X,P`BcZP \@i@A^Ӡ0ImKf2C (Ns,=2엀 A:JBl ؚ؄噡;RJ3imdxB. :UdUyp="O2t5JQn07Kt"N^-F _,$2&P1AV%xAP gcBBa #9.Fd^hxH,6^!C*`$>~I1t sq%eCTb5p6/k$P2 lC^[,\!`Uh f#b\@.40@J19 uPV" ]BLfDR Mt,;- 4uyZ::!zDq҉ Cn&FEʾTEF@@Ѐ%HbH(E AYlL1.ǘp7+b8P5 y y:\Lp0 yX` s@&bu&ɈYxJ 2#19K @# ~i:P1`@+u(L1hg,lOFf+P6`TS643,5 8PE @00-L"]Wz`HSVhhbp*?xԨؕ)񞦀cA&vÁ[gJ 6.HIb*pa`>傌 P @@RT2E6Z@X7B@8!F=E1.c-Rl u$(`DIjVI @*XIFj ](_C-k8P 14x  tA#6'SHydl;E()`aҀQ WQFJ7( rױp6e)2''A☚l%hdV*xLR`L05r.@BL +V|cCX H}\Yx SȢShd 0dHm#`j(e,05 b( Yz@uvp6 FfÄ;2&dd?JuE@'`yE0OA:NISBvv[Av{A(p/dhgil \ HRٸvw1q5147)hA ; %=D-\z[8 4p O ?p?0hhA0 Mm, <!!@104_aV)@od:fH$#O!, bK0 ` X9Uyf$P* M Ѐr((~*0V`PMPkU JiEH d`if0QfJ $@bF  mp$* AL18 M(Wc x ݀(S@ cc:aȩp?+  xp I lbYI!FH HX  $X$Lp 028Km8 P@ j!3 .P  `PB`iD9Y<%%H F@ lp4$bHe|(*P$ XBIdkZ Ta$KBY`Ĉ!n(,*I $ -J+h  @*ksvTgT<%i a0R2$$* =Bc$,u q>/9e %,)9ZM! h8%m15#9[Wy*\)8v-YV,XJ,5tl F5 T \IX$P~?oCeat9!Vrp|`FrDQxxy rqpك[k+s3|c";={4)+)X:XXY̘](HMgLwEG>ZA&Bj8/SJYptRg lX(藐 /|xԸ8c8HغXeF@AGDYFFAW@ b2"< \$(, :`}ڡ L sWa& * | D  >_kS%pNf*?Tp;@6lD4ư:!flcvhwsZz{th3``hzmik5tqoyvTqtge!nr>||+< .s`s 4yF%Q:6#WZ*rPp[$T ,MD(L@hxx4 ,> 4R@4;5=;49"<QQ11ptqw -XSZ`晩!͜E@|۹7o0r|Jvy{rtZypq:s~|pwMss}ZsGwp* aA#Wo@?7 !20:+~9~z~8>kt|9||"|(Gu`;txyFxBx۸l-EĵIŹA>1ÑM͉l,c,{LwL.d`cw;գ@ M!5U), 8:)3I|HHY,GFtKDNpIύ^ۉ3Yyތ>*j،/ 7 *"Ia L | D  :_kS%pNf*?Tp;@6lD4ưlcvhwsZz{th3``hzmik5tqoyvTqtge!nr>||+< .s`s 4yF%Q:6#WZ*rPp[$T ,MD(L@hxx4 ,> 4R@4;5=;49"<QQ11ptqw -XSZ`晩!͜E@|]]}}Cpt sܝi!O\"w4ww Ώl_O}~ |{}[~~0@Wwԏ_8<I$m`b`V_0t Â@@AQB?AFN~!X˂STQQQe!ч!ɏu];: (q$,$[dd̡d2!o@+G7ELMoH3ѝɎُeEl[+)[)4=G":y*N`-z. %=j<1@a? B>8 #R?PxydbH(|r(LHώ (~H(?cР? xb?Bi<8S(@@R(< x0}? t*D!  E#" *%'( _( %TA  $`PJRX8p` T#b Rh4uAZ,@?9L,z=E!X7 01@#& P`h < |?0@D 0( DCD`|q C`%h yr0C!XyD*FL< }``ǘL`5 <<f(0+&!>e%; ;qr"B4A 0$!1@ ( !y<_ ! p:dƅ BAE""@W)P8)(d@ 0$hy  ?@B)H Hp`b? `x | `%> `H?(H Zhg L0;00d/D LP4 I@0 d00X&( <AP4:P G"A@0f 0 KP@AP/  1b`P8@ 29L ~?l@AC(FBC|KoP "pd B@@`o*(q5P10 |: F@`xJ)*B  a _ 0  }AT J ŃɀH8 #F"`$ HĐ` P> <~>86{? ޅP`bàP9P) 0?̐y: G*`IB@@(! $"AH E` *@,`/@`x | `%> `HX0PBj_ x%! I(`"` ` L0 x CB U  5#R( ;!@@)` d`)y&P 0k`ǧ 29L ~?l`!̊k=pG 1{_6 ʫ0=kWkCp;`^@/M0* xkaZW )A.eCjnFJG:@ڶBf}qPքBh:[ 9M0g 80)!hȁx_RB! S)B!/KyZqXx'1/J"s NƃE o0;>_ 숸 $ r <AHA8@Ё#8yHB`: %D448>0pETsO(X" 9BFƢ;e"MrfZ],03Ƥ2}R f&ԕTO*<H d@*X ( A 0 8h @O<#Ȃ<#Hx:T@#J  :hqye|E$J2AY ^@ R(^UXRV*+P H @M . `V%P67  xp+8`x-Hb0/BЁ-p " D,Ea@ @ @ 8XP9i$:0X=T-, +_@"Ax Q E!! DJ R@2I  t0@`$@- jW 3 @ A|@X@̀ @`UAr AA@@̀ ݀ pq 0`y \`u:-OF"# 8 !8RǀpP" @`q wx Nz f@(9W`%~ 0(P2ID@00lW`` \IJ%Z?4@+ 0x  B2H03| 07 `A@B@f n!4(AP.ɀ}$@@  P7 <s 030  0M ((N& B5>e0 BmP`(`4@)X&2-+_@uL  G80^ B ?B   @AF@%8A@! AQ(A0!遜 Oh% ?-!7#3 +;'4<0@sT-SEPҒ+l ҙ`0ƀ ML6J I7p>R↻A]QPeYXQ'.vbTȠ;@`* "U@Pj՘P&rAvw66k@w\] JF)8\Xؙ.e@?qUgkL07,*-fP2bиˉ~ -̈Y* ]ʊ] N԰ځx ; P m]4El5 @)q%g"U]it),`WKh@xox-H@p@I, +FCEh #,ΐ10UZhM1AF@Plw ix)Qhe|$q iW#?aġС 8t/0%J4RAp4`MP<@nPu 0U*L6(42"'C Ppl`bIT bM80 !h`h 6S>*P[#1B7Np=ɆƄu&A)S+9 b<ݡNE3WpBp0 Ch˘˄(I0-jlP   @P7l!Y+@yi\ic'W"4uII$e܂ Hɖ P2dnm`IH8Φ-ؐm@үch 2t%`@`{ V+.1򔀃F,LP>1. < E8AjAbHP5ԠauHS*{C!!, \a(&UHt(`^0>`#F5dHNHp' Ic@px$p8=H9_c'2N$>x=he f8A @H@T( =#(0 <~@9:B @d#P(H* B! !H PA PP8 $  @ aA$AH\ A @?AHP = =>F#Oi|JVh ( a?p0yA) aPl`0 B u G ,0* p?((j ATL HH0r A BP4Qj,qB hBAHFD A #F<E>C_/~~ <Is 4KB=?S< &@b PPAHzCP)!Aa~TxUZ(p}0-0` 8L<p6 )g!D@$a*F<"(Y;#8P@c ( xe@1 #j3Db@' *~@ R|~d@PoE$ AB)H @*(L( Aߟ`(?P `) |Px¡G}PgX B GH!/:!R~e( L@)PI( bF0 Rh`) F#Œ0? Hi > pǫ"A`HPR( F PU "'@AJ/[R1AA@ y`AP` aj 0Ҁ`aъ=f@KO  P,1BȨ@* PXaP"/) THB HO<${?_pxFH   <>B(T0?pl1x*@+"D>&@aa4NO~QxaO.A@aBH(p<GRHb̸`(0HZ 8 (_ {  ÁP(8@R(NPC20hsA1@ G D瓁0wly@dbGR (@4f AKˑ "%P24` P$(7?fL \',P4 !``PHH@@ jx 0$h! ax0 L08B2cB?vG@ PR"8@@P@' 3x)R>O@A-$@`g hHD!0 E` *ACE2@( }H(Fp@lOPxP2P" I(@& &>χhQ(@$R P$P B!$ɆA@`x !(|O!|X, R1Ij8P1@ aD 0P4#gV78KI$CH$ C薓 |"HABR82DR,iH!7 '$H Lp ME>O'"^3I!E$ >`m0AC7 <@8@;ÁEwpS J>!Pp0&iLW< HPL FG@BP!DPP  K  R>P06TA _#QcD@H`J0P8)\_/`=/>ϗHP1tPL>@@sYA) FEG8hp Lx `_*B+Ԁ`PB( '_00 #MI"0)LAH$18<p8C$cr|/H D@1 r`C LP<PH$ is"x  N}yV B An|01Р  *H"`B@bP0@ BB@((((` %" pF<E?HP = =>F#Oi|JVhd `n@a?@x2`Qp0#At !,(hE0>A@P ~0 D IA"@H (Q <‹Qd3B@ JB2$`B @Y0/P xO| >@@l>xO|I(H**+a@RTPXx򀟀U"<V #fG L6@Lj1a(͂|!@daOiD~B|"D@P0 d<"(Y;+ L0yP`(  PC/ P)QB#9<WuB% x) ) JAPD`)@P$ | $*T(& PBX B GH!/:!R~ 0?|H10 A&(3 ` JHр5 0-#<fx##0|Fߏp>8| _Њ( "B)H@((X1@`aT"~8'@:  B@~ #b=|pɀ( 0`M( @J Ռ#`C?{̀<3XbPUH@ D+0_PN$R ~?P0xH)@P}KE  9aQ緃 @xIc~8)Q  @H@x}P`~cTWE| ( Li - >1@Ɵ\„Py ) 0 ޑApP`5Y?Yq2?j1P <1@48p0p 0$˜!@ ("D<xQB>`L: PE"b߯{*@py B0R ``) P,80*A1)4@P >'`>g 7-/@ f$7 01@#& P<CA R1p`GQPK@(8 !!@(d #ゐ` (@4f Aˑ9Z@`@!Q, /F`@# p y{8S |B 1@dG@L(:@Ȉ C 0$!1@ ( 2Q _FLhP$8E "#T Dܯ R R0PȀ*`IB@@(! $"AH E` *@,`/@`x | `%> `HX0PBj_ x%! I(`"` ` L0 x CB U  5#R( ;!@@)` d`)y&P 0k`ǧ 29L ~?l`!̊k=pG#@x1`4HD$!@k $ %AĀQX <@!1$8hXp( `|Lb=CG?0a?h1A( 07p  x0dx b  p4CF0rP#bƒ@PpaX ( aV1T?GD6 $ w9Si;$0 e+0I0 %6O1$ ?>!> 1..8OW"04"=4+ `q8#|=}^Ò?/.ߜ#a$\0Oqpao1`A @O߁qP>Р {ECsE-~Ca~C\߀PUaNNJ!Ac@ A 8OpF<41OӻN]?A5>>B#A~<<ĵD}y }r I&0/_O0huT퇘!ow2" {_b(9@h0@@ `߰X_H$z*BB{~+9  `0p/ @Hu@€|AB|~}CCX?p?p?p?p?p?p?p?p?p?p?p?p?p?p?pvU#-?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?p?pwV7dg?p?B~ ,>8,@BG X?_ !_!AP88|8| (9 |T.4X:?`~BАKE {M&€@ХE!H- Q@E6 .( qpm? <%͐!A )pxп)5 8AEx0U'1B2$hRo/?P z 84 ?cB^d4 uH ì S:494DPLJA* (?D@JH⢂ P(e9ùQA81%@ vpI*x2(BA! o %AWEh_xWk*`p@ p@ RhXJ!FQ  JA!tPT/|,,X.AH? 4t JE HILq[@~A_~a( /E^<O( %(?@D6V_? A B4@_p u1?p b@@)F+J@5_|  # I´U ~tx~@!Al!*:H gݳ("b)s?t rǟF@ feBԢ18"A蠼$’d <0A9| >E4ap*>!pa(_ 2@ql?P|!?AB@0(>C;1W8  7byX2DA `y 8(P|?#00@q 'pS <Pbq@4xAùC,Py4@ 8+10}Pa#Y0k G@xaAlL@<Ʌ[G P) P) @P Ɋ#PxlP/ `xlp Fa`оF@`@p8@#|`{`Ȥ1R?T(("? #b1H|P8ø1S #p1A "? ]H<?R2>xhG@pFpm€@NA  Ѹ> @!OÐvШ} xra@ zY\/Q!)F08z-E Y#V(A\!-x!G( D@J% .9"%рH;@Po!(&^ya0,< AG At\P5 ph( C%0%!0@T ) d1@f` q !@ DAT Fr/HxZB Cؒ Z<c8 K1E0x'I{ -A8 6@$d(FYxxj @ !@^ ,(PpL8L3sO& <E/(H`vOsp 8@ c VB  `!L5 {Z+*(0\pb~H (W @Pb<< 7 84|?C<@l|dxhAb1 b!O(dE Z<( 8@P4J @$< #@R1 # R6 #X8p Q Q@p?h@ r~! @b,ċ,>$<@8 ( B @\j/ДPuB@s8 $BB`EXjǑ@ hP8@CH ѪKU~5'!|_Ȱy:< b"ӑKyXL"> 0yh_C H4~7pd0B\%d57c>B YA@~( |[R_( zP8 uH) EW$@v (8P((J⢃,1PD@R88Ȁsr4[ a GP8 1AG0<"@ːEIbQBdZC@ m7DRp@D:Ev(D1A02Q-[;A!dDʏ@m'O?-L؊3P@7?@d )п;⶗m @ཊeb> b  *(RHCS `Oϟ00 D A@(^gP$PZ J#?p@(-d?=Bad_%(3 "ABNS-D){~/EP}\v( 0~(|axGF~(P8 U(6@|xҀ?@0)M!pA ?@PP?=OPp4(D D&h pA@@=D"@RH@z@ "O9L,R@ְ $!K >ɆA@`x !(|O y>,AC<, R1I`8P1A1}9xh0@* @`!  ~GWY(URG@q@` ) @}yb@„R>F$ BH"`$JAѹ8) @R`P4)y=,YF'=N N0-9 d1Fi p1@sr>߀} 0 8PPJ@(+00a0Y<P" @f {P0@DP`T{ /(TB   B * (}`l )@A"FhUA`6pS^'8{>_8!}/b@`|@0R& q @(0T( W*P1&O "Ba`((G D`R`0i^ljp0b~_q C?04PTP$ !P@( C ) 3y\ݐ`f "(?p?{` $P4l`| CH>̪h@jmln@ <@4P, Rtp(@ "7"0 `@ Q `    A@`  0x 4 d0AT180@ `%( C h0@`%0526|1Q @@j_'[  u@- Pz @P8`AA(`5`a C (p0``AA aR|  @]SPo  !Up 09040 `A  0p0B<@`` PB\0@o  `@0(`  h0`Pa ( 00`E_ 0P_Y@!A. 6 (0P)@\  40(0`a  A(T@  7  0Q! X  7`@ eC| ! (00``! ``0`| x@@ Hok`kAA(0`!  p0`aX 8!_A 05$A!P` l0(0`EP`a , @ $ H1AU07 J@L 0o@_/`}?>p?  Oh=11>.pH~!/I vw6;zGHߞ޻[ JҦ: /ܖn:$*$->8 E!L56 %SeT}L6hpUGpÞPvv2Re~)'? +0Imr338%$Kx)3%,=%e.GOY1Ox)`laj*BPn.MnAGgsK`p~rKVIe.o<mof4mgj8 uF9MU 8`rKۯxՌDW:^/jcG+2|_@v6|&V[ i镛 %f& %)1:-T0`-K(QSZ8Vj{y;=j+adV3!%IPOַbrHI ?LmO$Ƌv9;}M!Ev0[$G<= )|5/? >#%3=7-3%+%7'2 &+ )dGgo ǭ./nPq`ގLR|ntz|4dڻnH b.οmbdmS?oϮ]}1 ><۾ƠE|?:9#*93<*8Ž3եxJ"t|*JՙDL2* _Ý,|Jõ\Z2|rzZLzActbO)X(/WG{fHBFnc媩[@;._z=' #  :Ip|O POw~0@n.#r `})+{} B%\d00g@AF2mp|^0R:1˷d,Tۗ߈xTT`OhtDLiЈ(H?/P#@aA>n_Ԥ Ol<,81!N*իwPJdwGOl A~k=  _!0odR*h01T'x #NL1@2 `@ҕ`?$ #F&10cQ(!]LDFHcGpHHp?wRZ|x~64 z}~ S#<-kHœAC~?>A@X"bDş pXxxH /Ƿ8pxʐj@C Pz~~&πtTH_ȑY{L\ 50) D2L,& 72({{x)L`D$8adxw;&Q5ǐZ d!%߂rf, B/97v 0%4- 4*с__$& r_ 0`$aW^ $L(|)peí #jNImK[s9|` ~ੌ, FCo^H)$@Д\MFР/EL5@ʾ>)'(^y{p=]O_¢:ZRW纮0k7x( ~0dA\mtxW li| 0(Hb|~l0(ǃL 5`$Bdc#@\_Y9>ã cIЃPI_9 3 <5OJl`gM zz HOՕx‹0(e LS40i55% 8ay$cF 0(#'%$ Äy?; FN  wt`"|<\X  qf?`ɍ5q q^.N/! ¤рjA M1qppP >o)uutz M (5S=J`P1FR쀵00 ԓ ٗ@A@F i|@`02 x)2E  .ഃ(bLyQ`!?_ C` i騄@Y .0 IC$QL X L1ajJLZaxX(bL=>(”)1Y|!$詋( < )` i@# | TbL@VaLWЦ%t`p<44-t~F y:.1S( L%F  i2(I @`10t0L@rgH005@ -(f硁LD5Gp@,0(Ĕ@E L 0p8bCL Ҍ߂xP@J0e` p`@AY(”(`=T`yLҌ)@0Ck To0H^P  Q Ƞ ~v@( (@% BD8h`R=H  @@~рQ ֣FXH;18?WzvѨ{}pFM­Ax=  x ~OTa ]^#C}^.YT@>=>""FG@x|>k`%|F;ZSyY̺ec\h>-QL=!}~LnfS^蜄e{ZB[Bag<k[aqG])PE'$4xg`7Ϩğ`p+7'ݻO*ؿ+#Ȉ }?Pxn?_hoY97$gu'X__Y`@&Aƒ=g&BAk;&[dSظDC>#?Y|`'<:>E :ߘ? ^i Jq#(v>? >~a҂| @@( acό{?ȰPH@T~0VbA#iA&9 `0q@tp?ah4`X@ 0 A"@  Q!p3 , $&@(EA (\ `0@P0/^F0 94@XО1a)/ ,B'CB1  !Ö%0HB0p@ #\ 8xR)D=|{~˗ "`,x?`k%xT#z#(s0(/(aP.! ÈN ($+0 ??@HP><@`( x#LHs2> @b `!aP.$.eCwH \1r @AI.2p܀+t``AV@+ !@R8E u    R<B`@RBG-  'KX(Xx~  P@AQ@aln qy~    P0!@g$(9bx`q'@LMEE@p >]^'-! BP4 D@ c/RP( @EaP0 BBQ@Hr$( 2 @ " 0(X00 B0(hP$ A@R@P(~BKAA@JP4 A@x   8AP(8?B 8PEP(  @P0x (  @`p! @~9@x`(@AO@cFA;@ FAA 2Pb"~q@ a``Abm3ZA!P( P(F @  (8A>p@pE1 pHP:@/H?8$!@`a@bו<$#xP8P@ÀN @P8, Il# 8> ?N\0//8H ?$5K$O??/8' $ !P@N 0@ Q<<p?.` ("=?!V> ?9P\0C PA<\A @( :p8ho F EEC@(m!9ER`p52 &4 Rr cn5q ZM@ <x0(k@#1<P0Pf01H a#ǎ`AAE L( ($18P]BÜ0( ` w ( . Y8@$a R(6@aØd ,p;ˀP1 ?. \@8~ ( 3?0U  2E  h'R^D PaA 1Ip P@ADj ZC (3`pZh0rx jpO Cdo HLH?Sc(3hP",Ĩ0 N>A|(?hiǾ?#)_:+ _h0iiDWA`@ (h0?jt<< ơ@όAB q( 8"t(0y/ 8  ` ; ƒ (0 AA `f  4U|AaR0; p8,}``( PT& &X?8wGGGA}@h?sPCpP8?8D@`Ez80>XA p0?߇`„@ܮ>P14!~0 ?8 @ĨX|s#_0< (`x epYzSE?`` $ o7 H0|0(0[@A c !! )GRh3PN`|a@h0 , '_s$b0id4Uy@yYK"R"7#^a  ; @9kA!pP$5P%"hP?AH >pg;AOAv'"@@8AA>( H,@? ?P<0 @0X("8 ǃ>AKT~1 !~JD F@AAмL h ]b( bA@BzD!! fq0 `@` ~ p9)H@d2dA |Gs;NO:94' Xx K'E"K瀐;GP/y8W .  CφY`20 !a 0: 1`@`т‘O<owu ‘Ea@ B<@o`,LaP  xEN r E$ yP6x8(B0, ^P<<0 P- @a``( ˀ^ ](rl20rl40l5cu@grb:w`,"T ~  ; B@oP`HH( dHP.H,8|"Y f K@|R> \1w _#~H |0w 2@``Db7 B!P?HACp)ςaWT(:zばW P./$T1A8$" PPv !BMxE !@f "@?`+P2P:B 0>P1@xh ^`f@a|e|P#s:C PbJj P:&@oU(8P?a? ~$ p>P(?9EAhP?`A x bp P "h]d3A8)_   .  j BN)Gbp!pb| ✏P @R@ @XxP@A?B@b  tA_@<H@ @Ap?O1@l( H(>H>@8ba(9@`CLj@@p# #yP8T04  "?ERQ@p``At0(`aEq(

A-ACY99{Y  P(/ILRp3`^ 4@ˊ( E @x/QBPmE @ (707- e@8r> #c`P*@O `c``B@P(@@`A@B @ˊ! @\$8 :@D AB!@mN`bA@pD@` @~(p1B_BA._``(. 4* 3/ˀ]$\@`` ( 0A@ @UvIx w49# ) (C#(1p2p(00@(01 "JK?@`(qd07fRF( >8E$0Chi 0"x&`b8= v4P2(Y` (,IqA L ( *@D@f #OA h08 0̙E YiT D0(0a  sP`l0a}8p@ ̌<=(7d(A>0H; &<e```@ 8́@|RɃ 1 0 Vwԟ=R1P41>%/ (  h_ !00g9xmf?>`(0,  F0Y 3<#, p3o3ր@y@?P0592;'@@--" Q$tA` {R? *Dpp? z@ȄlA/s"`xdbbq2B zxx $bC1= |AL?#AB,020wp. H:: AH @9 8 `AD>}? r!! ЁA!0Y8LAb) _s/@A P\ E+@^ !@n 0@ 9P b|9h\"X`h# A(@@DA0 00;Bi<(z@a('# GrÏB?@l9H = BR~ !!@P6.eC 7 G`Rp5$\@8` # #|U G!XFxeaP8x*p S0( YzAn#@8> @F <?B@AAP/# 0@@</$P(`09 |`|@!@prA@#z @$|3︐  (5*@8A2A@ x/Đ({ / TO h0/ \H$Ã=b," b c=o,# @hB`A@8q5Q@`bX   $_@HHP"AEL@(+@ " .@ )  b AAAr瀠H0@ 07  *)._p K( LAP$, ?d0  >P@(@(~@ހ"?( b@E*|Z{'P1 | @;P` 1'@]PBr?=RzA@//V "cNL08 @P/'H88 /~p1Sl$j <@{7)`%bxK@^?@ ( 'bL?# x4x   [|eȊp"Ѡ AY P4EEG 8`bp:@6:P=2-uQBP8;p3.x OI|0 12B@~H 8\0P0((1(4EE =02RL(RZ( [Q@`{,(x Z)/P03 V꿀 j<|P0TՐ1&`)ţxb Qpf02 DSP<GV GpX K( 8 +AAP8p6 (@  *Pk P$ HI P6Q!:C $A02B B2]h'@`ep H #CP 2 BYCLzH  aP8)!/Bx?w?C09d8 X?W 01 p`A?@p`bxĜp1@C$@v$d8p O $5q rs΂ ( ;p:=8b;>?@|0'?D0X=<y0Q8p9>|801 P4w7v1y [_:S򰲀^'"U#f} jW$ 4 #<~ȩa8Y('!^*>zFzN!vab1*- Å  J`.W8!3WpPGϻG;ή2W+|L_@PF${݅Y-h3{rrD ddϔkiI oߠ8j `B. G71ҍ#ř֖ۤ=n]<8`5:?XĒ;?< <#S/e~.{B(仙1('0'?I`Ș_7[/~wV'ZW/I5O.AAo/] uOנq$~!!?Iǁ_7&:/Aytqt碡t΋F,'˃,0h:rwhisڶݭݑ΁p:\>]+?lᱠ#N{lfwoxg}pחg8"_OD蜂~>o֗OvVv~=>U`[cD2$HEP(@[csLmMۧR=:p6@"NN^!"thkQ>F"TTx8rHA=n_=.m,oo?Àwd67{cfCCG(<4%8߾n+<Q$g%M }\ qjmmus{b Gؘ7H4(` H?@G/3[;Ow{\bdf?p?p?pHa@pA@B00l >   (p8@m ,P@@ 4P€A>8 !JM0c H1@p VUi aTv"J6*(@ p AP"1$R*@8J!TFEQ|V)q@xA>UC‚AP"-aQT PA+B-Տ\_T}q@h#"!85(H 8 G$8T@ P8AP5*8A` T ʀ 8@3P*LH5JDe/(2/0 }A`Hp|(``A&0h  !{$_ H0V)`- A" 퀀0<@00 J@& (R`a@< TCE(: @eUЀRP00 B<  ֨SCK@$8Ph:ANTV1f6X`aQ *@J +T hB5TiAf8Aǯ_?E:*2S GV R@@)@1É* QPA@ R$3Āp 0 뺐uG(UfJ|AEL\ )EG RpDq@PH4xwzƃZCcT8> DC"`֤E4Q@<@p:p0w RbDb*"EB€CJ`t@8!((Á܁@ ( UDURƀ(PR @( QDU* P h  ," $Ppe%{| 0mDdOfB<)A\!A@8@Ab)9x,; ,8w RP@2@,0p!X`a |4`q@n`P.1@@FS!@ ( Rƒa~i%BpH!- )9P6p#B#B a%@0KP02$ 9HA( }.@@'qABP>P61 V@B iC@@/ჀP@x ?ABC ( '  MA#LT! *0#00c` 3<l@ (3 B J0-ApA1!X 8lPA$5heC$ >AH|H s= @R$ À@zs%?@(@  `@% p=;# R@(`?I@@at" 3B@Rg)0p8Op ,p90# L>L@& 2 "ăXF@(Ph1@p~O*xς@82K z@@@lP@͂@ ', > h(߂@W)PPe @ k @( h( 0)@vBȘH4@p( pHB$-]! ( p P0 BI@ԡ@ewD # @4 (j|@ѭ# P$Q%bF,HP$$ DP>?L r(8: P? b|?H( (_ @4h?x D( 1DH"A Fɂ 'PH:h|Ȁ "ȘIT? 6@``AG (?C K%(  DHa7P,0 )x<|0(1P B#`ā@ ` ( `B( p h$'P"0PH()IHQ "><@AT"1)P>T@񇞉P(H V'0AP( .L$' d2@ qFLpGB{`Ќ&NRrߤRs!@R?@ H$~ 0a"?Y?BJK@A_@fS)"b$a($ L$S~2)*<'  PP C!"@B @g~Ā7p<gBAj` C6c @ X(  P @H(EpEAP8`(T  Äap3@P(r@P81&"h~Bv@  A`E `"<7  r8(01?. AM~-0@?T 8q +0  p4 6lA @@z @@( bFP>=Oo栅G7}{p}!R PI@P7sswx~ @!_߀7{{t} /` AJA+w|~@O@ `T- ;8$ 80 @ BPA@0?p_ @B~/@!A?,  ? `@J%_A03 <1`<B@ _^``_A 4_X /@?> A~%AA ^( (hC(|Ă!~/^AD (%W( P8!P 00 _ 1` (P?` >6`JxP~D(!_@ Q |  0RB+~??8 /x? 0p>>A_Dπ( A@ho@ (~ 88b_Pp  Z= ?p@<@` OAP0o( ?  a@*= 0a @?? ~8 P7ؿ7  H0A/ @BD_ 0``@  P pA>¤ @x??ƏN @E .XҡO۠ 0n^)lj(-e0?I#~A@H V (&7;JJݰ?5@dtc&a2tq1GCPTCx{4!B i!AAQ=ͳ?ఄ2^Nf&&?xFH@t<X8QJJ`TO{'k{3k[)aV Tgݹڜ°ĺԌұpC!`⑑SBM oAoO_o EUsx?u0q Y$'#JJOC ~{r}wtvw7q:c /U'Z]Q;c=68(,* .*.&(;P~y-o/En(.+voČxHF| ?JH^^=P rPh8Dd0_ Ӹ-fZޝ^\==|C ,-5-#3*8B?gUp9e`HcQPRc!C_coo/A)8v! ce8  DhbzpĔ"Bt\dDH @x }.}tru}zr|tw}Oy*QG  6  K1,8yo||}R ~! A@CW[B1zy7 jP _RP_B?Bç.'9_A2ʀB5{}? {N ]I *!I|`@ 0蘨X ߟ]U>??vE<<XhphJo# aR /_WOϟŅno@: "^}? Ԉx, <\Rdd$hXXp\?Cƅߜ\n^\]ݾ|ÝEQ69" :Prԧ!;\޽<}4\h1HHY}=,BvD@ cw2eg۫NzB3% -te6tx iE @C3 hzy~9Y|T𥪙5#(H0Pa__\ ||~0)I\~^ vP`F! AGb"*A_x1'1 4cn/bB(/zK +K?>N/qW <R̀lP10fȗ`}wR?@ <. 4 1V,No'0%-P:@ @w *D1}{ -3m 2*66:* ;%` _Y+۫<>~IPQ1ɉ q0Б`JfY//FгD]oDL1e<<>?Kt)@ ob1[hۣS2%a#HDT#@7"a  p2ɻ?vZRN4(Xx#А pWUW \W.[a/YfQdx˹PC!!L$]?|2v\|+ " 0H!@#D)Z,UU7,_2]B7.Trj|w ]f NCd:]BT*}XE:%АcȤ!0an 7 }1VE\:zEj`B@@р5K0P2c2}}}@` 9)JՀ 4+8#@[PlŐ8 0@ { (EZ  _ pPPWO?@ DH<\`?Q!$~ڐ@wDAA|DU 8)e$$**"( - 9PP~..no~q}sr  ~{{~ TxPo볳ϿD8dX@8D4@`QkJ%' ! *M w<0; ӧ<|<\ )1!>.68$xX(p0A;=1:`xp 1;:zE!34/< v.cM@@O@`dnd~=\\n`AqѢH?:q{x KB*!%)&(%Axv>?23'>܀abb "B"P' !B@3~ߞL3:[&  MNɩs P 0XDDX>oVfF*fV@289؏ 8 hȈ0 _!@g;8 #;74_Yup{ϿhD0u#;7? '3!8 ~6&f.an@M5ed &?O 2bBP(p ,]Zh@ EAx4 >>^.6 |T(_ၾp? ؄dT L`ffbf?G+ ,쀘{kch /,]>,|RjzvNnn.vFjb,POǯ(D|~t $c!}Zy"|\lLS?~?< FNg$0/4|Cy򂆁 mv|hyB,8 U ~_uqvrtpv ͭz/ H8 faeabg!By?.l\<"ДBE 10} `p@?Ϸ owh`l_  _Ɠi 21$@~8\_@S|@_ w0Q??4 &.=>@jJAMGN@^~40=?.x$D̶voKP^o.N @`<l" ',? `#00PPa A'}|}2}?G  ,'zw18 @0A  `IH~@E( K@A^Ie0qI % 9X^&.l\=L l(6y_p2@O ^^_i0{Bѐ!wf&F>=?<~@yFGJd0@+P:DBDf9ooGt>ῠ0!:@r-pF&fW6/n>~@ `AAH C2l 0(`pBGmr@ l0@ZKo^H(hXؤp B0H5 Pb k:=XY@uswhC( A];(6 Cp`D@A@ `T7= q 489] m0@l||x:7i64ϟdYvY@ P @[@r^{ <ԕ_U}=]m,.LCL7dA0 F$V h 0@Άӌ@/~?_^ln3 )5=;<`Ysx@06`d@B  dD#x}?o%-0?\3 < p<Pw ?@0}4,}>?k 9ٙٹw讬m@F<#( (#@(H4 (x0?`nр/|~@T +gW7 2(BO|X`x<#0" AFDGyz9sY^[GEյͭ@`P0pH((X8xxD$$dR1 aaaq ..6&* <,4$9oxhUafzGWwfee)A^;KNw%&FZLn?:DWX VwO;L?W8PQI'g[no6;0.:+iuؐބuUG˺K@x9~7UXA Ǔ +r@>';{`Ď,a8sj.DX3 ƍǏZN鹣 ǝF$WLpXb::mN.U9hYcE4D돍J\^[@Rk"d!@%gl|f}VFKN128$ dr;vwqe9'zV[;.IDIإ4~k zޮN8o)DN-XR2|w65w#Pd$OdzSW"ԟ}tbh!QMm>ޞ%}_G 69?>fqGR )%nEoJ -;156a]P+<( YSx=7# u{TywH`m>s3J1@5vϬn,m`Sbm 0ʋ.4ϭ3 yB%A>>%e9'8Gh<'1/= /ox8 h7Û n@pIs-O-l}"BPqQcDM hdfem}yxz{o0g:PJeT\tBL/X( uvEMD/΂58)` {sIKB#B7@U`'==?%#?Yh $p~Ep}eui\?~x|zMx _"M.nz==?@0 .Vjlέ_>F&\̔Xv  gzQ;3><K,Q" HT$F-/nž~ 0Y898H0^/a()) ;;318(8$ q+ +;g` ̬;lL4Ĩ`W <֖WwO'KD@Eᾲ~Y 12WD7Vw@H<}F&bbe#NOC3OHMFK kk+'Wd>Pa4NvwVֶ| JLE vaWlm4: :d@Nom_y )iho4B}cgxAAMMEB=XIlnnc^?~AaK' pw{p O T\TX `mmow运 B2J 2R@vvϻ<}€0%(?XaP @K"B!*pB{wh xLR2Sn&/ @ bRb!N"0X*X@.@G</y {G%1G4xP`<Gp C?栗D(@H=( _%8><j(|  _3z x\@ \<\"A$ 0g7$"0 \B nHܟpqBx@'?p`@DO/(  C$A@NN΀B0 =?>?@Pdt,L3xP6q{t}: | A(P0 4~BtCnC \^I"x$0PB˃0@`` !(˫ǓE|(=u}w||5QPHB 8 0~!~h0`('4BF ~A 4_% P  '/H ` @@﯀#Ĝs~(<,,.u:ZXnh G K+;VO@1Iɹi 0ZQ_WIU[GT^X^YF\|l<(rD$PHP__?8z{}~ystt=:gEmw`d˅7?]1q()yx$啕 ̜m]\}B<9Y 0q33q3OW[@DB@WBJND\ALRRTLLWHC^8HxȰh`` ~>>?A@ ``А+  ~zu0ph 4 $)a6ٍ=DaBkt& "244",0#??^^^ovW'1-094?52579;=C[`hT4 |Bb|\* XRv !BLBI s}r}<83]WPXN¼Ⲣƚɸl\]\>}CB"bSS1sp I˪+*jJXzFjrJBlt@`?/O7KkKɩtF#6=5922PZ^Z.&/,̒@!qcsB&f7v˫+ˋGn=?>;}p|vrqu{xc0 Q0*x0ĭJKFD">)Q^aQan~vP{3002ӑFFf̴F´DdĢ())J:PQQa ,$ (04!    "h`Hp`Pװr鷧WTw^K s3ӓG  (48??01<44;962866>24692>:>35>701OKm>|! act9 = -=#<Y899F qcbgcbeggbdafeadbfe!&&GE BEt!@ip &be~WL//;%@Mec}uct :cg; ȵLJcP  4 G9`;]||b<"B|\`xi!+^{CXdh|~@ɬ |( &G(۠ 1<$$ <1 tГ0 XX!pф mKL @Iഅ&rvv|dR N^6%\ 5zzx{0"`?O--*ePP#rjZ /ELPP PNz 1S TBK,,K% ux`V5 .\\?>??I>_~A`#" AtECB&/`V&`$@ALLl#f TBz \0'/燛˛| * mlnml<:9=?8.|z~yyy=- @" "222""<:l 6Eˣ`bfLjYw,HJ$ F H+-h Ƞ(_`X -6̎,3h ` @X@ B`@(\ 8 c:44 HC@b ,a&L; h# jS`RWg LD!@Fh)[@ x X 0.(9@ !  PЄBp0ApDa! !@@A!@ |> |!^D Sx|x*@Ax8& <x0, YW'[k#LM ijn Z;z,ּ"eg`g"Ƈ|?\fk3cƅ|xz}~C$bVQUVTS灃5)>2<48??FFߪ޾>- @Q":z'6^! Iȩ(HV'ϐ%|eW;Go}8P~~ PHiD%de$ŅiȈpea ~|p{=>QPʲp>>&$|" :((8#: 1hٹDD8Y)H *^l-z ںFgo^~@01Pa xz;6uǣ죃~?оM)f莃Cy^:TXvB#Sаp bg$!BAwgkSC}mu\8G𪩨ni$Oή]<}ACACܜ}d\@N92sʣaj!HI8X8!v195=#+9<\l" q}1mw֖&Ɔ:ۚ.ĮNjd,oi^8|>G x ,f@_ՊbduiNBKB2&.)%- <880P3'u|0@ݠ/+. vlvest.k;_H2a: kE$ob`b#DCA L,l<1M=#3+;+3=->< <0><>]mol]!HX#JzlabVN DKbbccb4 )fF:j |lp`߯W+s2k@Z6=0vq}s{{su~rx{mߤZqcw@;_/Lm=҉h[Xi(KPGDxXh0@/pS~PF-m6=;;?;9:88~172"=>+>< 0"$F JXAThp@׀Pgkp2Ab  rCݐz7`XLN^2+˧h bVƺtTD""&&/T44Ԡ}i1>& "4?5TWTީdbfaiuckgl},zMkO?o[Un,_ÅɕZ!3S#]uEIavfzjJ2u` ( ` Ã=]m.Ϗw46ԣܠ^QT_α,` AmӐxL"nޞDWs;`x"J:F&ZR|x50F#z~~1G`?: 0/́tM/jhˈz=jIKO_OXJ2GF:*cP@a#忟/{+sM uP*+T:#f+k[$_N!oln)O p= baYU-]mue9pq5oxؘ }?8?LꪢUE[ں{oܼCX8:ZHl΍n_}3J+ihi)I sSK? ~ b#x~8>\]ijn57z _\n_ hyՌmE.7GFW^ɘUT *(+@UP8F@E?^nΎv7gW[WW_Pˇ(T"z@[ c͍kb13{2%VQYYIAVJ\X_ Y))?ð!C=\o-Mjjj 548;>|F eQ357Ud&y;Z^ؿA b' WAj@ L@𰐠1|=><075KKQ}_ǠON-,?p ZE[_@MJWrxhlvmdBZFVFJX‚| T %DQ ?˓퍕x #;g`jFEKWWSILCybhpxjyofBbRb"<\`5T Pe`a"#!@? {[ DH.C8X8xB'STU`E~?^\?@$b>N\LtHAoKJJJ*r 'OM%M'kk$$NMs8TVTX[QdD%f+ωXMaJBxx\h?)T=\,Ux(J3RJG(egijg%K9TZR9x H(mo sui. Uѱ9c BjN姄~o.)O ,{B6r24֗GUi8œ,1]'/gKc]dW͉pzGǥw-^~#:{@^CuaQ!3*n@U#mZMds-!9/!yg0Zv lxw5yIIdu,͵.*2uI ;@ ܴgK#@VL.iGƦgwOQ8y-O?~zblbva}z 7o|E ;' =?"'XD"xY/<#`Q0rrI~GW/H848ُ> ӳ+o_ 2P s`;C%aafc F,> ##??N,L,lo|4+'G|9-H<c= Rm@|ކ !> _#>&$?? X?>iNBN>"---n2?EbPWHKÂۇ_AaPq)ayE‚0j?3=Gk!ŏGCEL} @ 탋D 2*x RFz;yt S-,У͡A]>B4 k4\@5$'?rw~U}p?!@cuyx{C .x}Yyukt 218(_nVWV6vgv؂vp}+I[6ɜ"A1I@h /`P HEKĂINBO qr=poHIAFL~ 򿀃B2 rRs,>oM89o`"@~_n/@h?< @2&$~xw_<A p_7["KG{;;{g!aCl AAݝp !~C>1|Їu| 8?~~ %> }h0$q0 DK p:=8) #@@H^  Qࠏ/wG^-  c$2:8!^?@ G? p6<]н.?/st}@p (! ?0!A8XsB>~A 1Á 'g?H( CJgGϿ'(:>T* ݾB󳳣1X#}  y/nU _# hh(c@ {z]~=\?#%($}~ _ "cw _`oAY} ` +/5WK~x}?@PA`EԂ~A%Fߡ|@A$%?WWȿMWA@OF @@ $Ph8W^E(!AKyP=Kx?@}_ E(;ꃅH <>@pC 1A `BKsW`?HS8@  H7z#zo+q??A((p0 `@@@ޤ4/3o Oį>88 <aApC? x-7 ~ P@gp?o@l7@JXk@݇~p%hxO) 5{((갃`?}( 70C ԁ|A ] gOߗ(P0;( Uw  bAϥPw@`(P8A( I@@@ bX `W E/G@υo* @!=NJp80o/ pР`@B /o Pkp(!8 +6%`!.@@?A^|@ΆƟ7OP8 8| H0"PT-ٍ8,  \E +)@Pytۂ vNG@Amd~ ޚ!cCfW'kSR@fCP  03"h2 x !8@08ghsƐ'{W40"Ody S#4@P?`@aAQs5l mF,lXm@듡 2tv.PPjɽi~I 0ur7t14堢CAAh KX18ى ChV oZ< 73%FhQP!Sc!vD(6yاKBD(6808J \m,JP migH 7 A&@$1`+L  pn Ʈ6d-> \D3BW.lHlt3Z:$2u'ZӰ00mPf@.pK&`$Che}, p AgwB&<w$ 9f.!d9PwFNNfP$0:F<@^TK{sbJ<rt! ` vt2A !KgWbRf6@]L8XF*%q4?ghdƀd>id `.h*2t.`S, Ez@CNKsCsB糋 /1(T`@D( ] (,ؚ `0*AD@fD>^6Nv.{0+F F&G]lLG 8D==274DФ˝=8@ @OD=EX:z ٓL%$ZY466*SBc M-v(5q6 %@BF<Z(#3K;SPdl :[[9 AQ`<CpLHp`a ML-,ml]\ܙ=Y99XA`@&X L@!  8P9H &P=hp_G  NC@% W@ )[ AEB<" @*6@?F7@@AA/Ax "0*P? @(8  (; 0(E>݀=?>:J@S|BO*$L`|8{}O2K%@ h6z'ȄB~ pf |v8b+< XPb8,FTicS @e x1qb u y2 1]&EĆCa!nh9\HT$+A   (I8Lb`3h0QPC ܧ+H@RpAY̠ ln`1$3E50""RAV X(A@qr+R8p$+a@@< Pq2"А_(H h`ȃ 9?p?p/ ,2$HM@vo>`x@d) (dhE@@Я" %p1|P+PC2)0$ Ji/GiT@A! ^(@(0gD( xj@a9`247H"Z@@L Fa!ɶ(0>@P@P(q'!0   %y0D JX4+Dq N H8 A P6 JH8(Qۅ@ Bv!< u!<b@ `o`m@ @@() ʹ@ SFA. Yn-0%X ~,@͊@7  P @ e EXaA@1BN@T6]P0P@``0`h`AB S ?2LPU@CbY q*@ЀC'0'PB}4 BA(.,(N&~?A&D[HB`I֏N?#a X7X-D nb‚DP <X^g 0`20$@=x|F!pciD wQD@  3*|vH(r0 0 @!PP ( ` `/2 . ,@ @@@:@<@8@?#<p?inabyHx z4 L]mlx m ̀f< LNK`Pb px :A `x 8p.l<YLПh]M, =/"(#@@@AA@ف@AC 0@j x  0P|@ W 8 (8 C$0C 8 Ā  0P|@W ^ $;}$0C 8T aX  4h0@P`@@A 8X@ U$0p`QCAC 0`p`A#A @p0@0(0H`  !   x5<@ `(> a@+ ! A! @@@Pb@@ `(> a@ .@A# 8p7C( $00`0@e@@AA`8 (0 a  j@Pj 1k@00xj  "+(3qAB00h0!؅B" P!4 !@Ahx|@+  ` 8 8$(00` @   (0 a}h0@Pp `"   p0i <   (0@P`@@A+A|@+ 4Á2C 08@T aX   (0@P`@@ck8 U@ 8σ 0@c@C$ :P`2 0P` |@ B,PB@@(A_8!BC $C @ |LAT@#/ >80? *6C/0``C EC4p00Xf  $d0 `" AC!0@h`E a¡ xj A"a 2H0@h0 b1@l0b!@a@ P0X`PAl8`@@C VC @aD(`Aa 61X  @@ 0  ~|e $1I07C a040 ``(0$0 `!_! @M@Qk0XRA{/B  6   00 z@ ` L700``P `p   d0 `A@`@c! $P,|  E D0`(@` H`@  :$|1А`pCC   P0Xh  a>X0@z@ `a0 p ;p0P` 2 q!APBaT0z(p J |>A`* 8l02 F ! C P``P@`0  @A჆ x ! Aa@#``@ :Rþ$@X`@ 7ʮ! @7_ ϏϯP00>'@_/)(+"x_!A?` 0@00_LT[^p$0;L7נ/hr0OR/덓_tFt &bq<y?RM @IAv2pp:08 ΉXX^>~z,lJB pCŝ| " rЀ0!gt*, >-9>tCP&& +;/gGzZƏ1P X4E( QwF[;kjG`q(t e8izj[JG!(XuM~ap'N Duracell : Swapper-Coder-Cracker-Trainer Guy : Coder Ricky : Graphics Petronio : Mascotte HOLLANDSECTION : JDesign : Swapper-Graphics-Hardware freak BRAZIL SECTION: Bambino : Swapper-Coder on Amiga and 64 SUISSESECTION : Oxigene : Swapper-Coder only on 64 Mix : Swapper-Music-Graphix BELGIUMSECTION : Amnesia of Hysteria : Swapper-Coder-Music-Gr3aphix NORWAYSECTION: Mr.Nobody : Swapper-Graphics Hacker : Swapper-Coder DENMARK SECTION : Drake : Coder-Graphix-Modem(1200baud)-Few swapping Murdock : Coder-Few swapping Godfather : Cracker-Graphix-Modem(2400baud)-Swapper-Few Music Psoft : Coder-Graphix-Sysop-Few music LN :Music-Sysop FINLAND SECTION : Cad Mango : Graphix SWEDENSECTION : Big Muff : Swapper --------------------------------------------------= ?--------------------------- r-Cracker-Trainer Guy : Coder Ricky : Graphics Petronio : Mascotte HOLLANDSECTION : JDesign : Swapper-Graphics-Hardware freak BRAZIL SECTION: Bambino : Swapper-Coder on Amiga and 64 SUISSESECTION : Oxigene : Swapper-Coder only on 64 Mix : Swapper-Music-Graphix BELGIUMSECTION : Amnesia of Hysteria : Swapper-Coder-Music-Gr Yh4`5hm@V`8AT )V4ev3IH{!0"6&̝ML\E„FNbTl؁-w@Aŝ-Z[:ɩ v$)joε4 чCWn p5p e`P!C u4;f@Պ0:x@ u 1`Jhh Y`0(5%''1\t롵4 d!X8C;`Ma+\|t6:!w?AVpWpBd ;:P8d؂q3C SUohD.F$3`ZL[s=CyNBf 󻥋 '@x%@WgsKW[756q E Ŷ-R BPU`fb0?p gp'j`Ciltf]2ȼ  P,'odobbYFn.67cWpp3 k ScB$@Pfh&4  ҫF@P2< :[Q0,*8h 8q (3Q`'b 0$2m  "6$R iXXy2@ QwS" , @V*P pUAVǰ@07`aˊA.BX2V=(9 呑9+Sv [P/` $ XXx<`)kjdh,H)OA.FNGu \5v2+Z702AO#"݁gU<6d@@̵`O`FbuChA< ,A000 #K7%aAPh bw{1HWtCAh BƆ P6`bŁ{Sc #jd,Z;ū'@@рKA4h%v@孃16Pt"p&2u7qg@V89b@Ch85oaggbE Zy z  (ȴ 2t5D dkDCh< ڙ` O;!bFcb K̀Sw{3 ˂hm.(v]g{B.P;hlF0/`JƖC$6OA ?An PjAlt2w",+Va&(l 8+ Punk !! by Ricky/ITALIANBADBOYS -->> Let's jump in the move with COOL-ACTION <<-- + type or more the following - menu (this menu) - cool (usefull advertisements) - contact (our addresses) - greet (guess what ??) - end (list of our productions) - line-up (our members) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-?=-=-=-=-=-=-=-=-=-=-=-=- If there is somebody in this world that feel himself alone or want to leave his group to join our crazy crew that's your occasion we always look for good crackers/trainer maker,graphix wizard,coder,musician and BBS sysop. >> Don't forget to buy the new CD of ALICE COOPER and MOTLEYCREW << We'll drive you like an hammer on bed of nails !!by UNIQUE - use Deluxe Paint and P.C.K (Punk Construktion Set) press B and build your b,lj86Һ! wt%-`9 SCsAA]| t [JMk أ ]FpPa׆ikilƒ81&6(yDGPɔh"Ȋ* :Z,8,% <CrҩXt <|IN$r <l(jN"!T"G$ "0 <lIN$)" <lIN#AH$&0( _8r <x(jN <lI,N$)Xr <l(jN`NNq/start r҉"t\ԉ#BXvp։#ClBtv$G " <(j8NJf$G," <(j$Nr <(jNBlBXB\BhBpr <(jN%AtBx$"0( <I|N"< <(jtN%A`Jf$G<" <(j$Nr <(jN%j`dr <(jNJf,tGT" <IN#At$r <(jN")lt")X!l >͙K5"&)X!8")X!")Xv!""0 <INJg"$)X"0 <IN`z"JfT$<|ԉ#Bxr <x(jN$)x <lINv$)x")X <lI@NJfr%Al`""0 <(jN#AxJf`r <(j(N f""$0GX" <(j(N`"$0Gh" <INr%Al`"<҉#A|")x <pIN$)|")x <pIN")|Jxl($G" $0( <p(j(Nr%Al`*$)xr <p(jNv$)|")X <pI@N")x <pI(N"*l <(jPNNNq> DIR,OPT/KBad arguments Cannot get workspace : %S not found #Could not get information for %S - %S is not a directory tidyup J`g"*`p(jxN`,"*x#p"0p(jN"*xp(jxN%ixJxf$*trp(jN"p(jNNNqstart.nv ։#CB0(#pH 4x&t:")pD(jN#A0JgfG$ ")pHIlN$)")4pHIlNt")pHIN#A8$)!0(rpH(jN$)!($)8rpH(jN")4t0JfB$*")4pDIlN")4t0҂t0r:gG$ ")4pDIlNt")>0Я>pDINNNq:/ TINJg"$)X"0 <IN`z"JfT$<|ԉ#Bxr <x(jN$)x <lINv$)x")X <lI@NJfr%Al`""0 <(jN#AxJf`r <(j(N f""$0GX" <(j(N`"$0Gh" <INr%Al`"<҉#A|")x <pIN$)|")x <pIN")|Jxl($G" $0( <p(j(Nr%Al`*$)xr <p(jNv$)|")X <pI@N")x <pI(N"*l <(jPNNNqLqn`"#p$)v0(#Cx#D`V")ҩt0#Br0n v9or <IN$)r <(j Nҩt0#AR")䲩l"Jg #i`:")t <(jN#A#i$r< <(j N$)ܔ#B`"#p BB <(jN#A$)v0(xgr <INr#A`zrf"$)ԩv0(tx:fF"`8")ҩt0rv0nF$)ԩx0(tz9nF‚Jfr <INRrl$)v0(x0t " <(j N$)v0(҃v0#AxmrL܀k <IN")t0v0#Bt ") <(j N$)v0(҃v0#Ax> Let's jump in the move with COOL-ACTION <<-- + type or more the following - menu (this menu) - cool (usefull advertisements) - contact (our addresseԱzgs) - greet (guess what ??) - end (list of our productions) - line-up (our members) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- If there is somebody in this world that feel himself alone or want to leave his group to join our crazy crew that's your occasion we always look for good crackers/trainer maker,graphix wizard,coder,musician and BBS sysop. E$G of ITALIAN BAD BOYS presents >>> COOL ACTION nr.27 <<< on 9/1989 type : - 1 IBB intro by Big Muff/IBB - 2 IBB creazy ball demo/game by PSOFT/IBB - 3 IBB fingers demo by PSOFT/IBB - 4 CROSSDOS V.3.05 cracked by QUARTEX - type or more 4.doc for instruction - see also in the following dirs: C / DEVS / L / PD / UTILITIES - 5 A.D.S.R. V.2 by Trilogy - type or more 5̽ softrunner crew [SRC] -- nighthawk software of sweden [SOS] stardom star trek studio norway -- tfs (the unknownpilot) * sunriders -- network 23 * supreme surrender sws taboo tacs from turkey & norway -- microchip tarkus team tck & tpb team x -- hq , final techno thrasher tetragon -- trazer the a team * the band -- duncan idaho , paranoid , hellraiser , the visitor the best group [TBG] the best ones [TBO]-- belgian new beat boys [BNBB] the bolet's -- jgc the brainstormers [BS#*: I LASSE HaeVAKER I POPPELVEIEN 13 POPPELVEIEN 10 I 8200 FAUSKE 8200 FAUSKE I NORWAY NORWAY I I I on:Amiga I on:Amiga ------------------------------------------------------------------------------- BAMBINO: I OXIGEpU#NE : I MARCOSCANETTIERI I MARCOSAVINI RUACINCODEJULHO I Glauserweg 8 324 apt. 602 I 2543 Lengnau 22051 Rio De Janeiro I Suisse BRAZIL I I on Amiga-64 I on 64 ------------------------------------------------------------------------------- MIX: I DRAKE }t\A: I Marzini Walter I Claus Ovesen Via Merlina 9 I Ajstrup Strandvej 27 6962 Viganello I 8340 Malling Switzerland I Denmark I on Amiga I or dial DK+86 932524 I on Amiga ------------------------------------------------------------------------------- BIG MUFF: ڶR 314 W.FOREST,apt.103 ROUND LAKE,IL 60073, U.S.A ---------------------------------------------------------------------------- Message : #0002 HANDLE : THE MAFFIA SUBJECT : Swapping ADDRESS : Christer Nillson Nackrosvagen 2 S-194 60 Uppland Vasby SWEDEN ---------------------------------------------------------------------------- Message : #0003 HANDLE : FINAL FRONTIERS SUBJECT : Swapping ADDRESS : PL .]111 45101 Kouvola Finland ---------------------------------------------------------------------------- Message : #0004 HANDLE : BUG of SUBWAY/DREAM TEAM SUBJECT : Information about SIDMONwanted ADDRESS : STEIN Ornetua 18 N-6900 Alesund NORWAY ---------------------------------------------------------------------------- Message : #0005 HANDLE : T.ƥACS TURKEY SUBJECT : Swapping-Look for new members ADDRESS : MECIDIYEKOY ORTAKLARCAD Sakizagaci Sk no:30 A-1 D-11 Istanbul TURKEY ---------------------------------------------------------------------------- Message : #0006 HANDLE : THE BOLET SUBJECT : Swapping ADDRESS : Jose Garcia Carmona c/Noguera Pallaresa n.32 25600 Balaguer (Lerida) AJ SPAIN ---------------------------------------------------------------------------- Message : #0007 HANDLE : HITECH SUBJECT : Swapping only 64 ADDRESS : Frank Coenen Swentiboldlaan 36 6129 HP Urmond HOLLAND ---------------------------------------------------------------------------- Message : #0008 HANDLE : Cockroach of NEMESIS SUBJECT : Swapping (2 ADDRESS : postbox 179 4401 Flekkefjord NORWAY ---------------------------------------------------------------------------- Message : #0009 HANDLE : Quicksilver SUBJECT : Swapping Message : Quicksilver is searching for swappartners and spreaders ! LAMERS are welcome too !! ADDRESS : PLK 053579 C Bahnpostlagernd 5100 Aachen 22 West-Germany > hZ(B=BACK/S,DEL=DELETE/S,E=ENTER/S,Q=QUIT/S ? %C!Invalid response - try again : %CDeleted handle.zډ#E,#ph .)p0x#@Br <(jN#A$r <(jN")ҩt0r:gG$ ") <INrҩ$") <IN$)" <IN&) $)") <I %O#p  $) v0(ԃv0(G$ #B#i  x:fG" ` G" tԩ(&$) ") <(j(Nr%Alr`Jpgr#A #i`G" < (j$NR ") l$)v0(ԃv0(G$ #B#ix:fG" ` G" ()&$)") <(j(NBp()&)$") <IN#A NNq%S%S%S is not a directory / %S%S%S (dir) /nextfilv ։#Cx4؉#D0z\ډ#EXB@BDBHBL|#FP.#pxTr <p(jN$)X <dIN"()T&0t/")> 0| <d(jN#ATJft#BD") <dIN#AL$)" <dIN$)0") <dINJHgr`$JLg"&)X$)0") <dIdN#A@`\J@g B@`L") <d(jN#A@Jg2 <dIN$)X")@ <dIN")@ <dI,NJ@fr`JDg"#p X$)Pr <h(j(NJXgD")Xt0҂t0r:g(r <h(j(NJg")Xt0S%iLp&)$)X" <hINJfr%Alt#BHBP`")Xtxfr <d(jN#AX$&0( x08#D\v֩X"0( $ <lIN :fSH"oS@WgB /Nu o "ofNuNU/ $mJg$ JRHH/NXOfp$_N]Nu`Hx NtXO`NUH0$mBHzNPO)@fL pN]Nu m "h$/)N .XO(gRHzm D/(6N PO&@Jg4Hx/ NPO,g$ * E%h%FHxHz8NPO%@/NXO/,NXOB`icon.libraryWINDOW*HHBJjDRDJjD Da>JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUHl/-NPO ͍vN]NuNU/(-/- /N4PO f& m ( HHgHx/- NPO(N]Nu`NU/ $m Re -// NPO$_N]Nu RR- HH`NU/ A$H J/aXOA숺e$_N]NuNUH $mx f pLN]NuJ* gT* g Hx/ aVPO(* HH/NXO* g /*N,Q"l" lX"l" l!lx lB l"h>,QB l l/,NXOHzHlNLPO0< l"hH@B@H@H?HzHlNO HlHzrHlNO l"h.0),l"nH@B@H@H?HzFHlNO HlHz5HlNO BgNTON]NuBorder0y0x %d%su %d%st NU l0(HD+@ l0(HD+@/-/-/,NO l"h.0) H,l2.H+@ l"h.0)H,l2. H+@/-/-/,NO Hx NXON]NuNU)mHm/- HzNO N]NuNU/,?-N \ON]NuapCEf2<kt"Q)O,x)NH瀀.)gKN`B_NsC Nh)@f .<N`NPONudos.libraryINuNU/ Hy0,/NPO)@fBHyNjPO.lNu lBh l1|"l3| l ,ĐP)@ l MANXBNzXO$@Jg./- /-/ NO 9| lh lh `DHj\NXOHj\NdXO)@ lJ$g l"h$/NXXO/,/ NPO)l܂Nd l N l!@HxHz,NbPO l!@ /,?,N\OBgN TO$_N]Nu*NUH 0$m m (( D= (&@HHЭ T9@B0,H/NbPO)@fL 0N]NuH? KR//,NDO Hz:HHЬ/NPO?-/ /,NDO Bl&l$KH:| g| g| g | g| fR`  mz "f.R KRH:g JR|"f "fR`B*```8 KRH:g&| g | g| g| g| g JR` JRBJEfSRl`ZBB0,R@H/N LPO)@fBl`z&l`0H l!/ NXOR@HRElm0H lB` L 2/ `WgRA`BQNu0<`0/ oJfSH"oS@WgB /Nu0<`0/ S@k ow"o f SHJWpNucpNupNu o "ofNuNUH0$mBHzN PO)@XfL pN]Nu m "h$/)N XO(gRHzm D/(6N PO&@Jg4Hx/ N PO,g$ * E%h%FHxHz8N PO%@/N XO/,XN XOBX`icon.libraryWINDOW*NU/)mHm/- HzNO 8 lB0(N]NuNU lR- H|N]NuNUHm /-HzpNO N]NuNUH $m mf m(`Jm o mp0(` m0H(BmJm lDm JlD;|2- H NA\S2- H N(fJmgS- LN]NuNU"H0$m&m8 Bm+m KRH8g|%fB-0;|;| ;|' KRH8|-fBm KRH8|0f;|0 KRH8|*f mT;P KRH8`2Bm`0- D|0;@ KRH80R@An0fԸ|.fZ KRH8|*f mT;P KRH8`2Bm`0- D|0;@ KRH80R@An0f;||lf KRH8;|`|hf KRH80H`x;|`;| `;|`;|?-Hm0?-/-NO +@0-Hѭ`Z mX+P/-N XO;@`J mT8A/+H`(cgSg gtYgUgr2+IWgt`A0;H0-mo;mJmgh m -g "m +f. m0f&Sm mRH?NTO|f pL N]Nu`?-NTO|fp`Rm0-SmmnBm` mRH?NTO|fp`Rm mJg 0-mm0-mJmf(`?< NTO|fp`xRm0-Smmn`?NTO|fp`RRm` 0-`BHHBJjDRDJjD Da>JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUHl?- )SN\ON]NuNU/8-/- ?N0\O| f$ m ( Hg?NU/ A$HJ* gA삨ep$_N]Nu`BBB `NU/ $m?<NTO+@f5| м%@$_N]Nu5| %m* H?NTOJ@g* `NUH0$l`&R *P// NDPO$K fBL N]NuNU/ A)HB -P/NPO$@Jfp$_N]Nu$%m)J P`NUp0-/aXON]NuNUH0$l` mQg&J$R fpL N]Nu g&`)R *P// NPOp`NU/ 0-$@Jmm0-llJf9|p$_N]Nu0- l/0NXOJ gp`p`NU/-NrXOJfN|9@pN]Nup`NUH 8-Np0$@JDm llJf9|pL0N]Nu0*|f 9|p`p0-//- /N8O *f N9@p` `NUHxBNPO+@ gJlf -N]NuNp`NUHxHzN/NO ?<N TON]Nu^C NUJg lN?-NTON]NuNU/0-H+@Jg(x` ?NTORDlm0,//,NPOJg lNJg /,N~XOJg /,NnXOJg /,N^XO,x.)g/ K N*_`B_NsJf0Jg(0,H//,NfPO0,R@H  ;//,NPPO`NN"o,lNb /,lNNL,lN:N"o,lN,lN|N"o /,lN. /,lN o,lN oL"/,lNDN,l"o /NL,lN"o,lNL,lNN o,lNL 섏!,lXN o,lXN o,lXN oL,lNX o,lN8 oL,lN0123456789abcdef 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ 6v{>N"*l <`(jPNNBFROM,TO/A,ALL/S,QUIET/S,BUF=BUFFER/K,CLONE/S,DATES/S,NOPRO/S,COM/SBad arguments Destination cannot be a pattern Cannot get WorkSpace : Destination must be a directory Output directory not found  %S [created] `,"*|#p"0p(jN"*|p(jxN%i|J|fJg"*p(jxN$*rp(jN"p(jNNNqB$v0(#Cr#A n$ԁv0(t0n&ցx08v9o*"ҩ t0G" p(j(Nrp(jN$)r N$ԩ v0(X ҃t0#Av֩ "`x")NInvalid char '%C' in number T#(jPN`z""0 <`(jN#ALJf(G" <`(j$Nr <`(jPN`")L <`(jNJtf"$0G" <`(j(NJf""0 <`IN%Ap""0 <`INJg"$0") <`IDN`""0 <`IN#AT$<\ԉ#BX <LIhN$)Tr <L(jN"$0") <LINv$)X") <LINJfr%Al")T <LINJf&Jg"&*p$)X"0 <LIj-,gv / N/N|PHx/ NP/9 NHX L|N^Nu"o oJfNu o /`RJf//NPNu op`RJfNuFfN:0 h\xL0 diskfont.libraryFONTS:.font /,y LN,_Nu/,y "o|N,_Nu;H ,yL NL@Nu/,y"/N,_NuH0,yLNL@ Nu/,y"/N,_NuH ,yL NL@Nu/,y"/N,_NuH ,yL NL@NuH ,yL NL@Nu/,y"/N,_Nu/,yN|,_Nu  6Pf/,yLN:,_Nu/,y"o / N.,_Nu/,yLN,_Nu/,y"oNb,_Nu/,y"o / N,_Nu(ϧZ4L`/9 NHX L|N^Nu"o oJfNu o /`RJf//NPNu op`RJfNuFfN:0 h\xL0 diskfont.libraryFONTS:.font /,y LN,_Nu/,y "o p p` `NUHxBNxPO+@ fpN]NuJf -`HxHzN/NO HxN XO`^C NUJg lN/-NXON]NuNUB/-NXOR mJg lNJg /,NvXOJg /,NfXOJg /,NVXOJf./,/,NpPO ,R//,N\PO/-NXO`NB/,NnXO -.lNuN]NuNUH (-r NDA$@Jm nJf)|pLpN]Nu0*|f/N.XOBp`Hp4&HCHCBCԃH@H@B@ЂLNu"/,lN"/,lN"/,lN"/,lNp,lN,lN|"/,lN  ^(L,lN,lNL,lNHL ,lNL Nu"o,lNbL,lN:"o,lN,lN|"o /,lN. o,lN,l"o /N"o,lNL,lN o,lNC"(t &>V\b *28>LTZlt.6HN\ftz 2 graphics.libraryintuition.libraryPtopaz.font.0123456789abcdef 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ BH\b *28>LTZlt.6HN\ftzt+ Jd ?<NjTOBN:XO)@ l ( f l+hgHyHxDNPO+@gHyHx$NPO+@gz m -м!@ m -м!@A"m#H m!| m -!@(/-/-NPOHlN XO m+hHx$/-NPOHxD/-N|PO)|@ -N]Nuconsole.deviceNU l)hx ,\)@Hz/,NbPOJ@fdHzuHlNrPO lBx l"l,i>"V"X l"l#P l l/,NXOHx/,NPOBgNTON]NuBorder c NU lJxf.NXHyHxNhPO)@f ?<NTOHz{N|"m N"M <N. Nudos.libraryNIL:t j"RX{NVH>8vHx"HyN\# Pg~HxHxN&@$ PgXv t/HyN`,Pg0/N(@/ /NJO gJmv/ /N$PgJoHkHnNHnNrO mHyHnNHn/N$@( Og^Jjc@HxHnN*Pg&(*Y// /N0O gt/N`v t` HnNLX/ NX`v JgBBN0"Pg"JfN  azt!(")tJfF#Brp(j(Nt fFĩ"Np(jN#AJg<$#p( #A0#i4()(v$) ")p(jN")p(jNrNrNx#DJg*#pX #C`"p$(jN#A rp$(j(N#AJ g:Jg2r!ҩ#AD#i<#Q@()0v"$) ")$p$(jN#AJgJJ gBJg:")$<İt#BD#i<#Q@()0v$) ")$p$(jN#AJg@J g8Jg0r$ҩ#AD#i<#Q@()0v$) ")$p$(jN#A")NNqrp(jN#A p(jN#Ap (jN#ABBB B$t#B(B,B0&* T?\#C4x@؉#D$)ԩv0(t/g&&)x08JgR()ةH`S J g,"ҩ t0r/g$ԩ v0(t:f"t0#B$v֩ "#A($n(R$ԁv0($)ԩ(r % ҩ(`")&)$)" <0INJfr%Al`4") <((jtN&)$)" <(INJfr%AlrNNqCan't open %S for input - v ։#CB0(#pH 4x&t:")pD(jN#A0Jg`G$ ")pHIN$)")4pHIN")pHIxN#A8$!0(rpH(jN$!($)8rpH(jN")4t0Jf`B8$*")4pHIN")t0#B82,VPJ  ~ 6 .  ~ J , x  D.PH2, ND6,2lf`XR ZT%5v ~vFF2X@, n:.&|rL8(" F vJPt|X ndos.librarycon:10/10/320/80/*&$O** Stack Overflow **EXITintuition.library** User Abort Requested **4CONTINUE\ABORTzintuition.library  rX@-H ,yL NL@Nu'l/,y"/N,_NuH0,yLNL@ NuH0,yLNL@ Nu/,yN,_Nu/,yN,_NuH0,yLNL@ Nu/,yN|,_Nu|lR6 "/,y@LN:,_Nu/,y@"o / N.,_Nu/,y@"oN,_Nu/,y@LN,_Nu/,y@"oNb,_Nu/,y@"o / N,_Nut`H4/,y"oN,_Nu/,y"oL N,_Nu/,y"oL N,_Nu|+\4H02,y o"o$o &o$ /("/,$/0&/4NLL Nu/,yNz,_Nu84CONTINUE\ABORTzintuition.library  rX@-H ,yL NL@Nu)3@8 ($@HHЭT)@B/,N"PO)@HH/ JR//,NPO HzDHHЬ/NPO -R//- /,NJO B~$l+J HHA0gR`  mv "f6R JRH8g& m R |"f "fR` m B(```. JRH8gC1@f m R ` m R BJDgR~`p m BB ,~R/N PO)@x$l`p0 l!/ NLXORRDp0~ep0 lBN v)@9|N )@9|HxHzN nPO)@9|)|z/,/,~NPOBN XO` +:P)@r lr MANXHk\N XOHk\N XO)@*Ff lJ$g l"h$/N XO lJ gTHx l/( N PO)@g<)l)l'l'kBl9|9| ,+@ m'h/,BNPOBN XOL pN]Nudos.library *L "/ `WgRA`BQNu0<`0/ oJfSH"oS@WB /Nu o "ofNuNUHm /-HzNO N]NuNUH $m f m(`J o m(` m(BJ lD Jl D+|"- NAS"- N(fJgS- LN]NuNUH0$m&m B+m KRHH(g0%f B-"+|+| +PE5!+|' KRHH(-fB KRHH(0f+|0 KRHH(*f mX+P KRHH(`4B`"r -N BЄ0+@ KRHH(A0HfҸ.fb KRHH(*f mX+P KRHH(`4B`"r -NЄ0+@ KRHH(A0Hf+|丼lf KRHH(+|`hf KRHH( `~+|`+| `+|`+|/-Hm"/-/-NO+@ -ѭ`Z mX+P/-NXO+@`J mX(A!+H`(cgSg gnYgUgnWg, ^r`A"+H -䰭o+mJgp m -g "m +f4 0f*S mRHH/NXOf pL N]Nu`/-NXOfp`R -S谭nB`$ mRHH/NXOfp`R mJg -భm -ѭJf*`Hx NXOfp`pR -S谭n`/NXOfp`HR` -`8HHBJjDRDJjD Da>JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf S-3NuNUHl/-NPON]NuNU/(-/- /N4PO f& m ( HHgHx/- NPO(N]Nu`NU/ $m Re -// NPO$_N]Nu RR- HH`NU/ A쀖$H J/aXOANe$_N]NuNUH $mx f pLN]NuJ* gT* g Hx/ aVPO(* HH/NXO* g /*N/<HyNP#~  Jgp` <.# ## ## #A.#0/9L/9HN PBN@XLN]NuNN0NNhNx.yLN/<NNUp mR+@Jg@S"9Jk yRr` -Hy/N(P"`S 9Jk yRp r`Hyp /NP" N]Nu o /o "/ SfNuNU/-N>X m+H -SJo m "mR 3_{JgR` mB -N]NuNU+|JgH m(f2 m(g& m (+@Jg//(/(NO m+P`/-NXN]NuJfBHyNPP##\p(//<r//Hy/Hy/NO p/NtXNuNNpJfBHyNP##\Tp <(jPNN ***BREAK getbiteRp$*tpn($<X"*lp(jN%AtJfr`"Bp"*lҪptԁr0($!(rNwrline Jg2x#D $rp(j NV#At") p (jNҩ#A$)&)$G8" p (j(N")S#AB`H"ҩtԁr0($G@" p((j(Nrҩtp((jNJf r p((jNR")lt#B#i`r p((jNR")l$)S#BB`8"ҩtԁr0(#At nvlOH `r.p,(jNR")lp (jNN%X4: %X2tidyup J\g"*\p (jNp (jNJ`g"*`p (jNp (jN"*xp (jNNNq$TpN & H **BREAK typelinJdg$*hG" p(j(Np(jN"tgrp(jNJgr p(jNrtgF`("p(jNr gt gv fRhrNNq%I5 typehexBr ҉#A$<hԉ#Bd#Bd%AlBtv%CprS#AB|`V" <INJf&&)$)|")d <ItN <(jPNR")dҩ|tԁ(R|")=˼(jN")"0( <(jxN") <(jxN"Jg#i#i")Jf" <(jNN!NAME,DIR,LIST/S,EXISTS/S,REMOVE/S Bad args No NAME specified Invalid device name %S Can't find %S Can't cancel %S Run out of store Volumes DirectoriesDevices%S not assigned p (jN$0#p(r҉#AB B$Jf$G" <4(j(N`J")#p ($)f&Jfv#C,Jg"$0(") <<(j4NtfF#B,J,g^r#A$$)G" $0(( <<(j(NR rf <<(jN`r l <<(jNB `rft#B,Jg?y=(&)$08(") <<(j4NtfF#B,J,gLr#A$$)"0(( <<(j$N")JgG" <<(j$N <<(jN`r#A,Jg($)") $0(( <<(j4NtfF#B,J,gr#A$$)G" $0(( <<(j(NJ(g")(#p0J0gn$<8ԉ#B4&)0J8g4x&<")( <HI0NJg")4 <H(j$N` ")0$0(G" <H(j(N <<(jN")#pJfJf <4(jN")$N%S: %S [Mounted]%TF Volume: %S$#p( #A(#jX,() v$)")@1MEp(jN#AJf&)$rp(jNJg")NNNqJf2*|XSf$)G" p(jNrN#Q Jf\") #p$)#p((&)x08R#D$)")p((jN")ҩt:")rN"p(jN#Arp (j(N#AG$ #B() &)$)")p(IN#A$)v0(#C JfrN")p0(jNJfrN"p0INJg rҪX#A")t0&)x08*)orN")ҩ t0r:gR $)ԩ v/(")t0#B$r#A($n($)ԁv0(ҩ $)ԁP(rҩ(`")t0ԩ &)8rNNqSYS:JgG" <<(j$N <<(jN`r#A,Jg($)") $0(( <<(j4NtfF#B,J,gr#A$$)G" $0(( <<(j(NJ(g")(#p0J0gn$<8ԉ#B4&)0J8g4x&<")( <HI0NJg")4 <H(j$N` ")0$0(G" <H(j(N <<(jN")#pJfJf <4(jN")$N%S: %S [Mounted]%TF Volume: %S$#p( #A(#jX,() v$)")y  "/,lvN(L,lvN,lvNN"/,lvNL,lvNHL ,lnNL NuN"o,lnNbL,lnN:"o,lnN,lnN|"o /,lnN. o,lnN,ln"o /N"o,lnN"o o / ,lnN\L,lnN o.Ҁ0 /R;@Rm`;|0Bm0- @dj2-H Ar2-/Ap0Ё0p0-/@  @0 @ /rp0Ё0 / R;@Rm`Bm0- @@d4r2-/A@ A /r@"A0Rm` f"m iHH0;@ mcHyNXBNXBHy&NpP#BHy7NpP#Bp0/HmNDO ;|2;|"0 <(jN#AJf$$G" $0( <(j(Nr#Aro$J( gv#C#Cx#D"Jg2to(Jf &)xذ8#D"<| <(j`N`")#p$)")$0(( <(j4NJf")#p tg0&J8f$$)G" <(j(Nr#A`x")$)!(Jg") <{E"$H||p/,xN,_@%zPA!HXB!HLE"$!J  am znf"H/,xN,_B/ Na Nu M/,zN,_H":$<NLp`H":$<NLB`Usage: LOADSCREEN file Insufficient available memory! *^RH<0&T:x\D>2*h{@TtdX|jXP<g /,xNb,_LNup`Λa8#fg ?fJ(g <a,H/Jg$N P BMHDg` |j1j1jj 1|/,zxN:,_*@gv&JP CMAPf*BG A,B@   H瀀/,z2N,_LR@@f&JP BODYfIBFBG0@ t0"HgkSj`SjRf`R*fRFjf yfa"Hg (/g (:gS`"Ha~'"<a|/JgHx\D>2*htdX|jXP<LNuH/ HH/,yN,_02HH"_/,yN ,_LNuHHHHH/,yN,_LNugraphics.libraryintuition.library#HH/,xN,_# LaZCJp/,xN,_#g/,yN,_# /,yN,_#$#(Cfp/,xN,_#gC\p/,xN,_#g <"<az#,glLa.yH y9(j$Nr%Ax <(jPN""0 <(jN%A\Jf0$G" $0( <(j(Nr%Ax <(jPN"*\ <(jN"JgZ"0 <(jN%A`Jf0$G" $0( <(j(Nr%Ax <(jPN"*` <(jNBd"Jgn#pt#B`L`r%Ad`:r#A`0")ҩt0" <(j,NtHgvNg`R")t0lJdg0Jg(G" <(j$Nr%Ax <(jPNJg <IN`r%Ah <(jN#Atgd <(jN <INJfr <(j}IRC/,n to exit Filename? Can't open file Can't open window * Console packet failed Warning: File may contain binary, q = quitNot FoundEnd of FileMore (%ld%%)Finding previous page/.%%s <* %sCan't reopen file Press h for helpMoreSearching: %ssearching: %s%s[1 p  --- %s --- [0 p %s%s PRESS RETURN TO EXIT [1 p CON:0/0/640/200/ More v3.27 --- Copyright (c) 1986,1987,19tRL 88 CBM ,j More v3.27 (c) 1988 CBM - Reentrant ASCII text file viewer CLI usage: More filename or More < PIPE:pipename WB usage: Click More, Shift/Doubleclick text file While viewing file, press H for help screen <XPB More v3.27 Commands: ......... Next Page (More) ........ Next Line q or ctrl/c ..... Quit h ............... Help /string ......... Search for stritS䅊Qng (case sensitive) .string ......... Search for string (not case sensitive) n ............... Find next occurence of string CTRL/L .......... Refresh window < ............... First Page > ............... Last Page %%N .............. Move N%% into file ..... Previous Page (Less) E ............... Edit using editor set in ENV:EDITOR Not enough free memory ENV:EDITOR[0 p[%ld;0HCopyright (c) 1986,1987,1988 ComtTamodore Business Machines All Rights Reserved840,($  ($ H o"H$o&JJg  gJg f`RJg "H&J`p`pLNuPH:(o o"oE:Ot&O,yNpJWFg/HoHTNLO OL\NuNu n2ABAHA HA0 2B@H@Nu B@H@HABA"BtҁрnRAQNu/$ B$HBHAЂH@B@ $Nu/$"a$Nu/$"a $Nu/$lD"pJlDF @an4gD$Nu/ @p$lDFtUg"lDF @aH$gD $NuH:&o oCE,yNL\NuNu:NV/$.HxHn/N0rO gp`.HH$N^Nu H0&/ $/Ho//NO L Nu o XB!HNu9H? (/ /'/fBJPf %g >fBp @>mnr`> @%mnD` @m @ n @0;Nz~~~~*~~~ @gp @ f\` @.mPo @/g @r .ЅS&@`"R  f`  f5|^`fRrSm lJj^gJ&/$/(/ rn@l Jg rf4`*`4 o$*(pڂ`( o$JPg o$*(PSڂ` o$*(p`p`\ o$,(pJtgR o$t bw)ElmH o$ (t"o$Щll4 o$!Ep o$"o$ )pl!@h o$"o$ )th!@x` o$ll o$Jhdg( o$Bh o$"o$!ilp o$"o$!itx` o$<`$x/"//N o0Bt o0Bx//0/N> o8!Bh o8!Ep o8 !@lO`Z o$Bt o$Bx o$Bh o$Jhdg o$Rp o$"o$!ipl` ///N o0!Ep o0!ElO L|NuH 0$o&ot`RR/+ N XgpnB L Nu"o oJfNu o am zn HHpҀ`HHJfNuH0 o pv +f` -fvR`HHЀt cQt+$ЂҀp0  0m 9oJg"D`" L Nu/ / o JgJgt///(NO $NuH 0&o$/$o/ /*,NJ0Pg /*0NXJXg /*TNXJg/ /*NP`/ NXBNtJj\Xg(Jg$Hy/*NP/* Nr XfJgHy/*NPNJ$g j !j$Jg%j Jg%jNJ8g /*8NXJg /N XHx0&/ (/$$/(Jfp`BBN*Pf`/<HxDN $@, Pf/NpX`nA%H %J%E%DG(p`" A""A!(R,m/ /N/N/N$* HxD/ N8/N OL |NuL| v f @ 8 , ~ * t  ~ L @ *  T @`,"zJtOBB0^(~pXJ60B<6     :~hL:j|b0D zR^PJP  ~Bzrv8?Q`?ySYS:System/DiskCopy?Ȱf KNJg "@NaN`+"` i( h.(pNu Lwg"]Jf`0")(ҩ,!&),$)r pT(jN" SYS:$l#ip#i tJ@fr`r <(jN <(jN#Ax#Q|")T$)X&)\()`pT(jNJf$),G" pT(j(NrpT(jNJDg"N"o,l6Nb /,l6NNL,l6N:N"o,l6NN"o /,l6N. /,l6N oL"/,l6NDN,l6"o /Nu!yL,l6NN o,l6N oL,lFNX oL,lFNHUsage: FullWindow [tasknumber] Copyright (c) 1987, Andry Rachmat. `\H 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ \dx*_`B_Ns -.l"NuN]NuNUH $m  g  fR`xwf#A0p@(jdN#A4$)0r pD(jN#A8$)$#p(<$)0rpL(jN#A@BDJf$)#p(&0( #C`"t0#B&R#Ct")p`(jNRt ҂pT(jtN#A Jf`|r ҩ R#A$)S#BLBH`&")ҩHtԁr0($)ԩH(RH")LHl$)ԩv (") t!")4() !H")4() !H") B ") !<"<|pT(j`Nr#AD$)(#p(Lv#CH`"")(ҩHJf #iH,`RH")LHlJ,f`z#i T#| XJfr`r#i8dG( &$)X")TpT(jN#AH>|#q9,r6A % ESG-IBB-27 $ &qut}yL >Cprs%es^& Disk.infopre#lLl`ͤk ,d#g|xp^{{?!!!?|`?y??????#hHxp^{{|tzWVUTSRQPOdcba`_^]\[Zkjiz,)more{quv1%Knmlvh)finestrawqul\uVuNNU/-NXOH//-N/NO N]NuNUJg/-aXOp,Y|gp,Y?NTOJg HllNXOJFg /,FNXOBgNDTON]NuNU m B( l" ,"P)@& l& MANXBNXO+@ m (+@fBgNTO m ?f HlNHXO m JfBNBXO+@`d l*"h" +@/- NvXOH+@f HzNXO - mJf HzNXO - m+p -Ԑ\+@Hx!HzNPO)@FfNBHllHxHzNOJ@gNHxNzXO@YJdN)mZ lZ ( fwxN(hgfox`)runqwoԷOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F qti#P 9AUH瀀,y# <"<N:"@LfpNu*I/ +@+HN(@CpN+@fH.<,xNL`pd`@#Jg , 0H0EG @pB0& - mC ! RB)g\  g  g& "ggB  g`B`g0 "g *f  Ng nfr ` Eg efr`BB GL Hm/`jA\NA\N+@ /B,m$@ *$g @"(NA fA"$<{|TEDYX|)onq{X`BJg BJf&Sg/,yN,_NuH~$H(" $=<C ) assignqCDOO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F .fBH,xB.A"B@rXQF@0L/,HzNPPO/<NXOpN]Nu ln"h&+Q m"h |fRH,xB&N-@*LHyHx8/,nNO m"hHiNFXO/,HzNPOp` m"h AFf^H,x n-h(h CA^N @!LB&N-@*L m"hHixNXO/, HzNhPOp`" ln+h&`t m+P m"h NfXyH,x$m$j&jxCFA^N @!KB&-jtL m"hHia\XO/,Hz4NPOp`X mJfHzNXO`%s %s %s %s System-Z VirusChecker V1.0 NUBm mRBRm mmN]NuapCjEjf2<kt"Q)Or,x)NnH瀀.)gKN`B_NsC Nh)@vf .<N`NPONudos.libraryINuNU/ Hy0,^/NV)@zPOfBHyNPO.lrNu lzBh lz1| lz1| lr ,rP)@~ l~ MANXBN $@JXOg./- /-/ N9| lzh lzh O `BHjy\N8Hj\N)@ lJ$POg l"h$/NXO/,/ Nh)lPON lz N& lz!@gHxHz*N lz!@ PO/,?,NLBgN PO$_N]Nu*NUH 0$m mJg m (( D (&@`&l`HHЭ T9@B0,H/N )@POfL 0N]NuH:? KR//,N~0H @삐CDf?-/ /,N: lB0P9|0HЬ&@R$KOH:| g| g| g | g| fR`  mz "f.R KRH:g JR|"f "fR`B*```8 KRH:g&| g | g| g| g| g JR` JRBJEfSRl`ZyDBB0,R@H/N )@POfBl`z&l`$0H l! K JfS0R@HRElm0H lB` 0<`0/ oJfSH"oS@WgB /NuL 2/ `WgRA`BQNuNUH0$mBHzN L)@POfL pN]Nu m "h$/)N (XOgRHzm D/(6N b&@JPOg4Hx/ N l,POg$ * E%h%FHxHz8N H%@PO/N .XO/,N ~BXO`icon.libraryWINDOW*NUHm /-Hz`NO N]NuNUH $m mf m(`Jm o mp0(` m0H(BmJm lDm JlD;|2- H NAy9S2- H N(fJmgS- LN]NuNU"H0$m&m Bm+m KRH8g|%fB-0;|;| ;|' KRH8|-fBm KRH8|0f;|0 KRH8|*f mT;P KRH8`2Bm`0- D|0;@ KRH80R@A$0fԸ|.fZ KRH8|*f mT;P KRH8`2Bm`0- D|0;@ KRH80R@A$0f;||lf KRH8;|`|hf KRH80H`z;|`;| `;|`;|?-Hm0?-/-N+@0-HѭO `\ mX"P+I JfSyD* ;I`J mT8A/+H`(cgSg grYgUgpWgr`A0;H0-mo;mJmgh m -g m +f. m0f&Sm mRH?N|TOf pL N]Nu`?-N|TOfp`Rm0-SmmnBm` mRH?N|TOfp`Rm mJg 0-mm0-mJmf(`?< N|TOfp`xRm0-Smmn`?N|TOfp`RRm`0-`BHHBJjDRDJjD Da>JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"yB6)BAHAH@B@tЀӁbR@QL NuNUHl?-N\ON]NuNU/8-/- ?N0| \Of$ m ( Hg?NU/ A쀦$HJ* gA^ep$_N]Nu`BBB `NU/ $m?<N+@TOf5| J%H$_N]Nu5| %m* H?NJ@TOg* `NUH0$lj`&R *P// NNPO$K fBjL N]NuNU/ A)HB -P/N$@JPOfp$_N]Nu$j%m)Jj P`NUp0-/aXON]NuNUH0$lj` mQg&J$R fpL N]Nu g&`)Rj *P// NpPO`NU/ 0-$@zJmm0-l^lJy f9|p$_N]Nu0- lz/0NJXOgp`p`NU/-NJXOfN9@pN]Nup`NUH 8-Np0$@zJDm l^lJf9|pL0N]Nu0*|f 9|p`p0-//- /Nf*O f N9@p` `NUHxBN+@ POgJlf -N]NuNp`NUHxHzN/N?<NON]Nu^C NUJg lN?-NTON]NuNU/0-H+@Jzg(x` ?NTORDl^m0,^//,zNPOJg lNJdg /,dNhXOJg l Jg /,NXOJg /,NtXOJg /,NdXOJy m g /,NTXO,x.)g/ K N*_`B_NsJf0Jg(0,H//,ND0,R@H//,N0O`N/,NJXO -.lrNu(N]NuNUH 8-0$@zJDm l^lJf9|pLpN]Nu*f/N XOBp`"/,lvN"/,lvN"/,lvN,lvN,lvN|"/,lvN(L,lvN,lvNN"/,lvNL,lvNHL ,lnNL NuN"o,lnNbL,lnN:"o,lnN,lnN|"o /,lnN. o,lnN,ln"o /N"o,lnN"o o / ,lnN\L,lnN oy ArS,lnNL,lN o,lN o,lN8R0123456789abcdef 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@ @@@@ *'&%$#876543210/.B *|colorqB } B-"NNUH dNp;@;@0- @bH @BPRm`p;@;@0- @dH2-H A0p0-/@ @0 /R;@Rm`;|Bm0- @dl2-H Ar2-/Ap0Ё0p0-/@  @0 @ /rp0Ё0 / R;@Rm`;| Bm0- @db2-H Ar2t4-҂0p0-/@ @0 @pr2 XOHzsN 4XOHz}N *XOHzN XOHzN XO`4HzN XO`(HzN XO`Vdrڰd 0;NN]NuError: not enough memory to install BlitzFonts. BlitzFonts installed. (C) 1987 by Hayes Haugen. Text output is now sped up. BlitzFonts (C) 1987 Hayes C. Haugen Makes topaz 80 text output up to 6 times faster. use -r to remove Send con tributions to: Hayes Haugen 11303 S. Dogwood Edmonds, WA 98020-6168 Contributions of $10 or greater will receive a disk w/the latest version of BlitzFonts. Unable to remove BlitzFonts; can't find them. BlitzFonts removed, previous text routines restored. o /H>|c -gp` (rfa` a/aH L|Nu,xCpNJgz#$,y$ n$HCp fXQ-j,xG"k <N."k <N."S,y$N,x"J 9\N."y$NbpNupNu,xCepNJg#$"< <N:Jgx#<"< <N:Jg\#@"< 9\N:Jg@#D <"<N:Jg$#8p("<N:Jg #0pR"<N:Jg#,,y$ y0p"<t Nz <r NJg y0!@#4"y,N:"y,#y0pNAHNJg"y, @N"y,#4aTJg`,y$#3A!y<!y@A"yD 9\SQ-yDBDBNuL>s]e]yWadhNmuoNruf ne{lNoutNsuNuC(QC삶E삶f2<,kt"QC")O,x)NH瀀N PONu(zNuNUH0BHzNPO)@fBHyN`PO.lNuBNXO&@Jg l ,P)@ l MANX +* E ($@HHЭT)@B/,N"PO)@HH/ JR//,NPO HzDHHЬ/NPO -R//- /,NJO B$l+J HHAu0gR`  mv "f6R21 JRH8g& m R |"f "fR` m B(```. JRH8gCu1@f m R ` m R BJDgR`p m BB ,R/N PO)@x$l`p0 l!/ NLXORRDp0ep0 lBN v)@9|N )@9|HxHzN nPO)@9|)|/,/,NPOBN XO` +:P)@ l MANXHk\N XOHk\N XO)@ lJ$g l"h$/N XO lJ gTHx l/( N PO)@g<)l)l'l'kBl9|9| ,+@ m'h/,BNPOBN XOL pN]Nudos.library~p *L "/ `WgRA`BQNu0<`0/ oJfSH"oS@WB /Nu o "ofNuNUHm /-HzNO N]NuNUH $m f m(`J o m(` m(BJ lD Jl D+|"- NAbS"- N(fJgS- LN]NuNUH0$m&m B+m KRHH(g0%f B-"+|+| +|' KRHH(-fB KRHH(0f+|0 KRHH(*f mX+P KRHH(`4B`"r -N BЄ0+@ KRHH(Au0HfҸd8.fb KRHH(*f mX+P KRHH(`4B`"r -NЄ0+@ KRHH(Au0Hf+|丼lf KRHH(+|`hf KRHH( `~+|`+| `+|`+|/-Hm"/-/-NO+@ -ѭ`Z mX+P/-NXO+@`J mX(A!+H`(cgSg gnYgUgnWgr`A"+H -䰭o+mJgp m -g "m +f4 0f*S mRHH/NXOf pL N]Nu`/-NXOfp`R -S谭nB`$ m 㭆RHH/NXOfp`R mJg -భm -ѭJf*`Hx NXOfp`pR -S谭n`/NXOfp`HR` -`8HHBJjDRDJjD Da>JDgDLJNuHHBJjDRDJjDa `/a "JNu/a"JNuH0HAJAf HA64B@H@"H@20BAHAL NuHA&"BAHAH@B@tЀӁbR@QL Nu o Jf SNuNUHl /-NPON]NuNU/(-/- /N4PO f& m ( HHgHx/- NPO(N]Nu`NU/ $m Re -// NPO$_N]Nu RR- HH` fNU/ A$H J/aXOA삮e$_N]NuNUH $mx f pLN]NuJ* gT* g Hx/ aVPO(* HH/NXO* g /*N m "h *f0HzlNXOHzNXOHzNXOHz NXOBNLXO o0 m "hHH0;@ m "hHH0;@ o m "h HH0;@ o m "hHH0;@Jmf;|@ o m "hHH0;@ mb6 mb. mb& m@b mb g oHz`NXOHzNXOHzNXOHz 5NXOHz yNxXOHz NnXOHz NdXOHz ENZXOHz NPXOHz NFXOHz N<n(7devsp۟^*Gsystem-configuration"&˱- @@{{ `2 ````2 @{{m ,generic <*Cp:K} 'contactpy@ Contact addresses : =============================================================================== ------------------------------------------------------------------------------- E$G: I FRANZ: I STURARO I FRANCESCO FRANCESCHI CASELLA POSTALE 61 I VIA PELLEGRINO MATTEUCCI 15 10099 SAN MAURO TORINESE I 00154 ROMA ITALY I Im n* coolpcWell if you want to swap or you have particular question and so on contact cool Yes this part it could be very interisting 'cause it contains some good adresses of guyz that wanna swap with U. Write to E$G or FRANZif you wanna publish something in cool or THE BADTONGUE of course it's free !!! Save your coins !!! ---------------------------------------------------------------------------- Message : #0001 HANDLE : SAVATAGE SUBJECT : Swapping ADDRESS : ALMINDY U~~  *Dendp~ Here we go with all our productions ... you haven't got all ??? what are you waiting for ask the missed ones ??? - Karate King II - Virus Collection - IBB INTRO COLLECTION no.1-2-3-4-5-6-7-8-9-10-11 - THE BAD TONGUE(Electronic fanzine) no.0-1-2-3-4-5-5 special- - IBB First slideshow - Utility V.2.0-3.0-4.0-5.0-6.0-7.0- Revenge II trainer - Yet another demodisk 1-50 - Excalibur fv trainer - Huddinge demodisk - Modemania on the wire! (12) - Arvika demo $)utsrqponm` -_greetpĥ >>>UPDATED09.09.89 <<< For any problem on this list contact E$G I hope nobody is missing !! * Remember this sign * means special greetz ! Oh my gosh !!! >> COOL ACTION nr.27 <<< on 9/1989 type : - 1 IBB intro by Big Muff/IBB - 2 IBB creazy ball demo/game by PSOFT/IBB - 3 IBB fingers demo by PSOFT/IBB - 4 CROSSDOS V.3.05 cracked by QUARTEX - type or more 4.doc for instruction - see also in the following dirs: C / DEVS / L / PD / UTILITIES - 5 A.D.S.R. V.2 by Trilogy - type or more 5u? $ Astartup-sequenceHjW~ /2BBballp5^ ; E$G/IBB waz here on 9/89 .... 3 months to new year !! virus clr cls border off finestra cls type mes wait 6 type menu menu type menu  $ SpF2BjBjAC "*$I faeD*& f o bBf i`T$ Â@ T&e@w%@AYZȇH l J Qѐ+`J/2P"P7A, XX(/ڣqI5MOUNT_JDS.DI3.infoq5!0P( Z$p/kdCU@6`,A(YU 6x$V 7BЊ(H"VH0b8LCb@`,t @m.S\O* 8<#P\A PHA pPA, \\a8A`fP A{+00/;B?bG^ D$ájR97# B A$%c$`H!q@QlI<0 V"( ɀ*`"X @R5W Z,`YSR4]*O+φX\&N E; Q A p8t`3` c 0apA  , XBB!li! H`(, -d U` `B8ZH;Ix@A`Hܫ KBdkY x"8, < o FH|@)@>@OO`bO0gL၀A>FB"0#B )x*if+$D.+H`>j]52r@ x"T@x0h0@* @@@AA ~@ 5D,. d˃E" Y\&BB%n5 C&E@L֊@@x? 4x@E=@4H0P+s@R$P!@ N`[AdQֆ|Fi$H 28 @pU$%Xh&@Y / 8_` HD$ 10c0h(V.KԁA@2T)Orb( @ P<J!1@΅ ĨM daSX4 @n##lYNXK@E~Fp { 4$/ p8\@0042P6`c@hTm a@0@ @p`#hB b~ F!0 &!$jBAU$ 4\$`$FH(= ل+`4LM !N $"@+Hd  {6827@( H" (@ۊ!h WP4T|@s Xz@d,AAa B '`#P`()EhZ(?C,O,x A h @Ā09N`nPBAD$b 4@4 qCB"+`.X՟@Rf48`7*IDR46 A YARiQp 7D JN: @45'H Ё | 18@5#X&iƱN@k@Q\ L T`D`@* @ @; J9y@|6p1]=u}$`FRhtS!``d(  p 0  P    >6p :20 , $P8I) )\n@< @?d @?d@ag/w;N T* zAޘA( dN^ŀ!I2&HXMB0@ x8hp`=P@`>E@# X4s$1 $P"0(B P8, B@@ 0(1 0S QHE(aE Q@5;G(J &R.AUMa Q†P(AD 7lv@-X P`fB $0CB  DB`f ttŔL0trxA./Ab(A3 C '(4ЭӡD@ T` X F`( ^ N!!B(@̣3>0H`y` o .(ةP9pLLqn̲03+4 @E2"@+aX#°A 0OB< Sp6tt/$0Nm@z0? $@B  R@!00T T`0^``90`9 `I:Lن r0@0t=ʻCh` a@@v! q  ,@x1X`f0ɇȊ Tk0@PflDc @52- :Xf "8p9`m@bdP <4 w` ArSe&ir rE (P?y-P6ze'z+3 QC4 S}@!D &(,0<aAP)_6caA   0NmC B @02Hm@ʀTsPpphAA.x X;a!$< ׀C 6jubChGn,R0@Pf4À N @_4 bap > 4 : ǭ+ΙP3Bh  (x01ṕGl P2Dn@?Xa &(6gAb@p84X`!@Pf! )Z@_1(/@r, @`ʃCI>`pD4Z @ @ $@6`T@4Rf &P@PhhUL ]#Y|U N'&PH3y0 $Ġ4p6 ar߮N< ANS"l A@k$!O`=N KIb(OʸpdzE (TB BI$`F-!`  dh ">5" aȵ+BPL0('dr@aaw"a l<@ `!  NsE?QS$N$x! <4:Eu[O U @I*`"b@B| 0x^P@"PO;N0~s@y )?& "a I0?0 r`+: K ԍ48'8~`膃`Aֶ`T&8 8`Hӂ&)(n_ ;ۙ;հ?*8s05Ze(C< (049 @@<SAAC0 )4#W!Z1F-Pl`,1Y=<QPONMLKJIHG\[ZYXWVUTSRgfedcba`_^]rqponmlkjih}|{zyxwvutsH2k     %$#"! 0/.-,+*)('&;:987654321?FEDCBA@D/3BBfingerspHKJ_^]\[ZYXWVUjihgfedcba`utsrqponmlk~}|{zyxwv?2n1BBp@N_IXQQAC "*$I faeгn I`ٹmC?$` fa4ejrvfa(e!K@W!e(-4@@b(+ ,@@a.8P `Dp ! @  XA9F$0 P pH2     ('&%$#"! 3210/.-,+*)>=<;:987654IHGFEDCBA@?TSRQPONMLVJB0,.N.,x <"<N:(@gC,)|)|X@)|X)|\)|`)|l)|)|)|DOS,x()GCpN)@ ,@,l ,xN*@JfLA\NA\N)@)|4"@$)$i$P",l N j(&HpRJf)@aJ`,l N)@gaa&mp+@"t,l NRJg+K$<va0`+K",f"<$<N)@f$<Zva`"$N*/|)E$<",f"<N)@g r,xN:)@f$<wv aԣtU5MOUNT_JDS.DI0.infoqu? }!';d'7H'>} UUUUUTUUUUUUUUUUUU@UUUUUP@OOM_NOOON֣sTr5MOUNT_JDS.DI1.infoqk~7}!'7Xd&'>,} ߐUUUUUTUUUUUUUUUUUU@UUUUUP@OOM_NOOONأrT5MOUNT_JDS.DI2.infoq{˶}!'8d'2'>`} UUUUUTUUUUUUUUUUUU@UUUUUP@OOM_NOOON ]w7 mfm.devicetR¥9}!'8d':@'>@.} UUUUUTUUUUUUUUUUUU@UUUUUP@OOM_NOOON:L/ꫪ꫿?4?uQ c:mount_jds DEVICE=DI3:FROM=DEVS:mountlist.msdosFSꫪ꫿? d D5 TDPatch12q%Pq TDPatch12 V2.2 Copyright 1989 ConsultronP$H$IGr <`&Q,x)N()O0B,&np"<0N)k$Jgp )@a. k"h r)I8ЁRBgR@UBw Sԁ SQ S Q"O/ `x)k:pRѬaA\NA\N)@,/$@ *$g,lH @"()A$N"* g$<N)@4g @'h l,/Hl h$)h8NxNp` // ,g @NNP,x"lHNbNNJ,g",4gN,xN|"l,N d D5 TDPatch13q$Pq TDPatch13 V2.2 Copyright 1989 ConsultronP$H$IGr <`&Q,x)N()O0B,&np"<0N)k$Jgp )@a. k"h r)I8ЁRBgR@UBw Sԁ SQ S Q"O/ `x)k:pRѬaA\NA\N)@,/$@ *$g,lH @"()A$N"* g$<N)@4g @'h l,/Hl h$)h8NxNp` // ,g @NNP,x"lHNbNNJ,g",4gN,xN|"l,N 8L8p DEVS:mfm.device V3.00 Copyright 1989 ConsultronpNuJ)Dmfm.deviceMFMDev 2.0 (Apr 5 1989) 8Tp~ )H*@+H" L NuH!4*N,y&$I.td0$ 5((f aJg+((&@%KRm Rk$&L,Nup|`89 B pNuUnitTaskUnitTaskMPortUnitTaskRPorttrackdisk.device$E$8\H<8AN"f^ @*&h'H,G*'M&(h'L"h Ш$)@ <1"A0#H(N2 E(h0( & <"<1NAh&<"<?N E)KX (8)@:Ш<)@>)@6|| )|( "L$|P(K&|N L""B&)#jN"B3| #|VL$N8"B#CN$"BN>"k,"i0J)gN"K )fNCh )fN k,NL NuH4*N,y$I&jp%@%@Jk$g Sk$fN:pJm gSm f-&gNVL,NuH *N,yJm fa.`&pL NuH t+*B((NLNuH "MN"Mp0-m$-"N. LNupNuH <*N,y$I|&j0* @l:""< af"*~ KN`a"L<Nu|a`0* |$ pNaNu*f"JNNu/ $IN$$_NuZ>$ T .w T T T T   T T2|Nu k+!|Nu k"!|aXNu++g&aff/ (kN @(_Nu"Nua"JNu""Kp+NNuH "V KNJg$@|N` LJga"JNu+"gXH04*5|*|N T5BCJ*g"`"J g"`""L +"Nu|`|%| Nuaf/ (k0, H@=@N .|n0++gN )|+A a@+(_Nu|=:L`afxfxA `af\AH; *H%| (k(*(,*$.*,v N  gXN LJfl0,R l",`S@mJfhr(t¼m( "NJ*f2$oނ؂`Dܪ$%F L0Nu|`|`@`++fSg)|`\H *(a@JfL0Nu|%`  OH8.(k$k,Jg*@`K -9@ BRgA"_A -@#"-(R - n+`+9A0<5@ Df+`+&-$-4,8R,o,"j( *,gNƠH."< N:Jg,@%N(%D,)N9CpLtNup`HI0*g*%l%l"J/,iN,_"JN&%K%M`D)j,,j9j)j(()j$$"L/,iN,_"LN&%l l%l$$LNuI0%l%l"J/,iN,_NuaT++g ++g Nua6 k!|Nua*fH (k *,N  gN LLNuH>&, "<N:Jg(C0* D S"U?l)` 6{ ?m*(i&AA5 (dW*"H4H@Q$B߽0 &-"HJd}A`@  &$ݚ6pB/.K[@g(XDJ\ g!,dg,Dfa7ݗ{haG@}p"BjĦ /G EHa]6 `f@D  +*)('&%$#"!6543210/.-,A@?>=<;:987KI; 34nstall_MSDOSFSpg9MDiskCopy.info1{P&P?<\owwo@??|?|?|?|??|||6>3?K{zy9Kill(s Kill V1.5 Copyright 1989 Consultron$H$IGr <`&Q,x)N)O B&np"<0N)kJgp )@a. k"h r)I(ЁRBgR@UBw Sԁ SQ S Q"O/ `x)k:pRѬaA\NA\N)@/$@ *$g,l< @"()AN"* g$<N)@$g @'h l/Hl h$)h(NdN$p` // , g @NN,x"l?|?|?<|?|???|||||||?|WINDOW=000,000,640,100 v9MSDOS_S9.MFormat.infou 8A0*(&(&0460*@y9II$<'9g88'?8'80?{~|@*UUU*UUU*0 /9 00f`6`6`6`6`pago? v9MSDOS_D9.MFormat.infoQ@ A0*'3h&(&60*Py9II$<'9g88'?8'80?{~|@*UUU*UUU*0 /9 00f`6`6`6`6`pago?w,srqpon~| )9DiskChkjoB 2 DiskChk V2.3 Copyright 1989 Consultron $H$IGXr <`&Q,x)N)OB&np"<0N)kJgp )@\a. k"h r)IЁRBgR@UBw Sԁ SQ S Q"O/ `x)k:\pRѬ\aA\NA\N)@/$@ *$g,l @"()AN"* g$<N)@g @'h l/HlX h$)hN N p` // ,g @NN#,x"lNbN vJg",gN,xN|"lN .lNupd`CXpN)@gNudos.libraryNU/HzN XOJ, g HxN$4XO/,NXOJg"l ,,xN./-NN,mN]NuTDERR_NotSpecifiedTDERR_NoSecHdrTDERR_BadSecPreambleTDERR_BadSecIDTDERR_BadHdrSumTDERR_BadSecSumTDERR_TooFewSecsTDERR_BadSecHdrTDERR_WriteProtTDERR_DiskChangedTDERR_SeekErrorTDERR_NoMemTDERR_BadUnitNumTDERR_BadDriveTypeTDERR_DriveInUseTDERR_PostResetMDERR_OutofTracksMDERR_InvParamMDERR_IndexNotSyncIOERR_OPENFAILIOERR_ABORTEDIOERR_NOCMDIOERR_BADL'ENGTH Error#=%d = %s = Unknown io_Error Return Code Enter device name => Could not find Device Node Not a block formatted device Could not open device %s:Could not allocate memory for sector buffer Ctrl-C to exit Specify Lower Block # (  %d  - %d ) to begin checking => Specify Upper Block # ( %d -  %d  )[r(epeat)] to end checking => Ctrl-C to abort Repeat ON Checking block# = Checking block# = %d ץ Pass # %-8d  #Errors =  %-8d /.//HzN POpmp&n A/0HzNPO`.pmpn AN/HzNPO` HzNDXO.Nu|pNuNUH2./|JWDHH@ g. m o &h$PJg  @$h &m`,&k`&po m &h`HzLNHmNPOG f / N`XO$@HzN.NXO&@ fHz*NHx aPO +$@ dHz"NrHx aPO J ($@Hm/(/H$N> o$. //NvO)@f"Hm/+(N.HzNHx aO *)@r,xN:)@5fHzNHx aTPOxB *$"* N"*N, *(R"* N"*N.SHzNXOHzNXO//HzNHmN\HmNHm/NOJf+F -谇nưm*-//HzNHmNHmNr&@Hm/ NZO,Jf+G -谇n°m - KHxr//@$NPOJg|`B-HzNPXOHzNXOJ-g HzNXOHzNXO l!l$!l( l1|HzNXO+E`b -",N l!@,"H,xN2/-HzzNPO"l,xN&.Jf l ( g R/aXO,Sg.R -谯oJ-gR//-Hz6NFO+9 `f/,NXOHz/+N.NXOLHNuH./ &oJg  @CrR// / N\O `B LNuNUH2Jfp`R l h" (/@ ,xN| / @"(&A`Jf kf$K` &@ f,xNv LLN]NuNUH2 l h" ($@BHx:/-N4PO&@ g @`/-eu]NXO@,xN| *&@`2 +( @Cp-// /-N O Jf+K` &@ f,xNv -LLN]NuNUH2&o gj,xN @C\/I pD"<N:$@A%H %J%o p%@%m ( K"JN o N o N g"JpDN. * `pLLN]NuNUH!2&o `|Rr gr gr gJgn ,RA$Hp"f&R$`RJgp"fJf HxNXO`(B`$$`RJgr g r gr fJgB m|Jf l`A)HJfzAdC""""B l h$Hx(/(HlN O A"$<,lN)@p)@xr6^)At)@)A|/@,xN"/ A"@#h~`*,lN)@pN)@xAv"$<N)@~ @l @t|Jgp` <B"A)Ar)A"A)Ar)A@)@An)H/,/,NLBNxLLN]NuNuNuH0./&o,/ /N8XO$@ fp`6*gHxB/NO // /*NxO *Jpgp` L NupaH&o KJfS,~Jg2Sm lC)I r` rHl/N.PO"`HlHxNPO LNupaNUH0&oD|A +HJg p%fpr]Ak{fN Edd`Px`p`s` m$X+H`J m(+HEzJk rASS`B-` m(+H/HmN POE/ NXO܀`^RSm lC)I r`>pHl/N"PO"`(RSm lC)I r`pHl/NPO"`HlHxN L N]Nu0123456789ACDEFNUH'0&o\$o`~|zp| r+At+BA@@+A+A+HJgBpr]Ak8{fN#` `+` -`~`|` z`|R`r0fRAp*f RC$+PR`Hm/ N POr.f&Rp*f RC$+P  'AR`Hm/ N POrlf |R`rhfRr@p0]@kT{fNc`*s`X`~x`xp`^o` u`d`J-g RC$ ` RC$ +@l rD+AJgp-` Jgp+`p @p"-肀pgRR/-/-NPO+@ -Jjr+A -"-Ho. m"H`Sdp-"- m`Sd -+@ѭA+HJgP| `FJ-g RC$ ` RC$ +@`bJ-g RC$ ` RC$ +@J-g m0r+A+H//-NJPg",XgN,xN|"lPN .lTNupdKJv: Atari_S9.MFormat.infoJfz9 0*+('3'350*8y9II$<'9g88'?8'80?{~|@*UUU*UUU*0 /9 00f`6`6`6`6`pago?L:Atari_D9.MFormat.infoL~I 1*+&&1*Hy9II$<'9g88'?8'80?{~|@*UUU*UUU*0 /9 00fI{!X@ Install_msdosFS V1.00 Copyright 1989 ConsultronX$H$IG=r <`&Q,x)N=)O=B=&np"<0N)k=Jgp )@=a. k"h r)I=ЁRBgR@UBw Sԁ SQ S Q"O/ `x)k:=pRѬ=aA\NA\N)@=/$@ *$g,l@4 @"()A=N"* g$<N)@=g @'h l=/Hl= h$)h=NN"Hp` // ,=g @NN:,x"l@4NbN^J=g",=gN,xN|"l=N Hs@AY5p h_V; .4.docMEpp> CrossDos Read/Write Version Presented by THE VERY BEST ... QUARTEX Contact the ONLY NAME in the BUSINESS Postbox 58, NL-9422 ZH Smilde, Netherlands Call YOUR LINK TO PERFECTION "If you do not know where it is...YOU ARE LAME" This is THE BEST IBM<-->AMIGA dos utility to come out YET. You can warp files out from a PEECEE ON an Amiga without having to transfer the file to Amiga format...Just put the IBM Disk in and AWAY YOU ~G  <("<AC0 0AfNjV#`#d#h,yCNh#"@#&NbNiV <"<($<GB333H@HAHB333a#lH#lNu#Hl3N3@3,3 BNugraphics.library "$&(*,.02468:<>+2$ ,H?>=<;PONMLKJIHGF[ZYXWVUTSRQfedcba`_^]\qponmlkjihg|{zyxwvutsr~}/DY7oundmonitorp geA 5.docpr - - How to use A.D.S.R. V2 - - Why make another SoundTracker Ripper, I hear you ask!?!? Well... This one may not be the best but it's god damn good!!! Ok, How to use...: 1. SEARCH This will start searching the memory for possible songs. If a song or similar is found, all infos are displayed. You may now choose to continue the search (perhaps it wasn't a ST-song) or you can use the other Commands. 2. CHANGE NO. If you choose to save the instruments, you may like to change ɫ A6pHK8A"P$QX+IX+JHaL"mQ ,xN.&mP ."<N:+@ P S"m "XT"Q/ ,S&m (KJ"< XgN:(XQ&_|z kg kg kg kg kNqJzRn/C m X"RSg"P (" (X#@P`.BC* m PP""m N."mQ N.LNa(J  K"m ""qPN`>aP`6JgRzNuJ m "pP g$" m (pPS L$I""$Q``HK}:@8@@<a$A"zbJfaJfaJfaJfa,x <"<N:JfNu#,x <%"<N:JfNu#"##df0:Ap><"PR0QpCTE"94<3AHA3AHA2TB3BTB$PPIQ2pHH2aa<,xCNhA CNhA CNhA ,@AC N @#C(N,y#x-|ryaaVaaNaa^aaaMaT,y-yxH"Ha*)('&%$"Jt8.docDOCp+ H;/     $#"! /.-,+*)('&%:9876543210EDCBA@!!$?p Table of Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Installing A-Max . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Making Backups. . . . . . . . . . . . . . . . . . . . . . . . .2 ROM Installation. . . . . . . . . . . . . . . . . . . . . . . .3 Connecting an Apple 800K external drive . . . . . . . . . . . .3 Installing the cartridge. . . . . . . . . . . . . . . . . . . .4 Transferring the first system disk#-bba`_tsrqponmlkj~}543210/.-2\N49.docEp%. . . . . . . . . . . . . . .5 Startup Program . . . . . . . . . . . . . . . . . . . . . . . .6 Hard drive installation . . . . . . . . . . . . . . . . . . . .6 Startup Preferences. . . . . . . . . . . . . . . . . . . . .. . . . . .7 Video options . . . . . . . . . . . . . . . . . . . . . . . . .7 Memory options. . . . . . . . . . . . . . . . . . . . . . . . .8 Serial/Parallel and Imagewirter emulation options . . . . . . .8 Save and Go A-Max . . . . . . . . . . . . . . . . . .&4lO . . . . .9 The Mac Boot screen . . . . . . . . . . . . . . . . . . . . . .9 A-Max Operations . . . . . . . . . . . . . . . . . . .. . . . . . . . 10 Keyboard differences. . . . . . . . . . . . . . . . . . . . . 10 Disk eject. . . . . . . . . . . . . . . . . . . . . . . . . . 11 Finder shutdown . . . . . . . . . . . . . . . . . . . . . . . 12 Mouse buttons . . . . . . . . . . . . . . . . . . . . . . . . 12 Disk Drives . . . . . . . . . . . . . . . . . . . . . . . . . 13 Sound '.. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 The A-Max RAM disk. . . . . . . . . . . . . . . . . . . . . . 14 Time Clock. . . . . . . . . . . . . . . . . . . . . . . . . . 14 System Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Expansion Memory . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Apple's Filing Systems - HFS and MFS . . . . . . . . . . . . . . . . .18 Mac Disk Transfer Software . . . . . . . . . . . . . . . . . . . . . .19 Mini(d*/ Transfer Disks . . . . . . . . . . . . . . . . . . . . . 19 Full Disk Transfer. . . . . . . . . . . . . . . . . . . . . . 20 AmigaDOS File Transfer Software. . . . . . . . . . . . . . . . . . . .21 Downloading Software . . . . . . . . . . . . . . . . . . . . . . . . .22 Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Apple ImageWriter . . . . . . . . . . . . . . . . . . . . . . 23 Epson compatible 9 & 24 pin dot matrix. . . . . . . . . . . . 23 Apple Las)RoerWriter and other PostScript laser printers . . . . 24 Other printers. . . . . . . . . . . . . . . . . . . . . . . . 25 Hardware Modification for A500/A2000 . . . . . . . . . . . . . . . . .25 Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 INTRODUCTION A-Max is a hardware and a software combination that allows Macintosh software to run on any Amiga model wit*kTh any amount of memory installed. The Amiga offers several advantages over the Macintosh in that it has a higher resolution, faster processor than the Mac and Mac Plus, and allows for more RAM. An Amiga system with A-Max lets you run all the Amiga's software as well as giving you access to most of the productivity software that has made the Mac a success. This manual will tell you how to use the A-Max system and point out the differences between an Amiga with A-Max and a MacintoshKɐ. It is assumed that you are familiar with the Macintosh system and know how to use the Mac applications you want to run. You should read this manual in its entirity before starting to use A-Max. You A-Max package should contain: The A-Max cartridge One disk labelled "A-Max Program Disk" One disk lagelled "A-Max Utilities" This manual An A-Max registration card It is very important that you complete and mail the registration card back to us. As well as giving you a 90 day+1|{zyxwvu,?gC@? $ mesp#.d]=-VIRUS-CONTROL V1.3 - a powerful ANTI-VIRUS-program !! ----------------------------------------------------- Herewith I declare VIRUS-CONTROL V1.3 as PUBLIC-DOMAIN !! --------------------------------------------------------- Hallo Amiga-friends, First of all, sorry for my poor school-English (I'm a German). There are a lot of Anti-Virus-Programs. But none of these programs could satisfy me. Therefore I programed my own Anti-Virus-Program, very compact, very easy to use, but lots of#/i useful functions. Now the operating instructions for VIRUS-CONTROL V1.3 - runs on any Amiga - 100 % assembler - survives reset - dangerless Boot from Virus-Disks because of Boot-Simulation - you can switch off FastRam during reset - Disks are checked during insertion - Protection from Link-Viruses by File-Protection-mark - show Bootblock on screen - save Bootblock to a file - overwrite Bootblock with a file - write Original-Commodore-Bootblock, - write NoFastMemory-Boot#0S>block - Inactivate(NoBoot) and reactivate(Boot) of (Virus)disks - an extra task checks system-vectors every second - kill system-virus by system-vectors-restoration - you can change write-access to bootblock to harmless read-access - a suspected Bootblock can be catalogued as dangerless - a suspected Bootblock can be catalogued with a name - the access to files can be controlled by an requester - you can start VIRUS-CONTROL with additional characters -f do not search S#1@:NoWarning, S:VirusName -c no green color-signal during disk-insertion -t do not check already inserted disks -o control File-access I have added the well documentated source-code. VIRUS-CONTROL is carefully thought out and compactly programmed. Nevertheless there is a filelength of nearly 13 KB. In spite of economical Intuition-programming, there are needed 5 KB only for the Intuition-structures. You can start VIRUS-CONTROL in CLI or in startup-sequence with #2"or without 'run'. If you try to start VIRUS-CONTROL, DOIO- and COOL-Vector are checked. If these vectors are changed, you are told, that your Amiga seems to be infected, and best you switch off your Amiga. Then switch on your Amiga again and start VIRUS-CONTROL early. Now no more virus can infect your Amiga in an unrecognized manner. If VIRUS-CONTROL is installed already, you are told about this. If VIRUS-CONTROL finds a changed KICK-vector or a changed BeginIO- vector, there will be#3 f an information only, because also serious programs change these vectors (FACC changes Begin-IO, RAD: changes KICK-vectors). The reset-routine jumps to VIRUS-CONTROL by the COOL-vector. VIRUS-CONTROL now checks, if left mouse-button is pressed. In this case VIRUS-CONTROL will be removed. Otherwise a green color-signal indicates, that further VIRUS-CONTROL is controlling the system. Now DOIO-vector is set to VIRUS-CONTROL. From now on each DOIO is checked if it is a DOIO to disk trac#4d%k 0. The following boot-routine, the insertion of a disk or 'loadwb' does a DOIO to disk track 0. If you start VIRUS-CONTROL without -t, there also is a DOIO to disk track 0. Your Amiga only boots from disk, if it is a DOS-disk and if the bootblock-checksum is correct. If this is fulfilled, the disk-bootcode is checked. If the bootcode differs from Standard-bootcode, this bootcode could be a bootblock- virus. But also it could be a harmless Intro or autoboot-game. Such a disk is con#5psidered as a 'suspected disk', because it could be a Bootblock-Virus-disk. If your Amiga wants to boot from disk, VIRUS-CONTROL checks if the inserted disk is a 'suspected disk'. In this case there will be a requester, which offers a dangerless Boot-simulation or the real disk-boot-routine. If you select the real disk-boot-routine, there will be another requester, which will inform you about the danger of activating a bootblock-Virus by the real disk-boot-routine. You are working w# }ith your Amiga. If you now insert a 'suspected disk', a powerful Warn-Window will appear. If you press right ALT-key and insert a 'suspected disk', VIRUS-CONTROL will not check the disk. No Warn-Window will appear. If you press left ALT-key, there always will be a Warn-Winow, also if the inserted disk is 'not suspected'. In this way you can work on 'not suspected' disks too. If there is not enough memory to open the Warn-Window, a black color-signal will indicate the 'suspected disk'67rONMLKJI^]\[ZYXWVUTihgfedc71N9IRUSp6c{{ / /,xHN"@JfP/A\N"_A\N/A" $ $C E"G"aT $ $"_N <H"<N:# bg #:RJ"f J&fJ*g#*# aA^C@N @A# f d,#*# #Begi #nIO- aA b&zJpfQA &n.pf Q` ReHCNJLf"z AR(AѨTѨXѨ ѨѨѨѨ`Ѩ\ѨfѨbѨѨѨѨѨѨѨ6Ѩ2ѨѨѨѨ>ѨZѨѨ8H:      '&%$#"! 210/.-,+*)(=<;:9876543HGFEDCBA@?>SRQP:iN 9.sUS-CONTROL.sp;9=b`yx=V10.sreplay.sp8PT; Pius Nippgen, Bergstr.12, D-6657 Gersheim 8, Tel. 06843/781 (06843/1522) ; WEST-GERMANY ; VIRUS-CONTROL V1.3 - Sourcecode: ; --------------------------------- ; Sorry for my poor school-English ; done with SEKA-Assembler. ; 05. May 1989 start: move.l $4.w,a6 movem.l d0/a0,Parameter ; save address + number of additional characters sub.l a1,a1 ; FindTask() (or process) jsr -294(a6) move.l d0,a1 tst.l $ac(a1) ; pointer to ConsoleLineInterpre;H8<<.!\897d6* Soundtracker FastReplay v1.0 * * For D.O.C Sound Tracker v2.3 * * Written by Midway of PxO/ACME Factories in 1989 * * Contact us: Blish, Toredalsv. 58, 144 00 Ronninge, Sweden * length=0 bsr pxo_init pxo_next: bsr pxo_blanking move.w #0,$dff180 bsr pxo_music move.w #$555,$dff180 btst #6,$bfe001 bne.s pxo_next bclr #1,$bfe001 move.w #$000f,$dff096 rts pxo_blanking: cmp.b #$ff,$dff006 bne.s pxo_blanking pxo_blanking2: cmp.b #$ff,$dff>BKJIHGFEDCB <[dirq,@[^ /\ \ \ \ /\ \ \ \ \ /\ \ \ \ \ /\ \ /\ \ \ \ /\ \ \ \ \ /\ \ \ /\ \ \/////// \//////////\///////// /\/// \/////// /\//////////\///////\/// __/\//_ /\// /\//\ \ \// /\///___ __/\//_ /\//\ \ \///\///\///\/// /\ \//\ \ /\// /\///////// /\///\ \ \ /\ \//\ \ /\//////////\///\// \/// \//////// \// \// \// \///////// \//////// \// \// \// \/////// BAD BOYS ,, // BAD BOYS   : Utilitiesp7 $ Sp>C'OPO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F D$",$ҩ#p"ҩt0")ҩv0#B #C$`Vrҩ <4IPN")$ <4IPN`Nrҩ <4IPNJ$g")$ <4IPN` ") t#gv%gx(gz|g`R",(lF$)v0(n ",,`J(fr`R")ҩt0)B8#l(B(B,r#A#i `",$ҩ#p$"ҩ$t0#B(`J`prҩ$$ԁr0(#A(",8(fN")ҩ$t0" <8IPN`,")(t#gv%gx'gz(g|?g~|g`R") lZ`0NNq>Es4 put Jf t)B`Hr#A#l`",ҩ$fNR")lR$,Ԭ!(Nrch ",n t)B`R",Ҭt0)BNnextiter'Pf p INp INNprim "0#l,pIN`Pr)A8"`hp IN$pI N"`P"pIN"t),gv)C8pIN"`&")tgv#gx(gz)g||g`NNqexp BpIlN#At|gv)g xfD$)")pIN#At|g`4",ґ$,"pIHN`$,")pIN`Nset>FUexit`&",ґt0#B",ґ"JfNNqjoin #AJf"`:`",ґt0"",ґt0Jf",ґ")NNqcmplpat)Ax)B|B&x08)DBB#D `",|ҩtR") lpINrp INtpItN",FNbreak.crp (jNJgG," p (j$Nr`rNNq *** BREAK concat &x08*|0X#D#F ~#G#F`(")ҩt0")ҩ&ց8R")l$)ԩ &8Nmakecap&x08*X"t0#B v#C`,"ҩ>Gڄ t0"p(j,N$)ԩ(R") lNfindnex`>r҉#A tԩ"$) p@IN&) $)"p@INJgr`")pINJfrNaddlockrp(jtN#AJf GP" p(j$Nr (jPN`")!x")!%ixN Out of Workspace freeloc$<xԊ#B#jx`N")$f,"p(jN")$)!(")p(jxNN#i")#pJfNgetlockp(jN#AJfG$ #B Jf"`.")t0҂t0r:f ") ` G" #AJf ") `")#A>Hb(&)$G" p$INrp$(jPN`")pI N")N/)Could not get information for "%S%S%S" - myfaultrp(j(N#A() &)$)"p (j(N")p (jN$)rp (j(NNexaminepILNJgNG," pINr (jPNNCould not examine disk exobjec"#Q(#i,() v$0 rp(jN#AJf$&0( $rp(jNJg ")``NNqexnext rp(jN#A$#p( #A,#Q0()$v$)r (jN#A Jf&)$)rp(jNJg ") ``NNqispat Jfr`"t0J>I<fr`r"t0#Bv#C`N`r`P"ҩt0"t#gv%gx'gz(g|)g~?gp|g`R")lrNhandle.Jg$v0(#Cx#D`t"ҩt0"p(j,N#A `8r%A\`Fr%AX`J^@px(j(Nv$)G" px(j8NJg")Jft")Jg>") px(jhNJfr <(j(Npx(jN`G" px(j$N")Jgr`(")J g") px(jN#Alp|(jN#ApJlfr <(j(N <(jN")l <(jN <(jN#Attg&")t <(jN <INJf` <(jN")p <(jN")J f $"(`BJg&#i`r p$(jNRr l` p (jNF""JfJf p(jNrN   ? %C!Invalid response - try agai> Kjqn : %C'B=BACK/S,DEL=DELETE/S,Q=QUIT/S,T=TYPE/SDeleted add.to.#A&#p8 #jd(z0Ht"p (jNҪdT#A$<Ԫ`oG" p$(j$Nr`%id")t0#BB`&")ҩt0rҩҩR")l`")#p") #p J grҩ $)p$(j4NJo")!")! rN.No free store for filenames - list incomplete do.workB #jdx#D`#j\p(INJg B`")JxoB#i `GD" p0(j$NR") ltԩ> NlGL" p((j(NJhgr ҉#AGX$ #BttG" <(j(Nv$)")t <(j8NJftG" <(j(N``")JgNtԩ" <(jhNJf r <(j(N <(jN`G" <(j$N")Jgt#B")Jf J g")tJ fF#B`` p((jNJg4rҩtp(I\N#Atԩ(&)$p,IN#ABJg@`*JXf"rҩ$r ҉p(IN#AJg")p$I4NJfJgJXf$)") p$IN#A%id")N %S (dir)LMhM >@waitqLϟA'OO(jdp N$"<I(l/ / g ,倲l"4(T`,2(jtp NJg2**p$A. J (F > Let's jump in the move with COOL-ACTION <<-- + type or more the following - menu (this menu) - cool (usefull advertisements) - contact (our adlfdresses) - greet (guess what ??) - end (list of our productions) - line-up (our members) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- If there is somebody in this world that feel himself alone or want to leave his group to join our crazy crew that's your occasion we always look for good crackers/trainer maker,graphix wizard,coder,musician and  BBS sysop. n - 6 Protec III by Trilogy - 7 The new master sound controller - type or more 8.doc for A-MAX instructions - 9 Virus control v.1.3 - type or more 9.doc for instruction and 9.s for seka source code - type or more 10.s for ST fast replay 1.0 for DOCST 2.3 seka source code -->> Let's jump in the move with COOL-ACTION <<-- + type or more the following - menu (this menu) - cool (usefull advertisements) - contact (our adnXdanish dragons darkness deathstar -- gloryboy , viz * defjam & ccs & spreadpoint -- archmage destiny 7 detonator 4001 * digital emotion inc. -- drake * digital technology [DIGITECH] -- warlord , the ruler disk-o-tech (Canada) donausoft vienna dragon * dream master dream warriors -- master command dst dual access & amilink - dr.hardware dual duo dudes -- zephyr d-tect -- turboflash ecc * eclipse -- mutant election & D.I.E.D. -- zark empire energy enterprise escape -- thunderhawk exceoVh>l australia exec experts system -- dekmin express extreme team * fashion -- shark fatal error -- gandalf final frontiers finnish amiga duo * finnish bit wizards [FBW] & ivory -- blot florida cracking crew (USA) -- the poser fraggle freedom force * freestyle U.K. [FUK] -- big al fresh future powers futurity -- edge game force & public sector garfield genesis project ghostriders g.o.f. golden goonies 2041 graphic boy guards of doom [GOD] -- cloud hunter hacktrick cracking crew hawk hccp4s - star trek heaven 17 high class -- amiga boy highspeed & antrax & escape -- slayer hitech -- century hi-tech imports [HTI] & Ydex hoc -- suicide horizon hunter crew berlin [HCB] -- flying tiger ics italy -- mr. fly image imp/666 -- mr.evil iron eagle crew [IEC] -- iron eagle isi it -- jilsoft , the crit jason II j-beam -- ultron johnny too bad juyce/speedy krush la prunelle laser brigade -- calhoun lazer leen legend -- goldfish level 4 lhynx light'n'flash lonewolf & amiga mad mad qmonks * madonna association -- propaganda , the future flash [TFF] master crew masterforce mci -- poldi megabyte megadeath megapowers -- mr.coolman microdigitals -- warlock might -- vdx mobidique enterprise (Canada) mr.aga * nemesis -- coachroach network -- ratzer new imagine -- gissy * north-star -- torch , zelnik * orion -- the enforcer overlord -- adept * padruga -- the untouchable survivors [TUS] panzer faust * paranoimia -- mr.fly personal crackings phaze 101 phenomena phoenix rNPplayboys plutonium * phreaking international -- mike project b quadrant -- cobra * quartex * quicksilver ratso razor 1911 -- dr.no , fury * rebels * red sector [RSI] - irata robocops rough trade [RTI] royzek run dmc sargon * savatage (USA) saxxons crew -- machoman scg * scoopex [SCX] -- ranger , lloyd secret force seven up -- sposh shining 8 [S8] -- fletch shurigen silicon league -- the ram hunter * sinners -- mike slave sledge hammer softrunner crew [SRC] -- nighthawk software of ssJ kweden [SOS] stardom star trek studio norway -- tfs (the unknownpilot) * sunriders -- network 23 * supreme surrender sws taboo tacs from turkey & norway -- microchip tarkus team tck & tpb team x -- hq , final techno thrasher tetragon -- trazer the a team * the band -- duncan idaho , paranoid , hellraiser , the visitor the best group [TBG] the best ones [TBO]-- belgian new beat boys [BNBB] the bolet's -- jgc the brainstormers [BSM] -- broadcaster the brazil boys the cure the  t-Cscritters * the dominators -- cosmo , tron , p.o.p * the dream team [TDT] & subway -- the bad cat , bug the enemies * the flash team the force the last generation [TLG] -- the famous loser the leaders -- alphabit 105 the maffia -- zippy the magic circle -- tmc the magnum force [TMF] the mission the pale rider the predator uneliminated the raiders (brasil) the raising force -- rastan the sex boys the shades -- tiger jim the shapes -- astinus * the silents -- rastan , capone * t u; he softkillercrew [TSK] -- andy the source (NEW ZELAND) the spench -- action jackson * the supply team [TST] & tartan army & Kefrens -- hagar the weird science -- creator thf -- mr.coolman thorax * threat -- phil tnd-kefrens -- sky top swap tour de future [TDF] & reflex (Australia) -- matt tsb trevor (australia) triad * trilogy -- nightflash , shadow tron unique -- mace , coppermaster * vince (USA) * vision -- stingray * vision factory -- kai * visualflex inc. [VI] (Cana Pߔda) -- (atari baby ,mercenary) vortex 42 [V42] -- rastan * wallie wanton wcs weird science wizzbringers -- warlord wizzcat wolfe xakk -- mr. backer x-beat -- blob * x-men -- loki , raven x-press x-ray yumasoft zigag & destiny -- looping - all conference leaders - all sysop of bbs that we have a chat - CCS & ATI operatorsnated the raiders (brasil) the raising force -- rastan the sex boys the shades -- tiger jim the shapes -- astinus * the silents -- rastan , capone * twap'N Duracell : Swapper-Coder-Cracker-Trainer Guy : Coder Ricky : Graphics Petronio : Mascotte HOLLANDSECTION : JDesign : Swapper-Graphics-Hardware freak BRAZIL SECTION: Bambino : Swapper-Coder on Amiga and 64 SUISSESECTION : Oxigene : Swapper-Coder only on 64 Mix : Swapper-Music-Graphix BELGIUMSECTION : Amnesia of Hysteria : Swapper-Coder-Music-Grb=aphix NORWAYSECTION: Mr.Nobody : Swapper-Graphics Hacker : Swapper-Coder DENMARK SECTION : Drake : Coder-Graphix-Modem(1200baud)-Few swapping Murdock : Coder-Few swapping Godfather : Cracker-Graphix-Modem(2400baud)-Swapper-Few Music Psoft : Coder-Graphix-Sysop-Few music LN :Music-Sysop FINLAND SECTION : Cad Mango : Graphix SWEDENSECTION : Big Muff : Swapper-Coder --------------------------------------------9y1423a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0 dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097 dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000 pxo_channel1: dc.l 0,0,0,0 pxo_channel2: dc.l 0,0,0,0 pxo_channel3: dc.l 0,0,0,0 pxo_channel4: dc.l 0,0,0,0 pxo_patterncnt: dc.l 0 pxo_patoffset: dc.l pxo_patterndta pxo_channels: dc.w $8000 pxo_patternpos: dc.b 64 pxo_counter: dc.b 2 pxo_arpcount: dc.b 4,0 pxo_sampleinfo: blk9\o .l 31*4,0 pxo_voicesave: blk.l 2,0 pxo_patterndta: blk.l length+1,0 pxo_musicdata: blk.b 0 ,d0 bne.s pxo_clear lea pxo_musicdata+$3b8,a0 lea pxo_patterndta,a1 move.b -2(a0),d7 ext.w d7 pxo_getpat: moveq #0,d0 move.b (a0)+,d0 mulu #$400,d0 add.l #pxo_musicdata+$43c,d0 move.l d0,(a1)+ dbra d7,pxo_getpat clr.l -4(a1) move.l pxo_patoffset,a0 move.l (a0),pxo_patterncnt bset #1,$bfe001 rts pxo_arptable: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $0,{2ޑ____________  This disk contains only ST-v2.4.  | |  You can use this disk as your  | Contact us at: |  workdisk.It contains all neces-  | |  sary directorys and is only 10%  | Per Lindh |  full.It also contains a new  | Gustavsgatan 17 B |  replayroutine by ACM,|x*E.....  | 69134 Karlskoga |  It uses much less raster time  | Sweden |  than the others released already.  | |   |(For swapping - only elite.|  IBB in 1989..Soon to perfection.  | For other reasons - |  Already a world empire.......  | everyone.) ,_^ |  |___________________________|  Another disk by Big Muff/IBB    $.<FVblm sary directorys and is only 10%  | Per Lindh |  full.It also contains a new  | Gustavsgatan 17 B |  replayroutine by ACM D I I Per Lindh I Gustavsgatan 17b I 69134 Karlskoga I Sweden I I on Amiga I I ------------------------------------------------------------------------------- ----------------------------------- MIX: I DRAKE adisk - Copy Disk V.2.0-2.1 - Game Pack 1-16 - No more heroes (13) - DIGITECH copy disk - Sorcery+ trainer - Soundtracker attack 1 - World of Noise - The digital soundisk 1-3 - Growth & Atax trainer - The soundtracker dimension - Plexy-Glace (14) - The digital sound studio - Action Service trainer - DIGITECH utility disk - Metallo che sballo (15) - IBB - P.P.F.D. 1-4 (E - Huey trainer - Link Collection - Alpha-1 & Cortex trainer - Arkanoid II + - Return of the Jedi trainer - Soldiers of Light trainer - Alert trainer - Swap Hard , Swap Free (16) - Evil Dawn trainer - King of Barbarians trainer - Too lame to tame (17) - Art Studio vol.1-2 - Flaschbier trainer - Condom's revenge never too strange (18) - Victory Road trainer - No axxess to the BBS (19) - Pipeline megatrainer - COOL Action 20-27 - Ballistix megatrainer - Born to be free (demo) - Bomb fusion megatrainer - Hyperdome + - Test drive + - Chuckie Egg II + - Raffles + - Renegade + - MEGADEMO 1 - The Return 1 - Psygnosis slideshow - Exolon + - Smash it hard 2 - DIGITECH/IBB demo - Belgian new beat #1 - coll. 3 - the best copy collection nr.1 - Roll-out ++ - Metal-pack #1 |) - SDI ++ - Xybots ++ - Phobia + - IQ test - Anti DOCdemo - Utility disk 1 - Drakebit demo - Bobedit - Phant demo - IBBtrainer pack vol.I - Planet of lust cracked - Qix + - Twylyte + - Rick dangerous + - Nightwalk + ondom's revenge never too strange (18) - Victory Road trainer - No axxess to the BBS (19) - Pipelinemnf mystix baby gang -- tagada * bamiga sector 1 [BS1] -- outbound bbs bcs * beastie boys -- the syndacate beyond force -- axeman * black monks -- fletch , tfc blaze bloodsuckers -- hoffi * bolero boot boys brainbug browbeat -- sparky canadian kickstart crew [CKC] (Canada) canon the barber chaos & slipstream cironics complex copper crew * cosmos -- gca crazy crime -- flasfox 66 * crusaders -- bravestar cryptoburners cyborg corporation damo soft dandy soft team -- rast danish divisions 97J pxo_portup: move.w 10(a5),d0 sub.w d0,(a5) cmp.w #$71,(a5) bpl.s pxo_allright1 move.w #$71,(a5) pxo_allright1: move.w (a5),6(a6) rts pxo_portdown: move.w 10(a5),d0 add.w d0,(a5) cmp.w #$538,(a5) blt.s pxo_allright2 move.w #$538,(a5) pxo_allright2: move.w (a5),6(a6) rts pxo_doeffects: tst.b 4(a5) bne.s pxo_iseffect rts pxo_music: move.w pxo_channels(pc),$dff096 clr.b pxo_channels+1 moveq #16,d6 pxo_speed1: cmp.b #5,pxo_counter bne.s pxo_norepeat lea px9o_channel1+4(pc),a5 lea $dff0a0,a6 moveq #2,d7 pxo_setnext: move.l (a5)+,(a6)+ move.w (a5),(a6) add.l #12,a5 add.l #12,a6 dbra d7,pxo_setnext move.l (a5)+,(a6)+ move.w (a5),(a6) pxo_norepeat: subq.b #1,pxo_counter beq.s pxo_nextline lea pxo_channel1-$10(pc),a5 lea $dff090,a6 moveq #16,d6 moveq #3,d7 pxo_dothenext: add.l d6,a5 add.l d6,a6 bsr.s pxo_doeffects dbra d7,pxo_dothenext pxo_nonewpat: rts pxo_nextline: bsr.s pxo_checkvoice pxo_speed2: move.b #69Wڡ,pxo_counter add.l #16,pxo_patterncnt subq.b #1,pxo_patternpos bne.s pxo_nonewpat move.b #64,pxo_patternpos addq.l #4,pxo_patoffset move.l pxo_patoffset(pc),a0 move.l (a0),pxo_patterncnt bne.s pxo_nonewpat pxo_resetsong: move.l #pxo_patterndta,pxo_patoffset move.l pxo_patoffset(pc),a0 move.l (a0),pxo_patterncnt rts pxo_checkvoice: move.l pxo_patterncnt(pc),a0 lea pxo_sampleinfo(pc),a1 lea pxo_voicesave-2(pc),a3 lea $dff0a0,a6 lea pxo_channel1(pc),a5 bs9lr.s pxo_getaddr bmi.s pxo_notvoice0 moveq #1,d1 bsr.L pxo_startchan pxo_notvoice0: bsr.L pxo_checkfxts addq.l #4,a0 add.l d6,a6 add.l d6,a5 bsr.s pxo_getaddr bmi.s pxo_notvoice1 moveq #2,d1 bsr.s pxo_startchan pxo_notvoice1: bsr.L pxo_checkfxts addq.l #4,a0 add.l d6,a6 add.l d6,a5 bsr.s pxo_getaddr bmi.s pxo_notvoice2 moveq #4,d1 bsr.s pxo_startchan pxo_notvoice2: bsr.L pxo_checkfxts addq.l #4,a0 add.l d6,a6 add.l d6,a5 bsr.s pxo_getaddr bm9( i.s pxo_notvoice3 moveq #8,d1 bsr.s pxo_startchan pxo_notvoice3: bsr.L pxo_checkfxts rts pxo_getaddr: addq.l #2,a3 tst.w (a0) beq.s pxo_nosample moveq #0,d5 move.w 2(a0),d0 and.w #$f000,d0 beq.s pxo_oldsample sub.w #$1000,d0 lsr.w #8,d0 move.w (a0),d1 and.w #$f000,d1 lsr.w #4,d1 or.w d1,d0 move.w d0,(a3) rts pxo_nosample: move.w 2(a0),d4 and.w #$f000,d4 tst.w d4 beq.s pxo_no lsr.w #8,d4 sub.w #$10,d4 move.w d4,(a3) moveq #0,d5 pxo_no: 9 0Tmove.b #-1,d0 rts pxo_oldsample: moveq #1,d5 move.w (a3),d0 rts pxo_startchan: move.w d1,$dff096 move.l (a1,d0.w),(a6) move.w 4(a1,d0.w),4(a6) move.w (a0),d2 and.w #$fff,d2 move.w d2,6(a6) move.w d2,(a5) move.l 12(a1,d0.w),4(a5) move.w 8(a1,d0.w),8(a5) or.b d1,pxo_channels+1 tst.b d5 bne.s pxo_novolchnge move.w 6(a1,d0.w),8(a6) move.w 6(a1,d0.w),2(a5) rts pxo_novolchnge: move.b 3(a5),d1 move.w d1,8(a6) rts pxo_checkfxts: move.w 2(a0),d0 move.b9 =E> d0,d1 and.w #$fff,d0 bne.s pxo_effect clr.b 4(a5) rts pxo_setarp: move.b #$10,4(a5) move.b d1,11(a5) moveq #0,d0 move.b 11(a5),d0 lsr.b #4,d0 bsr.s pxo_getvalue move.w -2(a2,d0.l),12(a5) moveq #0,d0 move.b 11(a5),d0 and.b #$f,d0 pxo_getvalue: add.w d0,d0 moveq #0,d1 move.w (a5),d1 lea pxo_arptable(pc),a2 pxo_search: cmp.w (a2)+,d1 bne.s pxo_search move.w -2(a2,d0.l),14(a5) rts pxo_changespd: move.b d1,pxo_speed2+3 subq.b #1,d1 move.b d1,pxo_9 FMkspeed1+3 rts pxo_setvolslde: move.b d1,11(a5) move.b d0,4(a5) rts pxo_effect: lsr.w #8,d0 beq.s pxo_setarp cmp.b #$1,d0 beq.s pxo_port cmp.b #$2,d0 beq.s pxo_port cmp.b #$a,d0 beq.L pxo_setvolslde cmp.b #$b,d0 beq.s pxo_posjump cmp.b #$c,d0 beq.s pxo_setvolume cmp.b #$d,d0 beq.s pxo_patternbrk cmp.b #$e,d0 beq.s pxo_chgefilter cmp.b #$f,d0 beq.s pxo_changespd rts pxo_port: move.b d1,11(a5) move.b d0,4(a5) rts pxo_posjump: move.b #1,pxo_pa9 rFtternpos ext.w d1 ext.l d1 beq.s pxo_pattern0 subq.b #1,d1 pxo_pattern0: lsl.w #2,d1 move.l #pxo_patterndta,pxo_patoffset add.l d1,pxo_patoffset rts pxo_setvolume: move.b d1,3(a5) move.b d1,9(a6) rts pxo_patternbrk: move.b #1,pxo_patternpos rts pxo_chgefilter: tst.b d1 bne.s pxo_filteron bclr #1,$bfe001 rts pxo_filteron: bset #1,$bfe001 rts pxo_init: lea pxo_musicdata+$3b8,a0 moveq #0,d7 move.b -2(a0),d7 moveq #0,d1 pxo_highvalue: move.l d1,d2 pxo_ne9 &ߛxtpatchk: move.b (a0)+,d1 cmp.b d2,d1 bgt.s pxo_highvalue dbra d7,pxo_nextpatchk addq.b #2,d2 lea pxo_musicdata,a0 lea pxo_sampleinfo,a1 mulu #$400,d2 add.l #$38,d2 add.l a0,d2 moveq #31,d7 pxo_nextinstr: move.l d2,(a1)+ moveq #0,d1 move.w 42(a0),d1 move.w d1,(a1)+ move.w 44(a0),(a1)+ move.w 48(a0),(a1)+ clr.w (a1)+ move.l d2,(a1) move.w 46(a0),d5 ext.l d5 add.l d5,(a1)+ asl.l #1,d1 add.l d1,d2 add.l #$1e,a0 dbra d7,pxo_nextinstr lea9xa pxo_sampleinfo,a0 move.l #$1e0,d0 pxo_clear: move.l (a0,d0.w),a1 clr.l (a1) sub.l #16,d0 bne.s pxo_clear lea pxo_musicdata+$3b8,a0 lea pxo_patterndta,a1 move.b -2(a0),d7 ext.w d7 pxo_getpat: moveq #0,d0 move.b (a0)+,d0 mulu #$400,d0 add.l #pxo_musicdata+$43c,d0 move.l d0,(a1)+ dbra d7,pxo_getpat clr.l -4(a1) move.l pxo_patoffset,a0 move.l (a0),pxo_patterncnt bset #1,$bfe001 rts pxo_arptable: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c dc.w $08o1 dc.w 0 dc.l 0 gad90: ; 4 stringadgets, because of dc.l gad0-reset ; reentrance df0: - df3: dc.w 37,8*18+38,566,12,0,1,4 ; stringgadget will be FirstGadget dc.l gadborders-reset,0,0,0,string0-reset dc.w 9 dc.l 0 string0: dc.l buff0-reset,undo0-reset dc.w 0,buff1-buff0,0,0,0,0,0,0 dc.l 0,0,0 gad91: dc.l gad0-reset dc.w 37,8*18+38,566,12,0,1,4 dc.l gadborders-reset,0,0,0,string1-reset dc.w 9 dc.l8㺲 0 string1: dc.l buff1-reset,undo1-reset dc.w 0,buff1-buff0,0,0,0,0,0,0 dc.l 0,0,0 gad92: dc.l gad0-reset dc.w 37,8*18+38,566,12,0,1,4 dc.l gadborders-reset,0,0,0,string2-reset dc.w 9 dc.l 0 string2: dc.l buff2-reset,undo2-reset dc.w 0,buff1-buff0,0,0,0,0,0,0 dc.l 0,0,0 gad93: dc.l gad0-reset dc.w 37,8*18+38,566,12,0,1,4 dc.l gadborders-reset,0,0,0,string3-reset dc.w 9 dc.l 0 string3: dc.l buff3-reset,undo3-reset dc.w 0,buff1-buff0,0,0,0,0,0,0 dc.l 0,0,0 gadborder8:#: ; all Gadgets, execept Stringgadget and top-Gadget dc.w -1,-1 dc.b 2,1,0,18 dc.l pairs-reset,0 gadborders: ; Stringgadget dc.w -8,-4 ; GadgetID = 9 dc.b 2,1,0,18 dc.l pairss-reset,0 gadborder1: ; large-top-Information-Gadget dc.w -1,-1 ; GadgetID = 10 dc.b 2,1,0,18 dc.l pairs1-reset,0 pairs: ; shadow by borderlines dc.w 0,13, 0,0, 167,0, 167,13, 0,13, 1,14, 168,14, 168,0, 169,1, dc.w 169,15, 170,15, 170,2, 171,8wY3, 171,15, 2,15, 3,16, 172,16, 172,4 pairss: dc.w 0,13, 0,0, 567,0, 567,13, 0,13, 1,14, 568,14, 568,0, 569,1, dc.w 569,15, 570,15, 570,2, 571,3, 571,15, 2,15, 3,16, 572,16, 572,4 pairs1: dc.w 0,54, 0,0, 567,0, 567,54, 0,54, 1,55, 568,55, 568,0, 569,1, dc.w 569,56, 570,56, 570,2, 571,3, 571,56, 2,56, 3,57, 572,57, 572,4 font: ; some requester-texts are to long for Topaz 60 dc.l topazfont-reset dc.w 8 dc.b 0,1 topazfont: dc.b "topaz.font",0 even ; 4 Stringga8Gdget-buffer, because of reentrance df0: - df3: buff0: dc.b "ram:filename",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; 32 Bytes buff1: dc.b "ram:filename",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; is even buff2: dc.b "ram:filename",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 buff3: dc.b "ram:filename",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 window: ; New-Window-structure of Warn-Window dc.w 0,0,640,200 dc.b 0,1 ; CLOSEWINDOW|GADGETUP dc.l $240,$100f,0 ; ACTIVATE|W.DE8pPTH|W.DRAG|W.CLOSE|W.SIZING|SMART_REFRESH dc.l 0,taskname-reset,0,0 dc.w 290,68,640,200,1 ; WBENCHSCREEN ; WINDOWSIZING -> do not destroy PrintIText, SMART_REFRESH does not restore structtask: dc.l 0,0 dc.b 1,0 dc.l taskname-reset dc.b 0,0,0,0 dc.l 0,0,0,0 dc.w 0,0 dc.l 0,0,0,0 dc.l end-reset+9000,end-reset,end-reset+9000 dc.l 0,0,0,0,0 dc.w 0,0,0 end: ; +9000 Bytes duch All8yɴ!ocMem belegen. ; end bis end+1024 Bootblock-buffer for NoWarning-Funktion ; end+1024 bis end+2*1024+32 Bootblock-buffer for VirusName-Funktion ; end+2080 bis end+2080+128 4 * 32-byte-String-Gadget-Undo-buffer ; end+2208 bis end+2208+40+48+2*34 2*Request-structure,2*Port-structure ; end+2364 bis end+2364+512 512-byte-Sektor-buffer for -t Option ; end+2876 bis end+2876+1024 1024-byte-Bootblock-buffer for df0: ; end+3900 bis end+3908oDǗ0+1024 1024-byte-Bootblock-buffer for df1: ; end+4924 bis end+4924+1024 1024-byte-Bootblock-buffer for df2: ; end+5948 bis end+5948+1024 1024-byte-Bootblock-buffer for df3: ; end+6972 bis end+9000 vector-control-Task-Stack ; vector-control-Task uses jsr AutoRequest() -> needs 1.2 KB Stack ; 9000-6972 = 2028 Stack is enough. Nobuff = end Vibuff = Nobuff+1024 undo0 = Vibuff+1024+32 undo1 = undo0+32 undo2 = undo1+32 undo3 8:# = undo2+32 timereq = undo3+32 ; IORequest(32)+timeval(8) -> AllocMem timeport = timereq+40 ; MsgPort(34) -> MEMF_CLEAR trackreq = timeport+34 ; IOStdRequest(48) trackport = trackreq+48 ; MsgPort(34) blockbuff = trackport+34 bootblock0 = blockbuff+512; bootblock1 = bootblock0+1024 bootblock2 = bootblock1+1024 bootblock3 = bootblock2+1024 0,0,640,200 dc.b 0,1 ; CLOSEWINDOW|GADGETUP dc.l $240,$100f,0 ; ACTIVATE|W.DE9wP006 beq.s pxo_blanking2 rts pxo_volumedown: and.b #$f,d0 sub.b d0,3(a5) bne.s pxo_volok2 clr.b 3(a5) pxo_volok2: move.b 3(a5),9(a6) rts pxo_volumeslde: move.b 11(a5),d1 move.b d1,d0 lsr.b #4,d1 beq.s pxo_volumedown add.b d1,3(a5) cmp.b #64,3(a5) ble.s pxo_volok1 move.b #64,3(a5) pxo_volok1: move.b 3(a5),9(a6) rts pxo_arpeggio: move.b pxo_arpcount(pc),d0 cmp.b #4,d0 beq.s pxo_arpeggio1 cmp.b #3,d0 beq.s pxo_arpeggio2 cmp.b #2,d0 beq.s pxo_arpegg9рio3 cmp.b #1,d0 beq.s pxo_arpeggio1 tst.b d0 beq.s pxo_arpeggio2 rts pxo_arpeggio1: move.w 12(a5),6(a6) bra.s pxo_arpend pxo_arpeggio2: move.w 14(a5),6(a6) bra.s pxo_arpend pxo_arpeggio3: move.w (a5),6(a6) pxo_arpend: sub.b #1,pxo_arpcount bpl.s pxo_noreset move.b #4,pxo_arpcount pxo_noreset: rts pxo_iseffect: cmp.b #$a,4(a5) beq.s pxo_volumeslde cmp.b #1,4(a5) beq.s pxo_portup cmp.b #2,4(a5) beq.s pxo_portdown cmp.b #$10,4(a5) beq.s pxo_arpeggio rts8-v0 WRITEBBtext: dc.b "ATTENTION: WRITE-ACCESS to Bootblock DF" unit8: dc.b "0: turn to READ ?",0 even OVERWRITE: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,OVERWRITEtext-reset,0 OVERWRITEtext: dc.b "Bootblock in DF" unit1: dc.b "0: really write over it ?",0 even OVERWRITEL: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,OVERWRITELtext-reset,0 OVERWRITELtext: dc.b " YES ",0 even OVERWRITER: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,OVERWRITERtext-reset,0 OVERWRITERtext:8y: dc.b " NO ",0 even BOOT: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,NOBOOTtext-reset,0 BOOTL: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,BOOTLtext-reset,0 BOOTLtext: dc.b " Disk-Boot-Routine ",0 even BOOTR: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,BOOTRtext-reset,0 BOOTRtext: dc.b " Boot-Simulation ",0 even REALLYBOOT: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,REALLYBOOTtext-reset,0 REALLYBOOTtext: dc.b "left: could start a Disk-Boot-VIRUS !!",0 even vector0: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,vector0text-reset,8 0 vector0text: dc.b " -vector changed -> VIRUS ? - AMIGA OFF !!",0 even vectorL: dc.b 0,1,0,0 dc.w 7,4 dc.l font-reset,vectorLtext-reset,0 ; Topaz80 da > 60 Zeichen vectorLtext: dc.b " KILL-SYSTEM-VIRUS -> Danger of Guru -> better AMIGA OFF !! ",0 even gadtext16: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext16text-reset,0 gadtext16text: dc.b " SearchFiles ON ",0 even gadtext15: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext15text-reset,0 gadtext15text: dc.b " C8C+#heckOpen OFF ",0 even gadtext14: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext14text-reset,0 gadtext14text:dc.b " File - Protection",0 even gadtext13: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext13text-reset,0 gadtext13text:dc.b " Kill System-Virus",0 even gadtext12: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext12text-reset,0 gadtext12text:dc.b "in S:VirusName-File",0 even gadtext11: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext11text-reset,0 gadtext11text:dc.b "in8Ov S:NoWarning-File",0 even gadtext8: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext8text-reset,0 gadtext8text: dc.b "Finish VirusControl",0 even gadtext7: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext7text-reset,0 gadtext7text: dc.b "r.Checksum -> Boot",0 even gadtext6: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext6text-reset,0 gadtext6text: dc.b "f.Checksum ->NoBoot",0 even gadtext5: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext5text-reset,0 gadtext5text: dc.b "NoFast8ĢMem-BootBlock",0 even gadtext4: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext4text-reset,0 gadtext4text: dc.b "Standard -BootBlock",0 even gadtext3: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext3text-reset,0 gadtext3text: dc.b "File -> BootBlock",0 even gadtext2: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext2text-reset,0 gadtext2text: dc.b "Bootblock -> File",0 even gadtext1: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext1text-reset,0 gadtext1text: dc.b "BootBlock 86-> Screen",0 even gadtext0: dc.b 1,0,0,0 dc.w 7,3 dc.l font-reset,gadtext0text-reset,0 gadtext0text: dc.b " Color-Signal ON ",0 even gad16: ; search files dc.l 0 dc.w 430,6*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext16-reset,0,0 dc.w 16 dc.l 0 gad15: ; Check Open dc.l gad16-reset dc.w 430,5*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext15-reset,0,0 dc.w 15 dc.l 0 gad14: ; protect files dc.l gad15-reset dc.w 430,3*18+43,1668xU,12,0,1,1 dc.l gadborder-reset,0,gadtext14-reset,0,0 dc.w 14 dc.l 0 gad13: ; Kill System-Virus dc.l gad14-reset dc.w 230,6*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext13-reset,0,0 dc.w 13 dc.l 0 gad12: ; in S:VirusName-File dc.l gad13-reset dc.w 230,3*18+43,166,12,0,1,1 dc.l gadborder-reset,0,gadtext12-reset,0,0 dc.w 12 dc.l 0 gad11: ; in S:NoWarning-File dc.l gad12-reset dc.w 230,2*18+43,166,12,0,1,1 dc.l gadborder-reset,0,gadtext181-reset,0,0 dc.w 11 dc.l 0 gad10: dc.l gad11-reset dc.w 30,1*18-3,566,53,3,1,1 ; GADGHNONE since only information dc.l gadborder1-reset,0,NOBOOT-reset,0,0 dc.w 10 dc.l 0 gad8: ; finish Virus-Control dc.l gad10-reset dc.w 430,2*18+43,166,12,0,1,1 dc.l gadborder-reset,0,gadtext8-reset,0,0 dc.w 8 dc.l 0 gad7: ; (Virus)DiskBoot ON dc.l gad8-reset dc.w 230,5*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext7-reset,0,0 dc.w 7 dc.l 0 gad6: 8Z ; (Virus)DiskBoot OFF dc.l gad7-reset dc.w 230,4*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext6-reset,0,0 dc.w 6 dc.l 0 gad5: ; NoFastMem-BootBlock dc.l gad6-reset dc.w 30,6*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext5-reset,0,0 dc.w 5 dc.l 0 gad4: ; Standard -BootBlock dc.l gad5-reset dc.w 30,5*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext4-reset,0,0 dc.w 4 dc.l 0 gad3: ; File -> BootBlock dc.l gad4-reset dc.w 30,4*18{8+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext3-reset,0,0 dc.w 3 dc.l 0 gad2: ; Bootblock -> File dc.l gad3-reset dc.w 30,3*18+43,166,12,0,1,1 dc.l gadborder-reset,0,gadtext2-reset,0,0 dc.w 2 dc.l 0 gad1: ; BootBlock -> screen dc.l gad2-reset dc.w 30,2*18+43,166,12,0,1,1 dc.l gadborder-reset,0,gadtext1-reset,0,0 dc.w 1 dc.l 0 gad0: ; colorsignal dc.l gad1-reset dc.w 430,4*18+48,166,12,0,1,1 dc.l gadborder-reset,0,gadtext0-reset,0,08qȚn() is not set to VIRUSCONTROL by controlTask opencount: dc.b 0 ; number of OpenRequester, finish VControl only if = 0 colorflag: dc.b $ff ; insert disk -> green color-signal searchfiles: dc.b $ff ; search S:NoWarning, S:VirusName-File taskflag: dc.b $ff ; $ff -> vector-control-task checks vectors at once resetflag: dc.b 0 ; to ignore first 512-Disk-DOIO exitflag: dc.b 0 ; VIRUS-CONTROL is to be finished exitcount: dc.b 0 ; exitcount=number of Warn8Windows, finish VControl if=0 inuse0: dc.b 0 ; if dfx:-inuse-flag is set->disk already worked on inuse1: dc.b 0 ; df1: inuse2: dc.b 0 ; df2: inuse3: dc.b 0 ; df3: pointer: dc.l 0 ; pointer to VIRUS-CONTROL (-memory) BeginIOAdr: dc.l 0 ; BeginIO-vector-address of trackdisk-device lastBeginIO: dc.l 0 ; last BeginIO-vector restoreIO: dc.l 0 ; remove systemvirus -> set this BeginIO-vector lastKickMem: dc.l 0 lastKickTag: dc.l8v 0 lastKickCheck: dc.l 0 lastDOIO: dc.l newdoio-reset ; if CLI-Start lastCOOL: dc.l reset-reset ; if CLI-Start freeposition: dc.l 0 dosbase: dc.l 0 onediff1: dc.b 0 nochfrei: dc.b 0 intuition: dc.b "intuition.library",0 even timerdev: dc.b "timer.device",0 even unknown: dc.b "Virus-Name unknown ! ",0 unknownend: even NoWarning: dc.b "S:NoWarning",0 even VirusName: dc.b "S:VirusName",0 even Kennung: dc.l $000008&3e8 ; hunk_name dc.l $00000002 ; Name 2 Longword long dc.b "OIUS" ; identification ( start Vcontrol -> PIUS) Kennzahl: dc.l $00000000 ; original filelength dc.l $000003f2 ; hunk_end filename: dc.b "RAW:0/0/640/170/BOOTBLOCK-DF" unit4: dc.b "0: hit any key ",0 even ; in reset-boot-routine Topaz 9 (60 characters) -> RAW: y=170 to prevent ; vertical scrolling. NOBOOT: dc.b 1,0,0,0 dc.w 7,8 dc.l font-r8aeset,NOBOOTtext-reset,0 NOBOOTtext: dc.b "Bootblock-Virus in DF" unit0: dc.b "0: ? PUBLIC DOMAIN !! CONTACTS WELCOMED !!",0 even NAME0: dc.b 1,0,0,0 dc.w 0,0 dc.l font-reset,NAME0text-reset,0 NAME0text: dc.b " ",0 even NAME1: dc.b 1,0,0,0 dc.w 0,0 dc.l font-reset,NAME1text-reset,0 NAME1text: dc.b " ",0 even NAME2: dc.b 1,0,0,0 dc.w 0,0 dc.l font-reset,NAME2text-reset,0 NAME2text: dc.b " 8{ ",0 even NAME3: dc.b 1,0,0,0 dc.w 0,0 dc.l font-reset,NAME3text-reset,0 NAME3text: dc.b " ",0 even ONEDIFF: dc.b 1,0,0,0 dc.w 0,0 dc.l font-reset,ONEDIFFtext-reset,0 ONEDIFFtext: dc.b "1 Longword-difference",0 even OPENERR: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,OPENERRtext-reset,0 OPENERRtext: dc.b "Warn-Window-DF" unit3: dc.b "0: Open-Error",0 even CORRECT: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,CORREC8]hmTtext-reset,0 CORRECTtext: dc.b "String-Gadget-contents-DF" unit5: dc.b "0: correct ? " correctname: dc.b " ",0 even NOBOOTR: dc.b 0,1,0,0 dc.w 7,4 dc.l font-reset,NOBOOTRtext-reset,0 NOBOOTRtext: dc.b " END ",0 even PROTECT: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,PROTECTtext-reset,0 PROTECTtext: dc.b "Disk in DF" unit2: dc.b "0: is write-protected !",0 even PROTECTL: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,PROTECTLtext-reset,0 PROTECTLtext: dc.82b " RETRY ",0 even ALREADYNO: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,ALREADYNOtext-reset,0 ALREADYNOtext: dc.b "Bootblock DF" unit6: dc.b "0: already in S:NoWarning !",0 even ALREADYNOdel: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,ALREADYNOdeltext-reset,0 ALREADYNOdeltext: dc.b " REMOVE ",0 even ALREADYVI: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,ALREADYVItext-reset,0 ALREADYVItext: dc.b "Bootblock DF" unit7: dc.b "0: already in S:VirusName: " oldname: 8z dc.b " ",0 even ALREADYWORK: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,ALREADYWORKtext-reset,0 ALREADYWORKtext: dc.b " REMOVE or OVERWRITE ",0 even ALREADYNOnam: dc.b 0,1,0,0 dc.w 7,4 dc.l font-reset,ALREADYNOnamtext-reset,0 ALREADYNOnamtext: dc.b " OVERWRITE with " nameoverwrite: dc.b " ",0 even OPENFILEnam: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,OPENFILEnamtext-reset,0 OPENFILEnamtext: dc.b "ATTENTION: ACCESS t8do " filewrite: dc.b " ",0 even EXIT: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,EXITtext-reset,0 EXITtext: dc.b "finish VIRUS-CONTROL really ?",0 even neusch: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,neuschtext-reset,0 neuschtext: dc.b " Protect ",0 even okk: dc.b 0,1,0,0 dc.w 7,4 dc.l 0,okktext-reset,0 okktext: dc.b " File okay ",0 even noloadf: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,noloadftext-reset,0 noloadftext: dc.b "no load-file: " keinloadfile: 8n dc.b " ",0 even FILESCHUTZ: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,FILESCHUTZtext-reset,0 FILESCHUTZtext: dc.b "File-Protection: " checkfilename: dc.b " ",0 even link: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,linktext-reset,0 linktext: dc.b "Filelength has changed !! -> LINK-VIRUS ?? -> " linkname: dc.b " ",0 even WRITEBB: dc.b 0,1,0,0 dc.w 15,30 dc.l font-reset,WRITEBBtext-reset,8M moveq #$17,d1 ; Reset execcheck: add.w (a0)+,d0 dbra d1,execcheck not.w d0 move.w d0,(a0) rts clear1024: ; clear 256*4=1024 Bytes move.w #$00ff,d0 ; dbra uses word clearloop: ; call clearloop with d0=$007f clears 128*4=512 Bytes clr.l (a0)+ dbra d0,clearloop rts Bootblockclear: move.l a5,a0 move.l a0,a2 bra.s clear1024 nameunknown: movem.l d0-d7/a0-a6,-(sp) lea NAME0text(pc),a2 moveq #buff1-buff0+208No,d0 mulu d6,d0 add.l d0,a2 lea unknown(pc),a0 bsr.s copyname movem.l (sp)+,d0-d7/a0-a6 rts copyname: moveq #buff1-buff0-1,d0 copyvirusname: move.b (a0)+,(a2)+ dbra d0,copyvirusname rts checkdevicename: ; df0:-trackdisk.device-task often task-held, movem.l d1-d7/a0-a6,-(sp) ; if you try to open an not existing device move.l d1,a4 ; df1: df2: df3:-trackdisk.device-task never move.l d1,a0 ; task-held, but it appears an 8wAmigaDOSAutorequester move.l $4.w,a3 ; why only df0:-task-held ??? exg a3,a6 ; to prevent df0:-task-held, check devicename, jsr -132(a6) ; before Open() exg a3,a6 moveq #-1,d0 isitdevice: tst.b (a0) ; Filename beq.s searchend ; no devicename -> end with d0=$ffffffff cmp.b #":",(a0)+ bne.s isitdevice move.l 34(a6),a0 ; RootNode move.l 24(a0),d0 ; DosInfo lsl.l #2,d0 ;89 BPTR * 4 = APTR move.l d0,a0 move.l 4(a0),d0 ; DevInfo nextdevice: move.l a4,a3 ; a3 = Filename-address lsl.l #2,d0 ; BPTR * 4 = APTR move.l d0,a0 move.l 40(a0),d0 ; DeviceName lsl.l #2,d0 ; BPTR * 4 = APTR move.l d0,a2 move.b (a2)+,d1 ; first byte = Stringlength (BSTR) ext.w d1 ; dbra uses word subq.w #1,d1 ; dbra -1 testdevice: cmpm.b (a2)+,(a3)+ bne.s testgrossk8plein teston: dbra d1,testdevice cmp.b #":",(a3) beq.s isdevice moveq #0,d0 bra.s searchend ; for instance RAMM: statt RAM: eingegeben isdevice: moveq #-1,d0 ; Device exists -> d0 = $ffffffff bra.s searchend testgrossklein: ; AmigaDOS does not distinguish capital/small letter add.b #32,-(a3) subq.l #1,a2 cmpm.b (a2)+,(a3)+ ; try it as a capital letter beq.s teston sub.b #64,-(a3) subq.l #1,a2 cmpm.b (a2)+,(a3)+8 ; try it as a small letter beq.s teston add.b #32,-(a3) ; restore move.l (a0),d0 ; no more device -> d0 = 0 bne.s nextdevice ; NextDevice searchend: move.l $4.w,a6 jsr -138(a6) ; okay -> d0=$ffffffff, if no devicename or movem.l (sp)+,d1-d7/a0-a6 ; if device exists. rts ; d0=0 -> device does not exist OpenIntuition: ; OpenLibrary("intuition.library",0); movem.l d1-d78+/a0-a6,-(sp) ; changes d0,a6 lea intuition(pc),a1 bra.s shorter3 OpenDOS: ; OpenLibrary("dos.library",0); movem.l d1-d7/a0-a6,-(sp) ; changes d0,a6 lea dosname(pc),a1 shorter3: moveq #0,d0 ; Version >= 0 jsr -552(a6) ; OpenLibrary("intuition.library",0) movem.l (sp)+,d1-d7/a0-a6 move.l d0,a6 ; base -> a6 rts ; ROM-Library -> always okay -> forget checking CloseFile: jsr -36(a6) 8ش7 ; Close() file CloseDOS: move.l a6,a1 move.l $4.w,a6 jmp -414(a6) ; CloseLibrary("dos.library",0) + rts clearflags: lea exitcount(pc),a0 subq.b #1,(a0) ; exitcount -1 if disk-working is finished lea inuse0(pc),a0 ; if exitcount=0 VIRUS-CONTROL can be finished add.l d6,a0 clr.b (a0) ; dfx: no more in use rts settimer: ; prepare timer.device sub.l a1,a1 jsr -294(a6) lea timeport(p8)8ypc),a1 move.l d0,16(a1) jsr -354(a6) lea timerdev(pc),a0 lea timereq(pc),a1 ; my task sends message(=request) to timerdevicetask moveq #1,d0 ; when time is over, timerdevicetask sends message moveq #0,d1 ; to port of my task, port-address stands in jsr -444(a6) ; message(request). my task is informed of the lea timeport(pc),a3 ; arrived message, because my task-address stands lea timereq(pc),a1 ; in port. 8Y}move.l a3,14(a1) rts freemem: move.l #end-reset+9000,d0 ; Bytesize move.l pointer(pc),a1 jmp -210(a6) ; FreeMem + rts remreqport: lea timereq(pc),a1 jsr -450(a6) ; CloseDevice() lea timeport(pc),a1 jmp -360(a6) ; RemPort() restoreopen: lea jmpoldopen(pc),a0 move.l dosbase(pc),a4 cmp.w #$4ef9,-30(a4) bne.s notchanged jsr -120(a6) ; Disable(), because theoretically task-switch move.w (a0),-30(a4)8` ; after 1 instruction move.l 8(a0),-28(a4) ; retore Open() jsr -126(a6) ; Enable() notchanged: rts testfile: move.l a5,d2 ; d2 = read-buffer move.l #1024,d3 ; d3 = number of read-bytes movem.l d1-d7/a0-a6,-(sp) jsr -42(a6) ; Read() movem.l (sp)+,d1-d7/a0-a6 rts setend: ; return with d0=filelength moveq #0,d2 moveq #1,d3 ; END bra seekit openflag: dc.b $ff ; $ff->Ope8Wn@-buffer bsr copyname ; into Intuitext-structure bsr modifyunit ; and ask if okay lea CORRECT(pc) ,a1 bra.s shorter1 reallyexit: movem.l a0-a3,-(sp) ; really remove VirusControl jsr -132(a6) lea EXIT(pc) ,a1 bra.s shorter1 writebbzugriff: movem.l a0-a3,-(sp) ; change bootblock-write-access to read-access ? jsr -132(a6) bsr modifyunit lea WRITEBB(pc) ,a1 bra.s shorter1 reallyoverwrite: movem.l a0-a3,-(sp8d) ; really overwrite bootblock jsr -132(a6) bsr modifyunit lea OVERWRITE(pc) ,a1 shorter1: lea OVERWRITEL(pc),a2 lea OVERWRITER(pc),a3 shorter2: bsr autorequest jsr -138(a6) movem.l (sp)+,a0-a3 tst.l d0 ; rts does not change flags rts fileprotect: movem.l a0-a3,-(sp) jsr -132(a6) move.l a4,a0 lea checkfilename(pc),a2 bsr copyname lea FILESCHUTZ(pc),a1 bra.s shorter1 openerror: ; r8wequester for Open-Error movem.l a0-a6,-(sp) ; save a6=dosbase move.l $4.w,a6 ; autorequest: needs a6=exec.base jsr -132(a6) bsr modifyunit lea OPENERR(pc),a1 shorter7: lea NOBOOTR(pc),a2 shorter5: lea NOBOOTR(pc),a3 shorter6: bsr autorequest jsr -138(a6) movem.l (sp)+,a0-a6 tst.l d0 rts alreadynoset: ; requester for bootblock already in movem.l a0-a6,-(sp) ; S:NoWarning move.l $4.w,a6 jsr -132(a6) 8 bsr modifyunit lea ALREADYNO(pc),a1 lea ALREADYNOdel(pc),a2 bra.s shorter5 alreadyviset: ; requester for bootblock already in movem.l a0-a6,-(sp) ; S:VirusName move.l $4.w,a6 jsr -132(a6) bsr modifyunit lea ALREADYVI(pc),a1 lea ALREADYWORK(pc),a2 bra.s shorter5 alreadyviwork: ; requester to remove bootblock+name from movem.l a0-a6,-(sp) ; S:VirusName or to overwrite old name by new name move.l $4.w,8VbKa6 jsr -132(a6) bsr modifyunit lea ALREADYVI(pc),a1 lea ALREADYNOdel(pc),a2 lea ALREADYNOnam(pc),a3 bra.s shorter6 noloadfile: movem.l a0-a6,-(sp) ; save a6=dosbase move.l $4.w,a6 ; forbid(),autorequest: needs a6=exec.base jsr -132(a6) move.l a4,a0 lea keinloadfile(pc),a2 bsr copyname lea noloadf(pc),a1 bra shorter7 filedanger: movem.l a0-a6,-(sp) ; save a6=dosbase move.l $4.w,a6 ; forbid()8bZ,autorequest: needs a6=exec.base jsr -132(a6) move.l a4,a0 lea linkname(pc),a2 bsr copyname lea link(pc),a1 bra shorter7 FileIsOkay: movem.l a0-a6,-(sp) ; save a6=dosbase move.l $4.w,a6 ; forbid(),autorequest: needs a6=exec.base jsr -132(a6) move.l a4,a0 lea checkfilename(pc),a2 bsr copyname lea FILESCHUTZ(pc),a1 lea okk(pc),a2 lea okk(pc),a3 bra shorter6 schuetzenodweiter: movem.l a0-a6,-(sp) 8{/ ; save a6=dosbase move.l $4.w,a6 ; forbid(),autorequest: needs a6=exec.base jsr -132(a6) move.l a4,a0 lea checkfilename(pc),a2 bsr copyname lea FILESCHUTZ(pc),a1 lea neusch(pc),a2 bra shorter5 allowaccess: movem.l a0-a3,-(sp) ; allow file-access ? move.l $4.w,a6 jsr -132(a6) move.l d1,a0 lea filewrite(pc),a2 bsr copyname lea OPENFILEnam(pc) ,a1 bra shorter1 getposition: moveq #0,d2 moveq #0,d3 m8¦6ovem.l d1-d7/a0-a6,-(sp) jsr -66(a6) ; Seek() -> get actual fileposition lea freeposition(pc),a0 move.l d0,(a0) ; save position movem.l (sp)+,d1-d7/a0-a6 rts seekback1: moveq #-1,d3 seekit: movem.l d1-d7/a0-a6,-(sp) jsr -66(a6) movem.l (sp)+,d1-d7/a0-a6 rts addtask: ; start vector-control-task, which checks system-vectors every second. ; in coolroutine you cannot call addtask -> guru. ; only a few exec-functions can be used in coolrou8BŌtine. movem.l d0-d7/a0-a6,-(sp); lea structtask(pc),a1 lea task(pc),a2 sub.l a3,a3 ; 2 Bytes, move.l #0,a3 needs 6 Bytes jsr -282(a6) ; addtask movem.l (sp)+,d0-d7/a0-a6 rts deletevirus: bsr optzeichen clr.l 546(a6) ; clear KickMemPtr clr.l 550(a6) ; clear KickTagPtr clr.l 554(a6) ; clear KickCheckSum clr.l 42(a6) ; clear COLD-vector move.l 58(a6),a0 ; clear 1024 Bytes at Supervis8YLorstackbottom, bsr.s clear1024 ; because sometimes there are viruses move.l BeginIOAdr(pc),a0 ; set Original-BeginIO-vector move.l restoreIO(pc),(a0); all ROM-version-compatible VCrestore: lea lastBeginIO(pc),a0; clear last BeginIO clr.l (a0) lea lastKickMem(pc),a0 clr.l (a0)+ ; clear lastKickMem clr.l (a0)+ ; clear lastKickTag clr.l (a0) ; clear lastKickCheck lea newDOIO(pc),a0 ; reset restores DOIO ->8J& DOIO has to be set to move.l a0,-454(a6) ; Virus-control move.l a0,-(sp) lea lastDOIO(pc),a0 ; set VIRUS-CONTROL-DOIO as lastDOIO move.l (sp)+,(a0) execchecksum: lea lastCOOL(pc),a0 move.l pointer(pc),(a0) ; set VIRUS-CONTROL-COOL as lastCOOL move.l pointer(pc),$2e(a6); set Cool-vector to VIRUS-CONTROL lea $22(a6),a0 ; calc new execchecksum clr.w d0 ; Cool-vector and execchecksum is not changed by 8t(e1 move.l a4,d1 ; Directory ? moveq #-2,d2 ; ACCESS_READ movem.l d1-d7/a0-a6,-(sp) jsr -84(a6) ; Lock() movem.l (sp)+,d1-d7/a0-a6 tst.l d0 beq nodirectory ; neither file nor directory move.l d0,-(sp) ; SAVE for Unlock() move.l d0,d1 movem.l d1-d7/a0-a6,-(sp) jsr -126(a6) ; cd directory movem.l (sp)+,d1-d7/a0-a6 move.l d0,-(sp) ; SAVE for restoration movem.l d1-d7/a0-a6,-(sp) move.l #8Ƿ6d260,d0 moveq #1,d1 move.l $4.w,a6 ; allocate memory for struct FileInfoBlock jsr -198(a6) movem.l (sp)+,d1-d7/a0-a6 move.l d0,d2 beq.s mmm move.l d0,-(sp) ; SAVE address of memory move.l 8(sp),d1 movem.l d1-d7/a0-a6,-(sp) jsr -102(a6) ; Examine() movem.l (sp)+,d1-d7/a0-a6 moveq #-1,d4 ; Flag for check directory (noloadfi:) exnext: move.l 8(sp),d1 ; Lock move.l (sp),d2 ; memory-address of FileI8~nfoBlock movem.l d1-d7/a0-a6,-(sp) jsr -108(a6) ; ExNext() movem.l (sp)+,d1-d7/a0-a6 tst.l d0 ; d0=0 -> no more files beq.s kkk move.l d2,a0 lea 8(a0),a4 move.l a4,d1 ; Filename move.l #1004,d2 ; MODE_READWRITE, to open existing file movem.l d1-d7/a0-a6,-(sp) ; EXCLUSIVE_LOCK, because multiple use could produce jsr -30(a6) ; wrong data. movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s noErrorFile1 br8܌|a.s exnext ; if Directory kkk: move.l a1,a0 ; save IORequest move.l (sp)+,a1 move.l #260,d0 movem.l d1-d7/a0-a6,-(sp) move.l $4.w,a6 jsr -210(a6) ; FreeMem movem.l (sp)+,d1-d7/a0-a6 move.l a0,a1 mmm: move.l (sp)+,d1 movem.l d1-d7/a0-a6,-(sp) jsr -126(a6) ; restore cd movem.l (sp)+,d1-d7/a0-a6 move.l (sp)+,d1 movem.l d1-d7/a0-a6,-(sp) jsr -90(a6) ; Unlock() movem.l (sp)+,d1-d7/a0-a6 move.l $4.w,a8ʵP3 ; stack will be restored in Openfailed, exg a3,a6 ; nevertheless you can call bootblockread, bsr bootblockread ; because a1=IORequest is not changed. exg a3,a6 ; bootblockread does not change d1=filehandle. bra Openfailed ; bootblockread restores bootblockbuffer nodirectory: bsr openerror ; OpenError(wrong filename)->own requester bra OpenFailed noErrorFile1: move.l d0,d1 ; filehandle n8˛W)extbootblock4: move.l a5,a0 bsr clear1024 bsr testfile ; read first 1024 bytes from file cmp.l #$000003f3,(a5) beq.s isloadfile bsr noloadfile bra noloadfi isloadfile: move.w #$ff,d0 move.l a5,a2 ; d0,a2 counter piusloop: cmp.l #$000003e8,(a2)+ bne.s cvb subq.l #1,d0 bpl.s yyx bsr testfile ; next 1024 Bytes tst.l d0 ; end of file ? beq.s bbn move.w #$ff,d0 move.l a5,a2 ;8R? d0,a2 counter yyx: cmp.l #$00000002,(a2)+ bne.s cvb subq.l #1,d0 bpl.s yyy bsr testfile ; next 1024 Bytes tst.l d0 ; end of file ? beq.s bbn move.w #$ff,d0 move.l a5,a2 ; d0,a2 counter yyy: cmp.l #"PIUS",(a2)+ beq.s marked cvb: dbra d0,piusloop bsr testfile ; next 1024 Bytes tst.l d0 ; end of file ? bne.s isloadfile bbn: bsr schuetzenodweiter beq noloadfi bsr set8uedend ; get file-length lea Kennung(pc),a0 move.l d0,Kennzahl-Kennung(a0) move.l a0,d2 moveq #20,d3 movem.l d0-d7/a0-a6,-(sp) jsr -48(a6) ; append MARK to file movem.l (sp)+,d0-d7/a0-a6 bra noloadfi marked: tst.l d0 ; has to be read next 1024-block, ? bne.s notblockend ; because I need original-filelength bsr testfile move.l a5,a2 notblockend: bsr setend ; setend returns d0=actual filelength 8V; sub.l #20,d0 ; minus MARK move.l d0,d7 ; save filelength cmp.l (a2),d0 ; d0=actual filelength a2=original filelength beq.s fileokay bsr filedanger bra noloadfi fileokay: bsr FileIsOkay noloadfi: tst.l d4 beq.s onlyfile movem.l d1-d7/a0-a6,-(sp) jsr -36(a6) ; Close() file movem.l (sp)+,d1-d7/a0-a6 bra exnext onlyfile: move.l $4.w,a3 ; stack will be restored in CloseFileDos, exg a3,8Ea6 ; nevertheless you can call bootblockread, bsr bootblockread ; because a1=IORequest is not changed. exg a3,a6 ; bootblockread does not change d1=filehandle. bra CloseFileDOS ; bootblockread restores bootblockbuffer testgad15: ; CheckOpen cmp.w #15,d5 bne.s testgad16 jsr -132(a6) lea openflag(pc),a0 not.b (a0) lea gadtext15text(pc),a1 move.l #"OFF ",14(a1) tst.b (a0) bne.s aus1 move.l 8! #" ON ",14(a1) aus1: jsr -138(a6) bra nopush testgad16: ; search files ; cmp.w #16,d5 ; bne.s testgad17 jsr -132(a6) lea searchfiles(pc),a0 not.b (a0) lea gadtext16text(pc),a1 move.l #"OFF ",14(a1) tst.b (a0) beq.s aus2 move.l #" ON ",14(a1) aus2: jsr -138(a6) bra nopush ; testgad17: namecorrect: movem.l a0-a3,-(sp) jsr -132(a6) move.l a4,a0 lea correctname(pc),a2; copy actual contents of Stringadget8t<|-42(a6) ; read first Bootblock from S:NoWarning lesen movem.l (sp)+,d1-d7/a0-a6 cmp.l #1024,d0 ; no more Bootblock -> end of file bne appendnext ; search file for bootblock ( notice free Block ) move.w #$ff,d0 ; if there is not such a bootblock, write bootblock NoWarningloop2: ; to free position or append to file. cmp.l #"FREE",(a0) bne.s notfree bsr getposition notfree: cmpm.l (a0)+,(a2)+ bne.s nextbootblock2 8u_X dbra d0,NoWarningloop2 bsr alreadynoset ; Bootblock already exists in S:NoWarning beq CloseFileDOS bsr getposition sub.l #1024,d0 move.l d0,d2 bsr seekback1 move.l (a5),-(sp) ; save move.l #"FREE",(a5) move.l a5,d2 ; d2=bootblockbuffer move.l #1024,d3 ; d3=number of write-bytes movem.l d1-d7/a0-a6,-(sp) jsr -48(a6) ; mark Bootblock as FREE movem.l (sp)+,d1-d7/a0-a6 move.l (sp)+,(a5) ; rest8vӹ(ore bra CloseFileDOS testgad12: ; in VirusName-File cmp.w #12,d5 bne testgad13 move.l a4,d0 ; movem will overwrite a4 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest move.l d0,a4 bsr namecorrect beq openwindow movem.l d0-d7/a0-a6,-(sp) lea freeposition(pc),a0 clr.l (a0) bsr OpenDOS ; OpenLibrary("dos.library",0); lea VirusName(pc),a0 move.l a0,d1 ; Filename move.l #1004,d2 ; MODE_R8wiQ!EADWRITE, to open existing S:VirusName-File bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.l d0 ; wrong data. beq.s unknowndevice3 movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s noErrorVirusName move.l #1006,d2 ; MODE_NEWFILE(=EXCLUSIVE_LOCK) to create movem.l d1-d7/a0-a6,-(sp) ; S:VirusName-File jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s noErrorVir8xHusName ; OpenError, because of EXCLUSIVE_LOCK by unknowndevice3: ; other process bsr openerror bra OpenFailed noErrorVirusName: move.l d0,d1 ; filehandle nextbootblock3: lea onediff1(pc),a0 clr.b (a0) lea Vibuff(pc),a0 move.l a0,d2 ; use vectorcontrolTask-Stackbottom move.l #1024+buff1-buff0,d3; as 1024+32 buffer movem.l d1-d7/a0-a6,-(sp) jsr -42(a6) ; read first Virusname+Bootblock from S:VirusName 8y_ movem.l (sp)+,d1-d7/a0-a6 cmp.l #1024+buff1-buff0,d0 bne.s fileende2 lea oldname(pc),a2 bsr copyname move.w #$ff,d0 move.l a5,a2 VirusNameloop1: cmp.l #"FREE",(a0) bne.s notfree1 bsr getposition ; while searching for bootblock, notfree1: ; notice free-bootblock cmpm.l (a0)+,(a2)+ beq.s issame1 movem.l a0/a1,-(sp) lea onediff1(pc),a0 tst.b (a0) movem.l (sp)+,a0/a1 bne.s nextbootblock3 countit1: movem.l a0/a1,-(s8z-ip) lea onediff1(pc),a0 ; set flag for 1 Longword-difference move.b #$ff,(a0) movem.l (sp)+,a0/a1 issame1: dbra d0,VirusNameloop1 bsr alreadyviset ; found ! beq CloseFileDOS bsr getposition sub.l #1024+buff1-buff0,d0 ; minus 1 entry move.l d0,d2 bsr seekback1 move.l a4,a0 lea nameoverwrite(pc),a2 bsr copyname bsr alreadyviwork beq.s nixfrei3 ; overwrite with new name move.l #"FREE",(a5) bra.s nixfrei3 8{?A ; mark as FREE fileende2: ; not found ! move.l freeposition(pc),d2 beq.s nixfrei3 ; if free entry -> use this sub.l #1024+buff1-buff0,d2 bsr seekback1 nixfrei3: move.l a4,d2 ; 32-byte-VirusName moveq #buff1-buff0,d3 movem.l d1-d7/a0-a6,-(sp) jsr -48(a6) ; append VirusName to S:VirusName movem.l (sp)+,d1-d7/a0-a6 bra.s nixfrei appendnext: move.l freeposition(pc),d2 beq.s nixfrei ; if free e8|ntry -> use this sub.l #1024,d2 bsr seekback1 nixfrei: move.l a5,d2 ; d2 = bootblockbuffer move.l #1024,d3 ; d3 = number of write-bytes movem.l d1-d7/a0-a6,-(sp) jsr -48(a6) ; append bootblock to file movem.l (sp)+,d1-d7/a0-a6 ; stack will be restored in CloseFileDos, move.l $4.w,a3 ; nevertheless you can call bootblockread, exg a3,a6 ; because a1=IORequest is not changed. bsr bootblockread ; boot8}'blockread does not change d1=filehandle. exg a3,a6 ; bootblockread restores bootblockbuffer bra CloseFileDOS testgad13: ; deletevirus cmp.w #13,d5 bne.s testgad14 lea gadtext13(pc),a1 ; 'invisible' colors bsr kill ; a6=exec.base bra nopush testgad14: ; File - Protection cmp.w #14,d5 bne testgad15 move.l a4,d0 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest move.l d0,a4 moveq #0,d4 8~y~ ; clear flag for check directory (noloadfi:) movem.l d0-d7/a0-a6,-(sp) bsr OpenDOS ; OpenLibrary("dos.library",0); move.l a4,d1 ; Filename move.l #1004,d2 ; MODE_READWRITE, to open existing file bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.l d0 ; wrong data. beq nodirectory movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne noErrorFil8i+f Window movem.l d1-d7/a0-a6,-(sp) jsr -372(a6) ; GetMsg(UserPort) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 beq.s leerende move.l d0,a1 movem.l d1-d7/a0-a6,-(sp) jsr -378(a6) ; ReplyMsg(a1=intuimessage) movem.l (sp)+,d1-d7/a0-a6 bra.s portleeren leerende: move.l (sp)+,a6 move.l d7,a0 movem.l d1-d7/a0-a6,-(sp) jsr -72(a6) ; CloseWindow() movem.l (sp)+,d1-d7/a0-a6 move.l a6,a1 move.l $4.w,a6 movem.l d1-d7/a0-a6,-(sp) jsr -414(a68j tv) ; CloseLibrary("intuition.library") movem.l (sp)+,d1-d7/a0-a6 cmp.l #$200,d4 ; CloseWindow-Gadget -> end bne.s testgad0 openwindowerror: movem.l (sp)+,d1-d7/a0-a6 bra DOIOweiter ; closewindow breaks loop testgad0: tst.w d5 bne.s testgad1 ; colorsignal jsr -132(a6) lea colorflag(pc),a0 not.b (a0) lea gadtext0text(pc),a1 move.l #"OFF ",14(a1) tst.b (a0) beq.s aus move.l #" ON ",14(a1) aus: jsr -138(a6) bra 8k޷%Kx nopush testgad1: ; Bootblock -> Screen cmp.w #1,d5 bne.s testgad2 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest lea filename(pc),a4 bra showbootblock testgad2: cmp.w #2,d5 bne.s testgad3 ; Bootblock -> File move.l a4,d0 ; movem overwrites a4 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest move.l d0,a4 bsr namecorrect beq openwindow bra showbootblock testgad3: cmp.w #3,d5 bne testgad4 ; File -> B8lyootblock move.l a4,d0 ; movem overwrites a4 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest move.l d0,a4 bsr namecorrect beq openwindow bsr reallyoverwrite beq openwindow movem.l d0-d7/a0-a6,-(sp) bsr OpenDOS ; OpenLibrary("dos.library",0); move.l a4,d1 ; d1=Filename-address move.l #1004,d2 ; MODE_READWRITE to open existing file, bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.8mNl d0 ; wrong data beq.s deviceunknown1 movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 ; Device write-protected bne.s noErrorFile ; -> AmigaDOS-Autorequester deviceunknown1: bsr openerror ; OpenError, for instance if not existing bra OpenFailed ; or EXCLUSIVE_LOCK by other process noErrorFile: ; -> own requester move.l d0,d1 ; filehandle move.l a5,d2 8nH ; d2 = read-buffer move.l #1024,d3 ; d3 = number of read-data movem.l d0-d7/a0-a6,-(sp) jsr -42(a6) ; Read() 1024 Bytes from file movem.l (sp)+,d0-d7/a0-a6 move.l $4.w,a3 exg a3,a6 bsr bootblockwrite ; and write it as Bootblock exg a3,a6 bra CloseFileDOS testgad4: cmp.w #4,d5 bne.s testgad5 ; Standard-Bootblock movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest bsr reallyoverwrite beq openwindow bsr 8oZ bootblockclear ; clear bootblock lea bootblock(pc),a0 moveq #bootblockend-bootblock-1,d0 loop7: move.b (a0)+,(a2)+ dbra d0,loop7 ; copy StandardBootblock in buffer bsr bootblockwrite bra openwindow testgad5: cmp.w #5,d5 bne.s testgad6 ; NoFastMem-Bootblock movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest bsr reallyoverwrite beq openwindow bsr bootblockclear ; clear bootblock lea nofastbootblock(pc),a0 move.l #nofa8p֓R stbootblockend-nofastbootblock-1,d0 bra.s loop7 ; write NoFastMemBootblock testgad6: cmp.w #6,d5 bne.s testgad7 ; false Checksum -> Boot is not possible movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest bsr Checksumfalsch bra openwindow testgad7: cmp.w #7,d5 bne.s testgad8 ; correct Checksum -> Boot is possible movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest bsr Checksumrichtig bra openwindow testgad8: ; remove Vi8qJ/ rus-Control cmp.w #8,d5 bne.s testgad11 movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest bsr reallyexit ; really beq openwindow lea exitflag(pc),a0 move.b #$ff,(a0) ; set exitflag for vector-Control-Task bra DOIOweiter testgad11: cmp.w #11,d5 bne testgad12 ; in NoWarning-File movem.l (sp)+,d1-d7/a0-a6 ; a1=IORequest movem.l d0-d7/a0-a6,-(sp) lea freeposition(pc),a0 clr.l (a0) bsr OpenDOS ; OpenLibrary("dos.8rmDvRlibrary",0); lea NoWarning(pc),a0 move.l a0,d1 ; Filename move.l #1004,d2 ; MODE_READWRITE, to open existing S:NoWarning-File bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.l d0 ; wrong data. beq.s unknowndevice2 movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s noErrorNoWarning move.l #1006,d2 ; MODE_NEWFILE(=EXCLUSIVE_LOCK) to create movem.l 8sиMd1-d7/a0-a6,-(sp) ; S:NoWarning-File jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s noErrorNoWarning ; OpenError, because of EXCLUSIVE_LOCK by unknowndevice2: ; other process bsr openerror bra OpenFailed noErrorNoWarning: move.l d0,d1 ; filehandle nextbootblock2: move.l a5,a2 lea Nobuff(pc),a0 move.l a0,d2 ; use vectorcontrolTask-Stackbottom as 1024-buffer move.l #1024,d3 movem.l d1-d7/a0-a6,-(sp) jsr 8^琼* ; KickMemPtr has been changed in last second ? bne.s kickchanged1 move.l 550(a6),a0 move.l lastKickTag(pc),a2 lea lastKickTag(pc),a3 move.l a0,(a3) ; save actual vector for next comparison cmp.l a0,a2 ; KickTagPtr has been changed in last second ? bne.s kickchanged1 move.l 554(a6),a0 move.l lastKickCheck(pc),a2 lea lastKickCheck(pc),a3 move.l a0,(a3) ; save actual KickcheckSum for next comparison cmp.l a0,a2 8_J ; KickCheckSum has been changed in last second ? beq.s testcool1 kickchanged1: lea vector0text(pc),a0 move.l #"KICK",(a0)+ move.l #" - ",(a0) bsr.s vectoropenwindow bra taskweiter testcool1: move.l pointer(pc),a2 ; a2 = VIRUS-CONTROL-address move.l 46(a6),a0 cmp.l a0,a2 ; COOL-vector points to VIRUS-CONTROL ? beq.s testDOIO1 move.l lastCOOL(pc),a2 lea lastCOOL(pc),a3 move.l a0,(a3) cmp.l a0,a2 ; COOL-vect8`^ or has been changed in last second ? beq.s testDOIO1 lea vector0text(pc),a0 move.l #"COOL",(a0)+ move.l #" - ",(a0) bsr.s vectoropenwindow bra taskweiter testDOIO1: lea newDOIO(pc),a2 move.l -454(a6),a0 cmp.l a0,a2 ; DOIO-vector points to my (newDOIO-)routine ? beq taskweiter move.l lastDOIO(pc),a2 lea lastDOIO(pc),a3 move.l a0,(a3) cmp.l a0,a2 ; DOIO-vector has been changed in last second ? beq taskweiter 8a})lea vector0text(pc),a0 move.l #"DOIO",(a0)+ move.l #" - ",(a0) bsr.s vectoropenwindow bra taskweiter ; BeginIO-vector, KICK-vector, COOL-vector or DOIO-vector has been changed ; -> Warn-Requester, changed by a VIRUS ?? ; the best and simplest method to get rid of a virus is to switch Amiga off vectoropenwindow: lea vector0(pc),a1 kill: lea vectorL(pc),a2 lea NOBOOTR(pc),a3 bsr autorequest tst.l d0 beq.s vectortested bsr deletevirus 8bd! ; kill Virus vectortested: rts wait1: lea timereq(pc),a1 move.l #1,32(a1) ; wait for 1 sec. wait: move.w #9,28(a1) jmp -456(a6) openwindow: movem.l d1-d7/a0-a6,-(sp) ; save a1=IO-Request nopush: move.l $4.w,a6 ; Forbid() -> set corresponding string-gadget and jsr -132(a6) ; modify information-gadget bsr OpenIntuition movem.l d1-d7/a0-a6,-(sp) jsr -342(a6) ; WBenchToFront() movem.l (sp)+,d1-d7/a0-a6 8cFlea window(pc),a2 tst.b d6 bne.s test1 lea gad90(pc),a1 ; for df0: corresponding Stringgadget move.l a1,18(a2) ; with its own buffer test1: cmp.b #1,d6 bne.s test2 lea gad91(pc),a1 ; for df1: corresponding Stringgadget move.l a1,18(a2) ; with its own buffer test2: cmp.b #2,d6 bne.s test3 lea gad92(pc),a1 ; for df2: corresponding Stringgadget move.l a1,18(a2) ; with its own buffer test3: cmp.b #3,d6 bne.s testende 8dAlea gad93(pc),a1 ; for df3: corresponding Stringgadget move.l a1,18(a2) ; with its own buffer testende: move.l 34(a1),a4 ; address of StringInfo move.l (a4),a4 ; a4 = address of buffer(=Filename) bsr modifyunit ; modify information-gadget-text lea window(pc),a0 movem.l d1-d7/a0-a6,-(sp) jsr -204(a6) ; OpenWindow() (with Gadgets) movem.l (sp)+,d1-d7/a0-a6 move.l d0,d7 ; d7 = Windowpointer bne.s openok moveq #0,d8eeg0 ; no more memory for Warn-Window, bsr optzeichen2 ; therefore black color-signal for suspected disk bra openwindowerror openok: move.l d7,a0 move.l 50(a0),a0 ; RastPort of Window lea NAME0(pc),a1 ; set virusname moveq #buff1-buff0+20,d0 mulu d6,d0 add.l d0,a1 moveq #38,d0 ; x moveq #40,d1 ; y movem.l d0-d7/a0-a6,-(sp) jsr -216(a6) ; PrintIText movem.l (sp)+,d0-d7/a0-a6 movem.l d0-d7/a0-a6,-(sp) bts8fK7t #31,d5 ; test any bit out of 24-31, for instance bit 31 beq.s noonediff ; GadgetID only uses bit 0-15 movem.l (sp)+,d0-d7/a0-a6 moveq #56,d1 ; y lea ONEDIFF(pc),a1 movem.l d0-d7/a0-a6,-(sp) jsr -216(a6) ; PrintIText noonediff: move.l $4.w,a6 jsr -138(a6) ; Permit() movem.l (sp)+,d0-d7/a0-a6 move.l a6,-(sp) ; save intuitionbase move.l $4.w,a6 waitmessage: move.l d7,a0 move.l 86(a0),a0 ; UserPort of Wind8g_ow movem.l d1-d7/a0-a6,-(sp) jsr -384(a6) ; WaitPort(UserPort) movem.l (sp)+,d1-d7/a0-a6 movem.l d1-d7/a0-a6,-(sp) jsr -372(a6) ; GetMsg(UserPort) movem.l (sp)+,d1-d7/a0-a6 move.l d0,a0 move.l d0,a1 ; ReplyMsg needs message in a1 move.l 20(a0),d4 ; d4 = Class = IDCMP-Flags cmp.l #$200,d4 ; if you click a system-gadget, Intuition-Objekt- beq.s closegadget ; address is not set, by accident there can be an odd move.l 28(a0),8hơi:a0 ; address -> if move.w -> TaskHeld move.w 38(a0),d5 ; therfore test if close-gadget closegadget: movem.l d1-d7/a0-a6,-(sp) jsr -378(a6) ; ReplyMsg(a1=intuimessage), after getting GadgetID movem.l (sp)+,d1-d7/a0-a6 cmp.w #9,d5 ; stringgadget -> wait on beq.s itis9 ; information-gadget -> wait on cmp.w #10,d5 bne.s portleeren itis9: clr.w d5 bra.s waitmessage portleeren: move.l d7,a0 move.l 86(a0),a0 ; UserPort of8SmGͽ"left mouse-button during reset" nofastbootblockend: even openfile: cmp.b #$39,$bfec01 ; CTRL-Taste ? beq.s jmpoldopen ; -> Original-Open() movem.l a0-a1,-(sp) move.l d1,a0 cmp.b #"*",(a0) ; ignore Open("*") movem.l (sp)+,a0-a1 beq.s jmpoldopen movem.l d1-d7/a0-a6,-(sp) moveq #-2,d2 ; ACCESS_READ move.l dosbase(pc),a6 ; because a5=dos.base works too jsr -84(a6) ; Lock() ( RAW:Window->for a short time RAW:Window) movem.l (sp)+,d1-8TPd7/a0-a6 tst.l d0 beq.s jmpoldopen ; file not existing -> no danger movem.l d1-d7/a0-a6,-(sp) move.l d0,d1 move.l dosbase(pc),a6 ; because a5=dos.base works too jsr -90(a6) ; Unlock() movem.l (sp)+,d1-d7/a0-a6 movem.l d1-d7/a0-a6,-(sp) lea opencount(pc),a0 addq.b #1,(a0) bsr allowaccess ; wait for mouse-click subq.b #1,(a0) ; VIRUS-CONTROL can be finished, if opencount=0 movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s jmpoldopen b8U@ra returncode jmpoldopen: dc.w 0 ; will be copied 'moveq #$ff,d1' jmp: dc.w $4ef9 ; Opcode for jmp oldopen: dc.l 0 ; address of Original-Open-Routine savebra: dc.l 0 ; save Original bra offset ; SYSTEM-VECTOR-CONTROL-TASK. ; dos.library-functions can be used by processes only. ; Therefore use timer.device for waiting, instead of Delay() task: move.l $4.w,a6 bsr settimer ; prepare timer.device lea taskflag(pc),a0 ; if CLI-Start do 8V|not wait tst.b (a0) ; after Reset wait for a few seconds until bne.s ttt ; WorkBenchScreen is open. If you do not wait move.l #10,32(a1) ; for WorkBenchScreen -> a StandardScreen is bsr wait ; opened, if there is an autorequester for a ttt: ; changed vector. Because of this StandardScreen bsr opendos ; 'system-configuration' will not be used completely lea dosbase(pc),a0 ; for ins8W tance width>640, Interlace is ignored. move.l d0,(a0) ; also there has to be waiting, because dos.library taskweiter: ; has to be installed (boot-code) before calling lea openflag(pc),a0 ; opendos tst.b (a0) ; openflag can be set by -o or Window-Gadget bne.s tt move.l dosbase(pc),a6 ; cmp.w #$4ef9,-30(a6) beq.s tt ; already set to VIRUS-CONTROL lea jmpoldopen(pc),a0 move.w -30(a6),(a0) ; moveq8XA #$ff,d1 lea -26(a6),a4 ; turn relative address to add.w -26(a6),a4 ; absolute address move.l a4,4(a0) move.l -28(a6),8(a0) move.l $4.w,a4 exg a4,a6 jsr -120(a6) ; Disable(), because theoretically task-switch exg a4,a6 ; after 1 instruction lea openfile(pc),a0 move.w #$4ef9,-30(a6) ; set Open() to VIRUS-CONTROL move.l a0,-28(a6) exg a4,a6 jsr -126(a6) ; Enable() tt: move.l $4.w,a6 lea 8Y g[ openflag(pc),a0 ; openflag can be set by -o or Window-Gadget tst.b (a0) beq.s tttt bsr restoreopen ; restore Open() tttt: bsr wait1 ; wait for 1 sec lea exitflag(pc),a0 ; is VIRUS-CONTROL to be finished tst.b (a0) beq.s noexitflag clr.l $2e(a6) ; next reset will no more activate VIRUSCONTROL move.l oldDOIO(pc),-454(a6) ; restore DOIO-vector -> no more disk-check bsr restoreopen ; restore Open() lea exi8Z`tcount(pc),a0 tst.b (a0) ; Warn-Window on screen ? bne.s tttt ; wait for no Warn-Window lea opencount(pc),a0 ; Open()-Requester on screen ? tst.b (a0) ; wait for no requester bne.s tttt ; because Warn-Window, Requester use programcode. move.l #5,32(a1) ; before freemem wait for 5 sec. -> time for all bsr wait ; routines, which use this memory, to come to an end bsr remreqport 8[U${ ; closedevice + remport bra freemem ; freemem + rts->EndTask noexitflag: move.l BeginIOAdr(pc),a0 lea lastBeginIO(pc),a1 tst.l (a1) bne.s alreadyset move.l (a0),(a1)+ ; actual BeginIO-vector -> lastBeginIO move.l (a0),(a1) ; actual BeginIO-vector -> restoreIO alreadyset: cmp.l #$00fc0000,(a0) ; if BeginIO points to ROM (z.B. nach Reset), bhs.s restoreIOROM ; then use it for restoreIO move.l lastBeginIO(pc),a2 lea las8\ttBeginIO(pc),a3 move.l (a0),(a3) ; save actual vector for next comparison cmp.l (a0),a2 ; BeginIO-vector has been changed in last second ? beq.s testKICK1 ; not changed lea vector0text(pc),a0; changed -> Warn-Requester move.l #"Begi",(a0)+ move.l #"nIO-",(a0) ; modify Warn-Text for BeginIO-vector bsr vectoropenwindow bra taskweiter restoreIOROM: ; Original-BeginIO-vector is needed in deletevirus- lea restoreI8](UO(pc),a1 ; routine. BeginIO-vector-Handling is somewhat move.l (a0),(a1) ; complex to be ROM-version-compatible move.l (a0),-4(a1) testKICK1: tst.l 546(a6) ; if Kick-vector is changed to 0 -> okay bne.s testKICK2 tst.l 550(a6) bne.s testKICK2 tst.l 554(a6) beq.s testCool1 testKICK2: move.l 546(a6),a0 move.l lastKickMem(pc),a2 lea lastKickMem(pc),a3 move.l a0,(a3) ; save actual vector for next comparison cmp.l a0,a2 8HP14 Workbench-colors cmp.b $dff005,d2 beq.s waittick dbra d1,red jsr -126(a6) ; Enable() movem.l (sp)+,d0-d7/a0-a6 rts ; a6=exec.base, a1=IO-Request bootblockread: ; changes a0,d0, a5 moveq #0,d0 ; if write-access -> requester bb: move.l 36(a1),-(sp) ; save original-number of bytes move.l 40(a1),-(sp) ; save original-buffer tst.l d0 bne.s readaccess ; do write-access without requester cmp.w #$02,28(a1) 8I3@; read-access ? beq.s readaccess bsr writebbzugriff bne.s changetoread add.l #12,sp ; correct Stack bra DOIOweiter ; write-access -> oldDOIO-routine changetoread: move.w #$02,28(a1) ; change to harmless read-access readaccess: lea bootblock0(pc),a0 move.l #bootblock1-bootblock0,d0 mulu d6,d0 add.l d0,a0 move.l a0,a5 ; a5 = bootblockbuffer for dfx: move.l a0,40(a1) move.l #1024,36(a1) ; 1024 -> read total Bootblock movem.l8JNX d1-d7/a0-a6,-(sp) bsr jmpoldDOIO movem.l (sp)+,d1-d7/a0-a6 tst.l d0 beq.s bootblockreadokay bsr openerror bootblockreadokay: move.l (sp)+,40(a1) ; restore original-buffer move.l (sp)+,36(a1) ; restore original-number of bytes rts bootblockwrite: ; a6=exec.base, a1=IO-Request move.l 24(a1),a0 ; changes a0,d0, a5 btst #4,64(a0) beq.s noprotect3 bsr writeprotected; if Disk writeprotected or removed bne.s bootblockwrite rts noprotect8Kpv3: moveq #-1,d0 ; write without requester move.w #3,28(a1) ; 3 = CMD_WRITE bsr bb move.w #2,28(a1) ; 2 = CMD_READ rts ; Before writing to disk by DOIO, you have to check if write-protected. ; If you write to disk by dos.library-functions, then there are AmigaDos- ; autorequesters automatically. bootchecksum: ; a0=address of bootblockbuffer move.w #$ff,d1 ; changes a0, d0,d1 moveq #$0,d0 ; rts with d0=bootblockchecksum loop: add8L.l (a0)+,d0 bcc.s jump addq.l #1,d0 jump: dbra d1,loop not.l d0 rts setchecksum: move.l a5,a0 clr.l 4(a0) ; clear old Bootblockchecksum bsr.s bootchecksum ; calc new, correct Bootblockchecksum move.l a5,a0 move.l d0,4(a0) ; set correct Bootblockchecksum rts WriteInFile: ; changes a0, d0,d1,d2,d3 move.l a5,d2 ; d2 = address of write-buffer move.l #1024,d3 ; d3 = number of write-bytes move.w #1023,d0 ; 1024-1 co8Mqunter for dbra move.l d2,a0 modifybuffer: cmp.l #"RAW:",(a4) ; if filename starts with "RAW:" -> prepare data bne.s writeokay ; for ASCII-dump cmp.b #$20,(a0) blo.s writedefault cmp.b #127,(a0) blo.s writeokay writedefault: ; if byte < 32 or byte > 126 -> show . move.b #".",(a0) writeokay: addq.l #1,a0 dbra d0,modifybuffer movem.l d0-d7/a0-a6,-(sp) jsr -48(a6) ; Write movem.l (sp)+,d0-d7/a0-a6 rts modifyunit: ; mod8N?'ifies output-text for dfx: move.b d6,d0 ; d6=dfx: add.b #48,d0 lea unit0(pc),a0 move.b d0,(a0) lea unit1(pc),a0 move.b d0,(a0) lea unit2(pc),a0 move.b d0,(a0) lea unit3(pc),a0 move.b d0,(a0) lea unit4(pc),a0 move.b d0,(a0) lea unit5(pc),a0 move.b d0,(a0) lea unit6(pc),a0 move.b d0,(a0) lea unit7(pc),a0 move.b d0,(a0) lea unit8(pc),a0 move.b d0,(a0) rts DOIOweiter: bsr clearflags DOIOweiter1: movem.l (8O5](sp)+,d0-d7/a0-a6 jmpoldDOIO: dc.w $4ef9 ; Opcode for jmp oldDOIO: dc.l 0 ; address of Original-DOIO-Routine bootblock: ; harmless Original-Bootblock for Boot-Simulation dc.b "DOS",0 ; if you change Bootblock, you have to correct dc.l $c0200f19 ; Bootblock-Checksum dc.l $00000370 lea dosname(pc),a1 jsr -96(a6) tst.l d0 beq.s error move.l d0,a0 move.l 22(a0),a0 returncode: moveq #0,d0 ende0: rts error: moveq #-1,d0 b8PJv.ra.s ende0 dosname: dc.b "dos.library",0 bootblockend: even nofastbootblock: ; NoFastMem-Bootblock dc.b "DOS",0 dc.l $aadce5ec dc.l $00000370 movem.l d0-d7/a0-a6,-(sp) btst #6,$bfe001 beq.s memokay1 ; if you press left mouse-button during reset fastaway1: ; -> no NoFastMem move.l #$20004,d1 movem.l d1-d7/a0-a6,-(sp) jsr -216(a6) ; availmem() movem.l (sp)+,d1-d7/a0-a6 tst.l d0 beq.s optzeichen1 movem.l d1-d7/a0-a6,-(sp) 8Qu jsr -198(a6) ; allocmem() movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s fastaway1 optZeichen1: ; NoFastMem -> blue color-signal jsr -132(a6) ; Forbid() -> color-registers are permanently set move.l #$000f000f,d0 ; -> Copperlist has no effect move.w #40,d1 farbe: move.b $dff005,d2 waittick1: move.l d0,$dff180 move.l d0,$dff184 ; overwrite 4 Workbench-colors cmp.b $dff005,d2 beq.s waittick1 dbra d1,farbe jsr -138(a6) ; Pe8R)armit() memokay1: movem.l (sp)+,d0-d7/a0-a6 lea dosname1(pc),a1; now the real Standard-Bootblock jsr -96(a6) tst.l d0 beq.s error1 move.l d0,a0 move.l 22(a0),a0 moveq #0,d0 ende1: rts error1: moveq #-1,d0 bra.s ende1 dosname1:dc.b "dos.library",0 even taskname:dc.b " VIRUS-CONTROL V1.3 by PIUS NIPPGEN, D-6657 Gersheim 8," dc.b " 06843/1522",0 ; operating instructions dc.b "automatically switching off FASTMEM can be prevented by pressing " dc.b 8=) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 tst.l d0 ; OpenError, for instance if not existing beq OpenFailed ; or EXCLUSIVE_LOCK by other process. move.l d0,d1 ; filehandle nextbootblock1: clr.b 20(sp) ; movem -> 20(sp)=d5, (GadgetID now not used) lea Vibuff(pc),a0 move.l a0,d2 ; use vector-control-Task-Stack-bottom move.l #1024+buff1-buff0,d3 ; as 1024+32-buffer movem.l d1-d7/a0-a6,-(sp) jsr 8> RE -42(a6) ; read 1 Virusname+Bootblock from S:VirusName movem.l (sp)+,d1-d7/a0-a6 cmp.l #1024+buff1-buff0,d0 bne.s fileende1 ; end of file lea NAME0text(pc),a2 moveq #buff1-buff0+20,d0 ; copy Virusname into corresponding Intuitext- mulu d6,d0 ; structure, will be printeted in Warn-Window add.l d0,a2 bsr copyname move.w #$ff,d0 move.l a5,a2 VirusNameloop: cmpm.l (a0)+,(a2)+ beq.s issame cmp.l #"FREE",-4(a08? h) beq.s nextbootblock1 tst.b 20(sp) bne.s nextbootblock1 countit: ; accept 1 Longword-difference (infection-counter) move.b #$ff,20(sp) ; 1 Longword-difference-flag issame: dbra d0,VirusNameloop ; 1024 Bytes identical -> found ! bra.s CloseFileDOS fileende1: ; not found ! bsr nameunknown CloseFileDOS: bsr CloseFile ; Close File + Close dos.library bra.s allclosed1 OpenFailed: bsr CloseDOS ; 8@ 4 inactivates btst #4,64(a0) ; Bootblock-Virus, because of no more Boot. ; first check write-protection. OpenDevice() entered address of dfx:-MsgPort ; in IO_UNIT. MsgPort byte 64: if Bit 4 is set -> Disk is write-protected. beq.s noprotect bsr.s writeprotected ; write-protected -> Requester bne.s Checksumfalsch ; 8A 5mretry rts noprotect: bsr setchecksum ; get correct Bootblockchecksum addq.l #1,4(a0) ; -> no more correct writecheck: bra bootblockwrite ; write incorrect checksum -> no more boot Checksumrichtig: move.l 24(a1),a0 btst #4,64(a0) beq.s noprotect1 bsr.s writeprotected bne.s Checksumrichtig rts noprotect1: bsr setchecksum ; get correct Bootblockchecksum bra.s writecheck writeprotected: ; write-protected-requester movem.l a0-a3,8B 1H-(sp) jsr -132(a6) bsr modifyunit lea PROTECT(pc) ,a1 lea PROTECTL(pc),a2 lea NOBOOTR(pc) ,a3 bra shorter2 showbootblock: ; if a4(=Filename) = RAW: -> Bootblock-ASCII-Dump movem.l d0-d7/a0-a6,-(sp) ; else save to file jsr -132(a6) bsr modifyunit bsr OpenDOS ; OpenLibrary("dos.library",0); move.l a4,d1 ; showbootblock is called with a4=filename move.l #1006,d2 ; newmode bsr checkdevicena8CL8me tst.l d0 bne.s deviceokay movem.l d1-d7/a0-a6,-(sp) bra.s deviceunknown deviceokay: movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) ; Open() (if RAW:-Window -> modified title-line) deviceunknown: move.l $4.w,a6 jsr -138(a6) movem.l (sp)+,d1-d7/a0-a6 ; DOIO->writeprotect->own requester tst.l d0 ; DOSfunctions->writeprotect->AmigaDOSAutorequester bne.s NoErrorShow ; OpenError(wrong filename)->own requester bsr openerror bra 8DdŸ, OpenFailed NoErrorShow: move.l d0,d1 ; filehandle bsr WriteInFile cmp.l #"RAW:",(a4) bne CloseFileDOS lea unit2(pc),a0 ; you can use unit2 as read-buffer, because move.l a0,d2 ; it will be restored moveq #1,d3 ; get 1 character movem.l d0-d7/a0-a6,-(sp) jsr -42(a6) ; Read RAW: waits for key movem.l (sp)+,d0-d7/a0-a6 bsr CloseFile movem.l (sp)+,d0-d7/a0-a6; restore a1-IORequest bsr bootbl8EX$ockread ; because ASCII-dump changed Bootblock-data bra openwindow autorequest: ; call with a6=exec.base movem.l d1-d7/a0-a6,-(sp) movem.l a1-a3,-(sp) ; maintext, left text, right text bsr OpenIntuition jsr -342(a6) ; WBenchToFront() -> like an AmigaDOS-Autorequester sub.l a0,a0 ; 2 Bytes, move.l #0,a3 needs 6 Bytes movem.l (sp)+,a1-a3 ; maintext, left text, right text moveq #0,d0 ; no IDCMP-Flags for le8Fft Gadget moveq #0,d1 ; no IDCMP-Flags for right Gadget move.l #640,d2 ; Autorequester-width moveq #100,d3 ; Autorequester-height jsr -348(a6) ; AutoRequest() move.l a6,a1 ; intuitionbase move.l $4.w,a6 move.l d0,-(sp) ; save BOOL jsr -414(a6) ; CloseLibrary("intuition.library"); move.l (sp)+,d0 ; BOOL movem.l (sp)+,d1-d7/a0-a6; movem does not overwrite d0 rts optzeichen: move.l #$08G_"0f000f0,d0 ; green green -> VirusControl okay optZeichen2: ; color in d0 movem.l d0-d7/a0-a6,-(sp) move.l $4.w,a6 ; Disable() -> color-registers are permanently set jsr -120(a6) ; -> Copperlist has no effect move.w #40,d1 ; use vertical beam-position as 'Timer' red: ; -> can be used in cool-routine already and same delay move.b $dff005,d2 ; for any processors waittick: move.l d0,$dff180 move.l d0,$dff184 ; overwrite 82{>utine ; a program could jmp DOIO with an ROM-address cmp.w #$4a80,(a0) ; on stack by accident, therfore make sure, if it bne nobootroutine ; is reset-boot-routine really, by comparing code. cmp.l #$2014b0ba,4(a0); Do not use a direct ROM-address, because this would bne nobootroutine ; not work with future ROM-versions. ; here in boot-routine you can use all libraries, except dos.library, ; because dos.library is prepared by bootblock-code. ; since 'system83rm-configuration' is not read yet, Standard-Font is Topaz 9 -> ; 60 characters in a line. lea resetflag(pc),a3 move.b #$ff,(a3) ; set resetflag -> ignore 1*512-Bytes-DOIO cmp.w #$100,$dff016 ; right mouse-button pressed ? bne.s memokay fastaway: move.l #$20004,d1 ; get largest-Fastmem-area movem.l d1-d7/a0-a6,-(sp) jsr -216(a6) ; availmem() movem.l (sp)+,d1-d7/a0-a6 tst.l d0 beq.s memokay movem.l d1-d7/a0-a6,-(sp) jsr -198(a6) ; 84R\?allocate this area movem.l (sp)+,d1-d7/a0-a6 tst.l d0 bne.s fastaway memokay: move.w (sp)+,ccr beq.s bootsimul ; faster than read again movem.l a0-a3,-(sp) ; save a0, because of modifyunit, save a1,a2,a3 jsr -132(a6) ; because of Requester-parameter bsr modifyunit lea NOBOOTtext(pc),a0 clr.b 26(a0) ; shorten 'String' lea BOOT(pc) ,a1 lea BOOTL(pc),a2 lea BOOTR(pc),a3 bsr autorequest move.b #" ",26(a0) ; res85tore 'String', will be used in Warn-Window jsr -138(a6) movem.l (sp)+,a0-a3 ; true 1 retry = left Gadget tst.l d0 ; false 0 cancel = right Gadget beq.s bootsimul ; left -> Boot-simulation movem.l a0-a3,-(sp) jsr -132(a6) bsr modifyunit lea REALLYBOOT(pc),a1 lea BOOTL(pc),a2 lea BOOTR(pc),a3 ; really Original-Disk-Boot-Routine ? bsr autorequest ; Danger -> can activate viruses ! jsr -138(a6) movem.l (sp)+,a860-a3 tst.l d0 beq.s bootsimul movem.l d0-d7/a0-a6,-(sp); in boot-routine dos.library cannot be used yet, bsr settimer ; you have to use timer.device directly instead of bsr wait1 ; Delay(). wait for 2 sec., in this time, Screen, bsr wait1 ; Window-lists can be updated .....This waiting is bsr remreqport ; needed only for a few dirty programmed BootIntros. bsr addtask movem.l (sp)+,d0-d7/a0-a6 bra DOIOweiter ; r87֡4Nead and execute original-bootcode->could activate Virus! bootsimul: bsr addtask move.l 40(a1),a0 move.l a0,a2 bsr clear1024 lea bootblock(pc),a0 moveq #bootblockend-bootblock-1,d0 loop6: move.b (a0)+,(a2)+ dbra d0,loop6 bsr clearflags movem.l (sp)+,d0-d7/a0-a6 moveq #$0,d0 ; rts to ROM with d0=0 -> DOIO okay rts ; instead of jmp oldDOIO (reads original-bootcode in buffer), ; copy harmless bootcode in buffer, rts to ROM (execute code88) nobootroutine: move.w (sp)+,ccr beq DOIOweiter ; no Virus lea searchfiles(pc),a0 tst.b (a0) ; do not search S:NoWarning, S:VirusName, beq openwindow ; if searchfiles = 0 ; if Bootblock is saved in S:NoWarning-File -> only red signal movem.l d0-d7/a0-a6,-(sp) bsr OpenDOS ; OpenLibrary("dos.library",0); lea NoWarning(pc),a0 move.l a0,d1 ; Filename move.l #1004,d2 ; MODE_READWRITE, to open ex89k] isting S:NoWarning-File bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.l d0 ; wrong data. beq NoWarnError movem.l d1-d7/a0-a6,-(sp) jsr -30(a6) movem.l (sp)+,d1-d7/a0-a6 ; OpenError, for instance if not existing tst.l d0 ; or EXCLUSIVE_LOCK by other process. beq NoWarnError move.l d0,d1 ; filehandle nextbootblock: move.l a5,a2 lea Nobuff(pc),a0 move.l a0,d2 ; u8:Nse vector-control-Task-Stack-bottom move.l #1024,d3 ; as 1024-buffer movem.l d1-d7/a0-a6,-(sp) jsr -42(a6) ; read first Bootblock from S:NoWarning movem.l (sp)+,d1-d7/a0-a6 cmp.l #1024,d0 ; no more Bootblock -> end of file bne.s fileende move.w #$ff,d0 NoWarningloop: cmpm.l (a0)+,(a2)+ bne.s nextbootblock dbra d0,NoWarningloop bsr CloseFile ; 1024 Bytes identical -> found ! move.l #$0f000f00,d0 ; found -> red si8;%gnal bsr optzeichen2 movem.l (sp)+,d0-d7/a0-a6 bra DOIOweiter fileende: ; not found ! bsr CloseFile ; Close File + Close dos.library bra.s allclosed NoWarnError: bsr CloseDOS ; Close dos.library allclosed: movem.l (sp)+,d0-d7/a0-a6 VirusNameFile: ; before opening Warn-Window, test, if Bootblock saved in VirusName-File, ; if found -> use this name lea searchfiles(pc),a0 tst.b (a0) ; if -f ignore S:Virus8<䵕Name, even if L-ALT pressed beq openwindow movem.l d0-d7/a0-a6,-(sp) bsr nameunknown ; default bsr OpenDOS ; OpenLibrary("dos.library",0); lea VirusName(pc),a0 move.l a0,d1 ; Filename-address move.l #1004,d2 ; MODE_READWRITE, to open existing S:NoWarning-File bsr checkdevicename ; EXCLUSIVE_LOCK, because multiple use could produce tst.l d0 ; wrong data. beq OpenFailed movem.l d1-d7/a0-a6,-(sp8'7xbne.s AllocAbsOkay ; in COOL-Routine you cannot use Libraries, except showend: ; Exec-Library. expansion-ram is not recognized yet. bsr optzeichen ; Therfore use Chip-memory bra.s showend AllocAbsOkay: ; AllocAbs does not fail, since nothing is allocated lea taskflag(pc),a0 ; clear taskflag, resetflag, exitflag, exitcount clr.l (a0)+ ; clear inuse-flags clr.l (a0) ; clear taskflag, exitcount, inuse-flags satisfie8(ps bsr VCrestore ; set vectors to VIRUS-CONTROL bsr optzeichen ; green color-signal -> VIRUS-CONTROL still active movem.l (sp)+,d0-d7/a0-a6; reset does not change coolvector, execchecksum rts newDOIO: ; new entry for DOIO-Routine. cmp.l #$400,36(a1) ; 1024 Bytes - reset beq.s test cmp.l #$200,36(a1) ; 512 Bytes - insert Disk, loadwb beq.s test ; keep code short, which is passed by every DOIO, bra jmpoldDOIO ;8) |#T to avoid deadlock ; Code has to be reentrant, because code can be used simultaneously ; for df0:-Df3:. Therfore you cannot use an absolute address to store ; for instance gadgetID or windowpointer, because each task will use this ; only address -> crash. Use unused registers to store. If Task-change, ; these registers are automatically changed too. ; d6 = dfx: to modify requester-text d7 = Windowpointer, a5 = bootblockbuffer ; d4 = IDCMPclass, d5 LowWord=gadgetID, d5 HiWord= 1Unter8*!5:Aschied ausgeben ; the library-functions change d0,d1,(d2,d3),a0,a1 at least. Therfore save ; registers, before using a library-function. ; To keep VIRUS-CONTROL short, text is modified for dfx: before output. ; first forbid(), then modifying, then output, then permit(). ; if not -> for instance a task modifies text, taskswitch to another task, ; this task also modifies this text, then correct output, taskswitch to old ; task, and now output of meanwhile incorrect text. ; Modifying of8+"A data is not very elegant, but if saves a lot of data. ; Without modifying you need 4*more data-structures ( df0: -df3: ) test: movem.l d0-d7/a0-a6,-(sp); move.l $4.w,a6 ; a6 only mostly = exec-base, DOIO(a5) works move.l 20(a1),a0 ; a1 pointer to I/O-request-structure move.l 10(a0),a0 ; in 20(a1) address of Device-structure, which starts cmp.l #"trac",(a0)+ ; with a Node-structure, test name bne.s shorter4 ; DOIO-access to Trackdisk.device ? cm8,#"űp.l #"kdis",(a0)+ bne.s shorter4 cmp.l #"k.de",(a0) bne.s shorter4 tst.l 44(a1) ; from Block 0 ? bne.s shorter4 cmp.w #$02,28(a1) ; reading ? beq.s read3 cmp.w #$03,28(a1) ; writing ? -> requester in bootblockread shorter4: ; bne.s shorter4 = 2 byte, bne.l DOIOweiter = 4 byte bne DOIOweiter1 read3: move.l 24(a1),a0 ; OpenDevice() enters address of dfx:-MsgPort move.b 67(a0),d0 ; in IO_UNIT move.b d0,d6 8-$8F, ; d6 = dfx: btst #1,64(a0) ; dfx: no disk inserted -> jmp oldDOIO bne shorter4 lea inuse0(pc),a0 ext.w d6 ; d6(byte)-> Word-> Longword, because of add.l ext.l d6 add.l d6,a0 tst.b (a0) ; test dfx:-inuse-Flag bne shorter4 ; if aleady dfx:-WarnWindow jmp oldDOIO move.b #$ff,(a0) ; set inuse-flag lea exitcount(pc),a0 ; exitcount +1, if work on disk addq.b #1,(a0) moveq #0,d5 ; if -f, do not print8.%ud intuitext bsr bootblockread ; read bootblock (tests write-access) bsr nameunknown ; clear last virusname cmp.l #$400,36(a1) ; reset->1024->set reset-flag->ignore first 512-DOIO beq.s checkiton lea resetflag(pc),a0 move.b (a0),d0 ; ignore first DOIO() 512 Bytes from 0, clr.b (a0) ; because most dos.library-functions cannot be tst.b d0 ; used yet. for instance Open() -> Task-Held bne DOIOweiter cmp.b #$35,$bfec01 8/& ; right Alt-key pressed ? beq DOIOweiter ; R-ALT -> no VIRUS-CONTROL-Test lea colorflag(pc),a0 tst.b (a0) beq.s nocolor ; colorflag = 0 -> no green color-signal bsr optzeichen nocolor: cmp.b #$37,$bfec01 ; left Alt-key pressed ? beq VirusNameFile ; L-ALT -> always Warn-Window checkiton: move.l a5,a0 ; bootblockread puts bufferaddress into a5 cmp.l #$444f5300,(a0); "DOS",0 ? bne DOIOweiter ; no DOS-Disk bsr bootc80'=Mhecksum ; Bootblockchecksum false -> no danger, no boot bne DOIOweiter ; it is a DOS-disk + CHECKSUM okay -> disk-Bootroutine will be used, ; therefore test if VIRUS-code. move.l a5,a0 add.l #12,a0 cmp.l #$43fa0018,(a0)+ ; (a0)+ shorter than for instance 12(a0) bne.s testreset ; cmp.l #$4eaeffa0,(a0)+ ; is it harmless standard-boot-code ? bne.s testreset cmp.l #$4a80670a,(a0)+ bne.s testreset cmp.l #$20402068,(a0)+ bne.s testreset cmp.l #81$00167000,(a0)+ bne.s testreset cmp.l #$4e7570ff,(a0)+ bne.s testreset cmp.l #$60fa646f,(a0) testreset: jsr -528(a6) ; getcc() -> 68010,20 compatible move.w d0,-(sp) ; save flags, beq=no virus bne=virus cmp.l #$400,36(a1) ; 1024 Bytes=reset. insert Disk + loadwb = 512 bne nobootroutine move.l 62(sp),a0 ; test RTS-address, if ROM-call-DOIO. cmp.l #$00fc0000,a0 ; in ROM only 1*DOIO with $400 -> in boot-routine. blo nobootro8)ZW-reset+14(a1) addq.l #1,a0 bra.s testline testf: cmp.b #"f",(a0)+ ; -f = do not use S:NoWarning S:VirusName bne.s noparameter clr.b searchfiles-reset(a1) move.l #"OFF ",gadtext16text-reset+14(a1) bra.s testline noparameter: ; check inserted disks-routine moveq #0,d0 ; df0: (also returncode) tst.b checkflag beq weiter-2 bsr OpenDOS moveq #50,d1 ; wait for 1 second for vector-control-Task jsr -18*Ըk98(a6) ; to set Openflag correctly. bsr CloseDOS bsr.s check moveq #1,d0 ; df1: bsr.s check moveq #2,d0 ; df2: bsr.s check moveq #3,d0 ; df3: bra.s check check: move.l d0,-(sp) sub.l a1,a1 ; FindTask() jsr -294(a6) move.l VCreset(pc),a1 lea trackport-reset(a1),a1 move.l d0,16(a1) jsr -354(a6) ; AddPort() move.l VCreset(pc),a1 lea trackreq-8+.reset(a1),a1 lea trackdisk(pc),a0 moveq #0,d1 ; no flags move.l (sp)+,d0 ; dfx: jsr -444(a6) ; OpenDevice() tst.l d0 bne.s OpenDeviceError ; d0 <> 0 -> dfx: does not exist move.l VCreset(pc),a0 lea trackreq-reset(a0),a1 lea trackport-reset(a0),a3 move.l a3,14(a1) lea blockbuff-reset(a0),a3 move.l a3,40(a1) moveq #2,d0 move.w d0,28(a1) ; CMD_READ ls8,ľl.l #8,d0 ; 512 Bytes from 0 -> VIRUS-CONTROL move.l d0,36(a1) ; first checks if disk is inserted, clr.l 44(a1) ; if not, jump to old DOIO-Routine jsr -456(a6) ; DOIO -> jump to VIRUSCONTROL ; you have to use VCreset, not 46(a6), because 'remove Virus-Control' ; sets 46(a6) = 0 ; before freemem, vector-control-Task waits for 5 seconds -> enough time ; for motor off, CloseDevice() RemPort()8 -N5l, which use this area move.l VCreset(pc),a1 lea trackreq-reset(a1),a1 move.w #9,28(a1) ; motor clr.l 36(a1) ; off jsr -456(a6) ; DOIO move.l VCreset(pc),a1 lea trackreq-reset(a1),a1 jsr -450(a6) ; CloseDevice() OpenDeviceError: move.l VCreset(pc),a1 lea trackport-reset(a1),a1 jsr -360(a6) ; RemovePort() bra returncode textaddress: dc.l 0 8!.׊; address of information textlaenge: dc.l 0 ; length of information Parameter: dc.l 0 ; number of additional entered characters Parameteradr: dc.l 0 ; address of additional entered characters VCreset: dc.l 0 ; address of installed VIRUS-CONTROL checkflag: dc.b $ff frei: dc.b 0 trackdisk: dc.b "trackdisk.device",0 even Meldung: dc.b $9b,"33mVIRUS-CONTROL V1.3 by PIUS NIPPGEN " Meldungmodify: dc.b " now installed8"/p !",10,$9b,"31m" dc.b "100% assembler! survives reset! runs on any Amiga! vector-check every second!",10 dc.b "Kill-Virus by vector-restoration! Bootblock - write - access - control!",10 dc.b "Reset+left M.button->removes VIRUS-CONTROL! Reset+right M.button->NoFastMem!",10 dc.b "insert suspect disk->WarnWindow! +L-ALT->always WarnWindow! +R-ALT->never!",10 dc.b "Bootblock to screen or to File! Standard, NoFastMem or File to Bootblock!",10 dc.b "Bootblockchecksum f8#06alse->no more (Virus-)Boot, right->(Virus-)Boot possible!",10 dc.b "dangerless Boot from Virus-Disk because of Boot-simulation!",10 dc.b "save Bootblock to S:NoWarning->only red Warn-Signal!",10 dc.b "save Bootblock with name to S:VirusName->WarnWindow with name!",10 dc.b "Protection from Link-Viruses because of File-protection-mark!",10 dc.b "-f do not use S:NoWarning, S:VirusName!",10 dc.b "-c insert disk -> no green color-signal!",10 dc.b "-t start -> do 8$1onot check inserted disks!",10 dc.b "-o control Open(file) by requester!",10 dc.b "contacts and comments welcomed !",10 MeldungEnde: even MeldungDanger: dc.b $9b,"33mVIRUS-CONTROL V1.3 by P.NIPPGEN not installed,",10, dc.b $9b,"31msince " vectorchanged: ; vectorchanged-address even, because of .l dc.b "COOL-vector already changed -> by VIRUS?",10 dc.b "the only 100% safe method to remove Virus is:",10 dc.b "AMIGA OFF, Wait, AMIGA ON, start VIRUS-CONTR8%2, OL!",10 MeldungDangerEnde: even Meldungvector: dc.b $9b,"33mKICK -vector changed -> Virus ?",10,$9b,"31m" MeldungvectorEnde: even NoWBStart: dc.b 0,1,0,0 dc.w 15,30 dc.l 0,NoWBStarttext,0 NoWBStarttext: dc.b "use CLI, to start VIRUS-CONTROL V1.3 !",0 even ; do not address absolutely in the real VIRUS-CONTROL-Routine (reset: - end:), ; since this routine is copied to the new, allocated area, therefore there ; are new absolute addresses, you have to address relatively: ; move a8&~D5qddress(pc),lea(pc),bsr,bra instead of move address,lea,jsr,jmp reset: ; if reset->if execchecksum correct->cool-vector btst #6,$bfe001 ; cool-vector points to reset: bne.s weiter ; if left mouse-button is pressed during reset -> clr.l $2e(a6) ; remove VIRUS-CONTROL. rts weiter: movem.l d0-d7/a0-a6,-(sp); move.l pointer(pc),a1 move.l #end-reset+9000,d0 jsr -204(a6) ; AllocAbs -> allocate the VIRUS-CONTROL-routine tst.l d0 84>2 -NOBOOT+34(a0) add.l d0,string2 -NOBOOT(a0) add.l d0,string2 -NOBOOT+4(a0) add.l d0,gad93 -NOBOOT(a0) add.l d0,gad93 -NOBOOT+18(a0) add.l d0,gad93 -NOBOOT+34(a0) add.l d0,string3 -NOBOOT(a0) add.l d0,string3 -NOBOOT+4(a0) add.l d0,gad0 -NOBOOT(a0) add.l d0,gad0 -NOBOOT+18(a0) add.l d0,gad0 -NOBOOT+26(a0) add.l d0,gad1 -NOBOOT(a0) add.l d0,gad1 85 -NOBOOT+18(a0) add.l d0,gad1 -NOBOOT+26(a0) add.l d0,gad2 -NOBOOT(a0) add.l d0,gad2 -NOBOOT+18(a0) add.l d0,gad2 -NOBOOT+26(a0) add.l d0,gad3 -NOBOOT(a0) add.l d0,gad3 -NOBOOT+18(a0) add.l d0,gad3 -NOBOOT+26(a0) add.l d0,gad4 -NOBOOT(a0) add.l d0,gad4 -NOBOOT+18(a0) add.l d0,gad4 -NOBOOT+26(a0) add.l d0,gad5 -NOBOOT(a0) add.l d0,g86ad5 -NOBOOT+18(a0) add.l d0,gad5 -NOBOOT+26(a0) add.l d0,gad6 -NOBOOT(a0) add.l d0,gad6 -NOBOOT+18(a0) add.l d0,gad6 -NOBOOT+26(a0) add.l d0,gad7 -NOBOOT(a0) add.l d0,gad7 -NOBOOT+18(a0) add.l d0,gad7 -NOBOOT+26(a0) add.l d0,gad8 -NOBOOT(a0) add.l d0,gad8 -NOBOOT+18(a0) add.l d0,gad8 -NOBOOT+26(a0) add.l d0,gad10 -NOBOOT(a0) add.l 87Ud0,gad10 -NOBOOT+18(a0) add.l d0,gad10 -NOBOOT+26(a0) add.l d0,gad11 -NOBOOT(a0) add.l d0,gad11 -NOBOOT+18(a0) add.l d0,gad11 -NOBOOT+26(a0) add.l d0,gad12 -NOBOOT(a0) add.l d0,gad12 -NOBOOT+18(a0) add.l d0,gad12 -NOBOOT+26(a0) add.l d0,gad13 -NOBOOT(a0) add.l d0,gad13 -NOBOOT+18(a0) add.l d0,gad13 -NOBOOT+26(a0) add.l d0,gad14 -NOBOOT(a0) add.88e l d0,gad14 -NOBOOT+18(a0) add.l d0,gad14 -NOBOOT+26(a0) add.l d0,gad15 -NOBOOT(a0) add.l d0,gad15 -NOBOOT+18(a0) add.l d0,gad15 -NOBOOT+26(a0) add.l d0,gad16 -NOBOOT+18(a0) add.l d0,gad16 -NOBOOT+26(a0) add.l d0,gadborders -NOBOOT-8(a0) add.l d0,gadborder1 -NOBOOT-8(a0) add.l d0,pairs -NOBOOT-8(a0) add.l d0,font -NOBOOT(a0) add.l d0,window -NOBOOT+26(a0894%x) add.l d0,structtask -NOBOOT+10(a0) add.l d0,end -NOBOOT-30(a0) add.l d0,end -NOBOOT-34(a0) add.l d0,end -NOBOOT-38(a0) lea reset(pc),a0 ; pc-relative-address-mode is shorter move.w #end-reset-1,d0; dbcc ends if -1 (ffff) copy: move.b (a0)+,(a1)+ ; copy the real VIRUS-CONTROL-Routine (reset: bis end:) dbra d0,copy ; to the allocated area move.l pointer(pc),a1 add.l #newDOIO-reset,a1 move.l a1,-454(a6) 8:sWg ; set DOIO-vector to VIRUS-CONTROL bsr execchecksum ; set COOL-vector to VIRUS-CONTROL move.l pointer(pc),a1 move.l a1,a2 add.l #structtask-reset,a1 ; addtask add.l #task-reset,a2 sub.l a3,a3 ; 2 Bytes instead of 6 Bytes(move.l #0,a3) jsr -282(a6) move.l #MeldungEnde-Meldung,textlaenge move.l #Meldung,textaddress bsr.s meldungout bra.s checkdrive ; check inserted disks DOIOchanged: move.l #"DOIO",vectorchanged COOLchanged: bsr 8;5^ freemem move.l #MeldungDangerEnde-MeldungDanger,textlaenge move.l #MeldungDanger,textaddress bra.s meldungout isinstalled: bsr freemem move.l #MeldungEnde-Meldung,textlaenge move.l #Meldung,textaddress move.l #" al",Meldungmodify ; modifying is shorter than move.l #"read",Meldungmodify+4 ; an extra information move.l #"y ",Meldungmodify+8 bsr.s meldungout bra.s checkdrive ; check inserted disks meldungout: bsr OpenDOS ; Open8 d0=1, only $0a(Return) testline: cmp.b #$20,(a0) ; in a0 address of additional characters bne.s testn ; ignore spaces addq.l #1,a0 bra.s testline testn: cmp.b #"-",(a0)8(^+ bne.s noparameter cmp.b #"c",(a0) ; -c = insert disk -> no green color bne.s testt clr.b colorflag-reset(a1) move.l #"OFF ",gadtext0text-reset+14(a1) addq.l #1,a0 bra.s testline testt: cmp.b #"t",(a0) ; -t = do not check inserted disks bne.s testo clr.b checkflag addq.l #1,a0 bra.s testline testo: cmp.b #"o",(a0) ; -o = set Open() to VIRUS-CONTROL bne.s testf clr.b openflag-reset(a1) move.l #" ON ",gadtext15text8?{r+8 bsr meldungout testDOIO: lea newDOIO(pc),a0 move.l oldDOIO(pc),a3 ; is DOIO-vector already set to VIRUS-CONTROL moveq #127,d0 ; if not install VIRUS-CONTROL, but only if DOIO-vector aaaa: ; was not changed cmpm.l (a3)+,(a0)+ bne.s install dbra d0,aaaa ; VIRUS-CONTROL already installed, because DOIO okay lea reset(pc),a0 ; test if COOL-vector is set to VIRUS-CONTROL move.l 46(a6),a3 ; test 127 Bytes (moveq -> +8@—127) moveq #127,d0 bbbb: cmpm.l (a3)+,(a0)+ bne COOLchanged ; is Cool-vector set to another program (Virus?) dbra d0,bbbb bra isinstalled ; both vectors set to VIRUS-CONTROL -> everthing okay install: cmp.l #$00fc0000,oldDOIO; is DOIO-vector set to ROM ? ; do not use a special ROM-address, because of compatibility with any version ; if not set to ROM -> set to a virus ? blo DOIOchanged movem.l d1-d7/a0-a6,-(sp) lea taskname(pc),a1; vector-cont8A]rol-Task could be active still, because jsr -294(a6) ; a Window or Requester could be still in work tst.l d0 ; DOIO, COOL-vector is restored already. movem.l (sp)+,d1-d7/a0-a6 bne freemem move.l pointer(pc),a1 ; a1 will be used in copy-routine move.l a1,d0 lea Kennung(pc),a0 ; VIRUS-CONTROL-program can be file-proteced too, addq.b #1,8(a0) ; because mark does not stand in program lea NOBOOT(pc),a0 add.l d0,lastDOIO -NOBOO8 Bkk"T(a0) ; assemble absolute addresses with add.l d0,lastCOOL -NOBOOT(a0) ; minus reset. add.l d0,NOBOOTtext -NOBOOT-8(a0) ; now adapt these absolute addresses add.l d0,NOBOOTtext -NOBOOT-12(a0) ; to the actual memory-address add.l d0,NOBOOTRtext -NOBOOT-8(a0) add.l d0,NOBOOTRtext -NOBOOT-12(a0) add.l d0,OPENERRtext -NOBOOT-8(a0) add.l d0,OPENERRtext -NOBOOT-12(a0) add.l d0,NAME0text -NOBOOT-8(a0) add.l d0,NAME0text -8 C=7NOBOOT-12(a0) add.l d0,NAME1text -NOBOOT-8(a0) add.l d0,NAME1text -NOBOOT-12(a0) add.l d0,NAME2text -NOBOOT-8(a0) add.l d0,NAME2text -NOBOOT-12(a0) add.l d0,NAME3text -NOBOOT-8(a0) add.l d0,NAME3text -NOBOOT-12(a0) add.l d0,ONEDIFFtext -NOBOOT-8(a0) add.l d0,ONEDIFFtext -NOBOOT-12(a0) add.l d0,CORRECTtext -NOBOOT-8(a0) add.l d0,CORRECTtext -NOBOOT-12(a0) add.l d0,PROTECTtext -NOBOOT-8(a0) add.l d0,PROTEC8 DX^TLtext -NOBOOT-8(a0) add.l d0,ALREADYNOtext -NOBOOT-8(a0) add.l d0,ALREADYNOdeltext-NOBOOT-8(a0) add.l d0,ALREADYVItext -NOBOOT-8(a0) add.l d0,ALREADYVItext -NOBOOT-12(a0) add.l d0,ALREADYWORKtext-NOBOOT-8(a0) add.l d0,ALREADYNOnamtext-NOBOOT-8(a0) add.l d0,ALREADYNOnamtext-NOBOOT-12(a0) add.l d0,OPENFILEnamtext-NOBOOT-8(a0) add.l d0,OPENFILEnamtext-NOBOOT-12(a0) add.l d0,EXITtext -NOBOOT-8(a0) add.l d0,linktext -NOBOOT-8(a0) add.l 8 E[9 d0,linktext -NOBOOT-12(a0) add.l d0,neuschtext -NOBOOT-8(a0) add.l d0,okktext -NOBOOT-8(a0) add.l d0,noloadftext -NOBOOT-8(a0) add.l d0,FILESCHUTZtext -NOBOOT-8(a0) add.l d0,WRITEBBtext -NOBOOT-8(a0) add.l d0,WRITEBBtext -NOBOOT-12(a0) add.l d0,OVERWRITEtext -NOBOOT-8(a0) add.l d0,OVERWRITELtext -NOBOOT-8(a0) add.l d0,OVERWRITERtext -NOBOOT-8(a0) add.l d0,BOOTL -NOBOOT-8(a0) add.l d0,BOOTLtext -NOBOOT-8(a0) a8 Fpȉdd.l d0,BOOTRtext -NOBOOT-8(a0) add.l d0,REALLYBOOTtext -NOBOOT-8(a0) add.l d0,vector0text -NOBOOT-8(a0) add.l d0,vectorLtext -NOBOOT-8(a0) add.l d0,vectorLtext -NOBOOT-12(a0) add.l d0,gadtext16text -NOBOOT-8(a0) add.l d0,gadtext16text -NOBOOT-12(a0) add.l d0,gadtext15text -NOBOOT-8(a0) add.l d0,gadtext15text -NOBOOT-12(a0) add.l d0,gadtext14text -NOBOOT-8(a0) add.l d0,gadtext14text -NOBOOT-12(a0) add.l d0,gadtext13text -NOBOOT-8GKS8(a0) add.l d0,gadtext13text -NOBOOT-12(a0) add.l d0,gadtext12text -NOBOOT-8(a0) add.l d0,gadtext12text -NOBOOT-12(a0) add.l d0,gadtext11text -NOBOOT-8(a0) add.l d0,gadtext11text -NOBOOT-12(a0) add.l d0,gadtext8text -NOBOOT-8(a0) add.l d0,gadtext8text -NOBOOT-12(a0) add.l d0,gadtext7text -NOBOOT-8(a0) add.l d0,gadtext7text -NOBOOT-12(a0) add.l d0,gadtext6text -NOBOOT-8(a0) add.l d0,gadtext6text -NOBOOT-12(a0) add.l d0,gadtext5text 8H9 -NOBOOT-8(a0) add.l d0,gadtext5text -NOBOOT-12(a0) add.l d0,gadtext4text -NOBOOT-8(a0) add.l d0,gadtext4text -NOBOOT-12(a0) add.l d0,gadtext3text -NOBOOT-8(a0) add.l d0,gadtext3text -NOBOOT-12(a0) add.l d0,gadtext2text -NOBOOT-8(a0) add.l d0,gadtext2text -NOBOOT-12(a0) add.l d0,gadtext1text -NOBOOT-8(a0) add.l d0,gadtext1text -NOBOOT-12(a0) add.l d0,gadtext0text -NOBOOT-8(a0) add.l d0,gadtext0text -NOBOOT-12(a0) add.l d0,gad83Q;`90 -NOBOOT(a0) add.l d0,gad90 -NOBOOT+18(a0) add.l d0,gad90 -NOBOOT+34(a0) add.l d0,string0 -NOBOOT(a0) add.l d0,string0 -NOBOOT+4(a0) add.l d0,gad91 -NOBOOT(a0) add.l d0,gad91 -NOBOOT+18(a0) add.l d0,gad91 -NOBOOT+34(a0) add.l d0,string1 -NOBOOT(a0) add.l d0,string1 -NOBOOT+4(a0) add.l d0,gad92 -NOBOOT(a0) add.l d0,gad92 -NOBOOT+18(a0) add.l d0,gad96Jq_  REMOVE or OVERWRITE $tH OVERWRITE with $tATTENTION: ACCESS to finish VIRUS-CONTROL really ? Protect & File okay Fno load-file: File-Protection: $tFilelength6K{ has changed !! -> LINK-VIRUS ?? -> $t0ATTENTION: WRITE-ACCESS to Bootblock DF0: turn to READ ?~Bootblock in DF0: really write over it ? YES  NO  Disk-Boot-Routine . Boot-Simulation Tleft: could start a Disk-Boot-VIRUS !! -vector changed -> VIRUS ? - AMIGA OFF !!6LXB$t KILL-SYSTEM-VIRUS -> Danger of Guru -> better AMIGA OFF !! $t( SearchFiles ON $tP CheckOpen OFF $tx File - Protection$t Kill System-Virus$tin S:VirusName-File$tin S:NoWarning-File$tFinish VirusControl$t@r.Checksum -> Boot$thf.Checksum ->NoBoot$tNoFastMem-BootBlock6MH$tStandard -BootBlock$tFile -> BootBlock$tBootblock -> File$t0BootBlock -> Screen$tX Color-Signal ON  #ll #l<a #ld #l a #l O #l H65#6NCPN tO #l #l, x #lT  #l|!$ #l!Px #l!|a #l!O #l!x #lD"%6 #|"X $- 6O$"%6 #|" $- "%6 #|" $- "%6 #|#H $. ##$,  77 8899::;;<<677667878998:8:;6qxQ:;889<9<$|topaz.fontram:filenameram:filenameram:filenameram:filename@"DH%H2 "6>V^|2(6<@PVZdnx4 8Q9 ter = 0 -> bne.s clistart ; Workbenchstart -> you have to get Workbench- move.l d0,-(sp) ; StartupMessage, else -> TaskHeld or Guru lea $5c(a1),a0 jsr -384(a6) ; WaitPort() move.l (sp)+,a1 lea $5c(a1),a0 jsr -372(a6) ; GetMsg() move.l d0,-(sp) lea NOBOOTRtext(pc),a0 add.l #reset,-8(a0) add.l #reset,-12(a0) lea NoWBStart(pc),a1 lea NOBOOTR(pc),a2 lea NOBOOTR(pc),a3 ; Requester points to CLI-S8RRh$tart bsr autorequest sub.l #reset,-8(a0) sub.l #reset,-12(a0) move.l (sp)+,a1 jmp -378(a6) ; ReplyMsg() + end clistart: move.l #end-reset+9000,d0; real VIRUS-CONTROL-Routine + Task-stack move.l #$10002,d1 ; MEMF_CLEAR jsr -198(a6) ; Chip-Memory exists in any Amiga, and can be move.l d0,pointer ; allocated already in Cool-vector-routine beq weiter-2 ; error -> rts -> no installation-information move.l -454(a68S6pd),oldDOIO ; save oldDOIO, will be copied tst.l 546(a6) bne.s kickchanged tst.l 550(a6) ; if KICK-vectors are changed -> only warnings, bne.s kickchanged ; because changes can be caused by serious programs tst.l 554(a6) ; (for instance rad:) beq.s testBeginIO kickchanged: move.l #MeldungvectorEnde-Meldungvector,textlaenge move.l #Meldungvector,textaddress bsr meldungout testBeginIO: lea 350(a6),a0 ; DeviceListstructure lea tra8>o)ckdisk(pc),a1 jsr -276(a6) ; Address of Trackdisk-Node = trackdisk.device-Base move.l d0,a0 lea -28(a0),a0 move.l a0,BeginIOAdr ; get addresse of BeginIO-vector cmp.l #$00fc0000,(a0); if BeginIO-vector is changed -> only warning, because bhs.s testDOIO ; changes can be caused by serious programs (FACC) move.l #MeldungvectorEnde-Meldungvector,textlaenge move.l #Meldungvector,textaddress move.l #"Begi",Meldungvector+4 move.l #"nIO-",Meldungvecto6 UDxCE:G` HN|aaX" $<aJfH`HN,xNvLJfa `^"aZ RAW:fHA$vHNLaLa~`HHpaNLpr$<vdN"N,x/Nb LNu <H,xN2<(9##9gQNLNup/)$/)(Jf iga f `3|A+ <*H#H(#|$HaLJga #_(#_$Nu i(@ga~fNup3|a~3|Nu2<pИdRQFNu MBa M!@Nu$ &<0< B RAW:f  e e.RQHN6 VILNu0AAAA&A|AAAbAA9NualLNDOS pCNJg @ hpNup`dos.libraryDOSpH9gV"<HN(LJgHN:LJfN| <2<(9##9gQNvLCNJg @ hpNup`dos.library VIRUS-CONTROL V1.3 by PIUS NIPPGEN, D-6657 Gersheim 8, 06843/1522automatically switching off FASTMEM can be prevented by pressing left mouse-button during reset 99gTH A *LgDHt,z N6 WjLJg.H",z NLHA KRa SLJf`TN,xa A "Jf #| aa FA : A JfF,z , nNg:A0I!L!n(xLNLA4=|N-HLN,xA Jga da`A Jg2B.-z:a JA JfA Jf#| a:a `  z tC tJf"" d&$z `G \&g"A Begi nIO-a`(C >"#PJ"f J&fJ*gL n"$z "G &f$ n&$z G &f n*$z G &gA2 KICK - ah`$z n.g$$z G &gA COOL - a8`E n:g6 Xf|0$z G &grA DOIO - a`\CEGaJga ZNuC$B#| 3| N8H,xN|a PHNLEJfC%I fCB%I fC%I fC%I(i"(TaAHN4L.f paD` G h2C p4p&r(HN(LHgLr8C zHN(,xNvL/,x G hVHNLHNL @"@(( g h:(&HNL E g E fBE` G hVHNLJg"@HNL`,_ GHNL"N,xHNbL fL`JEf*N|A FC#|OFF J6 YrOg#| ON Nv`b Ef LI "`N Ef L(@ag6`4 Efp L(@agagHar" $<aJgHNLJfa`"$ &<HNL&xKaK`Z Ef$LaNgaVAp1Qa` EfLa$ga,A <;` Ef La`^ Ef La`L EfLag:Ah`L E fLHAvBa|A"$<aJg&HNLJf$<HNLJfa`v"$MAX$&<HNL fx0< FREEfafQag*a6Zޓ-$a/*FREE$ &<HNL*` E fR L(@agBHABaA"$<aJg&HNLJf$<HNLJfa`"APBAt$&< HNL  frE a0<$M FREEfag HAJLfHALQaga| $a LE a6ag*FREE`$:g  a`$ v HNL`$:g a>$ &<HNL&xKaK` E f C~a` Ef L(@xHa>" $<aJgHNLJf" tHNLJ6[g/"HNL/H <r,xN:L$gf/"/HNLx"/$HNLJg BI" $<HNLJfR` I"_ <H,xN.L"H"HNL"HNL&xKaK`a`x" Mapa ga`0<$M f4SjaJg40<$M fSjaJg0<$M PIUSg4Qa|Jfa&gHaA!@ $vHNL`(JfaH$MaX.ga`aJgHNL`&xKaK` Ef*N|AFC .#|OFF Jf#| ON Nv`N|AFC #|6\3VOFF Jg#| ON Nv`HN| LENa\ahC`0HN|C2`"HN|aHC z`HN|a6C E G aNvLJNuHN| LEaC`H,xN|aCbEGa~NvLJNuH,xN|aC0Eh`H,xN|aCpE`H,xN|aCVE4G`H,xN| LEa^C`zH,xN| LEja@C `\H,xN| LEa"CEVGR`>H,xN| LEaCE`H,xN| AEaCx`tvHNAN LNuvHNLNuHCE6] pҗNLNuatB"B&B*B* n:aJ z ABABBBA-H:/A A -z.A"B@rXQF@0Nu0<BQNu M$H`HEp4AaLNupQNuH(A A&xKN|KpJg\ :f n" ( @ (&L @ (($@HSA fQ :gp` p`# S g#@S g# f,xNvLNuHC`HCpNL,@NuN"N,xNbASABNuNC#@NACzprNDGCj#KNu <H"zdN.CRN>CrNA (zp lNfN9P)hNNu$ &<H6^^NLNutv`Bintuition.librarytimer.deviceVirus-Name unknown ! S:NoWarningS:VirusNameOIUSRAW:0/0/640/170/BOOTBLOCK-DF0: hit any key $tBootblock-Virus in DF0: ? PUBLIC DOMAIN !! CONTACTS WELCOMED !!$tt $t $t $t6Ik  $tD1 Longword-difference$tnWarn-Window-DF0: Open-Error$tString-Gadget-contents-DF0: correct ? $t END Disk in DF0: is write-protected !L RETRY hBootblock DF0: already in S:NoWarning ! REMOVE $tBootblock DF0: already in S:VirusName: #`'H+t an eventual bootblock-virus is not spread. If it is a bootblock-virus, you will notice some of the following effects: - Requesters appear, which indicate changed system-vectors - Requester, because of write-access to Bootblock - if you insert disk, no more green color-signal, although colorsignal is set. (DOIO-vector changed by 'Virus') - if you insert disk, pressing L-ALT-key, neither a Warn-Window nor a black color-signal. (DOIO-vector changed by 'Virus') - during rese#aGa't no more green color-signal. (COOL-vector changed by 'Virus') - If you start VIRUS-CONTROL, you are told, that your Amiga seems to be infected. Your Amiga can be programmed in a very flexible manner. Therefore a virus will not produce all above effects. Sometimes a virus can collide with VIRUS-CONTROL and crash the system. After this test you have to switch your Amiga off, because this is the only safe method to remove a virus. The only reliable method, to identify a Bootbl#bk詗ock-Virus is also the most dangerous method. Without installing VIRUS-CONTROL you boot from the 'suspected disk'. Now you insert a not write-protected, and not suspected disk. After that switch your Amiga off and boot from a clean disk. Start VIRUS-CONTROL and insert the not write-protected disk. If this disk has become a 'suspected disk', the bootblock-virus is identified. You should at once write a false checksum to this disk or better overwrite the bootblock. You see, VIRUS-CONTR##}OL is really a very powerful instrument, to eliminate all kinds of viruses. Nevertheless VIRUS-CONTROL is very easy to use. Pius Nippgen, Bergstr. 12, D-6657 Gersheim 8, Tel. 06843/781 or 06843/1522 ner. Therefore a virus will not produce all above effects. Sometimes a virus can collide with VIRUS-CONTROL and crash the system. After this test you have to switch your Amiga off, because this is the only safe method to remove a virus. The only reliable method, to identify a Bootbl6d0 dѨѨѨ:Ѩ6Ѩ~ѨzѨѨѨѨѨѨ8ѨzѨ"ѨѨpѨѨѨѨѨ ѨFѨѨѨѨѨѨBѨ>ѨjѨfѨѨѨѨѨѨѨ ѨѨ2Ѩ.ѨZѨVѨѨ~ѨѨѨѨѨѨѨ "Ѩ Ѩ JѨ FѨ &Ѩ 8Ѩ HѨ RѨ VѨ vѨ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ (Ѩ 8Ѩ BѨ FѨ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ vѨ Ѩ Ѩ JѨ \Ѩ dѨ Ѩ 0Ѩ 8Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ nѨ Ѩ Ѩ BѨ TѨ \Ѩ Ѩ (Ѩ 0Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ Ѩ xѨ6ey Ѩ nѨ ~Ѩ ѨnѨѨ<ѨpѨlѨhAP0<%Q"zB-I:a"zn$I%8 N##a``v#DOIO 4a## `:a### al6#read:#y >a`aN"L XN`"n.#|2#|OFF ^3|4#| ON f#| ON 6L$Sg`  fR` -fP cfB)4#|OFF fR` tf B9R` ofB)2#| ON ^R` ffB)5#|OFF 6`pJ9gaTr2N:ada papapNq/N"zC.#@N"zC.~Ar NDJfN zlC.~G.6f`4#KG.#K(p3@#@$B,N8"z@C.~3| B$N8"z*C.~N>"zC.N` trackdisk.device33mVIRUS-CONTROL V1.3 by PIUS NIPPGEN now installed ! 31m100% assembler! survives reset! runs on any Amiga! vector-check every second! Kill-Virus by vector-restoration! Bootblock - write - access - control! Reset+left M.button->removes VIRUS-CONTROL! Reset+right M.button->NoFastMem! insert suspect disk->WarnWindow! +L-ALT->always WarnWindow! 6gA +R-ALT->never! Bootblock to screen or to File! Standard, NoFastMem or File to Bootblock! Bootblockchecksum false->no more (Virus-)Boot, right->(Virus-)Boot possible! dangerless Boot from Virus-Disk because of Boot-simulation! save Bootblock to S:NoWarning->only red Warn-Signal! save Bootblock with name to S:VirusName->WarnWindow with name! Protection from Link-Viruses because of File-protection-mark! -f do not use S:NoWarning, S:VirusName! -c insert disk -> no 6h7green color-signal! -t start -> do not check inserted disks! -o control Open(file) by requester! contacts and comments welcomed ! 33mVIRUS-CONTROL V1.3 by P.NIPPGEN not installed, 31msince COOL-vector already changed -> by VIRUS? the only 100% safe method to remove Virus is: AMIGA OFF, Wait, AMIGA ON, start VIRUS-CONTROL! 33mKICK -vector changed -> Virus ? 31m use CLI, to start VIRUS-CONTROL V1.3 !9fB.NuH"z( <HN4Jfa6i"O/v`ABBa2aLNu $g $g`H,x i h tracf$ kdisf k.defJ,f ig if i(C(@fAHHJfAuRza.a $g2AYBJf< 95g0Ae PJf fG yf&"<HN(LJgHN:LJfDg~HN|a A SCREEN' shows the total bootblock (1024 Bytes) as an ASCII-Dump. Clicking 'BOOTBLOCK -> FILE' writes the total Bootblock (1024 Bytes) to a file, which name is entered in the string-gadget at the boo# wtom of the window. Clicking 'FILE -> BOOTBLOCK' writes the file, which name is entered in the string-gadget, to the bootblock. In this way you can easily save the bootblock of an important disk to a file and if necessary you can restore this bootblock. Clicking 'STANDARD-BOOTBLOCK' writes the Original-Amiga-Bootblock to disk (like 'install') Clicking 'NOFASTMEM-BOOTBLOCK' writes a bootblock-routine to disk, which switches off FastMem already at the beginning of boot. The NoFastMe# j`]m-Routine is indicated by a blue color-signal. If you press left mouse-button during reset, NoFastMem-Routine will not be executed. Clicking 'f.CHECKSUM -> NOBOOT' writes a false Bootblock-Checksum to disk. Now this disk is no more a boot-disk. An eventual bootblock-virus cannot be activated any more. Clicking 'r.CHECKSUM -> Boot' writes a correct Bootblock-Checksum. Now this disk is a boot-disk. A bootblock-virus can be activated. r/f.CHECKSUM only changes the BootBlock-Checksum.g|CATION FOR THE A500/A2000 As an option for extremely advanced users, the information given here will allow 1 Mb Amiga 500 owners with Rev. 4 and above motherboards and Amiga 2000 owners with B2000 motherboards (not the original German A2000 motherboards) to make jumper changes to their motherboard that will improve their memory configurations so that it is more compatible with A-Max. By making this change, the second 512K of expansion memory can be made contiguous with the firs 512hK block memory, creating a single 1 Mb block that is nearly identical to the Mac Plus and SE memory map. The jumper change is the same as that needed when the Extended Chip Set is installed (if you already have the new Agnus chip installed, you have no need to make the changes indicated here). The Extended Chip Set will be available from Commodore and improves the capabilities of the Amiga by increasing the amount of chip RAM to 1Mb, and supporting a 480 line non-interlaced video mi lode for use with multi-sync monitors. The one disadvantage to making this change without installing ECS is that AmigaDOS will incorrectly assume you have 1 Mb of -25- chip RAM in your machine, and attempt to use the memory as such. To stop this from happening you must insert a command into the startup-sequence of your Amiga boot disk(s) that corrects the meory tupe of the 512K expansion RAM. The command to do this is called "KillChip", and it can bejͨ found in the C directory of the "A-Max Program" disk. The "KillChip" command should be copied to all your Amiga boot disks and executed at the beginning of all your startup-sequences. A program called "CheckChipSet" is supplied in the A-Max directory of the "A-Max Program Disk" that, once run, will tell you if you have the new or old Agnus chip. If you have the new Agnus, you will not have to use the "KillChip" program. If you already have 1Mb of chip memory, your Amiga must alrkĨ'eady have and be setup for the new chip set and none of the following is necessary. The jumper changes are given below. Do not attempt to make this modification unless you know what you are doing - ReadySoft cannot be responsible for any mishaps that might occur. Making the changes described here could void your warranty, so you may want your dealter to make the modifications. A2000 J101:move jumper from 1-2 to 2-3 J500:open (this is normally soldered closed) A500 The A500 chl=ange is much trickier than the A2000 change. As mentioned above, this change is only applicable to A500s with a motherboard revision number 4 and above. If you have a revision 3 motherboard, there is a different and more complicated method to move the memory which we suggest you contact your dealer about. Note that you must have the A501 512K memory expander for this change to work. Before you begin, find the revision number and verify that it is 4 or higher. There are now two cmt9hanges to the motherboard you must make, the first is a jumper you must desolder and then resoldeer to a different pad, and the second is a trace on the board you must cut. -26- Locate the CPU (large chip marked 68000) and the ROM beside it. Between these two chips are three jumper pads collectively called JP2. Looking closely will reveal that the bottom and center pads are connected and the top one is not. You must reverse the order by making one cn%up with an EXACTO knife to open the bottom from the center and then solder the top to the center with a small dab of solder. Next locate the memory expansion connector marked CNX which runs vertically near the front right of the motherboard. Toward the end of the connector that is furtherest away from the front of the computer there are a number of traces on the board that run parallel to the connector. The one you must find is the third trace from the connector (be careful when co|Jrounting because ther may be traces that are obscured by white silk-screening). This trace runs to a pad approximately one inch down from the end of the CNX connector (there are a group of pads at this point, the one you want is the closest one to the connector). Use an EXACTO knife to cut this trace at any point within the area that it runs parallel to the connector. 12. COMPATIBILITY As A-Max is an emulator and not a Macintosh, there will be some pieces opwʣf Mac software that will not run under A-Max. Almost all Mac software that goes through the Macintosh operating system (such as most productivity software) will run with A-Max. Compatibility problems arise when software talks directly to the hardware, bypassing the operating system. This is most evident in Midi software, copy protected software, games and programs designed to use Mac hardware add-ons. Unfortunately there is nothing that can be done to allow these types of programqus to run with A-Max. When A-Max is running, it takes full control of the Amiga, getting rid of the Amiga operating system. Without AmigaDOS running, A-Max cannot access Amiga hard drives which means the Mac software running under A-Max cannot use hard drives. -27- GLOSSARY Agnus: An Amiga custom chip that determines the amount of Chip memory your Amiga can use. The new Agnus chip that is part of Commodore's ECS upgrade \c6DTour A-Max system up and running you can use a Mac terminal program to download software from the many network libraries of freely distributable Mac software. Useful software can be found in both the Mac and Magic Sac/Spectre areas of the networks. Terminal programs may also be used to transfer files between a Mac and an Amiga. Us a Mac terminal program running on both the Mac and A-Max to download from one macine to the other with the "Send file" and "Receive file" menu commands. ]v -22- 10. PRINTERS A-Max supports the following printers: 10.1 Apple ImageWriter You will need the Apple "ImageWriter printer driver on your system disk which must be selected from the "Chooser" dest accessory and as connected to printer Port B. You will also need the correct cable to connect the ImageWriter to the Amiga's serial port. Select Port B to be the serial port and set the Port B Imagewriter emulation to "None" ^71U6on the startup preferences screen. You should now be able to print as you would normally on a Mac with an Imagewriter. 10.2 Epson Compatible 9 & 24 pin Dot Matrix 9 pin: You will need the Apple "ImageWriter" printer driver on your system disk, which must be selected from the "Chooser" disk accessory. Select the appropriate Port B (serial or parallel). Select "IW-9 pin" for the Imagewriter emulation on port B. 24 pin: You will need either the Apple "ImageWriter" or "LQ ImageW_-riter" printer driver on your system disk. The LQ driver is needed if you wish to print 24 pin graphics; if you only have the "ImageWriter" driver you'll only be able to pint 9-pin graphics. Select the printer port B as above, and select "LQ-24 pin" if you have the "LQ ImageWriter" driver, or "IW-24 pin" ifyou have the "ImageWriter" driver. The ImageWrite emulation feature translates the ImageWriter control codes into Epson compatible codes as they go out the port. Because the Im`}ageWriter printers have unusual print densities, some printing will not have a 1:1 aspect ration when printed on an Epson printer. When printing "Best" quality graphics on an Epson compatible printer, the horizontal print density will be higher than that of an ImageWriter, so that the image will be compressed horizontally by about 40%. When printing 24 pin graphics, the vertical density is a little less than that of an ImageWriter LQ, causing pages to be longer than they would norma5Vally be, by about 20%. -23- 10.3 Apple LaserWriter and other PostScript Laser Printers A-Max does not support the Apple Talk local area network and thus cannot support direct printing to the LaserWriter, however, it is possible to print to the LaserWriter and other PostScript Laser printers by creating a PostScript text file and then dumping this file out the printer port with the supplied "File Dump" program. Creating the PostScript File: Your sysbtem disk should have the "LaserWriter" and "Laser Prep" files on it and the LaserWriter should be selected with the Chooser desk accessory. When selecting the LaserWriter, you can ignore any "Can't Open Apple Talk" messages. Proceed to print as you would normally, but immediately after clicking the "Print" button on the print dialog, press and hold command-k (Amiga-K) until the message "Creating PostScript file" is displayed. The file will be called "PostScriptX" wher X is the nexc] ^t unused digit for each PostScript file on the disk. Some Mac applications, such as Aldus' PageMaker, have a menu option to create a PostScript file. Printing the PostScript File: Before sending the PostScript file to your printer, you must have set the A-Max preferences so that either the modem port or, more typically, the printer port, is set to output to your printer (either prallel or serial) and that ImageWriter emulation is turned off. Now run a program called "File Dump" sd<-uppied in A-Max format on the "A-Max Utilities" disk. This program will allow you to select the output port (modem or printer), baud rate, parity, number of bits, and handshake method (if you are using a parallel printer you won't need to set any of the serial parameters). When these parameters have been set, click on "Dump File", select the name of the file to dump and the file will be sent. Hold Command-"." (Amiga .) if you wish to stop the dump before it's complete. Once the feЮKile has been sent you will be returned to the first parameter selection screen. Repeat the process with another file or click on "Quit" to exit. -24- If you are using a LaserWriter printer, connect it to the Amiga's serial port, set the LaserWriter to 1200 or 9600 baud rather than AppleTalk mode, and set the baud rate on "File Dump" to agree with your baud selection on the LaserWriter. The LaserWriter operates in hardware handshaking mode at all timesf8. A non-Apple PostScript printer should be set to "interactive" rather than "batch" mode and connected to the Amiga's serial or parallel ports with File Dump's output port set appropriately. 10.4 Other Printers There are several third party suppliers of printer drivers to allow the Mac to use other types of printers. The best known are the SoftStyle printer drivers which are available for dot matrix, daisy wheels, HP LaserJet printers and others. 11. HARDWARE MODIFIQz:w on the "Prepare Mini Transfer Disk" button. Insert the MTD in the destination drive as requested and click OK. The disk will be prepared so that A-Max can read the files on it in an Amiga 3.5" drive. -19- [The "Prepare MTD" command moves the MTD's contents to a different area on the same disk that is readable with Amiga drives. Macintosh disks are recorded at five different speeds of which, because Amiga drives are single speed devices, only two arRD@e readable by the Amiga. This is why the MTD's capacity is only 272K.] 7.2 Full Disk Transfer This option allows you to transfer a complete 400K or an 800K disk from the Mac to A-Max format, by storing the data on several transfer disks. Once transferred the data is read by the Amiga off the original source disk and the additional transfer disks created with the Disk Transfer program to create an A-Max format disk. Click on the "Transfer Full Disk" to begin. The Disk Transfer Slpprogram will ask you to insert the source disk and up to two additional blank transfer disks, one at a time (if the destination disks are unformatted, the program will format them before using them). After the transfer has been completed, youcan take the transfer disk(s) just created and the original source disk back to the Amiga. While running A-Max, execute the "Disk Receiver" program found on the "A-Max Utilities" disk. After clicking the "Receive Full Disk" button, the program Tqstem disk versions 3.2 or greater are recommended. At the time this manual was printed, System versions up to version 6.0.2 had been tested. Some Mac applications will suggest or require a particular system version; you should, of course, use any recommended system version. As explained in section 3.3 above, if you have a Finder version 5.4 or greater (usually found on system disks version 4.0 or greater), you will be able to use the Shutdown menu command. If you are using the 64?BK ROM, your choice of system disks if further limited because the new Apple system disks require the 128K (or higher) ROMs. System 4.1 and above are not compatible with the 64K ROMs. System 3.2 is our recommended system version for the 64K ROM. In general, you should never mix Finder and System file versions; always keep them together as they come. However, Finder 5.4 and System 3.2 work well together, and will let you use the Finder Shutdown command. As explained in section 6, @]*the 64K ROM does not contain Apple's newer HFS filing system. Apple does, however, supply a system file called "Hard Disk 20," which will make the HFS system available to you if you are using the 64K ROM. The Hard Disk 20 file will work reliably only with System 3.2, which is one of the reasons it is recommended for use with the 64K ROM. If you are using the 64K ROM and require HFS support, you should put the "Hard Disk 20" file on your system disk. Apple's MultiFinder may be useA9ed with A-Max if you have the 128K ROMs installed. It is found on system versions 4.2 and above. -15- If you are using the Apple Imagewriter, LaserWriter, ImageWriter printer emulation in A-Max, or a PostScript laser printer, you will also need the appropriate Apple printer drivers - "ImageWriter" for 9 pin graphics, "LQ ImageWriter" for 24 pin graphics, "LaserWriter" and "Laser Prep" for PostScript printers (see section 10 on using printers). Bꜳ 5. EXPANSION MEMORY A-Max can make use of all your Amiga's RAM (minus 128K for A-Max overhead), however there are fundamental differences between how the Macintosh and Amiga handle expansion memory - the Mac always has its memory in one block starting at location 0 and is limited to 4 Mb or RAM whereas the Amiga can handle up to 9Mb of RAM which can be present in several discontinuous blocks. All Amigas have 512K beginning at location 0 which will work well with A- C^8Max, however certain applications will not function when expansion memory is being used. The solution for such applications is to stop A-Max from using your expansion memory as Mac memory by reducin the "Memory Size" parameter on the startup preferences screen to 512K (provided the application will run in 512K) by selecting "No Expansion". This is the most compatible A-Max configuration because the first 512K of memory in an Amiga is identical to that in a Macintosh. If you have CD;V5ommodore's new Extended Chip Set installed in your Amiga, or have carried out the hardware modifications given in section 11, and have at least 1Mb of RAM, you will be able to use a 1Mb memory size as the most compatible A-Max memory configuration. If you find that a particular application will not run, you should try reducing your memory size before giving up on that application (try "No Expansion" in A-Max preferences). A-Max users with the 128K ROMs installed will be able to useE MultiFinder, Apple's "multitasking" system found on system disks 4.2 and above (6.0.2 is recommended). MultiFinder is particularly -16- useful with expansion memory (eg. 1Mb or more) because it controls the use of memory by applications in a manner tht is compatible with A-Max. So, running an application under MultiFinder with expansion memory enabled may help for compatibility with A-Max. Note that some applications are not compatible with MultiFi00e, you should NEVER do so with A-Max unless A-Max is allowing you to. Failing to abide by this rule could cause your disk to become corrupted. The reason for this is that the Mac system, knowing you can't eject the disk, doesn't necessarily update directories or files immediately but rather waits until it must (ie. needs the memory or the disk is being requested to be ejected). A-Max indicates that an Amiga drive is ready to be ejected by displaying its drive number in the right h1wand side of the menu bar. Drives are numbered from '1' to '4', with drive 1 being the internal Amiga DF0: other connected drives being numbered similarly 2-4. The Apple external 800K drive functions as it does normally on the Mac - disks are ejected by the drive (ie. there is no screen prompt to eject disks from an Apple drive). If you eject a disk from an Amiga drive without A-Max displaying the appropriate drive number, A-Max will detect this and FLASH the drive number on the me2X=nu bar. Should this happen, you should immediately replace the ejected disk back in the drive, which will clear the flashing prompt. There are several ways to request a disk to be ejected on the Mac: -11- * When the Finder (Apple's desktop program) is running, you can eject a disk by selecting it's icon and using the File menu command 'Eject', or Amiga-E from the keyboard. * When an application is requesting a filename the dialog box 3will usually have an "Eject" button to eject the current disk. * Often the command-shift-1 and command-shift-2 keyboard sequences will eject the disks in drives 1 and 2. Unfortunately, this option is unavailable for drives 3 and 4 as the Mac normally can only have a maximum of two drives. * The supplied "Shutdown" program will eject all disks before rebooting. If the Finder Shutdown menu option is available on your system disk, it will eject all disk4NҮas also. See the nect section before using the Shutdown menu command. NEVER RESET YOUR AMIGA (CONTROL-AMIGA-AMIGA OR POWER DOWN) WITHOUT EJECTING ALL DISKS THROUGH THE MAC SYSTEM! 3.3 Finder Shutdown All versions of the Finder have a menu command called "Shutdown" under the "Special" heading. On Finder versions 5.3 or less, this option will crash your Amiga (control-Amiga-Amiga to reset out of this; you will then have to restart A-Max). Finder versions 5.4 and higher have t50wo options, "Restart" and "Shutdown." With these newer versions of the Finder, the "Shutdown" option WILL work with A-Max (you'll get a black screen with a message saying it is safe to turn off your machine. Click "Restart" to reboot). Don;t use the "Restart" MENU option; it will crash your machine as before. If the "Shutdown" option on your system disk will not work, you can use the "Shutdown" program supplied on the "A-Max Utilitis" disk to restart A-Max. The program is small 6genough to copy onto all your system disks for convenience. 3.4 Mouse Buttons The Mac has a single button mouse, so the Amiga's right mouse button is unused when running A-Max. An exception to this is the -12- selection of A-Max preferences when A-Max is waiting for a startup disk. 3.5 Disk Drivews A-Max will allow the use of any 3.5" drives connected to your Amiga, incliding an Apple 800K drive connected to the ba7QXwck of the A-Max cartridge. A-Max will allow you to use the following formats in standard Amiga 3.5" drives: * A-Max format: read, write, and format. * Magic Sac/Spectre 128 format; read only. (Magic Sac and Spectre are Atari ST Mac emulators). * Mini Transfer disks, created on a Mac with the Disk Transfer software; read only. An Apple 800K drive will allow you to read, write and format standard Macintosh disks. Note that you can't read A-Max format disks in Mac drives8 or under AmigaDOS, they are for use only in Amiga drives when using A-Max. Formatting Disks: You format disks under A-Max in exactly the same way as you do on the Macintosh; placing a blank disk in the drive while at the desktop will bring up a dialog box asking you is you would like to format the disk. Click on the "Two-Sided" button (or "Initialize"_ to forma an 800K disk. In unusual circumstances you may find it necessary to format a 400K disk; click on the "One-Sided" button9_( or, if ther is just an "Initialize" button, hold down an Amiga key while clicking that button. If you are using an Apple 800K drive, the disk you format will be readable on standard Macintoshes; otherwise the disk will be in A-Max's special format that is readable only on Amiga drives with A-Max. 3.6 Sound A-Max does not support the Mac's custom sound capabilities; the only sound supported is the standard Mac beep. It is extremely -13- unusual fo:Mr productivity software to use any other kind of sound, however most custom-sound producing programs will run without problem under A-Max, but silently. You can set the sound volume using the Mac's "Control Panel" desk accessory. 3.7 The A-Max RAM Disk A-Max has a built-in RAM disk that automatically uses any Amiga memory you are not using as A-Max system memory (as selected with the "Memory Size" parameter in the startup preferences). The RAM disk is recoverable so it will survi%Wgwill have to reload Kickstart when you want to return to AmigaDOS. See section 5 for information on using expansion memory with A- Max. 2.3 Serial/Parallel and Imagewriter Emulation Options The Macintosh has two serial ports and no parallel port: one port is known as the "modem" port and the other as the "printer port". There are two buttons for each port to control how they are emulated. The "Port" button controls whether the output for that Mac serial port comes out of the Am&Nqriga's parallel or serial ports. The usual choice is to have the Mac's modem port (Port A) data coming out of the Amiga's serial port, and the Mac's printer port (Port B) data coming out of the Amiga's parallel port. If you have a serial printer connected to your Amiga, you'll want to set the Port B (printer) output to the Amiga serial port. Serial transmission rates are restricted to between 110 and 19200 baud. Also, some Mac applications can optionally send printer output throug'4h the Mac modem port (Port A), so sometimes you may want to control the port A output. -8- The second button controls what sort of printer emulation happens with each port's output. "None" means that port's output is passed through unchanged. This option is usually used with serail (eg. telecommunications) output or with an Apple ImageWriter or LasedrWriter connected to the Amiga. The remaining options enable emulation of the Apple Imagewriter prin($(ter if you have an Epson compatible 9 or 24 pin dot matrix printer connected to your Amiga. See section 8 for information on ImageWriter emulation and which option you should use. 2.4 Save and Go A-Max The "Save" button will save your selected configuration to a file in your current directory so that the next time you run A0Max the same options will automatically be selected. Clicking the "Go A-Max" button (or simply pressing RETURN) will start the A-Max boot process. Informatio)lj|n will be read from the current directory then the Mac ROMs and A-Max cartridge will be checked. If all is well, you will be prompted to press RETURN, and after a few seconds you will see the Mac boot screen. If A-Max cannot startup, you will get an error message stating the problem. If you get a cartridge error, make sure the R"OMs and cartridge are installed as outlined in section 1. 2.5 The Mac Boot Screen Thirty seconds or so after clicking the "Go Mac" button, the Mac scre*en will appear with a picture of a disk with a flashing question mark - this is the Mac asking you to insert a startup disk. The Mac can accept a startup disk in any drive, not just the internal drive like AmigaDOS. If you have an Apple drive connected to the A-Max cartridge, you can simply place a Mac format system disk in that drive. Otherwise, you should put an A-Max, Magic Sac/Spectre, or Mini Transfer disk with a system on it in an Amiga drive. +ɱ-9- When you insert a disk in any drive, A-Max will try to startup from it. If the disk contains the necessary files, you will get a happy Mac picture and then the "Welcome to Macintosh" window. If not, A-Max will probably reject the disk and display a flashing "X", indicating that you should try another disk. If you attempted to boot an HFS format disk (see page 18) with the 64K ROM you will get a black screen and a sad Mac picture - click the right mouse button to restart. The,"mN 64K ROM can boot only from MFS disks. Also note that with the 128K ROM, when the Mac boot screen is displayed, the right mouse button may be held down to allow certain A-Max preferences to be changed. This may be more convenient than rebooting your system to make adjustments to your current configuration. Any changes made to the A-Max preferences by this method cannot be saved back to disk and will not be remembered when you reset to AmigaDOS (they will be remembered when you res- bOtart A-Max). If you have the 64K ROM, hold the right mouse button when inserting the system disk. After the "Happy Mac" has been displayed for several seconds, the A-Max preferences will appear and can be changed as above. 3. A-MAX OPERATIONS This section outlines A-Max features and differences from a standard Macintosh. 3.1 Keyboard Differences A-Max emulates the Macintosh Plus keyboard which has a numeric keypad and arrow keys. There are three keys on.N# the Plus keyboard that are not on the Amiga's; the key equivalents follow: Command (clover leaf)..........either Amiga key Option ..........either Alt key Clear ..........Del key -10- Otherwise, ecah Mac key is represented on the Amiga keyboard. The Mac "Key Caps" desk accessory will allow you to verify the keyboard mapping. For programmers, the Macintosh interrupt switch can be simulated by typing shift-escape on the/HʳL Amiga keyboard. Note that the 64K ROM does not directly support the arrow keys, however many applications will recognize them even when running under the 64K ROM. 3.2 Disk Eject Macintosh disk drives differ from most others, including the Amiga, in that they do not allow the user to eject disks upon demand as there is no eject button; rather, the Mac will eject a disk by itself on request by the user through the software. Although Amiga drives allow you to eject disks at any timble on Amiga drives. To perform the transfer you must use the Macintosh Disk Transfer program supplied on the "A-Max Utilities" disk to make a Mini Transfer Disk that contains the System, Finder and other files that make up your system disk. As Mini Transfer Disks have a capacity of 272K, you may need to use a slightly older system version (eg. version 3.2) in order to fit the necessary files onto the disk. If you have one of the newer systems that won't fit into the 272K of a MinϦi Transfer Disk, use the FONT/DA MOVER program on the Macintosh before transferring the system files to remove the fonts and desk accessories that you will not require from the System file, -5- making the system files small enough to fit into 272K. See Section 4 for information on the Disk Transfer program. F.P.L.... 1.6 Startup Program The "A-Max Program Disk" contains the "A-Max Startup" program on an Amiga Workbench disk. Boot this disk bS:y inserting it into the internal drive at the Workbench prompt (Amiga 1000 owners will have to Kickstart their machine first if necessary). When Workbench has finished loading, open the disk icon and click the "A-Max Startup" icon in the A-Max drawer to start the program. You will be taken to the A-Max Preferences window. 1.7 Hard Drive Installation The A-Max startup disk is not copy-protected so it can be installed on a hard disk by dragging all the files in the A-Max folder to dyour hard drive icon. From the CLI, you can copy A-Max with commands similar to the following (assuming your hard drive is DH1:): makedir dh1:A-Max copy a-max:a-max to dh1:a-max all Amiga 1000 owners: If you wish to use your Kickstart RAM with A- Max (see Startup Preferences below), you must boot from the "A- Max Program Disk." This disk has a non-standard boot block that is necessary to utilize the Kickstart RAM with A-Max. It is advisable to keep your disk write-protected at ɫall times to avoid viruses which, should they infect the A-Max startup disk, will not allow the additional Kickstart RAM to be accessed. If your boot block becomes corrupted, you can use the "FixBootBlock" command in the C directory of the A-Max Program Disk to rewrite the correct boot block. Please note that when A-Max is running, you will not be able to access your hard drive from Macintosh applications. This may be addressed in future versions. -ӭ+6- 2. STARTUP PREFERENCES The startup preferences window allows you to set the various options that A-Max provides. Saving these options allows youto set the default confiuration A-Max uses. 2.1 Video Options The buttons "Screen Height" and "Screen Width" control the dimensions of the screen you will be using. "Mac" width and height are 512 and 342 pixels, respectively, which are in some cases more compatible with certain software (typically games). "Wide"  Ԇ2screens are 640 pixels across, and "High" screens are 400 (or 512 on PAL machines) pixels high. The "Video Mode" button controls how the Mac screen is displayed. "Interlaced" allows the entire screen to be displayed, but will cause flickering on most monitors. "ECS" allows up to 480 lines to be displayed flicker-free on the screen if you have Commodore's new Extended Chip Set installed in your Amiga and an appropriate monitor. "ECS lace" displays a 960 line interlaced screen. "A2!t024", enables the 1008x800 video mode for the Commodore A2024 (or Viking Moniterm) full page monitor. The remaining video mode options control how A-Max will display a non-interlaced screen. "Slow Scroll" and "Fast Scroll: smoothly scroll the screen according to the position of the mouse pointer. "Paged" will swap which portion of the screen is displayed as the mouse pointer moves from one half of the screen to the other. When using this mode, press the right moust button to disp" aޏlay the opposite (undisplayed) half of the screen. The "Colors' button specifies which two colors A-Max will use for the Mac display. "Default" will give you the default A-Max colors. "System" will cause the first two current Workbench colors (as set with the Amiga's Preferences program) to be used for A-Max's foreground and background colors, repectively. To set the Workbench colors, double-click on the Preferences icon on A-Max Program Disk before loading the A-Max Startup. On#׹nce the colors have been selected, click on the Preference's "Save" option to store your color selections on disk. -7- 2.2 Memory Options The "Memory Mode" button allows you to control what size Macintosh you wish to emulate. "No Expansion" will use only the amount of contiguous memory beginning a location zero (typically 512K). "No $C00000" will use all memory below $C00000 (this option will disable the secong 512K of memory in A2000s and 1Mb A500s$c). "User Defined" allows you to select the amount of memory to be used during Mac emulation. To change the amount of memory selected, click on the box containing the current memory selection. Any RAM not selected here will be assigned to A-Max's bootable RAM disk. The "Use Kickstart RAM" button allows Amiga 1000 owners to use their extra 256K of RAM with A-Max to increase the amount of memory available during Mac emulation. The only disadvantage in using this memory is that you ,ax and an Apple external drive). -2- ReadySoft supplies A-Max without copy-protection for your convenience so please take care not to lend, give or otherwise distribut this program to anyone. Remember that software piracy discourages development of new products and upgrades. 1.2 ROM Installation There are several revisions of both the 64K and 128K ROMs but all revisions will function equally well. The 64K ROMs are Apple part numbers 342-0220-X andoUc 342-0221-X and the 128K ROMs are Apple part numbers 342-0341-X and 342-0341-X where X is the revision letter. Often the set of two chips will have different revision letters but always keep the two as a set - don't try to match the revision letters. Your two Mac ROM chips must be inserted into the sockets on the A-Max cartridge. To do this y9ou must first remove the top off the A-Max case. When the case is open, you will see a circuit board with several small chips and two largeAU 28 pin IC sockets. Insert the two ROM chips into the sockets (either chip in either socket - the order doesn't matter) with the U notch of each chip pointing in the same direction as all the other smaller chips on the board. To insert each chip, start with one row of pins resting lightly in their sockets then start the second row and finally push the whole chip firmly into its socket. If the chip is very hard to push in all the way, check that no pins are bent up underneath the cg7Ԍhip. If there are, straighten them out and try again. When both the ROM chips have been socketed, hold the board so that the "A-MAX (c) 1989 ReadySoft" text is the right way up and check that the notches of the chips pint up and that no pins are bent up. Put the top back on the case. 1.3 Connecting an Apple 800K external drive If you have an Apple 800K external disk drive, you can make use of it with A-Max to read, write and format Mac format disks direct- S -3- ly. Note that the older single-sided (400K) Apple drives won't work with A-Max, they will simply be ignored. With the Amiga's power off, plug the connector of the Apple drive into the 19-pin socket on the side of the A-Max cartridge. Once installed, you can leave the Apple drive plugged in at all times as it will not affect the Amiga when it is running normally (without A-Max). Additional Amiga drives can be plugged into the 23 pin connector at the end of the A-Ma/Xx cartridge. We cannot guarantee that all third party Mac compatible drives will function with A-Max. It has been our experience that Apple manufactured drives work better than third party drives. 1.4 Installing the Cartridge WARNING: Always turn off the Amiga before connecting or disconnecting the A-Max cartridge, or plugging in an Apple or Amiga drive. With the ROMs in place, you can now connect the cartridge to the Amiga. The cartridge can either be plugged into the back of *)the last external Amiga drive or into the external disk drive port on the Amiga itself. If you will be connecting it to the Amiga, you should insert the support legs into the end of the cartridge. If you have an A500, the cartridge will sit at the same level as the computer and will not require legs. If you have an A1000, insert both of the legs into the holes in the bottom of the cartridge case. If you have an A2000, snap the legs at the point where there is an indention then inhbsert the shorter legs into the case. Although it is probably more convenient to have the cartridge plugged into the back of an external drive, some disk drives will not allow this as they do not pass power through to their rear connector. If the A-Max software does not recognize the cartridge when it is plugged in through the back of an Amiga drive, you will have to plug the cartridge directly into the Amiga's disk drive port and plug the external drive into the cartridge's pass th] (rough connector. -4- Once the cartridge is plugged in, it may be left connected as it will not interfere with the normal operation of the Amiga. The cartridge will not become active until you run the A-Max startup program. Remember that the Amiga can only handle a maximum of four disk drives and with the A-Max cartridge installed you can have up to three Amiga drives and one Apple drive. Also, any Amiga drive conncected through the A-Max cartridge _ will become one drive number higher than it was when directly connected to the Amiga (ie. DF1: will become DF2: but DF0: will always remain DF0:). An A-Max Extender cable is available from ReadySoft for $24.95 plus $4.00 shipping and handling. This cable allows you to place your A-Max cartridge in a more convenient position, away from the back of your Amiga. 1.5 Transferring the first System Disk If you have an Apple external drive you can ship this section as you can use your Mal_CSc format system disk directly in the Apple drive. Likewise, if you have a system disk already in A-Max or Magic Sac/Spectre format, you can use that disk directly in an Amiga drive and have no need to transfer the system software. Otherwise you must transfer your first system disk from Macintosh to A-Max format before A-Max can be used. This is necessary because the Macintosh uses variable speed disk drives while the Amiga uses constant speed drives making Mac format disks unreadawusq V warranty, this card is the only way we can inform you of product upgrades and other information regarding A-Max. Send your card now. The A-Max Program disk contains a file "ReadMe" that has information that was unavailable at the time this manual went to print. After reading the manual, you should read this file for any updates and corrections. In order to use A-Max, you must supply: Apple 64K or 128K boot ROMs. These come as a set of two 28 pin chips from an original Ma ߱c (64K ROMs), a Mac 512KE (128K ROMs) or a Mac Plus (128K ROMs). It is preferable to use 128K ROMs with A-Max rather than the older 64K ROMs. The 128K ROMs have several advantages over the 64K ROMs in that they contain the newer Mac HFS disk filing system, they run faster, -1- and they run more of the newer software and system disks. Note also that if you have a non-68000 processor in your Amiga (such as a 68010/20/30  $ processor in an accelerator board), you will require the 128K ROMs as the 64K ROMs are not compatible with these more advances processors. A Macintosh system disk in either A-Max, Magic Sac, or Mac format (see Section 3 for information on what you will need in the way of Apple system software). If the disk is in Mac format an you don't have a Mac disk drive, you will need to transfer the disk using the Disk Transfer software as described in section 1.5  Vpq~0 ppq~8 0pqgv`88?`npq 8` pp0 9 1pԚ|a8?qp 8 ppp? 3ppv`888ppp y88` ppp9 3ppsf888qpp 980ppp~8ppgq88?`ppomkigey{_Ƴ0 ppq~8 0pqgv`88?`npq 8` pp0 9 1p|a8?qp 8 ppp? 3ppv`888ppp y88` ppp9 3ppsf888qpp 980ppp~8ppgq88?`pp|u}s~q o m k i geyp]91s9 ssc? ?9q8D?s"b?8D??9s9`?ss0c?`??9s9p?ss8c?p?? s9<xs?pq~eͶ?9??9|?j 3??k!?l"??????m#??????n$??????o'H`0 ??q<<?p??<<?91s9?ssc???Z&eF93'[''398891㘟91\(^?1㘟9191s898sss])vqC^*188<xx<_+o=%??`, a-%<8p|ȑcx91x91p?1?|x?p?q?0 |s1s?1?1s?1?|ss?1?1s?1?|?0?q?0<|OO?1??s?1|g1g?1?s?1c/B8>|sxs?1? s?q????d??8?9??p8Ϗ?9?sc?9?sc?9?"bO1?P2D88<xx<Q3]R4.?? S58?cp?c1cc1c?cT6 0<`~?c?1c1cqU75ǟǟǟ?V8Yk?9a?9`dH?'f?3g89g?W9)9c9c9c9c9c`?X:-'8|p y?q|s19|s1|p<??|s?|qY%$#s8|0 s?ss?D<eE=1x< x< x<F>  x< x< x< x< x< x<G?H x< x< x< x< H@ -x< x< x< x< x< IAH% %x< x< x< x< x< JBx< x< x< x< KCiLD~MEN09G]0 <0 <0 <0 <0 <0 <0:HCz <0 <0 <0 <0 <0 <0;I <0 <0 <0 <0 <0 <0<Jb <0 <0 <0 <0 <0 <0 <=K.0 <0 <0 <0 <0 <0 <>L#Q0 <?<<<<<?MR<<<a<c<af<@Nuf(c<aa`a<ð÷<<<<AOO<<BPSC;g.Rm%ǀ? <ǀ? <ǀ? <ǀ? <ǀ? <ǀ? <ǀ/S? <3ǀ? <`cǀ?<0? <? <? <0Tg? <? <? ?? ?? ? 1UgB???? ? ? 2V֠? ? ? ? ? ? ?3WGc ???4X6??<<yy<<p<8yq?y?<< pq<8 3pqygs`p88y>pq<<~0 ppq<~8 0pqygv`88y?`npq< <85YG` pp<0 9 1py|a8?yqp< <8 ppp<? 3ppyv`888yppp< y8<8` ppp<9 3ppysf888yqpp< 98<0ppp<~8ppygq88y?`pp<<<yy<??6Z5<<7[^8?<?w<?~?<7?<7<7c<8F|.66??<<~8?<~8<<<<?<#]_$^_%_n&`9??<<yy<<p<8yq?y?<< pq<8 3pqygs`p88y'a:4>pq<<~0 ppq<~8 0pqygv`88y?`npq< <8` pp<0 9 1py|a8?yqp< <8 ppp<? 3ppyv`888yppp< y8<8` ppp<9 3ppysf888yqpp< 98<0ppp<~8ppygq88y?`pp<<<yy(b!y<???)ca> ?? ?? <ǀ? <ǀ? <ǀ? <ǀ?*djt y <ǀ? <0ǀ? <`cǀ?<3ǀ? <ǀ? <?+eD <? <? <? <? <ǀ? <ǀ?,f+"v <ǀ?<ǀ? <ǀ? ?ǀ? ?ǀ? ?-QSo ?ǀ? ?? <? <? <?<? <hsBEXT3>CG_NEXT2CG_LOOP2CG_CONT3CG_CONT2CALLG_OKVBINTOHEX ALLOCOK2zADN_LOOPADL_CONTACL_LOOPWK_WAITWD_LOOPlWAITDIRhSPECIALSAMPLER:REQLOOP RELEASEPRINT0Y&PRINT04,PRINT03PRINT02PRINT01PD_LOOP2PD_FILLpNOKEYS1NOKEYS0NOBLINK@NLINENR MBUTTONMAUSLOSriMAKEBPLLI_LOOPlLI_EXITEXITREQEXAMINE4COPYFE2 $CG_NEXTCG_LOOPbCG_END2CG_CONTBALLOCOKZUSERAMUSEDF3USEDF2zUSEDF1bUSEDF0JPD_OK2xPD_ENDPC_ENDOLDIRQNORAM0 NOKEYSMB_OKIXHEXTAB GLD_OKFD_ENDEXNEXTPED_END@EDITORCLRFR2CG_Ej'(NDCD_RAMBACK_1ALLOFFADDDIR ZWAITLSTARTPD_OKJOF_OKNORAM NODFXZNODF3 jNODF2 FNODF1 "NODF0 NEXT4@NEXT32NEXT2$NEXT1NAMELMYIRQKEYUPERRORjCM_Y2CM_Y1CM_X2CM_X1CLRFS\CLRFRCLRDRCG_OKkVALLONWAITSYNCMB_2@EXIT8VARdX@8$&(*,.02468:<>8-- " X6{H%   ?graphics.libraryintuition.librarytopaz.fontdos.librarySelect a Song to LOAD and press the OK Gadget to proceed.Select CANCEL to recall this function...Select a Song to SAVE and press theloˆ OK Gadget to proceed.Select CANCEL to recall this function...Select a Sample to LOAD and press the OK Gadget to proceed.Select CANCEL to recall this function...Error... Out of Memory...Error... Unable to Lock Drawer...Error... unable to Open File...Error... Unable to Lock File...3 = G Q m/NXconsole.device n"t)^%(q5%6qC%DqQ%Yqft(5t6CtDQtYf)1 2; <E FO PY \f ("? @"Wii;;  viio%U; ;   v i i;;  v2$=$?$M$2kxk=x?kxkMxN'2N2=N=HNHSNS^N^i`X`&8!>`@ @P`(0  FI_ERRORTXT pU(ǘDRAWERBUFF2INPUTEVENTtGADGETLISTCOPPERLISTSCREENADROPENERRORkLOCKERRORGLOADSTEXTJUMPTABLEIOREQUEST8FILEBUFF2OUTOFMEM+IOBUFFERREQLISTINTNAMEGFXNAMEFILETXTDOSNAMECONNAMETEXTATSSTEXT[SPRITELSTEXTIECODEzFONTNSPRLBPLT@!qq1vKEYINTPOINTERFILESTRINGDRAWERBUFFBUFFERLINEBLINKCOUNTSAMPLEADROLDKEYINTNOGADFLAGINPUTBUFF:GADGETPOSDIROFFSETR_BITMAP,RASTPORT(PLAYFLAGOLDLOPOSMOUSEPOSMINTERNSLINEBUFFINVFLAG2GADGETIDFONTBASEFILEINFOFILEBUFFEDITFLAGLASTPTRINVFLAGINTBASE"\INPUTNRGFXBASEGADINFODOSBASEDIRLOCKMULTABLEFTNRFILEHDDIRPTRDIRLENDIRENDBITMAPDIRNR@< shgaa"By9gByNu0<QNu9gNu 9fNuapr'4<JvgHaL&yaL&yPaL&yPa(Nuapr{4<J6<HaL&yaL&yPaxL&yPaNuA AL1@H@1@NuML4. Bn66yC36KHHBCJ@jpJAjr|@m0<@|m2<H@A-Av4CvZYZHY NuBy63 Nu&y?<P3`&yHapL&yPHaXtL&yHa@LNu&yPHaLPHaLNu&y?<P3aaMAxBQE8~GDRDzm48L:<MGgRED>EUE8D|JDg|nrP:< y=E@BnB-|D-|L:8LHڄڋ-EP-ET8DUDFD=Db8LGD=Dd=Df8ALD=GXa0aNuH,yN8LNuH,yN2LNu9fNu\|lr@@ Q,@uF BL\f   ,:x  \ f p   , r ~.^\fl~2`n\x$6TZd&06 J Xh~  : ^ " 6v D l t : l :T$.6<FRXbrz&,2d&,H>D\ (:JPXx~Tnbxw7SETOLDKEYHANDLER.GETHEXTEXT_LOOP1 GETHEXTEXT_EXIT CLEARFILESTRINGRCLEARDRIVEBLOCKMAKEFILESTRINGEXECUTEGADGETSfCLEARFILEBUFF2CLEARALLDRIVES\TRACKDISKNAME\SETKEYHANDLERSAVEREQUESTERbMB_CLEARBLINELOADREQUESTERHEXTOBIN_QUIT DISOWNBLITTERCLEARREQENTRYCLEARMOUSEPOSHCLEARFILEBUFFCLEARDRIx%SAMPLERLIST,PRINTSTATUSy̕Z &PRINTDRAWERxPARENT_LOOP OPENCONSOLE<NOFILECLICK NOBACKSPACELOADSAMPLERtINVERTDRIVEINVERTBLOCKZHEXTB_LOOP1 vGETFILEINFOFREEDIRLISTEXITSAMPLER\DRAWERERROR BCURSORBLINK$COPYONLYDIR bCM_NOCHANGECLEARSTATUS .CLEARNOTES2BCLEARDRIVESCLEARDRAWERCLEARBLOCK2CHECKDRLOOP CHECKDRAWERBINTH_LOOP3 zBINTH_LOOP2 BINTH_LOOP1 WD_DRIVEONNWAITDRIVES&TRACKSTATEPARENT_OK2 PARENT_OK1 OWNBLITTEROLDAUTOREQvNOSCROLLUP NOFILEBUFF NOCURPRINTNEWAUTOREQrMAKEMULTABLOADSAMPLEdKLICKERROR INITSPRITEGETLOCKDIRGETHEXTEXT EXNEXT_ENDvEXITREQ_OKENTRYFOUND COPYTEXTD0JCONVERT_OKCONVERTK{JEYVCONVERTBIGCLRACTLINECLEARNOTESCLEARBLOCKCALLGADGETBADDDIRNAMEADDDIRLISTWAITKEYUPUNLOCKDIRSETSPRITEREQUESTER FPRINTTEXTPRINTLINEBPLAYCHECKPD_OFFSET(PARENT_NF OKDRAWER2 ,NOGADGETS NEXTDRIVEMAKEBLOCKLS_NOFILELINEINPUTKLICK_DIR 6INVERTTAB|3 dINVERTBOXFREE_LOOPFINDENTRY EXITREQDOEDITCHECKCONV_LOOPCLRINPUT3RCLRINPUT2>CLOSEFILECHECKNEXTCHECKBUFFCALLG_ENDdBINTOHEX8 BINTOHEX4 SD_LOOP0REQLOOP0 xPRINTDIRPLAYMODEPD_LOOP2>PD_ABORTPDR_LOOPPC_KEYUPOPENFILEOKDRAWER NOUNLOCK2NOTELINE NOPARENT gbsKNOGADGETNODRIVE3NODRIVE2NODRIVE1NODRIVE0NODRAWER dNOCURSORMAINLOOPLS_OKMEMLOADSONG LI_EXIT2ID_NEXT4JID_NEXT3@ID_NEXT26ID_NEXT1,ID_NEXT0"HEXTOBIN jFI_ERRORFINDNULL BENDOFDIR ED_KEYUP6EDITMODEDISKUNITnCRT_LOOPCOPYNULLBCOD_LOOP dCLRINPUTCLEARBOXvCG_NOGADCG_NEXT5|CG_N~M&ayaa,x"yNb"yNb"yNb,x"z* <N.,x"z <%N.pNu*HBBNup,x NA^C*N,@M$#n~Jg n(AgQNutrackdisk.devicea N`&Ha,y#&!lLNuHA#ByaD#l#lLByzNuHa#D3dByfByB3 @ 9&p#P#T3%XaP#P$:#T3%XaaLNuHab#D3dByfByB3 @ 9 0#P#[\zT3Xa>P#P$:Z#T3XaaLNuaHa#D3d3fByB3 @ 9 0#T#P3XaP#T$:#P3XaarLNuarHaL#D3d3fByB3 @ 9&p#T#fP3%Xa&P#T$:F#P3%XaaLNu,x nx P hhC"Cl C"Nu y Nu,xApBC8NDNu,xC8JijN>NuHA( fj(@( F }e* gbH<`l@Cz2`4@C|`$<gb `l CzBQ`@C|p2Q(LNuHaLNAa*A Pg" Pgaaaaa8. fNua8A,aA P g Pg `a`Aaa*Jf2avJg*a,Jg" 9L,x"<N:#JNqa6`,y"<$<N#Jf/AkaP Nu,y"9NNu,y"<tNJg/"$<N"N Nu/Aa Nu Y Y Y Y^^B9^^ J Nu yQzf"ApaHApa< yQzgNu yPzf"ApaApa yPzgNu Pgh g`3LaNuAJPg( Pg"A09ByH pgNNu/~By aRy QLNuAbp0:VH($HpL Qp0:NuQL>NuC<gfNu012345678 90 A a B b C c D dEeFfrH@`rHtt  b0`7QLNuAa(axNuaa Nu/p2<4<6<a _Nuaa aa9XGygRyaa 4aL`. P e Pdp0@ y yJ@g PgS@fJ(f@ZH$HCpjaFHaAaLCpQAP=a`XZHCJg"JfUI :g /gJf`4RI/`RIaBACpaAa8a`By`T Pgr PfFAJg9JGg SGJgp PQ$P(HA~&IJgQ`.J,g |e [DIR]]G Q Jg "K!QAa"Nu,xpr"<N:JgNJf## @`"y# @"CpjZHJk|QRyNuA+a3NuJyg,y"9NBNu,y"9Jg2$<NNu,y"9Jg$<NJf3NuACpQAa(NuA0<BQNuA0<BQNuA0< QNuJ- fpaJ-fp  aJ-)fpaJ-EfpaJ-SfpavNuHHTB(HBSBfBy y$9H  SBfaLBSBf_KzEaaJUg UDg UAf4Jyg>9Syyg |_aBSLa`D ULe UPd`6a `g>9ygRy>9yg_aJ0a&Ug`h>9yg  a(BLNu>9ygRR RN fBRF`NuH yanLNuHM8,nAtCr NLGNuFyNuFyNuFyNuFyNuFyNuFyNuH(H$yr r)NHIK25@ yABBg8<gΔ* J&j(43 J&j"G BCx0CP&QRHRI`LNu9gByJyfp9fdLH PgPe hdhehd`3`0`L38H3 ygJyfJg J(fF(a333JyfLHAʰPehd|hevhdpJygLa&y9gByALHPehdhehd3Jyf6Lay`$LJyfay`a a(F! 8>NTr(06@PiXi^iiiiiiijjj&jDjPjjo.o4oXooop0p6p<pBpNp|pppqFqRq^qjqvqqqqrrr(r<rRrrrrrrss sssstt<tBu|uuuuuuuuuv vv(v6vBvNvZvhvtv~vvvvww$w*GŖwDwzwwwwwwwwwwxxJxbxhxlxvx|xxxxxxxyyy&y,y6y<yByJyZy^ydyhynytyxyyyyyyyyyzz,z:z@zJzXzbzjzpzzzzzzzzzzzzzzz{{4{>{F{L{d{j{t{~{{{{{{{{{{{{|||4|:|@|J|V|b|n|z|||||||||}}}} }&},}2}JH} }}}}}~~4~J~z~~~~~~~~~~ ",8BTr&BN^np6p<pBpNp|pppqFqRq^qjqvqqqqrrr(r<rRrrrrrrss sssstt<tBu|uuuuuuuuuv vv(v6vBvNvZvhvtv~vvvvww$w* Ŝ!W&fw-@*XLJ&98@Yf4N$FŁq6/>jo\3`m&˒ g-[([GgL7ꍀl,@ W"7w%c#".\b 9p_ǚ]1#5Z=jC $[3 s  @t6Y,uLt ,r(#چ07%3o B$|r8\i{u-[ionzUn9n9P.hap4 Load-/-swh҇ecesSnAYO!bn a pndardyBBloP !!!.*Categ<: ;/WM2HWELCO BE ITqDnYoWwant7RMINAT~Athtlitt-Suck^3??? ˳KIOHIM=[:  =HAVE MERCY=r?ol[%m,_o6xLd` ~x?>ПȌٰ3ٯ~ ߡ6`癌 m16 ?ǀm0`l17du>#B-|?L@e 8^ dA"*NZq \`(团 e#Ff;|`L 4dvz 0 #/]SHHC/E-:BL na(Y[TfdE-GdN!B<*L"$gV׌] IfN `޹/q L cI"<.KB/*KЖNu$@`8D!? (BAM06 %LSb GURUvgK@ ,wj8B [GF̉"{hQDOS pC:Jg @ hp,up`0/#-Ԣ t0@0"> Q3؋?f3B̹@GЈlX Aޫ<`*D8',.C^%h,@Jdos.libra*NXw \mfF$ B(5n6<9Nu.g BtpNuX(\:}hS@. xqAm <"<$<No ` Am <"<$<No Ni ig : ig ig ig ig" ?wIrig@ ig ig ig8 yier yidf yifZ dgLB09i@NwNwAtCu"> Gg#33@#33@0<9 f0<333#uvNw33`H3f#f3T3@#f3T3@333#uvNw33LNu.<QNu#`NpTNuNw`NwNuN}~#dNwAl <"<$<@eNo yhy hstf$ (-fB(( @00g`>eAl <"<$<No #h`H#ur#d#hAmf <"<$<No h <"<$< ydNo .< <"<$<No f ydNy <"<$<AlNo #No 9tB yd2Ё#dp#dx#|#ttBB 9x"9| ANyAl <"<$<No yd* <Cu2fA`HCl .<Nz2fLNuBMj2Nu dg#No#``j dg\Nw300mRAmH <"<$<No Nj g 9p"9t## ypC{ <N}RNA{ NNLAl <"<$<No `st-00:songs/.................... dgNw300mRAmH <"<$<No Nj g 9x"9|## yxC{ <N}RNA{NNBaLAl <"<$<No `st-00:modules/.................... dgNw <"<$<Am*No Nj g* yie yid yifB09i@"$ ypCtEu RgB((3mR#lAmH <"<$<No Nj gzBB*<##N ylNNLAl <"<$<No `jfNu A}` <"<$<No <$<NCE/-o <No $<.< <"<No fNu01234567890123456789#B99 f#NuB9"<A}B(gf`BNu dg: <"<$<Am*No Nj g yie yid yifB09i@#l <"<$<AmNo 9l,ypN~ gH,N~ g2.G 9l@"<$< NNo <"<$<AlNo D`$/?O_o o_O?/      0@P`p o_O?/y ygNu3AC <'2f yB0 @f#`2Nu <"<$<Am.<No fNi,< yd df,<Am.< <ED9"<$<No f`  AB09B3y yfByNu?2<FLPdnx~0/*V <?????????125Op0??????????39^~~~?~~~?~~~?~~~?~~~?~~~?????0?`46pB?~~~?~~~?~~~?~~~?~~~?p~~~?p~~??~?5@;~?~?~?~?~?~?~x?<<?06!U P  ʲ/mH[h􀀀_7X؀;0Whg@蘀gt2䜀_|@Ewi6?esgH輞E_dX:ĭ7JOD, п'780 %' $#    #'$ ")'"(' #&!          8HE  9@fNu9fNu yC6 <2fNuB096 @BBBB(+@&( ( 3i3i3i3iNu9gNi:#9fNiNu9gNi:#9 g9fNiNu#Nu <"<0$<0Aj :f<A Gf$<0 :f9o<AfNu :&k 000000No Song Found... Searching... Operation Complete... Welcome to A.D.S.R. V2 Select Instrument... Insert ST-xx... Possible Song Found... Operation Aborted... Type disk No. 01-99... ADSR V2 - Hints... -------------------- Before you start the Song, then make sure that it looks rea%\~?~x?<<?0&&<0<3>`y<}?~?p?<s?xwxsv?ppw<co3`1(xfyo?f|}w?~?~;<8p?y><8p?=߿?~p;3<͛7~0|)ls8 <~?????????,+lfyw|?s~>s <~?-! ??`?p???p?0?.:Sfyw|?s>>s <|?????/v-????fyw?s>s~2~J535A, 3<!/F"/Cr??????????~~~?~~~?~~~?~~~?~~~#5^?~~~???????~~~?$3Y-~~~?~~~?~~~?~~~?~~~?~~??~?~?~?~?~?~?u93?3~3~@@@|?@y@|?@y@|?@@|?y|x?bii|?yx`xyy@ox?=߼y߽x?߽y߽x?߽߽߽=߼{w|?~wyoyoyo|?oo==x?yyž?y = x??~?~?~?~?~o?{xo?{y?x  <0yx xyxyys2oh>L?>0001020304050607080910111213141516171819ff  00~0~ 0``|f<~ |0~~`<|~ffff<ff<<fm'f~~ff<`<|~ffff<ff<<ff~~ff<fg30ϙ2d2dI$̟3ϙ?&OhWÁ| Gp'O2d2dDϟ3"g&O3 2d0>fρ33023paa2||f@0@d 0ϙ2ϙg̙?L2|y&Oq'g8၆GpL2|?|00p08"g~L?L2|0r>sg93{J`ax39 ?d paf?Ⴢg̉>$ϟ̙>gṕ"ϟ~L2Dɓϟ̙g`ᙆdɐ?̃gC49gÆ 3? 0&`?00'3g̙3979Oy>fg9̟g̟9?8ay8~g8<̑g̙3979|y3fg9̙`a3 3?9H2 >p?09 a? acρ3 ϟ9χG8ϟ"g939~ p|3~3~3x@@@x?@@|?@y ґ@x@@x?3~?33?x? @@@y@y@x@@@@ ԙ"xy3x?33x?@@@M4|@y@x?@y@|?@@x33D\[~rRJ2*rN4, ((((( H r<<<``XTLH@<40($  tld\XPLHD@84CWGO! FUCK Dos-to-Dos! BUY THIS IF IT IS USEFUL!!!!!!!!!!!! Many THANKS go to FLOB for the original....... A small word about a few guys who have helped our group in many ways and that a small thanks is the LEAST we can do... PonyBoy...a COOL guy with a GOOD head on his shoulders... Rokman....A KICKASS Spreader.....One of the BEST...BAR NONE! Magnetic...He will give you the SHIRT off his back.... Lord Delos...For the extra storage space...it WAS APPRECIATED! ******SQd************************************ CrossDOS Version 3.05 We at CONSULTRON would like to thank you for purchasing CrossDOS. We believe you will find it useful and easy to use. ******************************************* Installing this Product I have included a simple program called "Install_MSDOSFS". It can be run from the CLI or from Workbench. It will prompt you through the installation procedure. The pro2Ggram is broken up into separate transfer procedures that allow you to install portions that apply to your system configuration. If you wish, you can install the product manually by placing the necessary files in the correct directories (please refer to the manual supplied with CrossDOS). ******************************************* TDPatch12 and TDPatch13 The trackdisk.device code resident in Kickstart code versions 1.2 and 1.3 have a couple bugs in it that need fixing. ?The bugs appear only if you have one 3 1/2" floppy drive connected on your system. TDPatch12 and TDPatch13 correct this problem for KickStart V1.2 and V1.3 respectively. The installation program will detect this condition if it exists on your system and transfer the proper patch version to your C: directory. It will also try to append your s:startup-sequence with the patch. (You may need to edit your s:startup-sequence to make sure it gets placed zin correctly.) If the patch is required, it must be executed before accessing any MS-DOS disk. Earlier versions of TDPatch13 had a bug in IT that would not allow the patch to be applied. It has been fixed in this version. TDPatch will not work in conjunction with NOCLICKSTART. ******************************************* MS-DOS Hard Disk Partitions The MS-DOS file system is designed to read and write physical MS-DOS hard drive partitions, although it has not been tested> thoroughly. The installation program does not cover hard drive installation so that creating a mountlist entry for it must be done manually. You must configure the mountlist entries so that the lowest block number points to the boot block of the partition you wish to access. The "device = " entry must also be the device driver for your hard drive controller board. I must also caution you about the fact that accessing the partition at the device driver level has no mݯKŦeans of detecting ownership of the blocks. In other words, both your Amiga and the MS-DOS host computer believe it has FULL control over the data written to the partition. To help prevent this conflict, if one host writes to the partition the other host must "change the disk". To change the disk on the Amiga host, execute the "diskchange" command for that drive. To change the disk on the MS-DOS host, change the default drive FROM the partition then back TO the parti 4tion (ie. from C: to A: then back to C:). ******************************************* Technical Support Should you have any questions or problems, you can contact us at: CONSULTRON 11280 Parkview Plymouth, MI 48170 (313) 459-7271 9:00 AM - 5:00 PM EST Thank you. to access. The "device = " entry must also be the device driver for your hard drive controller board. I must also caution you about the fact that accessing the partition at the device driver level has no m[=ԩ,8eyH yg y y}jg y yg y yg yNi `gNpv <CAuv g 2fNNLNAfCr <2f#,3Nu#JyNu#,yCZNh,@"9$<N".$9&9N"$<BNNu#,yCZBNh#j,yj"9$<N g$#f"$9&9N"9fN,y"yjNbNudos.library..............................