p eO`  @`! #@%`'+-//3@5`7;=?/C@oGKQS@U`WY[]_a Oe`gikmoq s@owy{} @` @ ` @ ` O ` @ o ǀ ɠ @ ` ׀ ٠  @`@`!Aa   /Aa!!#A%a')+-/1!3A5a79;=?/OEaGKOQ!SAUaWY[O`  @`! #@%`'+-//3@5`7;=?/C@oGKQS@U`WY[]_a Oe`gikmoq s@owy{} @` @ ` @ ` O ` @ o ǀ ɠ @ ` ׀ ٠  @`@`!Aa   /Aa!!#A%a')+-/1!3A5a79;=?/OEaGKOQ!SAUaWY[DIRCNT t GEMSOFT t SUPRA t MTURTLE28 $t HARDAUTO st @SBACKUP t IUTIL37 `DESKTOP INF y`]ARROW_PDDOC `.  t..  tDIRCNT C t *$DIRCNT DOCt DIRCNT TTPt e/* dircnt.c This is a program to count the number of folders on a drive or drives to see if we're below the awful 40 folder limit.Unlike the desktop it does not use gemdos to access the directories so that if we are over the limit running this shouldn't crash the system. David DeGeorge princeton!idacrd!dld ihnp4!acr011!dld Jan 18,1987 This is released to the Public Domain and of course I don't claim it won't wreck anything and I'm not responsible if it does. This will compile without change using the Mark Williams C compiler. Others may have to make minor changes */ #include #include /* dir.h structure of directory entries from the IBM manual */ struct dir { unsigned char name[11]; unsigned char attr ; unsigned char reserv[10]; unsigned int crhms; /* create time hours min seconds */ unsigned int crmymd; /* create time year mon day */ unsigned int clustst; /* cluster start */ unsigned long len; /* file length */ }; /* nota bene clustst and len are given in 8086 format so bytes and words have to be reversed using the routines conv86w and lfix */ typedef struct dir DIR; /* from Mark Williams manual */ struct BPB_ { short bp_secsize; /* Sector size bytes */ short bp_clulen; /* Cluster size sectors */ short bp_clusize; /* Cluster size bytes */ short bp_dirlen; /* Directory length sectors */ short bp_fatlen; /* FAT length sectors */ short bp_fatsect;/* Second FAT sector number */ short bp_datsect; /* First data sector */ short bp_clusters; /* Number of clusters on the disk */ short bp_flags; }; typedef struct BPB_ BPB; /* globals */ int *nufat; /* will hold the FAT table */ int *rootbuff; /* will hold the buffer for the root directory */ int dirnum=0; /* number of directories */ int recd= 0; /* recursion depth */ BPB *bpb; /* ptr to current disk parameter block */ unsigned int disk; /* current disk */ unsigned int endclust[]={ 0xff8,0xffff}; /* last cluster values */ /* Directories are read recursively up to 16 deep ( will this ever happen?) since the cluster buffer is 1K we need a pretty big stack. */ long _stksize = 20000L; main(argc,argv) char **argv ; { int size; unsigned int nextclst(); int rootlen,rootst,i,j; int atemp,tot; DIR *root; DIR sdir; int drlist[16],numdr; long drvmask; tot=0; numdr=0; drvmask=Drvmap(); /* which drives are installed ? */ if ( argc > 1){ /* use the arguments */ for ( i = 1 ; i < argc ; i++ ){ atemp=toupper(argv[i][0])-'A'; /* check the drive is installed */ if ( ( drvmask >> atemp) & 1){ drlist[i-1]=atemp; numdr++; } else printf("Drive %c is not installed\n",argv[i][0]); } } else /* no arguments just do the hard drive */ { atemp = drvmask >> 2 ; /* start at drive C and go up consecutively */ i=0; while ( atemp & 1 ) { drlist[i]=i+2; numdr++; atemp >>= 1; i++; } } /* Now we have a list of drives to do */ for ( i=0 ; i < numdr ;i++){ /* main loop */ dirnum=0; disk = drlist[i]; bpb = ( BPB *) Getbpb(disk); /* get disk info */ size = bpb ->bp_fatlen; /* fatlen in sectors */ if ( i > 0 )free(nufat); nufat = (int *)malloc(size*(bpb -> bp_secsize)); if ( nufat == ( int *) 0 ) { printf("Can't malloc space for the FAT table\n"); exit(1); } if(Rwabs(0,nufat,size,1,disk) < 0L )diskerr(); /* read in fat table */ if ( i > 0) free( rootbuff); rootbuff = ( int *) malloc( (bpb->bp_dirlen)*512 ); if ( rootbuff == (int * ) 0 ) { printf("Can't malloc space for root directory\n"); exit(1); } /* read in the root directory */ rootst = bpb->bp_fatsect + bpb->bp_fatlen; /* starting sector of the root */ if(Rwabs(0,rootbuff,bpb->bp_dirlen,rootst,disk) < 0L)diskerr(); /* rootlen is how many possible root directory entries */ rootlen =((bpb -> bp_secsize)/sizeof(DIR))* bpb->bp_dirlen; root = ( DIR * )rootbuff; dirnum++; /* count the root */ for ( j =0 ; j < rootlen ; j++) { sdir = root[j] ; /* current entry */ if( sdir.name[0] == '\0' ) goto bye; /* end of space ever allocated */ if ( sdir.attr & 0x10 ) { /* is it a directory */ if(sdir.name[0] == 0xE5 ) continue; /* erased */ if (sdir.name[0]=='.') continue; /* ignore . and .. */ recd++; /* increment recursion counter, convert cluster start to a 68000 integer, and read directory */ readdir(conv86w(sdir.clustst)); } } bye: tot += dirnum; /* increment total */ printf("The total number of directories on drive %c is %d\n",'A'+disk,dirnum); } printf("The total number of directories counted is %d\n",tot); printf("[RETURN]");getchar(); /* wait for a character */ } unsigned nextclst(clst) /* returns the next cluster number as 68000 int */ unsigned int clst; { if(bpb -> bp_flags)return( conv86w(nufat[clst])); /* hard disk 16 bit FAT */ else /* floppy disk 12 bit FAT */ { unsigned int temp1,temp2; char *p,*q; temp1 = clst + ( clst >> 1); /* 1.5 * clst */ /* this next funny stuff is to access nufat by byte offset. Since nufat is an array of ints to word align it and make it easier to access in the hard disk case we are paying now. */ q =( char *)nufat + temp1 ; p= (char *)&temp2; *p=*q; *(p+1)=*(q+1); temp2 = conv86w(temp2); /* if clst is even take the bottom order twelve bits if clst is odd take the top order 12 bits. This is straight from the IBM-PC manual */ if (!( clst & 1) ) return( 0xFFF & temp2); else return ( 0xFFF & ( temp2 >> 4 )); } } long lfix(j) /* make an 8086 long int a 68000 long int */ long j; /* swap the hi-lo words and the bytes within the words */ { long temp1,temp2; int *k,*l; temp1 = j; k= (int *)&temp1; l=(int *)&temp2; *(l+1)= conv86w(*k); *l = conv86w(*(k+1)); return(temp2); } conv86w(i) /* swap bytes this is in MWC library but included */ { /* for completeness */ char *p,*q; int k,j; k=i; p=(char *)&k; q=(char *)&j; *q = *( p+1); *(q+1) = *(p); return(j); } readdir(clust) /* readin a directory given the starting cluster */ { int buff[512]; /* for all our supposed portability this is */ int i; /* the size of a cluster can't malloc 'cause */ DIR *dptr; /* we want it on the stack so we can be recursive */ DIR sdir; int dirl; dirl = (bpb->bp_clusize)/sizeof(DIR);/* how many dir ents in cluster */ dirnum++ ; /* increment global counter */ do { dptr=( DIR *)buff; reclst(buff,clust); /* read cluster into buffer */ for ( i=0 ; i < dirl ; i++) { sdir = dptr[i]; if( sdir.name[0] == '\0' ){recd--; return(1);} if( sdir.attr & 0x10 ) { if ( sdir.name[0] == 0xE5 ) continue; if ( sdir.name[0]=='.')continue; if ( ++recd >= 16 ) { printf("Recursion depth exceeded %d deep\n",recd); exit(1); } readdir(conv86w(sdir.clustst)); } } } while ( ( clust = nextclst(clust)) < endclust[ bpb -> bp_flags ] ) ; recd--; } reclst(buff,clst) /* read in sectors corresponding to cluster clst */ char *buff; int clst; { int where; where = ( clst - 2 ) *( bpb -> bp_clulen) + bpb -> bp_datsect; if(Rwabs(0,buff,bpb->bp_clulen,where,disk) < 0L) diskerr(); } diskerr() { printf("Error in reading disk %d\n",disk); exit(1); } /* Mark Williams wants this in distributed programs */ static char mwc[]="Portions of this program copyright 1984 Mark Williams Co."; This is the documentation file for dircnt.ttp dircnt.ttp [drives] recursively descends the directory trees of drives counting the sub directories. It counts the root but it does not count the cartridge port. When invoked with no arguments it looks at drives C: and above. It ignores a drive if its is not installed and prints an error message. If used on a floppy drive and a disk is not in the drive then it does not die gracefully.Probably a couple of bombs. Arguments should be separated by white space.Only the first letter of a drive is checked so that dircnt.ttp a b is the same as dircnt.ttp ax b. Please let me know of any bugs or suggestions for improvements. David DeGeorge princeton!idacrd!dld ihnp4!acr011!dld ihnp4!rogue!dld example: dircnt a b c d e f h on my system with hard disk logical drives c d e, floppies a b, and ramdisk f produces: Drive h is not installed The total number of directories on drive A is 2 The total number of directories on drive B is 3 The total number of directories on drive C is 4 The total number of directories on drive D is 5 The total number of directories on drive E is 2 The total number of directories on drive F is 3 The total number of directories counted is 19 `Pj*o m$m,B"H"&J$YJf"Jg< Af Rf Gf Vf =f Jg#DB "&J$YJf"JfB&f2 "fEHB2 r ggSJ"g fB*`B" #.I+I/ #//SA?/ / Bg?<JNA Jf p?Np>BgN>N8XON ?N"?<LNANVBnBnp ?NTO-@ nop=@0.nl0.H"@ QH?N lTO@A=@0.".g0.S@H @1nRn`$0.H"@ QH?/<&N \ORn`x .=@Bn0.@g$0.H @0.T@1@RnRn`Bn0.nl:By2.H A0(3N?9Np?NXO#P yP0(=@Jno/9TN XO yP0?NTO#TJTf/<BN XOp?N"TO?9Np??./9TBgp?NOJlN$Jno/9JN XO yP0(HH?NTO#JJJf/<hN XOp?N"TO"yP yP0( i=@?9N?. yP?(/9JBgp?NOJlN$"yP yP0H =@-yJRyBn0.nll0.HЮ"@A0< `RHRIQJ.gDB@.@g B@. @fRn` ..gRy?.NhTO?NTO`09n?909N@A?/<N PORn`?./<N \O/<N XO/<N\XON^NuNV yPJhg 0.H@B@H@ @T?NhTO`j0.Hn=@ 9T?.BgП-@A-H"n n"n ni?.NhTO=@0.@f0.`0.H@N^NuNV-nA-HA-H n?NhTO n1@ n?(NhTO n0 .N^NuNV=nA-HA-H"n n"n nQ0.N^NuNVH yP0(H =@RyA-H?.HnN\OBn0.nl0.HЮ"@A0< `RHRIQJ.f Syp`B@.@g B@. @fRn` ..gRy09 @m ?9/<N \Op?N"TO?.NhTO?NTO` yP0(H&@?.N|TO=@Se SyLN^NuNV"yP yP0. U@i =@?9N?. yP?(/.Bgp?NOJlN$N^NuNV?9N/<N \Op?N"TON^NuNVH8..P b d.</NXO*@ gbJZf&M #<#8`( 9Zf QP&m`(yZQ L (&@)M Q@* Ѝ#Z(@Q LB)KL8N^NuNVH0B .\S@,dB`Й*y8 g| .gR g @є .*L(Md<  d @*`* Ѝ#8 y8 /0<Hї `dJg @Ѝ*@`*m8f g#8Ry@09@ @e Sy@`N/NLXO/.NXO*@Sy@ L0N^NuNVB0./NXON^NuNVH ./0<H *@Jf8BG0GBJg$0RG0@BH?p?p?N\O`NxL N^NuNVH>.0R@0@lH@g0@`0LN^NuNVHn/<N PON^NuNVHn /.N PON^NuNVHn?</.NO Hn HnN POHnBgN\ON^NuNVH0-n n (@XH> @%gJGg8/.?N\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f( nT0=@lp=@0.D@=@H>`,Bn G0m" G9n2. 0A@0=@H>` G.fNH> G*f nT0=@H>`,Bn G0m" G9n2. 0A@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> /0<^H -@*@0 |X2<`XHXW PN`N nT0=@Jnl0.D@=@p-p ??./ N |PO*@`p ? nT?`p`p` n -@XJl .D-@p-p ?/./ N O `p ? n// N O *@X`p`p` n "(-@-AP/ ?././.?N. *NB%0<g"0H@H@B@H@ @>`?Bg _Jg nR` .L N^NuNVH0*n>.IB$B0//. NPO-@g$B0//. N PO @-n ` n Jg` L0N^NuNVH *nRm o / mNXO` URB@> @ f -H@f0L N^NuNVH >.*n G f-H@g/ p ?N\OSm l/ ? mN\O` UR0L N^NuNVH *n .*+@+|h0. D@;@ m l;| +|h`+|L L N^NuNVH *n Bm pL N^NuNVH *n ;| UR0.L N^NuNVH *nJfL-H@f.-H?NTO>gf?<NTO+@f+|+|`^-H@f"JGgf+|+|L -`&+|+|-H?NTTOHЭ*+@Bm L N^NuNVHp?B?.NPO. fB@`0H@LN^NuNVH *n/ NXO/ mNXOL N^NuNVH >.*n / NXO/ ? mN\OL N^NuNVH *|^eJg /N XOY`L N^NuNVH *n-H@fp`@/ NXO>-H?NTOJg-H@f /-N XOB-0L N^NuNVH *nBm By-H@fj >o.?/--H?NtPO20Ag09H f,JGm$ -/0<Hї f -*+@`+UB@`-pL N^NuNVH *n/ NXOJ@gp` Lf/<NXOBy -/0<Hї ?/--H?NPOD@;@ @f09H g-Bm `Jm f -@`z0- Rm m+H URB@L N^NuNVH *n Lf/<NXOBm Byp?Hn-H?NPO @g J@g B@.` 09H g-`-@pL N^NuNVH *nBm pL N^NuNVH *n / NXOJ@gp`$ -/0<Hї S@;@ UR0.L N^NuNVH >.*n GBm By-H@fF/ NXOJ@f8p?Hn-H?NtPO @f0`09H g-pL N^NuNVH *n Bm -/0<Hї f/ NXOJ@f UR0. @ f/ NXOJ@gp`0.L N^NuNVH *n-H@g / mNXO -b / NXO`4p? H/-H?NPO fp` +UBm B@L N^NuNVN?.NxTON^NuNV/</<N PO/</<N POp?N"TON^NuNV?.pL?NXON^NuNV nn?.NTO @Cg,p???.NXO?.p>?NXO/NXO`B@N^NuNVH?.pE?NXO>l0H/NXO`"?.NTO=@m?.?NXO0LN^NuNVH?.?. rF?N\O>J@f(?.NTO=@m?.?. NXO0. `0H/NXOLN^NuNV?.NTO @Cfp`B@N^NuNV?.?./. pB?NO /NXON^NuNVH ?.NTO @CfBF9H>9HH*@SnmSGllpQB9/<p ?N\O>l0H`p ?p?p?N\Op9H>9HH*@0Gp H: EfBG` n R RF E ff 0`(/. 0.H/?.p??NO /NXOL N^NuNVH..Jl <`4Jf 9`(R @./pH?N\O,g І# LN^NuNV0.H/NXON^NuNV/. 0.H/?.p@?NO /NXON^NuNVH >.0V@ @bH0@ PN`*pP`&pA`"pC`JGm*yDSGmJfp`JgHL N^NuNVH >.JGm*yDSGmJfp` Jg0. L N^NuNVH >.0V@ @bJH0@ PN*yDH0Ag Jfp`&R` D?NTO`~C`~A`~P`pL N^NuNVJl .D3p` .N^Nu#BNA yBN#FNM yFN"o`CH0"/ $AN,L Nu"o`CH0$"/ AN, L NupJfpN∲cd⒒d҂dFN{NULL}D O DU $X Hc d e Lf Lg Lo r s u x D <0123456789ABCDEFN Portions of this program copyright 1984 Mark Williams Co.Drive %c is not installed Can't malloc space for the FAT table Can't malloc space for root directory The total number of directories on drive %c is %d The total number of directories counted is %d [RETURN]Recursion depth exceeded %d deep Error in reading disk %d Bad pointer in free.    You must compile with the -f flag to include printf() floating point. HCCAP????????????????????????j?@@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @H"2,  >R\      b  6JX@2     4 "BJ.  . (,>>HRBNB$(JF D | 4<.&4(*\(\ TVHJ ,   (,    6 .$ &4@ 2 $:VP" 0Pj.  t..  tCOMMAND TOSt JCGEMBOOT PRGt )GEMDIR TOSt 1GEMMEM TOSt 9GEMSOFT DOCt A2 READ ME t EV SETPATH TTPt I`8A&*O.|*m - ЭЭм// ??<JNA /<AatX MB"HB |@ 80<  fR`Jg R@R  nJgB`/ /<@?N BBBgNA"/0<NBNu#ANA/9ANuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH?BCB..,. f#A <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#A D`#A JLN^Nu o AdpNu#ABNuNVJy96lB@`pN^NuNVN5NмAN^NuNV .a m .z n . H|`. HN^NuNVH*n` H>aRJf .JL N^NuNVH *n(n `Jf JL0N^NuNV`R n  g .N^NuNV>N4N^NuNVHag(<fp` `<f` <fp` a|fB@JLN^NuNVH. H>N4aJLN^NuNVH*n` H>N4JfJL N^NuNV.aafN^NuNV.aJ@gp`aB@N^NuNV.9aN^NuNVHagHJLN^NuNVHa>aJHJLN^NuNVH *n(n JUgSUS.9a>JL0N^NuNVBn-n` . m .m.H` nBB@`.Q/UaX` nB nN.a`-nBn nN`l`.Q/UaTXJnf`TJnf4.9/.N8X.9N8=@HЮ-@.an``H |:VrW hN`&0.n l.H"n>N4RRna@| f nB./<9N8X0.N^NuNVH*n Jl- .D-@~ `/< /NP.o`H992f.RH992f 92`H>a|=@f./ aX(@`<Af(. n0H/ahX./ aX(@`<CfBW/ N6bX`RJf`<DfN5NмA`<Ef$.0y9:/aX./ a>X(@`Z<Pf.9=/ a&X(@`B<1m4<9n.Sn0."n2Al n2n./ aX(@`92R`JfB .JL0N^NuNVa:J@gN*.a`aaJ@gN J@g Sy94p``B@N^NuNVB. /&N8X-n./.aX`BW?.$/.N6@\Bn"A-H`dR./<?.$N5\gJn"f>$N5p```0`& n g$ n  g n  gRRn" n"m>$N5 .fp` nB././/aX .aJ@gp`D.&/aXJy94g Sy94p`BW/&N5X=@$lpN^NuNVnNJ@gp`j|v-y9BA#9`4N*.*?</vaV\a./vaVXJy94g#9Sy94B@N^NuNV H .м,-@ .9=/<9 n /N PB.&Bn nfF.:NJ@f(Sy96.&/<:aXJy94f\Ry96.&a`H=|$`0n$ *P`RJf Rn$0.S@n$n.& n /(alXJL N^NuNVH (n`N*n `(<am<zn H|`HHAfRRJfJf./.N8X`RJfRJfJL0N^NuNV./. /.N8P/N8:XN^NuNVBW/.N5X=@lp`` >N5B@N^NuNVH*n n (:g N:` n R n ;g n Jf -:g -\g\././ aJP .JL N^NuNV././. /.av .a/.N6X=@`Bn`A-H`R nJg n .f0. @"|:./.N8dXJ@fD0.м: @ hfJnf&0. @"|:00=@nl=n`Rn nmlN6=@JngR0.`P-|:=|`Z-|:=|`J-|:=|`:-|:=|`*-|:Bn``|g|g|g|g`././. /.a( 0.N^NuNV n (:fJnf .:/. /.aP.aJ@gx.:/. /.a|P.aJ@gT.:/. /.a^P.a|J@g6.:/. /.a@P.a^J@g.:/. /.a"PB@`p`p`Z`X-n`2>/. /./.a =@g0.`*.a-@ nJf.:/. /.aPB@N^NuNV-n `R nJf` n \g n .gS . fJnfD./<:N8dXJ@f..; /./. /.aj J@gp`B@``./<:N8dXJ@g,./<:N8dXJ@g./<:N8dXJ@f*.; /./. /.a J@gp`B@``>/./. /.a N^NuNVH*n \fJ-g -:fJ-g -\fJ-gB@`pJL N^NuNV.;6/. /.N8P/N8:XN^NuNVH*n` *g ?fp` `RJfB@JL N^NuNV.=QN:N^NuNV>N4Jy;:g>v`>wN4B@N^NuNVN<}NTa.N5Hr4.aHgB@`"` >N5H <.adp`l-|;<`T. n/N8dXJ@f:-n /.//. NX/NP/ n hNPp`P n P  fB@JLN^NuNV.N.=NJn g.;`.;N:N^NuNV nJPfp` n hH|=@`SnpH>NJnfB@N^NuNVB@N^NuNVH n Pg.=N:`L n*h.NJ@g.=N(.N:`" n. / N6XJg .=N:B@JL N^NuNVH*n./<;6N8dXJ@f.=a J@fB@`<.NJ@g.=N.N:``.aJ@g .NJ@gB@JL N^NuNV. /./<aPN^NuNV.a.N5V> /.N6XJgB@`pN^NuNV.?</.a\J@g(.N(J@f.>N(J@fB@`p`b``Jn g".>N(J@f.N(J@gp`8NT.N5Jg".>N.NNTp``B@N^NuNVBW/.aLXN^NuNV. /./<>aPN^NuNV0.|A<>RW/N6bX.>.N.E`.N:N^NuNVN5N>aN^NuNV n (:fh nJ(f nH>Wad`t`DN5N=@ nH>aJ@gp`P.TN5=@>N5HJnfB@`,`.N5JfB@`.N.>GNpN^NuNV nJPfa:``. /./<aPN^NuNV.N5Jg.N5JfB@` `.>[N.NNTpN^NuNV. /./<aDPN^NuNVH./.N8dX>. /<>jN8dXJ@fJGgB@`p`L`J. /<>lN8dXJ@fJGmB@`p`(`&. /<>nN8dXJ@fJGnB@`p``B@JLN^NuNVJng0. ` Jn gB@`pJ@g*.N. n2n /0NX``B@N^NuNV n ./<>pN8dXJ@f:./. ?< n /( NXJ@fBg`?<?.ad `N`L n PlB@`>./. ?< n /( n /( n /(a ??.a N^NuNVH n PlB@`v n./<>wN8dXJ@fHBG`0G2GRI!iRG|m n0"nSQ. /.Bga\``. /.?<a\JLN^NuNVH nJPg~ n !|.: n/(/. NP.N n Pf n Bh`8BG n*h n (h`RGݾ|m.  n /(NXB@JL0N^NuNV nJPfp` n hH|=@`8Sn n Jhg0. N.  n /(NXJnfB@N^NuNVH*y90<``.{N 90NNT*U 99W`BW/. N5XN^NuNV n<./<N ..N.>N.N.>N.N.>N.N.>N:N^NuNV nJPfN<.A#9 n*h`d(M`RJg !fJgB@`p=@B.Nl*@.N J@f2. / NXJy94gSy94`Jng ` R*@Jf#9B@JL0N^NuNVH BGaJ@f.>N:J@gp`f-|;<`D(|<` Jf(|<`Jf.N@|Yg .Nf.H>N4NT .YgB@`pN^NuNVaV.N@|0m. .9n&.H|394.H>N4`` .Am* .Zn".H|394.H>N4`h`b . g^ .fRNT-y9-|? A#9ab#9Jy94gSy94fNTax.Ry94`B.? n/(N8dXJ@g n.N7y94`a` J@g|g`B@N^NuNVN>/<; a~XN^NuNVNJ@gB@``.N n.N:N^NuNVH n*h nJPf a`` n Pg.a``~./<;N8dXJ@fSy96``./<;N8dXJ@fRy96`D./<;N8dXJ@fBy96`(./<;N8dXJ@f 396` .a`B@JL N^NuNVH n*h nJPf$Jy98lBW`>/<;2aTX`x`r./<;N8dXJ@fSy98`T./<;N8dXJ@fRy98`8./<;N8dXJ@fBy98`./<;N8dXJ@f398B@JL N^NuNVH n*h nJPgn./<;N8dXJ@g./<;N8dXJ@fBy;:a`J`6./<;N8dXJ@g./<;N8dXJ@f3;:av`>;:/<;&a8XJL N^NuNV n Pf0 n-h n ;fR./<9=N8XB@`D`B.?N(J@f0J99=fB@`pHм9<.N(J@fNTJ@fB@`pN^NuNV.?"N:Nd|f n JgaB@N^NuNVHBD>. n ;fJygB@`p3`BW/.N5X=@l.?N5Jyg JEg nN80JLN^NuNVN5N4NN^NuNVH*n`H>aJ@gp`JfB@JL N^NuNVp H>aN^NuNV.?IaJ@fF.aJ@f<.?PaJ@f0.0n /NX.aJ@f.?iavJ@fB@`pN^NuNV n :fa`$.&/<&?<7/<&/.aN^NuNVBy. /./<'NaPN^NuNVNd|gB@`pN^NuNVB@N^NuNV n :f.?mN(`$.'/<'?</</.aTN^NuNVBy. /./<'a&PN^NuNVH *n(n `H>NJ@gp`JfB@JL0N^NuNVH*n >.<.N8Ȝ@`> NJ@gp`0SFJ@f./.aXJL N^NuNVH*n >.>/ //.NP/aPJL N^NuNVH *n >. n(P .f `H>NJ@gp`ZJg0SGJ@f`$`H>NJ@gp`:Jg .g0SGJ@f`> NJ@gp`0SGJ@f .fR n B@JL0N^NuNV>/. /Pa\PJ@f*?<. n NTJ@f>/. /Pa6PJ@fB@`pN^NuNV> /./.aPJ@f./<?qaJXJ@fB@`pN^NuNV?< nNTJ@f?< nNTJ@fB@`pN^NuNVH*nBG`RG | mBJL N^NuNV. gp\`. gp/`p N^NuNV n |fRp`B n (:f nH>N|Cf n (:gN5NfB@`p=@.avJ@g(.;6/./N8P/N8:X-@. /<?sa$XJ@f. /.aXJ@f . aJ@gp`BnBB.?</.a\J@g/</.NP-@Ѯ.H?aT? n NTJ@fh. /aXJ@fR.H|g?<+`?< n NTJ@f0.g. /<?aHX`. ?</.a\J@gp`RRn0.|fBn. aJ@gp``. /<?aXJ@gp`.N5V.aN6JgJng. axJ@gp`JJng./.aX. ?</.a\J@f. /<?ahXJ@f>/. /.aPJ@f. /<?a:XJ@fJng. ?</</././.NP/NP/NP/a~\J@fn. /<?aXJ@fZ. ?</</././.NP/NP/NP/a(\J@f. /<?aXJ@fB@`p`B@J@f. a0J@fB@`pN^NuNV./.aXN^NuNV nJPf .;6a`./<-a/.N6XJf.fB@`p``B@N^NuNVH*n.NLJ@gB@``.aJ@gB@`pJL N^NuNVH*n`RJf JL N^NuNVRH =|./N8X.a*@` мػ@SDg :g \f.?/ RN8X.NBW/. N5X>l .?N. NNT`BW/N5X<l.?N:`*<`ⅺg.N6(@ g`$./.?N6\g.?N`./?N5\-@nȺg.N6Jg.?N:`Bn>N5>N5.N./N6X0.JL0N^NuNVH*n `RJf` @SDg :g \fR.NLJ@g&././N8P/N8:X-@`@.apJ@g4./<?/./N8P/N8:P/N8:X-@. /.aXJL N^NuNV>/.NXJ@gp`..@/. /N8P/N8:X./.aXN^NuNVv./N8X.NLJ@g A-H`.a -@ n\R. /N8X.a-@` ."Ҽ@SDg n :g n \fR.zN5V>/. N6XJgB@`p=@`./.N8X./.N8X.g* ..g ./aXJ@gp`x`J.@N(J@f.N(J@gp`NNT./aXJ@gp`*.zN5VN6JgB@`p=@Jnf4N^NuNVH *n(n .NJ@g=|`l.NLJ@g./NX(@=|`D.aJ@g:.;6/<@/ /N8P/N8:P/N8:X(@=|Jng8.aJ@g .N(.@N(NTp`` ./ aX` ` ./ aXJL0N^NuNVHBG`&> n2G/0/.aPJ@gp`RGn mJLN^NuNVH n>|fBW n/( n/( aP`6|o$ n2GSI.?SW/.\an\`` .@3N:B@JLN^NuB@`0<?NATNu0<?/?NAXNu0<`0<`0<`0<`0<`0<`0< `0< `0< `0<2<??NMJNu0<2<`0<`0<`0< `0<`0<`t0<`^0</`f0<*`^0<+`b0<,`N0<-`R0<0`>NV?. /.?<1NANuNV?. /.?<6NAN^Nu0<9NV/.?NAN^Nu0<:`0<;`0<`0<?NV/./. ?.?NAN^Nu0<@`0<A`NV?<?./<?<BNAN^Nu0<BNV?.?. /.?NAN^Nu0<C`NV?. /.?<GNAN^NuNV/././. ?.?<KNAN^Nu0<M`,NV?. /.?<NNAN^Nu?<ONATNuNV/. /.Bg?<VNAN^Nu0<E`0<F`0<H`0<I`NV/. /./<JNAN^Nu0<L`NV/. /.?<WNAN^NuNV/. ?.?<NMN^Nu?<NNJ_Nu?<`?<`NV?./. /.?<NNN^NuNV?. ?.?<NNN^NuNV/./. /.?<NNN^NuRising Star Industries, Copyright (c) 1985NVH*nBGBF`RHHм@R @f +fR` -fRRF` H@| 0m 9oJFg0D@>0JL N^NuNVH *n (n`RJff .JL0N^NuNVH *n(n `op`lp`JgJfHHAJL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuRising Star Industries, Copyright (c) 1985CON:LST:AUX:%;PATH=:9  0BZAUTOEXEC.BAT*** GEM DesktopBatch file: Program: Cannot find .BAT.PRG.TOS.TTP::::.*ONOFFSETRESETECHOWRAPPATHLOG*.*<< <!<<4P<F<-<-; "<<F=!=6= ;2#N=-=R;,$=%,=.6='=%L=)V=-=0F=3:=9=?=D(;&$=IL=K"=M0=ORising Star Industries, Copyright (c) 1985eq{ }A: does not exist. A: is 0: A: A: Select item to continue execution: ?BELLBYECDCOPYDELDDIRENTERERAEXITGOTOIFLSMDPAUSEPDIRPRINTREMRENRDRMSTACKSHIFTSHOWTYPE;:! RSI Command Facility V1.01 9-20-85 WGWTerminate commandValid disk letters are A through P is REN needs 2 file names.Cannot find Rename failed.Erase all filesCannot erase: exists. Creating Cannot create Current directory for \ cannot be found. Cannot remove =<>EXISTSNOT*** ENTER <--- Current Environment KB free of blocks use bytes/sec sec/block*** ! CommandBuilt-in commands: (Y/N)? *** Query EXIT?PATH = Press any key to continueCannot open File: Page: K Search path: ---- |B total in files. B free B total$$$Cannot copy Cannot open destination fileWrite Error while copying file.\\*.*Copying \ must be a drive or subdirectory.COPY destination not specified!!!!".. vf $^&Db ".(<|* $ $ *:<,Rj "L0 &.(Dj. "   0 $P*B *d d` 2  BDB 2" > :.     " 6   2 @&(  J  JR <     $ 2 $     "(   $F   6   .  @  6 >0@$L* . XT$ lpXX.4 * 8  2b.      J  0 & ^:`JvU|N6N RN N N N 8N (N Nb*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N`\?<N?<A?<NAXNuNV=|Hn?<N\/.?<;N\?<Hl?<NNPJf.H|g,.H|.gHnA м/NPn`:.H|g,.H|.gHnA м/NVPn?<ONxTJgHl?<;Nd\/. ?<NV\0.`N^NuNVBgHlz?<NN6PJf@HlNX=|`8 .м/0.Rn?HlNf ?<ONTJg` n mA` HSh0( @m< A` H"R AH|`Hl`?< N\Hl`Hl(NHPHl`NX?<NzT@Bn.H|f`&.H|0=@0.nl nmHlVNX0.g4BgHlz?<NNP=|`?<ONTRn0.nm .м/A R/NPA R/NX@/?<?<KN N^NuNuNV?.N T nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN `XN^NuNV/ AL&H`0+ |g/ N*X AL"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N JXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ N(P @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NXP'@&Bk0<LN^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g ALAA &'@`*0+H/NX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N\XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNv -@?<?.B?<BN\ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`&0.A쪐0nf0.A쪐BPRn nLmN^NuNV?>.=|0A쪐"HPgXHf0(>N^Nu)I)J)_NM"l$l/,Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlfHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hln/N: /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN\P0.N^NuNVHnHl`NPN^NuNVHn /.N&PN^NuNVHl`/.NPHl`?< N\N^NuNV`/. nRH?Nf\ nfN^NuNV n "n fN^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NvX0. Sn J@fN^NuNV` nRH??<NHX0. Sn J@fN^NuNVH0&n $KAr-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NlTJ@f`H| f |o@ H-@/./.?.?<@Nr 9@Hg0<`0,n/./<?.?<@N< 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^Nu)|V)|`,)|))|_)|AN)|V)|)|)|[CPATH=;C:\FCz*.BATCj\AUTO         CX\COMMAND.TOS    CL"2"2 2"2"2"22"2"2"22"2x9|J)l@)lD)lH)lL)lP9|CA"A"A"A$"A*"A"A "Nu*.*.. Boot procedures: %1d) %s M Select boot procedure (abort with ESC):  pError: no memoryq pError: %s not foundq Ep GEMBOOT V1.06 Copyright 1987 by Konrad A. Hahn q logging in drive %c:\ %3d directories Total number of directories found: %d \@$??CON:AUX:PRT:%d `DN6N NN NN hNXNN(*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N\?<N?<A?<NAXNuNV=|`0.RnA n mB.?< nA/HnNt Bn`AH| f`Rn nm n(H| g6A.?< nA/A 6.HЃR/N /..g A `A /HlN N^NuNVA2 HSh0( @m< A2 H"R AH|`Hl2?< N4\Bn`FA2 HSh0( @m< A2 H"R AH|`Hl2?< N\Rn0.nm/. NvX n -h`/.0.R@?N>\ n-h .fN^NuNVBn`n0. l gX0. l/0<An?Hl&N 0. l P ($g0. l P/($?<N\Rn noA HSh0( @mA H R @H|` HlNXN^NuNuNV?.N LT nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN tXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N zXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV/ &n0+ |fk@ 0+ |`g0<`&Bk`R0+ |g AAA &'@`*0+H/N X&'@ fk `k g-K?<?+ B?<BN r n!@& k f Hl2N~X0+ |g0<`0+?/?+ NTP7@Sk0+ @l kfk `k@ Bk0<` SRH|&_N^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g AAA &'@`*0+H/NX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N,XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNZ -@?<?.B?<BN@ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<INr\N^NuNVBn`&0.Ab0nf0.AbBPRn nLmN^NuNV?>.=|0Ab"HPgXHf0(>N^Nu)I^)JZ)_VNA"l^$lZ/,VNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlrHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnN4BF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hlz/N: /N^XHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHl2NPN^NuNVHn /.N&PN^NuNV`/. nRH?N\ nfN^NuNV nf:0,lf0<9@9@`?<NT=@ nf*0,g Sl?<?<NX?<D?<NX` n f00,RlA ?< ?<NX?< ?<NX`v nf ?<N$T nf20.2,RlA?< ?<NfX?< ?<NXX`*0.2,RlA?.?<N4X0<fAH|f0<`0,RlAH`` nf?<NT``0.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<N X nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA~-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N( 9@Hg0<`0,nBl0.L N^Nu)|V)|`,)|))|_)|AN)|V)|)|)|[C"2"2 2"2"2"22"2"2"22"2x9|)lL)lP)lT)lX)l\9|CA"A"A"A$"A*"A"A "9|9|Nu\%s Directory Block: %4lx{ ROOT } Drive %c: Media Descriptor: %4lx@$??CON:AUX:PRT:%d `N6N6NrNNNN NN*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN X/,?,NF\?<N?<A?<NAXNuNV n/( n/( n/(HlNN^NuNVB?< N\-@ l-h/,Hl*NVPHl@NLX`/.NX n-P .fHl\N$X l-P`/.NdX n-P .f/.?< N\?<N|TN^NuNV?.N(T nn0<`?.?<>NNX9@g0<`0<N^NuNVHlt/.NPJ@g`Hlz/.NPJ@gNHl/.NPJ@g n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`F ,$@ f*A$H`0* |f` A"Ҽm A"Ҽm <`BBj Bn+H|+f =|j H|wf?./.NZ\>j `hH|afB0<n?/.N\> @f?./.N\>?<B?NrPj `0.n?/.NN\>j Gf Bj <`05G Bj <$%@?<B?* NP%@5l L N^NuNV)n/.NX/. /.NLPN^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,A H1| A H1|HlHl/.N .g2A2 H1| Hl20.gA `A //.N 0,R@H/?<HN\)@><`0A` 2 l RG0lm l 0, lBL N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN~ -@?<?.B?<BNd -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A^0f"0.A^00.A`0 ` Rn nLmN^NuNVBn`&0.A^0nf0.A^BPRn nLmN^NuNV?>.=|0A^"HPgXHf0(>N^NuNVHl/.NPJ@f =|`Hl/.NnPJ@f =|`Hl/.NRPJ@f=|`f0. |g0/.NXJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@ @l0<`0. | ??.N~X0.N^Nu)IZ)JV)_RNA"lZ$lV/,RNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlHl?<Nb]|@0. R@?HnHnHnNb.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl/N: /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHl2NPN^NuNVHn /.N&PN^NuNV`/. nRH?N^\ nfN^NuNVH0&n$n `RRgHHAgHHC`L N^NuNVH0&n$K`Rf `L N^NuNV/.?<AN\9@g0<``0<N^NuNV`4 nH| f?< ?<NX nRH??<NvX0. Sn J@fN^NuNV` nRH??<NHX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@ND 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^Nu)|V)|`,)|))|_)|AN)|V)|)|)|[C"2"2 2"2"2"22"2"2"22"2x9|)l)l)l)l)l9|CA"A"A"A$"A*"A"A ")|Nu Address: %6lx Length: %6lx Owner: %6lx This Process: %6lx Allocated Memory Blocks: Free Memory Blocks: CON:AUX:PRT:@$??rawCON:AUX:PRT:%d Documentation of the archive GEMSOFT.ARC Contained files: 1) GEMBOOT.PRG the GEM booter 2) COMMAND.TOS a PD command shell 3) SETPATH.TTP path setter for DESKTOP 4) GEMDIR.TOS dumps GEMDOS internal directory tree 5) GEMMEM.TOS dumps GEMDOS memory allocation lists 6) GEMSOFT.DOC (this file) ############################################## # Copyright (c) of GEMBOOT.PRG, SETPATH.TTP, # # GEMDIR.TOS, GEMMEM.TOS # # # # by Konrad A. Hahn # # Karlstr.19 # # D-6109 Muehltal # # W.-Germany # # # # Permission of charge free copy and usage # # only for noncommercial users # ############################################## Warning: Most programs in this archive uses TOS internal memory addresses. ####### These addresses are based on the *german* ROM-TOS and may be incompatible to the US version. GEMBOOT.PRG ----------- Put GEMBOOT in the AUTO directory of your boot disk. Be sure that GEMBOOT is the last file in the AUTO exec sequence because DESKTOP is booted without leaving GEMBOOT. For the startup batch feature put COMMAND.TOS (included in the archive) into the root directory of your boot drive. At boot time all *.BAT files in the AUTO directory are listed and you may select one to be executed by the shell. If you don't want the batch feature to use the boot drive, you can patch the command shell path (orig. \COMMAND.TOS) and batch file directory path (orig. \AUTO) to C:\COMMAND.TOS and C:\BOOT for instance. Each path string must not exceed 15 characters. The 80 character path buffer (environment string for DESKTOP) is initiated to "PATH=;C:\" and may be changed in your startup batch procedure using SETPATH.TTP. Dependences: GEMBOOT uses the system variable exec_os to find the GEM startup procedure. GEMBOOT uses a GEMDOS internal pointer array at $56FA to find the system memory free lists. Side effects: GEMBOOT sets the system variable _shell_p ($4F6) to the path buffer. SETPATH.TTP ----------- SETPATH modifies the contents of the GEMBOOT path buffer. If it is called without parameter the current path string is printed. If called with a parameter string the paths must be separated by ';' or spaces. Clear the path with "SETPATH.TTP ;". Example: SETPATH.TTP c:\;c:\system\;c:\compiler\ DESKTOP uses the path definition in the environment string for its command search. If you direct DESKTOP to execute a file, it is searching for the file in the current directory first, and next in the directories defined in the path string. Any program started by DESKTOP inherits this environment string. Dependences: SETPATH uses the system variable _shell_p to find the path buffer. COMMAND.TOS ----------- A new PD command shell used by GEMBOOT. May be used for other purposes too. Enter '?' for a command list. GEMMEM.TOS ---------- Gives a TOS memory allocation status report. Usefull if you have memory fragmentation problems. GEMDIR.TOS ---------- Dumps the TOS internal directory tree as TOS sees it at the moment. I used this program to find the duplicated memory blocks. This solution to the "40 folder limit" has been tested on a 520ST running with the Berkeley MicroSystems ATARI <-> SCSI interface (BMS-100), interfaced to TWO Maxtor XT-1065 drives (56Mb each, unformatted). The version of my ROM's shows as 11/20/1985 ($FC0018 is dc.l $11201985) Amazingly, the installation of the GEMBOOT takes under 39000 bytes, and permits me full use of my hard disks. I am both THRILLED at the fact of the solution, and dismayed that Atari has (apparently) chosen to let the problem wait for the upcoming ROM upgrade. While my testing has not been exhaustive, the program has moved from my "toys & hacks" category into the "high confidence of success" group. What follows is the original header from the USENET article in which GEMBOOT appeared. --Walt Weber-- =================== Begin excerpts from original ================= The file GEMSOFT.ARC contains a program GEMBOOT which serves as a plaster for the old TOS problem: the 40 folder limit. To state clearly, GEMBOOT does not *cure* the TOS bug, but it prevents the primary error from happening in most cases. As far as I could find out, the 40 folder limit is a two fold TOS bug. The error symptoms are caused by GEMDOS being "out of system memory". GEMDOS has a limited system memory area of 3000 words used for memory descriptors, media descriptors, directory blocks, etc. Tracing GEMDOS internal data I found the system memory overflow being forced by multiple duplicates of directory blocks. It seems to me that GEMDOS sometimes forgets to set a special flag in the currently used directory block. This flag should indicate that the corresponding directory has been read and directory blocks for every subdirectory have been created. Thus next time GEMDOS needs a file located in this directory it creates another set of subdirectory blocks. This happens on and on until the system memory is totally trashed with useless duplicates. If the device is a floppy drive you have a chance, because all assigned directory blocks are released after a media change. Unfortunately I couldn't locate a special GEMDOS call causing the flag error. Nevertheless the duo Fsfirst()-Fsnext() seems to create directory blocks with set flags. Thus GEMBOOT adds 300 directory blocks to the system memory and scans all directories to built up a complete directory tree (with set flags). Additionally GEMBOOT provides a 80 character path buffer for DESKTOP which may be modified by the program SETPATH. Last but not least it has a build in startup batch feature which uses a standard command shell without creating a "memory hole" in front of resident programs. A ramdisk installation program can be supplied with params within your startup batch procedure. I'm using GEMBOOT for a few months and have 200 directories on my hard disk without any problems. The program is based on the german ROM-TOS version, I don't know whether it works with the US version. If there are any problems, let me hear. Enjoy. Konrad A. Hahn Dept. of Computer Science @ Techn. University Darmstadt BITNET: XBR4D76H@DDATHD21 `&fPN N *O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNFX/,?,ND\?<N?<A?<NAXNuNV` nR lR nfN^NuNV=|B?< N \-@ | )@-@/.?< N \ ,fHl?< N \?<N TN nf,Hl"?< N \/.?< N \?<N T`bHl.N@X n /(N2XUn`$Hl6N X0.Rn n /NX0.SnJ@f lRB lBN^NuNV?.NT nn0<`?.?<>NX9@g0<`0<N^NuNVHl8/.NPJ@g`Hl>/.NPJ@gNHlD/.NPJ@g&H`0+ |g/ N*X A>"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NbP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ N@P'@&Bk0<LN^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`F ,$@ f*A>$H`0* |f` A>"Ҽm A>"Ҽm <`BBj Bn+H|+f =|j H|wf?./.N$\>j `hH|afB0<n?/.N\> @f?./.N\>?<B?NPj `0.n?/.N\>j Gf Bj <`05G Bj <$%@?<B?* NP%@5l< L N^NuNV)n/.NLX/. /.NLPN^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,A> H1| A> H1|Hl>HlJ/.N .g2AR H1| HlR0.gAL `AN //.N 0,R@H/?<HN\)@><`0A` 2 l RG0lm l 0, lBL N^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNh -@?<?.B?<BNN -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHlP/.NPJ@f =|`HlV/.NPJ@f =|`Hl\/.NPJ@f=|`f0. |g0/.NXJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@ @l0<`0. | ??.N~X0.N^Nu)I)J)_NA"l$l/,NuNVH0&n$n `RRgHHAgHHC`L N^NuNV/.?<AN\9@g0<``0<N^NuNV`4 nH| f?< ?<N\X nRH??<NDX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KAb-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NPTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@Nz 9@Hg0<`0,nBl0.L N^NuC>"2"2 2"2"2"22"2"2"22"2x9|<)|Nu pError: Cant't find Shellq DESKTOP PATH=;;CON:AUX:PRT:rawCON:AUX:PRT: .  tM..  tAUTO t NBLAST PRGt RAPARK PRGt c0README TXTt p|SUPBOOT PRGt u SUPFMT PRGt xSUPFMT RSCt SUPUTL PRGt ISUPUTL RSCt p V2-61 t .  tN..  tMSUPBOOT PRGt O ` LQWBLBfP`xSUPRA v2.600/ y|C2`0/ yC0`0/ yCEJ2k INANЈNu2/AB@03tAB@03vB0/ /f AAа#xB4/ g Bo4<"/g" Bo4<"9/g "A$oa$A3r/gByr 9nd 9R#n0/?9t?9v/ ?/9xfar`arJg6Syrj/f^0/H ?? yNXOL gfNu"/g/f $y"AaB0ѯչxo fBNu0@@S@QNuBNu < 5` <u0Sk 9fBNu"<ak3Nq3Nq3Nq3Nq#2<`@"< ahkN3Nq3Nq3Nq3Nq#2<aXk3Nq09|3NqJyBy>NuP>   3B0/H@#ak^/ 2/ H@0<#ak@/ H@0<#ak*/ H@0<#ak0/ H@0<#aNu <&yfT  g g $f6A0<CB 1| IQB W #W <'J9f//9?< NA\O ?</?<1NANuJ9fB?< NA\O#2<pAQ3 B# H33 D3 F?9 D?9 F/< T?</<aJ@f aaaTaRy F y FfJy FgRy3 FRy D y DfJyg>#r|#v#~+|&r+|6v+|F~+|`J9f/9?< NA\O? Mf8Jg2/a"J@k&H@/aXOLJ@f09 D"09 FL QNurA H@JgH GfB Ef< Mf6Jg0/a:"J@k&H@/aXOLJ@f09 D"09 FL QNuRy B y BlN"9 H# H 9€#09 BAEC2AGN2NupNu o/ ?9 D?9 F/< T?</a&_J@kdA Tp a\62B@( 66paH "HAJAgR@64pa062pa(A6AB64paBB2B( 66BNu?0I002Nu    J  "^&   ,  *< L D  `>P@}N N2*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhN$X/,?,N#\?<N)?<A?<NAXNuNV .2. Ё @ ( -@ n N^NuNV nA/ nA/?. /.N& .2. Ё @0( n1@ .2. Ё @0( n1@N^NuNVHn?. /.N ?.?.?.?.?.?. /.N&*N^NuNVHn?./.NL n fSnSnTnTn?.?.?.?.?.?. /.N%N^NuNV .2. Ё @=h 0.2.FAA".4. ҂ A1@ N^NuNV .2. Ё @=h 0.n".4. ҂ A1@ N^NuNV?<?. /.NPN^NuNV?<?. /.N\PN^NuNV .2. Ё @=h0.g0?./.N\ .2.Ё @=P0.n fN^NuNV .2. Ё @=h 0.ng0<`` 0<`N^NuNV .2. Ё @=h0.2.FAA".4. ҂ A1@N^NuNV .2. Ё @=h0.n".4. ҂ A1@N^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NjP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.gF .2.Ё @0( |g 0.`* .2.Ё @=P0.n f0<`N^NuNVHnHnHnHn/.N#n?.?.?.?.?.?.?.?.BgN"0.g.?.?.?.?.?.?.?.?.?<N"?.?.?.?.?<Bg/.N!?. /.N"Z\=@0.g.?.?.?.?.?.?.?.?.?<N"B?.?.?.?.?.?.?.?.?<N"0.`N^NuNV n0 nh? n 0 n h?N$|X=@ n0( nh? n 0( n h?N$NX=@ n? n ?N$TX=@ n?( n ?(N$:X=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg0.n^J|`N^NuNV n 0 n h? n0 nh?N#X=@ n 0( n h? n0( nh?N#X=@ n ? n?N#RX=@ n ?( n?(N#8X=@ n 0 n 1n0.n n 1@0.n n 1@N^NuNV n 0 nPl n0 n 0 n 0( nhl n0( n 1@ n 0 n h n2 nhAo n0 nh n h n 0 n 0( n h n2( nhAo" n0( nh n h n 1@N^NuNV0. n 2Ae^0. n 2(AeL n 0 n h=@0.nd. n 0( n h=@0. nd0<`` 0<`N^NuNV n0 n T 0 n0( n T 0 n0 nhS@ n T 0 n0( nhS@ n 0N^NuNV n0 n 0 n0( n 1@ n0( n 1@ n0( n 1@N^NuNVHn/. NRPHn?.?,N& PN^NuNV=n =lBn=n n =P n =h n =h n =hHn?<?,NNPN^NuNVB?<NF\?.?.?.?.?<?<?. ?. Nf?.?.?.?.?.N" =@B?<N\0.`N^NuNVB?<N\HnHnHnHn?<?.N?.NT?.?.?.?.?<?<?. ?. NB?<Nx\N^NuNVNNjNNNNJNBN^NuNVBn`80.Ab =@0.AjA 2.Ab Rn nmN^NuNVHnHnHnHnNBn`Z0.2.Az2|2.Az2AA2.Az00.2.A|2|2.A|2AA2.A|00.2.A~2|2.A~2AA2.A~00.2.A2|2.A2AA2.A00.Av =@0.Ap0`| g`|g`|g`"0.AvA/NX``2|g*`|g`|g`|g`6 ng$0.AA 2.Av ``|g`6 ng$0."AA 2.Av `R`|g`> ng$0.A A 2.Av ``` ``Rn n#mN^NuNVBn`N0.AA/NzX0.AA/NbX0.AA/NJXRn n mN^NuNVBn`0.AA/NXRn nmN^NuNV n g n A  n N^NuNVBn`N0."AA/NX0."AA/NX0."AA/NXRn nmN^NuNVBn`0.A A/N|XRn nmN^NuNVBn`0.AA/NXRn nmN^NuNV n g n HA A  n N^NuNV n g n A^  n N^NuNV` nRH??<?<N\ nfN^NuNV nA/NX?< ?<?<N\?< ?<?<N\N^NuNV=|'Bn nl0?<-?<?<Nl\ nl 0.D@`0.=@0.H=@0.f0.f nf0.|0??<?<N\Rn0.HH@=@0.H =@ nnN^NuNV nff?<NT)@?<NT)@?<NT9@Bn`&?X=@ n+g n=f" nRP0lf nBP=| `n n-g n_f( nSP0 @l0,S@ n0=| `4 nNg nnf lx=| ` n fBn n g~ n f 0<`4?NX9@g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ NbX A"Ҽm?.NT&_N^NuNV0.n l0.`0. N^NuNV0.n o0.`0. N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N\XBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gN0+ |f0<`n0+ |g?<B?+ NP?/+?+ NP @f0<`8k `$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN| -@?<?.B?<BNb -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A삜0nf0.A삜BPRn nLmN^NuNV?>.=|0A삜"HPgXHf0(>N^Nu)I)J)_NM"l$l/,Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNVH0&n$n >.`RRSG0ggHHAgHHC`L N^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^Nu)I)JHl)_|Hl|" <sNB"l$lNuNV)n)n .мZ)@9|dBl9| n 9PN n 0A)HA)HA)HA)HN^NuNV9|eBlBl9nNXN^NuNV9|BlBl9nN8N^NuNV)n 9n 9|9|9|9nNA)HN^NuNV9n 9|zBl9|9nNN^NuNV9|{BlBl9nNN^NuNV9n 9n Bn nR2.RnA|0f9|9|Sn0.9@9nN\N^NuNV`4 nH| f?< ?<NfX nRH??<NNX0. Sn J@fN^NuNV` nRH??<N X0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA<-H nf?./ N4\=n`R nf?./ N`\=n`4 nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`zRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N "0.HЁ=@9@Hg0<`Bl0.L N^NuCA"A"A"A"A."AH"Ab"Ad"Af"Ah"Aj"Al"An"Ap"Ar"At"Av"Ax"Az"A|"A~"A"A"A"A"A"A"A"A"A"A"A"A"A "A&"A("A*"A8"A:"A<"A\"A^"A`"A~"A"A"A"A"A"A"A"A"A"A"C"C " C"C"C"""22222222"""2222222%2"""2222222"2""" 2222222#2"!"""#22222222"$"%"&22222222"'"(")22222222"*"+",22222222"-"."/2222222!2"0"1"222222222"3"4"52222222 2Cj222222"222&2222222"2 222222222"2 222222222"2222222222"2222222222"222$2222222"2222222222"22222 22222"2 2222 22222" 22222 22222" 22222 22222" 22222 22222" 2222222222" 2222222222"2222222222"2 222222222"2222222222"2222222222"2222222222"2222222222"22 22222222"22 222222252"22 22222 222"222+2222222"2222222222"222%2222222"222!2222222"222"2222222"2222222222"22 2 2222222"22 222 22222"22 222 22222"22 2 22 22222" 222222222 2" 2222Cb""C\2CRBLAST.RSCCH1.2 9|9|C|22 222d2222X229|z9|xCnPath = C:9|l9|j)|`f)|Lb)|J^9|\C"2"2 2"2"2"22"2"2"22"2x9|NuPicture Blaster v____XXXXby Willie BrownShows .PIx and .NEO filesSelect drive(s) to searchCDEFGHIJKLMNOPOKABORTHELPOKSelect the Drives on which to searchfor pictures, then click on 'OK'. pauses on current picture. to change speed.While paused:<+> steps one picture forward. will toggle name display.<-> steps one picture backwards.Picture Blaster Instructions exits back to desktop. | ------PINEO------Total pictures to blast > [2][NO pictures were found|on selected drives!][ OK ][2][There is NOT enough|memory left!][ OK ][2][This program will ONLY|run off a hard disk!][ OK ][2][There was an error|reading the directory!][ OK ][2][Aborting picture blaster.][ OK ]CON:AUX:PRT: `.4N N)l*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNX/,?,N\?<N!?<A?<NAXNuNV .2. Ё @ ( -@ n N^NuNV nA/ nA/?. /.N .2. Ё @0( n1@ .2. Ё @0( n1@N^NuNVHn?. /.N ?.?.?.?.?.?. /.N.N^NuNVHn?./.NL n fSnSnTnTn?.?.?.?.?.?. /.NN^NuNV .2. Ё @=h 0.2.FAA".4. ҂ A1@ N^NuNV .2. Ё @=h 0.n".4. ҂ A1@ N^NuNV?<?. /.NPN^NuNV?<?. /.N\PN^NuNV .2. Ё @=h0.g0?./.N\ .2.Ё @=P0.n fN^NuNV .2. Ё @=h 0.ng0<`` 0<`N^NuNV .2. Ё @=h0.2.FAA".4. ҂ A1@N^NuNV .2. Ё @=h0.n".4. ҂ A1@N^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NjP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.gF .2.Ё @0( |g 0.`* .2.Ё @=P0.n f0<`N^NuNVHnHnHnHn/.NT?.?.?.?.?.?.?.?.BgN0.g.?.?.?.?.?.?.?.?.?<N?.?.?.?.?<Bg/.N?. /.N^\=@0.g.?.?.?.?.?.?.?.?.?<NF?.?.?.?.?.?.?.?.?<N0.`N^NuNV n0 nh? n 0 n h?NbX=@ n0( nh? n 0( n h?N4X=@ n? n ?N:X=@ n?( n ?(N X=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg0.n^J|`N^NuNV n 0 n h? n0 nh?NX=@ n 0( n h? n0( nh?NjX=@ n ? n?N8X=@ n ?( n?(NX=@ n 0 n 1n0.n n 1@0.n n 1@N^NuNV n 0 nPl n0 n 0 n 0( nhl n0( n 1@ n 0 n h n2 nhAo n0 nh n h n 0 n 0( n h n2( nhAo" n0( nh n h n 1@N^NuNV0. n 2Ae^0. n 2(AeL n 0 n h=@0.nd. n 0( n h=@0. nd0<`` 0<`N^NuNV n0 n T 0 n0( n T 0 n0 nhS@ n T 0 n0( nhS@ n 0N^NuNV n0 n 0 n0( n 1@ n0( n 1@ n0( n 1@N^NuNVHn/. NRPHn?.?,N*PN^NuNV=n =lBn=n n =P n =h n =h n =hHn?<?,NRPN^NuNVB?<N,\?.?.?.?.?<?<?. ?. NL?.?.?.?.?.N =@B?<N\0.`N^NuNVB?<N\HnHnHnHn?<?.N?.NT?.?.?.?.?<?<?. ?. NB?<N^\N^NuNVNNjNNNNJNBN^NuNVBn`80.A =@0.AA 2.A Rn nmN^NuNVHnHnHnHnNBn`Z0.2.A2|2.A2AA2.A00.2.A2|2.A2AA2.A00.2.A2|2.A2AA2.A00.2.A2|2.A2AA2.A00.A =@0.A0`| g`|g`|g`"0.AA/NX``2|g*`|g`|g`|g`6 ng$0.AA 2.A ``|g`6 ng$0."AjA 2.A `R`|g`> ng$0.AA 2.A ``` ``Rn n mN^NuNVBn`N0.AA/NzX0.AA/NbX0.AA/NJXRn nmN^NuNVBn`0.AA/NXRn nmN^NuNV n g n A  n N^NuNVBn`N0."AjA/NX0."AnA/NX0."ArA/NXRn nmN^NuNVBn`0.AA/N|XRn nmN^NuNVBn`0.AA/NXRn nmN^NuNV n g n HAA  n N^NuNV n g n A  n N^NuNVBn`Rn n(m` lH| @f 0<` .SJf0<`N^NuNV l0 l0 l0 l0 l0 | N^NuNV l /<YNZXBn` nP n n n0.Rn0.Sn0.nmN^NuNVBn`Rn nf`0.Rn n 0.n m nBN^NuNVB=|@ n o 0<`@0.|0 n0. |0 n@Hl nA/NFP?< nA/NR\?<?</,NPP?.?. NX=@ nfHl nA/NP?< nA/N\?<?</,NP?<?.?. BBgB/<N`=@0.gbHl nA/NP?< nA/N\?<?</,NP?<?.?. BBgB/<N=@0.gHl nA/N*P nA / .6.HЃ/NNP?< nA/N\?<?</,NP?.?. NX?.?. .6.HЃ/N,P=@ nf0.HѮ`0.H=@ nnN .g Bn`:Hl nA/N fP?< nA/Nr\?<?</,NpP0.`N^NuNV nH|0=@ n(H|0=@Hl nA/N P?< nA/N\?<?</,NP?<?.?.B?<B/<Nh=@?.?.N|X=@0<`N^NuNVN9@Bn`0.A0Rn n m=|HlHlHlHlNl9@9lHl HlHnN 9l lf 0<`(HlHlHlHl?<BgN0<`N^NuNVBnNFJ@gN ,)@BBgN\Hl?</,NN Hl?</,N: Hl?</,N& Hl?</,N Hl"?< /,N Hl6?< /,N ?<?</,NvP?<?</,NdP?<?< /,NRP?<?< /,N@P?<?< /,N.PHnHnHnHn/,N6?.?.?.?.BgBgBgBgBgN?< /,N\?.?.?.?.?<Bg/,NBn?.Bg0.AA/NP=@ nf~Bn`Rn nmRn?<0<n?/,N P?.?<0.AA/NfP=@ nfRn?<0<n?/,NPRn0. @mJ0.g?<0<n?/,NP?<?< /,NP?.?.?.?.?<Bg/,NBg/,N`\=@Bn`40.AA/N XBn`Rn nmRn0.nm?.?.?.?.BgBgBgBg?<N?,N TN:N^NuNu)I )J"/0<NB"l $lNu NV9n0.| A" AA-H=|` nR2.AH0Rn nm/,@N.X0,pN^NuNVA)HDA)HHA)HLAp)HPAd)HTA\)HXAD)H@?< NXT9lp0,N^NuNV?<NNX9@>g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ NbX A"Ҽm?.NT&_N^NuNV0.n l0.`0. N^NuNV0.n o0.`0. N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NbXBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gN0+ |f0<`n0+ |g?<B?+ NP?/+?+ NBP @f0<`8k `$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BNn -@ m .`?<?.B?<BND -@?<?.B?<BN* -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@>g <` `Bl> . N^NuNV/.?<INr\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I )J)_NA"l $l/,NuNV n "n fN^NuNVH0&n$K`Rf `L N^Nu)I )JHl)_Hl" <sNB"l $lNuNV)n)n .мZ)@9|dBl9| n 9PN n 0A)HA)HA)HA)HN^NuNV9|eBlBl9nNXN^NuNV)n 9n 9|9|9|9nN(A)HN^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NXX0. Sn J@fN^NuNV` nRH??<N*X0. Sn J@fN^NuNVH0&n $KA0-H nf?./ N4\=n`R nf?./ N`\=n`4 nf?./ Np\=n`-KBn?.NjTJ@f`H| f |o@ H-@/./.?.?<@NT 9@>Hg0<`0,>n/./<?.?<@N 9@> @g0<`zRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N "0.HЁ=@9@>Hg0<`Bl>0.L N^NuCA"A"A""A8"A<"AL"A^"A"A"A"A"A"A"A$"A6"AH"Ar"A"A"A"A"C"C" C"Cj"C"""22222222"""22222222)"" " 22222222)" " " 22222222)"""22222222)"""22222222)C222 222"222,2 222222"222!2222222"2222222222"2222222222"2 2222 22 222"222*2222222"222(2222222"222(22 22222"222(22 22222"222(2222222"222(222222'2"22 22C"C2CPARK.RSCC1.3)|>)|)|)|)|)| )| )| C"2"2 2"2"2"22"2"2"22"2x9|NuSupra Hard Disk PARK Utility___Version ___ (c)1987XXXby Willie Brown__ SCSI: _ LUN: _ STATUS: _______________99XXXXXXXXXXXXXXX__ SCSI: _ LUN: _ STATUS: _______________99XXXXXXXXXXXXXXX__ SCSI: _ LUN: _ STATUS: _______________99XXXXXXXXXXXXXXX__ SCSI: _ LUN: _ STATUS: _______________99XXXXXXXXXXXXXXX__ SCSI: _ LUN: _ STATUS: _______________99XXXXXXXXXXXXXXXABORTSearchingSCSI parkingOWL parkingParked @ FailedSCSI unparkingCON:AUX:PRT: /************************************************************************/ /* New programs and enhancements */ /* */ /* This version adds many new features. You can use up to 12 logical */ /* drives,autoboot from drive C,hookup multiple hard drives,and use a */ /* destructive or non-destructive mapping. Any Supra HD owner can get */ /* updates by contacting us via the following: */ /* 503-967-9075 main number 8-5 pst */ /* 503-967-9081 tech support 8-5 pst */ /* 503-926-1980 Supra BBS 24hrs 300/1200 */ /* CIS 76004,565 */ /* Delphi - Supratech */ /* We are active on CompuServe in the ATARI16 and ATARIDEV SIG sections */ /* We also have a Supra message base set aside for us on the ATARIDEV */ /* SIG on CompuServe. We are active on Delphi in the AtariForum SIG. */ /* */ /* */ /* Mark White */ /* Supra Corp */ /************************************************************************/ /************************************************************************/ /* SUPFMT.PRG */ /************************************************************************/ You can now format multiple hard drives by changing the SCSI and LUN number for the drive. If this is the only drive you are using then both should be 0. After you set the space for the 4th logical drive, you will be able to access the next 4 logical drives. You can page thru the selections by clicking on the arrows. NOTE: Atari currently is only supporting 4 logical drives. We are offering the 12 partitions as a service, Atari may or may not support this in the future. /************************************************************************/ /* SUPUTIL.PRG */ /************************************************************************/ ZERO: This allows you to zero a particular logical drive on your system. MAP: This allows you to map out the bad sectors at a TOS level of a particular logical drive. WARNING: 'DESTRUCTIVE' maps by reading and writing to ALL sectors on the logical drive, so you will LOSE ALL DATA on that drive. NON-DESTRUCTIVE only accesses those sectors not currently being used. BOOT: This allows you to enable or disable autobooting from your hard drive. A system file called SUPBOOT.SYS will be written to drive C. This takes the place of the SUPBOOT.PRG file which has been in your floppy AUTO folder. You will not see the file from the desktop, but other programs may allow you access to the file. DO NOT DELETE this file. SUPBOOT.PRG must be in the AUTO folder on floppy A: to allow this option to correctly setup your hard disk drive. /************************************************************************/ /* PARK.PRG */ /************************************************************************/ Has been modified to allow parking of multiple hard drives. /************************************************************************/ /* BLAST.PRG */ /************************************************************************/ This program allows you to view Degas or Neocrome pictures very fast from your hard drive. /************************************************************************/ /* AUTOBOOTING */ /************************************************************************/ Autobooting allows you to boot from your hard drive without a floppy. If you enable autobooting and you only have the SUPBOOT.PRG in your floppy AUTO folder you will not need to move the AUTO folder to drive C. If you have other programs which are run from a AUTO folder, than move the folder to drive C and delete SUPBOOT.PRG. If you do not want to execute the boot from the hard drive, hold down the keys when booting. This will abort the hard drive boot and boot normally from the floppy. WARNING: DO NOT place SUPBOOT.PRG in the AUTO folder on drive C:. NOTE: If you do not have the floppy connected when autobooting the hard disk you will not be able to access the floppy.` LQWBLBfP`xSUPRA v2.600/ y|C2`0/ yC0`0/ yCEJ2k INANЈNu2/AB@03tAB@03vB0/ /f AAа#xB4/ g Bo4<"/g" Bo4<"9/g "A$oa$A3r/gByr 9nd 9R#n0/?9t?9v/ ?/9xfar`arJg6Syrj/f^0/H ?? yNXOL gfNu"/g/f $y"AaB0ѯչxo fBNu0@@S@QNuBNu < 5` <u0Sk 9fBNu"<ak3Nq3Nq3Nq3Nq#2<`@"< ahkN3Nq3Nq3Nq3Nq#2<aXk3Nq09|3NqJyBy>NuP>   3B0/H@#ak^/ 2/ H@0<#ak@/ H@0<#ak*/ H@0<#ak0/ H@0<#aNu <&yfT  g g $f6A0<CB 1| IQB W #W <'J9f//9?< NA\O ?</?<1NANuJ9fB?< NA\O#2<pAQ3 B# H33 D3 F?9 D?9 F/< T?</<aJ@f aaaTaRy F y FfJy FgRy3 FRy D y DfJyg>#r|#v#~+|&r+|6v+|F~+|`J9f/9?< NA\O? Mf8Jg2/a"J@k&H@/aXOLJ@f09 D"09 FL QNurA H@JgH GfB Ef< Mf6Jg0/a:"J@k&H@/aXOLJ@f09 D"09 FL QNuRy B y BlN"9 H# H 9€#09 BAEC2AGN2NupNu o/ ?9 D?9 F/< T?</a&_J@kdA Tp a\62B@( 66paH "HAJAgR@64pa062pa(A6AB64paBB2B( 66BNu?0I002Nu    J  "^&   ,  *< L D  `}0>N Nr*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN lHhNaX/,?,N`\?<Ng?<A?<NAXNuNV .2. Ё @ ( -@ n N^NuNV nA/ nA/?. /.Nc .2. Ё @0( n1@ .2. Ё @0( n1@N^NuNVHn?. /.N ?.?.?.?.?.?. /.Nc6N^NuNVHn?./.NL n fSnSnTnTn?.?.?.?.?.?. /.NbN^NuNV .2. Ё @=h 0.2.FAA".4. ҂ A1@ N^NuNV .2. Ё @=h 0.n".4. ҂ A1@ N^NuNV?<?. /.NPN^NuNV?<?. /.N\PN^NuNV .2. Ё @=h0.g0?./.N\ .2.Ё @=P0.n fN^NuNV .2. Ё @=h 0.ng0<`` 0<`N^NuNV .2. Ё @=h0.2.FAA".4. ҂ A1@N^NuNV .2. Ё @=h0.n".4. ҂ A1@N^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.g4?<?./.NjP .2.Ё @=P0.n fN^NuNV .2. Ё @=h0.gF .2.Ё @0( |g 0.`* .2.Ё @=P0.n f0<`N^NuNVHnHnHnHn/.N`z?.?.?.?.?.?.?.?.BgN_0.g.?.?.?.?.?.?.?.?.?<N_?.?.?.?.?<Bg/.N_?. /.N_f\=@0.g.?.?.?.?.?.?.?.?.?<N_N?.?.?.?.?.?.?.?.?<N_"0.`N^NuNV n0 nh? n 0 n h?Nb\X=@ n0( nh? n 0( n h?Nb.X=@ n? n ?Nb4X=@ n?( n ?(NbX=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg0.n^J|`N^NuNV n 0 n h? n0 nh?NaX=@ n 0( n h? n0( nh?NadX=@ n ? n?Na2X=@ n ?( n?(NaX=@ n 0 n 1n0.n n 1@0.n n 1@N^NuNV n 0 nPl n0 n 0 n 0( nhl n0( n 1@ n 0 n h n2 nhAo n0 nh n h n 0 n 0( n h n2( nhAo" n0( nh n h n 1@N^NuNV0. n 2Ae^0. n 2(AeL n 0 n h=@0.nd. n 0( n h=@0. nd0<`` 0<`N^NuNV n0 n T 0 n0( n T 0 n0 nhS@ n T 0 n0( nhS@ n 0N^NuNV n0 n 0 n0( n 1@ n0( n 1@ n0( n 1@N^NuNVHn/. NRPHn?.?,NePN^NuNV=n =lNBn=n n =P n =h n =h n =hHn?<?,NNZZPN^NuNVB?<N\\?.?.?.?.?<?<?. ?. N[?.?.?.?.?.N\ =@B?<N\T\0.`N^NuNVB?<N\8\HnHnHnHn?<?.N\?.N\T?.?.?.?.?<?<?. ?. N[pB?<N[\N^NuNV`0.SnJ@fN^NuNV/.NaX @gt` n0 nB(/.NaX=@ @m nH|0f n n(H| f n n@ n nA/NbXH-@ ./ </N^| -@ n N^NuNV ./ </N] X-@ o/. /.NP/. N`X @f n  n @ n 0 n B(`<0.R@=@` n ( n Sn nf n  /. N`LX=@nm`* nf?.Hl/. N_ ` n BN^NuNV0<=@/.N_XS@=@`> nP n n n0.Rn0.Sn0.nmN^NuNV0.=@ @l nl 0.D@`0.=@Bn0.H H@|02.Rn n 0.H =@ @n nl0.Rn n - n B/. NXN^NuNVBn ./ < /N[X м02.Rn n  ./ < /N[ X-@ n n B/. NXN^NuNV nRH=@ n9o_n0.|@=@ nH=@ n9o_n0.|n0.`N^NuNV nH|g n H|f 0<`H`( nR n R HHAg 0<` ng n f0<`N^NuNV?,N`^TNU2N^NuNVNT9@NBn`0.A0Rn n m=|HlHlHlHlNW$9@9lHlPHlHnN_ 9l lf 0<`vHl&Hl(Hl*Hl,?<BgNW?<N\lT @fHl?<NUz\0<`0HlLNWXJ@fHlX?<NUT\0<` 0<`N^NuNV=|-|Bn`~ no0.A f`d0.A Ѯ nf:?.0.A/N<\=@ ng0.AB`Rn n m| ,-@ lv nf"Hn?<?<NVP/.?<NT^\BBBn`20.A o0.A-P=nRn n m?<Hl/.Nt 0.`N^NuNV0,AHH2,A~2¼/ /NX 2,=| ?<dNT?,?,/,?. /.N|=@0.gBn 0. `N^NuNV n"n 4.SB "V=B nfBn0.`N^NuNVBn?</.N>\=@0.g?,?,/. ?./.N=@ nf?./.N\=@0.g?./,/. NP =@ nf^?,?,/.?./.N=@ nf4?./.N\=@0.g?./,/.N =@0.g0.H=@0.`N^NuNV . -@ nft .-@?,?,Hn/.N =@Bn`&A2,XAn nRn nmRl0,H n `0 nf&Rl0,H n 0, n  ldo HlN:lXN^NuNV n / </NH X=@=|`F0. n-P0. n 2. n 0. n RnSn0.nmN^NuNV/<?<HNK \)@/<?<HNJ\-@/<?<HNJ\-@/.N6X/.N~XHn?<BgNFPHn?</.N Hn?</.N Hn?</.N޾ Hn/,NPHnHnHnHn/.NC|?.?.?.?.BgBgBgBgBgNB?.?.?.?.?<Bg/.NBFBnBHn?.N\Bg?</.N޲P`Hn/.NHPBg?</.NސP/././.NJ =@ nfD?. /. .R/N( HnRn0.?NJ\Bg?</.N0P` 0.HѮ .ְmj?.?.?.?.BgBgBgBg?<NA/,?<INI\/.?<INI\/.?<INI\0.`N^NuNVBn`ABRn n m0,A~0H|@0,A~0|@0,A@0,A0H|@0,A0|@0,A0H|@0,A0|@| ?,?,HnNtP=@ nf2?<NT?,?,0,\`4Hn?,?,/<0,`|g`.Hn?.?.?.?./.NB=@``?.?.?.?.BgBgBgBg?<N0x0.`N^NuNV nfrN @oHn?<?<N2P`Hn?<?<N2P/.?<N0b\=@ nf 0<`|N,=@0.g 0<`d n"f6HnBg?<N2vP/.?<N0 \=@ nf 0<`&N=@0.g0<`` 0<`N^NuNVBn`Rn n(m` lH| @f 0<` .SJf0<`N^NuNV l0 l0 l0 l 0 l0 | N^NuNV l /<YNZXBn`A/0.AXA/N-PRn n mN^NuNVHnBgBgN(PHl?</.Np Hl?</.N\ Hl?</.NH Hl?</.N4 Hl?</.N Hl?</.N Hl?</.N Hl?</.N Hl?</.N Hl?</.N Hl^?<!/.N Hlr?< /.N HlZ?<$/.N N^NuNVHnBgBgN'P?./.N\[nBn`J0.2.ADHAf,=n0.ABH?NlT @f`Rn n m0.ACH9@0.ABH9@N^NuNVHnBgBgN&P?</.N\Bn`>0.2.ACHAf 0. 2.ABHAf`Rn n m n o=| 0.ADH=@0.Z@?/.N\0.`N^NuNVHlN-X2.AHlN,X2.A~0HlN,X2.A0HlN,X2.A0HlN,X2.AHlN,X2.AN^NuNVHlN,rX2.A/Hl^N"ZP0,AnA/HlrN">PN4BgNT?.?.?.?.BgBgBgBg?<NN^NuNVBn`0.ABRn n mBn`80.|C2.A0.AB0.ABRn nmN^NuNVBn`X0.AH|C=@ nm2 n l(0.AA/0.AA/NPRn nmN^NuNVHnBgBgN\P?<?</.NP?<?</.NtP?<?</.NbP?<?</.NPP?<?</.N>P?<?</.N,PBn`P0.AB0.n @ l 0.n|C2.A`0.ABRn nm?<Hl0.A/N 0.RnA g ,g?<Hl0.A/NN ?<?</.N"P?<?</.NP0.RnA g,g?<Hl0.A/N ?<?</.NP?<?</.NP0.RnA gL,gD?<Hl0.A/N ?<?</.NbP?<?</.NPPN^NuNV=| m oNHn?<BgNPHn?</.N 0. |C@B.?</.Nz\HnHnHnHn/.N?.?.?.?.BgBgBgBgBgN ?.?.?.?.?<Bg/.N\Bg/.N\?.?.?.?.BgBgBgBg?<NHnBgBgNLP?<BgHnHnHnHn/.N?.?.?.?.BgBgBgBgBgNf?.?.?.?.?<Bg/.N=n 0.`N^NuNV=|?<?</.NPJ@g=|?<?</.NPJ@g=|?<?</.NzPJ@g=|0.`N^NuNVBn`0.RnA f n o=| 0.`N^NuNVN=@ nnHlHlNP`HlHlNP n0(&H n1@> n0(> nh&o n0(& n1@> n0(>H=@ n0(:2.HAH n1@: n0(: nh>=@0. nh&n n0(&nnl n0(& nh: n1@> n0(:H=@ no=| n o0. nh&lp n f n0(:n1@:`N n0(> n2(&nAm n0(& nh> n1@:` n2(> n0(:A1@:`h n l^0.gV n f n0(:n1@:`8 n0(> nh:m nBh:` n2(> n0(:A1@: n0(:2.HAH n1@: n0(: nh>=@0. nh&n n0(&nnl n0(& nh: n1@> n0(:H=@0.`N^NuNVHnHnHnHnNHnHn?</.N`0.nl? n?(A/Hl^NP0,AnA/HlrNPBg?<!/. NTPBg?< /. NDPNBg/. N\BgN^TNvBgN$T``|!g`| g`N``|$g`.N=@HlZ?,N\Hl[?,N\`^`b|gZ`|gN`|gB`|g6`|g*`|g`|g`|g`D?<?./. NP @f"Bg/. N\=@ nf=n``|g`?</. NV\=@``|g`?\?</.N0\?,?,NXN@BgNTBg/.NX\?NTHlZ?,N\Hl[?,N\B,\0,A/Hl^NP0,AnA/HlrNP?<BgHnHnHnHn/.N?.?.?.?.BgBgBgBgBgN 4?.?.?.?.?<Bg/.N /.NX=@?./.N \|=@/.?.N\=@ n g n!g n$f(?.?.?.?.?<Bg/.N `?<?< /.NP n%g ng n"g n$f\?.?.?.?.BgBgBgBg?<N :0.`N^NuNVHn?<BgNPHn?</.N Hn?</.Np Hn?</.N\ ?</.N\B.0,.H|@@H-@.H@HѮ.HHѮHn/.N0.g HlNXNN^NuNu)I4)J0"/0<NB"l4$l0Nu NV9n0.| A" AA-H=|` nR2.AH0Rn nm/,jN.X0,N^NuNVA)HnA)HrA)HvA)HzA)H~A)HAn)Hj?< NXT9lN0,NN^NuNV?<NTN^NuNV9n9n ?<hN T n 0 n0 n0 n00,N^NuNV)n?<nNTN^NuNV9n9n 9|?<pNTBl n 0,N^NuNV?.NT nn0<`?.?<>NBX9@hg0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ NbX A"Ҽm?.NT&_N^NuNV0.n l0.`0. N^NuNV0.n o0.`0. N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gN0+ |f0<`n0+ |g?<B?+ N>P?/+?+ NP @f0<`8k `$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@hg <` `Blh . N^NuNV/.?<IN\N^NuNVBn`&0.A80nf0.A8BPRn nLmN^NuNV?>.=|0A8"HPgXHf0(>N^Nu)I4)J0)_,NN"l4$l0/,,Nu)I4)J0)_,NA"l4$l0/,,NuNV n "n fN^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV n R @H=@` n R @H=@ n g n g n g0.N^NuNV=| nxg nXf n f0<`f n0m n9n0.|0=@`2 nam0.|a| =@` nAm0.|A| =@0.n o0<``0.N^NuNVBnBHnNX=@ n-f0<=@ nRH=@`0 ./0.H/N 6.HЃ-@ nRH=@?.?.NX=@ @f g n 0.g .D` .N^NuNV?< /</.N@ N^NuNV?< /</.N" HN^Nu)I4)J0Hl)_Hl" <sNB"l4$l0NuNV9n @BlB9|9|Bl9nN0,N^NuNV)n)n$ .мZ)@(9|dBl9| n 9PNp n 0A@)HA)H$A)H(A@)H N^NuNV9|eBlBl9nN(N^NuNV)n 9n @9|9|9|9nNA@)H N^NuNV9n @9n BBn nR2.RnA@|0f9|9|Sn0.9@9nNN^NuNV)n 9| 9|Bl9|9nNfA@)H N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NdX0. Sn J@fN^NuNVH0&n $KA:-H nf?./ N4\=n`R nf?./ N`\=n`4 nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@hHg0<`0,hn/./<?.?<@NX 9@h @g0<`zRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N "0.HЁ=@9@hHg0<`Blh0.L N^NuC>  Xebec S1410  22R2222R2    Seagate    22R2222  RSEAGATE 2    Rodime     "22R2222RRODIME  RO6522  MiniScribe   22R2222(RMINSCRIB    M84252 Adaptec 4000  22R2222 R2 Adaptec 4070  22R2222 R2   OMTI 5320   22R2222 ROMTI3520 2   OMTI 5327   22R2222ROMTI3527 2     Other     22R2222R2Cn   Xebec 4000  22R22 Seagate ST225 2gR2,2, Rodime RO652  22R2323MiniScribe 84252dR2d2d  Tulin TL226  2R22  Tulin TL240  2R22  Tandon 755   2R22     Other     2R22CBC"Supra2.5C212c212c29|)|>)|)| )|)|)| )| )| C"2"2 2"2"2"22"2"2"22"2x9|Nu 000[3][ERROR!! SUPRA FORMATTER|can not run in|LOW resolution mode.][OK]SUPFMT.RSC[3][ERROR!! Unable to find the file SUPFMT.RSC.][OK][3][Too many bad sectors|Hard disk is unusable][ OK ]offYES NO NOYESStandardExtended Supra Hard Disk Formatter v2.61 By Willie Brown Mark White (c)1986,1987 Supra Corporation [3][Hard Drive is Ready.][ OK ][3][System will reboot!][ OK ]CON:AUX:PRT:  $ N| 8Hard Disk TypeHard Disk TypePartitions (MB) Supra 10 MB Supra 20 MB Supra 20 (3.5) Supra 30 MB Supra 45 MB Supra 60 MBOther_______________XXXXXXXXXXXXXXX________XXXXXXXX_Disk _X______.__9999______.__9999______.__9999______.__9999_Disk _X_Disk _X_Disk _X---------------_____Excess ___.__99999CALCULATEFORMATController type_______________XXXXXXXXXXXXXXXZERODrive NumberSCSI: _ LUN: _99EXIT*** Hard Disk ERROR!! ***0Class _900 Code __99 Address ________XXXXXXXXOKWAIT...Formatting the Hard Disk. Mapping out ___ bad sectors.999WAIT..Zeroing the Hard Disk directories.All partitions must be in therange of 0.13 MB to 16.25 MB._Partition _ is out of range.9OK*** ERROR!! ***DMA device is not responding.A valid DMA device must bepresent to proceed.Current DMA numbers are:SCSI: _ LUN: _99RETRYSELECTCANCELHard disk typeSpecificationsController type_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX00Heads..............__990000Cylinders........____999900Sectors per track..__9900Interleave.........__990000Reduced write....____99990000Write pre-comp...____99990000Landing Zone.....____999900Step pulse rate....__99___Map bad sectors?..___XXX00Reserved tracks....__99_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXX_______________XXXXXXXXXXXXXXXCANCEL OK Searching for bad sectors.000000Current sector: ______999999000000Total to check: ______999999000Bad sectors: ___999Select New DMA numbers.(Range - 0 to 7)_SCSI Device number: _9_Logical Unit Number: _9 OK CANCEL OK 00SCSI: _ LUN: _99Hard Disk Unit is ready![3][ *** WARNING!! ***|Proceeding will ZERO all of|the Hard Disk directories.][ CANCEL | ZERO ][3][ *** WARNING!! ***|You have allocated more|megabytes than are available.][ OK ][3][ *** WARNING!! ***| Standard Partitions|Proceeding will FORMAT and| ERASE all information on| the Hard Disk drive.][ CANCEL | FORMAT ][0][ *** WARNING!! ***| ** EXTENDED Partitions **|Proceeding will FORMAT and| ERASE all information on| the Hard Disk drive.][ CANCEL | FORMAT ]y||| uܼ7_g $ N    &+-468?ACJ\bq   .:[\!]a~)  .>?O_`p"8;>TW\rw|  ./?OP`pq&]d{8;K%G $3B(   Rap      @ ( @@ $@ @@ \@ x@ @A@@ @ @ L @w @ ; !"@ #; $ %@ <5; (  X t    77(  ( . (*    8 ' =X l T   7 #C0    p         4 @P@l@@@@@@@0  @L"!0 h !,H#6 5=% ' Bd '   7&   , -./0%1%6 7   N  ,L$`FfN N0.`N^NuNV n0 nh? n 0 n h?N-X=@ n0( nh? n 0( n h?N-X=@ n? n ?N-X=@ n?( n ?(N-X=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg0.n^J|`N^NuNV n 0 n h? n0 nh?N-&X=@ n 0( n h? n0( nh?N,X=@ n ? n?N,X=@ n ?( n?(N,X=@ n 0 n 1n0.n n 1@0.n n 1@N^NuNV n 0 nPl n0 n 0 n 0( nhl n0( n 1@ n 0 n h n2 nhAo n0 nh n h n 0 n 0( n h n2( nhAo" n0( nh n h n 1@N^NuNV0. n 2Ae^0. n 2(AeL n 0 n h=@0.nd. n 0( n h=@0. nd0<`` 0<`N^NuNV n0 n T 0 n0( n T 0 n0 nhS@ n T 0 n0( nhS@ n 0N^NuNV n0 n 0 n0( n 1@ n0( n 1@ n0( n 1@N^NuNVHn/. NRPHn?.?,N/nPN^NuNV=n =lNBn=n n =P n =h n =h n =hHn?<?,NN&XPN^NuNVB?<N(n\?.?.?.?.?<?<?. ?. N'?.?.?.?.?.N(J =@B?<N(\0.`N^NuNVB?<N'\HnHnHnHn?<?.N(F?.N("T?.?.?.?.?<?<?. ?. N'6B?<N'\N^NuNVA-H .`` aNk 8T@do o o =|=|=|=o=| aN/aF/a>/a60/a.-| 0<a*=|0.|=|Q>JNuH@0<-@p и.tgdJp`BNuwbN^NuNV0<=@/.N)XS@=@`> nP n n n0.Rn0.Sn0.nmN^NuNV0.=@ @l nl 0.D@`0.=@Bn0.H H@|02.Rn n 0.H =@ @n nl0.Rn n - n B/. NXN^NuNVBn ./ < /N%X м02.Rn n  ./ < /N% X-@ n n B/. NXN^NuNV nRH=@ n9o_n0.|@=@ nH=@ n9o_n0.|n0.`N^NuNV/./././. /.N!22, n0(A1@2, n0(A1@ n0( n 0 n0( n0 n0( n0 n0( n0N^NuNV?,N(&TNjN^NuNVN 9@NBn`0.A0Rn n m=|HlHlHlHlN!$9@9lHlPHlHnN'L 9l lf 0<`vHl&Hl(Hl*Hl,?<BgN!l?<N%T @fHl?<N\0<`0HlFN!zXJ@fHlR?<N\0<` 0<`N^NuNV/<?<HN%\-@ .-@Bn`0. nBRn nm?.?<N%,X-@ .gn n=h n2( nh0.A=@`6?.?.?</.?<?<N$=@0.g`Pn0.nm0.`N^NuNVBn`0.| nRRn nmN^NuNV n"n 4.SB "V=B nfBn0.`N^NuNV?. ?<N$*X-@ n=h n=h ?. ?.?./.Bg?<N#=@0.`N^NuNV?. ?<N#X-@ n=h n=h 0.n=@?. ?.?./.?<?<N#=@ nf&?. ?.?./.?<?<N#b=@0.`N^NuNV?.?<N#>X-@ n=h n=h n0(n=@/<?<HN#:\-@/<?<HN#&\-@/.NN XBn`=nBn`F n H|f2?< nA/AvA/N @m 0<`B0.RnAv2.Rn n HHAgRn nmx0<`N^NuNV n A -@ n-P .м/?<HNR\-@Bg nA/?<=N:P=@ nm/./.?.?<?N =@?.?<>NX nmL?<Hl?<NX noBn0.`N^NuNV~BnHn~?<N~\Hl?<;Np\JgHlH?<N<\0<`4?<Hl?<NNBP f$HlHlHlN @f=| nf?<Hl?<NNPJgHl?<N\0<`HlHlHlN^ J@gHl?<N\0<`Hn~HlN"PJ@gHl?<Nl\0<`d?<?<Hl?<CNn N @f*?<NT @fHl?<N \0<`HlR?<N \0<`N^NuNVHn?<BgNP?</.N߬\?</.Nߞ\?</.Nߪ\?</.N\ n A/?</.Nݶ ?< NxT-@Bn`6 .g?<0<n?/.NޚP .-@Rn nm?<BgHnHnHnHn/.N?.?.?.?.BgBgBgBgBgN ?.?.?.?.?<Bg/.N Bg/.N l\|=@?.?.?.?.BgBgBgBg?<N `Bn`>?<0<n?/.NPJ@gA` ABRn nm?.0.T@??.?.?<Bg/.N `0.`N^NuNVHl$/.NP=@ nfHl?<N \=@ nfdHn?<BgNPHn?</.N HnHnHnHn/.N ?.?.?.?.BgBgBgBgBgN BBnBn`vAH|fR0<Cn@B.?.?.?.?.?<Bg/.N d0.T@?NT=@Bg?<N &X0.g`Rn nm?.?.?.?.BgBgBgBg?<N 0.T@?0.T@??.?.?<Bg/.N 0.gHl?<N \`Hl?<N \N^NuNVBn`B?<0<n?/.NP0.AA/0<n?/.NX Rn nmN^NuNV n f Bl`Hn?.Nh\`4=n`AASn nl| HnNhX=@ @m.H|0f| .H|0f| 0. |A@B.Hn0,AA/NP?<0<l?/.NPRlN^NuNVHlD/.N>P=@ nfHn?<BgN P?</.N\?</.N\?</.N\?</.Nژ\HnHnHnHn/.N ?.?.?.?.BgBgBgBgBgN ^?.?.?.?.?<Bg/.NBg/.N \=@?<?</.NڞPJ@g =|`Bn?.?.?.?.BgBgBgBg?<N?.0.T@??.?.?<Bg/.N0 nfHn?<BgN P?</.N٪\/.NPXHnHnHnHn/.N?.?.?.?.BgBgBgBgBgNL?.?.?.?.?<Bg/.NBgBg/.N`|g`/.NX` `|g`/.NX` nf\?.?.?.?.BgBgBgBg?<Nd0.`N^NuNVB?<N\=lHlx0.??<?,N N Hl0.??<?,N 0 Hl0.??<?,N  Hl0.??<?,N Hl0.??<?,N Hl,0.??<?,N ?<?,N X=|Bn=|0.=@Hn?,N \B?<N\N^NuNVNJ@gBBgN\NNNN^NuNu)I~)Jz"/0<NB"l~$lzNu NV9n60.| A" AA-H=|` nR2.A6H0Rn nm/,N.X0,N^NuNVA6)HA)HA)HA)HA)HA)HA)H?< NXT9lN0,NN^NuNV?<N?<pN*TBl> n 0,N^NuNV?.NlT nn0<`?.?<>NX9@g0<`0<N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ NbX A"Ҽm?.NT&_N^NuNV0.n l0.`0. N^NuNV0.n o0.`0. N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NbXBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gN0+ |f0<`n0+ |g?<B?+ NP?/+?+ NP @f0<`8k `$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN| -@?<?.B?<BNb -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I~)Jz)_vNM"l~$lz/,vNu)I~)Jz)_vNN"l~$lz/,vNu)I~)Jz)_vNA"l~$lz/,vNuNVH0&n$n >.`RRSG0ggHHAgHHC`L N^NuNV n "n fN^NuNVH0&n$K`Rf `L N^Nu)I~)JzHl)_bHlb" <sNB"l~$lzNuNV9n @BlB9|9|Bl9nN0,N^NuNV)nf)nn .мZ)@r9|dBl9| n 9PNp n 0A@)HfA)HnA)HrA@)HjN^NuNV9|eBlBl9nN(N^NuNV)n j9n @9|9|9|9nNA@)HjN^NuNV9n @9n BBn nR2.RnA@|0f9|9|Sn0.9@9nNN^NuNV)n j9| 9|Bl9|9nNfA@)HjN^NuNV`4 nH| f?< ?<NX nRH??<NvX0. Sn J@fN^NuNV` nRH??<NHX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KAb-H nf?./ N4\=n`R nf?./ N`\=n`4 nf?./ Np\=n`-KBn?.N"TJ@f`H| f |o@ H-@/./.?.?<@ND 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`zRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N "0.HЁ=@9@Hg0<`Bl0.L N^NuC[0][Hard disk self-boot|disabled.][ OK ]Cn[2][Hard disk error while|writing boot sector!][ OK ]CH[0][Drive 'C' not responding!][ OK ]C[0]['SUPBOOT' not found|on disk drives.][ OK ]C[0][Incorrect version|of 'SUPBOOT' found.][ OK ]C[0][Copying of 'SUPBOOT'|to hard disk failed.][ OK ]C[0][Hard disk self-boot|enabled.][ OK ]CR[2][Hard disk error while|writing boot sector!][ OK ]C[2][Do you really want|to zero the directorys?][ OK |CANCEL]C[0][Directorys are zeroed| ][ OK ]C[2][Hard disk error while|zeroing directorys!][ OK ]9|C[2][Hard disk error while|mapping hard disk!][ OK ]C@[2][Bad sector in|Directory or FAT area!|Partition unusable][ OK ]C"2"2 2"2"2"22"2"2"22"2x9|Nu[3][ERROR!! SUPRA UTILITIES|can not run in|LOW resolution mode.][OK]SUPUTL.RSC[3][ERROR!! Unable to find the file SUPUTL.RSC.][OK]C:\SUPBOOT.SYSC:\C:\SUPBOOT.SYSC:\SUPBOOT.SYSSUPRA v2.60A:\AUTO\SUPBOOT.PRGA:\AUTO\SUPBOOT.PRGSUPRA v2.60A:\AUTO\SUPBOOT.PRGC:\SUPBOOT.SYS Choose Directorys to Zero Choose Directorys to Map Bad Enabled Disabled Supra Hard Disk Utilities v2.1 By Willie Brown (c)1986,87 Supra Corporation CON:AUX:PRT: ,,$ PC pZEROZero a specific directorysMAPMap out bad sectors in a directoryBOOTEnable/Disable hard disk self boot QUIT Return to desktopHard disk self boot option.Current Mode: ________XXXXXXXXEnableDisableCANCEL____________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDrive CDrive DDrive EDrive FDrive GDrive HDrive IDrive JDrive KDrive LDrive MDrive NDrive ODrive POKCANCELZeroing directory _XMapping hard disk drive _XTotal sectors ______999999Testing sector ______999999Bad clusters ___999___ Bad clusters on Drive _999X___ Bad clusters on Drive _999X___ Bad clusters on Drive _999X___ Bad clusters on Drive _999X___ Bad clusters on Drive _999X___ Bad clusters on Drive _999XOKAn Error occurred during OK a write to drive _.XSector Map options DESTRUCTIVE All data WILL be destroyed. NON-DESTRUCT Data will NOT be destroyed. OK CANCEL[3][Bad sectors found in the|directory or FAT areas.|Partition may be Un-usable!][ OK ][3][The file 'SUPBOOT.PRG' could|not be found on floppy drive A.|Please insert correct diskette.][ OK ]s>>>>>>>>>?|?|?|??????+ % './EIJfkl=>RTghx5 $)DH"kp"   ( ,7* H&DL T\d l  t |     7  d  !  (D`|'   - 1234$; <( -  i'p 8 h . % t.. % tCHANGES DOC&t TRAMDDS MAN)t TRAMDDS PRG,t TRAMDSS MAN/t TRAMDSS PRG2t TTLEXEC MAN4t TTLEXEC TTP8t cTURTLE DOC@t MTURTLE PRGFt {TURTLE RSCMt 2GEMSOFT Rt  TURTLE Version 2.8 This document outlines the eleven changes and/or corrections made in this release of TURTLE, the hard disk backup utility. It also includes some hints, and answers to common questions. A notice has been added to the "About TURTLE" dialog box stating that the program is public domain. TURTLE may not be sold. <<<< New Features >>>> File Dates Previously, the dates on the files written during backup were the date and time of the backup. TURTLE now stamps the copy of the file with the same date and time as the original file. Menu Checks TURTLE now checks off items in the Desktop menu as they are selected. Files Only Option There is a new option available, to cause a backup of the files in a particular path, without allowing TURTLE to enter the folders in that path. Only the files in the named path are copied. Folders in that path are not entered. Graceful Termination A new key is supported during the file copying, "T" for terminate. When the terminate key is pressed, TURTLE acknowledges a termination request. It will write the requested number of copies of the current disk, then exit. If archive bits were being set, all files copied will be properly marked as archived, and files not yet copied will be left unmarked. <<<< Corrections to Known Problems >>>> Partial Disk Writing TURTLE is designed to not write unused portions of backup disks. It will format the entire disk if formatting was requested. An error in computing the proper number of tracks to copy on output disks was corrected. Archive Option TURTLE supports use of the GEMDOS Archive bit. It defaulted to setting the bit on all files copied. It could be instructed to leave the bit unchanged by a dialog box. If the dialog box was used to select the set Archive bit option, the bit was not set. This also impacted the Incremental backup option. This error was corrected. Incremental Option When the error in the Archive option mentioned above was triggered by selecting the Set Archive Bit dialog, the Incremental backup option was adversly affected. This error has been corrected. Lower Case Path Names Path names entered in lower case which also contained characters other than letters were not always converted to upper case before processing began. This error has been corrected. Drive Specifier When a drive specifier was entered with no trailing colon, TURTLE failed to recognize it (e.g. "d" would not work). TURTLE now adds a colon to the path if the path is found to be only one byte long. Status Display When formatting was chosen, and the last disk written had more tracks to be formatted than written, the status portion of the display was incorrect while the tracks which were not to be written to were being formatted. This error has been corrected. Files Larger Than the RAMdisk When TURTLE encountered a single file larger than the RAMdisk, it would go into an endless loop, requesting a new disk, finding that the file would not fit, requesting a new disk, etc. Files which are larger than the size of the RAMdisk are now excluded. Warning: It is still possible to create an lockup situation here, by placing a file in folders where the file is smaller than the RAMdisk, but the file added to the overhead of the folders (1K per folder) exceeds the size of the RAMdisk. <<<< Hints >>>> You do not have to wait for TURTLE, it will wait for you. The keyboard is scanned all the time. You can insert disks, and press the proper keys (A or B) at any time. If TURTLE is not ready for the disks yet, it will acknowledge that the disk is ready, and use it when the time comes. You can stay ahead of TURTLE by using drives A and B. If both drives are ready, TURTLE will alternate between them. You can cancel it at any time by pressing Control-C for an immediate cancel, or "T" to terminate execution after writing the next disk. TURTLE works with path names, not file names. Enter only path names for input. File names will be processed as path names, and will cause incorrect folder counts to be displayed. The largest single problem facing the ST at this time is folder counts. If your system is at or near the limits, there are some things you can do to minimize the risk of folder crashes: - Set your desktop up with no drives or folders open, save it, then do a reset before executing TURTLE. This will reduce the number of folders accessed before TURTLE begins. - Place TURTLE.PRG, TURTLE.RSC, TTLEXEC.TTP, TRAMDSS.PRG, and TRAMDDS.PRG on a floppy. Do a reset, open the floppy, and execute TURTLE from there, to eliminate accessing the drives and folders where you normally store your programs. Above all, reset your system before backing it up. The most common request for a change to TURTLE is "fix it so I don't have to do a reset between each backup". Until GEMDOS's folder problems are solved, this is just too dangerous. Reset your system before backing up, and between each path backed up. Play it safe! Please direct comments and suggestions to: George R. Woodside Compuserve PPN 76537,1342 5219 San Feliciano Drive Woodland Hills, Ca. 91364 TRAMDDS ST Programmer's Manual TRAMDDS NAME tramdds - RAMdisk emulating double sided floppies SYNOPSIS tramdds DESCRIPTION tramdds is a RAMdisk. It may be placed in an AUTO folder for automatic execution, or executed from the desktop at any time. It always installs itself as drive M:. It is specially designed to exactly emulate a double sided floppy disk for use with TTLEXEC for hard disk backup, but can be used as a general RAMdisk for any purpose. It will not survive a reset. BUGS A reset will reclaim the memory used by tramdss, but to clear the drive M: bit, the system may have to be powered off. AUTHOR Landon Dyer of Atari, Inc. Adapted by George R. Woodside PPN 76537,1342 5219 San Feliciano Drive Woodland Hills, Ca. 91364 Printed 01/09/87 1 `(oO A B?< NA\O/a?< NA\OA0<BBQ&, ּּ֬֬ @Bg/?<1NAJ0/ yC2`"0/ yC(`0/ yCX| f IN <NuAnp0/ t4/ "oJogI""""""""SkfBNuBNu #C!ě#r#v#~+|Vr+|hv+|z~NuHz ?< NA\ONu720K RAMDISK installed as M: version 11/16/86 lmd/grw. V^& TRAMDSS ST Programmer's Manual TRAMDSS NAME tramdss - RAMdisk emulating single sided floppies SYNOPSIS tramdss DESCRIPTION tramdss is a RAMdisk. It may be placed in an AUTO folder for automatic execution, or executed from the desktop at any time. It always installs itself as drive M:. It is specially designed to exactly emulate a single sided floppy disk for use with TTLEXEC for hard disk backup, but can be used as a general RAMdisk for any purpose. It will not survive a reset. BUGS A reset will reclaim the memory used by tramdss, but to clear the drive M: bit, the system may have to be powered off. AUTHOR Landon Dyer of Atari, Inc. Adapted by George R. Woodside PPN 76537,1342 5219 San Feliciano Drive Woodland Hills, Ca. 91364 Printed 01/09/87 1 `(oO B?< NA\O/a?< NA\OA0<BBQ&, ּּ֬֬Bg/?<1NAJ0/ yC2`"0/ yC(`0/ yCX| f IN <NuAnp0/ t4/ "oJogI""""""""SkfBNuBNu_ #C!ě#r#v#~+|Vr+|hv+|z~NuHz ?< NA\ONu360K RAMDISK installed as M: version 11/16/86 lmd/grw. V^& TTLEXEC ST Programmer's Manual TTLEXEC NAME ttlexec - execute hard disk backup SYNOPSIS ttlexec [-acdfins] path [...path] DESCRIPTION ttlexec does disk backup to floppies by reading the specified path name(s) and writing either all files, or all unarchived files. It uses a RAMDISK to create an in-memory image of the floppy to write, then does a track-by-track copy of the RAMdisk image. The only RAMdisks useable are TRAMDSS.PRG for single sided diskettes, and TRAMDDS.PRG for double sided floppies. Before executing ttlexec, disk drive M: must be inactive, and most of the system memory must be available. -a Inhibit setting the ARCHIVE bit on files as they are copied. Normally the ARCHIVE bit is set as the files are backed up. -c # Write # copies of each disk. Normally, only one copy of each diskette is written. -d Hold screen after completion. Normally used only when invoked from the desktop. -f Format floppies before writing. Normally floppies are assumed to be formatted and ready for writing. They need not be erased since ttlexec will over-write any existing data on the disks. -i Incremental backup. Copy only the files with the ARCHIVE bit reset. Normally, all files are copied. -n # number the output disks starting with #. Normally output disks are numbered beginning with 1. -o only files are to be copied. All files in the named path are backed up (unless -i is specified), but folders within the named path are not backed up. -s single sided output disks. Normally output is prepared for double sided disks. TRAMDSS.PRG must be in the current directory when using -s, or TRAMDDS.PRG when using double sided disks. BUGS GEMdos has a significant problem when over 40 folders are accessed between system resets. Avoid this by backing up specific path names to control the number of folders read and written between resets. AUTHOR George R. Woodside PPN 76537,1342 5219 San Feliciano Drive Woodland Hills, Ca. 91364 Printed 01/09/87 1 `G(\ "O o#U (Ш#U.|@"Ҽ@b.A$(e .BeB"¼.A//Bg?<JNA yUEH?/ N!tJ?<LNA.IHyGL?< NA\?/<PN" XN^NuNV yf>/<PN" XN^NuNVH>.<. >W ?W /<PN" \JLN^NuNV.PN" N^NuNVH>.<. >?NT.PN" JLN^NuNVH>.<. >?NT.PN" JLN^NuNVH>.<. >?NT.PN" JLN^NuNV.PN" N^NuNV.PN" N^NuNV> ?.NT0n "<H./<PN" XN^NuNVH> /?<6N \/././.N>FP/N>FP. `JLN^NuNVHB*yU` .-*mJf `JL N^NuNVH n*P g n+h n*h g n* nJf n#U n (`JL N^NuNVNJyIg .Iz/<PN" X>N >N&N^NuNVBW?<NT0n"<H./<PN" X. /<PN" X>NN^NuNVH>?<NT.IB/<PN" X>?<NT nf *|W@`*|WB0. `>2N>3N0n "<H./<PN" X>3N>0N:`>3N>0N0n "<H./<PN" X>3N>0N:`2>1N.I2/<PN" X>I/<PN" X yIo,.I6/<PN" X>W>RW/<PN" X>3N:`>1N0n "<H./<PN" X>3NBU`~>1N0n "<H./<PN" XBW?<NT.IF/<PN" X>0N:` `||b@0@I PNJL N^NuNV>0NN>2N>3N.H/<PN" X.H/<PN" X> Bg?<NX.H/<PN" X>0N>3N> Bg?<NX>?<(?<NX>Bg?<NX>Bg?<NX>Bg?<NX>?<?<NX>?<*?<NX>?<>?<NX>Bg?<NX>?<?<NX>?<*?<NX>Bg?< NX>?<F?< NX>?<NT>?<9NTN^NuNVH`>N >0`.P?<N:T`JyW@g yW@f>?<NT`JyWBg yWBf>?<9NT`^3I>1NBW?<NT.I~/<PN" X>0N``H |IrW hN> N J@fJLN^NuNVN`0.`ByI`.N!3I`v3I`j3I`^3I`R.N!3I`<3I`0ByI#tI``H |IrW h@N.P/. ?.N\=@|fD ng( nf.Q n /(N<XJ@f.Q N" .IR/<Q N" X.IV/<QN" X.IZ/<QN" X.I^/<QN" X.Ib/<QN" X.If/<QN" X.Ij/<Q#N" X.In/<Q'N" X.Ir/<Q+N" X>N>N 3Jyf.Q/BgN:T.Q1N" N f> ?<N T#U yU#V2 yU (#C!g.QC?<N:TNIg.QE?<N:T.QG/<V6N2?<NT.I/<QKN" X=yQ`Bn0n -P`b namD nzn: nam nzn0.|`0.2nDRn`0.2nDRn nH=@RJ@f nf0nD:Rn0nDB>?<NVT.D/<QON" X.QR/<DN"XRn0.nmNIgNBW?<NT.Iv/<QTN" XBWNN^NuNV>N =@nA0.HU:UBW/<U?<GN \.UNl.v?<N:T yW:0(|=@>/?<?<>N T>?<>N TBW/?<=N \<>?/9W:?<WN P>?<>N TJyIg( yW:>W ?</v?<CN PJLN^NuNVH*yV2BG`BRG|m*yV2* *JL N^NuNVH?N8ByW>`LN=@Jnf =|`=|93I=|`BF`BE`>W?<NT>0N>3N>/<QiN" X>3N>0NNj/<09IR@EH/N>FP&ֹV2JyIg8>?<NT>0N>3N.IJ/<QmN" X>3N>0N>/BgBg?<?.B/<WD?< N =@DlN>?<NT>0N>3N.I./<QpN" X>3N>0N`BnJnfjDld0Eg.> ???<?.B/?< N =@`0>BgBg?<?.B/?< N =@Jng>?.NT:9IRE|PNjB@=@>`^> N J@g>N =@RG|@RGDo~>/<QsN" X nf.Qv?<N:T n fBW?<NVTRE09IR@@m RF|PmJnf>?.NTRyW>09W>yImJyIg.Qx?<.N:TRyIN.Qz/<V6N`&` 0GBSG0G \f0GBSG0. Sn J@fJLN^NuNVH`./N /NX.?<9N T>JGg.?<N:T>L?<NTRyI09I|&o >1N>I/<Q~N" X>3N./<V6N#UW:JGgt yUJgfNj*ڼʼ0r `HЅ* мl>/.N X`"N.N>>/.N X|N#`R`Nj yW: (мl.NSy yW:((ؼȼW6SFg `N#|>?<NT>/<QN" X>?<NT.W6/<QN" X>2?<NT./<QN" X.W:N#W:` yW:#W: yW:Jf#UW: yUJg.NN#.N>>/.N X yUJfJLN^NuNVA-H.?<N TRyI09I|&o >1N>L?<NT>I/<QN" X>3N./N/?<NN \=@` n(gn.Q/N<XJ@gR.Q/N<XJ@g6JyIf,./N"X.?<N T>ON =@JngrNj#U#3 yUB yUB yUBBW6By>/?<NN \=@` n(f.Q/N<XJ@g.Q/N<XJ@gJyIgJyIgt n(ff n (Id./.NVX`1N./<QN" X>3N>ON =@Jng >?<NVT./<QN" X>?<NT>/<QN" X>?<NT.W6/<QN" X>?<NT>/<QN" X>?<NT.W6/<QN" X.NN^NuNVH?~BF./N1N>!Bg?<NX>3N`(Nj|@RGDo~>/<QN" X yW@g yWBfBW?<NVTJyIf$ yWBf~>?<9NT`6 yW@fBG>?<NT`~>?<9NT0`JLN^NuNVH yQJfb09Qްnl4 n 2yQ p#Q -fRQ yQJfp`` yQ -fRyQp`F yQH3U|:@RQDg>U/.NhX*@ fF yQJfRyQ n .N" .QN" >U/<QN" Xp?`R M :gB yQJfRyQ` yQJg#Q`jRyQ09QްnmB#QQ n .N" .QN" >U/<R!N" Xp?`4`0yQ ##R%QRyQ09U`JL N^Nu#UNN/9UNu#UNM/9UNu#UNA/9UNuNVH*nBGBF`RHHмTp @f +fR` -fRRF` H@| 0m 9oJFg0D@>0JL N^NuNVHN8&BW/<GAN)X>/<GAN)X>/<GAN)X n2n B*n`&HHмTp @g H| `HRJf> /.N"NXJL N^NuNV. /./<RN*`PN^NuNV./. /.N*`PN^NuNVH BWN6#U#UByU.G9a*n`N`RJgHHмTp @fJg2 "g 'fFH>/ RNhX(@ f.R&/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHмTp @gJ5pg M2GBRGH`BWN'BW/ RN)XJ@g.R/<R8aX`l>N' ->f@>/ TN)X|f>B?<N)\|f.R/<REa|X`$BW/ RN&X|g.R/<RTaVX`>?/ NhXJf>*/ NhXJg-|x.8?<NT>/ ?<N:\<f.Rc/ aX`^.H?/.aZ\.NRWN=(@./ N/ ?<N:\<f`.a`|g`JfBaSyU.UN|f.R}/<Rna*XB/9U?9UN n\>N&JL0N^NuNV|./NN&N^NuNVH*n yU XURyUJL N^NuNVH*n. (nGVfJL8N^NuNVHN7>|fp`>N8H08*@JnfU.GA/.N/.?N:\J@g3#Tl3UTnp`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN&>NN^NuNVHBG`0мR.N'(RG|mJLN^NuNVH*n0-|g*.N(-g .N3B@H+@+@Bm m>N'JL N^NuNVH>.>N8*@ f3 Tl3UTnp`NBF0|f>?<>N>6T<l|>N8H>N8 JFf0``3Tl3UTnpJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N7B\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N)\Bm +mB@JL N^NuNVHN7>|fp`>N8H08*@Jn fUJnfU.GA/.N/.?N:\J@g>N8 3Tl3UTnp`0U>B-H?N)\BWB-H?N)\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N8*@ f3 Tl3UTnp`$>?-/. ?<BN>6P+@U -JL N^NuNV>B?.a\N^NuNVH*nBnJ gh``BE-n `RRE nJg n %fJEo.?/. N/\-n n n %@R DfBn n H|-@R Df n R Rn| <0fG n R =|<*f-M n=PT n R `8`*JnlBnH2. A|=@ n R <0m<9o|<.f BF n R <*f-M n<T n R `*`H2 A<| n R <0m<9oBn<lg<LfRn n R A-HH` RnJng <5` <6j#U.U?<?< // N5B Jngp`pH`RnJng <5` <6j#U.UBg?< // N5B Jngp`pH`zRnJng <5` <6j#U.UBg?<// N5B Jngp`pH`&RnJng <5` <6j#U.UBg?<// N5B Jngp`pH`-M n-PX`-M n0|@B.T`H>?// N/$ X|`~H>?// N. X|`XH>?// N/\ X|`4.H?N0TRn``|C|5b@0@Sb PN.N/. /.N>PN^NuNVJnlp`0.=@ n -@>/. /.N@PN^NuNV>/. /.a~P-@. N/. /.aP-@ .N^NuNVH *n>. (n,g$Bl >/ ?N7B\Gg lp`*B@`&`.H?N0T|fp` 0SGJ@fB@JL0N^NuNVH. *n Sm mH"m|R``.H?N0\TJL N^NuNVH. *n BF:-fp`$JfV-fN>N2&+@+@fm`2m>N1J@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N7B\<Bm `n-g>< g -мb" -:>/-?N7B\<+mBm `( -:>/-?N7B\<;| +mFg mp`H|JL N^NuNVH>N8*@ fB@`-fB@`pJL N^NuNVH>N8*@ fB@`0|JL N^NuNV>aJ@g <GA`BN^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (yTB*T`ZB@0-BA2-@F@J@g>N5:B`:B@0-ne `*TBf>a*@ f>N5:B`(M*U`JL0N^NuNVH n*PB@0. X@me n `F(MB@0. HH@B@H@B@0-n 9@B@0,F@9@( n ;n B@0-F@;@#TB PJL0N^NuNVH >.|?GG0@>N6*@fB`* R*@(M9GB@0,F@9@.Pa 9TBJL0N^NuNVH *nQB@0-BA2-@F@J@g>N5:p`(yTBeeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #TBB@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#TBB@JL0N^NuNVH *n.a>. ^GORG>a-@fB`J n(PPg2d`Sn Jn f`B0. B0. `%Sn Jn f>/.aXJL0N^NuNVN^NuNVN^NuNVH /?.?./ /. nN*@ мfB(n `%H|0|9o^G мfB JL0N^NuNVH-|T*n<.H n. nfz` |SEJgJEf`h nf$z ` |SEJgJEfJEf-`*n<.JngJGlB@0D@> n P-"n R`B0H@B0>JGf JL N^NuNVH >.HμgR*yU(GU.N|f3 Tl3UTnp`>Bg/ NJ\ JL0N^NuNVH>N8*@ fp`XJnfB@`N-g3 Tl3UTnp`0-g>/. / N9P``>/. / N:(PJL N^NuNVH|BG` TFf TF0`RG|m3Tl3UTnpJLN^NuNVp2.`F@HTFB@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@0.@BUB-+| BB> Bg/ NJ\> ?< / NJ\JL0N^NuNVH>.|e3 Tl3UTnB`0B@08*@-f3 Tl3UTnB` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N==@B0.ѭJnf3Tl3UTnp`^=n`8Rn>?</<TJ/-/ N==@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N==@Jnf3Tl3UTnp` B0.ѭ -o+mB@0.JL N^NuNVH*n 0.8м-@~.a&M`RJg :fJgc .Am .On*K`K0.`BW/ ?<6\>o n1GBG`BW/ ?<NN>6\JfB@`0<>`d>ON>6JfB@`0<>`J.?<=N>6T>o n1GBG`,.?<AN>6T>``||b@0@TL PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH *n (n`RJff .JL0N^NuNVH *n(n `op`lp`JgJfHHAJL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^Nu _B0Z"yUCCbN4C NNVH..,. Jf#T <`Hc #TB`:fzB`(xe 〼b`BJge`#T JLN^NuNV n=h.0n/0n/N>FP/?.?<?N>6PN^NuNV n=h.0n/0n/N>FP/?.?<@N>6PN^Nu#UNA/9UNuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVHJnn=|` no=|*n B/.NCPl-/.ND|X-@B/.NCPf*0Jng.`00.SnJ@fB . `BG`SG/<D/.ND\P-@/<A/.NCPm`RG/<D/.NC$P-@/<A/.NCPl0nRH"<T/0/.NBP-@/<A/.NCPm/<D/.NC$P-@RGJGn0`P/<D/.ND\P-@/.NCX<0H/NCDX//.NDP-@0|0HSGJGnJngv.` 0SnRGJGlJnf`N/<D/.ND\P-@/.NCX<0H/NCDX//.NDP-@0|0H0.SnJ@nB . JL N^NuNVHJnn=|` no=|*n B/.NCPl-/.ND|X-@B/.NCPf00.`00.SnJ@fe00B . `BG`SG/<D/.ND\P-@/<A/.NCPm`RG/<D/.NC$P-@/<A/.NCPlSG0nRH"<U-0H |0H0H H@|0HB . JL N^NuNVH..,. ND LN^NuNVH..,. NELN^NuNVH..,. NE LN^NuNVHJl| .D-@`BFJfB`^~` .-@R .f` .-@S. g .-@޼@ JFg .JLN^NuNVH .м<JgJFlB`V .:|oJEg <` <`0..μ|`RFJFm`SFJFnJEg D. JLN^NuNVH..,. NF^ LN^NuNVH..ND LN^NuNVH..,. ND LN^Nu<NuJg NugR kjklf`>k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu:ڼ.gNugRghEDvi^E]HE:BB8HD&HC؃HF&؃BDHDHGHFHEބj ޼gNuSiex@ބއdRgNu~NujJ<Numc68343 floating point firmware (c) copyright 1981 by motorola inc.Stack Overflow runtimeCON:LST:Cannot initialize stack  JJJJJK K3K^KKKKL&LOLxLLLLLLLLMMMM M&M6MAMGMSM^MsMMMN#NkNNO"O`OOP#PBPRPi :>ABTabt TACDFINOSacdfinos TRAMDSS.PRGTRAMDDS.PRGFATAL error! Wrong resolution.Fatal error! Unable to open input file:Fatal error! Unable to create RAMdisk file:Fatal error! Unable to read input file:Fatal error! Unable to write RAMdisk file:Fatal error! Too many files in directory:Fatal error! Missing or incorrect RAMdisk.Fatal error! Unable to create RAMdisk directory:Fatal error! User abort! Turtle - A Hard Disk Backup Utility Vers 2.8 Feb. 1987 (c) George R. Woodside 5219 San Feliciano Drive Woodland Hills, Ca. 91364 Floppy A Status:Floppy B Status:Input Request:Current Path:Files:Bytes:To Do:Current file:Folder Count:RAMdisk:Free:READYWRITING, TRACK FULL Disk:Copy:DISK NEEDEDDISK ERROR Insert a new disk and press RETURN. Recovery is automatic.FORMAT - Insert a disk in either drive, and press the proper key (a/b).Usage: ttlexec -acdfinos path -a do not set archive bit on files (default is update bit) -c ## write ## copies of each disk (default is 1) -d invoked from desktop, hold screen until keypress -f format disks before writing (default off) -i incremental backup only (default full backup) -n ## number the first disk ## on the display (default 1) -o only files in the named path are to be copied -s single sided diskettes (default is double sided)Backup completed successfully.Press any key. (Termination Pending.)Execution terminated.b%cc%cY%c%cHJLKJfe%s %s ttlexec: %s %s %s%s%s%s %d %s %d %s%s%s%s%s%s %sADFIOSadfiosC:c:N:n:-d %s %s %s %s %s %s %s %s %s Making RAMdisk. M:\%8D%s %s \\%-68s %9D %2d%s%s%c M:\%2d%4d%8D%8D%2d\\*.*......%s too large, omitted from backup. %s%4d%8D%4d%8D%cQ: illegal option -- %c : option requires an argument -- %c : unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $   -b+-~---------,----P-,T--,-----------b,-~---------,----P-,X---T:T: ;\;;";B;z;;;!!!!"@< 9n6ѷ2Ŭ/7,ֿ(w%p_".$|敔 w@< 9n6ѷ2Ŭ/7,ֿ(w%p_".$|敔 w__start__exit_brk__breakU___cpmrvU__baseU__sovf4_crystal_ctrl_cnGf___BDOS_blkfillJ_indexh_strchrh___pnameG9___tnameGA___lnameGF___xeofGK_rd_ssH_rd_dsH_msgH_copiesI_volumeI_formerI_archiveI_incrI_desktopI_formatI_fonlyI_foldersI_sidesI_termI_rd_sizeI_foregro_backgro_positio_clear_inline$_era_eolV_era_eos_curoff_curon_messag_free_sp_get_smaj_trash_leave_punt:_status_skeleto_pollj_main n_make_rd f_insertV_file_wr_era_ram_new_dis_last_tr_get_drv_trunc_make_pa _write_e_deeper_scan_di"_optindQ_getopt_gemdos _bios _xbios _atoi!__main!t_printf" _fprintf".___main"N__creat%_creat&_creata&_creatb&_exit&__cleanu&_fclose'(_close'__iobR___fdecl(_fflush(__open(_open)_opena)_openb)_lseek)_tell*J__doprt*`__pftoa.__petoa/$__pgtoa/\_fputn/_fputc0__flsbuf0\_isatty1_isdev1_ttyname2 __afreebT:__aflistTB_malloc2&_free3_realloc4_malloc_52__errmal5:___prtin5B___prtld5___prtsh6j_sbrk6_write7B__chvecTF__allocc7__freec8 __chinit8&___chini8H__chkc8__wrtasc9__wrtbin:(___open:_ucase;_errnoTl__errcpmTn_strcat;_strcmp<_strcpy6lmul>F_ftoa>_etoa@_fpaddBfpaddBfpcmpC_fpcmpCfpdivC$_fpdivC$_fpltofCD_fpftolCfpmulD\_fpmulD\fpmultD\_fpmultD\fpnegD|_fpnegD|fpsubD_fpsubDffpabsDffpnegDffpaddDffpsubDffpcmpEffptstEffpdivEffpmul2F^ffpcpyrt@F_optoptU_firstU_bpb_atU_run_cmdU_startV2_f_pathV6_run_taiV_todoW6_thisW:_copyW>_stat_aW@_stat_bWB_f_bufWD_base_diD_avail_optarg_rez_files_ftodo__fdsTVb($$ $ $j                   "         (    `.        &     "" 0 $(      "     <2    ( ^" "  (     ,       ".(`&@          "\   ,"  ,D( 0 <    >  h 0HN&  j^***`&$ D"V8*R$ZF \@(B4.J".86 Jp $""@2&"fHR"(<0* D"H`J&v :  $Hr  TURTLE A hard disk backup utility by: George R. Woodside 5219 San Feliciano Drive Woodland Hills, Ca. 91364 IF YOU READ NOTHING ELSE, AT LEAST READ THIS! To get started without reading any more of the documentation: 1) Copy TURTLE.PRG, TURTLE.RSC, TTLEXEC.TTP, TRAMDSS.PRG, and TRAMDDS.PRG into the same directory. 2) Change the file type of any accessories to something other than .ACC to prevent them loading. 3) Remove all programs from your /AUTO folder except the hard disk boot program. 4) Power off your system and wait 10 seconds to insure a clean boot (especially if you have a reset-proof RAMdisk). 5) Restart your system, and open the directory with TURTLE.PRG and the other files. 6) Double click on TURTLE.PRG to start. 7) Select the necessary options. They are all described in their dialog boxes, and again under the HELP menu. 8) Select BACKUP under the FILE menu to begin writing disks. Notes: Do not attempt to load the RAMdisk yourself. TURTLE selects the proper RAMdisk and loads it automatically. Only the RAMdisks supplied with TURTLE will work. Do not attempt to use any other RAMdisk. The keyboard is scanned between files. You may cancel TURTLE at any time by pressing CONTROL-C, or press A or B to indicate a new disk is ready at any time. INTRODUCTION TURTLE is an extremely fast hard disk backup utility program. It requires no special hardware, and the floppies written are standard TOS disks. To accomplish this speed, certain simple steps must be taken. TURTLE requires just about all the RAM you have (for double sided disks). You should disable any accessories, and remove any unnecessary programs from your AUTO folder, before running TURTLE. You may re-establish your accessories and AUTO folder programs once the backup is complete, but TURTLE will need the RAM during the backup. The speed of this program will make the minor inconvenience of a little file manipulating well worth it. How can it be so fast, and still write standard floppies? TURTLE creates a RAMdisk that has exactly the same characteristics as a standard diskette. It copies files from the hard disk into the RAMdisk, writing as many files as can be fit into each disk. When the RAMdisk is full, it dumps it as a track-by-track image to a floppy. It writes as many copies as you have requested, with or without formatting the floppies. The result is identical to a floppy that was written directly, except that no time was wasted moving back and forth to the directory and allocation tables, or waiting for the proper sectors to be available during disk rotation. The time difference is staggering. The only catch is that you must insure that all the RAM is available before you begin. That is very easy, and very well worth it. Why call it "TURTLE"? Well, backing up hard disks is always a slow task, so the name fits. Since there are already several programs available with the name "BACKUP", I had intended to call this one "HARDBACK". Since turtles have hard backs anyway..... DESKTOP TURTLE runs from the standard GEM desktop. It may be executed by double-clicking on the TURTLE.PRG file. The resource file TURTLE.RSC must be in the same directory as TURTLE.PRG, as must be the backup utility TTLEXEC.TTP and the proper RAMdisk, either TRAMDSS.PRG for single sided diskettes or TRAMDDS.PRG for double sided diskettes. TURTLE requires a large amount of memory to use the RAMdisk and execute at the same time. You should disable any accessories and remove any non-critical programs from your AUTO folder before attempting to execute it. You must have a 1 megabyte machine, or larger, to run TURTLE. It includes an ABOUT menu item under the DESK menu to identify itself. Clicking on it will display a normal dialog box, identifying the date and version of the program. Under the FILE menu is the usual QUIT item, to terminate the program without executing a backup. There is also a BACKUP menu item, to initiate a backup, and a SYSTEM RESET item. The SYSTEM RESET item is there to make it easier to free the RAM necessary to execute a backup. Since a manually triggered system reset, by pressing the reset button, will not clear the bits in the drive allocation map, this system reset function will clear the bit associated with drive M: before executing the reset. If you are using a reset-proof RAMdisk, however, there is no choice but to power off your system and re-boot (without the RAMdisk) to free the memory. OPTIONS TURTLE runs from the desktop, using standard GEM drop-down menus for entering options. There is a HELP menu item for each OPTION item, to provide information at any time. Archive: This option inhibits a normal function, setting the archive bit. When a file is copied, TURTLE will set the bit unless the ARCHIVE option has been used to disable the feature. This bit can be used to instruct subsequent backups to copy only the files which have changed since the last time TURTLE (or some other backup utility which set the archive bit) was executed. The default for this switch is to set the archive bit. When the checkmark is displayed beside the Archive option, the archive bit will be set on all files copied. Extra Copies: This option is used to generate extra copies of any disk written during backup. Normally, only one copy of each disk is written. To request additional copies, enter the number of copies desired. The default for this option is to write one backup copy. When the checkmark is displayed besid this option, either 2 or three copies of each disk will be written. Format: This is the diskette format option. TURTLE assumes that the disks to be written to are already formatted, unless this option is used to override that assumption. It is not necessary that the disks be erased, since anything on them will be over-written. It is never harmful to use the format option, but it will cause the program to run a bit slower. The default for this option is to write to floppies without formatting. When the checkmark is displayed beside this option the diskettes will be formatted before they are written. Incremental: This option indicates that the backup should be incremental - that only the files altered since the last backup should be copied. This can shorten the time required to back up a drive when few files have been changed. It does require, however, that the user keep the original backup, plus the intervening incremental backups, to be able to re-construct the contents of the drive. The default for this option is to backup all the files in the paths entered. When the checkmark is displayed beside this option, only the changed files will be copied. Double Sided: This option is used to indicate that the backup will be done to double-sided (720K) disks, rather than single sided (360K) disks. It is imperative that the proper option be selected, matching the diskettes to be used. If the backup is executed with the wrong diskette option, the backup will not be useable and may create errors during floppy writing. The default for this option is to write double sided disks. When the checkmark is displayed beside this option, double sided disks will be written. Disk Numbers: This option is used to define the number assigned to the first diskette written. Normally, diskettes are numbered beginning with one. However, if a backup is being executed by paths (to avoid the 40 folder limit), subsequent paths may be better organized if the numbers assigned to the disks are sequential. This option will offer a dialog box which can be used to set the number assigned to the first disk written. The default is to start numbering disks with 1. When the checkmark is displayed beside this option, some number other than 1 has been selected to begin assigning to disks. Path: This option is used to specify the disk path to read. All files (or all non-archived files if INCREMENTAL is set) in the named path will be read and copied to the diskettes. Only the files in the named path will be read or marked with the ARCHIVE bit (if ARCHIVE is enabled). The default for this option is the path from which TURTLE was initiated. When the checkmark is displayed by this option, the path has been changed from the default. Files Only: This option is used to limit the path following option of TURTLE. Normally, TURTLE will begin at the path named, and follow all folders in that path, copying all files in all folders (unless INCREMENTAL is set). Then, after all folders in the path have been copied, all the files in the named path are copied. Using the FILES ONLY option will prevent TURTLE from opening any of the folders in the path. Only the files in the named path will be copied. The default for this option is to open the folders, and back up all the files in the folders as well as those in the path. When the checkmark is displayed by this option, only the files in the path named, but not those in the folders, will be backed up. EXECUTION Before TURTLE can be executed, your system must not be in low res mode, and there must be an adequate amount of memory available. You must disable any accessories or unnecessary "AUTO" programs to insure that there is space available for TURTLE to execute. ===>>> WARNING!!! <<<=== TURTLE can not fix GEMDOS bugs! Be careful of the famous 40 folder bug. Remember that for every folder you read, there is at least one more that you write. There may be more than one, if the folder must be split across more than one floppy. There may have been other folders accessed when you booted up your system to the desktop, or located and initiated TURTLE. Still more folders may have been accessed when you named a path, and that path was opened to begin the backup. You must be concerned about accessing and copying too many folders in a single execution of TURTLE. You should reset your system before beginning TURTLE. Remember that a system reset clears the counts of folders, and lets you start on a new 40. TURTLE keeps you informed of how many folders it has accessed. Since the 40 folder bug is intermittent at best, be as careful as you can to stay under 40 folders in a single session. TURTLE offers backup by path names to help stay within the limits known to be safe. Once TURTLE begins, it will start copying files, even though there are no disks ready. Do not be concerned. TURTLE will be establishing the RAMdisk images, and no floppies are required until the RAMdisk is full. Once the RAMdisk is full, it will be dumped to the floppies, and will post messages to identify which disk is which in sequence. If you do not stay ahead of TURTLE in keeping disks ready, it will start ringing the console bell until you return, and provide more diskettes. TURTLE will keep all the files in a folder together, in an identically named folder, on the floppy image. Of course, a single hard disk folder may be split across several floppies. If no files are to be copied from a folder, no empty folders will be created. The sequence of the files in the folder will be the largest file that fits first. This allows TURTLE to use the floppies as efficiently as possible. TURTLE will not attempt to copy a file that is too large to fit on a blank floppy, but will log a message on the screen (remember that each folder requires 1K, so there is less space available when folders are nested). THE DISPLAY TURTLE maintains an informative display during the backup process. It requires lines of 80 characters, so you must not be in low res mode. At the top is the sign on banner, and the current version number. Next is the status line for the floppy drives. Each drive will always have a status indicated: DISK NEEDED Used only at startup. Be sure an appropriate disk is inserted, and press the key corresponding to the floppy drive (A or B, upper or lower case). When a disk has been inserted, and the proper key pressed, the status will change to READY. You may change disks any time that the disk access for the floppy drive is not on, and press the keys at any time. TURTLE is designed to allow you to set up two disks and walk off. It will use them both, then start ringing bells to let you know when it needs a new pair. It will let you know what order the disks were written in. If you stay ahead of TURTLE in keeping disks ready, it will alternate between drive A and B. If both disks are full, it will use whichever one you key in as ready first. If you do not have a second drive, do not press the "B" key, and TURTLE will work with drive "A" exclusively. If you re-use the same disks for backup, with labels on them, it is very easy to keep them in sequence. FULL Disk ## Copy # Informs you that the floppy in the designated drive is full, and must be changed. The ## is the number of the disk in sequence, and the # will show which copy it is, when multiple copies are requested. You may change a disk at any time, and press the keys at any time, so long as you do not attempt to remove a disk while the drive's access light is on. READY You have indicated that a blank disk is in the drive, ready for writing. When the RAMdisk is full, this drive will be written to. If both drives are READY, TURTLE will write to whichever one was not used last. DISK ERROR Well, these things happen. TURTLE is very good at recovering, however. Since the entire image of the floppy is in the RAMdisk, just insert a new floppy in the drive, press RETURN, and TURTLE will start writing that copy over. Just discard, re-cycle, or furiously mangle the disk with the error. It is unimportant. Your backup will be perfectly valid, no matter how many diskette errors occur. Ignore any disks with errors, and keep the ones TURTLE identified as FULL. When an error occurs, you must replace the disk in the drive with the error, and press RETURN. TURTLE will not go off writing on other (possibly labelled) disks and leave bad ones lying around. This helps keeps things orderly. TERMINATION PENDING You have pressed the terminate key "T". TURTLE will finish writing the current disk (however many copies were requested), then stop executing. If the Archive bit was being set, only the files copied will be marked as archived. All files copied will have been properly marked, so the backup may be restarted at a later time, and the remaining files will be copied. Other lines on the display are clearly labelled: the input request being processed, the current path being copied, the number of files in the path, how many remain to be copied, and byte sizes. There is a folder count displayed. Remember that it is only the number of folders read or written by TURTLE, and only during the current execution. There is a log of files that have been copied, and their sizes. It starts at the middle of the screen, and scrolls down. The file being copied is the one at the top of the list, and it will scroll down and off the page as subsequent files are copied. CREDIT WHERE CREDIT IS DUE DEPARTMENT TURTLE could not function without the use of its RAMdisk. This one has special functions and characteristics I have added to support TURTLE. TURTLE absolutely will not work with any other RAMdisk, so don't bother trying. This particular RAMdisk is a highly modified version of one originally written by Landon Dyer of Atari, and placed in the public domain. My thanks to Landon Dyer for the use of his work. SUMMARY TURTLE works quite well, and with (I think) amazing speed. It is even smart enough to not copy unused tracks at the end of a diskette, but it will format them if formatting has been requested (who needs a partially formatted disk?). The most important thing is to be sure you free enough RAM to build the RAMdisk and run the program before beginning. TURTLE is fairly bullet proof, and is very informative while running. You can kill it at most any time by pressing Control-C, and it will stop almost immediately. You can request that it stop at the end of all copies of the current disk by pressing "T". You do not have to wait for it to need disks to make them ready, you may press the appropriate keys whenever you have inserted the disks. TURTLE is really only a GEM desktop front end for the program which does the backup work, called TTLEXEC.TTP. TURTLE writes one command line, then uses it to invoke TTLEXEC.TTP to do the real work. You can use TTLEXEC.TTP from the command line without using TURTLE if you like. See TTLEXEC.MAN for documentation. The RAMdisks are called TRAMDSS.PRG for single sided disks, and TRAMDDS.PRG for double sided disks. Whichever one you wish to use, and TTLEXEC.TTP, must be in the same directory as TURTLE.PRG and the resource file TURTLE.RSC. TURTLE is over a quarter million bytes of source code, which is not included in the .ARC file. If you are interested in source code, contact me directly. If TURTLE gives you any trouble, or you have any suggestions, please feel free to contact: George R. Woodside Compuserve PPN 76537,1342 5219 San Feliciano Dr. Woodland Hills, Ca. 91364 `5$6p+R $"O o#k (Ш#k"(Ҁ.A"Ҽ b.A$(e .BeB"¼.A//Bg?<JNA ykEH?/ N"ZJ?<LNA.IHy5H?< NA\?rN!H>rN!b>sFNZNPN^NuNV.l/<p/<r0/<s*N( 3sF.r/</</<?<BgN!|Bn`0nqZ0Rn n m3qn.r2/<sF/<qZNPN^NuNV>r?9?9?9BgN P3r>r?9?9?9?9rN!P.n/<qX/<q/<q?<?9rN!|N^NuNVJyr.gN `.r/<r/<r/<r/<n/<nBgBg/<nBgBgBgBgBgBgBgBgBgBg?<?<?<?<Nb83l9lg 3r.9lgp09n`J>n?9nNT`NN`DBWBgBgBg?< ?9rN! `"`| g|gİ|gȰ|g`Jylg ylfJy6fLN  ysf6Bn`&0n"<n>?.?<N"*XRn nm`B y6f.r?<NTByl`.s:?<NTByl ylfB ysf6Bn`&0n"<n>?.?<N"*XRn nmN^NuNVBys,Byl>N"*3s ysfHBn`80nn/0n"<6?0?.?<N"*\ _0Rn nm>N"*#r>N"J=@nA0.H6BW/<6?<GN"J\.6/<qpN3XX.7/<qpN3.XN N XN XN^NuNV.r/<r/<r/<r/<n/<nBgBg/<nBgBgBgBgBgBgBgBgBgBgBgBgBg?<Nb83lByr.N^NuNVN~.U/Y/]/Q?< ?9rN!|`F>?.?.?.N<\N.U/Y/]/Q?< ?9rN!|JngJnf>n?9qX?9q?9qN<\NN^NuNV=n=n 0.n =@0. n=@.Q?<?9sFNXN^NuNV09s,Rys,J@f>N"B?<NjTN^NuNVSys,fB?<NjTBWN"N^NuNVN~ ysf6Bn`&0n"<6>?.?<N"*XRn nm>?9sFN T ysf>?9sFNT`BW?9sFNT3qr3qr09qyqXS@3r09qynS@3r.r?9sFN`TByrByr3`r3Gr3r3Fr09r|`3r09r|G3r ysfyGryryGr.n/<m/<r?<?9sFN NN^NuNV 9rr3n 9r3n3n 3(nBynBynBynByn3`m3Gm3mBymBymBymBym ysf"3n 3n-|73m ysf*3n 3n-|PyGm3m .r3m .3mN^NuNV#k y ("y"#r> N":=@ 9r氼l36.r?<NT 9r氼 5l 36Jysf3l.sL?<NT.g36.s:?<NTN^NuNVH.qp/<n"N3XX.7/<n"N3.X.7/<pN3XXJy6g.7/<pN3.X y6f.7"/<pN3.X y6f.7)/<pN3.XJy6g.70/<pN3.XJy6g.75/<pN3.XJy6g.7:/<pN3.XJy6g.7?/<pN3.X.7D/<pN3.X.6/<pN3.X.7J/<pN3.X.6/<pN3.X.pN3z>0|Hp.p/<n"?<Bg?<N JLN^NuNV n=h n=h n=h n=h.////.N>?.?.?.?.?.?.?.BgNb>?.?.?.?<Bg/.N > /.N@X|=@>?.?.?.?.?.?.?.?<Nb0.`N^NuNV n=h n=h n=h n=h.////.N>?.?.?.?.?.?.?.BgNb>?.?.?.?<Bg/.N N^NuNV n=h n=h n=h n=h>?.?.?.?.?.?.?.?<NbN^NuNVv0.`0. `d-yr nBh ysf n ( "n#@ BW/.N X=@>?./9N\`` | g``\0. `>?./9N\3l`>?./9N\.n?<NT=@ nfNB`@>?./9N\3l``|gr|g̰|g``0. `@-yr nBh: nBhRBW/.N X=@ nf 36>?</9N\ nfBy6BW?</9N\>?./9N\`-ym nBh: nBhR nBhjBW/.N X=@ nf36BW?</9N\ nf 36>?</9N\ nf 36>?</9N\>?./9N\`-y nBh: nBhRBW/.N X=@ nf 36>?</9N\ nfBy6BW?</9N\>?./9N\`x-ys. nBh: nBhRBW/.N X=@ nfBy6BW?</9N\ nf 36>?</9N\>?./9N\`-ysB nBh nBhBW/.N X=@ nfBy6BW?</9N\ nf 36>?</9N\>?./9N\`X-ys nBh: nBhRBW/.N X=@ nf36BW?</9N\ nfBy6>?</9N\>?./9N\ 9r氼 5l:Jy6f036BW?</9N\.q?<NT`-ys2 nBhR nBh.6/zN3XX>-/z?</.N BW/.N X=@ nf..z/<6N3XX>?</9N\>?./9N\`-ysH nBh nBh.6/zN3XX>/z?</.N BW/.N X=@ nf..z/<6N3XX>?</9N\>?./9N\` `||b@0@7N PN`L0. `-yr nBh:BW/.N X>?./9N\`-ys" nBh:BW/.N X>?./9N\`-ys> nBh:BW/.N X>?./9N\`p-yr nBh:BW/.N X>?./9N\`8-ys nBh:BW/.N X>?./9N\`-yl nBhBW/.N X>?./9N\`-ys6 nBh:BW/.N X>?./9N\`-yr nBh:BW/.N X>?./9N\`X-ys& nBh:BW/.N X>?./9N\` `|!|b@0@7n PN`*`&|gL|g|g`|g`0.`N^NuNV0. Ю @-h n  n1nN^NuNV.7N L.BgBgN fX.r?<BgN fX.r?<BgN fX.m?<BgN fX.?<BgN fX.s.?<BgN fX.s?<BgN fX.sH?< BgN fX.s2?<BgN fX.sB?<BgN fX.r?< BgN fX.s"?< BgN fX.s>?< BgN fX.r?< BgN fX.s?<BgN fX.l?<BgN fX.s6?<BgN fX.s&?<BgN fX.r?<BgN fX.sLBg?<N fX.r?<?<N fX.s:?<?<N fX.q?<?<N fX.n?<?<N fXN^NuNVN~>/9NXNN^NuNVN~BW/9NXNN^NuB?< NAB  xNNV3erByrByr3sNnN^NuNV#k#k .мZ#k3drByr3 r n 3sNn n 0s#kk#lk#ok#nkN^NuNV3 k.NZ.Nd# k3mr3r3r3sNn#nkN^NuNV# k3rr3rByr3sNn#nkN^NuNV# k3 k3r3r3r3sNn#nkN^NuNV3 k3rByr3r3sNn09lN^NuNV3 k3rByr3r3sNn09lN^Nu#sNu#s Nu#rk"<kpsNBNuNV3q0.|Hм5b-@=|` nH2nq2RRn nm.rNB@09r N^NuNV#qm#q:m#rm#r m#sm#m#mr> aF3r rpN^NuNV>a*pN^NuNV3r3 r3 r3r3r3r 3r 3r3r3r3r3r3 r3"r#$s3(r3*r>N n,0r" n00r$ n40r& n80r( n<0r* n@0r,B@09r N^NuNV#s3 r>2NN^NuNV3r3 r3 r3r3r3r 3r 3r3r>3NN^NuNV3r# s>4NN^NuNV#s>6N n 0r" n0r$ n0r& n0r(B@09r N^NuNV>MN n0r" n 0r$ n0r& n0r(B@09r N^NuNV3r# s>NNN^NuNV#s3 r>NN^NuNV#s3 r3r>NN^NuNV#s3 r3r>!NN^NuNV#s3 r3r3r3r3r3r >*NN^NuNV#s>nNN^NuNV3r3 r>pN n B@09r N^NuNV3r3 r3 r#s#s>yNN^NuNV3r3 r3 r3r3r>dNN^NuNV3r3 r3 r3r3r>eNN^NuNV3r>fNN^NuNV3r>gNN^NuNV3r3 r>hN n 0r" n0r$ n0r& n0r(B@09r N^NuNV3r3 r3 r3r3r3r >iNN^NuNV3r>kNN^Nu#kNN/9kNu#kNM/9kNu#kNA/9kNuNVHN/nBW/<5=N*HX>/<5=N*HX>/<5=N*HX n2n B*n`&HHмk @g H| `HRJf> /.N"XJL N^NuNVH BWN. #k#kByk.55a*n`N`RJgHHмk @fJg2 "g 'fFH>/ RNlX(@ f.i/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHмk @gJ5pg M2GBRGH`BWN($BW/ RN*`XJ@g.R/<iaX`l>N($ ->f@>/ TN*`X|f>B?<N*\|f.R/<ia|X`$BW/ RN'PX|g.R/<iaVX`>?/ NlXJf>*/ NlXJg-|y.8?<NT>/ ?<N1\<f.i/ aX`^.H?/.aZ\.N3z>RWN4(@./ N3XX.a>/ ?<N1\<f`.a`|g`JfBaSyk.kN|f.i/<ia*XB/9k?9kN\>N'JL0N^NuNV|./N3XX. /N3.X.i/N3.X.?< NT>N'N^NuNVH*n yk XkRykJL N^NuNVH*n. (nGVfJL8N^NuNVHN/>|fp`>N/08*@sPJnfU.5=/.N3XJ@f U0`R`.5B/.N3XJ@fU0`2>/.?N1\J@g3#k3kkp`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN'>NN^NuNVHBG`0мi.N'RG|mJLN^NuNVH*n0-|g*.N(-g .N,B@H+@+@Bm m>N($JL N^NuNVH>.>N/*@ f3 k3kkp`NBF0|f>?<>N4T<l|>N/>N/RJFf0``3k3kkpJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N.\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N*\Bm +mB@JL N^NuNVHN/>|fp`>N/08*@sPJn fUJnfU.5=/.N3XJ@fU;n 0``.5B/.N3XJ@fU0`d>/.?N1\J@g>N/R3k3kkp`0U>B-H?N*\BWB-H?N*\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N/*@ f3 k3kkp`$>?-/. ?<BN4P+@U -JL N^NuNV>B?.a\N^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (yj*T`ZB@0-BA2-@F@J@g>N.B`:B@0-ne `*jf>a*@ f>N.B`(M*U`JL0N^NuNVH n*PB@0. X@me n `F(MB@0. HH@B@H@B@0-n 9@B@0,F@9@( n ;n B@0-F@;@#j PJL0N^NuNVH >.|?GG0@>N. *@fB`* R*@(M9GB@0,F@9@.Pa 9jJL0N^NuNVH *nQB@0-BA2-@F@J@g>N.p`(yjeeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #jB@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#jB@JL0N^NuNVH *n.a>. ^GORG>a-@fB`J n(PPg2d`Sn Jn f`B0. B0. `%Sn Jn f>/.aXJL0N^NuNVN^NuNVN^NuNVH >.HμgR*yk(Gk.N|f3 k3kkp`>Bg/ NN\ JL0N^NuNVH>N/*@ fp`XJnfB@`N-g3 k3kkp`0-g>/. / N0`P``>/. / N1pPJL N^NuNVH|BG` jf j0`RG|m3k3kkpJLN^NuNVp2.`F@HjB@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@sP0.@BUB-+| BB> Bg/ NN\> ?< / NN\JL0N^NuNVH>.|e3 k3kkB`0B@08*@sP-f3 k3kkB` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N4=@B0.ѭJnf3k3kkp`^=n`8Rn>?</<j/-/ N4=@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N4=@Jnf3k3kkp` B0.ѭ -o+mB@0.JL N^NuNVH*n 0.8мsP-@~.a&M`RJg :fJgc .Am .On*K`K0.`BW/ ?<o n1GBG`BW/ ?<NN4\JfB@`0<>`d>ON4JfB@`0<>`J.?<=N4T>o n1GBG`,.?<AN4T>``||b@0@j PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH *n (n`RJff .JL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^Nu _B0Z"ykCCbN8C NNV n=h.0n/0n/N4P/?.?<?N4PN^NuNV n=h.0n/0n/N4P/?.?<@N4PN^Nu#kNA/9kNuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuStack Overflow runtimeCON:LST:Cannot initialize stack  wp 1?:7 TTLEXEC.TTP\ -d -a -c 2 -c 3 -f -i -s -o -n p *bB turtle.rsc0??aa00,  @ Ncb?00``q??{??{?{ | |??'??w0?? ?0? ?{``????????????????? ????????????8?8?8? p???A8<p??8<??px?|?px8???x0?p?x8??<?p??<?p??~?~~~~~``WW??V WV WªªV U_V U_::5VWUu5VWUujjX UWX UW@ @ @0@0@ `8@ `8`?? `?? 0? + 0? +  UVWVVUV`UWx UVWVVUV`UWx? ? _ U\]\UWU\U^x_ U\]\UWU\U^x : :~ =]XWVՀ=_~ =]XWVՀ=_ :zx :zxO Wuup]\WWuxO Wuup]\WWux j jw Vu`=]XVVpw Vu`=]XVVpo :o :O \uUp\\UO \uUp\\U j jUUUUW =XՀU=X=XWUUUUW =XՀU=X=XW着 :ꫀ::着 :ꫀ::<UUU_ upWWWupupW<UUU_ upWWWupupWꪪ jjjꪪ jjjUUU| `WV``WUUU| `WV``WUUU`]\WW^UUU`]\WW^:::: UՀ=UXWՀՀU=Ux UՀ=UXWՀՀU=Uxzz:zz:U=U_WuU_WWUWuUpU=U_WuU_WWUWuUp :j :jUU@ UU?UU@ UU?????UUUQT @ UuT @UUUQT @ UuT @㪨㪨UP@U@SPT]@UP@U@SPT]@::::::UUUUG_@5u]`T5UUUUUG_@5u]`T5Uꩪjj:j:ꩪjj:j: TUCUQ@uuPUMUUQPTuX55U TUCUQ@uuPUMUUQPTuX55U:jj::jj: UUUxUGUcP5Ut_SQPuu5u UUUxUGUcP5Ut_SQPuu5u:z:j:z:j5}OAT @5u UG_SSQTuU5}OAT @5u UG_SSQTuUj:jj:j5UUUTt=UUUP@TuuUUGcSQXT5UUUTt=UUUP@TuuUUGcSQXT??????????????: unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $   jj 222j22222H!!!!"__start__exit_brk__breakk___cpmrvk__basek__sovf8_crystal_ctrl_cn5b___BDOS_blkfillN_indexl_strchrl___pname55___tname5=___lname5B___xeof5G_our_col6_archfla6_copyfla6_formfla6_incrfla6_diskfla6_onlyfla6_inhibit6_d_numb6_u_path6_exec_pr7_main_open_vw_open_wi_s_init,_doit(_butnup _do_redr_run_bac _bld_mfd X_prelim X_freeze~_set_cli<_draw_al_release_hndl_di _show_di _off_dia_do_menu_set_tex_pname7_read_rs_show_me_kill_me_coldB_dcolor7_dmonoP_v_clsvwZ_v_opnvw_vro_cpy_vr_recf`_vs_clip_vsf_col_vsf_int _i_ptrZ_i_ptr2d_gsx1n_gsx2n_iioffk_iooffk_pioffk_pooffk_vdin_crys_if_appl_in_appl_exP_evnt_mub_form_do@_form_dib_form_al_form_ce_graf_ha(_graf_moj_menu_ba_menu_ic_menu_tn_objc_dr _rsrc_lo L_rsrc_ga f_shel_wr _wind_cr _wind_op!_wind_cl!H_wind_de!b_wind_ge!|_wind_se!_wind_up"_gemdos"J_bios":_xbios"*__main"Z___main"__creat&_creat'8_creata'P_creatb'h_exit'__cleanu'_fclose'_close($__iobi___fdecl(_fflush(__open)N_open*H_opena*`_openb*x_lseek*_tell*__afreebj__aflistj_malloc+_free,_realloc-_malloc_.__errmal._sbrk. _write.__chvecj__allocc/__freec/R__chinit/n___chini/__chkc/__wrtasc0`__wrtbin1p___open1_ucase2_errnok__errcpmk_strcat3._strcpy3X_strlen3z___atabk____atab3__strcmp3__salloc4__pc_rea4H__pc_wri4_trap4lmul4_intink_eventl_statel_dhnumadl_gl_hboxl_intoutl_logo_mfm_dcopyadm_cm_mxn_myn_scrn_mfn_sav_coln_run_cmdn"_msgbuffn_asysaddn_hworkn_ptsinn_ptsouto_gl_wboxp_run_taip_globalq:_wworkqX_work_inqZ_run_patqp_xworkq_yworkq_adbladdq_controlq_int_inr_int_outr _butdownr._gl_hchar0_work_our2_pxyarrar_darchadr_dharcadr_ad_cr_aramaddr_retr_pbaser_dhincadr_availr_aes_hanr_hdeskr_dabotadr_dhmemadr_gl_apidr_contrlr_rezs_dhdisads_addr_ins_ddiskads_dhcopads"_dhfonads&_gl_wchas*_depths,_dincrads._dpathads2_dhpatads6_adrvadds:_dhforads>_dfonladsB_vdi_hansF_dnumbadsH_arezaddsL__fdssP_wdesk_menuadd_dformad_page_addr_ou_xdesk_ydeskXV`      *    0        $  :                          f.&4h.&`$&.   2  &                      t                     (     $                        , ,D( 0 <    >  h 0HN&  jp".86 Jp $""@2&"fHR"D.* @H $00 Desk File Options Help About TURTLE --------------------123456 Backup Quit ------------------------------ System Reset Archive Extra Copies Format Incremental Double Sided Path Disk Numbers Files Only Archive Extra Copies Format Incremental Double Sided Path Files Only Disk Numbers Memory TURTLEVersion 2.8 February, 1987A Public DomainCopyright (c) 1987 by:George R. Woodside5219 San Feliciano Dr.Woodland Hills, Ca. 91364OKhard disk back up utility,ARCHIVE:Set Unchanged As each file is copied, TURTLE will set thebit in the directory which indicates that thefile has been backed up. You may override thiswant the archive bit left unchanged.feature, if you wish, by indicating that youCOPIES:123You may select the number of diskette copiesyou would like to have written:FORMAT:YesNoBackup is quite a bit faster if the diskettesit is much faster to let TURTLE do the formattingare already formatted. If they are not, however,as it writes the diskettes than to format themahead of time. Do you want TURTLE to format thediskettes as they are written?INCREMENTAL:Full Incremental You may elect to do a full backup, where allfiles in the selected paths are copied, or anincremental backup, where only the files whichhave been modified since the last backup arecopied. Which type of backup do you want to do?SIDES: Single Sided Double Sided TURTLE creates diskette images in memory, thenwrites them. It must know ahead of time whetheryou want to write single sided diskettes, ordouble sided.Select the drive or folder to back up: _____________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOKPATH:CancelFILES ONLY:TURTLE normally backs up all files in alldirectories along the input path. You mayinstruct TURTLE to back up only the files inthe path, but not follow the subdirectories, Files Only Everything by selecting Files Only.NUMBER:As diskettes are written, they are assignednumbers for labelling, starting with diskettenumber 1. If you want the numbering to beginwith some other number, enter the number.??Number: __99CancelOKThere is a bit reserved in the directory ofOKeach file called the "archive" bit. It is setwhen a file is backed up, and turned off whenthe file is modified. TURTLE automatically sets the bit when it backs up the file. If, for somereason, you do not want the archive bit seton the files to be backed up, select the boxmarked "UNCHANGED". Normally, the selectionwould be "SET".ARCHIVE:When TURTLE backs up a path or disk, it usuallyOKwrites one copy of the diskettes used to storethe files. If you want more copies of the backupdiskettes, you may request them. Select 1, 2, or3 to indicate the number of copies you want.COPIES:Formatting diskettes takes a bit of time. BackingOKup your hard disk is quicker if the diskettes arealready formatted, but TURTLE can format theif you have formatted disks available, use them anddiskettes for you and copy onto them faster than you can format them to prepare to run TURTLE. So,do not select the formatting option. If you mustit for you by selecting "YES".format the disks before backing up, let TURTLE doFORMAT:As mentioned in the help screen for the "archive"OKoption, the Atari ST keeps track of which fileshave been modified since the last backup. If you wantto back up all the files on your hard drive, usethe "FULL" option. If you want to back up only the"INCREMENTAL" option. files changed since the last backup, use the INCREMENTAL:Because TURTLE creates memory images of the diskettesOKbefore writing them, you must tell TURTLE before handexactly what type of diskette you intend to write.Select "SINGLE SIDED" or "DOUBLE SIDED" to show whichtype of disk you will use.SIDES:You must indicate which portion of the hard disk youOKwant to back up. You may back up the full disk, orany folder. To back up a full disk, type the name ofthe disk (such as "C:"). To back up only a portion, typethe name of the folder (such as C:\LIBRARY\GAMES). Thefolder or drive you choose to back up may containother folders, but you should attempt to avoidusing more than 39 folders during any session.You can insure that you stay under the 39 folder limitby selecting paths to back up one at a time.PATH:When a path is input to TURTLE, it backs up allOKthe subdirectories in the path, then all the filesin the path. You may instruct TURTLE to back uponly the files in the path, but not enter thesubdirectories, by selecting Files Only. Tothe subdirectories along the path, select Everything.FILES ONLY:back up all the files, and all the files in allNUMBER:Each time a diskette is written, the messagein the status part of the screen will refer tothe diskette by a sequential number. This willassist in labelling the diskettes. If there areseparate backups being run by path, you may wishto have the numbering be consecutive across all the diskettes. If you want the first diskette tonumbered other than 1, enter the number you wantassigned to it.OKBacking up a hard disk is a long, slow process. OKTURTLE makes it much faster by using a large amount of memory to write diskettes faster. You will needa 1 megabyte system (an Atari 1040 or a 520 withexpanded memory) so TURTLE can automaticallyTo execute TURTLE, make most of the memory in yoursystem available by disabling desk accessories (changethe file type to .ACX) or removing some programs fromsoon as the backup is completed.your AUTO folder. You can return things to normal asMEMORY:create the RAMdisk necessary to execute a backup.[3][Invalid |screen|resolution.][ RATS! ][1][Insufficient memory available.|(TURTLE will make a RAMdisk.)|Please check the "MEMORY" item|under the "HELP" menu.][ Proceed ][3][Drive M: must not be active.|(TURTLE will make a RAMdisk.)|You can do a System reset, or|do a Reset from the FILE menu.][ Sorry ][2][Insufficient|memory for|double sided|backup disks.][ Sorry ][3][ >>> WARNING <<<|This is a system reset!|It will de-activate drive M:,|and act like a power off and on.][ Do It! | Cancel ]?|?0#0<p``zr|33@ 0 ?><ӿ ݿ!>?ϼ'?>|0  | 0;;;;{{Ç~x<#,m 1<F.. * - 8 ZZ( $  +  7  E" P  L a v xz|~  "2B!)$ "R#b$r%&'()   s7- @ W  q,    0 t2   % +-.1. V.0&, , 5 *  -1M0~1 1 13    $ ,J-x.. /3  #).X// /1 &-t&w%}1  +---> K#  X-1 qy+-- -  ; ' B&  5 E/ q*  t/ / 0 0 1 0  ] 0   0   0  5  / *  / 10 b0 0  9 6 .  6 /6 \6 6 6   6  %   D 6 v ;  ~7 0  7 77J7}  7  < 717>7q77  =72 747i877   7 : 7 i 9  9  < 70 797i87 8   9 55=,j../0)0 Z 3  3  3'*  <71787k87 8  7 3 9 i "  9  9!!"#$\%%&'\(|)<*\+L, -D.4/T 3'*  <7177O87 8  7  9 M " n 9  9 !"#x$h%@&&'h(@)*8*,--//1#$%h&(&'()X*x+8,X-H./@001P1T1X. S t.. S tCOMMAND TOSTt JCGEMBOOT PRGZt 0GEMDIR TOS`t 8`8A&*O.|*m - ЭЭм// ??<JNA /<AatX MB"HB |@ 80<  fR`Jg R@R  nJgB`/ /<@?N BBBgNA"/0<NBNu#ANA/9ANuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH?BCB..,. f#A <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#A D`#A JLN^Nu o AdpNu#ABNuNVJy96lB@`pN^NuNVN5NмAN^NuNV .a m .z n . H|`. HN^NuNVH*n` H>aRJf .JL N^NuNVH *n(n `Jf JL0N^NuNV`R n  g .N^NuNV>N4N^NuNVHag(<fp` `<f` <fp` a|fB@JLN^NuNVH. H>N4aJLN^NuNVH*n` H>N4JfJL N^NuNV.aafN^NuNV.aJ@gp`aB@N^NuNV.9aN^NuNVHagHJLN^NuNVHa>aJHJLN^NuNVH *n(n JUgSUS.9a>JL0N^NuNVBn-n` . m .m.H` nBB@`.Q/UaX` nB nN.a`-nBn nN`l`.Q/UaTXJnf`TJnf4.9/.N8X.9N8=@HЮ-@.an``H |:VrW hN`&0.n l.H"n>N4RRna@| f nB./<9N8X0.N^NuNVH*n Jl- .D-@~ `/< /NP.o`H992f.RH992f 92`H>a|=@f./ aX(@`<Af(. n0H/ahX./ aX(@`<CfBW/ N6bX`RJf`<DfN5NмA`<Ef$.0y9:/aX./ a>X(@`Z<Pf.9=/ a&X(@`B<1m4<9n.Sn0."n2Al n2n./ aX(@`92R`JfB .JL0N^NuNVa:J@gN*.a`aaJ@gN J@g Sy94p``B@N^NuNVB. /&N8X-n./.aX`BW?.$/.N6@\Bn"A-H`dR./<?.$N5\gJn"f>$N5p```0`& n g$ n  g n  gRRn" n"m>$N5 .fp` nB././/aX .aJ@gp`D.&/aXJy94g Sy94p`BW/&N5X=@$lpN^NuNVnNJ@gp`j|v-y9BA#9`4N*.*?</vaV\a./vaVXJy94g#9Sy94B@N^NuNV H .м,-@ .9=/<9 n /N PB.&Bn nfF.:NJ@f(Sy96.&/<:aXJy94f\Ry96.&a`H=|$`0n$ *P`RJf Rn$0.S@n$n.& n /(alXJL N^NuNVH (n`N*n `(<am<zn H|`HHAfRRJfJf./.N8X`RJfRJfJL0N^NuNV./. /.N8P/N8:XN^NuNVBW/.N5X=@lp`` >N5B@N^NuNVH*n n (:g N:` n R n ;g n Jf -:g -\g\././ aJP .JL N^NuNV././. /.av .a/.N6X=@`Bn`A-H`R nJg n .f0. @"|:./.N8dXJ@fD0.м: @ hfJnf&0. @"|:00=@nl=n`Rn nmlN6=@JngR0.`P-|:=|`Z-|:=|`J-|:=|`:-|:=|`*-|:Bn``|g|g|g|g`././. /.a( 0.N^NuNV n (:fJnf .:/. /.aP.aJ@gx.:/. /.a|P.aJ@gT.:/. /.a^P.a|J@g6.:/. /.a@P.a^J@g.:/. /.a"PB@`p`p`Z`X-n`2>/. /./.a =@g0.`*.a-@ nJf.:/. /.aPB@N^NuNV-n `R nJf` n \g n .gS . fJnfD./<:N8dXJ@f..; /./. /.aj J@gp`B@``./<:N8dXJ@g,./<:N8dXJ@g./<:N8dXJ@f*.; /./. /.a J@gp`B@``>/./. /.a N^NuNVH*n \fJ-g -:fJ-g -\fJ-gB@`pJL N^NuNV.;6/. /.N8P/N8:XN^NuNVH*n` *g ?fp` `RJfB@JL N^NuNV.=QN:N^NuNV>N4Jy;:g>v`>wN4B@N^NuNVN<}NTa.N5Hr4.aHgB@`"` >N5H <.adp`l-|;<`T. n/N8dXJ@f:-n /.//. NX/NP/ n hNPp`P n P  fB@JLN^NuNV.N.=NJn g.;`.;N:N^NuNV nJPfp` n hH|=@`SnpH>NJnfB@N^NuNVB@N^NuNVH n Pg.=N:`L n*h.NJ@g.=N(.N:`" n. / N6XJg .=N:B@JL N^NuNVH*n./<;6N8dXJ@f.=a J@fB@`<.NJ@g.=N.N:``.aJ@g .NJ@gB@JL N^NuNV. /./<aPN^NuNV.a.N5V> /.N6XJgB@`pN^NuNV.?</.a\J@g(.N(J@f.>N(J@fB@`p`b``Jn g".>N(J@f.N(J@gp`8NT.N5Jg".>N.NNTp``B@N^NuNVBW/.aLXN^NuNV. /./<>aPN^NuNV0.|A<>RW/N6bX.>.N.E`.N:N^NuNVN5N>aN^NuNV n (:fh nJ(f nH>Wad`t`DN5N=@ nH>aJ@gp`P.TN5=@>N5HJnfB@`,`.N5JfB@`.N.>GNpN^NuNV nJPfa:``. /./<aPN^NuNV.N5Jg.N5JfB@` `.>[N.NNTpN^NuNV. /./<aDPN^NuNVH./.N8dX>. /<>jN8dXJ@fJGgB@`p`L`J. /<>lN8dXJ@fJGmB@`p`(`&. /<>nN8dXJ@fJGnB@`p``B@JLN^NuNVJng0. ` Jn gB@`pJ@g*.N. n2n /0NX``B@N^NuNV n ./<>pN8dXJ@f:./. ?< n /( NXJ@fBg`?<?.ad `N`L n PlB@`>./. ?< n /( n /( n /(a ??.a N^NuNVH n PlB@`v n./<>wN8dXJ@fHBG`0G2GRI!iRG|m n0"nSQ. /.Bga\``. /.?<a\JLN^NuNVH nJPg~ n !|.: n/(/. NP.N n Pf n Bh`8BG n*h n (h`RGݾ|m.  n /(NXB@JL0N^NuNV nJPfp` n hH|=@`8Sn n Jhg0. N.  n /(NXJnfB@N^NuNVH*y90<``.{N 90NNT*U 99W`BW/. N5XN^NuNV n<./<N ..N.>N.N.>N.N.>N.N.>N:N^NuNV nJPfN<.A#9 n*h`d(M`RJg !fJgB@`p=@B.Nl*@.N J@f2. / NXJy94gSy94`Jng ` R*@Jf#9B@JL0N^NuNVH BGaJ@f.>N:J@gp`f-|;<`D(|<` Jf(|<`Jf.N@|Yg .Nf.H>N4NT .YgB@`pN^NuNVaV.N@|0m. .9n&.H|394.H>N4`` .Am* .Zn".H|394.H>N4`h`b . g^ .fRNT-y9-|? A#9ab#9Jy94gSy94fNTax.Ry94`B.? n/(N8dXJ@g n.N7y94`a` J@g|g`B@N^NuNVN>/<; a~XN^NuNVNJ@gB@``.N n.N:N^NuNVH n*h nJPf a`` n Pg.a``~./<;N8dXJ@fSy96``./<;N8dXJ@fRy96`D./<;N8dXJ@fBy96`(./<;N8dXJ@f 396` .a`B@JL N^NuNVH n*h nJPf$Jy98lBW`>/<;2aTX`x`r./<;N8dXJ@fSy98`T./<;N8dXJ@fRy98`8./<;N8dXJ@fBy98`./<;N8dXJ@f398B@JL N^NuNVH n*h nJPgn./<;N8dXJ@g./<;N8dXJ@fBy;:a`J`6./<;N8dXJ@g./<;N8dXJ@f3;:av`>;:/<;&a8XJL N^NuNV n Pf0 n-h n ;fR./<9=N8XB@`D`B.?N(J@f0J99=fB@`pHм9<.N(J@fNTJ@fB@`pN^NuNV.?"N:Nd|f n JgaB@N^NuNVHBD>. n ;fJygB@`p3`BW/.N5X=@l.?N5Jyg JEg nN80JLN^NuNVN5N4NN^NuNVH*n`H>aJ@gp`JfB@JL N^NuNVp H>aN^NuNV.?IaJ@fF.aJ@f<.?PaJ@f0.0n /NX.aJ@f.?iavJ@fB@`pN^NuNV n :fa`$.&/<&?<7/<&/.aN^NuNVBy. /./<'NaPN^NuNVNd|gB@`pN^NuNVB@N^NuNV n :f.?mN(`$.'/<'?</</.aTN^NuNVBy. /./<'a&PN^NuNVH *n(n `H>NJ@gp`JfB@JL0N^NuNVH*n >.<.N8Ȝ@`> NJ@gp`0SFJ@f./.aXJL N^NuNVH*n >.>/ //.NP/aPJL N^NuNVH *n >. n(P .f `H>NJ@gp`ZJg0SGJ@f`$`H>NJ@gp`:Jg .g0SGJ@f`> NJ@gp`0SGJ@f .fR n B@JL0N^NuNV>/. /Pa\PJ@f*?<. n NTJ@f>/. /Pa6PJ@fB@`pN^NuNV> /./.aPJ@f./<?qaJXJ@fB@`pN^NuNV?< nNTJ@f?< nNTJ@fB@`pN^NuNVH*nBG`RG | mBJL N^NuNV. gp\`. gp/`p N^NuNV n |fRp`B n (:f nH>N|Cf n (:gN5NfB@`p=@.avJ@g(.;6/./N8P/N8:X-@. /<?sa$XJ@f. /.aXJ@f . aJ@gp`BnBB.?</.a\J@g/</.NP-@Ѯ.H?aT? n NTJ@fh. /aXJ@fR.H|g?<+`?< n NTJ@f0.g. /<?aHX`. ?</.a\J@gp`RRn0.|fBn. aJ@gp``. /<?aXJ@gp`.N5V.aN6JgJng. axJ@gp`JJng./.aX. ?</.a\J@f. /<?ahXJ@f>/. /.aPJ@f. /<?a:XJ@fJng. ?</</././.NP/NP/NP/a~\J@fn. /<?aXJ@fZ. ?</</././.NP/NP/NP/a(\J@f. /<?aXJ@fB@`p`B@J@f. a0J@fB@`pN^NuNV./.aXN^NuNV nJPf .;6a`./<-a/.N6XJf.fB@`p``B@N^NuNVH*n.NLJ@gB@``.aJ@gB@`pJL N^NuNVH*n`RJf JL N^NuNVRH =|./N8X.a*@` мػ@SDg :g \f.?/ RN8X.NBW/. N5X>l .?N. NNT`BW/N5X<l.?N:`*<`ⅺg.N6(@ g`$./.?N6\g.?N`./?N5\-@nȺg.N6Jg.?N:`Bn>N5>N5.N./N6X0.JL0N^NuNVH*n `RJf` @SDg :g \fR.NLJ@g&././N8P/N8:X-@`@.apJ@g4./<?/./N8P/N8:P/N8:X-@. /.aXJL N^NuNV>/.NXJ@gp`..@/. /N8P/N8:X./.aXN^NuNVv./N8X.NLJ@g A-H`.a -@ n\R. /N8X.a-@` ."Ҽ@SDg n :g n \fR.zN5V>/. N6XJgB@`p=@`./.N8X./.N8X.g* ..g ./aXJ@gp`x`J.@N(J@f.N(J@gp`NNT./aXJ@gp`*.zN5VN6JgB@`p=@Jnf4N^NuNVH *n(n .NJ@g=|`l.NLJ@g./NX(@=|`D.aJ@g:.;6/<@/ /N8P/N8:P/N8:X(@=|Jng8.aJ@g .N(.@N(NTp`` ./ aX` ` ./ aXJL0N^NuNVHBG`&> n2G/0/.aPJ@gp`RGn mJLN^NuNVH n>|fBW n/( n/( aP`6|o$ n2GSI.?SW/.\an\`` .@3N:B@JLN^NuB@`0<?NATNu0<?/?NAXNu0<`0<`0<`0<`0<`0<`0< `0< `0< `0<2<??NMJNu0<2<`0<`0<`0< `0<`0<`t0<`^0</`f0<*`^0<+`b0<,`N0<-`R0<0`>NV?. /.?<1NANuNV?. /.?<6NAN^Nu0<9NV/.?NAN^Nu0<:`0<;`0<`0<?NV/./. ?.?NAN^Nu0<@`0<A`NV?<?./<?<BNAN^Nu0<BNV?.?. /.?NAN^Nu0<C`NV?. /.?<GNAN^NuNV/././. ?.?<KNAN^Nu0<M`,NV?. /.?<NNAN^Nu?<ONATNuNV/. /.Bg?<VNAN^Nu0<E`0<F`0<H`0<I`NV/. /./<JNAN^Nu0<L`NV/. /.?<WNAN^NuNV/. ?.?<NMN^Nu?<NNJ_Nu?<`?<`NV?./. /.?<NNN^NuNV?. ?.?<NNN^NuNV/./. /.?<NNN^NuRising Star Industries, Copyright (c) 1985NVH*nBGBF`RHHм@R @f +fR` -fRRF` H@| 0m 9oJFg0D@>0JL N^NuNVH *n (n`RJff .JL0N^NuNVH *n(n `op`lp`JgJfHHAJL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuRising Star Industries, Copyright (c) 1985CON:LST:AUX:%;PATH=:9  0BZAUTOEXEC.BAT*** GEM DesktopBatch file: Program: Cannot find .BAT.PRG.TOS.TTP::::.*ONOFFSETRESETECHOWRAPPATHLOG*.*<< <!<<4P<F<-<-; "<<F=!=6= ;2#N=-=R;,$=%,=.6='=%L=)V=-=0F=3:=9=?=D(;&$=IL=K"=M0=ORising Star Industries, Copyright (c) 1985eq{ }A: does not exist. A: is 0: A: A: Select item to continue execution: ?BELLBYECDCOPYDELDDIRENTERERAEXITGOTOIFLSMDPAUSEPDIRPRINTREMRENRDRMSTACKSHIFTSHOWTYPE;:! RSI Command Facility V1.01 9-20-85 WGWTerminate commandValid disk letters are A through P is REN needs 2 file names.Cannot find Rename failed.Erase all filesCannot erase: exists. Creating Cannot create Current directory for \ cannot be found. Cannot remove =<>EXISTSNOT*** ENTER <--- Current Environment KB free of blocks use bytes/sec sec/block*** ! CommandBuilt-in commands: (Y/N)? *** Query EXIT?PATH = Press any key to continueCannot open File: Page: K Search path: ---- |B total in files. B free B total$$$Cannot copy Cannot open destination fileWrite Error while copying file.\\*.*Copying \ must be a drive or subdirectory.COPY destination not specified!!!!".. vf $^&Db ".(<|* $ $ *:<,Rj "L0 &.(Dj. "   0 $P*B *d d` 2  BDB 2" > :.     " 6   2 @&(  J  JR <     $ 2 $     "(   $F   6   .  @  6 >0@$L* . XT$ lpXX.4 * 8  2b.      J  0 & ^:`JvU|N6N RN N N N 8N (N Nb*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N`\?<N?<A?<NAXNuNV=|Hn?<N\/.?<;N\?<Hl?<NNPJf.H|g,.H|.gHnA м/NPn`:.H|g,.H|.gHnA м/NVPn?<ONxTJgHl?<;Nd\/. ?<NV\0.`N^NuNVBgHlz?<NN6PJf@HlNX=|`8 .м/0.Rn?HlNf ?<ONTJg` n mA` HSh0( @m< A` H"R AH|`Hl`?< N\Hl`Hl(NHPHl`NX?<NzT@Bn.H|f`&.H|0=@0.nl nmHlVNX0.g4BgHlz?<NNP=|`?<ONTRn0.nm .м/A R/NPA R/NX@/?<?<KN N^NuNuNV?.N T nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN `XN^NuNV/ AL&H`0+ |g/ N*X AL"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N JXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ N(P @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NXP'@&Bk0<LN^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g ALAA &'@`*0+H/NX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N\XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNv -@?<?.B?<BN\ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`&0.A쪐0nf0.A쪐BPRn nLmN^NuNV?>.=|0A쪐"HPgXHf0(>N^Nu)I)J)_NM"l$l/,Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlfHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hln/N: /NXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN\P0.N^NuNVHnHl`NPN^NuNVHn /.N&PN^NuNVHl`/.NPHl`?< N\N^NuNV`/. nRH?Nf\ nfN^NuNV n "n fN^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NvX0. Sn J@fN^NuNV` nRH??<NHX0. Sn J@fN^NuNVH0&n $KAr-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NlTJ@f`H| f |o@ H-@/./.?.?<@Nr 9@Hg0<`0,n/./<?.?<@N< 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@Hg0<`0,nBl0.L N^Nu)|V)|`,)|))|_)|AN)|V)|)|)|[CPATH=;C:\FCz*.BATCj\AUTO         CX\COMMAND.TOS    CL"2"2 2"2"2"22"2"2"22"2x9|J)l@)lD)lH)lL)lP9|CA"A"A"A$"A*"A"A "Nu*.*.. Boot procedures: %1d) %s M Select boot procedure (abort with ESC):  pError: no memoryq pError: %s not foundq Ep GEMBOOT V1.06 Copyright 1987 by Konrad A. Hahn q logging in drive %c:\ %3d directories Total number of directories found: %d \@$??CON:AUX:PRT:%d `DN6N NN NN hNXNN(*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N\?<N?<A?<NAXNuNV=|`0.RnA n mB.?< nA/HnNt Bn`AH| f`Rn nm n(H| g6A.?< nA/A 6.HЃR/N /..g A `A /HlN N^NuNVA2 HSh0( @m< A2 H"R AH|`Hl2?< N4\Bn`FA2 HSh0( @m< A2 H"R AH|`Hl2?< N\Rn0.nm/. NvX n -h`/.0.R@?N>\ n-h .fN^NuNVBn`n0. l gX0. l/0<An?Hl&N 0. l P ($g0. l P/($?<N\Rn noA HSh0( @mA H R @H|` HlNXN^NuNuNV?.N LT nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN tXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N zXBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV/ &n0+ |fk@ 0+ |`g0<`&Bk`R0+ |g AAA &'@`*0+H/N X&'@ fk `k g-K?<?+ B?<BN r n!@& k f Hl2N~X0+ |g0<`0+?/?+ NTP7@Sk0+ @l kfk `k@ Bk0<` SRH|&_N^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g AAA &'@`*0+H/NX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N,XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@Q`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,Q fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNZ -@?<?.B?<BN@ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<INr\N^NuNVBn`&0.Ab0nf0.AbBPRn nLmN^NuNV?>.=|0Ab"HPgXHf0(>N^Nu)I^)JZ)_VNA"l^$lZ/,VNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHlrHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnN4BF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hlz/N: /N^XHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHl2NPN^NuNVHn /.N&PN^NuNV`/. nRH?N\ nfN^NuNV nf:0,lf0<9@9@`?<NT=@ nf*0,g Sl?<?<NX?<D?<NX` n f00,RlA ?< ?<NX?< ?<NX`v nf ?<N$T nf20.2,RlA?< ?<NfX?< ?<NXX`*0.2,RlA?.?<N4X0<fAH|f0<`0,RlAH`` nf?<NT``0.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV`4 nH| f?< ?<N X nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA~-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N( 9@Hg0<`0,nBl0.L N^Nu)|V)|`,)|))|_)|AN)|V)|)|)|[C"2"2 2"2"2"22"2"2"22"2x9|)lL)lP)lT)lX)l\9|CA"A"A"A$"A*"A"A "9|9|Nu\%s Directory Block: %4lx{ ROOT } Drive %c: Media Descriptor: %4lx@$??CON:AUX:PRT:%d . t t@.. t tHARDAUTODOCut AHARDAUTOPRGxt C HARDAUTO.DOC This program will load in all files that match the pathname: C:\AUTO\*.PRG If you want to change the pathname, use a file editor and change the above string (near the end of the file where strings are always stored). Make sure that HARDAUTO.PRG is written to the A:\AUTO\ folder before AHDI.PRG or whatever your hard driver file is called. It has not been tested extensively, but has had no problems with the programs I usually use. If a program has "hard-coded" pathnames, it will still search the directory it always did (ie: A:\ASSIGN.SYS" for GDOS). These can usually be fixed by modifying the program using a disk editor. Unfortunately, I could not remove the drive A: disk access from GDOS. If anybody has found a way to do so, please leave me a msg on BC-ST. Penguin Opus sysop - Bloom County ST 205-772-8526 300/1200/2400 baud 24 hours/day 10 Meg hard drive online(starting around Aug. 10th) `*N6NNNJNNNNFNR*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N\?<NT?<A?<NAXNuNV?</N ^T-@Hl4NXHlNNXBg/,?<NN 6P=@ @l ```Bn` n( l@Rn nm lB(,/,HldNDPHllHlj/,Bg?<KN =@ nl/,HlnNP?<ON T=@ nlpHlNXN^NuNuNV?.N T nn0<`?.?<>N RX9@g0<`0<N^NuNV?.?<LN ,XN^NuNV/ A:&H`0+ |g/ N*X A:"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N 2XBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gL0+ |f0<`l0+ |g?<B?+ NP?/+?+ NP @f0<`6k -K k o?<B?+ NNP n!@&Bk0<LN^NuNV/ &n 0+ |fk@ 0+ |@g0<` fT0+ |g A:AA &'@`*0+H/NX&'@ fk `k `0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ NjXJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@ԱQ`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,ԱQ fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @A)X)XA BEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`d .6.HЃR$@ nH|0fRZ"H|9o R"` nH|0f$n R&@g`SE .6.HЃ @B n0L N^NuNVH$.". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNZ -@?<?.B?<BN@ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<INr\N^NuNVBn`&0.A~0nf0.A~BPRn nLmN^NuNV?>.=|0A~"HPgXHf0(>N^Nu)Iz)Jv)_rNA"lz$lv/,rNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp0.gHSn0.A P m0.A0| |A`0.A0|0 SR`LN^NuNVH&n n f=| A)X)XHlHl?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnN>BF0g" nm0RFA SRSGSn` nm SR0Sn`0. g SR.0. g nl SR0RnSn `0. Sn J@g$ Go0RFAH`0<0 SRSG``` SR0. g SR.><0. Sn J@g0RGA SR` SRE?.Hl/N: /NpXHѓLN^NuNVBn n PH|0m4 n PH|9n$0. n PHC|0=@ nR`0.N^NuNVH0&n -n @$PXgVgH|%g nR`H|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN"X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NT 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @A)X)X/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f .n nR` .R-@` nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHlNNPN^NuNVHn /.N&PN^NuNV ng/. nRH?N\`N^NuNVH0&n$K`Rf L N^NuNV0. Sn J@g6 nH| f?< ?<NX nRH??<NX`N^NuNV0. Sn J@g nRH??<NX`N^NuNV0. Sn J@g nRH??<NX`N^NuNVH0&n $KA-H nf?./ N4\=n`H nf?./ N`\=n`* nf?./ Np\=n` -KBn?.NTJ@f ndH| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@Nx 9@ @g0<`hRnR -@`R``` 6.ƼЃ$@ H-@/./.?.?<@N =@9@Hg0<`Bl0.L N^NuA)HA&)HC:"2"2 2"2"2"22"2"2"22"2x9|8)l)l)l)l)l9|CA"A"A"A$"A*"A"A "NuC:\AUTO\ C:\AUTO\*.PRGHard drive AUTO folder by Penguin Opus %s There was a problem loading: %s on to the desk accessories... @$??CON:AUX:PRT:%d .  tI..  tSBACKU DOCt J SBACKU TTPt M=SBACKUP - backup a GEMDOS drive to one or more floppies sbackup [-1] [-2] [-4] [-8] [-f|-i] drive_letter Does either a full (if -f given) or an incremental (if -i given) backup of drive drive_letter to floppies. The type of floppy is given by the switches -1 (for single sided), -2 (for double sided), -4 (for 40 tracks), and -8 (for 80 tracks). As a file is written to the backup floppy, the "written" or "archive" bit of the original files attributes is set. Later, whenever you write one of those files that bit is cleared. Incremental backups are done by looking for all files where that bit is clear. Default parameters are -2 and -8 (the appropriate ones for SF314 drives). There is no default backup type; either -f or -i must be specifed. The drive letter must be a valid GEMDOS drive; in the range 'A'..'P'. For full backups, each floppy is formatted before it is used. Incremental backups expect the floppy to be already formatted. The program loops prompting for floppy disks until the backup is complete. Answer each prompt with 'a' if the floppy is in drive a, or 'b' is the floppy is in drive b. Answer 'q' to abort the backup. The program does not try to make optimal use of the backup floppies. If a file doesn't fit on the current floppy, a new floppy is asked for instead of looking ahead in the list of files to backup for a smaller file. Each backup floppy produced is a normal GEMDOS floppy and can be used as such by any GEMDOS program. Each file is put on the floppy under the same path that it was on the source drive. A directory of all files written to backup disks is kept in a file called "$BACKUP.HST" that is stored in the root directory of the source drive (the drive that the backup is being made from). That file is created (or re-created) after a full backup. That file is appended to after an incremental backup. SRESTORE- restore floppies to a disk srestore drive_letter Loops copying the files on one or more floppies to another disk until the user quits. Each floppy is prompted for; answer 'a' if the floppy is in drive a and 'b' if the floppy is in drive b. The drive letter parameter is the drive that the files from the floppies are copied to. It must be a valid GEMDOS drive letter; in the range 'A'..'P'. Files are copied from the floppies to the same path on the destination disk. Backup history files (files with a name of "$BACKUP.HST") will not be restored. `8 N6N4NpNNNN NN7*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN#TX/,?,N\?<N?<A?<NAXNuNV?HlHlN0PHl2HlN0PBl9|P9|B,><`0 n PH|-f0 n P(H`|1g`9|``|2g`9|``|4g`9|(``|8g`9|P``|ig`|Ig`9|`Z`|fg`|Fg`:9|`4`0 n /HlHHlN/ ?N^NuNVHlHlN,PHlN"XHl?<PHnNz n,H|am,H|zn,H| @,H|Ag,H|Bf`,H|Qf ?<NT`jN^NuNVH0 n&h<`v n f+H| g`VA/HlHlN, ?<,H?/ n/N > GlHlHlN+P?. `B0SGJ@fLN^NuNVH n f` n/HlN-\PA&H`RfW?<0Hl^N\?< n/?<NN#\P>`Hl|HlN,PJ@gHl|HlN,PJ@f?<ON#$T>`~,sH|g6?<@NT-@ .f`?<@/.N \C^ nApN BF n-h8`H nA&/ nA&/N,>P< @l `(` n (f` n-h .f n (8f n!n8` Fln n (8f n!n n!n8`B n!n n-h8` n-h n ( nf n!n` n!n`0?<0NT-@ .f`?<0/.N\C^ nApNBF n-h<`H nA/ nA/N+ P< @l `(` n (,f` n-h, .f n ( GlF n/HlN*TPA&H`RfW n-h8`4 nA&/Hl/ N& HlN*X n n-h .f n-h8`/.NbX n-h .fLN^NuNV??</NT-@Hl^?<N\ nH?HlHlN&B ?<Hl?<NNP> Gm2Hl| nA/N)ZP`?<ONT> Gl`Hl nA/N)*PHlN:X n!@ nA/NX/.?<N0\>N^NuNVH0 n&h<`$K&k,/ NX f n-h8`2-n n-h/.NX n/NbX/.NXX .fL N^NuNV0.|g 0<R`0<-?Hl/. N$ 0.|g 0<H`0<-?Hl/. N$ 0.|g 0<S`0<-?Hl/. N$ 0.|g 0<V`0<-?Hl/. N$t 0.|g 0<D`0<F?Hl/. N$J 0.| g 0<W`0<-?Hl/. N$ N^NuNV0.|@@||P?0.|?0.|@?Hl/. N#0. |?0. |@?0. |@@|?Hl/. N#N^NuNVH0 n f`v n/Hl^N&PA^-H`R nfW nB0.g 0.gr n(Hn @f\/. n(H?N\Hl/. N#P/. n?( n?( NPHl^ n/("Hl/. N" n$h<`0.g0.gt*Hn @fb/. *H?Nv\Hl$/. N"P/. ?*?*NZPA/Hl&/.N"r Hl^/*Hl*/. N"D$j, fv n&h8`?./. / N &k fL N^NuNVH0. g =|P`=|(0. g =|`=|=| ?< N@T-@ .f 0<`?<N"T-@ .f/.NX0<`BG`? Gl.Hl^?<9N\> Gg?.H?NhX` nR\ nfb nH|*g 0<` n A//.NzP n (H|?Hl^?< Gf`L Gl0`^Hn0H/??<@N* > Gn?<.H?N~X`&`??<>NX??<>NX0<`LN^NuNV?.NpT nn0<`?.?<>NX9@g0<`0<N^NuNVHlD/.NPJ@g`HlJ/.N PJ@gNHlP/.NPJ@g n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DFNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @A)X<)X@A < @BEG>O|g|JGn|m` REHlV/ NRPO`SEHlV/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`d .6.HЃR$@ nH|0fRZ"H|9o R"` nH|0f$n R&@g`SE .6.HЃ @B n0L N^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`R ,$@ f*A$H`0* |f` A"Ҽm A"Ҽm <`BBj Bn+H|+f =|j H|wf?./.N>\>j `hH|afB0<n?/.N\> @f?./.N\>?<B?NPj `0.n?/.Nz\>j Gf Bj <`<5G Bj <$%@-J?<B?* NP n!@ n1l L N^NuNV)n/.NZX/. /.N@PN^NuNVH0&n$KSn 0. @oL nSh0( @m n R @H|` /.NX=@ @g0.H| f``B nf f <` L N^NuNV`H0BnBnBB9| nRH|=@ .&@$@BG`TH| g(H| gH| gH| g H| f0.f0.gBnB` `H|"f< nfBn`*0.f 0.f=|0,RlA` `"`H|'f: nfBn`*0.f 0.f=|0,RlA` `'`r0.fj0.fd=|H|f. R @H|>f T-@=|` R-@Bn`0,RlA`  R0RG0nmB .g,A H1| A H1|HlHlj/.N .g2A H1| Hl0.gAl `An //.NN 0,R@H/?<HN@\)@><`0A` 2 l RG0lm l 0, lBL N^NuNVH$.". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV nl <`?.?./. ?<BNf -@ m .`?<?.B?<BN< -@?<?.B?<BN" -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNVH0><2.|SA¼0?N T&@f <` $@5G \/NX ,L N^NuNVH0><2.\ASA¼A ,$@ fA $@)@)@Bl&R0+Ge*0+Gf$`0k0+7G)J \`, f?NT&@ f <` $@ &@`L N^NuNVH0 .]&@$l` m n l`$R o l 2+Ёf R0(k R&`& 2*Ёf 0+j$`$)JL N^NuNV/ 0Q"_N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHlp/.N xPJ@f =|`Hlv/.N \PJ@f =|`Hl|/.N @PJ@f=|`f0. |g0/.N XJ@g0<``Bg/.?<NhX0. |?/.?<=NPP=@9@ @l0<`0. | ??.N~X0.N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/N:X 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp0.gHSn0.A P m0.A0| |A`0.A0|0 SR`LN^NuNVH&n n f=| A)X<)X@HlHl.n RG0lHo0,H`0> Gl0<`0?HnHnHnNBF0g" nm0RFA SRSGSn` nm SR0Sn`0. g SR.0. g nl SR0RnSn `0. Sn J@g$ Go0RFAH`0<0 SRSG``` SR0. g SR.><0. Sn J@g0RGA SR` SRE?.Hl/N: /NXHѓLN^NuNVBn n PH|0m4 n PH|9n$0. n PHC|0=@ nR`0.N^NuNVH0&n -n @$PXgVgH|%g nR`H|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN"X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NT 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @A)X<)X@/,@/,' sbackup: bad drive id '%c' sbackup: missing drive id: usage is 'sbackup [switches] ' sbackup: unknown backup mode: usage is 'sbackup [switches] ' Getting directory for drive %c... Note: ALL floppies put into drives in response to prompts from from this backup program will be completely erased before they are used. Beware! A response of 'Q' to a prompt will exit the program. Formatting drive %c... sbackup: error in formatting disk in drive %c. %c:\%swasbackup: can't create backup history file '%s' Volume: %s Insert floppy in drive A or B; type drive letter when ready: Writing file %s... sbackup: I/O or other error in writing file. Disk in drive %c is full. Formatting drive %c... sbackup: error in formatting disk in drive %c. Copying directory %s... ...%s\*.*%c:\*.*Hard Disk%c%c%c%c%c%c%02d/%02d/%2d %02d:%02d:%02d %8ld %s %s %8ld %s %c:\%s*.**.*CON:AUX:PRN:@$??rawCON:AUX:PRT:%d #a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 99 02 #W 00 00 02 01 1E 17 08 A:\*.*@ #W 00 00 22 01 1E 17 00 @ #W 00 00 00 03 1E 15 00 @ #W 00 00 24 03 1E 15 00 @ #M 07 00 00 FF A FLOPPY DISK@ @ #M 07 01 00 FF B FLOPPY DISK@ @ #T 07 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ @@ ScotSoft International @ @ @ @ @ @ @ @ @ @ @@ 47 Auchingane @@@ @ @ @ @ @@@ @ @ @@ @ @@@@@@@@@@@@@@@@@@@@@@@@ The Tryst @ @ @ @ @ @ @ @ @ @ @@ Edinburgh @@@ @@@ @@@ @ @@@ @@@ @ @ @@ EH10 7HX This disk is one of many in the comprehensive ScotSoft International library. If you find that the program(s) on it are not working properly, then read these instructions : [1] Try running the program in more than one screen resolution. Check the catalogue to see that the program(s) works in the screen mode that you use. If the description is listed as mono and you have a colour TV, or a colour monitor, then most programs run with the emulator [2] Make sure that the program(s) you are running works with the amount of memory installed in your computer [3] If you have an STE then make sure the