NNNNNN!dAp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNuW  @`O%`')+/1 3@C`79;=?A _ oGIKMOQ S@U`WY[]_a c@e`gikq s@u`wy{} O` `  O @ ` @ ` ǀ ɠ ` ׀ ٠  o `!Aa   4Aa!!#A%a')+-/1!35a79;=?A!OEaGIKMOQ!SAUaW  @`O%`')+/1 3@C`79;=?A _ oGIKMOQ S@U`WY[]_a c@e`gikq s@u`wy{} O` `  O @ ` @ ` ǀ ɠ ` ׀ ٠  o `!Aa   4Aa!!#A%a')+-/1!35a79;=?A!OEaGIKMOQ!SAUaAUTO_GEM et MONOEMU V5 z t SUPERFORMAT\w!CONTENTSTOSt 57INTASECTRAM]w,ARCHIVE $t DRAT_TRAPACC w STUKREADDOCpDIGWATCHACC H]wADESKTOP INF\wAUTO  t PIC_SWITCH IwPRTSPOOLPRGlwRAMFREE ACCw VOLUME #\wCONTENTSTXTTy B_BOOT PRG t GOODIES \wVKILLER2 /t TUKREADBAKp\ . e t.. e tREADME DOCgt  OLD it NEW qt XTo use STARTGEM.PRG, place it in the AUTO folder of your boot disk (floppy or hard disk). In addition you must also create a file called STARTGEM.INF on the root directory of the boot disk, which should contain a list of the GEM programs that are to be executed on startup... A:\1ST_WORD.PRG C:\UTILS\EDITOR.PRG The first three characters of each line must be 'x:\' where x is a drive letter. Note by Andy ST UK: if you use a Word Processor to create STARTGEM.INF make sure that you save in non WP mode. . j t.. j tSTARTGEMINFkt  STARTGEMPRGmt A:\INSTAL.PRG A:\SIGNUM.PRG RG C:\UTILITY\ARC\ARC.TTP Press any key to exit. Oops! No vertical blank interrupt vectors left! EOPAb`rAl BgHz~?<=NAPJ@jHz{?< NA\?<NAT`K:Hz/<@??<?NA JkrAB(??<>NAXB?< NA\Ot#,*|:<JgXQHy;?< NA\`(E**EV$/?< NA\OABg/?<1NABgNAp,g4A& PB y,C"C #, h h$h C"Nu o Pf#, zCfHy?<NA\?<'Hz?<NNAPJ@fjKB@|ߐ<A??<NAXRI:<?JgQ:<? $\gQRBHyJ?<;NA\ o PgTgf z o,<ܨ ܨܨ/?<NNT|f ,?<NAB?< NA\#L/<h?< NA\/<?< NA\h/<h?< NA\0<(J9igL 9igB@9j@0o| n BA9kA0m| nA|Pn3#NT#.#p:#X3(\3`EfCF0<'$QX4 +@N#P?</p3dJydf`#p##2p/9L?< NA\ Bg/?<1NAH`$Of Nj0*|g8|g<|f>5| * g*#P%| ` 9PLNs0<LNsLNH33B33D9@g3w@3F`3@3wFB99&@ yP"yTg K#P $HP$9X2<J9>f29\aPPXy` y`f&#X}}}3`QLNBydNs22NuNqEThe Mono Emulator - Mick West 1988 V5.00. Should be in AUTO Folder Will run with any TOS This is Shareware Send Money and Problems to: Mick West 27 Lynton Drive, Shipley, BD18 3DJ ENGLAND Feel free to give away copies of this But please copy the whole folder Enter speed (10 to 80, Return = 40) GENFMEDTMONOPXENDfINPUTMEDOKXBIOSGETREZINLOOPNINVERTfNOT2000VBLANK2DEFAULTMESSAGEhMONOPOSXNOTHIGH0NOTUSERVBLEXIT4COPYMOVEGENMOVE1NOINVERTvPHYSBASESCANPOKEMONOCOUNH`TMONOLINEH\SSAVESTACHLKXBIOSPOKH,ENORM_XBIH(OSVBLANKPOH8KERASTER_FHdLAGWAIT_RASHnTERSIMPLE_VH>BLANK<  &(  fx  and MOVE.W (A2)+,(A1)+ ADDQ.L #4,A1 MOVE.W (A1),(A2)+ ; Move the RTS MOVE.L A2,D0 ; A2 = start of free memory ADD.L #512,D0 ; Force it to a 512 b; The Auto Mono Emulator. V5.00 By Mick West. November 20th 1988. ; Routine to make the ST think it is in mono mode. Needs TOS in ROM ; Makes the system think that there is a mono screen, but actually ; be updating a medium real screen from this under Vblank interrupt ; The XBIOS calls; Physbase,Setscreen and Getrez are revectored. ; Put in an Auto Folder ; Works with any TOS in the entire world - hopefully MOVE.L 4(A7),A0 MOVE.L #$8400,D6 ; 32K for the screen ADD.L $C(A0),D6 ; plus the usual space ADD.L $14(A0),D6 ADD.L $1C(A0),D6 MOVE.L D6,-(SP) ; save length of program for later MOVE.W #4,-(SP) TRAP #14 ; Get screen Resolution ADDQ.L #2,SP CMP.W #2,D0 ; If not high then carry on BNE NOTHIGH MOVE.L (SP)+,D6 ; else tidy up the stack MOVE.W #0,-(SP) ; return ok to,GEM TRAP #1 ; Then exit back to desktop NOTHIGH: CLR.L -(SP) MOVE.W #32,-(SP) TRAP #1 ; Enter supervisor mode ADDQ.L #6,SP MOVE.L D0,SAVESTACK ; Save the supervisor stack MOVE.L #MESSAGE,-(SP) ; Address of start of message MOVE.W #9,-(SP) ; Print startup message TRAP #1 ADDQ.L #6,SP INLOOP: MOVE.L #INPUT,-(SP) MOVE.W #9,-(SP) ; Print input message TRAP #1 ADDQ.L #6,SP MOVE.B #3,MESSAGE ; Input length = 3 MOVE.L #MESSAGE,-(SP) MOVE.W #10,-(SP) TRAP #1 ; Input number ADDQ.L #6,SP MOVE.W #40,D0 ; Default = 40 TST.B MESSAGE+1 BEQ DEFAULT ; If len=0 CMP.B #1,MESSAGE+1 ; len of 1 not allowed BEQ INLOOP CLR.W D0 MOVE.B MESSAGE+2,D0 ; first digit SUB.W #48,D0 BLE INLOOP ; Too low CMP.W #9,D0 BGT INLOOP ; Too High (>100) MULU #10,D0 CLR.W D1 MOVE.B MESSAGE+3,D1 ; second digit SUB.W #48,D1 BLT INLOOP ; Too low CMP.W #9,D1 BGT INLOOP ; Too high ADD.W D1,D0 CMP.W #80,D0 BGT INLOOP ; Check less than 80 DEFAULT: MOVE.W D0,SCANPOKE+2 SUB.L A5,A5 MOVE.L $044E(A5),MED ; Set MED MOVE.L $B8,XBIOSPOKE+2 ; Get the old XBIOS address and MOVE.L $70,VBLANKPOKE+2 ; VBLANK and insert into new versions MOVE.L #0,MONOPOS ; Set offset to top of screen SCANPOKE: MOVE.W #40,MONOLINES ; Fourty lines per Vblank is default MOVE.W #0,MONOCOUNT ; Counter is set to zero LEA XEND,A2 ; A2 = pos of generated code LEA GEN,A1 ; A1 = pos of instructions to copy MOVE.W #39,D0 ; Generate the code GENMOVE1: MOVE.L (A1),(A2)+ ; Copys 40 of - MOVE.W (A0)+,(A1)+ DBF D0,GENMOVE1 ; and MOVE.W (A2)+,(A1)+ ADDQ.L #4,A1 MOVE.W (A1),(A2)+ ; Move the RTS MOVE.L A2,D0 ; A2 = start of free memory ADD.L #512,D0 ; Force it to a 512 byte boundry AND.L #$FFFFFE00,D0 MOVE.L D0,$044E(A5) ; And that is the monochrome screen MOVE.L D0,MONO ; Set MONO MOVE.W #$0002,-(SP) ; Hardware and Software to Mono MOVE.L #-1,-(SP) MOVE.L #-1,-(SP) MOVE.W #5,-(SP) TRAP #14 ; Set high resolution ADD.L #12,SP MOVE.L $70,A0 ; Save the old VBLANK MOVE.L #SIMPLE_VBLANK,$70 ; And set up mine MOVE.W #1,RASTER_FLAG ; Set raster flag to 'not occured yet' WAIT_RASTER TST.W RASTER_FLAG ; If still not occured BNE WAIT_RASTER ; then loop until a vbl does occur MOVE.B #1,$FF8260 ; Back to medium hardware after VBL MOVE.L A0,$70 MOVE.L #XBIOS,$B8 ; Set up the new XBIOS vector MOVE.L #VBLANK,$70 ; And the new VBLANK vector MOVE.L SAVESTACK,-(SP) ; Restore the Supervisor stack MOVE.W #32,-(SP) ; And go back to User mode TRAP #1 ADDQ.L #6,SP MOVE.L (SP)+,D0 ; Tidy stack CLR.W -(SP) ; Exit ok for GEM MOVE.L D0,-(SP) ; Length of program + data space MOVE.W #$31,-(SP) ; terminate and stay resident (TSR) TRAP #1 ; Finished this AUTO program ; This is the new XBIOS routine XBIOS: MOVEM.L A1/A2,-(SP) ; Save A1 and A2 MOVE.L SP,A2 ; A2 = the stack ADD.L #8,A2 ; offset over A1 and A2 BTST #5,(A2) ; Test if called from user mode BNE NOTUSER ; Skip if it is MOVE.L USP,A2 ; Otherwise get A2 = User stack SUB.L #6,A2 ; Offset it as if it were the SSP NOTUSER: MOVE.W $6(A2),D0 ; Get XBIOS instruction code CMP.W #2,D0 ; If it is _PHYSBASE BEQ PHYSBASE ; then jump to new PHYSBASE routine CMP.W #4,D0 ; If it is _GETREZ BEQ GETREZ ; then jump to new GETREZ routine CMP.W #5,D0 ; If it is NOT _SETSCREEN BNE NORM_XBIOS ; Then continue with the normal XBIOS MOVE.W #-1,16(A2) ; Else alter rez.W to -1 (No change) MOVE.L 12(A2),D0 ; Get the ploc.L parameter CMP.L #-1,D0 ; If it is -1 BEQ NORM_XBIOS ; then continue with normal XBIOS MOVE.L D0,MONO ; Otherwise, new value goes to MONO MOVE.L #-1,12(A2) ; Set ploc.L to -1 (no change) BRA NORM_XBIOS ; then norm BIOS deals with lloc.L PHYSBASE: MOVE.L MONO,D0 ; Get address of mono screen MOVEM.L (SP)+,A1/A2 ; Tidy stack RTE ; Return mono screen location GETREZ: MOVE.W #2,D0 ; Pretend we are in mono resolution MOVEM.L (SP)+,A1/A2 ; Tidy the stack RTE ; Return code for mono resolution NORM_XBIOS: MOVEM.L (SP)+,A1/A2 ; Tidy the stack up XBIOSPOKE: JMP $0.L ; And jump into the normal XBIOS ; This is the new VBLANK routine VBLANK: MOVEM.L D0-D7/A0-A6,-(SP) ; Save all registers MOVE.W #$333,$FF8242 ; Set up colours, grey for thin lines MOVE.W #$333,$FF8244 ; (1 vert mono pixel = 1 grey med pix) BTST #0,$FF8240 ; Check inverted BEQ INVERT ; Jump if so MOVE.W #$777,$FF8240 ; White background (normal) MOVE.W #$000,$FF8246 ; Black ink BRA NOINVERT INVERT: MOVE.W #$000,$FF8240 ; Black background (inverted) MOVE.W #$777,$FF8246 ; White ink NOINVERT: CLR.L D0 MOVE.B $FF8201,D0 ; Video base high LSL.L #8,D0 ; times 256 MOVE.B $FF8203,D0 ; Plus video base low LSL.L #8,D0 ; All times 256 MOVE.L D0,A3 ; Is the address of the Real screen MOVE.L MONO,A0 ; A0 = virtual mono screen MOVE.L MED,A1 ; A1 = real medium screen CMP.L A1,A3 ; Check if the real screen has moved BEQ MEDOK ; Skip this if not MOVE.L A3,A0 ; Get the new real screen address MOVE.L A0,MONO ; Set MONO From this MOVE.L A1,D0 ; And put the real screen back LSR.L #8,D0 ; to its origional position MOVE.B D0,$FF8203 LSR.L #8,D0 MOVE.B D0,$FF8201 MEDOK: MOVE.L A0,A2 ; A2 = mono start ADD.L #80,A2 ; plus 80, on to next line MOVE.L MONOPOS,D2 ; Get position in the screen RAM ADD.L D2,A0 ; Offset position in mono screen ADD.L D2,A2 ; And the other mono position ADD.L D2,A1 ; Offset pos in real medium screen MOVE.W #20,D1 ; default 20 lines / Vblank TST.B $43E ; Test flock system variable BNE COPYMOVE ; Set speed to 20 if using disk drive MOVE.W MONOLINES,D1 ; Otherwise get preset speed COPYMOVE: BSR XEND ; combine and move two mono lines ADD.L #80,A0 ; both need moving down another line ADD.L #80,A2 ; in the mono screen ADD.L #160,MONOPOS ; move down one medium/two mono lines ADD.W #1,MONOCOUNT ; count medium lines dome CMP.W #200,MONOCOUNT ; Done 200 medium/ 400 mono ? BNE NOT200 ; if not then skip MOVE.L #0,MONOPOS ; otherwise reset ram offset SUB.L #32000,A0 ; MONO position back to top of screen SUB.L #32000,A1 ; and the same for MEDIUM SUB.L #32000,A2 ; and the other MONO position MOVE.W #0,MONOCOUNT ; reset the counter NOT200: DBF D1,COPYMOVE ; loop round MONOLINES times VBLEXIT: MOVEM.L (SP)+,D0-D7/A0-A6 ; Restore all registers VBLANKPOKE: JMP $0.L ; Jump to normal VBLANK routine ; This is a simple Vblank routine that just clears a flag SIMPLE_VBLANK CLR.W RASTER_FLAG ; Indicate a Vertical blank has occured RTE ; The following bits of code are not called but are used to calculate ; a large chunk of code to combine two mono lines into one medium one. GEN: MOVE.W (A0)+,(A1)+ ; Move one Mono line to one Medium MOVE.W (A2)+,(A1)+ ; line on both colour planes times 40 RTS EVEN SAVESTACK: DC.L 0 MONO: DC.L 0 ; Base address of mono screen MED: DC.L 0 ; Base address of medium screen MONOPOS: DC.L 0 ; Offset in both screens in bytes MONOLINES: DC.L 0 ; Pairs of mono lines to do per VBLANK MONOCOUNT: DC.L 0 ; Count of pairs done so far RASTER_FLAG: DC.W 0 ; Flag cleared every raster (tempory) XEND: nop ; Position of calculated code MESSAGE: DC.B 27,'E','The Mono Emulator - Mick West 1988',13,10 DC.B 'V5.00. Should be in AUTO Folder',13,10 DC.B 'Will run with any TOS',13,10,13,10 DC.B 'This is Shareware',13,10 DC.B 'Send Money and Problems to:',13,10 DC.B 'Mick West',13,10 DC.B '27 Lynton Drive,',13,10 DC.B 'Shipley,',13,10 DC.B 'BD18 3DJ',13,10 DC.B 'ENGLAND',13,10,13,10 DC.B 'Feel free to give away copies of this',13,10 DC.B 'But please copy the whole folder',13,10,13,10,0 INPUT: DC.B 13,10 DC.B 'Enter speed (10 to 80, Return = 40) ',0 e ROM address, used to tell TOS to configure itself to being in mono mode. I have not yet worked out how to do without this routine. If anybody does find a way that will be compatible with all the ROMs, then please do write and tell me. As the ROM call is different for each version of TOS, the program has to detect which version of TOS is installed and then alter itself accordingly. To . 4 t.. 4 tVKILLER PRG 5t VKILLER RSC At CjO`QpZva<0*o"m #.I+I/ BBBg/ / Bg?<JNA N ?NO?<LNA#:-);-)8-)d:\vkiller.prg\1988\11\5\8\8#(-8(-;(-:NVN@Hy*HyHyHy|NB@3HyHy Hy Hy p?BgNDNNC>NDTON@N^NuNVp?NBW/9N\O y g y f09g @gBy 09 @bH0@Qp PN`N-P`N-`p?NBW/9>N \O=@09g @f p3 `By p?/9>N>`dN.`^N``VN#`NN'`FN(`>N^NuNVHp?NNTO3"0f/9p?N?\Op?NM@A p: HyVHy NFPO~ Gl6G?Bgp?NN\OHRG`LN^NuNV/ y"f&~ Gl0HA??p?NN\ORG`~ Gl$0@?0GH?p?NN\OHRG`p?p?NAXOBgBgp?BBgp?NMp?Bgp?BBgp?NM.N^NuNV09Ry0f B?<N?r\ON^NuNVSyf B?<N?V\ON^NuNVBn n l0.HAp0Rn`p3HyXHyHyNB N^NuNV=n=n 0. n=@0.n =@Hnp??9NBPON^NuNV?9?9 ?9 ?9 BgN? 33N^NuNV?9?9 ?9 ?9 ?9N@B/|N/|VTOHyHyp??9N?N^NuNV y"fBn3Np??9NBz?n>NB0XOp??9NCXO=y=y09yVS@=@09yNS@=@Hn?9N?\ON0N^NuNV/.N.?n TO/.N<\O@=@/.NXO0.N^NuNV n=h=h=h=hHnHnHnHn/N;?n?n?n?n ?n ?n?n?nXOBgN;?n?n?n ?n p?Bg/.N=N^NuNV n=h=h=h=hHnHnHnHn/N;@?n?n?n?n ?n ?n?n?nXOp?N;PN^NuNV/0.  @>( G0.  @1G .N^NuNV/~ G l>0H*/NBrXOR@?0H*/0X@?/9N RG`.N^NuNV0.  @-h n  n1nN^NuNV/HyUN0fHyULp?N:\Op`8HyBgBgN;/|>XOp?BgN;/|VXOp?BgN;/|XOp?BgN;/|NXOp?BgN;/|XOp?BgN;/| XOp?BgN;/|2XOp?BgN;n/|:XOp?BgN;Z/|BXOp ?BgN;F/|FXOp ?BgN;2/|JXOp ?BgN;/|PXOp ?BgN; /|ZXOp ?BgN:/| XOp?BgN:/|XOp?BgN:/|XOp?BgN:/|.XOp?BgN:/|RXOp?BgN:/|XOp?BgN:~/|XOp?BgN:j/|tXOp?BgN:V/|XOBgp?N:B/|XOp?p?N:,/|,XOp?p?N:/|XOp?p?N:/|XOp?p?N9/|&XOp??N9POB@.N^NuNV/ *y y"f8Hy}|Hy}HmN F/|a/|a$XOHm0N ,/|}|`H y"fT+| HyHy}HmN /|\/|a$XOHm0N /|/|}XOHmHN *y> y"fHyit` y"f +| HyHyiHmN *yV y"flHyohHyo|HmN ^/|oh/|o|XOHm0N D/|it/|iXOHmHN */|\t/|\XOHm`N /|f`~ y"f+| HyHyo|HmN/|/|o|XOHm0N/|/|iXOHmHN/|(/|\XOHm`N/|t/|fXOHmxNv *y y"f HyohHyo|HmNL/|oh/|o|XOHmN2/|it/|iXOHmN/|\t/|\XOHmN/|/|(XOHmN/||h/|||XOHmN/|l@/|lTXOHm(N/|u/|uXOHm@N/|f/|fXOHmXN|/|r4/|rHXOHmNb/|y` y"f&+| HyHyo|HmN./|/|o|XOHmN/|/|iXOHmN/|(/|\XOHmN/|/|(XOHmN/|/|||XOHmN/|/|lTXOHm(N/|P/|uXOHm@Nx/|t/|fXOHmXN^/|D/|rHXOHmND/|/|yXOHmN* *y y"fHyc` y"f +| HyhHycHmN *y2 y"f+| *y: y"fHyohHyo|HmN/|it`. y"f:+| HyHyo|HmNx/|/|iXOHm0N^ *yB y"fHyHy(HmN6/||h`. y"f:+| HyHy(HmN/|/|||XOHm0N *yF y"fHyl@HylTHmN/|u`. y"f:+| HyHylTHmN/|P/|uXOHm0Nz *yJ y"fHyfHyfHmNR/|c`. y"f:+| HytHyfHmN"/|h/|cXOHm0N *yP y"fHyHHy\HmN/|r4`. y"f:+| HyHy\HmN/|D/|rHXOHm0N *yZ y"fHyy` y"f +| HyHyyHmNT *y y"fHyc` y"f +| HyhHycHmN *y y"fHyc` y"f +| HyhHycHmN *y-y/.HyVHy$N7 +|$ y"fHyc` y"f +| HyhHycHmNf *y. y"fHyc` y"f +| HyhHycHmN$ *yR y"fHyc` y"f +| HyhHycHmN *y y"fHyc` y"f +| HyhHycHmN *y-y/.HyV#Hy$N6 +|$ y"fHyc` y"f +| HyhHycHmN6 *yt y"fHyH` y"f +| HyHy\HmN *_N^NuNV yh09 f4 y". \w!.. \wFORMAT RSC\w"SUPERFMTPRG\w#N#$~SUPER FORMATPar Franois GuillemLe 29 Avril 1986One Two ABSidesDrive Format FinishType80 Tracks81 Tracks82 Tracks83 Tracks9 sectors 10 sectors 84 Tracks$12 3IJK\]lrst|}!a&A   ^ch  j   2  N  ~   j       ! `.J*O.|*m - ЭЭм// ??<JNA N/<NA"/0<NBNuNV=|`0nH0Rn n m3H3%%.H"/<%/<HNP>Nd=@`L33H3H`D33HByH`,33HByH``J@g|gİ|g`N^NuNVNN. /<'/<H/<HN 3%a.H/<H/<H/<H?<BgN.,NJ@f.7?<NvTB@`8.GBgBgNXJ@f.z?<NvTB@` aNalN^NuNV.GBgBgNX. /<'/<'/<'/9GN> ?9'?9'?9'BgNP> ?9'?9'?9'?<?<?<?<?<N>H?9HBgBg?<Bg/9GN.%BgNT=|=|=|=|3 HBnBn3SHBn`P>?<?9%?9G?9G?9GBg?./9GNn>?<?9%?9G?9G?9GBg?./9GNn>?<?9%?9G?9G?9GBg?./9GNn>?<?9%?9G?9G?9GBg?./9GNn.%/<%/<'/<&?<?<?<N3>'?9&?< Bg/9GN4 3'09'`>Bg?9%?9G?9G?9GBg?./9GNn=y' y'fBn`=|`>Bg?9%?9G?9G?9GBg?./9GNn=y' y'fBn`=|`V>Bg?9%?9G?9G?9GBg?./9GNn=y' y'f3PH y'f3QH y'f3RH y'f3SH`>Bg?9%?9G?9G?9GBg?./9GNn=y' y'f 3 H`3 H`n>?<?9%?9G?9G?9GBg?9'/9GNn09'y'|3G3'H0.R@29RAH29 AR@3G> ?9G?9H?9G?<N(P3H> ?9G?9H?9G?< ?< ?9'09 W?9'N> ?9G?9H?9G?9HNbP>?.aT> ?9G?9H?9G?< ?< ?9'09 W?9'N4>HN>HN>Bg?9%?9G?9G?9GBg?9'/9GNn`>?<?9%?9G?9G?9GBg?9'/9GNn> ?9'?9'?9'?<NP> ?9'?9'?9'?<?<?<?<?<N=|``[@|b@0@ PN nfN^NuNVNrNN^NuNV>?9HNT>?9HNZTByHBn`B>?9HNTA-H n o0.H |0"nR0.H H@|0"nR np"nRBWBg//?<?9HN">?9HNTBn`0929RAAyGR@3H09H29HyHAyHR@3H09HyS@3H09HyHS@3H.H?9HN,TRn0.R@Hnn^>/?9HNZTJngz>/?9HNZTRn0.yHmB@N^NuNVBW?9HNZT>?9HNT09GR@3H3HH09GyGS@3H09Hy 3H.H?9HN,T09yGS@3H09HyHS@3H09GyG29A3H3HH3HH09H29HyHHAyHR@3H3HH3HH3HH3HH.H?<?9HNX> ?./<'a \BW?. TWB/<'?<Nd 09HH=@Jn g0.`B@n|(Jn g0.`B@n@|(09H(>BgBg?<?.B/<'?< Nd> aBn`^>Bg0.T@H29HRA?0.R@H29HRAH@?RW?.B0.r `Hм'/?< NdRn nmBn`^>Bg0.^@H29HRA?0.\@H29HRAH@?RW?.B0.r `Hм'/?< NdRn nm>?9HNTB@N^NuNVBn`0n'BRn n m'''JyHfB@`Bn`0.R@2.Ҽ "AH2.Ҽ "A2A2.Ҽ "A2)HA||HT@=@0.HH@|fF0.|HHм' @(p0.|HHм' @|`B0.|HHм' @0.|HHм' @(Rn0.yHmN^NuNV# 3 H3HByH3H3HN#%N^NuNV3eHByHByH3HNN^NuNV## .мZ#3dHByH3 H n 3HN n 0H###&#%N^NuNV# 3H3 HByH3HN#%N^NuNV3 3HByH3H3HN09N^NuNV3 3HByH3H3HN09N^Nu#H"<psNBNuNV3H0.|Hм-@=|` nH2nH2RRn nm.HN>B@09H"N^NuNV#H #' #H #H" #H #H # H> aF3H"HpN^NuNV>a*pN^NuNV3H3 H3 H>N n0H$ n0H& n0H( n0H*B@09H"N^NuNV3H3 H3 H3H3H 3H 3H3H3H>3NN^NuNV3H# H>4NN^NuNV#H>6N n 0H$ n0H& n0H( n0H*B@09H"N^NuNV3H3 H3 H3H3H 3H 3H3H>INN^NuNV3H3 H3 H3H3H 3H 3H3H>JNN^NuNV>MN n0H$ n 0H& n0H( n0H*B@09H"N^NuNV3H# H>NNN^NuNV#H3 H3H3H3H3H 3H >*NN^NuNV#H3 H3H3H3H>+NN^NuNV#H3 H3H3H3H3H 3H 3H3H>/NN^NuNV#H>nNN^NuNV>oNN^NuNV3H3 H>pN n HB@09H"N^NuNV3H3 H3 H3H3H >dNN^NuNV3H3 H3 H3H3H >eNN^NuNV3H>fNN^NuNV3H>gNN^NuNV3H3 H>hN n 0H$ n0H& n0H( n0H*B@09H"N^NuNV3H3 H3 H3H3H 3H >iNN^Nu#NN/9Nu#NM/9Nu#NA/9Nu ((,,v,bbFORMAT.RSC[3][Fichier resource inexistant | Abandon du programme.][D'accord][3] [Erreur Grave|Fichier resource bugg.][D'accord]_crystal>_ctrl_cn_open_vwJ_main_do_acc_desktop:_format _do_formN_make_fa_v_bar,_v_clsvwr_v_opnvw_v_pline_vsf_colZ_vsf_int_gsx1_gsx2_iioff_iooff_pioff_pooff_vdi_crys_if_appl_inN_appl_ex_evnt_bu_form_di_form_alv_form_ce_graf_gr_graf_sh4_graf_ha_graf_mo_objc_dr_objc_fi4_objc_chn_rsrc_lo_rsrc_fr_rsrc_ga_wind_cr(_wind_opb_wind_cl_wind_de_wind_ge_wind_se"_gemdos_biost_xbiosd_menu_id_intin_wpoint_event_title_intout_gl_hbox _hobj _keycode _c _bad _hold%_i%_msgbuff%_handle%_phys_ha%_hwork%_dummy%_ptsin%_mausx&_ptsout&_mausy'_item'_gl_wbox'_wobj'_global'_xobj'_yobj'_wold'_xold'_yold'_buffer'_menu_trG_wworkG_xworkG_yworkG_ap_idG_wfmtG_xfmtG_yfmtH_int_inH_int_outH"_controlH_butdownH_gl_hchaH_pxyarraH_ad_cH_deltaH_hdeskH_gl_apidH_contrlH_hpointH_addr_inH_bad_numH_gl_wchaH_wi_handH_nb_tracH_fmt_hanH_nb_sectH_wdeskH_addr_ouH_xdeskH_ydeskH.,   $       "                            " t   "       &                ( , $  B"$     $                   d TvrBxF. ]w,.. ]wINTRAM ACC]w-/INTRAM RSC]w`+BN6NbNNNNHN8NN&K mNf]` m"m -So Q m -SBQ(m)MO*mN0N?<NH?<A?<NAX <B@SfLNuNV=n=n -n -nAD ABH nf)n9n)n lf9|9|9|9|9|9|9|9|_9|$, < ઔl9B$,Ԭ$l$jA/)|?<&NN\ f <` <` <` <` lfA/?<&NN\9| <` z!v z!r z !~ 8$B6,!Nu$8B6,!9C9| <A vA(!vA rA!rA ~A!~Nua(z0,ofT l"op6/ < 0/ $ f/fI Sf`&< /fISfabNua^NaH(z\0,of A a@Nua Hl?</,N ?<NTHl?</,N ?<NTBg/,N\|9@ lf?<?,/,NP?,?,?,?,?<?<?<?< ?<NT?,?,?,?,?<?<?<?< ?<N(BgNFT0<fN^NuNuNVHlHlHlHl/.NX?,?,?,?,?.?.?.?.BgN?,?,?,?,?.?.?.?.?<N?,?,?,?,?<Bg/.N N?. /.NH\|9@0,N^NuNVHl?< N<\N^NuNVHl?< N&\N^NuNV?,?,?,?,?<?./,NN^NuNV .2. Ё @ ( -@ n /.N8X n1@N^NuNV .2. HЁм @0=@0.2.FAA".4. H҂Ҽ A0N^NuNV .2. HЁм @0=@0.n".4. H҂Ҽ A0N^NuNVBl ,/ </N )@ lW| lW|Ag,/,?<HN\)@ oBl` 9|` lf/,?<IN\ lW| lW|AgR?< NhT-@ .6,-@ . g$NHl?<N\9@ lf9| lf/,/,?,?,Np 9@ lW| lV|Ag/,?<IN \ lfN`NN^NuNV0,2,dA2, AlH)@0,|0@0,|0@0,|0@0,|0@?<NVT?<NLT?<NBT?<N8TN^Nu)I)J"/0<NB"l$lNu NV9n0.| A" AA-H=|` nR2.AH0Rn nm/,PN.X0,N^NuNVA)HTA)HXA)H\A)H`At)HdAl)HhAT)HP?< NXT9lN0<N^NuNV9n9n 9n 9n9n9n9n9n9n9n9n9n9n 9n")n$t9n(9n*?<NT n,0 n00 n40 n80 n<0 n@00,N^NuNV9n)n t?<#NTN^NuNV)nt9n 9n9n9n9n9n?<*NHTN^NuNV)nt9n ?<2N*TN^NuNV9n9n 9n 9n9n9n9n9n9n?<3NTN^NuNV9n)n t?<4NTN^NuNV)nt?<6NT n 0 n0 n0 n00,N^NuNV?<MNvT n0 n 0 n0 n00,N^NuNV9n)n t?<NN4TN^NuNV?<ON"T n0 n 0 n0 n0N^NuNV9n?<kNTN^NuNV)nt?<nNTN^NuNV9n9n 9|?<pNTBl n l0,N^NuNV?.NT nn0<`?.?<>N bX9@g0<`0<N^NuNV?.?<LN n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W D6NuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @A)X,)X0A , 0BEG>O|g|JGn|m` REHlF/ NRPO`SEHlF/ 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/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.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NM"l$l/,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/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,)X0HltHl,?<N&]|@0. R@?HnHnHnN&.g SR-.H|0f.f SR`J nff>.n RG0l8o0,8`0> Gl0<`0?HnHnHnNBF0g"`+h H#*O*m#4 - ЭЭм"ҍ¼.A// Bg?<JNA y4"h#4E?/ N N"/0<NBNu o AdpNu#4BNuNV0/"/ NB4d0< A,"NB0<NBN^Nu o2/0/ HSoQBNu o0/JfBNuf SNuNVBn`2 n2n @o n2n [l n2n Rn n2nJnN^NuNV094y,l y4fj094y,m*=y4`.-/94N NXRn nBm>X/<5/<-/94N N RyX34N^NuNV.-,/.N)X`j n Pf4 nBP.4?<N T>4/. ?<NN \=@`>ON =@Jngp`.5/.N)X.-./.N(XJ@g.-0/.N(XJ@gj95H"n2 n 5 095|=@095@|=@095r `||P=@>?.?./<-3/.N 095|@=@095@|?=@095r `|=@>?.?./<-A/. N B@N^NuNV y4g|094T@y,m.-P/94N NXTy4a.N)2=@ no.V/<-S/94N NP`.-`/94N NXTy4./N)X.-k/N(X=|=|` nf&./<-p/94N NPRy4` nf2RnRy4. 2. Ё/N)X`0.`2| `@|R`8|H`0|S`(|M` |U``H |,rW hN.a,.H>///.//<-/94N NRy4Ry4 .ѹ4a$.//////ar=@gJnmnBn`^./N)X.-/N(X 2. Ё./N(X.avRn0.noN^NuNV.-N ,.-N ,.-N ,.-N ,.-N ,..!N ,..%N ,..qN ,..N ,..N ,..N ,..N ,..N ,./ N ,./1N ,./5N ,./vN ,./N ,.0N ,.0FN ,.0bN ,.0N ,.0N ,.0N ,Bn`j.1N ,.1N ,.1 N ,.1N n=@n0 ng0.|@@B..1/N(X nm nn.1N ,./<1N ,X.1.N ,.1?/<12N JX#4g$>*N =@0.|=@0.@|=@0.r `||P=@>?.?./<1A/<5N 3X34a34.aBy4By4B434.a>/?<6N \/././.N+P/N+P-@./94?94?94/<1O/94N N.4NN^Nu#4NN/94Nu#4NM/94Nu#4NA/94NuNVH*n(n BG`|lRG0&@10+|f|mB` wg Wf>?</ ND\<`p ag Af>>?</ N\<l>?</ ND\<`>B?NT\`$ rg Rf>Bg/ N\<`B`@JFlB`8Bk 6B'@'@ rg Rf7|`7|Jnfk JL8N^NuNVBW/. /.aPN^NuNVBW/. /.aPN^NuNV>/. /.aPN^NuNVHN$BW/<,N X>/<,N X>/<,N X n2n B*n`&HHм3 @g H| `HRJf> /.NXJL N^NuNV. /./<1NPN^NuNV./. /.NPN^NuNVH*nSm m mH|R` `.N JL N^NuNVH*n-fp`-g m p`Jf&-f>N+@fm`m-g0Hм4+@1f91g .1Nv-g>`>/-?N \;@ Jm n m fm0`m p`Sm +m mH|RJL N^NuNVH>N%t*@ fp`b-gB@`V-g3 3343p`8-gB0../. / N $P``B0../. / NFPJL N^NuNVH *n(n ..-G`> ?/ /-/ N*=@Bn` L2n gRnB@0.neJng L2n f =nU >/ aPX=@B0.ѭB0.B0.Jo -g` -o+m .JL0N^NuNVH *n-M B2. Ё-@(M`  gRe JL0N^NuNVH *n(n ..> ?/ /-/ N*=@JnfU B0.ѭ -o+mB@0.JL0N^NuNVH BWN##4#4By4.,a*n`N`RJgHHм3 @fJg2 "g 'fFH>/ RNX(@ f.1/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHм3 @gJ5pg M2GBRGH`BWNBW/ RN"XJ@g.R/<1aX`l>N ->f@>/ TN"X|f>B?<NT\|f.R/<1a|X`$BW/ RNX|g.R/<1aVX`>?/ NXJf>*/ NXJg-|;.8?<NT>/ ?<N'`\<f.1/ aX`^.H?/.aZ\.N)2>RWN)(@./ N)X.a>/ ?<N'`\<f`.a`|g`JfBaSy4.4Nz|f.1/<1a*XB/94?94N\>NDJL0N^NuNV|./N)X. /N(X.1/N(X.?< NT>NDN^NuNVH*n y4 X4Ry4JL N^NuNVH*n. (nGVfJL8N^NuNVHN$~>|fp`>N%08*@5(JnfU.,/.N)`XJ@f U0`R`.,/.N)`XJ@fU0`2>/.?N'`\J@g3#3343p`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN\>NN^NuNVHBG`0м1.NRG|mJLN^NuNVH*n0-|g*.Nv-g .N rB@H+@+@Bm m>NJL N^NuNVH>.>N%t*@ f3 3343p`NBF0|f>?<>N+T<l|>N%>N$JFf0``33343pJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N$\>Gg mp`J-gJg-g;| `;| `>0- D@H/?NT\Bm +mB@JL N^NuNVHN$~>|fp`>N%08*@5(Jn fUJnfU.,/.N)`XJ@fU;n 0``.,/.N)`XJ@fU0`d>/.?N'`\J@g>N$33343p`0U>B-H?NT\BWB-H?NT\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N%t*@ f3 3343p`$>?-/. ?<BN+P+@U -JL N^NuNV>B?.a\N^NuNVHK;| .+@+@;|:./. / NP>.BgNT0JL N^NuNVH*nBnJ gh``BE-n `RRE nJg n %fJEo.?/. Nd\-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 <"r` <#(#4.4?<?< // N" Jngp`pH`RnJng <"r` <#(#4.4Bg?< // N" Jngp`pH`zRnJng <"r` <#(#4.4Bg?<// N" Jngp`pH`&RnJng <"r` <#(#4.4Bg?<// N" Jngp`pH`-M n-PX`-M n0|@B.T`H>?// N X|`~H>?// N X|`XH>?// N X|`4.H?NTRn``|C|5b@0@2 PN.N)2:ElJFm:0.E=@JnfX .0f* n -f SE. nH?NTRRn`..H?NTRn0.SnJ@n.?/.Nd\n`..H?NTRn0.SnJ@n`0.JL N^NuNVJnlp`0.=@ n -@>/. /.NPN^NuNVJnlp`0.=@ n -@>/. /.NPN^NuNV>/. /.a~P-@. N)22.^AAo>/. /.aP-@ .N^NuNVH *n>. (n,g$Bl >/ ?N$\Gg lp`*B@`&`.H?NT|fp` 0SGJ@fB@JL0N^NuNVH. *n Sm mH"m|R``.H?NTJL N^NuNVH. *n BF:-fp`$JfV-fN>N+@+@fm`2m>NhJ@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N$\<Bm `n-g>< g -мb" -:>/-?N$\<+mBm `( -:>/-?N$\<;| +mFg mp`H|JL N^NuNVH>N%t*@ fB@`-fB@`pJL N^NuNVH>N%t*@ fB@`0|JL N^NuNV>aJ@g <,`BN^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (y3*T`ZB@0-BA2-@F@J@g>N!B`:B@0-ne `*3f>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@;@#3 PJL0N^NuNVH >.|?GG0@>N#*@fB`* R*@(M9GB@0,F@9@.Pa 93JL0N^NuNVH *nQB@0-BA2-@F@J@g>N!p`(y3eeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #3B@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#3B@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-|4Z*n<.H n. nfz` |SEJgJEf`h nf$z ` |SEJgJEfJEf-`*n<.JngJGlB@0D@> n P-"n R`B0H@B0>JGf JL N^NuNVH >.HμgR*y4(G4.Nz|f3 3343p`>Bg/ N\ JL0N^NuNVH>N%t*@ fp`XJnfB@`N-g3 3343p`0-g>/. / N%P``>/. / N&PJL N^NuNVH|BG` 3f 30`RG|m33343pJLN^NuNVp2.`F@H3B@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@5(0.@BUB-+| BB> Bg/ N\> ?< / N\JL0N^NuNVH>.|e3 3343B`0B@08*@5(-f3 3343B` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N*=@B0.ѭJnf33343p`^=n`8Rn>?</<3/-/ N*=@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N*=@Jnf33343p` B0.ѭ -o+mB@0.JL N^NuNVH*n 0.8м5(-@~.a&M`RJg :fJgc .Am .On*K`K0.`BW/ ?<o n1GBG`BW/ ?<NN+\JgB@`0<>`d>ON+JgB@`0<>`J.?<=N+T>o n1GBG`,.?<AN+T>``||b@0@3 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"y4CCbNC NNVH..,. Jf#4Z <`Hc #4ZB`:fzB`(xe 〼b`BJge`#4Z JLN^NuJg .NuNV n=h.0n/0n/N+P/?.?<?N+PN^NuNV n=h.0n/0n/N+P/?.?<@N+PN^Nu#4NA/94NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^Nu Stack Overflow$C runtimeCON:LST:< | %64s, page %u ....%2u-%02u-%02u%02u:%02u:%02u %s: : \*.* DISK LABEL: %s %-12s %7lu %8s %8s %c \Eb1 CONTENTS: A DISK DIRECTORY LISTING PROGRAM b2 Copyright 1986 by John B. Spalding b1For a disk of the fully commented source code in C with most of the secrets of the ST disk directory send $9.95 to:b3 STEP, 9902 Dyer St., El Paso, TX 79924b1 S T E P 300/1200/2400 BPS 24 hrs FOREM BBS 1-915-751-7837 (751-STEP) b3 The directory for the selected drive will be placed in the file "CONTENTS.TXT" in the drive from which this program is run. The file information is: name, size (in bytes), date, time, and attribute, where attribute is: =normal, R=read-only, H=hidden, S=system, M=modified, and U=unknown. Put in the disk then select a drive (1-6): 1) Drive A 4) Drive D 2) Drive B 5) Drive E 3) Drive C 6) --QUIT-- b1 ==> b3:b2 Reading drive %s...b3contents.txtw%2u-%02u-%02u Totals: %u directories, %u files, %lu bytes, %lu free : unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $    <bf <bj33 ((d'((8(d(d'!!!!"CP/M-68K(tm), Version 1.2, Copyright (c) 1983, Digital Research XXXX-0000-6543216$        "    ("FD  l$* *D "   ,2$   ," 4P& \& DN ,D( 0 <    >  h 0HN&  jj`^***`&$ D"R$ZF \@(B4.J".86 Jp $""@2&"fHR"(<@*   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,)X0/,0/,,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f .n nR` .R-@` nB .L N^NuNVHn /.NhPN^NuNVH0&n. $ tD.. $ tARC TTP t EARCSHEL2PRGt hARCSHELLDFNt mARCSHELLH t nARCSHELLMODt oLARCSHELLPRGt t-ARCSHELLRSC#t README INF&t YNDREW ARCGt ARCTEMPCRNt L`y@c^N6NWNNUNWNVNW4NV$NUNsl*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhN]X/,?,N\?<NPD?<A?<NAXNuNVB. nl:HlNkvXHl8NklXHlPNkbXHlrNkXXHlNkNXHlNkDXHlNk:XHlNk0XHl4Nk&XHlHNkXHlzNkXHlNkXHlNjXHlNjXHlNjXHl*NjXHlbNjXHlvNjXHlNjXHlNjXHlNjXHl.NjXHlFNjXHlrNjXHlNjXHlNj|XHlNjrXHlNjhXHl8Nj^XHl`NjTXHlNjJXHlNj@XHlNj6XHlNj,XHlDNj"XHlVNjXHl|NjXHlNjXHlNiXHl NiXHl:NiXHllNiXHlNiXHlNiXHlNiXHl(NiX nf\ n -h`H nH|Hg nH|hf(HlXNizXHlNNX?<NbTHlrNi\XR nfBgNMTHltNLX)@fHl|N0. n /NbXJ@g"0,g0. n /HlvN^PRlRn0.nm0.N^NuNVBnHl/.NLBP-@f0,g/.HlN]PRl` /. HnNaPBBnHnHn/.N F ,gP/,NNX-@`HnHnNaPJ@fP=|0.f0.g>0.ne0.nf*0.nb Bg/./,NN, /.NBX`zHnHnN`P @m`D/,HnNDP/./,/,N /,NNX-@/,HnN PJ@fF0.g*0,g/. HlN\P?</./,NM `N0.g"Bg/./,NM| /.NAVX``&0,g/. HlN\PPBg/./,NMF `*0.g/.NAX``0,g/. HlN\P/,NMPX-@|/,HnNBPHn/,/.N& Bg/./,NL /,HnNP?</./,NL /.N@XN^NuNV/BX/././,N7 BgB/.NI /,NJX-@|/,/.NP/./,/.N# Bg/./,NI /,/.N P?< n/(/,NIz /.N=TXHlN]XJ@g0,gHlHl dNXFPRlN^NuNV0.f Hl vNdXBn`0.ABPRn0.nm/. ?.N"f\?<N4~T`BnBn`80. n /HnN PJ@g=|0.A0`Rn0.nm0.g*?</./,NH 0,gHnHl NWrP`"/,HnN P/./,/,N. /,HnN PJ@fPB,/,HnN zP?<N4T0,g@Bn`00.A0f0. n /Hl NVPRlRn0.nmN^NuNV g@Hlx?<NPN\?. /.?<NNP A HH?N2TA HA HH|YgA HH|Nf`0<fA HH|Nf*Hn4Hl 8NNvP?< n/(/,N?f `Hl LHn4N9|²9|°N^NuNV0,°g,Bl°/.NX9@®0,® lh(H9@¬`0,f/.NzX=@=@ @f0<`0. lhA-H nf"=l®0. lhA-H?,¬NT`. n(H?NT n=h0. lhA-H n hf n(H9@¬?NT0,²g?,¬?,®NpXSl²9n®NN^NuNV/.NlX/. NbX` n n HHAgb n H|?gT n H|*g 0<` `:`R ng nH|.f`R n g n H|.f`:`RR ng nH|.fl n g n H|.fT ng nH|.fR n g n H|.fR `H n n HHAg, n H|?g n H|*g0<`&`0<``RR nf n f0<N^NuNVBn`v?<\0. n /N9\-@f:?</0. n /N9\-@f?<:0. n /N9\-@ .g .R2. n Rn0.nmN^NuNVB?<N+T)@h ,h)@d ,h)@`0,f0,g Hl dN4XHlNX ,gHn/,Hl rN` `HnHlxHl ~NJ Hl HnN"P-@fHnHl NPBlp <-@)@¨BlvN4/./.NPNP`R?.NT/.?.NT\/.NX=@ @fN-@/.NX-@`&B¨ <-@-@-@0,g Hl N3XBgB/.N$ n1lv n!l¨BlpN؆ ,¨n ,¨n ,¨n0,g .¨/Hl N3jP0,g Hl N3ZXHlNX|0<9@vH)@¨`/. ?.Nf\/.N&X=@ @f n1lv ,¨ n!@ n!@` .lv .ll0,g ./Hl N2P0,g Hl N2XHlNX| n!n`/. ?.N\/.NX=@ @f` .lT0,g ./Hl N2RP0,g Hl N2BXHlNvX|/. /.NpP n!@`0,g ./Hl N1P0,g Hl N1XHlN"X| n!n .g6BgB/.N" `/. ?.N\/.NDX=@ @f`<=G=G`.0A첚02.nAcRn0A첚0nRG Gm0.R@=@B.BG`80A첚=P0.2.Ad ng0A첚0|RG Gm.fh no$BG`0A첚00RG GmLN^NuNV?>. UGHǏ`0. S@??/.NPSG Gl>N^NuNVH>< RG<. n<0nn|0nl&0 n?(0 n?N`XJ@gRG0 n??NFXJ@g60 n02. n00 n0?.?/.N`PLN^NuNV0.A첚02. A첚Pc0<`F0.A첚02. A첚Pf$0.A천02. A천Po0<`0<N^NuNVH><` n=PSn 0. n0 n00. S@?Bg/.NP n=P0A첚A&H0RG n07n7n0.A첚02.A첚P60.A천?0.A천?N>X"0<A7@0. S@?Bg/.NP n n8 n9PLN^NuNV0.n o0.`0. N^NuNV?BG`0A찖BPRG Gm>N^NuNVH>. A첞><. A철< GfX FfR0. A찖00<2<nh=@0,n2. A쮔0 no0.A첞><.A철< Gl0R@D@`0,G> Fl0R@D@`0,F</.?N@\/.?N4\Rn0.Sn0.0.nm0<2.AHLN^NuNVBn=|0,nmD nf0.`0,2<n`n0,6.h9@0.l0.|` lo0,2<n`n0,n llfBl nf0<`0.|`>/.NX9@l @f9|l0,lA쮔9P0,lA찖9P`0N^NuNV/. N:X-@`/. ?.N\R/.NX=@ @f .N^NuNVHlHlxNP)@f$0.gHlxHlN#JP`HlxHlNtP0.g"HlHlNP)@fHlHlNLPN^NuNV ,g /,NX0.g/,NXHlHlN>P)@g?,?,/,NаP/,NX ,gb0,g@HlN'LXHlHlxN%PJ@gHlHlxHlNٸ HlHlN"nP`HlxN' XJ@gHlxHl*NيPHlxHlN%HPJ@gHlxHlHlJNf N^NuNV0.@|2.. HA|A쨊6@N^NuNVBgNzT?<B/,N /,NX-@BgB/,N `h/,NXЮoHnHlbN!PRl`R`>HnHlN!PHlNXHnB/,Nf J@gRl` HlN!RX/,HnNӎPJ@f ll HlN!.X`" lf HlN!X`?,HlN! \N^NuNV?<NT)@h ,h)@d ,h)@`Blv n)hrBlpNŬ,H|g|g`*`/. ?.N\/.NX=@ @f``|g`*`/. ?.N\/.NlX=@ @f`X`|g`4/.NX`/. ?.N\/.NX=@ @f``|g`2BgNT`/. ?.N>\/.NX=@ @f``|g`2BgNT`/. ?.N4\/.NX=@ @f``|g`2?<NbT`/. ?.N\/.N|X=@ @f`l`|g``/. /.NdP`R0,g nA/HlNDPHlN:XRl?< n/(/.N& /,hNlX0<`B``/,hNXX0,v nhg"0,g nA/Hl&NPRl0<`0<N^NuNV. H??,vNX9@v/. . H?Nզ\N^NuNV0,p|g`2. H| @f9|p`/. . H9@?N\`N`|g`B. g`/. ?,Nt\S. f`/. ?<N^\Blp`?,pHlHNH\``N^NuNV ,rf0<`Sr/.NX?NTN^NuNV/.NX//.NX" AAN^NuNV9|c/.NX9@ lm lm HlfNԾX9|9|Bn`6/.NX2.A줄0/.NxX2.A줄1@Rn0.lmN^NuNVBn`zRl0, @o@/.N X9@l @f0<`Bl0<ll2.A줄A=P`,0,l@9@l=@0<n2.A줄A=P nl~0.R@D@=@ nf0<`0.=@0.N^NuNV?.NT nn0<`?.?<>NX9@2g0<`0<N^NuNV nam nzn 0.| ``0.N^NuNVHl/.NPJ@g`Hl/.NPJ@gNHl/.N~PJ@g\=@0.N^NuNV?.?<LNXN^NuNV/ A&H`0+ |g/ N*X A"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ NhTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NXP'@&Bk0<LN^NuNV/ &n0+ |fk@ 0+ |`g0<`&Bk`R0+ |g A̐A잀A &'@`*0+H/NzX&'@ fk `k g-K?<?+ B?<BN n!@& k f HlN~X0+ |g0<`0+?/?+ NP7@Sk0+ @l kfk `k@ Bk0<` SRH|&_N^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g A̐A잀A &'@`*0+H/NNX&'@ 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 0+ |f f0<`Rk. S SH&_N^NuNV nSh0( @m n R @H|` /.N*XN^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@hNuNVH 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@fQ`NVH"n Blf n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,fQ 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.AB PNPLN^/W DhNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P^)hb-l^-lbBEG>O|g|JGn|m` REHlx/ NRPO`SEHlx/ 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 <`B>Bj 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?* NTP%@5l L N^NuNV)n>/.NX/. /.NLPN^NuNVH&n>. <`N nSh0( @m n R @H|` /.NX=@ @f 0FH ` 0.SF Fn no0.`0<LN^NuNVH>. <`,/. nRH?N \ @f 0FH `SF Fn no0.`0<LN^NuNV/ &n/ N*XJ@g0<` k ?./. ?+ NP'@0<&_N^NuNV/ &n +"Ё"+&_N^NuNVH0&n$K`0.H| f`HSn 0. @o: nSh0( @m n R @H|` /.N:X=@ @fB 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|HlHl/.N@ .g2A H1| Hl0.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/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN8 -@ m .`?<?.B?<BN -@?<?.B?<BN -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BNx ]|9@2g <` `Bl2 . N^NuNVH0><2.|SA¼0?N T&@f <` $@5G \/NX ,4L N^NuNVH0><2.\ASA¼A ,4$@ fA8 $@)@4)@8Bl<&R0+Ge*0+Gf$`0k0+7G)J4 \`, 4f?NT&@ f <` $@ &@`L N^NuNVH0 .]&@$l4` m n l`$R o l 2+Ёf R0(k R&`& 2*Ёf 0+j$`$)J4L N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHl/.N PJ@f =|`Hl/.N PJ@f =|`Hl/.N PJ@f=|`f0. |g0/.N XJ@g0<``Bg/.?<NLX0. |?/.?<=N4P=@9@2 @l0<`0. | ??.N~X0.N^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^)nbHlHl^?<N]|@0. R@?HnHnHnN.g SR-.H|0f.f SR`J nff>.n RG0ljo0,j`0> Gl0<`0?HnHnHnN BF`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^)hb/,b/,^Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHlNPN^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 ?<NT nf20.2,RlA윦?< ?<NfX?< ?<NXX`*0.2,RlA윦?.?<N4X0<fA윦윢H|f0<`0,RlA윦H`` nf?<NT``0. `Rg HGfg ` <`LN^NuNVH0&n>. $|`HGf$KRf `L N^NuNV/.?<AN\9@2g0<``0<N^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<N`X0. Sn J@fN^NuNV` nRH??<N2X0. 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@2Hg0<`0,2n/./<?.?<@N& 9@2 @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N 9@2Hg0<`0,2nBl20.L N^Nu9|9|9|9|9|9|9|9|9|CA r"A v"A z"A ~"A "A "A "A "A "A "A "A "9|C222222222C2222222?22A`)H\9|9|¾C쨊2222@2222A2222A222ā2@22 2 2A222΁2@2 22ˁ2 @22 22A2222A222ځ2@222߁2@2222A222Ձ2@2222A2222A222Ё2@220212A232222@262227@225242A2<222=@22?2>2A22:2;2A292228@2(222)@22+2*2A22.2/2A2-222,@22$2%2A2'222&@2"222#@22!2 2A22`2a2A2c222b@2f222g@22e2d2A2l222m@22o2n2A22j2k2A2i222h@2x222y@22{2z2A22~22A2}222|@22t2u2A2w222v@2r222s@22q2p2A2P222Q@22S2R2A22V2W2A2U222T@22\2]2A2_222^@2Z222[@22Y2X2A22H2I2A2K222J@2N222O@22M2L2A2D222E@22G2F2A22B2C2A2A222@@C"2"2 2"2"2"22"2"2"22"2x9|)lx)l|)lt)ll)lp9|jCBA"A"A"A$"A*"A"A ")|>)|49|9|Nu(C) COPYRIGHT 1985,86 by System Enhancement Associates; ALL RIGHTS RESERVED Please refer all inquiries to: System Enhancement Associates 21 New Street, Wayne NJ 07470 You may copy and distribute this program freely, provided that: 1) No fee is charged for such copying and distribution, and 2) It is distributed ONLY in its original, unmodified state. If you like this program, and find it of use, then your contribution will be appreciated. You may not use this product in a commercial environment or a governmental organization without paying a license fee of $35. Site licenses and commercial distribution licenses are available. A program disk and printed documentation are available for $50. If you fail to abide by the terms of this license, then your conscience will haunt you for the rest of your life. ARC - Archive utility, 5.12 - Atari ST Usage: ARC {amufdxerplvtc}[bswnh][g] [ . . .] Where: a = add files to archive m = move files to archive u = update files in archive f = freshen files in archive d = delete files from archive x,e = extract files from archive r = run one file with arguments from archive p = copy files from archive to standard output l = list files in archive v = verbose listing of files in archive t = test archive integrity c = convert entry to new packing method b = retain backup copy of archive s = suppress compression (store only) w = suppress warning messages n = suppress notes and comments h = hold screen before returning to Desktop g = Encrypt/decrypt archive entry Atari ST version developed by Harvey Johnson press any key to continue ARCTEMPTEMP.ARC.$$$.BAKAMUFDXEPLVTCRCannot mix %c and %c %c is an unknown command I have nothing to do! I don't know how to do %c yet! press any key to continue =*.*No files match: %s No files were added. Duplicate filenames: %s %sCannot unsave %s brCannot read file: %s Updating file: %-12s Adding file: %-12s Adding file: %-12s %s\ARCTEMP.CVTARCTEMP.CVTFile not found: %s bw+Unable to create temporary file %s Converting file: %-12s reading,Cannot unsave %s You must tell me which files to delete! Deleting file: %s File not found: %s \\File not found: %s Extracting file: %s brWARNING: File %s already exists! Overwrite it (y/n)? %s not extracted. bwCannot create %s brAn entry in %s has a bad header. %s is not an archive %d bytes skipped. Invalid header in archive %sI don't know how to handle file %s in archive %s I think you need a newer version of ARC. Write fail (disk full?) press any key to continue Name Length Storage SF Size now Date Time CRC ============ ======== ======== ==== ======== ========= ====== ==== ==== ======== ==== ======== Total %6ld %8ld %3d%% %8ld File not found: %s JanFebMarAprMayJunJulAugSepOctNovDec%-12s %8ld -- Packed SqueezedcrunchedCrunchedUnknown! %3d%% %8ld %2d %3s %02d %2d:%02d%c %04x File packed with %d bits, I can only handle %d Stack overflow analyzing, ARCTEMP.CRNARCTEMP.CRNbw+Unable to create temporary file %s (%ld) storing, (%ld) packing, (%ld) squeezing, (%ld) crunching, Cannot delete temporary file %s done. Bug - bad ncr state .RSCbrTemporary file %s already exists bw+Unable to create temporary file %s Extracting file: %s .*File not found: %s I have nothing to do! Cannot delete temporary file %s .TTP.PRG.TOSbrTemporary file %s already exists bw+Unable to create temporary file %s Invoking file: %s%s Cannot delete temporary file %s brCreating new archive: %s Cannot read archive: %s bwCannot create archive copy: %s brCannot rename %s to %s Keeping backup archive: %s Cannot delete old archive: %s Cannot rename %s to %s Archive truncated in file %s Testing file: %-12s okay No errors detected One error detected %d errors detected I don't know how to unpack file %s I think you need a newer version of ARC WARNING: File %s fails CRC check Bad NCR unpacking state (%d) File has an invalid decode tree CON:AUX:PRT:@$??rawCON:AUX:PRT:%d NuNV0,p|g`9|p/.NX9@¦`` |g`0,¦|g`Blp0<``|g`n0<`9|¤`Rl¤/.NX9@¢l¦f`~ *O.|@*m - ЭЭм// Bg?<JNA ?<NNT3jJ@f*|za"`?<NNT#P?<NAT<Ad$  ::e::%Bg/<?<GNAP |(|f*|z?Jg Q |zQ |zQ#8:<# ^3aQB9 yjf Xy (`Ry (*|(|nz gR` M fQ #\"¼ AU"f#X3haaj(|*|&:<Q(|:<#$`#da yf\/.NX=@ @f``|g`2BgNT`/. ?.N4\/.NX=@ @f``|g`2?<NbT`/. ?.N\/.N|X=@ @f`l`|g``/. /.NdP`R0,g nA/HlNDPHlN:XRl?< n/(/.N& /,hNlX0<`B``/,hNXX0,v nhg"0,g nA/Hl&NPRl0<`0<N^NuNV. H??,vNX9@v/. . H?Nզ\N^NuNV0,p|g`2. H| @f9|p`/. . H9@?N\`N`|g`B. g`/. ?,Nt\S. f`/. ?<N^\Blp`?,pHlHNH\``N^NuNV ,rf0<`Sr/.NX?NTN^NuNV/.NX//.NX" AAN^NuNV9|c/.NX9@ lm lm HlfNԾX9|9|Bn`6/.NX2.A줄0/.NxX2.A줄1@Rn0.lmN^NuNVBn`zRl0, @o@/.N X9@l @f0<`Bl0<ll2.A줄A=P`,0,l@9@l=@0<n2.A줄A=P nl~0.R@D@=@ nf0<MOPTIONSADDBUTONEXTRACTBMOVEBUTNFRESHENBUPDATEBUDELETEBUVERBOSEB COPYBUTN LISTBUTN RUNBUTON TESTARCI CNVTONPMSUPPCOMPKEEPBACKSUPPWARNSUPPNOTECRYPTBUTHOLDBUTNCANBUTONOKBUTTONABOUTBOXABOUTOKBABOUTCANXJ@g0<`00+ |g /+NXBk ?+ NhTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NXP'@&Bk0<LN^NuNV/ &n0+ |fk@ 0+ |`g0<`&Bk`R0+ |g A̐A잀A &'@`*0+H/NzX&'@ fk `k g-K?<?+ B?<BN n!@& k f HlN~X0+ |g0<`0+?/?+ NP7@Sk0+ @l kfk `k@ Bk0<` SRH|&_N^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g A̐A잀ACONST MOPTIONS = 0 ; ADDBUTON = 2 ; EXTRACTB = 3 ; MOVEBUTN = 4 ; FRESHENB = 6 ; UPDATEBU = 5 ; DELETEBU = 7 ; VERBOSEB = 8 ; COPYBUTN = 10 ; LISTBUTN = 9 ; RUNBUTON = 11 ; TESTARCI = 12 ; CNVTONPM = 13 ; SUPPCOMP = 18 ; KEEPBACK = 17 ; SUPPWARN = 19 ; SUPPNOTE = 20 ; CRYPTBUT = 22 ; HOLDBUTN = 21 ; CANBUTON = 23 ; OKBUTTON = 24 ; ABOUTBOX = 1 ; ABOUTOKB = 4 ; ABOUTCAN = 5 ; 0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@hNuNVH 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@fQ`NVH"n Blf n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,(*$A+*) (*$F-*) MODULE ArcShell; FROM SYSTEM IMPORT ADDRESS, ADR, CODE; FROM Storage IMPORT CreateHeap; FROM GEMDOS IMPORT GetDrv, Open, Close, GetPath, Term, loadExecute, Exec; FROM BIOS IMPORT SetException, GetException; FROM GEMAESbase IMPORT MouseOff, MouseOn; FROM AESGraphics IMPORT GrafMouse; FROM AESForms IMPORT FileSelectorInput; FROM SYSCIO IMPORT GoToXY, Read, Write, WriteString, WriteCard, WriteInt, WriteLn; IMPORT GEMVDIbase, VDIControls, VDIAttribs, GEMAESbase, AESGraphics, AESForms, AESObjects, AESResources, AESApplications ; CONST OFF = FALSE; ON = TRUE; TYPE Object = RECORD next : CARDINAL; head : CARDINAL; tail : CARDINAL; type : CARDINAL; flags : CARDINAL; state : CARDINAL; spec : ADDRESS; obx : CARDINAL; oby : CARDINAL; width : CARDINAL; depth : CARDINAL; END; ObjectStates = (Selected, Crossed, Checked, Disabled, Outlined, Shadowed); Tree = POINTER TO ARRAY [0..200] OF Object; CONST MOPTIONS = 0 ; ADDBUTON = 2 ; EXTRACTB = 3 ; MOVEBUTN = 4 ; UPDATEBU = 5 ; FRESHENB = 6 ; DELETEBU = 7 ; VERBOSEB = 8 ; LISTBUTN = 9 ; COPYBUTN = 10 ; RUNBUTON = 11 ; TESTARCI = 12 ; CNVTONPM = 13 ; KEEPBACK = 17 ; SUPPCOMP = 18 ; SUPPWARN = 19 ; SUPPNOTE = 20 ; HOLDBUTN = 21 ; CRYPTBUT = 22 ; CANBUTON = 23 ; OKBUTTON = 24 ; ABOUTBOX = 1 ; ABOUTOKB = 4 ; ABOUTCAN = 5 ; VAR VDIHandle : INTEGER ; workIn : GEMVDIbase.VDIWorkInType ; workOut : GEMVDIbase.VDIWorkOutType ; WidthChar, HeightChar, WidthFont, HeightFont : INTEGER ; (* Window data *) Window : INTEGER ; (* window handle *) WindX, WindY, WindWidth, WindHeight : INTEGER ; (* Total window *) Appl : INTEGER; MainMenuTree : ADDRESS; MoptMenuTree : ADDRESS; SendMenuTree : ADDRESS; RecvMenuTree : ADDRESS; Colour : BOOLEAN ; (* Running on Colour ST system *) (* Work area available to graphics modules *) WorkX, WorkY, WorkWidth, WorkHeight : INTEGER ; CONST CancelButton= 0; OKButton= 1; TYPE NameString= ARRAY[0..64] OF CHAR; VAR CurrentDrive: CARDINAL; CurrentPath: NameString; Path: NameString; Name: NameString; ArcProgramName: NameString; DataPathName: NameString; DataFileName: NameString; DataName: NameString; ArcPathName: NameString; ArcFileName: NameString; ArcName: NameString; FileName: NameString; ExButton: INTEGER; Reply: CHAR; AskForStdOutput: BOOLEAN; MouseState: BOOLEAN; MainOption: ARRAY[0.. 0] OF CHAR; SecondaryOption: ARRAY[0..10] OF CHAR; CommandLine: ARRAY[0..127] OF CHAR; ProgramName: ARRAY[0..127] OF CHAR; ProgramCommand: ARRAY[0..127] OF CHAR; EnvironmentString: ARRAY[0..127] OF CHAR; ExitCode: INTEGER; (*$P- Turn normal entry and exit code generation off *) PROCEDURE DivideByZero; BEGIN (* DivideByZero *) CODE(4E73H); (* rte *) END DivideByZero; (*$P= Turn normal entry and exit code generation on*) PROCEDURE SetMouseState(SetMouse : BOOLEAN); BEGIN (* SetMouseState *) CASE SetMouse OF ON : CASE MouseState OF ON : ; | OFF : GrafMouse(MouseOn, NIL); END; | OFF : CASE MouseState OF ON : GrafMouse(MouseOff, NIL); | OFF : ; END; END; MouseState := SetMouse; END SetMouseState; PROCEDURE ClearScreen; BEGIN (* ClearScreen *) Write(CHR(27)); Write('E'); END ClearScreen; PROCEDURE CenterMessage(VAR Message : ARRAY OF CHAR); VAR c, cmax: CARDINAL; BEGIN (* CenterMessage *) IF Message[0] = 0C THEN RETURN; END; c := 0; cmax := HIGH(Message); WHILE (c <= cmax) AND (Message[c] # 0C) DO INC(c); END; IF (c > cmax) OR (Message[c] = 0C) THEN DEC(c); END; GoToXY((80 - c) DIV 2, 02); WriteString(Message); END CenterMessage; PROCEDURE Exit(ExitCode : INTEGER); BEGIN (* Exit *) IF NOT Term(ExitCode) THEN HALT; END; END Exit; PROCEDURE MoveStr(VAR To, From : ARRAY OF CHAR); VAR c, cmax, c1, c1max: CARDINAL; BEGIN (* MoveStr *) c := 0; cmax := HIGH(To); c1 := 0; c1max := HIGH(From); WHILE (c <= cmax) AND (c1 <= c1max) AND (From[c1] # 0C) DO To[c] := From[c1]; INC(c); INC(c1); END; IF c <= cmax THEN To[c] := 0C; END; END MoveStr; PROCEDURE Append(VAR To: ARRAY OF CHAR; VAR Data: ARRAY OF CHAR); VAR c, cmax, c1, c1max: CARDINAL; BEGIN (* Append *) c := 0; cmax := HIGH(To); WHILE (c <= cmax) AND (To[c] # 0C) DO INC(c); END; c1 := 0; c1max := HIGH(Data); WHILE (c <= cmax) AND (c1 <= c1max) AND (Data[c1] # 0C) DO To[c] := Data[c1]; INC(c); INC(c1); END; IF c <= cmax THEN To[c] := 0C; END; END Append; PROCEDURE ConvertString(VAR To, From : ARRAY OF CHAR); VAR c, cmax, c1, c1max: CARDINAL; BEGIN (* ConvertString *) c := 1; cmax := HIGH(To); c1 := 0; c1max := HIGH(From); WHILE (c <= cmax ) AND (c1 <= c1max) AND (From[c1] # 0C) DO To[c] := From[c1]; INC(c); INC(c1); END; IF c <= cmax THEN To[c] := 0C; END; To[0] := CHR(c-1); END ConvertString; (* ------------------------------------------------------------------- *) (* Dialog Stuff lives here *) (* ------------------------------------------------------------------- *) PROCEDURE ObjectAddress(tree : INTEGER; obindex : INTEGER) : ADDRESS; VAR res : INTEGER; treeadr : Tree; ob : POINTER TO ADDRESS; BEGIN AESResources.ResourceGetAddr(0,tree,treeadr); RETURN ADR(treeadr^[obindex]); END ObjectAddress; PROCEDURE GetObjectState(tree : INTEGER; obindex : INTEGER) : BITSET; VAR res : INTEGER; treeadr : Tree; BEGIN AESResources.ResourceGetAddr(0,tree,treeadr); RETURN BITSET(treeadr^[obindex].state); END GetObjectState; PROCEDURE TestObjectState(Tree : INTEGER; ObIndex : INTEGER; Mask : ObjectStates) : BOOLEAN; TYPE States = SET OF ObjectStates; VAR Value : BITSET; BEGIN Value := GetObjectState(Tree,ObIndex); RETURN (Mask IN States(Value)); END TestObjectState; PROCEDURE SetObjectState(tree : INTEGER; obindex : INTEGER; state : BITSET); VAR res : INTEGER; treeadr : Tree; BEGIN AESResources.ResourceGetAddr(0,tree,treeadr); treeadr^[obindex].state := INTEGER(state); END SetObjectState; PROCEDURE SelectObject(tree : INTEGER; obindex : INTEGER); CONST Selected = 0 ; VAR b: BITSET; BEGIN b := GetObjectState(tree,obindex); INCL(b, Selected); SetObjectState(tree,obindex,b); END SelectObject; PROCEDURE DeselectObject(tree : INTEGER; obindex : INTEGER); CONST Selected = 0 ; VAR b: BITSET; BEGIN b := GetObjectState(tree,obindex); EXCL(b, Selected); SetObjectState(tree,obindex,b); END DeselectObject; PROCEDURE DoDialog(DialogIndex : INTEGER) : INTEGER ; VAR dTree : ADDRESS ; x,y,w,h : INTEGER ; result : INTEGER ; BEGIN AESResources.ResourceGetAddr(GEMAESbase.RTree,DialogIndex,dTree) ; AESForms.FormCenter(dTree,x,y,w,h) ; AESForms.FormDialogue(GEMAESbase.FormStart,0,0,0,0,x,y,w,h) ; AESForms.FormDialogue(GEMAESbase.FormGrow,0,0,0,0,x,y,w,h) ; AESObjects.ObjectDraw(dTree,0,10,x,y,w,h) ; SetMouseState(ON); result := AESForms.FormDo(dTree,0) ; SetMouseState(OFF); AESForms.FormDialogue(GEMAESbase.FormShrink,0,0,0,0,x,y,w,h) ; AESForms.FormDialogue(GEMAESbase.FormFinish,0,0,0,0,x,y,w,h) ; ClearScreen; RETURN result; END DoDialog ; PROCEDURE FormatFileName(VAR FileName, Path, Name : NameString); VAR c: CARDINAL; BEGIN (* FormatFileName *) IF (Path[0] = 0C) AND (Name[0] = 0C) THEN FileName := '\*.*'; RETURN; ELSIF Path[0] = 0C THEN FileName := Name; RETURN; ELSIF Name[0] = 0C THEN FileName := Path; RETURN; END; FileName := Path; c := 0; WHILE (c <= HIGH(FileName)) AND (FileName[c] # 0C) DO INC(c); END; WHILE (c # 0) AND (FileName[c] # '\') DO DEC(c); END; IF c = 0 THEN FileName := Name; RETURN; END; FileName[c+1] := 0C; Append(FileName, Name); END FormatFileName; PROCEDURE DoMainOptions; CONST RS = 1EH; GS = 1DH; FS = 1CH; BEGIN (* DoMainOptions *) IF TestObjectState(MOPTIONS, ADDBUTON, Selected) THEN MainOption := 'A'; ELSIF TestObjectState(MOPTIONS, EXTRACTB, Selected) THEN MainOption := 'X'; ELSIF TestObjectState(MOPTIONS, MOVEBUTN, Selected) THEN MainOption := 'M'; ELSIF TestObjectState(MOPTIONS, FRESHENB, Selected) THEN MainOption := 'F'; ELSIF TestObjectState(MOPTIONS, UPDATEBU, Selected) THEN MainOption := 'U'; ELSIF TestObjectState(MOPTIONS, DELETEBU, Selected) THEN MainOption := 'D'; ELSIF TestObjectState(MOPTIONS, VERBOSEB, Selected) THEN MainOption := 'V'; ELSIF TestObjectState(MOPTIONS, COPYBUTN, Selected) THEN MainOption := 'P'; ELSIF TestObjectState(MOPTIONS, LISTBUTN, Selected) THEN MainOption := 'L'; ELSIF TestObjectState(MOPTIONS, RUNBUTON, Selected) THEN MainOption := 'R'; ELSIF TestObjectState(MOPTIONS, TESTARCI, Selected) THEN MainOption := 'T'; ELSIF TestObjectState(MOPTIONS, CNVTONPM, Selected) THEN MainOption := 'C'; END; END DoMainOptions; PROCEDURE DoSecondaryOptions; CONST ESC= 1BH; VAR CryptData: ARRAY[0..3] OF CHAR; BEGIN (* DoSecondaryOptions *) SecondaryOption := ''; IF TestObjectState(MOPTIONS, SUPPCOMP, Selected) THEN Append(SecondaryOption, 'S'); END; IF TestObjectState(MOPTIONS, KEEPBACK, Selected) THEN Append(SecondaryOption, 'B'); END; IF TestObjectState(MOPTIONS, SUPPWARN, Selected) THEN Append(SecondaryOption, 'W'); END; IF TestObjectState(MOPTIONS, SUPPNOTE, Selected) THEN Append(SecondaryOption, 'N'); END; IF TestObjectState(MOPTIONS, HOLDBUTN, Selected) THEN Append(SecondaryOption, 'H'); AskForStdOutput := FALSE; ELSE AskForStdOutput := TRUE; END; IF TestObjectState(MOPTIONS, CRYPTBUT, Selected) THEN Append(SecondaryOption, 'G'); END; END DoSecondaryOptions; PROCEDURE DoArc; VAR EncryptionKey: ARRAY[0..3] OF CHAR; c: CARDINAL; CReply: CHAR; OldDivideByZero: PROC; BEGIN (* DoArc *) IF ArcPathName[0] # 0C THEN Path := ArcPathName; Name := ArcFileName; ELSE Path := CurrentPath; Append(Path, '\*.ARC'); Name := ''; END; ExButton := 0; CenterMessage('We are asking for the Archive File Name here'); SetMouseState(ON); FileSelectorInput(ADR(Path), ADR(Name), ExButton); SetMouseState(OFF); ClearScreen; IF ExButton = CancelButton THEN Exit(-1); END; IF Name[0] = 0C THEN Exit(-2); END; ArcPathName := Path; ArcFileName := Name; FormatFileName(FileName, Path, Name); ArcName := FileName; IF (MainOption[0] = 'A') OR (MainOption[0] = 'M') OR (MainOption[0] = 'U') OR (MainOption[0] = 'F') OR (MainOption[0] = 'D') OR (MainOption[0] = 'X') OR (MainOption[0] = 'R') OR (MainOption[0] = 'P') THEN IF DataPathName[0] # 0C THEN Path := DataPathName; ELSE Path := CurrentPath; Append(Path, '\*.*'); END; Name := ''; ExButton := 0; CenterMessage('We are asking for the Data File Name(s) here'); SetMouseState(ON); FileSelectorInput(ADR(Path), ADR(Name), ExButton); SetMouseState(OFF); ClearScreen; IF ExButton = CancelButton THEN Exit(-1); END; DataPathName := Path; IF MainOption[0] = 'R' THEN FileName := Name; ELSIF MainOption[0] = 'D' THEN IF Name[0] = 0C THEN FileName := Path; ELSE FileName := Name; END; ELSE FormatFileName(FileName, Path, Name); END; ELSE FileName := ''; END; DataName := FileName; CommandLine[0] := MainOption[0]; CommandLine[1] := 0C; Append(CommandLine, SecondaryOption); ClearScreen; IF TestObjectState(MOPTIONS, CRYPTBUT, Selected) THEN WriteString('Enter the Encryption key '); c := 0; EncryptionKey := ' '; LOOP Read(CReply); IF CReply = CHR(0DH) THEN EXIT; END; Write(CReply); EncryptionKey[c] := CReply; INC(c); IF c = 4 THEN EXIT; END; END; Append(CommandLine, EncryptionKey); END; Append(CommandLine, ' '); Append(CommandLine, ArcName); IF DataName[0] # 0C THEN Append(CommandLine, ' '); Append(CommandLine, DataName); END; IF AskForStdOutput THEN Name := ''; ExButton := 0; CenterMessage('We are asking for the Standard Output File Name here'); SetMouseState(ON); FileSelectorInput(ADR(Path), ADR(Name), ExButton); SetMouseState(OFF); ClearScreen; IF ExButton = CancelButton THEN Exit(-1); END; IF Name[0] # 0C THEN FormatFileName(FileName, Path, Name); IF FileName[0] # 0C THEN Append(CommandLine, ' >'); Append(CommandLine, FileName); END; END; END; MoveStr(ProgramName, ArcProgramName); ConvertString(ProgramCommand, CommandLine); EnvironmentString := ''; WriteString(ProgramName); Write(' '); WriteString(CommandLine); Write(' '); WriteString(EnvironmentString); WriteLn; OldDivideByZero := PROC(GetException(5)); SetException(5, DivideByZero); (* It would seem that zero length files induce a divide by zero wich Modula-2 picks up so let's intercept with a dummy *) Exec(loadExecute, ProgramName, ProgramCommand, EnvironmentString, ExitCode); SetException(5, OldDivideByZero); CommandLine[0] := 0C; IF ExitCode # 0 THEN WriteLn; WriteString('Arc ExitCode is'); WriteInt(ExitCode,6); Read(CReply); END; ClearScreen; END DoArc; PROCEDURE DoProcess; PROCEDURE InitializeObjects; BEGIN (* InitializeObjects *) SelectObject(MOPTIONS, UPDATEBU); (* SelectObject(MOPTIONS, SUPPWARN); SelectObject(MOPTIONS, SUPPNOTE); *) SelectObject(MOPTIONS, HOLDBUTN); END InitializeObjects; BEGIN (* DoProcess *) InitializeObjects; LOOP DeselectObject(MOPTIONS, OKBUTTON); DeselectObject(MOPTIONS, CANBUTON); CASE DoDialog(MOPTIONS) OF OKBUTTON : DoMainOptions; DoSecondaryOptions; DoArc; | CANBUTON : EXIT; | ELSE ; END; END; END DoProcess; (* ------------------------------------------------------------------- *) PROCEDURE InitResource() : BOOLEAN ; CONST ResourceFileName = 'ARCSHELL.RSC'; Alert = "[3][ ArcShell.rsc not found ][OK]" ; VAR str : ARRAY [0..99] OF CHAR ; result : INTEGER ; i : CARDINAL ; BEGIN Appl := AESApplications.ApplInitialise() ; str := ResourceFileName ; AESResources.ResourceLoad(str) ; IF ( GEMAESbase.AESCallResult = 0 ) THEN str := Alert ; result := AESForms.FormAlert(1,str) ; RETURN FALSE ; END ; (* Get AES VDI handle *) VDIHandle := AESGraphics.GrafHandle(WidthChar,HeightChar, WidthFont,HeightFont); (* Open VDI Virtual workstation *) FOR i := 0 TO 9 DO workIn[i] := 1 ; END ; workIn[10] := 2 ; (* Set RC *) VDIControls.OpenVirtualWorkstation(workIn,VDIHandle,workOut) ; Colour := workOut[39] (* number of colours *) > 2 ; AESGraphics.GrafMouse(GEMAESbase.Arrow,NIL) ; (* put pointing mouse *) MouseState := ON; SetMouseState(OFF); DeselectObject(ABOUTBOX, ABOUTOKB); DeselectObject(ABOUTBOX, ABOUTCAN); IF DoDialog(ABOUTBOX) = ABOUTCAN THEN RETURN FALSE; END; ClearScreen; GetDrv(CurrentDrive); GetPath(CurrentPath, 0); Path[0] := CHR(ORD(CurrentDrive) + ORD('A')); Path[1] := ':'; Path[2] := 0C; Append(Path, CurrentPath); CurrentPath := Path; ArcProgramName := CurrentPath; Append(ArcProgramName, 'ARC.TTP'); Open(ArcProgramName, 0, result); IF result > 0 THEN IF NOT Close(result) THEN Exit(-1); END; ELSE ExButton := 0; Path := CurrentPath; Append(Path, '\*.*'); Name := ''; CenterMessage('We are asking for the Archive Program Name here'); SetMouseState(ON); FileSelectorInput(ADR(Path), ADR(Name), ExButton); SetMouseState(OFF); ClearScreen; IF ExButton = CancelButton THEN Exit(-1); END; IF Name[0] = 0C THEN Exit(-2); END; FormatFileName(ArcProgramName, Path, Name); END; ArcPathName := ''; DataPathName := ''; RETURN TRUE ; END InitResource ; (* ------------------------------------------------------------------- *) PROCEDURE Terminate ; BEGIN AESResources.ResourceFree() ; VDIControls.CloseVirtualWorkstation(VDIHandle) ; AESApplications.ApplExit ; END Terminate ; BEGIN (* ArcShell *) IF CreateHeap(32 * 1024, TRUE) THEN IF InitResource() THEN DoProcess; END; Terminate; END; END ArcShell. bD:.nb::.K (nJ4Pg(:.K (n8.I&nP@RnRn`:.nb:.K(nB4PN^NupN*NVBn=n:.nb:.K(nJ4PgRn`Bn=n :.nbD:.nb::.K (nJ4Pg(:.K (n8.I&nP@RnRn`:.nb:.K(nB4PN^NupN*NV=|=nBn=n :.nbD:.nb::.K (nJ4Pg(:.K (n8.I&nP@RnRn`:.nb:.K(nB4P:.SExI(nN^NupN*NVBg?. HnaJP(n:.K=tP N^NupNpN*NVU?. ?. aX=_z:.. ex` VDEN^NupNpN*NVBg?. HnaP(n:. K9P N^NupN*NVU?. ?.a*X=_n?. ?.?.a\N^NupN*NVU?. ?.aX=_n?. ?.?.aZ\N^NupN*NVBg?.HnaP/.HnHnHnHnaOBgBgBgBgBg?.?.?.?.a4O?<Bg`+b N+ GEMXModula-2/ST (c) Copyright Modula 2 Software Ltd. 1985, 1986. (c) Copyright TDI Software Inc. 1985, 1986. The team : Chris Hall, Paul Curtis, and Phil Camp .[3][Modula-2 Run Time Error : | | #][OK] _b ШNYN"pNGNuNV*x ڄ=E*P-E@-M-VNh-H:. Eg :. Ef-n*.P-ENH:. Ef Nh-hN2:. Ef BBN:. E e Nh-PN-n I+j8B,)n9n)n )n)n)n|.n 9+f/@>,VNhYN`NsN^NuNVBn ncN:.EIBtP ndRn`I* -EI* -EI* -EI* -EI* -Ez-E=| Bn=|BnBn <I* "NB=|N=|=|=|Bn=|z-E <I* "NB=|4=|=|=|Bn=|(mI* -E <I* "NB=|Bn=|BnBn <I* "NBNpL?NAN^NuNV/-+NIGz+WBn:.IJ4PgRn`=y+j:. E d:.I0PN(z:.  HEx0D8.I@Rnz:. HEx0D8.I@RnIGzWBn:.I8.nGP@Rn:.IJ4Pg`N+_N^Nu OAbrpNGNuF'/NNn-/=-/H"Q ,IL?/^>/^Nf,oNsF'/NNn-/=-/H"Q G*- =/^Nf,oNs/NNn-/=/-/H _"h$",HL?/^>/^Nf,oNsF'SSfWWNsSf>NsSfF NsSfNqNsSf NNsNhBBB 9+!B*H$C! `N <L?NAN`WNsNVHx". $.bBCh8BAHA62HC6BAHA`B6HCBAHA8<㑲eRCQ-C -ALN^Nu ./,/[JjDJ[jD |fNJgDJgD/NuF'pNNsF'pNNsF'pNNsF'pNNsF'pNNsF'pNNsNV . /2.??<NM*-E:. E b:.EI+)PN:.E EI+)PN^NuNV/9+?<N\\/9+?<N\\/9+?<N\\/9+?<N\\/9+?<N\\/9+?<N\\/9+?<'N\\/9+?<&N\\/9+?<%N\\N^NuNqNqNq O h*#+b(y+b#+ ( ШШ(y+*,Ѕ.@//??<JNA (y+b*,ڬ ڬڬ#+/<?<N\\/<?<N\\/<$?<N\\/<2?<N\\/<@?<N\\/<N?<N\\/<?<'N\\/<@?<&N\\/<t?<%N\\#4+fpNGN 4NV0.?NA*-E N^NuNV0.?0. ?NA*-E N^NuNV ./0. ?NA*-EN^NuNV0.? . /0.?NA*-EN^NuNVY?<NT*(n8N^NuNVY?<=(n* /?. NP*(n8N^NuNVY?<>?.NXJWDE N^NuNVY?<G(n * /?.NP-_N^NuNVY?<H/. N\(n(N^NuNV(n * /(n* /(n* /z.0?pK?* #,*#,*#,NA*y,,y,.y,*(n8N^NuNVY?<LNTJWDE N^NuN\NVN^N pN*NVJ.g ,3NB9,3I,"/ /NVN^NNVps"91`NBN^NuNV3-43-63 -:3 ->3-@N^NuNNVI-L* #1PI.L* #1TI/L* #1XI0L* #1\I-4* #1d#1P1h#1T1l#1X1p#1\1tI1d* #1`N^NNV?<dBg?< Bg(n ?NO By1x y 1xoN4:91xE(n891xDG-L7P@ y 1xlRy1x`NBy1x y,1xoN4:91xEI/L891xD&n7P@ y,1xlRy1x`3-1x y81xoN8:91xE-EI0L891xD&n7P@ y81xlRy1x`(n 8-@N^NuNV?<eBgBgBg?.NO NN^NuNNVN^NNNVN^NFNV?.?.?.?. N P3 ,|3,~#,U?<*?<?<?<BgN O 3,N^NuNNVN^NNV(n* #,U?<nBg?<?<BgN O 3,N^NuNVU?<oBg?<BgBgN O 3,N^NuNV?.?. N XU?<p?<?<Bg?<N O 3,(n(,N^NuN@NVN^N\NVU?< Bg?<BgBgN O =_N^NuNVU?<Bg?<BgBgN O 3,N^NuNNVN^N+&\*.*SBWNHG\*.ARCWe are asking for the Archive File Name here\*.*We are asking for the Data File Name(s) hereEnter the Encryption key We are asking for the Standard Output File Name here >Arc ExitCode isARCSHELL.RSC[3][ ArcShell.rsc not found ][OK]ARC.TTP\*.*We are asking for the Archive Program Name hereNspN*NVz. Nz95 N(N&?</(n Jf(n&nz@QN^NuN(nJf(n &nz@QN^Nu(n &nz@QBn:. E@b:.K@(nJ4PgRn`Jng:.K@(n4P \gSn`Jnf(n&nz@QN^Nu:.REK@(nB4P?<@(nHT?<@(nHTaNO N^NupN*NVUBg?<B'a\Jg A5N^UBg?<B'a\Jg X5N>UBg?<B'ax\Jg M5NUBg?<B'aX\Jg F5NUBg?<B'a8\Jg U5NUBg?<B'a\Jg D5NUBg?<B'a\Jg V5NUBg?< B'a\Jg P5N~UBg?< B'a\Jg L5N^UBg?< B'a\Jg R5N>UBg?< B'ax\Jg T5NUBg?< B'aX\JgC5N^NupN*NVImG5zWUBg?<B'a\Jg?< Hy5BgHynapO UBg?<B'a\Jg?< Hy5BgHypaBO UBg?<B'a\Jg?< Hy5BgHyraO UBg?<B'a\Jg?< Hy5BgHytaO UBg?<B'a`\Jg$?< Hy5BgHyvaO B95N 5UBg?<B'a \Jg?< Hy5BgHyxaxO N^Nup N*NVJ94 g,I4 G2~z@QI4LG2z@QNFI2 Z   v              B, : V r      s<%x00r( ~   % V      / 2F CBC# J Y j z               "  " &    % 7 F  R  & d*  i8 ARCHIVE ARC.TTP is a program that will compress a file. It is better than squeeze and scrunch (FCRGEM.PRG). You can add or subtract just one file at a time if you want and have the free use of wildcards. You can also see what the file contains by verbose a file. If you run arc.ttp then put in h in the input window it will list the comands avilable. Unarc the arc.arc file to have better documentation. There is another program with it call ARCSHELL.PRG and it's RSC. These are the gem interface for the arc program. To unarchive a file run arcshell and click on extract and hold screen and then the do it. Then select the drive which the arc(ed) file is on and select the arc file the you want to unarc. Then it will ask for the file name of what you want to extract, use *.* or the name of the file that you to extract. The wild cards are ? And *. Have a nice day and support your ST. This program will also unarc an IBM or Amiga's archived files. Blackbeard. 00 ` `>(c) A.Thomas 1988BB-Aa(NuCzA"A"A"A"Ax"Nu=@Az"psNBNuCA"A"B BBBB"A@"A`"An"Av"Nu=@@ A9|8CA"A"A"A$"A*"A"A "Nu INTERSECT Ramdisk intram.rsc[3][ The Resource File for | this program was not | present 'INTRAM.RSC'.][Get Resource]%lu[3][You can get a copy of this |Megamax 'C' Source. Send|$15.00 to INTERSECT.][ADDRESS FOLLOWS][1][ Copyright 1985, INTERSECT | P.O. BOX 49346 | Sarasota, Fla. 33578 | Public Domain Ver 3.0][OK][1][ Look for the ORCHESTRATOR | complete music composition | for the ST sound chip.][By: Rich Plom][1][ INTERLINK is an awesome | terminal program that | pushes the ST to its limit.][By: Randy Mears][1][ Check your local dealer | or write us.][OK][1][ Be sure to | REMOVE Ramdisk | before changing | screen resolution.][OK][1][ You do not have enough | memory to install a | ramdisk that large.][OK]%lu [1][The drive specified appears|to already be installed.|Should I proceed anyway ?][OK|CANCEL]@$??CON:AUX:PRT:%d fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNu"l`Qd&&|-KNuN"l`Qep[N c R nPNu _\-KN$@Hz ?<&NN\NupNu$d2 hEXITREMOVEAVAILABLE RAM9999999Randy MearsSOFTWARE byINTERSECTINSTALLDRIVE DDRIVE EDRIVE F00000; <@AIJV WcC dnp qqqq0A0r Q w Q  -Q  -A os ApApAp Ap Ap ApAp/ApD`| rrs  $)p r# !"$@$r%s$ p' s$ r&!%s# &p','+s!+(*p* A )!'  &1130.B.c ,/s .C C+A ( Nx+| "N+| "+|r&+|€* <N0CNbHxNVoTHE VIRUS DESTRUCTION UTILITY|Written by Richard Karsmakers|Thanks to Frank Lemmen and| STRIKE-a-LIGHTHPNJOK|More|Cancelr"_ N+@. -.UgNbHxNJLAdditional ideas by:| Math Claessens| W.F. Kilwinger|An ST NEWS ProductionHPNJOKr"_ N+@2HxNVAYou computer should be|turned **************************************************************** ST UK Starter Pack. **************************************************************** Compiled by Andrew Bishop 25th November 1988 If there is anything that you do not understand in this document please read 'Your Second ST User Manual' on disk one of the start pack. Disk One. Contains A VIRUS antidote, two desktop accessories and a 250k text file called YR_2_MAN.UAL which really means 'Your Second Atari ST User Manual'. Read It. It tells you everything that you need to know to be able to USE the ST. Disk Two. Contains ST Tour. Place the disk in drive A and turn on your ST. Disk Three. Contents: 1. ARCHIVER 2. AUTO DATE 3. AUTO GEM 4. GOODIES 5. INTERSECT RAM DISK 6. MONOCHROME MONITOR EMULATOR 7. PIC SWITCH PICTURE CONVERTOR 8. VOLUME NAMER 9. DISK CONTENTS 10. DIGITAL WATCH 11. PRINTER SPOOLER 12. RAM FREE 13. RAT TRAP 14. VIRUS KILLER 2 15. SUPER FORMATTOR DESKTOP ACCESSORIES. The programs that are on these disks with an extension of ACC e.g. RATTRAP.ACC, unlike files with TOS or PRG extension they cannot be 'run' by clicking on them. To run programs with the extender ACC you must copy them and their associated files into the 'root' directory of your boot disk i.e. the root directory is outside ALL folders (directories). The boot disk is the disk that is in drive A when you turn on your ST, or drive C if your have a hard disk drive. A program has to be especially written to be a Desktop Accessory so do not try changing a FILENAME.PRG program to FILENAME.ACC because it won't work. When you have booted your ST with your desktop accesories they can be selected by clicking on the far left menu option (availiable from any GEM based menu driven program). The last point is that onl` .|N.NA"/0<NBNuNVJyfB?<NT3N^NuNVJygB?<NTByN^NuNVBn`0n 0Rn n m33.^/</< N DPN^NuNV=n=n 0.n S@=@0. nS@=@.Q?<?9N XN^NuNV.Q/]/Y/U09@?RW?<Z?<2?<d?< BgN\>?.?.?.?< NP3BWBg/<~?<?9N >?.?.?.?9?9?<2?<dN >?.?.?.?9N@P./</<"/< ?<?9NN^NuNVa>NB=n =n =n=n.U/Y/]/Q?< ?9N`\.Q/NXJ@g>?.?.?.a>\>a.U/Y/]/Q?< ?9NJngJnfBWNBa|N^NuNVN ./</<\/< N 3.?9NT3>N 8-@g. .r>?<+N XT .>?<-N XT3ByaN^NuNV`Bn./</</</</<Bg?</<BgBgBgBgBgBgBgBgBgBgBg?<?<?<1N 8=@>NB./</</<$?< ?9N.g09`09ְyf(Jnf">?9?9?9?<aP`09ְyfBWBgBgBg?< ?9N `|09ְyf yg>N 3`L09ְyfj>Nz>?9?9"?9 09@?RW09@?BgBgN.>N>N 3`09ְyf\>?9?9?9?<?9N ./</<"/< ?<?9N`b09ذyf2 yf aa6`BWBgBgBg?< ?9N =|``||b@0@& PN ygB@`p=@>,N X0y"f.g0 yg&Jnf >?9?9"?9 BgaPBWNB`N^NuNVJngh>?9N FTBW?9N T=y =y"09 yS@=@09"yS@=@.Q?9N hT>,N X=@0.r `|=@0.@|?=@0.|@=@|:|:B.| 0.H |@0.H H@|@0.H |@0.H H@|@0.H |@0.H H@|@Jy gp `p@.]/Q?<Bg?9N >?9N T.?9"RW?9 RW?9N \3">*N X=@y$fJng0.|=@0.@|=@0.r `|P=@|/|/B.| | 0.H |@0.H H@|@0.H |@0.H H@|@0.H |@0.H H@|@.?9"09W?9 RW?9N \3$N^Nu#NN/9Nu#NM/9Nu#NA/9NuNV# 3 3By33N #N^NuNV3eByBy3N N^NuNV3 3 Bn nH|2n2RRnJ@f33Sn33N N^NuNV## .мZ#3dBy3  n 3N n 0####N^NuNV# 3 3333N #N^NuNV3 3By33N 09N^NuNV3 3By33N 09N^NuNV3 3 3'By33N n0 n0N^NuNV3 3By33N 09N^Nu#"<psNBNuNV3&0.|Hм-@=|` nH2n&2RRn nm.NB@09NN^NuNV#&##.#N###> aF3NpN^NuNV>a*pN^NuNV3.3 03 23436383:3<3>3@3B3D3 F3"H#$3(J3*L>N n,0P n00R n40T n80V n<0X n@0ZB@09NN^NuNV3.3 03 23436383:3<>IN N^NuNV3.3 03 23436383:3<>JN N^NuNV>MN n0P n 0R n0T n0VB@09NN^NuNV3.# >NN N^NuNV3.# >#N N^NuNV3.3 03 23436>dN N^NuNV3.3 03 23436>eN N^NuNV3.>fN N^NuNV3.>gN N^NuNV3.3 0>hN n 0P n0R n0T n0VB@09NN^NuNV3.3 03 2343638>iN N^NuNV3.>kN N^NuNV3.3 03 2343638>lN n0P n0R n0T n 0VB@09NN^NuNVH *n(n >0-W?0,WNT:>0-W?,0,WNT8>?NdT>>?,NdT<89F0G9@0F9@GoFnB@`pJL0N^NuNV0.n o0.`0. N^NuNV0.n l0.`0. N^Nu @(#)WATCH.ACC V0.01 Atari Corp. /jwt0jFj WATCH Watch @    2>    (           $            $              *K UP FIRST BYTE OF SS SUBI.B #$30,D0 MAKE IT BINARY CMP.L A1,A2 PAST END OF DATA? BLE GETTIME YES - GO ASK FOR MORE MOVEQ.L #10,D1 10 IN D1 MULS D1,D0 MULTIPLY D0 BY 10 MOVE.B 0(A1),D1 SECOND BYTE OF SS IN D1 SUBI.B #$30,D1 MAKE IT BINARY ADD.L D1,D0 ADD TO TOTAL IN D0 LSR #1,D0 CONVERT TO 2-SECOND INCREMENTS SAVESS EQU * MOVE.B D0,NEWSS SAVE FOR LATER * IS HH VALUE LESS THAN 12? MOVE.B NEWHH,D0 PICK UP HOURS AGAIN CMP.B #12,D0 LESS THAN 12? BGE SET_TIME NO - GO SET AS IS CMP.B #'P',PMFLAG WAS PM FLAG SET EARLIER? BNE SET_TIME NO - GO SET TIME AS IS ADDI.B #12,D0 YES - ADD 12 TO MAKE 24-HOUR CLOCK MOVE.B D0,NEWHH AND RESAVE * * NOW PUT INTO REGIST#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 9B 02 #W 00 00 0E 01 1E 16 08 A:\*.*@ #W 00 00 0E 01 1E 16 00 @ #W 00 00 0E 09 2A 0B 00 @ #W 00 00 0F 0A 2A 0B 00 @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 00 01 00 FF B FLOPPY DISK@ @ #T 00 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@ @  @ LL_BDOS T_SETTIME CALL DOS TO SET TIME ADDQ.L #4,SP TIDY STACK TST.L D0 TEST RETURN CODE BMI GETTIME IF NEGATIVE, ASK AGAIN FOR TIME * NOW TURN THE CURSOR OFF AGAIN MOVE.W #-1,-(SP) DON'T CHANGE CURSOR BLINK RATE MOVE.W #0,-(SP) HIDE CURSOR CALL_EBIOS CURSCON CALL EXTENDED BIOS ADDQ.L #6,SP TIDY STACK * NOW SET THE BIOS TIME AND DATE * SETBIOS EQU * SWAP D7 MOVE DATE INTO HIGH-ORDER BYTE MOVE.W D2,D7 MOVE TIME INTO LOW-ORDER MOVE.L D7,-(SP) PUSH DATE AND TIME ONTO STACK CALL_EBIOS SETTIME CALL EXTENDE?< NA\, yV#b L/?< NA\BnBn=n0<ea,0<a-nn=@@=|B=|L=|Np/aPNu9rgHKL|9vg:vgf(E_x`xVtEoByta:JytfDnDoCD`CA`B(LNeC!(HBJAlBAFo23fNu3p3h9rf3f09p29h9rf29fN4Vx09fyjnaN4Vxcc RDD$`R~ OFFHALFFULLRat Trapversion 1.1(c) A.Thomas 1987 8   Ϻf.0 p? x `0`<7x2f߀Àр `8`&2;< =IJ K]^a  $ ( - Rn  D0&H|*H* B2-g0-۵۵۵Sf2-g0-۵۵۵"Sf2-g0-۵Sf2-gHx?<NNTLJ@f&<(<`&|f&<(<`&<(<0- ug ug ug۵ B55;B55;B55;B55;Sf2-g0-۵Sf0- ML>Nu@ 0NuHNU.-Gnp6a(LbH=|@-|B-|0FLHJp3a=|@-|B-|0FLHJp3a-Gn=|@=|cBLHDp*a-Gn=|@p2a<=|@-|B-|0FLHJp3ap=|@-|B-|0FLHJp3aH0N]LNu .\*T   P  E BEFORE? BNE DISPMSG1 YES - GO DISPLAY DATE AND TIME * WE WILL CHECK TO SEE IF DATE IS SET CMP.W #0,D0 IF LOW-ORDER WORD IS ZERO, BEQ BADCLOCK CLOCK MUST BE BAD MOVEQ.L #25,D1 NO OF POSITIONS TO MOVE LSR.L D1,D0 MOVE DATE INTO LOWORDER BITS OF D0 CMP.W #7,D0 IF DATE LESS THAN 7 (YEARS SINCE 1980) BLT DISPMSG THEN GO SEND WARNING MESSAGE CMP.W #20,D0 IF THIS CENTURY BLT SET_DOSDATE THEN ASSUME SET OK - TELL DOS BRA DISPMSG BADCLOCK EQU * CLR.L D0 CLEAR GARBAGE MOVE.L D0,D7 SAVE IN D7 * DISPMSG EQU * * OTHERWISE DISPLAY WARNING MESSAGE AND PROMPT FOR VALUES PEA WARN(PC) PUSH MSG ADDRESS ONTO STACK CALL_BDOS C_CONWS WRITE STRING TO CONSOLE ADDQ.L #6,SP TIDY STACK CMP.W #0,D7 IS CLOCK ZERO? BEQ SETFLAG YES - BYPASS DISPLAY * DISPMSG1 EQU * MOVE. Iw.. IwPICSW7 PRGKwPICSW7 DOCSw_<`ylXP*O.|4*m - ЭЭм// ??<JNA NJ/<NA"/0<NBNuNVNs.///Nt 3f3@=|`0n@0Rn n m3T.L/<f/<@NvP3Ln3N4>Ny3Bn`*0n/?fNuNsBWNy>Ny=@0.|A>/<X/<NPNP3&3X>Nu&>NTBW/<?<=Ny\-@JmD .=@.p/<?.?<?NyP-@>?<>NyT#p`BBW/<?<=Ny\-@JmF .=@./<?.?<?NyP-@>?<>NyT |B`>/</<$NPNP>fNu./<d/<h/<b/<|Nt|>?9d?9h?9b?<Bg/<|Nt>Ny>NTBW?9fNwT`./<6/<NtP>NTJng.6NPJ@g.6a3m.x/<6/<NPP3./<8/<NiP>/</9/<xNG -@JmBB@3tH#3B@H-@3v3Bn`>0nBP0nvBP0nZ00nlBPRn nm09`JyfH 9T-@ n3 9X-@ 9м-@.4/.NjX 9м0-@ n0|g3 n0|@3 n0|3v 9м2-@ n0|@ n0|f,3ZJ.l.HD@3l` .H3l`FJ.lByZ.HD@3l`*J.f3ZByl`3Z.H3l 9м4-@ n3v` yn-y n3 9T-@ 9м"-@.4/.NjX09S@ygJ./<P/<NQP09|1R.?<NtdT=@ ng 9м}"-@`-y n0|3 9T-@ 9м"-@09Y@ygJ./<P/<NQP09|1R.?<NtdT=@ ng* yl=|`=|##4 >N_bSnf-yJg0 9Юc3Bn`*.0.@Hм//.NQPRnT nmBn`*.0.@Hмv//.NQPRnT nmBn`*.0.@HмZ//.NQPRnT nmBn`L.0.@Hмl//.NQP0<2nl2A2nl2RnT nm0<Hl3v>fNu./<8/.NiP>/</<L/9@?<?9/<8/94aBWBgBgaX=@`  9T-@ n3 y lB@`p y lBA`rA=@09_@2.Ayg nf./<P/<NQP nf./<P/<NQP`./<P/<NQP09|0R.?<NtdT=@ ng Z 9X-@ 9м-@ nf -|`-|}./9/9N.bPP-@ cD ng:./9D/.NXP>/./94/9DNY0 `&/</.NxP./94/.NiP>fNu./<8/.NiP>/</<L/9@ ngB@`p?W?9/<8/94a nf6 yf> ?<Bga 6X=@`>?<Bga X=@`BWBgBga X=@` ./94/9NCP3.?z/9/94NiPJym yl3-|`3-|.?9N/ T-@09X@=@B@=@=@=@=@=@p=@=@ nfB@=@=@=@=@ n9fRn0.noBn nf pn=@ n"f pn=@ n0f pn=@ nm0.T@nm 0.U@=@0.nf 0.nf0.nf 0.ng.?./<8/9NE 0.ng>/94/9NFP>fNu>/</<L/9@?<?9/<8/94aBn`$0n"|L>?.?<NyXRn nm=nBn` N2n"N4n1iRn nmBWBg?<a X=@ nafH`,3./94/9NZP./<8/<NiP>fNu>/</<L/9@?<h?9/<8/94a yf>?<Bga X=@`>h?<Bga X=@`x3.4/9N[4X./<8/<NiP>fNu>/</<L/9@?<?9/<8/94aBWBgBga ^X=@`By./94/9N[P./<8/<NiP>fNu>/</<L/9@?<?9/<8/94aBBWBgBgaX=@`^By./</<VNiP-yB@=@H-@`*0n"n0H"|B4nHAgRRn nmJf n(H=@./9 NWLXJnf"./9@/9NQP` ./9@/9NWP nf./9@NX\X`./9@NjX`JB=|`0n"n0HHѮRn nmJg./.NWLX.4NjB yf6.4/9NXX./</<NiP`b yf>.4/9NoX./</<NiP3`.4/9NoX>fNu./<8/<NiP>/</<L/9@?<?9/<8/94aBWBgBgaTX=@`-y nH|3 ynz.//9!NQP.//9#NQP 9R-@ 9м%-@0.Hйм%-@`&Wy3 9R-@ nH@|3 nH|3vR nPJ.lByZ.HD@3l`*J.f3ZByl`3Z.H3l./<v/9VNQP.//9%NQP.//9'NQP 9Z-@ 9м)-@0.Hйм)-@ yf09R@y yg\09|ygJ./<P/<NQP09|1R.?<NtdT=@ ng. /<8/.NQP>/94/./.NpN >fNu>/</<L/9@?<?9/<8/94aBWBgBgaX=@``|b@0@J PN.?9N/ T>NTBW?9fNwT`.?<NyT>%Ny>%Ny>?<NyT>fNu>fNupBW?9fNwT.h?<INyT>Nu&>fNuNsN^NuNV n m no nf yn`$9og3n3&`3n ng nfBy`3 n f3FBy^`3F3^ByByByJn f 3` n f 3`3N^NuNV=|`(0.м @( g 0.[@"n2Rn n o=| `*0.м @( g0.|"n 2Rn no=|`*0.м @( g0.|"n2Rn noN^NuNVBnB..NPHЮ-@./]0.@Hм/NQP.]/./.N.bP-@JfRn0n"|J0fJf./<d/<h/<b/<Nt|>?9d?9h?9b?<Bg/<NtBW/<Nt2X|=@0.м @h >NT=|0.N^NuNVBnBn yf0. |p=@` 0. |8=@>Ny-@Jyf>?9aTRy` >Ny> NyJf.U/U/?9fNv .U/]/U/U/Q/UBgBgBBgBgBgBgBgBgBgBgBgBg?<?<?<?<#Nt8=@ n f .g|n0.|=@0.|=@Jn gJng=nB?<NtTBW?9fNwT`Z.U//U/U/Q/UBgBgBBgBgBgBgBg?<09R@@??.Bg?<Bg?<?<?<Nt8=@.f0.n=@=n0.HйlB`,0.Hй0no 0n#` 0.Hѹ0.H"9Ȱg 9=@>fNu yf*./<P/9Ny&Pй@/NjX`(./</9Ny&Pй@/NjXBW?9fNwT`>fNuBBgNtTBn`LJng2.U/U/?9fNv .f=|a`Jng0.|@=@ nbfBWNQ./<d/<h/<b/<Nt|>?9d?9h?9b?<Bg/<Nt` >Ny> NyJfNs>NQBn` nfBWNQ./<d/<h/<b/<|Nt|>?9d?9h?9b?<Bg/<|Nt` >Ny> NyJfNs>NQBn`R nfN/zBn`< n9ff ymZ ynN yg yfh=yV=|`0n808Rn nm38 yg./<L/<8NiP` yL` yfRy09|oByJyf./<8/<vNiP`J yf./<8/<NiP`$ yf./<8/<NiP yg./<L/<8NiP.L?<NyTBn` yg n.f yg yf.@NjBJytgt0n ./9@/94NkNP./<L/<NiP0. |8=@/</</9Ny&P/NxP#Byt`B?<NtTBW?9fNwT0n ./9@/94NlP>fNuBBgNtT./<L/<VNiP0. @H|8=@/< 9/NxP#0.H"9Ȱl 0n#3t.L?<NyT./</9Ny&Pй@/NjX` n fJgJytgZ/<6/<L/.?9Bg yN=@Jng(/<6/<L/.?9?< yN`v/</9Ny&Pй4-@/<6/<8/.?9Bg yN=@Jng(/<6/<8/.?9?< yN>?<?<NyXBn` nf BWNQ./<N-X yf -| ` yf -|`-|Jyf2/</.NxP./<8/9D/94aX `d yf2/</.NxP./<8/9D/94af `(/</.Ny&P./9D/94NiP./9DNc~X>NQBnJnf nagBnJng0.N^NuNV./.NPXHЮ//.N.bP-@>/</.NPNPJg:> /< .쐮м/NPP>/</.RNPNP.//Q/]/<FNt|>?.?.?.?<Bg/<FNtBW/<FNt2X|=@> NQ0.мF @h .NP=@fB@`z nfj>/./<NPNP noL .^-@`S n  g .d-n n|.>/.T/<NPNPpnN^NuNVBn0.Ю @0.Ю @ n2.00RnJ@fN^NuNV-|f-|L-|`>Ny-@.?<NyT>/./.?<Ny B?< NyT-@0. |"n n-P n g0. |"n.?< NyT .N^NuNV>Ny-@Jn g .NjB nl yf~ n0././<NiPJn g. n?/.a\Jnf0n./. /./.a `0n./. /./.a `R n0././. NiP0.(././.NiPJn g. n?/.aN\` yfV n0././. NiP0.(././.NiPJn g. n?/.a\`x n0 n (g././<NiP`././<NiP0n././.NkNPJn g. n?/.at\Jn g$./.NjX. n?/.aJ\N^NuNV. NjB. //.NQP. .?/.Np\=@Bn` N2nBhRn nmBn`=|Bn`p N2nJhg\ N2nJhmL0n06|@2n26|pAA2n26|A=@0.nl =n=nRn nm N2n1n N2n1|Rn0.nmN>/.//. /.NqN^NuNV. NjB. //.NQPBn`=|Bn`` N2nJhmL0n06|@2n26|pAA2n26|A=@0.nl =n=nRn nm N2n1n N2n1|Rn nm`.//. /.Nrb N^NuNVP. NjB. //.NQP. .?/.Np\=@TBnZ` N2nZBh`RnZ nZmBnX`=|^BnZ`~ N2nZJhgh N2nZJhmX N2nZ0(|@"N4nZ2)|pAA"N4nZ2)|A=@\0.\n^l =n\^=nZVRnZ nZm| N2nV1nX` N2nV1|RnX0.XnTm>BnZ`X>T/</`//.Nq./. /NkNP@@ RnZ/</.NxP/0.ZHmN^NuNVr. NjB. //.NQPBnx`=|~Bnz`l N2nzJhmX N2nz0(|@"N4nz2)|pAA"N4nz2)|A=@|0.|n~l =n|~=nzvRnz nzm N2nv1nx N2nv1|Rnx nxmTBnz`T.///.Nrb ./. /NkNP@@ Rnz/</.NxP/0.zHmN^NuNV> /</<a#~P> /<P/<a#hP>/</.a"P. a#&=@ n#o=|#0n./</. a$DP |2nB nl=|0.X@@3./<l/</<j/<Nt|>?9l?9?9j?<Bg/<NtN^NuNV y~f2>?9l?9?9jBgBgBgBg?<NtJ`> a#N^NuNVH*n(n &nBG`RG K2GgH5pHAgJgR bֻfB`` JL8N^NuNV0.|@2. |AA@=@0.|p@2. |pAA@=@0.|2. |A@=@0.@2.AAnN^NuNV>fNu>fNup>/NyN^NuNV./h/<a!P.ha |"oB.>/</ha P>/</<6a tP-|Jyf$>/.09м/a DP` ymB yn8>/. ylB@`pyR@мF/aP`L yf">/.09м/aP` >/.09мF/aPBWa!H=| ./<d/<h/<b/<Nt|>?9d?9h?9b?<Bg/<NtBW?9fNwT>/<޸/<6aP> /D/F/H/^/<޸a,BW/<Nt2X|=@L.\/\/P?9fNv nLf0.Lм @( g<.\/\/\/\Bg?<?<NsBnP`N>?<?9?9d?9h?9bBg?.L/<Nu.QfBW?<2NsT>?9d?9h?9b?<?<?.L/<a@??9?9d?9h?9b?<?< ?.L/<a@??9?9d?9h?9b?< ?<?.L/<a~__=@ nLf .Qg n Lm nLo nLm n Lo nLm nLopnL=@J nJf>fNu`> a0.Lм @h Bn"JnJg nJf.x/<޸/<a$P` nJf .޸a=@N.N <޸2.NHЁ//<޸arP-@Jg nB.\/<޸/<XNtP> aJn\gB@`p=@"Jn"f.޸aDJ@gJn"f.޸a.=@N.P <޸2.NHЁ//<޸aP-@Jf <޸2.NHЁ-@>/./^aP.x/<޸/<Xa PB?<NtT.$/?.D nJgBg`?<?.H?.Fa BBgNtT nJfBn ` nFf=|F>/h/<xaPBW/<x?<NNy\=@ZJnZfj>//<޸aP.޸N#&=@\Jn\gB@`p=@".޸/aXHЎ//aP=@X.x/<޸/haPJnZfJn\gJnXgLJnZfJn\g2./$?.F?.H/<xaT J@gB@`p=@" nJgJn"fX>fNu>aN^NuNVBn0. nm0. nn0. Ю @( f=n`0.Ю @( fRn0.no0.n g0.Ю @h 0. Ю @h >?.?.?.?<?./.Nt>?.?.?.?<?. /.Nt=|.U/U/U/UBg?<?<Ns0.N^NuNVB@09v| |f:yv>?9d?9h?9b?<?</<Nt././.NP n=P nf=|.a|=@.R .2.HЁ//.a4P-@Jf .2.HЁ-@ n Pf(>/./<TaP0.|1"n@` n Pf&>/./<YaP0.|1"n@`N n Pf>/./<^aP`. n Pf$>/./<cafP0.|0"n@>/. /.aDP>/<o/.a0P0.|g2>?9d?9h?9b?<?</<Nt yfzB@09F|=@=| `0.м @( f Rn no n g n fPyFy^B@09F|BA29^|Af09Xм @h JnfBn`pyFy^9Gg"3X09Xм @h `*9_g 3X09Xм @h JngBn.gd>?9d?9h?9b?<?</<Nt>?9d?9h?9b?<?</<NtN^NuNV yf -|h`& y m yn -|`-| n fJn f-n`-|Jytg2 ng*/</</9Ny&P/NxP-@`-y o\JytfT nfL yl .м԰l .м-@`" .м〰l .м-@ n f-y4-y@`~ yl:/</.Ny&Pй4-@/</.Ny&Pй@-@`8/<P/.Ny&Pй4-@/<P/.Ny&Pй@-@-yD.NjB>Ny-@0.yfd0.yfXJn g*./.NjX.8?9/.N%\`$ n .//<8NiP`X0.yfxJytfnJnfJn f yfXJn g*./.NjX.L?9/.N%\`$ n .//<LNiP`0.yfJn gP././.NkNP99g.?</.N%\`.?</.N%\`$ n .//<8NiP`H nfdJytg\=|Jn g(./.NjX.L?./.N%\`$ n .//<LNiP`.//<8NiPJnf yf>?.aT=@=n>?.aT=@>?.aT=@>?.aT=@=n=n>?.aT=@>?.aT=@=n=n=nJn g..?./.N%\././.NjP`././.NjP`JnfJn g99g.//<NiP`.//<vNiPJn g..?./.N%\././.Nl~P`././.Nl~P`X99g.//<NiP`.//<NiP././.NmP` nfNJyfLJn g..?./.N%\././.NjrP`././.NjrP`JnfJn g99g.//<NiP`.//<NiPJn g..?./.N%\././.NkNP`././.NkNP`X99g.//<6NiP`.//<NiP././.NmP`t nf.//<NiPJyf^Jn g8.?</.N%\./<8/./.N* `./<8/./.N' `\Jn g8.?</.N%\./<8/./.N+ `./<8/./.N) ` nf~=|.//<VNiPJn g0.?./.N%\.,/./.NlP`$ n g-|,././.NlPJn f n Jn gP.///Bg?<?<Ns.?9/.N%\`././NiPN^NuNV .. ! t.. ! tAUTODATEDOC(t AUTODATEPRG*t  AUTODATE This program is designed to be run from an AUTO folder on the boot disk. It reads the BIOS date/time, and if it does not appear to be set (ie. the ST has just been switched on) then it prompts for the date and time to be entered (in British format). Date is entered as DD/MM/YY with or without leading zeroes on the day and month. Time is entered as HH:MM[:SS][pm] with or without leading zero on hours (required on minutes and (optional) seconds). Time may be in 12- or 24-hour clock format, with pm suffix if appropriate. If program decides that date/time is already set (ie. warm boot, or set by a battery-backed clock card), the TOS date and time are re-synchronised with the BIOS, the date and time are displayed on the screen, but no prompting takes place, so the program does not annoy you each time you press the reset button. Highlights of Version 2 include: * Display of day-of-the-week as well as date and time * Uses medium resolution (on colour monitors) * Prompt now displays cursor * If date is set, a confirmation message is displayed, but user is not prompted This program is in the Public Domain and was written using Hisoft's DevpacST by Sandy Janas, 73 Burghmuir Court, Linlithgow, Scotland, UK. `\*OMOB*m - ЭЭB// Bg?<JNAO ?<NNT|g>?<//?<NN\O?<?<NAX?<E?<NAX` "0@AH@0@ANu??<-NAXHG??<+NAX`z??<?<NyXpN^NuNVH?Jyf ~0.g`(~0n"|00gp2n2`@Bnp29`=@ .м@-@.w/./.aLPP-@ n0|@=@ n0(|@=@ n0(|@=@BF`0Gf0*@H|eB@`p@-H|eB@`p@-H|eB@`p@B@0|HBA2|IABA2|IA2n 2RnRFnmlJL N^NuNVJyf0n-H-|c`,0n"|00H-@0n"|00H-@p29`H-@09R@(-@.|/.@/.aPP-@././././. /.NnN^NuNV3~BnB?<NtTBW/.?<=Ny\-@Jl.Bg?<a?<>NyTJnfHBBgNtT .N^NuNV^BnvJyg09ΰnf=|vBy~ n f-|f-|b`-|}f-|\b=|B?<NtTBW/.?</< ?.?<@NyP-@n nl.?.?<aN_ѮrSnf.D}/.r?.?<@NyP-@n .nrl.?.?<aX=@``@./.f?.?<@NyP-@n .nfl.?.?<axX=@`FJnvg n g n fBn` N2n2n1QxRn nmBn` N2nXI2nv1QxRn nmBn` N2nPI2nZ1QxRn nmBn`*0<2nl2A"N4n 3@xRn nm.x/< ?.?<@NyP-@n nl.?.?<aXX=@`& n f./<?.?<@NyP-@n nl.?.?<a X=@`./< ?.?<@NyP-@n nl.?.?<aX=@`./<?.?<@NyP-@n nl.?.?<aX=@`R./< ?.?<@NyP-@n nl.?.?<aDX=@`>?<>NyTa ngBBgNtT ngB@`pN^NuNVf nf$a> ?<>NyT. ?<ANyT> /</<a>P> /</<-a(P./<0.S@HмL/a"P.l//. aP.a=@j njo=|j0nj./</aPBW/<-/la:PBBgNtT>?<?<NyX.?<NtdTS@N^NuNVBn` n "nRR Rn nJfJng n B0.N^NuNVBn`Rn0n"nJ0f0.N^NuNVH*n,. .`SJfJL N^NuNV>/./.afP=@`SnJng n2n \g n2n :f> .2.HЁ/R/. aP=@0.R@n0.N^NuNV.a0=@`SnJng n2n \g n2n :f>/. .2.HЁ/RaP>/. /.aP n 2nB(N^NuNVH (n*n ..`SJfJL0N^NuNV>fNuJnff.H?<NyT/NjX09ܰyg8.?9aT>a./</<NiP`./</<LNiP09L|@29L|pAA29L|A=@JygB@`p V@=@0n"|L00|@2nL2|pAA2nL2|A=@0.nl 0.nD@`0.n|l( n l0n0w`0nBP.?<NyT`. g609ܰyg0.@>a`>Ny./9HNjX. gN09ܰyg.L?9aLT`.L?<NyT>Ny./9HNjX>?9fNwTN^NuNVJyf=|@`=|<>fNu. g?9fNw&T>?9fNwVT.?9fNu6TJyf=|=|0.]@=@=|`H yf =| =|0.|=@=|`=| =|20.|=@=| BW?9fNwVT.?9fNvT>?9fNxT>?9fNxLT./Bg?<?9fNw yf&..?<0.H??9fNu\`$..?<0.H??9fNu\BW?9fNxLT>?9fNxT./Bg?<?9fNw yf&.40.W?9n?.BgBgBgBgBg?<NtJBW?9fNwT.?<?9fNvzX>?9fNwTN^NuNV=|`Z nH|=@R0.@|=@0.|@=@0n 2.AH4.BH҂Ҽ"A0Rn nm n "n 0 =|`0n BPRn nmN^NuNVH*n(n &L`LH||c <|`BJFfH|MH|@`:JgSEf` HSEfeJL8N^NuNVH *n.. B`,B`(G|`` SFPJFfؼ(PmR(mJL0N^NuNVH *n(n ><` 8888SGJGfJL0N^NuNVHB<-L*n(n &L`m Sf` HSfe JL8N^NuNVH*n r4.aH//.NxP-@/</.NxP,(n&n .Ю-@/</.Ny&PЮ-@Jnf$B`:: n:T n:TRm`4 nfB`::Rm` nf./ /.NiPJL8N^NuNVHzBD-L*n(n &M`.HDm RSf`HEgHD@RSfe JL8N^NuNV-n. /./.N.bP-@Jg .м?-@ .N^NuNV./.aXм-@ ../. /.a$P.NjB./<P/<H/.X/. NoV.?z/. /.NiPN^NuNV./.a&X-@. NjB.V/<P/<@/. /.NoVN^NuNVH .Ю-@././.N.bP*@Vf*n././.N.bP(@ f(n. NjB&n B`<<<<HrHBAl4HHA=@0<H`2<tnaA0.`f0<H`pHA<o&HHH-@>/./ NPPHHǏHG0<rHB`HrHBAlH`0RpHA<oHHHHHǏHGe.NjB./<(/< /./. NoV./.@/.NiP./.>/.NiPBW/<}/. /.a JL8N^NuNVH .Ю-@././.N.bP*@Vf*n././.N.bP(@ f(n. NjB&n B`<<<<HrHBAl4HHA=@0<H`2<tnaA0.`f0<H`pHA<o&HHH-@>/./ NPPHHǏHG0<rHB`HrHBAlH`0RpHA<oHHHHHǏHGe.NjB./<P/< /./. NoV.@/. /.NiPJL8N^NuNVH z nl8<`xP=D*yI`.Jm RSDSf`HEgHD@RSDSfJDn>/9 /aP#0.Hѹ JL0N^NuNVH?-y Jnf=|=|`" nf=|=|` =|P=|0.H=@>//9aP0.HѹK(y `0.S@=@&Mp`RRfR`B<o6HSJgHS@`SJfpHHA<G<SnJnf<o.HJgHS@`SJfpHHA`HS@`SJfSnJnfB# 9 JL8N^NuNVJnf-n .м(-@ .мP-@ .мx-@Bn`L n "n0TT n "n0TT n "n0TT n "n0TT Rn nm`z nfL-n .мP-@Bn`( n "n0TT n "n0TT Rn n(m`$Bn` n "n0TT Rn n(mN^NuNVJnf-n . м(-@ . мP-@ . мx-@Bn`L n"n0TT n"n0TT n"n0TT n"n0TTRn nm`z nfL-n . мP-@Bn`( n"n0TT n"n0TTRn n(m`$Bn` n "n0TT Rn n(mN^NuNV| >NyJfB@`aB?<NtTBW?9fNwT>f/<aX/</. NyzPJnB@`pH//</. NxPП=@Bn`B`>Nyr-@> NyJf ag|-|6Bn`@ n-P n-hP n-h n-h n-h@ n-h n-h n-h0X=|` .2.=@ .2.퀁n .2.뀁n .2.送n .2.瀁n .2.倁n .2.、n .2.n0."nR.g0."nRSnJnl$Rn nm0.6apRn0.nmP>6/<aX ag.H>?<NyT>fNuBBgNtT afp``pN^NuNV=|`0n"nJ0f SnJnfJngR0.HH@"|F4y0.H"|F4y>l/<Fa X>/.aX>/<aXN^NuNV nH>?<NyTRSn fN^NuNV yPR .Lg .lf|`L .Hg .hf|`4 . g . gJ.f|` . g .,f| .m .o .0mt .9nj .f y  g y  fR .l .HD@` .H|N^NuNVB@=@@=@`&0. .HA=@a@J.mRnJ.lJnlBn no0.HH@=@a|mS .f0.`>`< .fJng 0.D@`&`0<+`` .f0<`` .f0<xN^NuNV#aLJmSBna=@Jnl0.D@2nRn`, nl0.2nRn` n+f=|Jnl3fBna=@Jnl0.D@2nFRn`P nxf3Rn`: nf3Rn`$ n+f=|`0.2nFRnJnl3lBna0=@Jnl0.D@2nRn`, nl0.2nRn` n+f=|Jnl36N^NuNVH (n*n ..`*QJL0N^NuNVH (n*n ><********QJL0N^NuNVH*n.<BBBBBBBBQJL N^NuNVH? *n(n ..SL BBt( gS gSQt gS gSQHF0:<HFH`PQJL0N^NuNVH? *n(n ..SL HC026HCBBt(g Sg SQtg Sg SQH`PQJL0N^NuNVH?&.(. ..B &@*@(MPz6666666666666666QRmJL8N^NuNVH?&.(. ..B &@*@(MPz:8:8:8:8:8:8:8:8QRmJL8N^NuNVH?*n&n ..SpL BBt( gS gSQt gS gSQ'FP&QPQJL8N^NuNVH?&n(n ..Sp&+P"BBt(g Sg SQtg Sg SQH`PQPQJL8N^NuNVH?&n(n ..TμS3l><BB|$+&+P(+XB gR gR gRg g QHA402HAHPQSyljJL8N^NuNVH?&n(n (.S><BB|$+&+PXB gR gRg g QHA402HAHPQPQJL8N^NuNVH?&n(n (.S3m3mBB|.x$+&+PXB gR gRS gR gRSgg gSQHPSymjPSymjJL8N^NuNVH? #n# n$.".3nI#n#nBBB:9nڹn(عn nmRnmRnЅ(@ @Є*@. @:QRmR mJL0N^NuNVH? (n*n (.,NS*.$..S&*QQJL0N^NuNVH? *n(n .<0*<BvgUjJgv`(XQJL0N^NuNVH? *n(n .<0*<Bv,gYjS&Jf*<BgYjS&JfHAHBHQJL0N^NuNVH>&n(n *n>.BBaBJFjDFSFrh;PaVQGm`SFrh;PaX09vNupNsppNspACT"2pNspC rNr#TpNspr ACT2Q#"pNspC(rNrA#3Tp2NspACTr2Qp3NspA3T#p4Nsp#p6NsprCNrAC""pZNsp o 0xNupMNsprCNrA3T#pNNspA#CTr2Qp*NspA#CTr2Qp/Nsp3TpkNspCA0 1| 1Y 1|Bh#(Nx|#(NuA01o B@1@1@Nx|A0e1o B@1@1@Nx|CA01Y 1|#$YC@rpg2RA`1ANx|A0{1o p1@1@Nx|#$ / #,мZ#0A0dBh1| "o1Q Nx|"o2#@$#L,#60NuCA01Y 1YBh#(Nx|#(NuCA0|1Y p1@1@Nx|E Z0L Z06 Z08NuCA0 1| 1Y 1|Bh#(Nx|#(NuCA01Y Bh1|3@Nx|09LNuCA01Y Bh1|3@Nx|09LNuCA0z1Y Bh1|3@Nx|CA01Y Bh1|3@Nx|09LNuCA0'1Y Bh1|#@Nx| o 0L o0NNuCA01Y Bh1|3@Nx|09LNuCA0j1Y Bh1|3@Nx|09LNu"< psNBNuNVH?BCB..,. f#8 <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD#8 D`#8 JLN^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNV/. /.Nx <8N^Nu#"  "&  N\ <&2    $<                  "               0   ""NzDz(D0(& &&0$   &         0(: r"$&(B2  2H0(,*J20 2 .        8 R           $.&F   .  $@0*R 8:8<6:B0@42L   D   $ (H      &"  d.f,:"&$z& @z&0B X R  b" T   Z"$"$"$8`\.    <Rv(                       &f r X000N8X ========================================================================== PicSwitch Picture Utility (c)1987 John Brochu for Advanced Software ========================================================================== Version: 0.7 Released: April 19, 1987 PicSwitch 0.7 is distributed as SHAREWARE. You are encouraged to freely distribute the program, but please include this doc file with the program. -------------------------------------------------------------------------- New features -------------------------------------------------------------------------- The following enhancements have been added from PicSwitch 0.6 ... o Runs on color AND monochrome systems, all features supported on both monitors except PREVIEW (color only) o New formats: DEGAS compressed, Tiny, and Atari 8-bit files o Much improved low-res and med-res to monochrome conversions o PicSwitch printer driver now supports all three resolutions o Color cycling is now supported, and is converted between formats o Converted pics are now saved to the original pic's directory, or optionally using the file selector to any drive/path -------------------------------------------------------------------------- About PicSwitch -------------------------------------------------------------------------- PicSwitch started out as a simple Amiga IFF file viewer back when ST paint programs were hard to come by (around October of '85)! Since then it has undergone lots of upgrading through versions 0.5 (the original), 0.6, and now 0.7. The basic intent of the program is to provide ST users with the ability to view as much artwork as possible, and to convert to a format that is usable to them on the ST. With this version I have addressed the major complaint most people have had with the program, that is monochrome support! All pics can be viewed on either the color or monochrome monitor, and can be saved in any resolution with either system, with automatic conversion to the selected resolution. Conversions from a higher res to a lower res are automatically optimized using a color averaging technique, while conversions from low & med-res to monochrome use a sophisticated dithering technique. Conversions from monochrome allow you the option of saving the picture using the full palette (best if you may want to restore the pic to its original state at a later date) or with the minimum possible palette (low-res conversions would use 5 colors, med-res 3). MacPaint and NVision/Paintworks monochrome page files are also allowed a fourth res-save option. Compressed save allows you to 'squeeze' a full 720-line MacPaint document or 800-line Paintworks pic into only 240 or 267 med-res lines, thus allowing you to view more of the pic on screen at once. On a color monitor, you are allowed to 'Preview' the conversion before saving, without affecting the original picture. Hi-res previews will display the picture in PicSwitch's 'simulated monochrome' mode. Printouts of ANY screen or full-page picture can now be done with the built-in driver on most 8-pin graphics printers. You can also load DEGAS printer drivers for printouts if you wish. -------------------------------------------------------------------------- Supported formats -------------------------------------------------------------------------- This version reads the following file formats: o DEGAS................................. [.PI1-.PI3] o DEGAS Elite compressed................ [.PC1-.PI3]* o NeoChrome.................................. [.NEO] o Tiny............................... [.TNY, .TN1-3]* o NVision.................. [.SC0-2, .CL0-2, .PG0-2] o Amiga IFF low- & med-res................... [.IFF] o MacPaint................................... [.MAC] o Mac Startup screen......................... [.MAS] o CIS Vidtex hi-res RLE...................... [.RLE] o Atari graphics 8 screen dump............... [.GR8]* o Atari graphics 9 screen dump............... [.GR9]* o Atari Koala/MicroIllustrator............... [.KOA]* o Atari MicroPainter......................... [.MPT]* And writes the following ST file formats: o DEGAS o DEGAS Elite compressed* o NeoChrome o NeoChrome 'page' (for NVision) *New additions from 0.6 -------------------------------------------------------------------------- Using the program -------------------------------------------------------------------------- To load a picture using the GEM file selector, double click on its filename or single-click and then click OK. The file will load and display. You are now in 'command mode'. Following is a list of key commands available: For all pics... --------------- o [Undo], right mouse button: aborts the pic and returns you to the file selector. o [Help]: displays the command list. o [I]: displays the information screen. o [S]: displays the save dialog (see below). o [P]: prints the current pic in its original form (screen OR full-page). [Undo] aborts a printout. The default printer type is Epson/Atari dot matrix. Other printers capable of 8-bit graphics can be configured using a ".PSW" driver as described further on. o [D]: dumps a color or monochrome screen to the printer. To use this option, you must have a DEGAS printer driver with a ".PRT" extender present in the directory the program is in when it is first run. The [Alt] key works as in DEGAS, ie.[D] prints a full page sideways, [Alt-D] prints a half-page. Pressing [Undo] during a print aborts the dump. For MacPaint/NVision pics only... --------------------------------- o left mouse button: activates a 'grabber' similar to Neochrome. o [C] (monochrome pics / color system only): compress a monochrome page vertically. This option converts 3 monochrome lines into 1 med-res line. Therefore a 720-line MacPaint document would reduce to a 240-line med-res scrollable image. Pressing this a second time restores the original image. Note this option is available in the save dialog on both monitors. For Amiga IFF pics only... -------------------------- o [1]-[6]: selects the bit-planes to be displayed. o [Space]: cycles through settings [1]-[6]. o [R],[G],[B]: boosts the selected color. o [Return]: restores the default planes and colors. Low-res 32-color pics have 5 'planes' or 5 bits of color-register selection. Keys 1-5 'pull out' one of the planes for display on the ST's 4-plane hardware. Med-res 16-color pics have 4 planes. Keys 1-6 in med-res therefore need to pull out 2 planes at a time. The following table summarizes the planes that are displayed. The space bar cycles through each in turn. +-----+---------+-----+ | key | low | med | +-----+---------+-----+ | 1 | 1,2,3,4 | 2,3 | | 2 | 0,2,3,4 | 1,3 | | 3 | 0,1,3,4 | 1,2 | | 4 | 0,1,2,4 | 0,3 | | 5 | 0,1,2,3 | 0,2 | | 6 | ---na-- | 0,1 | +-----+---------+-----+ Amiga's hardware also allows 4-bit color resolution, or 16 levels each of red, green, and blue. Since the ST only has 3-bit resolution, each IFF RGB color palette entry is cut in half to bring it into the ST's range. The R,G,B keys add one to the IFF value before halving it. This helps bring out some of the detail that may be lost if some of the registers convert to the same color. Other pics... ------------- o [SPACE] (RLE & GR8 pics): invert the palette. o [SPACE] (GR9 pics): select red/green/blue gray scale. -------------------------------------------------------------------------- The SAVE Dialog -------------------------------------------------------------------------- The top three lines in the dialog indicate the loaded picture's path (directory), filename, and original picture format. You can choose to save in any format and resolution by selecting the desired buttons. If you are using a color monitor, you can Preview what the image will look like in the selected format by clicking and holding the 'Preview' button. If you're running a monochrome monitor, this button will be disabled; however, you can still save in any format on both monitors. For mono to low- and med-res conversions, you have the option of converting the pic using all 16 or 4 palette colors ("FULL"), or using the "MINIMUM" possible number of colors (5 low-res, 3 med-res). Once you have selected the desired format, res, and palette set-up, you can save the pic using the "SAVE --------.---" or "SAVE AS" buttons. The SAVE button will save to the directory that the original pic came from (displayed on the top line of the dialog). SAVE AS will bring up the file selector so that you can save to any drive/directory you like, or change the filename. Note the save file selector's directory is always preserved and saved separately from the load file selector, so that you can quickly convert many pics from one drive/directory to another. If you specify an extender in the file selector, it will be ignored, and the proper file extender for the specified pic format will automatically be appended. Selecting Cancel in the file selector will get you back to the Save dialog with no action taken. If the original pic had color cycling information, and you save to the same resolution, the cycling info will be preserved and saved in the new file. Converting to/from DEGAS or Elite format will use animation channel one. -------------------------------------------------------------------------- Printer Drivers -------------------------------------------------------------------------- Printer drivers are loaded automatically when you first run the program. The file extenders ".PRT" and ".PSW" are searched for in the current directory (this allows you to have all PicSwitch-related files in one folder if you like). The first file of each type that was written to that directory is loaded. A PRT file is necessary to use the screen [D]ump command. These are the stand-alone 2K DEGAS printer drivers that are available on GEnie, CIS, Delphi, and other systems. A PSW file is necessary to use the [P]rint command only if you do NOT have an Epson-compatible printer. The printer driver in the current version of PicSwitch only supports 8-pin graphics and 960 dots per line density. PSW files are text files containing the decimal ascii codes necessary for setting up your printer for graphics. All PSW files must have three command lines separated by a single carriage return. Only the ascii characters 0-9, L, l, H, h, , , and CR/LF are recognized; all other characters are ignored. Each printer code must be separated by a space or comma delimiter. A maximum of 32 codes are allowed on each line. The first line contains the decimal codes for initializing your printer for graphics. These codes are sent to the printer only once at the start of a graphics dump. The second line is sent before every line of graphics and tells the printer how many columns of data are to follow. The third and final line is sent after the graphics dump is finished and restores the printer to normal operation. The following is a sample PSW file (this is the built-in EPSON default): 27 51 23 27 76 L H 27 50 The 1st line: "3" 23, tells the Epson to set the line spacing in 216ths of an inch increments, to 23/216 of an inch. You could substitute any line spacing command you like here. I found this setting worked very well in getting rid of the dreaded white lines. [Warning: some "Epson-compatibles" do not support this escape code. Consult your printer manual if you have problems.] Note that 24/216 or 8/72 is the more 'correct' setting to use here since the Epson's pin spacing is 1/72". The 2nd line: "L" L H, tells the Epson to print (L+256*H) columns of 960 dots per line graphics. You need not be concerned with the actual 'L'ow and 'H'igh values here, PicSwitch will substitute the correct values for L and H according to how long the actual line of picture data is. Just make sure you put the L and H in the correct place for your printer. Note you MUST use 960 dots per line density. The 3rd line: "2", tells the Epson to return to the original 1/6 of an inch line spacing. You could also use a 'reset' command here ( "@" for the Epson) if you wish. A form feed is sent at the end of each completed printer dump. If the printer is not available or a driver was not loaded, the console bell will sound. All printouts done with either [P]rint or [D]ump are printed in the ORIGINAL picture's resolution, not from screen memory. This allows mono pics to be printed with no loss of resolution. MacPaint/Paintworks pics cannot be printed in compressed mode unless you first save the file in compressed form, reload it, and then print it out. Remember, the [D]ump command is for screen dumps only, and only works if you have loaded a DEGAS printer driver at run-time. If the picture is a full-page MacPaint or Paintworks image, the section of the pic currently displayed is what gets printed. -------------------------------------------------------------------------- Thanks! -------------------------------------------------------------------------- Again, many thanks to everyone who took the time to write us, especially those who have contributed. You will not be forgotten! Please consider the time it takes to develop and debug a utility such as this. If you haven't already contributed, please honor the shareware policy and send your contribution, however small, to the address below. As always, I can be reached on GEnie [JAKOB], CIS [70376,1235], and Delphi [JAKOB], or you can write me at the address below. If you have any comments or ideas, I'd like to hear from you! John Brochu Advanced Software 21 Northend Street Peabody, MA 01960 ========================================================================== `  o,<ܨ ܨܨ~pA<0k< n @`JGf~ Hp ܇3/<|?<-?<NMP#/<l?<?< NNPBg/?<1NA$OfNj]J jf0 jf("y3##2* aB"y/?#Ns jf jfpa4(aȴhfpNs yNF'a4(hf.f(EA<@< @pNu4(anhg"P 1BpNu 9мpF#hfܰbpNuHa$4(hga&$P2 a1BLNsACNuRBhetNuD`.| N BBNA"/0<NBNu# NA/9 NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH?BCB..,. f# <`hlDRCJlDRCn8fzB`0l :HGH`xe`Jge`|fD# D`# JLN^NuNVN,. ?9,NT3`X.FN y(FfB09Nyf4.N#. m/9a X. Z?<NTJy gN^NuNVBn-|B@``/./.NP-@/./.N.P/ .-@ .м0"n 4nRn/< /.NP-@ nmN^NuNV>NNN^NuNV>"NNN^NuNV>NAN^NuNV>?<NAN^NuNV>?<NAN^NuNV>NAN^NuNV.?< NAN^NuNV.?< NAN^NuNV>?<NAN^NuNV>NAN^NuNV>NAN^NuNV>*NAN^NuNV>?<+NAN^NuNV>,NAN^NuNV>?<-NAN^NuNV> /.?<6NAN^NuNV> /.?< /.?<=NAN^NuNV>?<>NAN^NuNV./. ?.?<?NAN^NuNV./. ?.?<@NAN^NuNV.?<ANAN^NuNV.?<HNAN^NuNV.?<INAN^NuNV. /.?<?<JNAN^NuNV>/NAN^NuNV.?<NAN^NuNV> /.?<NNAN^NuNV>ONAN^NuNV./. ?.?<VNAN^NuNV>?. /.?<WNAN^NuNV>?<NMN^NuNV>?<NMN^NuNV> ?.?<NMN^NuNV>?<NMN^NuNV> NMN^NuNV>NNN^NuNV>NNN^NuNV>NNN^NuNV>/. /.?<NNN^NuNV.?<NNN^NuNV> ?.?<NNN^NuNV>NNN^NuNV>%NNN^NuNV.?<&NNN^NuNV>?.?.?. ?. ?.?<NNN^NuNV.?<NNN^NuNV>NNN^NuNV> /.?<1NAN^Nu?/?<LNANu#. "< psNBNu0/2/ҀgV 4<eHA4<|cRBA`B6<c4BfSB2C|gAC8be0Nu4`6`0Nur0/jDA4/BjDADB/&HCCjDCCBmA&Nu0/@kR@`S@@Nu0/@R@@Nu# aF3,pN^NuNV>a*pN^NuNV#V>NN^NuNV3# V>4NN^NuNV3# V>#NN^Nu [0][Available RAM: 0000000 bytes][ OK ] Free RAM sizevf  &8  $   xxxxxxxx. \#w.. \#wVOLUME DOC%\wVOLUME PRG)\w VOLUME RSC,\w This is an update to the original Volume Label Changer program which corrects some minor bugs and allows easy label changing for floppy, hard, and even ramdisks (if you ever really need to). VOLUME.PRG uses the resource file VOLUME.RSC which must be on the same disk as VOLUME.PRG. The program is very simple to use. Just click the mouse on the drive whose volume you wish to change and the old volume name will be retrieved. Just type in the new name and press RETURN or click on the UPDATE button. You can then select another drive to change if you want or click on the EXIT button to leave the program. Murray Levine ` H *O.|*m - ЭЭм// ??<JNA NF/<NA"/0<NBNuNV`Rn nHRJf0.`N^NuNV` n"n R R n Jf nBN^NuNV0. Ю @-h . n/NrXN^NuNVBn`0n~0Rn n m3./</<~NPN^NuNVBnBn`P0n .f&Rn`0n Rn nm`0n2n RnRn n 2.HJ0f0nBN^NuNVBnBn`d0n  g nf0=| 0n.Rn0n"n Rn`0n2n RnRn n 2.HJ0f0nBN^NuNV>NN N(N^NuNVNNBBgN "T. N .ZBgBgN X. ?</9ZN\./<b/</<`/9ZN> N|#3V`Z 929V]Af:BW?<8?9?9b?9?9`Bg?9V/9ZN RyV yVo>?9b?9?9`?9?9b?9?9`BgN\>?9b?9?9`?<Bg/9ZN D.*?<NT`. y|m y|nBy . /9 NrXB?<N "T>|]W?<NT>/< ?<NN\J@f #H yB( By^` 3^BBgN "TJy^f./9 NX. ?</9ZN\>?9b?9?9`?<?</9ZN D` y|fJy g. ?<NT` yZ$# y./9 NXB?<N "TJy^f@BW/9?<X?<>NT.?<ANT>/9 ?<X?<>NTBBgN "T>?< ?9?9b?9?9`Bg?9|/9ZN >/9ZN:X3||f>?9b?9?9`?9?9b?9?9`?<N\>NN N(N^Nu#NN/9Nu#NM/9Nu#NA/9NuNV3edByfByj3pNFN^NuNV## .мZ#3ddByf3 j n 3pNF n 0p## #^#ZN^Nu#d"<psNBNuNV30.|Hм H-@=|` nH2n2RRn nm.VN>B@09N^NuNV##^###|"#&#V> aF3\pN^NuNV>a*pN^NuNV#|3 >2N\N^NuNV33 3 333333>3N\N^NuNV3# |>4N\N^NuNV#|>6N\ n 0 n0 n0 n0B@09N^NuNV3# |>NN\N^NuNV#|3 33333>*N\N^NuNV#|3 3333333>/N\N^NuNV#|>nN\N^NuNV>oN\N^NuNV33 >pN\ n B@09N^Nu  [3][Please select a drive][ Ok ]@ VOLUME.RSC@ *.*.                        $         f$___________Volume Name: ________.___FFFFFFFFFFFUpdateVolume Label Changerby Murray LevineExitDrive ADrive BDrive CDrive DDrive EDrive FDrive GDrive HDrive IDrive JDrive KDrive L$0J 4  V ]r !00 0 0& 0  0  0 0& 0 0 0 70& 70&  y six desktop accessories can be loaded at any one time. so to be able to look at all the D.A.s on this disk you must copy them six at a time onto a seperate disk, and then 'boot' with that disk. D.A.s in folders are put so, because there is more than 1 file associated with that D.A. To run copy all the files out of the folder and into the root directory as explained above. 1. Archiver Archivers are programs that compress files to save space. To use the archiver double click on ARCSHEL2.PRG. Basically to archive a file click on 'MOVE to Archive' then click on ARC! When the file selector appears type in what you want to call your arced file, then press RETURN or click on OK. Next select the file to archive, or to select more than one file you can use the '*' wildcard e.g. say you wanted to archive all the files associated with the archiver program. They all begin with ARCxxxxx.xxx, so to archive all the associated ARC files you would enter ARC* .*. The '*' wildcard will pick out all files that start with ARC and have any extender. To extract from Archive click on 'EXTRACT from Arc', then click on ARC!, select the file to unARC, then press return twice. Make sure that you have plenty of space on your disks. You can specify a drive for data to be archived and a drive for archiveD data. 2. Auto Date Allows you to set the time and date on your ST. If placed in the AUTO folder when you boot it will ask you to enter the date and time, or it can be double clicked from desktop if you don't want it appearing everytime. What is good about it is that it checks the current date so that if you reset, rather than turn on, your ST it won't ask you to enter the info again. 3. Auto GEM This allows you to auto run GEM programs when turning on your ST, unfortunately it does not work with TOS 1.09. Read the README.DOC in the folder. A note about the STARTGEM.INF file make sure that you create a straight text file, by this I mean that if you use a word processor to create the file make sure you save it as an ASCII file and not as a WP file e.g. in 1st Word turn off Word Processing mode before saving the file. 4. Goodies This is a desktop accessory that has lots of programs within the one i.e. spooler, RAM disk and many more. 5. Intersect RAMdisk. This is a desktop accessory that allows you to install and deinstall a RAM disk, this can then be used as a 'memory based disk drive' it is very quick but all info is lost when your ST is rebooted, so make sure you copy the files to a real disk first. A RAM disk if perfect for ARChiving files, or compiling programs. 6. Monochrome Emulator. Read the MONOEMU.DOC in the folder. 7. PICSwitch. Read the PICSW7.DOC in the folder. 8. Volume Namer. Read the VOLUME.DOC in the folder. 9. Contents. This program creates a text file called CONTENTS.TXT that will contain full file information about the disk you select. For an example look at the CONTENTS.TXT on this disk. 10. Digital Watch. This is a desktop accessory that appears as a small window showing the current date and time. Note the AUTODATE.PRG will not be able to set the time if the digital watch is installed, so put AUTODATE in your AUTO folder first because this will mean that AUTODATE is run before the digital clock. 11. Printer Spooler. This creates a 32k printer spooler. It doesn't say anything on the screen when it is run, but when it is run it reserves 32k on memory for printing. The program can be placed in the AUTO folder if necessary. 12. Ram Free. This is a desktop accessory that tells you how much RAM you have left free. 13. Rat Trap. This is a desktop accessory that changes the drop down menus on the ST to pull down menus as on the Apple MAC. When installed it automatically selects pull down menus, so if you thought that you had lost you menus you have not. In pull down mode you must click on the menu, they will not drop down automatically. You can turn Rat Trap on and off at will. 14. Virus Killer 2. This is an excellent virus detector and killer. It looks for the 6 different kinds that are currently known of, and is very easy to use because of a novel idea of using quite large pictures instead of standard GEM buttons. 15. Super Formatter. Will format your floppy disks to normal format or extended which means that you can fit more onto them. The End. iY _!&t vn2ސ>0`EnxV bXf7F/mZNtU o7D@ nžc5  "~p Pul/Ц پ.1On 11-25-88, page 1 : contents.tos 14080 11-20-85 00:23:54 rat_trap.acc 3291 11-23-88 23:32:26 stukread.doc 6435 11-25-88 10:28:44 digwatch.acc 5441 11-23-88 11:42:16 M desktop.inf 478 11-23-88 11:32:38 prtspool.prg 481 11-23-88 23:35:24 ramfree.acc 2560 11-23-88 23:36:24 contents.txt 0 11-25-88 10:32:16 AUTO_GEM: readme.doc 406 11-20-85 00:20:32 startgem.prg 1280 11-20-85 00:20:36 startgem.inf 32 11-20-85 00:20:42 MONO_EMU.V03: MONO_EMU.V03\AUTO: mono_emu.prg 1430 11-20-85 00:21:34 MONO_EMU.V03\MONOEMUL.TOR: mono_emu.s 12257 11-20-85 00:21:44 monoemu.doc 6380 11-20-85 00:21:52 mono_emu.prg 1430 11-20-85 00:22:00 SUPERFOR.MAT: format.rsc 898 11-23-88 11:39:30 superfmt.prg 9038 11-23-88 11:39:36 INTASECT.RAM: intram.acc 12032 11-23-88 11:40:44 intram.rsc 1664 11-23-88 11:40:54 ARCHIVE: arc.ttp 35712 11-20-85 00:16:18 arcshel2.prg 4224 11-20-85 00:16:34 arcshell.dfn 386 11-20-85 00:16:40 arcshell.h 451 11-20-85 00:16:44 arcshell.mod 19638 11-20-85 00:16:48 arcshell.prg 11636 11-20-85 00:16:58 arcshell.rsc 2286 11-20-85 00:17:06 readme.inf 1113 11-20-85 00:17:12 AUTO: autodate.doc 1407 11-20-85 00:01:16 autodate.prg 1705 11-20-85 00:01:20 PIC_SWIT.CH: picsw7.prg 40638 11-23-88 23:34:22 picsw7.doc 15455 11-23-88 23:34:38 VOLUME: volume.doc 645 11-23-88 11:33:10 volume.prg 3339 11-23-88 11:33:18 volume.rsc 726 11-23-88 11:33:24 11-25-88, page 20306 GOODIES: goodies.acc 26596 11-23-88 11:36:26 goodies.rsc 7274 11-23-88 11:36:40 Totals: 11 directories, 36 files, 252844 bytes, 70656 free \   `  ` `@ ``I(`:@1``J^   8`    Pvv@0 TG p~ ÎB @@vI֠֠R֠2e `[0B5pd/   s m02r[_,J^T1zoI pe_D<8 @9  rW32` A0`09 (, U<ҘZ8,fl _` Zrl alůA-h! 02% HRiFR/k8  _R֠˼qpNQyCً`fHz@?< NA\$< "<;AfBfHz?<&NN3F/9NuDrive B : @` ZˬxpN>oEd(P* C| ?m KK޺"pEd(P* C ?pEt2ph/=ilg(l! N/K0p2phPTpnp_ PP*e? P/B-)B3@D:P" P/Ôouh޺(0U"0R[5_qP/B-q!waf QBP1p0|BC #`dl=˼9 +wx<  ,I  : l=37$ @0 ,A | A`5U E$S ` pNm@hlT0P[5A` oS S Ŝ3ln_ hH AA)@ 0_) # gI g# {P菐@  P/<1 *9 y n 3 `kP7! P/B-c5"=PP/B- }501@P/B-c5 f` d31 *9 H g^,  pvl  pr08f"Hyr4HyrH yHhN `HyD` y f y"fHyHHy\`Hy` y o0 y"fHyc`HyhHyc yHhN> ydg* yh09fHyUp ?NN\Op3N^NuNV np1@ n!n n !nN^NuNVH n*h?(?(?(?(NrPOByBy33 n3 3 09y3"09y 3$<9T@: y"fE "n I0(igL y"fBp??9N2P?y>N2XOp??9N3.?9N/\O n0(@f0(@g y"f~`~`~Hy^/ Hy??9N0 y"fp=@p=@p=@Bnp=@?.?9N2$?n>N2?n>N2>XOHnHn?.Bg?9N1HnHnHnHn?.?9N2< n PVfR n0(S@ @bH0@Q PN`HyV*`HyV3`HyV<`HyVB`xHyVH`p n Pft n0(S@ @bdH0@Q`HyVN`>HyVW`6HyV``.HyVf`&HyVl`HyVt`HyV{`HyV`HyV???9N. B@L N^NuNVHHnp?N+?nXOBgp?BBgp?NM?n p?NMXO( f*/9,p?N*\Op3HnBgN+r\Op`?.Bgp?HyBgp?NM( gv~ Gln?.?p?0HHH/Bgp?NM( g>0gz El0HHE0@BRE`HyV0HHH/N1jPORG`0.@A?HyVHy*N1J BA9AB@9HA3BA9AB@9HA>09H<?HyVHyjN0 BA9AB@9HA>0H<?HyVHyN0?G/|V.N0 BA9AB@9HA>?HyWHy*N0r BA9AB@9HA3?HyW6HyjN0> B@9?HyWRHyN0 BA9AB@9HAH3 ?HyWpHyN/ 09R@39g09y3$` 3$09$y 3BA909y09 yBA9AB@9HAyBA9AB@9HAyHyNXO> G4f(HyWHy*N/POp3 ByHyW`BHyWHy*N.POBy N0gp3HyWHyj`ByHyWHyN.POz yoBA9AB@9HAV@=@y=@0.HH=@0.HH=@Bn09W@noB0.H/N?.?.?.p?Bg/9NNBg/9NN\O@=@@ @bH0@R PN`0.gBn`0.g=|Sn`0.f =|`x nlnBnRn`bHnHnHnHnN=n yN0( n0("n0.nl0.gxSn`p nlfRn`^p?p?p?/9NN =@H2=@`2?./9NN\O`?.?.?.?.?.?.?.?.p?Np3 L8N^NuNVH 9N*@<- 9N*@>-:-0H:H(:RE0H:0HR@>H(>H>;G;EL N^NuNV/ BnBnp3 p?NDTOp?NATO f ng/9p?N\O=@` ng> nf p?NTOBg/9Nߊ\O=@?/9N\O ngHnp?N\O y0(:@gHnBgp?BgHyN y0(R@gPHnp??9?HyN09HHH*@Hnp??9?9/ Nt y0(j@g209$HHH*@Hnp??9 ?9$/ N20.Rn @Bl p ?NTO`HnBgN\O*_N^NuNVH8*nxnl0. Rn ?HyY5HnN"^ 0.fHyYIHnN"FPO`X nf?.0R@?HyYX`2 nf?.0R@?HyYv` nf?.0R@?HyYHnN! HnN,XO nTPv| F l?HyYHnN! ICG4z ElhB@H@H@B@H@ @UB@@H@B@H@ @Up  Efp p B@ @dB@ @cB@`p.RE`p p p p BHnNnXO nRP n P>o6 n0RP @Bl p ?NhTO`p ?N\TOp ?NRTO np0RF`p ?N:TO nRPRD`DL8N^NuNV/ *ngH?N TO`*_N^NuNVp?NATO g?.p?NAXON^NuNVhp?N۪TOp3 p@@B.HyrHyUHnHnHy N=@0f /9`0.gHnp?N|\OHnHy HnhN HnhpA?NA\OBgHnhp?NAXOHnBgN\O n(g/9&p?Nn\ON^NuNV/. /.N4/nXON8XOHЮ-@ nc& \g :fR np\` nBS`/./.NPON^NuNVH0p3 KIgB`KI޻gB`HyNBXO: @:@HH0@HHHnp?N?yXOBgp?Hy?p?NM( f.?9p?NM?yBWp?Hy?p?NM( f.?9p?NM?yBWp?Hy?p?NM(09~f@p3~?9Bgp?BBgp?NM?y p?NM?yBWp?BBgp?NM?y p?NMXO09@A?HyYHnNx BgHnpN?NA?y\OBgp?HnBgp?NM( f,?9p?NM?yBWp?HnBgp?NM(zKIgBAA` g0g@?9p?NMXO~?9Bgp?Hy?p?NM(HnBgN$\ON` g(/9p?N\OHnBgN\Op3` yoKIgB`BA9AB@9HAV@<~09W@Go?90G?p?Hn?p?NM( f2?9p?NM?yTO0G?p?Hn?p?NM( f09g.?90yG?p?Hn?p?NM( fRG`V?9N,TONHnBgN\OL0N^NuNVH *n~<<0SF0g]`0L N^NuNVp?NֆTOHyUp ?NN\OBg/9 N\Op?/9 ND\ON^NuNVp?NHBW/9VN\O=@?/9VN\O0.S@ @bFH0@R, PN`6By?9NTTONp`p3?`p`p`p3 N^NuNVp?NTONNBg/9NN\O=@?/9N׌\O0.S@ @b$H0@R@ PN`By?9NTON׈p`p3?`p`p`p`p`p` yf -y ` yef -y`v yf -y`b yf -y.`N yf -yR`: yf -y`& yf -y` yff-ytBg/.N*\O=@?/.Nj\O` p`p3 N^NuNVBnp?N\TO ng0. @bH0@R PN`Bg/92N\O=@?/92N\O nfRn` nfp=@`Bg/9:NԆ\O=@?/9:N\O n fSn`p n g n `Bg/9BNF\O=@?/9BNՄ\O ng`Bg/9FN\O=@?/9FNZ\O ng ngP n`RBg/9JN\O=@?/9JN\O ngZ n g n `Bg/9PNӢ\O=@?/9PN\O ng n g n `Bg/9ZNd\O=@?/9ZNԢ\O ng n`p3 N^NuNV/p/?NATO#HyVp?NA\O yxf N Byx .g @f-||/.NXOR@?/.p?/96N ~/n/|XONPOp?/. HyN B9xB9jBy"p3N ~ G l0P@ @6!|z RG`Hy0HyHyHy/96N?y0?y?y?y BgBgBgBgBgN?y0?y?y ?y p?Bg/96Np3 yfHyxHyNPO0gp3 09 @gN p3 HyHyxNvPO09 @gN |N:309 @gN b n0g3 BPN09 @gN09 @gNLBy p?/96N \O>gGp3"`By"0[@ @!bH0@R PN`N HyNDXON |`N0й6-@ @ ( B@H@=@@HyHyNpPO`9H@A?p ?NMXO f09 gSy y `n9H@A?p ?NMXO fJ09 @ y l>Ry `9H@A?p ?NMXO fHnHnHnHnN =y y60(rn0( n0("n0.nl y  `y  09 @ y o09 @ 3 09 lBy `9H@A?p ?NMXO ff"y6 I0(i&gZp?p?p?/N =@H =@09 @ Hd3 ``09 GQ@=@HA fHNp?0.H/HnN HnHyN^/|.NL`p?0.H/HyN y y"fzp3Nj`jp3p&?/96N\O`NByp%`?90?9?9?9BgBgBgBgp?N t/|/n NPOp?Hy/. N/y\Op?NA\O n0 n009.N^NuNVNNDp'?Hyp?/96N?y0 ?y?y?yXOBgp?/96N /|j N0?@TOHyjp?/96N?y0 ?y?y?yXOBgp?/96N N^NuNVp ?Hyp?/96Nd?y0 ?y?y?yXOBgp?/96N fN^NuNVH0*np\?/ N\O(@-L fB`Bp\?/ N\O(@-L fB`B,L0N^NuNVxH~HyHnN/|XOHnN/|XOHnNPOp?HnpN?NAPO<0f9kgn9tH @.g` GlH0HAp0HAp p?Hyt0RGH/N ` Gf p?p?NAXOpO?NATO`vBgHypN?NAPO<0f9kfn9tH @.g` GlH0HAp 0HAp p?Hyt0RGH/N ` Gf p?p?NAXOpO?NATO`v3 By ?HyN\OpLN^NuNVH 09 @ y o" y o09 @ 3 `By ~ G lD0y y l09 GH*@`Kz0P@ @6!M RG`?90?9?9?9p?p?/96NL N^NuNVH0*n(n >.| Fl0gH @.gH @ gRH` Rgp RF` .fRg g gp.| Fl,gRH @ gH`g `gp RF`BL0N^NuNVH 96*@>-:- 96*@<-8- y n Bm;E`^08H 8RD0H809 @ y m0D`0 HR@<H <H<;F;D?90?9?9?9p?p?/96NBL N^NuNV0.  @-h n  n1nN^NuNV/0.  @>( 0.  @0@1@ .N^NuNV/~ G l0P@?/96N\ORG`.N^NuNVH8IG ,:fp\B \fR` \fBp\?/ N 0\O*@-M gHm`/ HyjN ^POG-M g g`p\BL8N^NuNVHyHyN $/|.N /|j.N PON^NuNVH0|#6K~ G'ld?/96NP\O0-@ @ b@H0@SH PN`0*- p//NPOV+@ `*- A+P RG`IV~ Gl@* A(*, A)P*, A)PRG`p ?NMTO*~ GlNg> F l80@AH(H@B@(0RFXй6*@"- +D *RG` F l0RFXй6*@m`p?NNTO @g y6p L0N^NuNVH8*n0. H@B@H@=@Jno=n0.n lln>JGmX0n|Ѝ(@0Ѝ&@nm6SFf`,|0nЍ&@0Ѝ(@SFfn`Rn`0.`hL8N^NuNV30.@ HSx-@p=@ nl$0.HC nRB@2Rn`/9NE~XO09N^NuNV##x####2#p ?NA TO309N^NuNVp?NA TOpN^NuNV3# p4?NA TON^NuNV#p6?NA TO n 0 n0 n0 n009N^NuNV33 3 333333p3?NA TON^NuNV#3 p2?NA TON^NuNVpM?NA TO n0 n 0 n0 n009N^NuNVpO?NA TO n0 n 0 n0 n0N^NuNV3# pN?NA TON^NuNV#3 33pL?NA TON^NuNV#3 33333p*?NA TON^NuNV33 pp?NA TO n 209N^NuNV#pn?NA TON^NuNV#3 pr?NA TON^NuNV3pf?NA TON^NuNV33 3 33pd?NA TON^NuNV3pg?NA TON^NuNV33 ph?NA TO n 0 n0 n0 n009N^NuNV33 3 33pe?NA TON^Nu"/0<NBNuNV# p 36p38By @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |T2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NMPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ NN `p ? n// NN *@X`p`p`/ ?./.?NN *@P`fBn n-Pf-|X .-@*@g0.m noS`(Bn nT0` n//.NJ2PO`n ./0.Hї =@lBn0.fL0.g0 n0f( n -f/. nRH? n hN\O0.Sn0g /.?.` nd /. nRH? n hN\O`0.g0.Sn0g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @U.>`?Bg _U.g nR` .L N^NuNVH0*n>.IB$p0//. NPtPO-@g$p0//. NPPOAU.-n ` n U.g` L0N^NuNVpL?Hyp?NOPOp?NOTON^NuNVNNN^NuNV/ *n .*+@+|OZB-0. D@;@ m l;| +|O@`+|O *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNVNO?.NOTON^NuNVN^NuNV?.pL?NAXON^NuNV/A#/9NQRXO0gBp 3U>p`,/. 0.H/?.p@?NA .B/NPXO.N^NuNV .l .D3U>p` .N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉN O$X"XHB@Nu o0/L.Nu,4<DLT\dl B J R Z%$:$^$$/,/F/R/V/Z/000000000000000///////0011@1112$2b5446666666666665j56545(5(5(5(5(5(5(5(5(5(5(5(77?*?*?Z?Z?Z?F?Z?F?*?*?Z?F DLOL\UL<XL`cLdKeLdfLdgLdoKrLsLuKxLDJ\0123456789ABCDEFw&[3][Error reading resource file:|VKILLER.RSC][ABORT]Write Virus File0123456789ABCDEFVKILLER.RSC> VVVV? \*.VIR%08lx.%08lx. Drive A Drive B Info Help Exit Drive A Drive B Info HelpDisplay PrintTo File Kill ExitThis sector unreadable.Drive: %cSides on disk: %4dTracks on disk: %4dSectors per track: %4dReserved sectors: %4dSectors per FAT: %4dCopies of FAT: %2dDirectory sectors: %4dSelf Booting. Boot not executable.Boot sector NOT zeroed. Extra FAT sectors NOT zero.Extra FAT sectors zero.No extra FAT sectors.Disk is safe.Disk probably safe.Disk potentially unsafe.Disk very suspicious.Disk has a virus.First half of sector %d: Second half of sector %d: Boot SectorData, Sector %d of %dDirectory, Sector %d of %dSecond FAT, Sector %d of %dFirst FAT, Sector %d of %d%03x Sector %d: Boot Sector First FAT, sector %d of %d Second FAT, sector %d of %d Directory, sector %d of %d %03x %c:\*.*?3?`0xa71 8?0`?1??Y1*\t<??<<<< xxxxx`xxx~x~xx`????~f3?<??<?0?<??00?<0?<?<a`x`xx`xxxxxx??<x``\ac<?pp\h&C|!gx̓̓?1gg N<$ [-9Ʀ11`bkjaalpmig`a,1*c}}u}{@>%@@}pu{p}{p}PQ{pppp{ptpq{pr{p %pppq{p}{p}{ppp}pq{p} %{p}{p!ppp%{pr{ptpq{ppp{p}PQ{p}{ppupp}%{@}{@}uc1*f? &ACBXBA @ uV AA?*@@UBBk?+[YU{jUUڀU] ڭڀ UUUڀmVkUUmk[U;UN "u.< $ f1*it@@@ހ{@p??>8 0  'ԯ(KJ((Ы(ON(+*(on(+*(( (((((((i1*l@???@?@@1@1@1`@1`@1`@1`@1`@1`@1??`@1 ?`@1 ?`@1 ?`@1??`@1`@1@1@@????l\N&oh pp`pp?000  ``<<x?x0 `??~o1*r4??<<<0<p<<<<?<<<?>`?????>0?>0?>0?>0?rP1*u 000300< 000300< xf`g`fx xf`g`fx     ax` ax` 3000?<< 3000?<< . \w.. \wGOODIES ACC\wgGOODIES RSC\w,j`e@.|N8/<NA/p Nu,o/~g@??<NAXRG`@.Nu /HA  /`/:R/:R??<?NA Jk"g /:6./?-?<@NA Jkg/0-k??<>NAXJ@0k ??<>NAXJ@ "LNuH IJf \f?: ?<NAXk/ / ?<9NA\J@"_|faJLNu H @G&$h&aC"k"0: a,@r 2.0.H4.HЂ/?<HNA\JGLGJkAR SG @2.ҁR0: V4.a.4. BSGA0: takJ| faBJ@g*|f4A QRAQA PaE|fp`At0:aA"JkHH@?<INA\JLA"JkHH@?<INA\JLJkH?:WHzL?<6NAPJLH0:dapaLLNuHK4:K**UCPpJgg <\f<`J (ENC*&Jp r Qtg<.gQG0tgQAp (MVMg K Qp`h|I(Tz-M-A02UA4.4. B4.0:A| Pa|k* D>.OSGa0|fHa"HE <޺|fLNu /H$@0:Nak\,@r2.>ҁRSGA0:0tak<| faRJ@g|f&A QRAQ <`At0:aJkH0:a4pa.LLNuHp~0.>..ЇC2"HER~ Vf gzx(M((L(HD(L(ak/agp`n|ag REzDb8`>.HǘkJg F0aF<REzb`Jg 0FaxFpapr4.0:a 4.0:2. apG?<INA\JfG`pLNuH~0./?<HNA\Jk @r4.0:aJL~NuH`4app0fJ(@@`H@ LNuH@a*p(Hf H@`r ALJ@Nup "ЁNuH???/?<?<NMJLNuH???/?<?<NMJLNuH??<NMXJA LJfpNuH>Hz?<&NN\LNu ya y Phf1|JgaNuHK ~I BQ*@\AJ8BT/ aJ@g|gL ``aj*_|g6J@fNA f|\HzPaHz aIBT`I TgB% %\gBgR/ `|fpLNuxKHz?<;NA\JfB?<HzRD?<NNAPJf*-<f -.gTcp`RD?<ONATJ`8Nu?:`?<NAXHz(?<NA\aNu?:D?<NAXK Hzz?<;NA\Jf~?<Hz&?<NNAPJg |g(f`-<f -.gaN?<ONATJ`?<Hz?<NNAPJg|gf-<fa?<ONATJ`pJNuHma`2< @>?< ?<NAXQ -aH/ a4?< ?<NAX0-a?< ?<NAX0-aNHzNapNu~ |A>"HE8zREd 8𐘈ϏDŽ?ǜ琀@ ?@rAA03?1gψ?rAA0@AA0@?HC / a0?<:?<NAX raC / a?<:?<NAXLr PaC / a?< ?<NAX?< ?<NAXNuԥHvT ;B@'d Nq\*.*Nq NqNqNqNVHa"a/9daXp//9dNMP=@W@fa 09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$a*LN^NuNVHa/9da.Xp//9dNMP=@U@fal09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$a\LN^NuNVp,/NBXHrt -@"ye Q//-Aa P .T".?"ye Q//-@aP .T"."ye Q//-@aP .T"ye QBN^NuNVp"ye QRHH0-@-A op-@ .r NCD"ye QRHH0-AҀ-A op-@"ye QRHH0-@ op-@ .r NCD"ye Q".RHH0Ђ QRHH0-@-A-B-C op-@ .r NCD"ye QRHH0-AҀ -@rNB".t &.-Cցր-@-A-CJg"p*/NBXHr-@Ю/aXN^NuNVp*/NBXHr-@"ye Q//-AaP .T"."ye Q//-@aP .Tr $.P"ye Q//-@aP .T"ye QBN^NuNVp"ye QRHH0-@-A op-@ .r NCD"ye QRHH0-AҀ-A op-@"ye Q .RHH0-@p NCD QRHH0-AҀ-A op -@"ye Q .RHH0-@p NCD QRHH0-AҀ-AJgPp ". .$.Ԁԁ-@-A-BJg$p,/NBXHr$.Ԁ/-@aXN^NuNVJfp0 n @`. .r NB0 n  .r NB0AN^NuNVp/NBXr-@-@Jf2p,/NBXr*/=@NBX=@Hr2.HЁ-@/.aXN^NuNV/.p/NBP .=@H/r-/NBPp".=AH/p+/NBPN^NuNVH/9da "X=|p=@=@0. @g @g @ l=@`0. @l=@0.Hr///9daO 0.Hr ///9daO 09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$B/9dNMP=@`0.H 2.HYf ng =|`p/p//9daO p /p//9daO 09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$a  ngL0.@ 3^0.Y@3\Bp/NQ.PHye*NBX/aXBp/NQ.PLN^NuNVHp /NBRX=|Bn=@ n g0.nJ@gBn`=|0.H2.HЁ2.Hf=|0.H2.HЁ29dH49dH69dH89dH:.H|//////B//.NLO$0.@=@Rn`\LpN^NuNVH /9eaX09dH29dH49dH69dHx/x//////x//9eNLO$09dH29dH49dH69dHx/x//////x//9eNLO$p//9eNMP=@a ngrBn0.H"ye" Q _g4Jg0 n g(0.H @e*2.RH$ye""R=@`0.H @e*B yd!|^$aLN^NuNVH/9daX=|0. @ g @ g=@Hr///9daO 09dH29dH49dH69dHx/x//////x //9dNLO$09dH29dH49dH69dHx/x//////x //9dNLO$B/9dNMP=@`0p/p//9daO 09dH29dH49dH69dHx/x//////x //9dNLO$09dH29dH49dH69dHx/x//////x //9dNLO$a n g6Bp/NQ.P0.U@3\N/a XBp/NQ.PLN^NuNVH/9daX09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$p//9dNMP=@a ngBn0.H @g("ye Q _g0.H QJgRn`Jng0.H"ye Q \g RgSn`=| JngSn0.H `0.H"ye QBR=@0.H"ye Q _gfJgb n gZ0.?@R@2/H4.H Q=@ .fSn0.H =|0.H"ye QBRn`/9daX=|0. @ g @ g=@Hr///9daO 09dH29dH49dH69dHx/x//////x //9dNLO$09dH29dH49dH69dHx/x//////x //9dNLO$B/9dNMP=@`0p/p//9daLO 09dH29dH49dH69dHx/x//////x //9dNLO$09dH29dH49dH69dHx/x//////x //9dNLO$a\ n gfBp/NQ.P0.W@3\"ye QJfHnNX/a (X`/9eHnN P/a XBp/NQ.PLN^NuNVBn n l0.RnH @d0`3d3ddHydHydHydNCO N^NuH09dH29dH49dH69dH////BNQO3dH29dH49dH69dH89dH/////NR O09dHHydHydHydHydr//NROLNuNVHHydHydHydHyd/.NNOaa"09dH29dH49dH69dH////BNM>O09dH29dH49dH69dH////x/////NM>O$09dH29dH//t//t/B/.NKOLN^NuH09dH29dH49dH69dH////x/NM>O09dH/NRXX09dH/NRX09dH/NCXLNuND3dHydHydHydHydNPO3d09dHHy^%/NJBP3e:HydHydHydHydp/BNROHy^/NT\XJfHy^;p/NMPNUHydp//NTO JfHy^up/NMPNUHydp//NTO Hydp/BNTO Hydp/BNTO Hydp/BNTO Hydp/BNTO Hydp/BNTO Hydp/BNTO Hydp /BNTO Hyep/BNTO Hyep/BNTO HyeBp/NTO ye#e #e#e#e#e#e"aabp,/NBX3e&p*/NBX3e(aNuNVH Ad////HydHydp//Hyd//////////p///p/NGO\3dg09dH (fBp/NQ.P09d29e:Afv/9daX=| n gP0.RnH29dH49dH69dH89dHz/z////////9dNLO$`B/9dNMP=@aD0.Hm lN` `` ``h`l` a`na`ha`bah`\p*e*.e+e,B9e- yd!|^$09e(Hr29e&HЁ#!:a`a` B!:ap//NQ.P`@NVHp/pH/NBP-@Jj/axXpLN^Nu lp/aZXpLN^Nu .rT=|/9d=@a>X0. @g2 @g,=@H2.H//aPB/9dNMP=@`p//aPa ng0.HUR/N?X=@HJj /aX`|"ye Q0.HA/9eaX09dH29dH49dH69dHx/x//////x//9eNLO$B/9eNMPa pLN^NuNVH=|0. @gvnnBn`=|0.n f=|0.H29dH49dH69dH89dH:.H|//////B//9dNLO$Rn`09dH29dH49dH69dHx/x//////x//9dNLO$09dH29dH49dH69dHx/x//////x//9dNLO$LpN^NuNV0. HJjFR/NMXpN^NuN^Nu,o/~g@??<NAXRG`@.Nu /H.H?<HNA\JkBg>,@ @C0<Qa2J@jH>?<INA\J0H` |A0(`pLNuHHz?<&NN\LNu@F'p"9gR@< fp`# |A01@Pa"|C!yr#r"|*C!yv#v"|C!y~ #~ |A0G |AO>< | ABQpFNuag zNAf Nu0:oNuag zNBNuaog zNp0/ Ѐ o2/ CCSA0/gH0<QQBNup C^#e< O0/@11g"HS@4TBB$0 g/`?S@j?(NA.ye1o<1o:1o81o61o41o 21o01|1|1|1|NUAU"oH22"oL24"oP26"oT28"oX2:"o\2<0(0HNuAU1o 21o01|1|Bh1|NUAU0(0HNuAU1o 0!o01|1|1|1|NUAU0(0HNuAU1o21o 0!o01|1|1|1|NUAU0(0HNuAU1o21o 0!o01|1|1|1| NUAU0(0HNuAU1o21o 0!o01|1|1|1|!NUAU0(0HNuAU!o 41o 0!o01|1|1|1|"NUAU0(0HNuAU!o01o01|1|1|1|#NUAU0(0HNuAU1o21o 0!o01|1|1|1|(NUAU0(0HNuAU1o 0!o01|1|1|1|)NUAU0(0HNuAU1o:1o81o61o41o21o 0!o01|1|1|1|*NUAU0(0HNuAU1o61o41o21o 0!o01|1|1|1|+NUAU0(0HNuAU1o 0!o01|1|1|1|,NUAU"o 22"o240(0HNuAU1o21o 0!o01|1|1|1|-NUAU0(0HNuAU1o61o41o21o 0!o01|1|1|1|.NUAU"o220(0HNuAU1o&>1o"<1o:1o81o61o41o21o 0!o01|1|1|1|/NUAU0(0HNuAU1o 0!o01|1|1|1|2NUAU0(0HNuAU1o&@1o">1o<1o:1o81o61o41o 21o01| 1|1|1|3NUAU0(0HNuAU!o01o01|1|1|1|4NUAU0(0HNuAU1o01|1|Bh1|5NUAU0(0HNuAU!o0Bh1|1|1|6NUAU"o22"o 24"o26"o280(0HNuAU1o61o41o 21o01|1|Bh1|FNUAU"o22"o240(0HNuAU1o">1o<1o:1o81o61o41o 21o01|1|Bh1|GNUAU"o$22"o(240(0HNuAU1o:1o81o61o41o 21o01|1|Bh1|HNUAU0(0HNuAU1o">1o<1o:1o81o61o41o 21o01|1|Bh1|INUAU0(0HNuAU1o">1o<1o:1o81o61o41o 21o01|1|Bh1|JNUAU0(0HNuAU1o61o41o 2!o01|1|1|1|KNUAU0(0HNuAU1o41o21o 0!o01|1|1|1|LNUAU0(0HNuAUBh1|Bh1|MNUAU"o22"o24"o 26"o280(0HNuAU!o01o01|1|1|1|NNUAU0(0HNuAUBh1|Bh1|ONUAU"o22"o24"o 26"o280(0HNuAU1o81o61o41o 21o01|1|Bh1|dNUAU0(0HNuAU1o81o61o41o 21o01|1|Bh1|eNUAU0(0HNuAU1o01|1|Bh1|fNUAU0(0HNuAU1o01|1|Bh1|gNUAU0(0HNuAU1o 21o01|1|Bh1|hNUAU"o 22"o24"o26"o280(0HNuAU1o:1o81o61o41o 21o01|1|Bh1|iNUAU0(0HNuAU1o 21o01|1|Bh1|jNUAU0(0HNuAU1o01|1|Bh1|kNUAU0(0HNuAU1o:1o81o61o41o 21o01|1|Bh1|lNUAU"o22"o 24"o$26"o(280(0HNuAU!o0Bh1|1|1|nNUAU0(0HNuAUBh1|Bh1|oNUAU0(0HNuAU1o 21o01|1|Bh1| 1|pNUAU"o "0Bh 0(0HNuAU!o 01o 21o01|1|1|1|qNUAU0(0HNuAU1o 0!o01|1|1|1|rNUAU0(0HNuBNBXNu"0<sNBNu"0<NBNu1.01UUWY[U]UYW[FILE COPY GOODIESGOODIES.RSC[3][ Cannot find ..rsc file ][ aborting..... ] [ EXIT ] [3] [fatal error !!] [ Resource file not OK. ] [ Cancle ]BACKUP FILES " **444V*0**244$4$\B"6V  B  d$,  "&2     ,6@f2    .                   &  $X V84  V  &@@@*<  "" *00 0*..:."(>(*0000*0*H<*0<T*T*"".4L@LL66.*0::""(.@("@0".0* pp$DBr  jRAM DISK 64K128K192K256K320K384K448K512K576K640K704K768KOK !CANCEL !Enter new time000000Present time is __:__:__999999CHANGE !NO CHANGE !Enter new dateCHANGE !000000Present date is __:__:__XXXXXXNO CHANGE !BACKUP FILESSOURCEDESTINATIONOK !CANCEL !PRINT DIRECTORYPRINTCANCEL !UNDELETE FILEENTER PATH/FILE NAME................................................................\________________________________________________________________PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOK !CANCEL !UNDELETE FILECHOOSE DRIVEOK !CANCELDPLEASE INSTALL DRIVE '_'XOK !FILECOPY????????.???ENTER FILE NAME ____________PPPPPPPPPPPPOK !CANCELWILD CARDS * & ?RAMDISKSET TIMEBACKUPPRINT DIRUNDELETEFILE COPYSET DATEGOODIESEXIT(/!-/((/-/((ϐ    3UU9UU}3UU9UU}BpG8\G8t@\@tO\_tX\AtC\C~F kO_\@tvm@p `c# ) ) ) )  @!X!X!X!@! @@q@@@?!!!!?!!!)!!!GWgaGGqWWG```88!s H$H%H d@$D$JdG)H(H$C@@@@H $H$H H ```88!s H$H%H d@$D$JdG)H(H$C@@@@H $H$H H ```88!s H$H%H d@$D$JdG)H(H$C@@@@H $H$H H ```88!s H$H%H d@$D$JdG)H(H$C@@@@H $H$H H   `c# ) ) ) )  @!X!X!X!@!((/!-/((/-/((ϐ    #UU9UU}??WWWW `c# ) ) ) )  @!X!X!X!@! `c#` @@q@@@?!!!!?!!!)!!!GWgaGGqWWG?gaq```88!s H$H%H d@$D$JdG)H(H$C@@@@H $H$H H ```8!s?|<<|?? `c# ) ) ) )  @!X!X!X!@! `c#BpG8\G8t@\@tO\_tX\AtC\C~F kO_\@tvm@pApvm@pD  h  h  h  h ABy{  ""*  ""0 (  ""$ 8 ""6 H ""0 X# ""6h- !!0 $ -2 7<A F K P  U Z _ di n  p (w  ~  5 ' 4        # ABCD E F G H IABCDEFGHI/ 4     = AB CDE F G H  I M S   D \ jPACH&   <  Q`  AB CDE  F G H  I m r    l         *(0( $( 6(,0(N 6(p0) 6 7> *b JR @@0000XXCCww88 8p8pee__II_@_@CC@@EEDHDH44P@P@AA@1@188@@DDCC8888u y??T?T @T @T @?{T @T???p???>80?@ 4))@KJ@ЫONEE@+*o'nEE@+*.Cd ??6? y1*|h((>!?@?@?  ? @ ހ ? ހ   ?|}|??@?@?@@}1*H??{{8p???????>>8800? 4hKJЫ#ON+*o'n+*. ??Z$$Ejj ? @? ?d1*;UU UUp;aUUUT;UTUU@` p0P aXaPXPXPXPXPXPX1P!aX P0UU``UT@;UT@UU UUXUUUW0/Sxxxxx??<<<<xxxx<<<?<??y~y<???<<?<<<<yyxxxxyyxx< <x< 8<<x,,&b&b<"<")&%)&%$I$.IQR[RDbLb 0, 0,00R        p/S*_߀g7'W  ߀*q"퓋߀d⋊߀߀##+ ߀+#߀KdCkk߀$K$C߀+d#  ߀ + ߀+###߀߀⋊d윋߀* ߀*g5#Wo߀(p|/S~~ ?;5@7ww:`:~~ZPzYX۽UUTUVVn~~z5Un??|;{|[Xxx xU[Xxx۽xUPp?p;piPkpppx`x` H` H`/S??juUXjXTTTTTTTTTTTxTUUYjuU_??00@@OOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP00/S??j}ꪪwwwwwwwwwwww@wwwwªªwªªw|ªªw|ªªw|ªªjw|u\ªju\ªjw|u\ªªw|ªªwwwwªwwwwww@wwwwww@ꪪjwwwwwww??9;?<p `` 0 ``0 `0`08000@ `p0<x0 ` `?|>?1U݀wwww(p Xp(p pp)Y)q)Y) q) Y) q) Y) q) Y) q) Y( p(? X>+*|>w|>+|>]| ?*⪨݇* 7wpwt݀wwww x  x   ` wwwwݪwwwwwݪX/S000300<000300<000300<000300<xf`g`fxxf`g`fxxf`g`fxxf`g`fx      axpaxpaxax 3000?<< 3000?<< 3000?<< 3000?<<@0@00XCw8 8p0XCw8 8pe_I_@C@e_I_@C@EDH4P@A@1EDH4P@A@18@DC888@DC88d/ 5U\:5U\?*W*k*V*j*V*j*V*j*V*j*W<*kx?\*5U]:~|xp`@@@@}@U@@U@@@@e-p |66UUT /ST VVV Tp X  P pPWTpP    p VUUW p TT$@?~~~~~~/S5U\:5U\?*W*k*V*j*V*j*V*j*V*j*W<*kx?\*5U]:~|xp`@0000000000000000000????00*@*@*@@@@/S!%&'6ETcr%% &2&$$$@ Q  Q  Q  Q  Q QQQQQ Q Q @@ @@ @A@B@C!@D @E @F!  @G !@H "@I! #J $K %L! &' File Selector Item Selector________________________________________________________________________PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP*.** nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt* nnnnnnnn.ttt________.___FFFFFFFFFFFCancelOK:\\*.*@@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @{NULL} You must compile with the -f option to include printf() floating point!  0pQVl$4$  \$0:$4>    * B (  * ,,Z *      ,4,.*,,"          4*    8          j.20    J (  R6                           FP( LD" $ | 2 &DdX<2 22@@    2 222 222 2 22 22 2# A      A    @    @      A @ @ P P@ p  p ` ` A     0 0 A   2@    A 0 0    @ K2 22+$P P @ @A P2 22'"R2@  A    A    @ @/-^-^-P-8$,OVOjMisuse of this program can be dangerous!It is not possible to absolutely distinguish between a virus, and adisk which is supposed to be self booting. If you execute a viruskill on a program disk which must be self booting, such as many gamesare, you will have a useless disk. The simplest way to make thedistinction is that, if you are directed to press the reset button,or power your computer off and on to use a piece of software, then DO NOT ALTER THAT DISK! Also, do not attempt to use this program ondisks which use non-standard formats, such as MAGIC-SAC, or manycopy protected disks.Any other disk which this program identifies as having an executableboot should be considered very suspicious.OKST Virus KillerVersion 2.01 November, 1988Copyright (c) 1988,for Free Public Distribution,byGeorge R. Woodside5219 San Feliciano DriveWoodland Hills, Ca. 91364 USAIf you think you've located a virus, please senda copy of the disk to the address above. It willbe added to the six this program can alreadyidentify and kill.OKDisk Characteristics:TextaTextbTextcTextdTexteTextfTextgTexthTextiTextjTextkTextl Exit Select the sectors to print: Boot FATDirectory Cancel Print OK>>>>>>>>>>>>> VIRUS ALERT! <<<<<<<<<<<<<<<<After zeroing the boot sector on the disk, thisprogram executed a disk access, then re-read theboot sector. It was no longer zeroed. This probably means there is a virus present, and working, inthis ST right now.The boot sector has been zeroed out again. You should turnoff the ST, and wait 15 seconds. Put the disk just zeroedinto drive A, then turn the ST back on. That will get theST running, with out the virus. Find the disk you booted upwith, and send a copy of it to the address in the "INFO" box.Then, check every disk you own, erasing the boot sectors.Keep the write protect window open on your disks as muchas possible.ExitWhat is a virus?It's a secret program. It hides in the first sector of a disk,called the boot sector. It secretly copies itself to everydisk that comes into your ST. Eventually, when it has madeenough copies of itself to be thoroughly spread through yourdisk library, it starts doing it's real dirty work. That maybe to slowly destory the data on your disks, or suddenly andswiftly wipe them out. It may be to act like a memoryproblem, crashing the system at random intervals. Thesesymptoms are the known viruses at this time. There willprobably be more. The best protection is to keep the writeprotect window open on your disks as much as possible, andalways boot your system from the same (safe) disk.Drive A Click on these floppy disk icons to Drive B select which disk to examine.Info Click on this eagle to see theversion of the program. You will alsofind the author's name and address.If you locate a virus, please send acopy of the disk to the author.ExitDisplay Click on this icon to have the dataPrint Click on this icon to have the datafrom the disk displayed on the screen.from the disk printed out. You can printthe boot sector, the File AllocationTables, and the Directory.ExitTo File Click on this icon to write the bootKill Click on this icon to erase the unusedsector, FATs, and directory into a datafile. This will be a binary data file,which may be copied or transmittedwith no danger.portion of the boot sectors and FATs.This will eradicate all viruses knownat this time, with no harm to the datafiles present on the disk.ExitExit Click on this door to exit the program.Devil Anytime you see this devil, be cautious.It means that the disk being examinedhas all the characteristics of a virus.The boot sector contains executable code.ExitQuestion This question mark indicates that,Happy The smiling face means that all iswhile the disk being examined does nothave an executable boot, there is dataon the disk where it should be blank.It won't hurt to do a kill on it.well. The disk being examined is clean,and presents no danger.ExitExitVirus Warning BoxWhen you see this box, it meansthe disk probably has a virus.Since not all viruses carry specific identification, it is notabsolutely certain that what is in the boot sector is a virus.However, it is quite likely. The boot sector data has met thetest that some virus uses to detect itself, or has somethingunusual enough to make it very probable that there is a viruspresent on the disk. You can learn about the virus found byclicking on the warning message.The 'KEY' Virus:This virus checks the boot sector to determine if it is alreadypresent on a disk before deciding if it should reproduce.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It is a sleeper.It is waiting for a special disk to come along with a key value in theboot sector. When it finds one, it will follow the instructions on thatdisk. This disk does not have the key value, so it is not an immediatethreat. However, it will reproduce itself onto every disk inserted intoyour system. Then, when the key disk comes along, you will be a victimof whatever it instructs your system to do. Therefore, you shouldconsider this virus a real threat, and wipe it off every disk you own.OKKEY Disk for the 'KEY' Virus:This disk contains the key value for a virus, and represents avery real danger.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It is a sleeper.The general version of the virus waits for another disk, with a keyvalue, to come along. This disk has that key value, so it can causevery real damage. It is vital that you send a copy of this disk tothe author of this program, then wipe it off every disk you own. It is a real threat to you, and to anyone else whose system has beenexposed to this virus.OKThe 'BLOT' Virus:This virus executes only on STs with ROMS dated 02061986.This virus executes only on STs with ROMS dated 02061986.The ROMS in this ST have the date 02061986.If it executes,this virus reproduces itself onto every disk the ST comes incontact with, unless that disk already has a bootable format.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It will not fitinto the boot sector, since it is too big. It hides the remainder ofthe virus program in the last FAT sector on an infected disk. It usestime delays to make itself more difficult to detect. When it becomesactive, it does randomly timed accesses to either the screen memory,or memory above the screen address. That will either cause blots toappear on the screen, or (if the system has 4 megabytes of memory)memory access errors (two bombs). It looks like an ST that developsmemory errors after it has been running for a while. It is a verydangerous virus, and should be wiped out immediately. Check every otherdisk you own for it, since it spreads very rapidly.OKThe 'FREEZE' Virus:This virus checks the boot sector to determine if the disk hasan executable boot before deciding if it should reproduce.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It spreads bywaiting for an access to the directory of either floppy disk. If theboot sector of the disk is executable, it is left unchanged. Otherwise,the virus is copied to it. The virus acts by setting up a timer routine.Each time that elapses, the virus makes a random decision to see ifit should act. It acts by freezing the system briefly. Each time it actsit makes the duration of the freeze a little longer. This virus doesnot directly destroy disks or files, but will continue to cause longerand longer delays to whatever program is executing.OKThe 'MAD' Virus:This virus checks the boot sector to determine if the disk hasan executable boot before deciding if it should reproduce.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It spreads bywaiting for an access to the directory of either floppy disk. If theboot sector of the disk is executable, it is left unchanged. Otherwise,the virus is copied to it. The virus acts by counting how many copiesof itself it has written. After five copies are made, it starts acting.When it acts, it randomly selects one of eight different routines.Each one is a screen display sabotage routine. They appear quitedifferent, but all produce screen disrupting displays. This virus doesnot destroy disks or files, but will destroy screen displays and causedelays to whatever is executing.OKThe 'ACA' Virus:This virus checks the boot sector to determine if the disk hasan executable boot before deciding if it should reproduce.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It spreads bywaiting for an access to the directory of either floppy disk. If theboot sector of the disk is executable, it is left unchanged. Otherwise,the virus is copied to it. The virus acts by counting how many copiesof itself it has written. After ten copies are made, it starts acting.It acts by completely destroying the boot sector, File Access Tables,and directories of every disk inserted into the ST. The destruction iscomplete, leaving it almost impossible to recover anything from thedisk once the virus has struck.OKThe 'SCREEN' Virus:This virus checks the boot sector to determine if the disk hasan executable boot before deciding if it should reproduce.This virus executes only on ST's with ROMs dated 02061986. ThisST has ROMs with the dateXXXXXXXX.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It spreads bywaiting for an access to the directory of either floppy disk. If theboot sector of the disk is executable, it is left unchanged. Otherwise,the virus is copied to it. The virus acts by installing a timerroutine. After 30 minutes, it starts acting. Each time after that whenthe timer elapses, the virus steps on two words in the screen. It keepschanging which screen words it will step on. This virus does not directly attack files or disks.OKThe 'ANTI' Virus:This anti-virus checks the boot sector to determine if the diskhas an executable boot before deciding if it should reproduce.It reproduces itself by hooking into the ST operating system and copyingit's own image onto every disk the ST reads or writes. It spreads bywaiting for an access to the boot sector of either floppy disk. If theboot sector of the disk is executable, it is left unchanged. Otherwise,the anti-virus is copied to it. The anti-virus acts only when the STis booted up or reset. It flashes the screen colors briefly, and makesa beep, to let you know that it is present, rather than a destructivevirus. It has no other effect, but it will spread itself as rapidlyas any other virus.OK[3][Please go to|Medium Resolution][ABORT][2][Printer not ready][Cancel|Ready][1][Disk read error][Cancel][1][Disk write error][Cancel][0][Disk directory error][Cancel][0][File write error][Cancel];;;;{{Ç~x<, ,8,],z,,,Refg!`fghnopvwx~rJ@$(MCA E  ? Y C  C  C %@f>|D*'>r7-P11 O -^ -z -   0  0 -4'G-rP     %E rP  J---. ." .> .Z .v . . . . =  5     # . 9 %D M          >@I@I@I`: ( '!rC8 +J /z 0 4 /   # : ^ 9  9  ; =L98  rB!6B#:^:< <  <  P 5   7   7  : 1 : l2 rB  0 2  * % % K #  o %     !  6%  rB 0 .   & D (  m $     !' 6rB 0 0   ' >'  e"     (   %   &  &!'(6 rB- 0] 0  ( '  ) !' 6 rB 0= 0k m&) % )  ( + ' C!'E6 rBJ L6Qc> >   = ^ <  =  ;  rP 6G?9H  GR G  G  H ( G pG GG'@E rP Ca>6H GC G  G  G  G SG 'ErP ==5!X0 b: r= = H 6 G } G G GM GGGG]GGG'ErP 2?qCH G: G  G  H  G TH GG)G']ErP `q?CH 4 G y G   G ! H !L G !H !G"G"_G"G'"ErP ""?#C#UH# G# G $( G $p H $ G $H %CG%G%G'%ErP %&?&D?&@&&(  &H ', G 'q G ' G ' H(> G(H(G)G')/ErP )2)DC)C)H*  G*Q G * G * H +% G +lH +G+G', E/02257B79;<:=Z>?A2BCE:GbHJzKM.. \>Y)&R \zp@UЁxp@26 i7&?ɻ"%]+.@ zb>IZ3>|$e:' JvBPq:G0T xkDp@@lash. Examples: A:\1STWORD.PRG C:\UTILITY\ARC\ARC.TTP Press any key to exit. Oops! No vertical blank interrupt vectors left! EOPAbo'DF :X}t0g|`_"S_Vt7;3M xm$@&~[h~&6P8؄ Ѓ7hppF^Ap&pp&dgBP `Mv2`bXd(f$izɇ},@*`Ebx_SNfx~Bb28WxH@xpFHȄ;Xd}xH}d x}^j0g،, 'І* pxUc d^dQ&pHRP&@e]c8@5Ea W@)2"6*"$i*dH7ґEmTP"0QitQeC8򃚗8zaPNIgv9yQx @ B T&VUNo@tgR:Uc!Y$i (IegSUyi0d톙XՒ/5Ƞ9$`F pЄ IHF PanD'x "9"G 0 @a)0"Y*rHef:%9fYn Кdzٚ Y5zyqdvI @e$ $0s ]"-@7-`:}_v@@$-@ Pk12JT0o/1. s tX.. s tSTARTGEMDOC tt YSTARTGEMPRG xt ZSTARTGEMINF|t [ *************************************************************************** This is a new version of STARTGEM.PRG. It auto runs any program of your choice. This version works with the new MEGA/BLITTER roms and older 1040 & 520 roms. Place it in your AUTO folder. Then place a file called STARTGEM.INF in your root directory (in your boot disk) that reads the name of the file to execute with its path, "A:\1STWORD.PRG" or such... *************************************************************************** ^N,> %v Ŏ}B,\hhP:Mh">啌FzJiY _!&t vn2ސ>0`EnxV bXf7F/mZNtU o7D@ nžc5  "~p Pul/Ц پ.1On-o#(_6DWMߎ͌lA3X 7h1O6`%9e2xR yP"VeZ,k`UŮaoylg`m?`A aBgHz?<=NAPJ@jHz&?< NA\?<NAT`K:Hz/<@??<?NA JkrAB(??<>NAXB?< NA\Ot#,*|:<JgXQHy?< NA\`(E**E$/?< NA\OABg/?<1NABgNAp,gNAp PB y,CZ"C:#, h h$h C>"A "gNu#FNu o Pf# , zCfHy?<NA\?<'Hz?<NNAPJ@fjKB@|ߐ<A??<NAXRI:<?JgQ:<? $\gQRBHy?<;NA\ o PPgTgf zlN4XOF8NA  g "gHz` 3.3NuSTARTGEM.INFOops! No vertical blank interrupt vectors left! Error! - Can't work with this TOS-version. Error! - Can't find STARTGEM.INF in root directory of boot disk. Press any key to exit. EOPA(b\l`op$o$䅁6@ o:VpovIA:\INSTAL.PRG A:\SIGNUM.PRG o@eo@ ͖@@CsU`j FPVVpV`6Po`7@&ЄHSHeyLJZ7@gfV`bPV?U7P/oto`to@6@gmZ6З= m6@gmz6P;oOŀ,--0<(P"o #""B *`@ 8(%2fP: Vcۜo0ul`20o zYcۜofٚ U/FZ2%o،1΂ & F*9' 0%ܰUb`1 `1 oyP"6?*0 C,@*?V( tPP OP"pz:o tv2ofA #Ot:02#pMۏ/M2~5\ooy5ÞX J oM1 ` Ԭb`b " _$ѿ~npMb0jRV.`G)oO~Ph*V/FFdc/fb` ]%`*o`3  Ϭ$ o:Q&3@o:PsE'm<o?po`OoꀂZV 5M. irb I h*D  "P4^ m@ * ,Dc  `D@**************************************************************** ST UK Starter Pack. **************************************************************** Compiled by Andrew Bishop 25th November 1988 If there is anything that you do not understand in this document please read 'Your Second ST User Manual' on disk one of the start pack. Disk One. Contains A VIRUS antidote, two desktop accessories and a 250k text file called YR_2_MAN.UAL which really means 'Your Second Atari ST User Manual'. Read It. It tells you everything that you need to know to be able to USE the ST. Disk Two. Contains ST Tour. Place the disk in drive A and turn on your ST. Disk Three. Contents: 1. ARCHIVER 2. AUTO DATE 3. AUTO GEM 4. GOODIES 5. INTERSECT RAM DISK 6. MONOCHROME MONITOR EMULATOR 7. PIC SWITCH PICTURE CONVERTOR 8. VOLUME NAMER 9. DISK CONTENTS 10. DIGITAL WATCH 11. PRINTER SPOOLER 12. RAM FREE 13. RAT TRAP 14. VIRUS KILLER 2 15. SUPER FORMATTOR DESKTOP ACCESSORIES. The programs that are on these disks with an extension of ACC e.g. RATTRAP.ACC, unlike files with TOS or PRG extension they cannot be 'run' by clicking on them. To run programs with the extender ACC you must copy them and their associated files into the 'root' directory of your boot disk i.e. the root directory is outside ALL folders (directories). The boot disk is the disk that is in drive A when you turn on your ST, or drive C if your have a hard disk drive. A program has to be especially written to be a Desktop Accessory so do not try changing a FILENAME.PRG program to FILENAME.ACC because it won't work. When you have booted your ST with your desktop accesories they can be selected by clicking on the far left menu option (availiable from any GEM based menu driven program). The last point is that only six desktop accessories can be loaded at any one time. so to be able to look at all the D.A.s on this disk you must copy them six at a time onto a seperate disk, and then 'boot' with that disk. D.A.s in folders are put so, because there is more than 1 file associated with that D.A. To run copy all the files out of the folder and into the root directory as explained above. 1. Archiver Archivers are programs that compress files to save space. To use the archiver double click on ARCSHEL2.PRG. Basically to archive a file click on 'MOVE to Archive' then click on ARC! When the file selector appears type in what you want to call your arced file, then press RETURN or click on OK. Next select the file to archive, or to select more than one file you can use the '*' wildcard e.g. say you wanted to archive all the files associated with the archiver program. They all begin with ARCxxxxx.xxx, so to archive all the associated ARC fil