NNNNNN[{p NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNO`  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@UWY[_a c@e`gikmoq s@u`wy{ O` @ ` @ ` / O ` @ ` ǀ ɠ @ ٠  o @`!Aa   !Aa!!#A%a'+-/1!O5a79;=/CAEaGIKMOQ!SAUaWY[]a!cAeagikmoq!sAuawy{}!Aa!A/Ao!Aa!Aaǁɡ/Aa܁١!B#/#Aa " B b  !"!B!o!!!!"/"#B"%b"'")""-"/#O#5b#7#9#;O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@UWY[_a c@e`gikmoq s@u`wy{ O` @ ` @ ` / O ` @ ` ǀ ɠ @ ٠  o @`!Aa   !Aa!!#A%a'+-/1!O5a79;=/CAEaGIKMOQ!SAUaWY[]a!cAeagikmoq!sAuawy{}!Aa!A/Ao!Aa!Aaǁɡ/Aa܁١!B#/#Aa " B b  !"!B!o!!!!"/"#B"%b"'")""-"/#O#5b#7#9#;PD_262DIR_ANALYSE-UDISKUTIL ;U\FILEMON HU}HD_INFO VUHIDE dUHYPER 260kUSURVEY  U@V_DISK !UXDIRLISTPD )UALADSPEC dA>DISKUTILACC 7U8NEODESK DAT:USNAP2_2 PRG :WIPEDISKPRG "HVDISK3 ACC CUITEMCALLACC 4LEES DITt IA228 Lu D_262 Ju . -U.. -UDIR_ANA GFA.U`WGFA_RUN PRG 2UABOUT_DA 9UVmGFA-BASIC3nz DVVWYYYYYYZ[d[h\<\<\<\\\```D_LENL_LINEF_LINEJ DIRECTORY CHANGE_DIREINTRATTRDATTIMLANGATEINTRAGST_CLUSDIRECDIR_ITEM BACK_ITEMITEMLOC_ITEMTASTED_ITEMI_NAMEATTRICH_TIMECH_DATEVORGABZAHLPACK_DATDATUMP_DATEDIR_TIMZEITP_ZEITPUFFERALBOOTTEXT1TEXT2TASTASTGES_FATFATTXH_SCREENCLUSSUBDBBPFS_DIRFILENAMETBUFF DIR_PUFFERSEC_PUFF EING_DATUM EING_ZEITCHANGEPFADL_DIRC_DIRPATHSEC_LISTF_LIST FOLDERLISTF_LISTEORDNERLONG_ONESHORTHILFZD RUECKZEIT RUECKDATUMNULIT OLD_DRIVEDRIVEWAHL F_ARR_LEN DIR_STARTSTATUSSTARTSECIENDMARKZEILEN STARTZEIL SCLUSSZEILSTATECOUNTERATTRLANGVOTE L_COUNTERST_CLUS SCHLUSSZEILLINESCHOSENMAUSXMAUSYMAUSTZEILES_LINELINENUMBCHANGESTARTINDCOUNT EINTR_INDBACKATTRIBKASTENBACK_IKISTEATTRIBUTFLAG_NOINDL_KISTEB_DATEXYSPALTEDATUMDATP_DATEHILFZEITTIMP_ZEITSTARTANZ DISKDRIVEPUFFFAULTDUMMYBOOTBPBSECPROTSIDESSECTORSSECPROFFAT2D_LENDEFAULTARR_LENJLOWHIGHBYTE1BYTE2FLGH START_SECLESEVARFAT_INDBACKSSECBSECCLUSDPLACEBACKSECB_SLASHSECTORDUMXDUMYDUMSTBACKNAMELTXLTYLTBLTHBGXBGYBGBBGHADRCLUSTERSEKTORDRVLAENGEINDEX STARTTIMEENDTIMEHAUPTDIRSCHLUSSWEITERRE_SAVEDRINGESETZTDO_ITFOUNDERSTE ERSTEWAHLNOTFOUNDCANCELOKEVENTPRINTEDWINDTABKOPFZEILBOXENRADIOFATFAT_INDLOWHIGHISIDESZEITTIMDATXYMAUSXMAUSYMAUSTSTARTSEC START_SECST_CLUSBACKSEC DIR_STARTSECTORPOINTERINDEXVOTEWAHLINDCLUSADAUERX1Y1X2Y2 STARTZEIL SCHLUSSZEILZEILENS_ZEILGES_ZEILW_HANDW_HANDLESROLLERSCROLLERF_LINESCROLLCOUNTERIJB_SLASHFLGHLOWHIGHBYTE1BYTE2HILFXYINDL_KISTEKISTEKASTENATTRIBUTFLAG_NOATTRIBMAUSTWAHLCHOSENVOTESTATEATTRSTATUSDRIVE DISKDRIVE BILD_STATE ORDNERZAHLFOLDERSEBENENFOLDERORDNERF_LINEL_LINEERSTELETZTEPRINTEDLEVELORDSYYCHOICELGEDRUCKTHANDDAUERSPALTEZEILEXSTARTLENGHTW_HANDLE L_COUNTERLINES LABEL_FORCEONLY_SWGRAUBILD LIES_DATA PREP_WIND COPYRIGHT M_AUSWAHLFEHLERHANDLINGTO_ATO_BTO_ROOTTO_SUB HAUPTSCHLEIFE END_FRAGEMELDEBOX DISKDATEN FAT_ARRAYFIND_DIR_STARTANALYSEANA_BILDENTSCHEIDUNGSBOXENGET_DIR UNPACK_DATE UNPACK_TIMEAUSWAHL EINTRAGWAHL VERAENDERUNG G_GROWSHR KASTENTEST DO_CHANGEINP_TIME PACK_TIMEINP_DATE PACK_DATE SETZECURSOR LOESCHCURSORSEC_READ SEC_WRITE WEITERBOXFORCE_DTHEAD P_ANALYSE NAME_KONV FOL_SEL_BILD FOLDERLISTER FOL_PRINT FOL_SELECTSET_SLID WIND_EVENTPUT_DIRWAIT SL_CURSORRANDBOXW_EVENTGET_DRVDEEKGET_BPBCLUSTERSEKTORRESOL FOLDERCOUNT PACK_NAME PACK_NAMER############################################################################ R### ### R### DIRECTORY-ANALYSER ### R### ### R### ein Public-Domain Programm von ### R### ### R### Bit-Soft ### R### Werner Hamsink ### R### Boomkamp 87 ### R### 4432 Gronau ### R### ### R############################################################################ FFF 8FFFFFF (F, FDF8 !F<F8!FF$F߰SB F ߎFFFFFF8\ F ߠJF F$F $JFF$F NJFF$F0F4F 4FL!!! ! ! ! F (FF, F8!F JF8!F! 8F8!F!$FFF F4LY! "Das aktuelle Laufwerk ist jetztF"LY"! " Laufwerk A !FFDF1#2 FFFF F4LY! "Das aktuelle Laufwerk ist jetztF"LY"! " Laufwerk B !FFDF1#2 FFF F F.LY! "Analysiert wird jetzt dieF$LY!! "Root-Directoy !F<F1#2 FFF F F.LY! "Analysiert wird jetzt einF"LY"! " Subdirectoy !F<F1#2 FFF FFFFF # F  ݀JF # F$FFFFt!!FF XF!!!FoF"!# F3F!F  6!JFp!9Fw 8XFp!9Fw$F 4F (FFFTLY! "?Eintrag Zeit Datum Lnge Attribut Start-Cl.FLFF !JFD3b F:д3!!#!!! FLд3! !#"߀ ## !!! F$FFF \F 3#x!P!!@ F.LY! "Directory-Analyser V 1.1FDLY! "/Mit diesem Programm knnen Sie sich die InhalteFDLY! ".der Disketten-Directorys ansehen und dabei dieFF0LY! "Eintrge bequem verndern.FF@LY! "*Ein Public-Domain Programm, geschrieben inFF8LY! "#GFA-Basic V3.0 im Februar 1989 von:FLY#! "Bit-SoftFF LY#! " Boomkamp 87F LY#! " 4432 GronauFT!F"!!d!5FaT!FLY'! "O KF<FFDF:߱:;;< FFSB F F \FFF FF 3#!P!!@ F.LY! "Directory-Analyser V 1.1F6LY! " Wollen Sie das Programm wirklichFF$LY! "schon beenden ?F2 weiter geht's Programmende!! F F  vJFrFF F$FF  FE!!!!!!4!!F( !*!!!!!!!!!)!FF4F <F4EB F# F2@?!!߀߀! c F!F? F@F!F#!! F"@*# FD4FF,H4?!*! c F4F?!*߀! F4;F! F *: .JF8D!E F !D!E ! E F F"4;! .=! F"4tC?F! ! ! F?F!!  F?F!!  F&8C?F! ! ܀FF&C?F!! ܀FF&C?F!! ܀FFC?F!! F4! F@C?F!! F&C?F!! ߀FF4 ! F@4        FF : B F4 (gelscht)F$FLFF4F$F* F F4#4!!) F ߀JF )FF@u!! F@w! F@ߠF!#!ߠ F<FF FF$F T߀F ,JF0# F$F 4F 4FF5!2!' FF ! !FDFF$F0 ! !FN  ߀ ݑ  5݀JF ߀JF D ݀F$F$F ~FFF4F (F0X\ FvFDF $FDF 0\ FF@'FF@'FFr@'F F @'F 4FFDFu6@(#! \ F @'(F4FF!! !24 F!!! ! F ,8# ߀FF((? !݀! .F F FFF F$8#߀ F ? !! F  F !! E F! 44 FFF 2 F!!!!!F  FFDC?! ! F8Х@!!!!7!!!h F (F @FT!F@D! !! !! !! FT!FpGFF4! !! !! !! F FLY! "O K"FFLY+! "Abbruch"FFLY ! " Read onlyF LY! " Hidden FileF LY0! " System FileF LY ! " Disk LabelFFLY! "OrdnerFF"LY0! " Hard.-ArchivFF:LY ! "$Das File-Attribut hat den Binrwert:FF,LY/! "=!0 s ! Ft!F" XFpGF ,! JF\߀! !߀! !߀! !߀! F$F F XFFLY! "%Der Directory-Eintrag hat den Namen: W;! F,LY! "Zeit der Abspeicherung:F?!!  FLY)! "FF.LY! "Datum der Abspeicherung:FF?!!  FLY)! "FFFF4SF # F" $B  F ~߀JF# F$F ߀B F8Ц@!!!!7!!!h F 4F 4F  ߀JF 4 FF$FF!2 F !!!!!!!!F 0\FGFDC?! ! FD߀F<,! FF ~JFD.! FF 4=!0 s ! FLY/! "FF"4;! B =! F XFt!F4! !! !! !! F XF 8FDF! FF ,! JF , ! JF , ! F$F$FF F JFD-! FF XFt!F4! !! !! !! FpGF *, ! JF $,! JFD.! FF\߀! !߀! !߀! !߀! F$F$F F XF"4;! B =! F 4=!0 s ! FLY/! "FF$F$F `F"F4;! FLY)! "FFdlF 4 FF4=! F F?!!  F!)! F F 4;! =! F F?!!  F!)! F  F 4;! =! F4FF 2 F !! ! !FD F!<F0 ! !FF*   ! ! JF*   ! ! JF<F D FF$F$F FF b F  #  ߀JFDdF$FF!1! !2C F! !2F B ݀JF 4FF D 1FFLY ! "__:__:__FF 8F D 1߀FLY1! "FF$F 4CFF D2BC FLY ! "FF2# ! FF4SF0C F0G9FF 2߀JF2# ! F 4CCF2FLY ! ""F F$ 2߀2ݠJF4CC:FF F2F$F2# ! F$FF |2JF2# ! F F 2F $ H2ߠ2݀JF F2F$FLY ! "_"FF4C;C!2 F2# ! F$FFF2# ! F D 1FF 4CFFD2FFLY ! "__:__:__FFLY ! "FF2# ! F4F B F2# ! F 2߀JF 4CFF ^B JFLY1! "FF 8F LY1! "__:__:__FF$F$FF!1! !2D F! !2F B ݠJF 4FF D 1FFLY ! " __.__.____FF 8*F D 1ߠFLY1! "FF$F 4DFF D2BD FLY ! "FF2# ! FF4SF0C FB0G9F_ :2ߠJF2# ! F 4DDF2FLY ! ""F F$ &2߀2ݠJF4DD.FF F2F$F2# ! F$FF 2JF2# ! F F 2F $ 2ߠ2݀JF F2F$FLY ! "_"FF4D;D!2 F2# ! F$FbFF2# ! F D 1FF 4DFFD2FFLY ! " __.__.____FFLY ! "FF2# ! F4F hB F2# ! F 2ߠJF 4DFF B JFLY1! "FF 8F LY1! " __.__.____FF$F$FF2/!0 F. ! F XFF@/߀߀F@ 0߀ߐFl! !! F XFF!2 F.F? 8.C=! ߀F.C;! F&4=0. ! .F44=0.  ! .F"4. ߀ FF !2 F .! F8.5;! F D 5?!! F . ߀FD 5=!  F . ߀F4B. F4B. ߀ FF!2 F2F 82C=! ߀F2C;! F&4=02 ߀ ! :F44=02  ! :F(4=022 ! FF!2 F1F815=! ߀F$15?!! ߀F15;! ߀ F &4B1 B1 ݀ FFF!:!;!#:ߘ F8?#:߰ F8<#: F@#: F8;# F ;JF>!Fehler im|BIOS-Parameter-Block!!! Aha !9F0F 8@F 8 F8A@; F8@@;ߠ F$F  >?<JF6!Bootsektor defekt ?!?!!! Aha !9F8?Fo8>F$FF !!!B!2 F!!"F  B߀JFT!F$F!!'!)FtT!F  8B߀JFT!F$FO!!!)FtT!FLY! " FFLY-! "!FF<FF@  :ߪ:;;JF<F<F@@ H:ߧ:;;F<F<F 8 ZF<F$F4"SF0  ##<݀ #B "B F  "B JF< #B F 8 FB < FF$FF Ft!F!P!!"F#T!F!P!!"F#!T!!F#.LY! "Directory-Analyser V1.0FFF%F#FT!F"!!!F-T!FLY&! "WEITERFF `FFF4#SF  $<߀#B FN  #::;; #B FFF!D!$!!!%!!F \F$ FH>߀ F##@?!?!$ F8lG#>ߐ HFh4%?$!! FDC:% F&D#?л% ߀ F&D?л%  FDC<% FPD9#߀ F &PD߀9# FDF <F! \FFF 2 F !9!6!;!5!!! ! !"F#!&!'!!*!!!+F @@?F JF @FF 8F 49b FF45B߂ :\F/F F \F#6 F+6;!! F D'B9 Fu*#!!'5 F \FD"FD#u߀!! F &#"F6,;!"!# F  !߀JF.#"!#!! F$FF$F-#&!'! FF  F 0F GFhD*"F0@D6!?;!*߀! F"@C?6!! F ,C?6!! ߀F@# F499b F"455?6!! \Fe F< F @FF F49;9!B9  F@K=9! FFD+B5 Fx?5!+! \F+F? LF45;5!+ F4F 4F   F  JF@F$F4F 4F$FF* !!8 F " ߀Fcp!9F 8DFp!9F$F (F @FDLY! ".Whlen Sie die gewnschte Sub-Directory Ebene.FF$LY! "Aktueller Pfad:FLY! "8FFT!F20!!!F#T!F2LY*! "O.K.FF ߀JF0!!!F#LY)! "zurckFF$FF,0GF $   JF@ F2@6 ߈ ݀F@ F$F4F$F jSB JFs@ F $FF.$!%! F-FD-b F0д-!! !!! FLд-! !#$߀ #݀ !!! FF/F0<\ FTF< F F0v\ FF D"w߀!"݀ FD#"F,;!"!# F .#"!#!! F BF#FD#u!!# FD"#F,;!"!# F.#"!#!! FFr"FD"w߀!" F D#"F,;!"!# F .#"!#!! F F #FD#u!!# FD"#F,;!"!# F.#"!#!! F4FF6D"#!߀ \ FD"w߀!" F D#"F,;!"!# F .#"!#!! F 4FF+7!2:! FF! !:F?7!! c F( |C>7! ߀JF8 v?7!! .?7!߀! .JFF"4::?7!! F$F$F F FF (#> F?!@!FpGF@4@?>!! F  @B @ JF 4??@F$F FF4??.FFp G F@4@?>!! F z@B @ JF 4??@F$F >FFH?F?,F!20 F !(!F @?JF ߀A F ##!A! F 8F!4( FF##!!( F  (F@# F"   F@# FF F#$F 0 FFF0!0 Fv(!!gF \Fg @?JF$#!A!0 F 8F!8gFF4(?0!g! F$#!!( FgFr@# F"   F@# FF F#$F \FgF#4!5!!21 F!8!F7855 ߠF45 F&88U!!л !5!4! F 8 JF.4 ERROR # 8 |(s. GFA-Literatur)F"!!!RETURN!9F- 41FF 8F 41FF$FF$4!5!! F 8!F855 ߠF  4JFTл !A !FR$F&88U!!л !5!4! F  8 JF.4 ERROR # 8 |(s. GFA-Literatur)F"!!!RETURN!9F-$FF3!!! FJt!F !!!F|!!!F<|߀!݀!݀!݀FF 1 F h!iF 8h>FF8ihFiF !h>i<SFFF !F(H ! ! ! FFpG FpGF! F !FG !FGpGF  F "&FGpGF  F "PFGFFF!!F"L!Eintrags-VernderungFBP!4Sie knnen jetzt diesen Directory-Eintrag verndern.F*L!Wahl der Sub-Directory EbeneF4L!&Diese Eintrge stehen in der DirectoryFRP! ;Wenn Sie einen Eintrag anklicken, knnen Sie ihn verndern.FpGF0pGF Fp!9F #FF #FFFFF $ ݀JFB48Sorry, dieses Programm|luft nur in der|hohen Auflsung!FF"!!!Schade!9FfF$FF"Data fr Boxen beim Verndern D100,274,230,318,300,274,430,318,48,168,160,200,209,168,321,200 D370,168,482,200,48,216,160,248,209,216,321,248,370,216,482,248 .315,14,410,34,315,46,385,66,315,78,402,98 data fr Menzeile 68Analyzer, ber den D.A.,------------------------- -&acc1,acc2,acc3,acc4,acc5,acc6,"" -$Drive, Drive A , Drive B ,"" "8Directory, Root-Dir., Sub-Dir., analysieren ,"" 2Programm, Ende ,"","" u4data fr Radio-Flags der File-Attribut-Zustnde 0,0,56,55,44,28 2data fr Window-Informationen aus prep_window 617,55,20,530,370,0,108,56,424,288,0,8,20,624,352 i$diverse Funktionsdeklarationen r,#b E?b ߀?b݀ F0#c E#c߀ ߐF 0#d E#dߐ ߀F #e EU!e FEV FEW F``BE3A2CJfJVfNPDE`4~WbTNu??/a DB`~WbTNu??/a &8:HSHnghDBHngXDE~<En g6CDEDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu ABNupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNuk(g.JBjDBAр[SBDBjNuAр[SBkNuJlNu0gH@rJBk| JkЀ[`DBЀ[`J.gPpr4<NupNJBgVB&8TTDуdQRBNua8JBjDBNugDBgkDE` DBDEaDBNugDBaDBNutNuHoHoE|z:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdڼHA@B@H@хk HAҁHAрSB|bNuJBj4tNu~(WbTNu??/a&8:HSCDEJEoHnfNupNtNugDEDBHngDBE|kQ*HEJDg?<>0rHGGdܼHGGdSWDуdi?<>0rHGGdܼHGGdSWDуdi?<>0rHGGdܼHGGdSWDуd&2 H@k Aр[SBkփjRAd RdQRBJjDBNutNu?<,>CEdGH@0r`|?<`|Aр&AdRAрAрDуNuprt|PQ< g<+g <-f<.g2<0< b<0e<9bda`RF`<.f<0e<9bdahSF`<Eg<efX<+g <-f<0e<9oSH`0<0< b&Hz<0< b E|o`\JjDDDS4<.aJFkSFk6aQa`(HL4FFaQ&8*L/a,H܆jDBJ.gtBnNu|?b4<rp¼Av JBlDBv-|JBgĴ|b̴|k(H>LaRRFBd&8*L?a<a6SF|e|gQRB`RAdRe <rRF&<<0xaCfEv+0JFjDFv-Hƌd<0BFHF <0HF<0ANuprt|`HQ2.|eg>r C<5e&!R<0c <9c0`<R"_`VC0 Ef"_Nuaa/ Cr  g 00VJAgB| nN|mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BA "_Nu.WAkQA<0g`a$|e=@NuaHjDBaDBNu|e|/d$AрQ4<`,|Nu <r4<NutNuaJBgkpNuaaf pNuaafpNu>jDG|e|bFGNu||bFGNu~Nua^6jDC|e|/jC|@j| jr0H@{0>H@Nur{0Nu{0Nua6j(:<DCaf AfBfNuL8`r$o.b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4&<ݳB88<:<aH L&<]:Z8<:<a:&::gֵ8<>:H@Ѓdڼ`HCH@:">H@`2g&HCH@:<HC>H@Ѓdڼ`HCH@:H@r`|gDBgkDE`H@Ѓdڼ`HCH@:H@`N,@N8N,.N,N+N+N+N+lN!TNN;4N7N7N8 NNfNRNNNN N NN&NN B*oM N#CJEpM4Q=| .`<.@`Oc,NqN-|u8-M̑HPHU-@Bg?<JNAN?<NN-@>NN=@&p-IC"NZHx?<HNA@-@ /?<HNA-@Oc3NaN nJg.CN  gSfarNajLNɎk`\OcB.{Bna1HVNN2La1` N,bNaq`NɎka*nP`aNNBn&A0NNNB&aqhBn%0pN`k,NBEvfY2 Y3 v OK >QBHR$nJjg$_NuH LNuJ.BfNuPBHR$nJjf$_NuHC%I LNu,yOc(M< {` N*L``o|}}}}6}D}}|}|D}}|}zz{xxxyxyxyzzzDz{F{yy6xyzyzzzt||"!t)~}R}`}`}R{|)\J}b(bbDbb\btjm0lBll\lvb(bbDbb\btjm0lBll\lvVZ******Jr!t_zfj| | !t| ccpc:gg1$W)v.uv4v:upjbPv~6@UUWW3~2ME!t!t!t!t}ww w0P}vvwV}www0h}w@wVwl>v~~J~f~~ D|~&~~~JSSmF"P,*****1801"*!T,@| 3d_:_:__X*h.YJD~)"NzhVNR&u4XRUfFfFTTZv\v\l|U!t}!tZWhWvpR^ZS !t](ZZn*ZjZrf@ĶB|)<հrrZ*^REEҚJH"4:X| | | | | | FDDNNNՐq8^H^4H@@Fr| 7z!tU!**4lTT!t!tv e6 ndC p0" V|*A"T Nu~?GG {pN~GG {p &HNp N @bPj6 R l *<<<<<<<<;))v%|%|%|!TvT6^ " V%| >j%x29b23v>L%|8n:8z:;T;d%|8%|%|%|%|%|%|%|%|%|%|%|8223%|%|%|%| 00IJ%|088=8>4===%|%|!T0Z%|BnBqrHqrD0%|%|к>=$?? ?HD?D^:r!t!t%|%|!t!t!t!t!t!t!t!t!t!t!t%|!t%|%|%|%|((!t%|%|%|!t!t!t%|%|!t%|%|%|%|%|%|%|!t!t!t!t!t%|!ta>LZaaBBCB~BBvB))))))))))%%|%|%|%|%|%|+"+$+"+$+"+$+"9>+$aba4ajmklaPan%|%|ll,%|%|aba.ajmklaJah%|%|ll$%|%|pBNTNuHz~GG {pNw~HN~TZ`fnx~:D~x$nN ,hp))* v****AA???2v9rIzAAISSnSNp2\\1V1h1z2f2lTTIRIV,B34^lp0r0r000|1*,X>V048T`~zPv\Bx4BVjnpt:>b6T.gx|4*0*80EEE4:4@X\\\\0IIII!ta@&Hd| &NuB.&Nua&aր._fajNup e0@ n 0g(@NupN FgaHJLpNuaDBNu~GGA ppN  gNuR~GGA pp&HHNL8G`R `ޠR Nua> n0(n&HNua, n0(n&HNua n0(HNuaaaaa`=:\fEDCNuaD/a@/aa, _ Nua/a(a| _ Nua/a @a _`QBNua4#1bNM.|4VxNua"#1tNN.|4VxNua#1NA.|4VxNu _r g %g$ - g4  fR`*H@aLRA?`RH@axLTH@/H@`"O`?QNHaV$@a#1#MN.|4VxLpNuH a2/r -Fg$? 7f Ra` `a2RA/ - f"O4`/Q/? Y#2\N.|4VxLPNu.z`.|HHNu  g Saa .Nup`p??<NNX @"XLAg.HBbpBAa$L RA@erBf5A Nupa NuaZ8a.B@H@Nua^a aՄ|NuaHaHL8a6` .f a"H@B@"d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA .a@XAf B E$fBBraEr $gdXQNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|NuA,0<rX0QNuaHU? 2<.,HdY3N\Nu2(g"P@g4RA<DAH""nr2gZA<e0 1@#-INu1@NuA,2<XJX[j]`p+Na"ndpNH n$n"HgJ k&@ S`g6 k#&@0+Hd3 Hd3 Hd# Hd `# # # # Q&f-ILNua pJ@g:`Da dJ@g.0`6Ng Jf*.paFHG|2 Nu  @apa, Nuapa Nuar>pa 2 Nua`.pa" NuabANDBjDB|jt|ct|B 1Ap$aňS@kH2Q NupaHdHd `Q Nua|aJjptNualHPa pJk NuCg.BJ@g  g <&g,<$g<%gNNutNuRpt`2Rpt`Rptr<ae< <OgX<Xgn<HgSRB<ae< <Fb$<0k< c_< cb退`tSHkaDNuRB0<b఼b瀀`RB0 fрd`a @HP"Xp0gr~ RAfS@n`1V` Nua/a Whd4a($ W PHd2Hd2Hd"Hd `""""Q  _`J Nuad/aB Whda$ W2( P"IdHdHd `Q  _"X2bP6gHRC<(D#HNua/a?p`a/a?a2fr W4(Ae$RBBc0?aN$2 W PA`p~AWbTNu/a @"_HSHPHQ0(ika $It _a\IUd4Id4Id$Id `$$$$Q _Jf*a,Id4Id4Id$Id `$$$$QNuSaIdIdId`QNup N/a @a$I> _aG` VNu~ _a*4Ae4v` VfANua. @2(g b P"H`Nu/0Ha2  _ PSAvjx E&Wf* <ae <zb< QNuaB]@k 24|B|JjDBNuptNuaY@k rtg|DBNu|NuaQ@k 24NuaV|jtpr|c4<prJj</Bpa" Nua??/pa"" NupaHPa NuHQ?<,NAT _2X|a:0H|?a :|A0H 0 0H@Nu?<*NAT.p a4 I:Vk2|a.0H|a.`2H|a/0|a/Y¼ҼdaHAa Nua*/a.2 `ar ?a2R@H`2Q Nua bNuag/a"gL @4(gHP²b af$_// Z4HQ`S@Q _Q _ `a?ANBHP?<GNAPAN `p`ap/a/a @"_ `at/an/aLL/HQa< _/ ?a20 _$gS@cY6 :fRS@g.t;ak&AA :fRS@g t;akIA??<-NAXNu !gaR0ga %Fgk.tak$6g~ .fS@gt atkAg A .fS@f.`\t a\kVAgR6 /fJS@gFtaFk@JAga=a|cr `(a=a| cr `a=taH| cr `a~N`FapHa.LHP?.=hN=_2 "@$Y4Ad2`0QNu$HBJ gDBv ҁрQHANuHABAJBj DBaNu|e <rNu HBv QHBNur$|Bg|DBNu|NuJBjDBa NupNu|k|e <NuЀNuLp&H` ajHN&gh(b\bVLHaZL"n@$Ir `Q"JN\r0XDQD@CtEe PA`fRشf`e"J*c j|0"cRLJgR $I: f)<5e,0!9N\g<-g< g<9f 0b`RB`1`aR`aS`p`a0/aF/a@ @"_ `a4/a./a L/HQa _/ ?a0 _$gS@cNHc$Jg,J@g4@Bo2’S@,. S6VgS F"GQpNufJ@fSD@HЂRNufS@kVfpNu? P`INu*_T._fNBg=n&HUaz>.&<jRGgVGg:TGjpNJogapANaB`aANaJJk -Ff\Nu fRp"Ma& !g pChaa2ANJoga -Ff\NuaJkHR -FgJg`aANJoga -Ff\NuaJkR -FgJg`a -Ff\NuHnNHx?.&?<?NAO Jk. g2AN  Nu?<?.&/?<BNAO Jk-NupR@0< gF< f`.~SgYf "gBpR@0<,g"< g< fa~ (fR~Nua ~ `a~NuHpa _NupR@0< gڲ< gIJ<"fR@0<,g"< g< fa~ (fR~Nua ~ `a~NuHpRU@a _NupR@0<,g"< g< fa~ (fR~Nua ~ `a~Nua8JkHQ ! gRfa _NuXX~Nu<.&\FHSGNa0AMg< f< &_NuHPaD2  _`Q`!??<NMXJk,zNu<.&\FHSGNa<"fAOg ."Ng&<,g< gAMf< &_Nua< g`Ra<,g< ga<,gְ< f`HSHx??<?NAO Jk+SfNupNv`v??a?@aиNMXNuDW?<NMXNua?k?<NM"|f J@fH@<Nua o GN<`~0fpNu\@`a v`az><CNpaX0.NHNua V`aZ><CNpa8 .NNuaB/p`a8/Ra &0<R@f| b:aJFk(HPH/HQ/??<?NAO Jk*f tNuHSHP&I>g \SG??<NMXJk*._V t&_Nu nP hg hfBNu-H=|Nu<Fgv<e6C n 00g @~`p!Np"Np#N .g @anJkfRH=H -FfNu nav`4.A'f nLR@RANu4.g S@SAH&Nutbpbr??parpYal0af0``Bn`pBn`p=| |=F|=@aH=A~`:a2JfBH@<RfF.ϰ<Kg"<Mg <sg<tg<Pg<Hf~`xSGjtRGFcn>`jAN< gr< gl<g<grffpnenfJ.j6pRGFc$SG` J.jpRGFcRF` FfNRFpRGa`FN`< `?~ap aLp aF0NuJFf J.gRF`|`NCpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@<fa(@<fza<0< b @|e0NuN._fJgNup Nu4.f?HyaNM\Nu=|&`LazEfpa`ppa\ANEg0PaEfaBRE`ܾEfp a.,S n&a&p0n&cNa`FRa-@& @"X0=@&g.Bn& -!f 7f RaҦ`aD / ? n&"X&Rn&Sn&k|<_g<!g <&g0<\g0a``Rn&Sn&kR`0"_fCV0pHaT`0"_`pR@Rn&Sn&k \f2"_gAcA@H?a"0a `p?a0H"_a n&aSM`\p?aL&a`H& n&"X&Rn&Sn&k<_g,vxz|<+g2<-g,<*g <$g&<#g$a`Rn&Sn&k`` `RCSn&k<_f Sn&j`f<#gܰ<$gҰ<*g:Cg̰<^gH<+g^<-gX:*fXxRDSn&kL<#g<^g<+g4<-g.<_f.RSn&j`RESn&k<^g<+g<-fRSn& n&? JEf0DH2HgR@?=n&&jDn&NC @N<z Ndz* I0`  fEQNdS|$Ne Jn&j|- n& X&Rn&0n&c|:@g8<_g>:5g@<+gN<-gR<$f<,fHQ!aRn&"_p$RHQa"_`Rn&`)< g<*fp `Jn&jp-`Jn&kp `=_&Sn&Rn&`HL&=B&jDBNpLx"nE0RJCfRCR@r2HAARACd `<Efr0Sb<Eg2<5e,!e<0R<9e0`R1R@0c JEr+J@jr-D@UEoJYEc0SEnHJEf<0SEH@HdREf<0SEH@H 0 0REfH@"n n& X&Rn&0n&cJ:g<_g :g<+g<-g HQavL`Rn&`Jn&jp-`Jn&kp `=_&Sn&Rn&`a*o&??Hn?<,NA=@>*NA=@>WNAO NuarddRA HNuao?<?B?<BNAO Jk<`a:|?RafHPa:>Ehr$ļWgrCOM:g rLPT:fFA0 _=@&TNuApHPB2/ <Og*<Rg~<Ag><Ug0<Ig<og`Bp=`pNAXJ@k4tgBA p`݀Nupc?a0QNuA . B. H|m ??<>NAXk. B. H|m??<>NAXjNNupA` p9`p:`p;?a8F>AHPBHQ?NA\ _JkNuaƴ/a8$$IAHPB Ba8AHPBHRHQBg?<VNAO _`*.*p`p3Zr Fga7SANJAg"0<@e2`QB :g \f RCf?9ZHnN?<N /./?.&?<?NAP _f4"[6\`$Y4jDB`Q]CnNu&ZRf`Q]CnNuepNep%NaN~"[6>X nHP/?.&?<@`"$Y4j DB`Q`&ZRf`Q]CnNAO fNuahAdgHAA HP -Ff P (R`a&&_ S2 Sb`v6aBg?.&/?<BNAO Jj |fp7NNuHa n"n`Ha"n n <}aLNup=alk,HQ??<>NAX"WANfSp g<\g <.WgJfS.BAKBHnN?<ANAT//Bg?<VNAO "_`BgHQ?NA"oPJ@Nu6`v n\CC p0 24Nu6`v ndCC p0 ` b6`v n|CC p00H` D6`v nCC p0p` &6`v nhCC p0Jg <r4<NuprtNu6`v ndCC p0 Nu6`v n|CC p00HNu6`v nCC p0pNu6`v nhCC p0JVHHNu6 n\CC/00a _ 00Nu6 ndCC/00a _ Nu6 n|CC/00a _0Nu6 nCC/00aȶ _Nu6 nhCC/00a _JBVNu6`v n`CC 00NuHp8`6CC n`/00a _g c/"@0)aԮ _$PS@kH2QNu2(g"PRA|4DBH#"@$Y2Pg 1AHRA|%NuBhNuRanJkxg8|AfAD v\ p@"F`6vg6CTxg8Dr@A"v\ q0"q@  "002Nuvg6r@A2;N0 zr0" nlaHp` n\C/00Rv<e6g nla` C n\ p0"_  "  "Nu ntaHp` ndC/00Rv<e6g nta` C nd p0"_  "Nu nabЀHp` n|C/00Rv<e6g na0Ѐ` C n| p0"_002Nu naHp` nC/00Rv<e6g na` C n p0"_Nu nxa?Hp` nhC p0JgBgHPRv<e6g nxa~"`C nh p0Jgp"_2g fQPNufNu npaBЀЀHp` n`C/00Rv<e6g npa ЀЀ` C n` p0"_ r2$v60!2#RA|g$@%RC|g$B%8NuatRHPa,t$_ Z0AcA`QS@ QNuHd0Hd0Hd` QNuac4ASB Q`QNuaRHPa,$_ Z0ANuvg6g npa0ЀЀSNuC n` p8NuaHP !gRa8?g<0< -!fa$? oa68Cc2SDĐDo@c2`QXNu\Nu".~C\pa:pa6pa2pa.R|pa$a"a apapaR|TCpaa`$Dԁee"RNuXNuaĒ,aJj Nu*HEJEgpNua/J@gbU@gxS@g[@gS@gp@NaS@f/`vC8;0N@,Tx(PtvC8;0N@@F@f@@ L@@@B@b@@H@@N6NH`6C nd p0 RNu6NH`6C0@f n| p00RNupNpN6NH`6C n p0rfRNu60H`6C nh p0JVRNu6C n\ p0ad 00RNu6NH`6/ nta!RNu6NH`60@fV? nar1RNu6NH`6rf, naDRNu6/ nla, `^60H`6/ nxa"RJgNuNu6C n\ p0 00RNu6??/ nla RNuvgC<fC n` p0R`b/ npaЀЀ R`H~C\aaaaaaaaaa PTGaa~NuLdfXNuXRGNuv6`v nla( 24Nu6 nlaHpaX _ 00NuC p0/6gh|fa -!gh _dVNu`SNu??aSWgL/H` -!g`: -!g2T8 _*dUD*< c ІQNupNpNpNpNpNv6`v ntaf 0Nv6`v ntaF 0Nuv6`v na*Ѐ00HNuv6`v na pNuv6`v naЀ00H`v6`v nap`j6 ntaHpa _ Nu6 naЀHpa _0Nu6 naHpa _Nuv6`v nxah0g <r4<NuptNuv6`v nxa60fpNupNu6 nxa//a^ _ JBfNuNuv6`v npaЀЀЈtNu6 npaЀ&Ѐր`zp|@2;N FfNu::::DtP::::h\::::::|@pL::::dX::0r np`:0r nx`.0r n`"0r n`0r nt` 0r nl@ pJhfHP?Bga.Ro2/RA? - f8:E&<27P 7P`bX$7PbNYEf` RAf rЁЀ`$Ѐe "ЀeЁdpNJAkfgRer?DDЁatAa,8$HX :` SEjT"_$P"2trDDd0d d d` QjNuaDa DNu naT n"ng,2 $`gk&|Nqdcђ$`ebѐXfNu|gebѐA``x$ n$n"Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-INux$&ր n$n"HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-INupr<e2TtćB v(\ p"X2g6C/ !UAk$!Q"_Nup<e0@|G$vp\"r Y2g|$6p`g "ZfBQ` YH瀀aTL"nc4&$GlaaaaGaaA(`$[` .ϊfϊeNuLA .apR FfVNup@NaJo8H@< gvUg,]gBnVa2JBgtLrЁ`2QjNuaL`"QjNuaL4H@0d2`a@Ld2`aHA2L`""QjNua - g>??/a&8:BmnJBj efAc` bfAd 24 - fNuaZ - g>??/aH&8:BnmJBj bfAd` efAc 24 - fNup`pra - fNu/aL @"C2(8) P"Q:De:|`VfAbCJ9rgC @/aȒ `-<Xk,Nup<e0@|A/?;8aR2&N,p<e0@|A/?;a(2&N R8L`~ nlaLHPa _ 00Nu~ nta4HPa _ Nu~ na HPa _0Nu~ na HPa _Nu p8"X PfH(dHqr҄AĒ a _Nu" e" dH` QjNupN nl~a*BBNu nt~aBNu n~aB`Nu n~aB Nu p8"X Pf(dbrҀHqHA a _Nu" e" d`QjNu np p8"X Pff(d.ЀЇЀHq.؄؇؄AHĘ aHPal"_ WBhal`&$Pt4(gRB|&D%(Nu np p8"X Pf(d.ЀЇЀ.؄؇؄HqHAIaI HQaX _"_BBa]tv`$P4(gRBC%(\cNua @z -@-@v n"nEK` k&@p0+R@Db bP| nP$n hg0fQ|-H.z".fapANaP}Jyf nvPb`=@%0-H%p4`f][Return]a-CNua -C|^Nuv e6C"n"q0& g )Ff& Nuv"CNuBNuQ^NuP^NuOcBaJn*L`&aa AN `vACN"[3][ g&gJf`Jj* fAHSfNuAޜfJj<-TDd<0@H@H 0 0H@B`0@ nd pSNu0@ n| pSPNu0@ n pSNu0@ nd pRNu0@ n| pRPNu0@ n pRNu0@ nd/0a _Nu0@ n|/0a _PNu0@ n/0a _Nu0@ nd/0a _ѐNu0@ n|/0a _PNu0@ n/0aZ _Nuaz/at&JjDDj DaDNuJkb dNueC"HAHABAЁNuDBaDBNux6o>|e*RCFCĴ|dЄeNu|/dHDDdRdQRBNu&<:<`DgSC|bSCĴ|cjNu|cHDDdSkg RBAрjNu0ftNu| H@"jNu0@ nd/0a W p aHRa|$_%Nu0@ nd/0af W pajHRaX$W%@aN$_%Nu"n] Q !k:Аi" n (]Nup"n] QАi n(]NuY -INup"n] QА i氡m(]Nu _$ne ad-J]D@5%NpN0@ n|/0a W0paHRa$_5Nu0@ n|/0a W0p aHRat$W5@aj$_5Nu"n] Q0!k:Pi"0an (]Nup"n] QPi 0an(]NuUI0-INup"n] QP0iam(]Nu0@ n/0a WpaHRa$_5Nu0@ n/0a WpaHRa$W@a$_Nu"n] Q!k<e$!b"(]Nup"n] Qe ab (]NuSS-INup"n] Qd!e(]Nup0@ n\/0az W 00pafHRaf$_55%Nu"n] Q 24a11!:!8!&!JBkJEkEffDb(]Nu-INuJEjEf춀fA`"n] Q 24a11!:!8!&!JEkJBkBffAb(]Nu-INuJBjBf찃fD`p0@ n\/0a W 00paHRaHaL855%55%Nu"n] Q 24:!8!&!aJij`d/aZJBg(_NuXNu/aHJBg"nY-I(_Nu/apSAkSAk0SAk SAj `/a _ Xf"HXjaF Gg$f IY(HNu Q`ز<Fgea"n`Rj&am°n`Sm`IJ<d dR$NutgB<kg$n$r tNu$n|$r 4HNu$nd$r $Nup4*]]fY(MNu lg lg l<fNu 9g *@B`xHNua6xHNua.(Nua"(Nua8Nua 8Nua/a"ANuaЁNua萁NuaNua܀NuaֳNuaг@FNuaȳFNuaNuaNuaNuaNuaVHHNuaNuaNua@NuaNuaHNua|NuapH@NuahRNua`SNualHa<.g^ <r4<?k$SWgN`TL8HN6a`Hz6 ntaNuHzaR"_HPNHzF`HzJ`Hz`Hz`Hz6 naЀNuHzraR"_HPNHz"`Hz,`Hzt`Hz`Hz6 naNuHzPaR"_HPNHz`Hz `Hz^`H?<NABW@|A:G6HS?<GNAPJf<\L` AN-H%C-I%E@fCJgf|*p" QBpZaNHSaFh.0.%XgDAN"Hg<\f`BCNAfSAE@fAfU .fB0.%ZNuGFA-BASIC3By0.&A  fB fB|m ??<>NAXNuBPNu&|.GFAa(gaBBAp BQajCNp ap AOCeZVfRCN <aPACEN "Ҁ f Cdb"n .\an`6p `p `p ?a `p`p?a0NNua |`aNɎk2`T .g p(NaR0gANS@|e0<QBHTa(_NuNu <.GFAAMBJfS"H .gJg :g \frQB ICNNuNua\/aV/aP/a( o8"_ _" $IdLb&d d `    QjNudd `QjNub`aa/a"_`2aa/a"_<.&HS?HQ/a.&_<k/HS/??<?NA Jk0&_fDNu\Fj.?r Fe aRJf 3PREfU  fS C>HQaB$_R@Hd2Hd"Hd `""""Q\NuH@a L,zNu<.&kHSHx??<?NA JkNupNpAaQ{aZa`a&fa`Hz#-L-Lv|}NupAaS@Nu3_g J.Bga_Vga_ga4_g".af_g".aXJg_3Nq*L` J.^fag`_Nuk".J/g B/a6"NuB B ANC&fJ/g B/`5"L igF ig>HNbLp".f=n&& CNan0yfgpQNu~`aHg"=G&B_3NqNua-Cf_3NuAbBBBBBBB._3`NuAC g#P NuAC f Nu?/Ne4T`NbpNuNeC!H,yAp<f J.^k3Nq_ n!|v |eC!|.`"XLv:g 4zg8Ag61 <cg<Jg<;e,<]b&<Te<`<Db<; g f <g< bJg fg fg,HC#0z ` Hx Dg;0\YBj@1BAf gbШ 3Nq_An gdBB3Nq_L@Nu wHHKMPPR g*g$n``bByXB@etAg1B# `NHCHSGvg*1B<f< f&< # XB@etAf&_` Bn_Nu-nrnNuBf_Nu-njfNua-CHnNua -CHbNua/a>"Ҁ$afprtNua&@`Nua:rQkH`a:` y"XLpAgڲ@er 1`a&Hz ?<&NN\Nu| y"XLXB@etAg1B# NuaS@?a&0|b@A|erQBNu <". n҈C0<"Q 0<"Q"""BBB.{B.^aJAzbBaBnaf-n .-@-@ n .g0rd0d d d` Qa`A Nu".C\paDpa@pa"NN @A C#P B?< NA\#:/aZaJ?< NA\Nu?<"NN @!y THz?<&NN\Nu#*Nu?<"NNT&@/&~B*paJ*ga&ALH>CdpJg XXQA# ~P޸|a&:|a RGk0Gg`a0GVf3<??< NMXNuhntzLH!`&Hx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LH,yOc|1R/9:?< NA,yOcpdzNH,yNFLxNp"A ӘQNu%%& &H!"%0%X%%#$ <Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :Nu :NuA&r NuN @NJAfCNuNS@jp` tb~@tbtA@A&r0HNuaHPN _0Nu .ЮNu .Nu .мNu?<'Hx9`?<Hx `?<Hx`?<"HxNְd @_06HNupGN?b `BgpJygpANuS@f*NNva!aHz?< NA\N^?<LNATNufC2A@p222NF"<J0<NB0.%XNurt=@=A=BN"<bpsNB0.#NuN=C`N=B=A`N=@N"<6psNBNuNC2| e|bA@p222NF"<0<NB0.%HNu  0.HNupNup`>po`8pa - fNu?NH%0`pd` pe`pa`?NH%0`p?N-@& f-|& 0`N&<x:<N6NHJjNuNH@-@%p`NHNHG-F& f-|& -G%H?%LH%pav - gL~%/H> aφ aπ `Nupj`p?NH%0`6p4`p#?N?a=_%`.NHaL=A%H& p"`pQ`p `pn?a-I& 0AHPBa _NuNH%ppa"g".&H - g / a Nupq` p `p `p?NH%-B& 0`p)`p` pr`p2`p?N-@& =A%0``p-` p!`p `p?N-@& H%0`Hz ?<&NN\Nu nLLJFj|@c<JGj~Ac>02 h|N nHHNuNa -FgN|@;`Hz?<&NN\Nu| |4Vq<B(B(`NNa n"h $h224NuNa n"h 22HNuNa n1F$1E"H&aZ1| NuNa n1F2!E.1D$a6H&Bh4NuNav n1G2!F.1E$aH&Bh4Nu81DL1DL1DL1DNuNa4 n1G2!F.1E$><"h3A!@ a n1F(RFFdNuNa| n1Eh1DZ1BN1ALb "nC&10$CBh$1|jBhr!jLT1jPXj$"jH@1qHBhJ61hH1CP1jRRBhf1|B1|D1j>\1j@^1j:`&*6HC([fv!Cb1|F1|@C$!Il1|@pNuN nH6NuNHaNa&I>`Lxzpa n hP.SGjO NuNn&NuNn&NuNn&n&Nup=Crt`A pBXQpadB&papava=|BnprtanBplrta`papparpatpapa pa"Bp'rta. nCB2SY2SY=|0<rtapa.papar`0 !g" %FgFN&jD@ava -Fg* !g& %FgN=@Bnprta -FfNup !g %FgN?p -Fg FgN=_=@plrt`b !gSahN AI0`0QpptaNvq`6Nv`.Nv `&Nv`Nv`Nv`Nv`NvC=Crt`papap? !g %FgN6a %FgRTNupapa FfNuN=@prt`vN$&`Nn&n&n&n&HH prt`B6AC1=@01=@WCk1Qrp`Nn&n&n&n&A0000000000prt`Nn&n&HB=BBnp rt=|`Nn&n&HBB=BBnHp rt=|`zNn&n&Hp rt=|`XNn&n&HH0p rt=|`0r`r `r?Nn&n&n&n&Hp tr=_`Nv8<`Nn&n&HHBB=BBnp rt=|`Nx:<`Nn&n&H0Hp rt=|`By GfR?.?.Rya?a?Ry -Ff yg T4:`Nq?/t`N`Ntn&n&=BHpgrt`paFpja@p a: !g %Fg$N-@rtp a -Fg Fgap&a=n#&=n$&=n$&NuNBg?N/N?@N @N, > _N4$FAN0||[000][vx`*<[g"<]g<|g QSx` xQSrQ][vx`*<[g"<]g<|g QSx` xQStQ]BAN0a:HNgaHpirtap0.#NuN|???<NN\NuN~GGGABBC`pNp`p`p ?N.fTNuba??.&/Ra??.&/ Fg/NoNo.C _<0aC _<0a 4r0`zڇ|gk0F2TQNu F2TQNu 24NHF2TQNuv<e6Cr@AA\ p p8 hf X eRNupNpNN|=@%0pN`RN AI0`0QtpoapN:NrtFSggRRfNu$n\e N$d-Ja˲Bb% Jg(CNup\B.{Np!`-np]`aJ.|f .Zzg .[zgB.z(n Ff(nNup`pv e6C֮ C/g?a nc*2 ng|f` `JfY-H`Jf a`flJfN7f(_B.zNu&n .nN$ .bpZNvC2;0N-K FfNuX:4444x444444T64444tN6C nd B& &6Nu6C n` BB[& &6 Nu6C n| B[& &6Nu6C n B[& &6Nu6C nh B[& &6Nu6C n\ BB& &6 NupZNg _3Nq-K*@XNv.z-KAcf J.|gN fXNu&n0#f #o-K(@Nu|gG`T-KNuk c | gT0f #ox-K(@NuPp0 cgR@|"D!`aHp N _ NuaRNutrg4A v\B 0 gRNuaRNuvrg6A v\fC 00<f @ Nu?Nk2|eg QAeg|gЀЈNuЀЈNuЈNuЀЀ 0Nu$n\e N$d-JBb% 0@ n 0g @ (Ff FfZ(HNupN FgD @0Hp\a(_Nuj-< g$|@4; N <2g~S  f# Nu:4444X8JJ44JJ64444T4N0Jk"n\@HqHPN _??/  fSad&npЮbN$pЮe( && _& &6 -KNupN0JkZ"nd@HqHPN _/  fSa&npЮbN$pЮe( & _& &6-KNup*Np-Np.Np/Np+Np,N0Jk"nh@HqHPN0VH`<0Jk"n@HqHPN+X`0Jk"n|@HqHPN+, _?  fSaJ&npЮbN$pЮe( 6 _& &6-KNu0JjH"n`@HqHPN _/  fSa&npЮbN$pЮe( $_e6Bk K0*N$RHd2Hd2Hd"He`""""Q`"Z&p0P7@g R@|#\ _& &6 -KNuS  g$j|@2;,N(U  fr# NuS ( fZ# Nu|@pL ".dX:x<lH*`T60"n`r`:0"nhr`.0"nr `"0"n|r`0"ndr` 0"n\rtg gpDN4B@Hq/1 Ra&npЮbN$pЮe&"_ _& &6-KNu0"nr tg f4RR`0"nlr`0"npr`0"ntr`0"nxr`0"nr `pg0@ d n` n 0g @HP$n\e N$dl-JBbB _"H Xf\ eRR #g( #g gHU*HNHaL*_Nu #g -fpHQa8"_R y R`].n&HT ?(IEc \e N$d"n-J5<%Hd2Hd"Hd `""""Q eRR #g. #g g n0 "`k` 0N #g -fHQar"_R`pENNe.$@0*N$RHd2Hd2Hd`""Q `NHaL$nUJ&"Kd?"Kd/"Kd `/"/"/"/"Q-J:_(_/H=G&_Nup-@&r-@&~-@&-@&=|&p-@%0phaL%ZH&JKBCH&A)p0 1PP1P1PA&vL?&<@>AFGH 0000X0000X0000G&r~A%00g0  piat QNu MWfRNJf ?S@k8L&fBfC`2Sk|t A&v & &`pTNuNS@k*|> A&r1EH`\Ha-_&TNuBn%0`N -Fg&?NJWg԰n&bn&cTNuH&a0S@k|> A&rP޼)pގ"G0(<JgRJ)@g1@C%02fP2HP"&"&pdaR W0.%X1@A%000 pia6=|%2@%4pia" _C%2""pe`.=|%2=X%4HPpia _C%22""pia=| %2pia=|%2phaL%ZH&P&P&H&SBSC@AHH&p=@0<rt`NS@k| A&r=p%0fNupa&pa"papaL&ra`j4&_NuBn&`aF`Rn&<&SFEn&eSn&`NuNS@kN| A&rC%00g8?a(=_%0p =@%2phaL%Z6FgaLp `p`p=@%0pk`Nup-@&"<$&HA-H-HBnpmrt`Hz ?<&NN\Nu nMNJDjDxJEjEz0oxDhk@ol2ohEhkAo\H 8N-@-@ p-@*-@-@ H0H00(L=B=B&=CC=C=C$tBft=B=B(NuNS@ A&r00HNuNA&rPgh ghgh$g0<NupNupNupNupNuNHz ?<&NN\NuL& nMN(8N-D-D x-D*-D| J@jpJAjrRBhe4(RChe6(@otAop=@=@NN`pH@*A%00.0CL000H?-|%pa L%XH%Hv3LHd"aVHd"aNHd"aFHd"a>Hd^ y g"`,2:|WAARA0:tAc hfRAS@f3"g"$n\e N$d-JBb% (ANuN@k0;HNuX@gAc Nu <NuNz`NzAC|HdXC|2H0`&NHpA`Ap` A`Ap4.Nu g=BNu((?<NNT. n0(LJvA HA HNuNAHN/p -FgNְ|d _&X PdXNu6:8N?<NNTHV nMN-@ @6H H00(L=C=B&<RF<>RG=G[fx-KC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_Nu=@a _N]Ak024E$|b5B5A6||5CK5C:8AB0000DkxEkt00A<:L>:JSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|-|`ѺNuNCBHN&@N?<NNT-@`LDbFEbGBj=E\=D^-|XBTBx n0(L=CR?=BfC=Cd=Cr@dnAdjED??RGRF=GN=FPtGJ=BttBft=Bh=Bv|OpЇЇb KN222-InHVMN,_Nup NT KpNN @ <}N&IaN6bN @&XaI`N?<NNT @"K <}Nu @HPN _"X0|Jg2zf.HPEJH LppJ$_44&b'JJ|NHD'BNNupNup e0@ nt pT"X PfXLNupNp e0@ nt p"X PfXHVMN$N 4 4 4 4 4$ 4 4$ 4 4 4 4 4$ 4 4 4$ 4 4 4L?H?,_NuNHV,@,_Nu   FgBSN|gS@ H{ -FgXN W@ -FgF Mg4N W -FgN W HAAǨ20i0d R@`RN W?< NN\ -FgN)g0Q@kg$Q@kHzt`.Hz`(HzQ`"Hz@`HzQ`Hz`Hz` Hz`Hz _O~Nu _f"_#HT/?<` Hz `j _f"_#HT`Hzl`NHzz`Fp fHP?2(A"nJf#p` _ fX`Hz`r( (eA(A"nJgHzp`"0ёJWg`~ W gv W"gn W$gfgHz[`Hz<`(t(gB( e"n`"nBJ fP# `f<(t(gB( e"nv"`"nv$BJ f# HP?`Hz |`(Hz ` 2|"g|$g HyO`\`"OYgJf`"O Y gXeHz ` nPp2(|g|gT|g²|g`~O n"n`VeNuvC e6C"n&10xȃDNuag"CgHPbI~|L|gD|g>|g>|(g0|,g0|Le ||e |c$e _gfBHz `RR`SS`Sj`afgBD|1D~"CL|g:|g4|g.|g(|g"|(g|,g&|Le ||e"|c `JgBHz }`Hz `R`Sj`p`(NJBj[BNHZBNHa"< @Ё`a"<-JjЁk`ddReaDBNu$⊰e v@Cr4<L`ЄQJftNuSBЀjNu;ew2Ƕ '\ a0Mj&l g:~lm٬26K! #H%lo'n)7+P-?/2zE4B6Z8:\V<>=@AĄCdE^GIjK<MFQNPRFISU[WKXZy\S]_^`Rb cyd݉Pf9:gnhdj7kYl mznoqm>r us ttuavw&IUGj -FfNuSGkpg< g<gt<Pf<Ug <DfQ\`P\`<Cf <Ofa2NH=@prtN|`<TffaH8`<Lf<TfaDBL88/N*.`ְ<Rf <Tfa`ް<Ff<DfaHa`HL8a*/aBL8a,&.Dg L0HaL8 aH <Пa L8a&.Pg L0TaL8,aH,aHJ.\fprtN|`<Bf<KfaDB`L<Mg<DfZ<Ag<Rf԰<MV<AVaHaJgL8 afH aJgL8,aPH,Jg`b<Sf<Xg<YfaJBfpHP`bazJBftHD`/N6.Nu/N*.NuL,an&?L an&2NuJBkRBNHdRNuSB`tNu -Fg 7f RN~NuN &I>SGk< g<,g<;gSRG K /N9.JkȞHNuNrd A LNu.\f <r4<NutNuNH NH,NH8NuA#H a,a>LPNuH aaLPNu pANpNpg0@|YA;AAl p"p Y Qf//  gRp mfNְcp N=@HS@M<rfdRt<eBRB|AA\ p p "X Pfb <bRAN| g kQ`2Q`"Q FgNְd/@p -Fg0g0@ nt p$X Pf d/@ $@zlxd fzoxc&_"Sp~| eEKDDRDtDD Dl|fLp/HzH .rMfCT`"{p8, g| {pNuT&dزzڲNtDؠL4 fd$R$&k(*ڄNdNjRofNuHe(*NdN$&Rgp$(؁*Ne*(NdN(*Ro2(NdS(So&*NdD*RRNf$f$SB`S(l//"a R"mxNupЂmlNu,..3xhNu,.*sh'xh'xNu,.*sh'xh'x*rh%xh%xNu,.܆އ>3xshNu,.܆އ:sh7xh7xNu,.܆އ:sh7xh7x܆އ*rh%xh%xNu3X3HNu,.*rh%xh%x3HXHXNu,.܆އ܄ޅ܆އ(sh*sx<3h>3x?Fc>HHnHSGk Vf>FNuTNuHANpr,.܆އ܄ޅ܆އ(sh*sx<3h>3x?Fc>HHnHSGk00Vf >FLNuTLNu,.܆އ܄ޅ܆އ*sh'xh'x:sh7xh7xNu,.*sh'xh'x*sh'xh'xNu,.*rh%xh%x܆އ*sh'xh'x*sh'xh'xNu,.*rh%xh%x܄ޅ܄ޅ*sh'xh'x:sh7xh7xNuv" [0gt@C!(Q꒼jNuH <3Ho">3XoDFf,3XHf<3XsHL0Nug">3Xl Ff,3HXf<3HsXL0Nu>3X||F`Select fehltEndselect fehltMll - Editor FehlerWend fehltUntil fehltLoop fehltNext fehltWhile fehltRepeat fehltDo fehltFor fehltEndif fehltIf fehltExit ohne SchleifeReturn fehltProcedure in SchleifeProcedure doppeltEndfunc fehltFunction in SchleifeFunction doppeltProcedure fehltMarke doppeltLocal nur in ProcedureLocal nicht in SchleifeGoto in/aus For-Next oder ProcedureResume in For-Next-SchleifeResume ohne ProcedureKein Resume in FunctionFunction fehltNeue VariableNeue ProcedureNeue FunctionNeues Label Neue Namen [2][Inline lschen ?][Ok|Error]Division durch NullberlaufZahl nicht Integer|-2147483648 .. 2147483647Zahl nicht Byte|0 .. 255Zahl nicht Wort|-32768 .. 32767Quadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll Funktion oder Befehl|noch nicht mglich String zu lang|max. 32767 Zeichen Kein GFA-BASIC-3.0-Programm Programm zu lang|Speicher voll|NEW Kein GFA-BASIC-Programm|EOF - NEWFeld zweimal dimensioniertFeld nicht dimensioniertFeldindex zu groDim zu groFalsche Anzahl IndizesProcedure nicht gefundenLabel nicht gefundenBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFZu viele Punkte fr|Polyline/Polyfill|maximal 128Feld mu eindimensional seinAnzahl Punkte grer als FeldMerge - Kein ASCII-FileMerge - Zeile zu lang - Abbruch ==> Syntax nicht korrekt|Programmabbruch!Marke nicht definiert"Zu wenig Data#Data nicht numerisch%Diskette voll&Befehl im Direktmodus|nicht mglich'Programmfehler|Kein Gosub mglich(Clear nicht mglich in|For-Next-Schleifen oder|Proceduren)Cont nicht mglich*Zu wenig Parameter+Ausdruck zu komplex,Funktion nicht definiert-Zu viele Parameter.Parameter falsch|keine Zahl/Parameter falsch|kein String0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschAFeldgre < 256BKein VAR-ArrayCASIN/ACOS falschDFalsche VAR-TypeEENDFUNC ohne RETURNGIndex zu groZFehler bei Local[Fehler bei For\Resume (next) nicht mglich |Fatal, For oder Local]Stapel-FehlerdGFA-BASIC Version 3.04 D| Copyright 1986-1988|GFA Systemtechnik GmbHf2 Bomben - Bus Error|Peek/Poke falsch?g3 Bomben - Adress error|Ungerade Wort-Adresse!|Dpoke/Dpeek, Lpoke/Lpeek?h4 Bomben - Illegal Instruction|ungltiger Maschinenbefehli5 Bomben - Divide by Zero|68000 Division durch Nullj6 Bomben - CHK-Exeption|68000 CHK-Befehlk7 Bomben - TRAPV-Exeption|68000 TRAPV-Befehll8 Bomben - Privilege Violation|68000 Privilegverletzungm9 Bomben - Trace Exeption|68000 Trace ohne MonitorAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler[1][Wollen Sie den Interpreter|wirklich verlassen?][Ja|Nein][1][Programmende][Return][2][Programmstop?][Stop|Cont][2][Druckerlisting?][Ja|Nein][2][NEW - Programm Lschen?][Ja|Nein] Syntax Fehler Zeile zu langAsOkH 6&* & "$ rR V  0tb8,8&8DFV n*tH  < $,~l(Xv"6@( ^$68j,D 4d xN ,  2"0:PF @xhvN T & @20J X0& NjLDies ist die Anleitung zum Public-Domain Programm Directory-Analyser. Es ist geschrieben von Bit-Soft Werner Hamsink Boomkamp 87 4432 Gronau Es darf frei kopiert, gendert oder ausgeschlachtet werden. Falls Sie es nur kopieren, bitte ich Sie fairerweise zwei Dinge zu beachten: - Lassen Sie bitte meinen Namen im Programm stehen. - Kopieren Sie bitte diese Anleitung mit. Das Programm ist in GFA-Basic 3.0 geschrieben. Deshalb liegt auch der Run-Only- Interpreter von GFA 3.0 bei. Den sollten Sie wohl auch besser mitkopieren. Sollten Sie mitlerweile den entsprechenden Compiler haben, knnen Sie das Programm natrlich auch compilieren. An dieser Stelle mein Dank an GFA-Systemtechnik fr Ihr wirklich tolles Basic und an die Data-Becker Autoren Uwe Litzkendorf und Udo Onnen, ohne deren Bcher ich es nicht geschafft htte, dieses Programm zu schreiben. Jetzt zwei Einschrnkungen: Dieses Programm luft nur in der hohen Auflsung, also nur mit dem Monochrom- Monitor! Das liegt an meiner selbstgebastelten Benutzeroberflche und ist eigentlich schlechter Programmierstil. Wenn Sie eine Harddisk haben, hilft Ihnen dieses Programm leider nicht dabei. Ich habe nmlich keine Harddisk und deshalb auch keine Ahnung von dem Ding. Ansonsten mte das Programm eigentlich berall laufen. Meine Accessories laufen auch einwandfrei. Da sollte es also auch keine Probleme geben. Was macht man nun mit dem Programm ? Gute Frage. Ich habe es geschrieben, weil ich ab und zu etwas in der Directory herumpfuschen wollte. Ich wollte z.B. den Namen eines Ordners oder das Disk- Label ndern. Oder ich wollte das Datum einer Datei neu setzen, weil das Original-Datum beim Kopieren verloren gegangen ist. Oder ich wollte das File- attribut einer Datei ndern, weil ich z.B. immer meine DESKTOP.INF Datei ver- stecke (strt ja auch nur). Das kann man zwar auch alles mit einem Diskmonitor haben, aber wenn Sie schon mal versucht haben, da ein neues Datum einzugeben, dann wissen Sie Bescheid, wie kompliziert das ist. Deshalb das Programm. Und wie macht man das ? Zunchst startet man das Programm (ach was!). Es erscheint dann natrlich eine kleine Meldung, die mich erwhnt. Genau dieselbe Meldung erhalten Sie auch, wenn Sie den einzigen Menupunkt (abgesehen von den Accessories) unter ANALYSER anklicken. Unter dem Menpunkt DRIVE sehen sie die beiden Eintrge DRIVE A und DRIVE B, mit denen Sie whlen knnen, in welchem Laufwerk Ihre Disk liegt. Das Laufwerk A ist vorgewhlt. Eine Box besttigt Ihre Wahl. Wenn Ihnen die Box auf die Nerven geht, weil sie etwa 5 Sekunden auf dem Bildschirm bleibt, knnen Sie das Ding mit einem Maus-Klick auch frher entfernen. Der nchste Menpunkt heit DIRECTORY. Hier knnen Sie whlen, ob Sie die Haupt-Directory (heit hier Root-Dir.) oder ein Ordner-Verzeichnis (heit hier Sub-Dir.) untersuchen wollen. Auch hier erscheinen wieder Besttigungsboxen, die Sie wie die Boxen bei DRIVE wegklicken knnen. Mit ANALYSIEREN starten Sie dann die eigentliche Arbei, dazu gleich. Der letzte Menpunkt heit PROGRAMM und der einzige Eintrag ENDE. Das ist also offensichtlich der Ausgang des Programms. Nun also zur Analyse: Wenn die Haupt-Directory untersucht werden soll, wird es sofort geladen. Wenn Sie einen Ordner unter die Lupe nehmen wollen, so mssen Sie erst einmal die richtige Ordner-Ebene whlen. Die Auswahl-Box hierfr ist eigentlich genauso zu bedienen, wie die gute alte Fileselectbox. Sie knnen auch hier das Haupt- Directory whlen, kein Problem. Wenn Sie das Schlie-Feld des Fensters anklicken, wird der Vorgang abgebrochen und Sie sind wieder im Men. Wenn Sie OK anklicken, wird die Directory geladen. Sie bekommen jetzt eine Liste der Directory-Eintrge. Wenn es zuviele sind, knnen Sie mit dem Rollbalken des Fensters rauf und runter scrollen, ich nehme an, Sie haben sowas schon mal gesehen. Wenn Sie das Schliefeld anklicken, kommen Sie zurck zum Men. Wenn Sie mit- lerweile etwas gendert haben, wird jetzt das genderte Directory zurckge- schrieben. ACHTUNG: Es gibt keine Mglichkeit das zu verhindern. Das ist zwar schlechter Stil, aber mir ging die zustzliche Abfrage nur auf die Nerven, und ich habe Sie deshalb wieder entfernt. Wenn Sie etwas verndern wollen, dann klicken Sie einfach den entsprechenden Eintrag an. Es erscheint ein neues Fenster, in dem die Informationen zu diesem Eintrag einzeln dargestellt sind. Den Wert des File-Attributs ndern Sie einfach, indem Sie die entsprechenden Boxen im unteren Teil anklicken. Damit werden die einzelnen Flags gesetzt bzw. gelscht. Einige unsinnige Kombinationen werden allerdings nicht zugelassen. Wenn Sie den Namen, die Zeit oder das Datum ndern wollen, klicken Sie einfach den entsprechenden Eintrag an und editieren ihn dann. Das sollte weiter keine Probleme bereiten. Im unteren Teil gibt es dann noch ein OK- und ein ABBRUCH-Feld. Wenn Sie Abruch whlen, werden Ihre nderungen nicht bernommen. Wenn Sie OK whlen, werden die nderungen bernommen und abgespeichert, wenn Sie zum Men zurckgehen. Mit beiden Feldern kommen Sie wieder zur Analyse der gesamten Directory zurck. ACHTUNG: Sie sollten auf keinen Fall die Diskette wecheln, whrend Sie analy- sieren. Darauf nimmt das Programm nmlich keine Rcksicht. Es schreibt bei Vernderungen die Directory dann auch auf die neue Disk. Solange Sie im Men sind, knnen Sie die Disk aber wechseln, sooft Sie wollen. Noch etwas: Wenn jemand einen Fehler entdeckt und mir mitteilen mchte, eine ganz tolle Idee fr das Programm hat oder mir eine Drohbrief schreiben mchte, hier noch- mal meine Adresse: Werner Hamsink, Boomkamp 87, 4432 Gronau So, und jetzt analysiert mal schn! . <U\.. <UDISKUTILACC =U]8DISKUTILPRG BUl7README EUz `) KByBJ$f"O/95?<HNA\OJg.@5`@RyB m A#8 5"ҍ¼.A// Bg?<JNA #C yC/(,HhNP/9B/98?96NNNT?<NNVN36Hy2?96N" \3CNN2NN^NuNuNVHy)N#@XJ@f0<`Hy8BgBgN"PJ@f0<`HyC?<BgN"PJ@f0<`HyC?<BgN"PJ@f0<`HyC?<BgN"PJ@f0<`Bn`(0.H/ </N  yCp Rn0.@A2|00=@J@nBn`(0.H/ </N  yCp Rn0.@A200=@J@n0<N^NuNV`NHnN fX0.`.0.yCfN`$0.yCfN<`` |(gΰ|)g0<fN^NuNVBgN!T?<?<BgBg?<?<BgBgBgN O?<?<BgBg?<?<BgBg?<N O32z?.=|\A6"HPgXHf0(LN^NuNVHHy6T/.N PfBG`Hy6Z/.N Pf><`Hy6`/.N Pf><`0. |gR0. |?/.?<=NjP>J@m 0. |g&JGm??<>NjXBg/.?<`j0. |gD0. |?/.?<=NjP>J@m"??<>NjXBg/.?<`0. |?/.?<=NjP>JGl 360<`?. ?NlX0LN^Nu o/ fpJWf ` <gf `SNuNV/.?<HNj\-@ .f-|36 .N^NuNV0./NXN^NuNV . @"n rJWfSWfN^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNVH*n(n >.&MNqSG0J@mf`BSG0J@l L8N^NuNVH*n (MBn ng?.NT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NjO <Hg 360<`dA&H0f~ =@`J/ 0./?.?<@NjO -@2.¼g .360<` .n0.L8N^NuNV?<N"T0<N^NuNVAC#CAB#CAB#CAC&#CAC#CA6#CAC#C?< N"T3C&C09CN^NuNV#C?<N"TN^NuNV3B# C?<4N"TN^NuNV#C?<6N"T n 0C( n0C* n0C, n0C.09C&N^NuNV3B3 B3 B3B3B3B3B3B3B nf 36363636?<3N"TN^NuNV n06 n 06 n06 n06N^NuNV#C3 B?<2N"TN^NuNV#C# C?<ZN"T n0C(09C&N^NuNV3B# C?<NN"TN^NuNV3B# C?<#N"TN^NuNV#C3 B3B3B3B3B3B?<*N"TN^NuNV3B3 B3C?<pN"TByC n 609C&N^NuNV3C0.| A(HЈ-@=|` nR2.AACH1Rn nm/9CN'X09C&N^NuNVH?<$Hn/.N&O .6.HЃ-@ .3B .3BBG`0HЮ @ Ю RG0nm .6.HЃ-@BG`0H/ </N  n00`.0H/ </N Ю @ ( Ю!@ `8`6|gΰ|gȰ|g°|g|g|g|g|g| g?/.N)j\RG0nmd .6.HЃ-@BG`v0H/ </N Ю @ Ю 0H/ </N Ю @ (Ю!@0H/ </N Ю @ (Ю!@RG0nm .6.HЃ-@BG`0H/ <"/N  n 0Ю2H/"<"/N" n!0H/ <"/N  n 0Ю2H/"<"/N" n!0H/ <"/N Ю @ (Ю!@RG0nmN .6.HЃ-@BG`B0H/ </N  n 0Ю2H/"</N" n!RG0nm0<LN^NuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LNjXN^NuNV n"n 2.HbL0|f |f`( |g `Q`fA`2Q`XA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV?.NTJnn0<`,?.?<>NjX=@g360<``0<NqN^NuABCXyC !J"/0<NBYyCABC"P$hNu NV#C3 B?<rN"TN^Nul$,Dateien lschenVorm Lschen anfragen ?JaNeinlschenAbbruchDisketten-AccessoryEine kleine Hilfe fr fehlenden Speicherplatz(c)1989 Fachschaft Elektrotechnikder Universitt KarlsruheDisk formatierenaaaaaaaaaaaaaaaAbbrechenDateien lschenEine kleine Hilfe fr GEM-Programmedenen der Diskettenplatz ausgegang-en ist.Hier die gewnschte Aktion whlen:Diskette formatieren:FS_ETEC DSKDisk-Name: ________.___FFFFFFFFFFFAbbrechenformatierenLaufwerk:ABDisk-Format:NormalExtendedSeiten:12Diskette in Arbeit:0Seiten-Nr. : _900Track-Nr. : __990000Defekte : ____9999$4eyz)"$   $,1EFHZ\_qty ( $5$U']XPM  ($!$ 8  $ T  %# ,% I# m u "  $p             XXX-  1/  4(P,|l*.*A:*.*  Disk-Aufrumer[3][Es fehlen 10kB Speicher !][ABBRUCH][3][Soll eine zustzliche ber-|prfung erfolgen ?|(v.a. ratsam bei fehler-|haften Disketten !)][Ja|Nein][3][Es wurden 0000 defekte|Sektoren gefunden (und|eingetragen !)][Weiter][3][Das Formatieren lscht|alle Daten auf der Disk|im Laufwerk A:\ !|B:\ !|Soll formatiert werden ?][Ja|Nein][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Soll das File|''|wirklich gelscht werden ?][Ja|Nein][3][DOS-Fehler #- !][ABBRUCH] 6h CON:AUX:PRT: $     *(&&"&  $&  "&"    $$$   Bbp&"(    (    ^    "     " "     .$   >"  (l@ (X&>&. . 4&f.,*   ."(L܀8 (             &(L"Z6$(H""H"r `( KByAJ$f"O/94H?<HNA\OJg.@4H`@RyA m A#7J4H"ҍ¼.A// Bg?<JNA #B yB/(,HhNP/9B*/97F?95N>NNT?<NNNVN35NNNlN^NuNuNVHy(N"XJ@f0<`Hy7RBgBgN!PJ@f0<`HyC,?<BgN!PJ@f0<`HyB?<BgN!PJ@f0<`HyBP?<BgN!PJ@f0<`Bn`(0.H/ </NN  yC,p Rn0.@A100=@J@nBn`(0.H/ </NN  yBp Rn0.@A100=@J@n0<N^NuNVN&N^NuNVBgN!vT?<?<BgBg?<?<BgBgBgN jO?<?<BgBg?<?<BgBg?<N jO31?X*@f <`(M)G P/NtX 95L0N^NuNVH .<".PS/"</N%"Xށ 95(@JfA5 (@#5#5B5*T -e* -f(`  -+G#5 P`( 5f/N"X*@Jf <`(M*U`L0N^NuNV0./NXN^NuNVH .f`v .Q*@(y5` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#5L0N^NuNVBn`<0.@A500f&0.@A510.@A51 ` Rn nmN^NuNVBn`*0.@A500nf0.@A5BpRn nmN^NuNVH>.=|\A5"HPgXHf0(LN^NuNVHHy5/.NPfBG`Hy5/.NPf><`Hy5/.NPf><`0. |gR0. |?/.?<=NP>J@m 0. |g&JGm??<>NXBg/.?<`j0. |gD0. |?/.?<=NP>J@m"??<>NXBg/.?<`0. |?/.?<=NP>JGl 350<`?. ?NX0LN^Nu o/ fpJWf ` <gf `SNuNV/.?<HN\-@ .f-|35 .N^NuNV0./N>XN^NuNV . @"n rJWfSWfN^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNVH*n(n >.&MNqSG0J@mf`BSG0J@l L8N^NuNVH*n (MBn ng?.NT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NO <Hg 350<`dA&H0f~ =@`J/ 0./?.?<@NO -@2.¼g .350<` .n0.L8N^NuNV?<N"(T0<N^NuNVAC#CAB #CAB.#CABf#CABZ#C"A5#C&AC#BT?< N"(T3BfC09CN^NuNV3B.# BZ?<4N"(TN^NuNV#BZ?<6N"(T n 0Bh n0Bj n0Bl n0Bn09BfN^NuNV3B.3 B03 B23B43B63B83B:3B<3B> nf 35353535?<3N"(TN^NuNV n05 n 05 n05 n05N^NuNV#BZ3 B.?<2N"(TN^NuNV#BZ# B^?<ZN"(T n0Bh09BfN^NuNV3B.# BZ?<NN"(TN^NuNV#BZ3 B.3B03B23B43B63B8?<*N"(TN^NuNV3B.3 B03C ?<pN"(TByC n 509BfN^NuNV3C0.| A'dHЈ-@=|` nR2.AACH1Rn nm/9BTN'(X09BfN^NuNVH?<$Hn/.N&,O .6.HЃ-@ .3B .3BBG`0HЮ @ Ю RG0nm .6.HЃ-@BG`0H/ </NN  n00`.0H/ </NN Ю @ ( Ю!@ `8`6|gΰ|gȰ|g°|g|g|g|g|g| g?/.N(\RG0nmd .6.HЃ-@BG`v0H/ </NN Ю @ Ю 0H/ </NN Ю @ (Ю!@0H/ </NN Ю @ (Ю!@RG0nm .6.HЃ-@BG`0H/ <"/NN  n 0Ю2H/"<"/NN" n!0H/ <"/NN  n 0Ю2H/"<"/NN" n!0H/ <"/NN Ю @ (Ю!@RG0nmN .6.HЃ-@BG`B0H/ </NN  n 0Ю2H/"</NN" n!RG0nm0<LN^NuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LNXN^NuNV n"n 2.HbL0|f |f`( |g `Q`fA`2Q`XA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV?.NTTJnn0<`,?.?<>NX=@g350<``0<NqN^NuAABXyB !J"/0<NBYyBAAB"P$hNu NV#BZ3 B.?<rN"(TN^Nul$,Dateien lschenVorm Lschen anfragen ?JaNeinlschenAbbruchDisketten-AccessoryEine kleine Hilfe fr fehlenden Speicherplatz(c)1989 Fachschaft Elektrotechnikder Universitt KarlsruheDisk formatierenaaaaaaaaaaaaaaaAbbrechenDateien lschenEine kleine Hilfe fr GEM-Programmedenen der Diskettenplatz ausgegang-en ist.Hier die gewnschte Aktion whlen:Diskette formatieren:FS_ETEC DSKDisk-Name: ________.___FFFFFFFFFFFAbbrechenformatierenLaufwerk:ABDisk-Format:NormalExtendedSeiten:12Diskette in Arbeit:0Seiten-Nr. : _900Track-Nr. : __990000Defekte : ____9999$4eyz)"$   $,1EFHZ\_qty ( $5$U']XPM  ($!$ 8  $ T  %# ,% I# m u "  $p             XXX-  1/  4(P,|l*.*A:*.* [3][Es fehlen 10kB Speicher !][ABBRUCH][3][Soll eine zustzliche ber-|prfung erfolgen ?|(v.a. ratsam bei fehler-|haften Disketten !)][Ja|Nein][3][Es wurden 0000 defekte|Sektoren gefunden (und|eingetragen !)][Weiter][3][Das Formatieren lscht|alle Daten auf der Disk|im Laufwerk A:\ !|B:\ !|Soll formatiert werden ?][Ja|Nein][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Soll das File|''|wirklich gelscht werden ?][Ja|Nein][3][DOS-Fehler #- !][ABBRUCH] 5 CON:AUX:PRT: $     *("&  $&  "&"    $$$   Bbp&"(    (    ^    "     " "     .$   >"  (l@ (X&>&. . 4&f.,*   ."(L܀8 (           &(L"Z6$(H""H"r  |-----------------------------| | DISKUTIL(ity) | |-----------------------------| Das Programm ist als Public Domain gedacht, und somit frei kopierbar ! Es ist sogar gleich zweimal vorhanden: 1. als Accessory: fr all jene, denen erst dann einfllt, da sie keine freien Disketten mehr haben, wenn sie sie zum Abspei- chern einer Datei von einem Programm aus bruchten. 2. als Programm: hier kommt wohl hauptschlich die Formatier-Routine als ntzlich in Betracht. Als Features sind enthalten: 1. eine Routine zum LSCHEN VON FILES : Wer nicht gleich eine ganze Disk frei hat, kann hiermit ersetzbare oder nutzlose Files lschen. Die Routine ruft die Fileselektor-Box auf. Dann knnen entweder einzelne Files oder auch WILDCARDS angege- ben werden. Vorm Lschen wird, wenn dies erwnscht ist, jeweils noch angefragt. 2. eine Routine zum FORMATIEREN VON DISKETTEN: hier sind, neben der fast schon standartmigen Wahl zwischen 360/720kB oder 410/820kB, auch noch zwei SEHR ntzliche Schelchen dabei: - DEFEKTE SEKTOREN, die beim Formatieren entdeckt werden, werden in der FAT der Disk auch als defekt EINGETRAGEN. D.h.: die Disk kann genauso wie jede andere weiter ver- wendet werden, nur da eben ein oder mehrere Cluster be- reits "belegt" sind. Da die Formatier-Routine des XBIOS aber nicht alle defekten Sektoren entdeckt, v.a. dann, wenn man die Disk mehrmals formatiert hat, habe ich noch eine - ANALYSE-Routine draufgegeben, die man wahlweise auch noch ber die Disk laufen lassen kann. Die Routine ist nicht wesentlich langsamer als das Formatieren, solange keine Schreib/Lese-Fehler entdeckt werden. Die Routine ist erkennt selbst jene Fehler, welche die Formatier-Routine "bersehen" hat. Dann bleibt mir nur noch zu hoffen, da Ihnen/Euch mein Programm auch was nutzt. h, noch was: Bitte schickt mir die lppischen 10.- DMchen, denn ich hab' schlielich auch'n paar Stunden Arbeit da 'reingesteckt. Wr' echt nett ! . HU}.. HUFILEMON ANL IU~FILEMON C LUm^FILEMON DOC PUFILEMON TOS SU ? Kurze Anleitung fr FileMon V1.0 -------------------------------- Beim Start werden Sie nach dem zu bearbeitenden File gefragt, es sei denn, Sie deklarieren das Programm als .TTP oder starten es mit Parameter aus einem Kommandointerpreter/einer Shell. Dann geben Sie einfach das zu bearbeitende Programm als einzigen Parameter an. Nun sehen Sie zuerst nur eine merkwrdige Zeile und (hoffentlich!) einen blinkenden Cursor. Die Zeile enthlt: Verfgbare Befehle *Modus*Offset*EOR-Byte* > Eine wichtige Option: "?" bringt aus der Kommandozeile heraus das Hilfe-Men, in der man die komplette Befehlsstruktur nachlesen kann. Nach jeder Eingabe mssen Sie RETURN drcken; bitte machen Sie keine zu langen Zeilen, da nur bis zu 70 Zeichen vorgesehen sind. Ein Befehl sieht so aus: Xa b c d Hierbei sind a,b,c,d die Parameter; verlangt ein Befehl weniger als 4 Parameter, so sind entsprechend weniger anzugeben.X ist der Befehl. Der Monitor arbeitet grundstzlich im Hexadezimalsystem; Fehler bei der Eingabe von Hex-Zahlen werden nicht gemeldet, also aufpassen!! Nun zu den einzelnen Befehlen: Q(ohne Parameter) bewirkt, da Sie das Programm ohne weitere Umstnde verlassen. Haben Sie Ihr Programm zu diesem Zeitpunkt noch nicht abgespeichert, so ist das Pech; gewarnt wird nicht. ? (ohne Parameter) Hilfe. Da b gibt Dump von a bis b. Wird b weggelassen, so gibt es etwas weniger als einen Bildschirm; sind Sie am Ende des Files, so kommt gar nichts. wird a weggelassen (also auch b!), so wird ab der letzten Adresse gedumpt. Im Modus X sehen Sie die gewohnte Darstellung, im Modus T wird nur Text angezeigt, dafr aber wesentlich mehr! Der Text wird dabei zu Offset addiert und "geEORt", Bytes nicht. Fa b c d Findet Text bzw. Bytes von a bis b, wobei mit addiertem Byte c begonnen wird, dann mit c+1,..,d. Mit F0 10000 0 FF durchsucht man so ein Programm recht grndlich (und zeitintensiv) nach Auftreten von versteckten Texten. Lt man c,d weg, so wird mit dem momentanen Offset gesucht. Lt man auch noch a,b weg, so wird von Anfang bis Ende gesucht. Nun erscheint die Frage: wonach soll gesucht werden? Im Modus X: nach Bytes, die Sie einzeln (jeweils mit ) eingeben und mit einer Leerzeile (nur RETURN) abschlieen. Im Modus T: nach Text, den Sie in einer Zeile eingeben. Wildcards sind nicht vorgesehen, dafr wird etwas schneller gesucht. Abbrechen kann man die Suche mit ESC, das man u.U. fters drcken mu. Ga b c d Wie F, nur da nun mit konstantem Offset gesucht wird. Das EOR-Byte luft nun von c bis d. Ha b Hexadezimalarithmetik: gibt a+b und a-b aus. La b Disassembliert von a bis b, wird b weggelassen, dann ca. einen 3/4 Bildschirm; wird a weggelassen, dann ab letzter Adresse. Siehe DOC-File fr Einzelheiten. Oa Setzt den Offset fr Dump und Settext. Ea Setzt das EOR-Byte fr Dump und Settext. Sa b Settext: die gefhrlichste Option!! Hier entscheidet sich in Sekunden, ob die bisherige Arbeit an Ihrem File fr die Katz ist. Vergewissern Sie sich, da Offset und EOR-Byte auf dem gewnschten Wert sind! (im Modus Byte unbercksichtigt). Modus T: Sie geben den neuen Text ein, wobei Sie beliebig viele Zeilen tippen drfen (RETURN wird also nicht ins File bernommen). Zum Abschlu tippen Sie eine Leerzeile, dann kommt die Frage nach einem Abschlubyte (z.B. 0 fr C-Strings), das ohne Addition von Offset bernommen wird. Zahlen grer als FF fhren dazu, da das Byte nicht geschrieben wird. Modus X: Sie tippen Ihre Bytes einzeln (mit RETURN) ein, wobei links Adresse und alter Inhalt zu sehen sind. Zum Abschlu geben Sie auch hier eine Leerzeile ein. T(ohne Parameter) Schaltet in den Textmodus. X(ohne Parameter) Schaltet in den Hex-Modus. Wfilename.ext Schreibt das genderte Programm zurck. Mit ESC kann man die Optionen D,L,F,G abbrechen; leider mu man oft ganz schn auf der Tastatur herumtippen, bis Turbo C endlich das ESC an das Programm weitermeldet... Das war's schon! Also viel Spa mit dem etwas sprden Programm! C. Peppermller /* FileMon V1.0 (C) 1989 C.Peppermller P u b l i c D o m a i n Achtung! Bei vielen nderungen dieses Quelltextes knnen unerwnschte Seiteneffekte auftreten! geschrieben mit Turbo-C V1.0 */ /* Libraries ... */ #include #include #include #include #include #define putstr(a) fputs(a,stdout) /* Stringausgabe ohne Zeilenvorschub */ /* Fr schnelle nderungen hier alle wichtigen Texte, bis auf die Prozessorbefehle, die so bleiben sollten, wie sie sind. */ #define txt1 "Ein Parameter langt." #define txt2 "Auf Wiedersehen!\x1B""f\x1Bw" #define txt3 "Tsch!\n\x1B""f\x1Bw" #define txt4 "\x1B""E\x1B""e\x1Bv\n" \ "************************************************\n" \ "* *\n" \ "* FILEMON V1.0 - der ultimative File-Manager *\n" \ "* zum Patchen + Textsuchen *\n" \ "* (C) 1989 Christian Peppermller *\n" \ "* P u b l i c D o m a i n *\n" \ "* *\n" \ "************************************************" #define txt5 "?DEFGHLOQSTWX" #define txt6 "\nBitte den Filenamem: " #define txt7 "Von Kommandozeile: " #define txt8 "Nanu - File nicht gefunden !" #define txt9 "Oh - Kein Speicher." #define txt10 "Nanu - kann File nicht lesen !" #define txt11 "Filelnge: $%6lX\n" #define txt12 "\x1b""E\n" \ "***************************************\n" \ "* Hilfe - FileMon *\n" \ "***************************************\n\n" \ "? Diese Hilfe.\n" \ "X,T Wechselt zu Modus HEX (X) oder TEXT (T).\n" \ "D{a {b}} Dump von a bis b; Text mit of/ox.\n" \ "Wfilename Sichert das (vernderte) File.\n" \ "Oof Setzt Offset fr Text bei D und C.\n" \ "Eox Setzt EOR-Byte fr Text bei D und C.\n" \ "Sa {b} ndert Text/Bytes von a bis b; im\n" \ " Modus T: of/ox. Extra-Byte absolut.\n" \ "F{a b {o1 o2}} Sucht Text/Bytes von a bis b mit Offset\n"\ " + text/bytes o1 bis o2. Text mit ox !\n" \ "G... wie F, aber mit EOR-Byte von o1 bis o2.\n"\ "Ha b liefert a+b a-b (Hex-Arithmetik).\n" \ "L{a {b}} Disassembliert von a bis b.\n" \ " a,b: HEX-Langworte bzgl Filebeginn.\n" \ " of,ox,o1,o2: HEX-Bytes. {}:Optional.\n" \ " filename,text: ASCII-Text. bytes: bis zu 78 HEX-Bytes.\n"\ " Kommandozeile: Kommandos, Modus (X/T), of , ox .\n" #define txt13 "Offset gendert." #define txt14 "Eor-Byte gendert." #define txt15 "Nanu - Kann File nicht zum Schreiben ffnen !" #define txt16 "Achtung - File gekrzt (Disk voll?) !" #define txt17 "Nanu - Kann File nicht schlieen !" #define txt18 "%s in $%lX Bytes abgespeichert.\n" #define txt19 "mehrzeilige Texteingabe. Ende durch Leerzeile." #define txt20 "Nun noch das absolute HEX-Endbyte ( keins):" #define txt21 "Eingabe: Byte1 ,.., Ende: Leerzeile." #define txt22 "Suche Text: " #define txt23 "Suche: Byte ,..; Suche starten mit Leerzeile." #define txt24 "\nBytes/Text gefunden " #define txt25 "\nAbbruch " #define txt26 "bei $%6lX mit Offset $%2X .\n" #define txt27 "bei %6lX mit EOR-Byte $%2X .\n" #define unbekannt "unknown" /* alles ... */ /* Funktions-Prototypen ( ANSI-C... ) */ int filopen (long a,int b,char *c); char menu (void); void init_all (void); void dump (void); void save (void); void change (void); void search (char a); void help (void); void offset (void); void xorset (void); void hex (void); void founds (long a,int b,int c,char d); int ausw (char *a,int b,long *c,long d); void disassemble (void); void disass (void); unsigned int getword (void); char *branch (unsigned int a,int b); char *getlen (int a); void addr (char *a,unsigned int b,unsigned int c); void movemreg (char *a,int b); unsigned int qnum (unsigned int a); /* Ein paar Variablen */ unsigned char *filstart,*physfilbuf,*curbyte,*cmdlin,*cmdlist; char bufstr[70],dat1[30],dat2[30],opt; long flen,physflen,an,en,PCcount,h1,h2; unsigned int cmdw,art,adr1,reg1,adr2,reg2; int ofs,xorb,cmdlen; /* Hier das Hauptprogramm */ int main(int argc,char *argv[]) { char c; init_all(); if (argc>2) puts(txt1); do { h1=filopen(h1,argc,argv[1]); } while ((h1>0) && (h1<4)); if (h1) { puts(txt2); return (-1); } do{ rewind (stdin); c=menu(); switch(c) { case'D': dump(); break; case'W': save(); break; case'S': change(); break; case'L': disassemble(); break; case'G': case'F': search(c); break; case'X': case'T': opt=c; break; case'?': help(); break; case'H': hex(); break; case'O': offset(); break; case'E': xorset(); } } while (c!='Q'); puts(txt3); free(physfilbuf); return(0); } void init_all() { puts(txt4); opt='X'; h1=an=en=ofs=xorb=0; rewind(stdin); cmdlist=txt5; return; } /** filopen() liest zu bearbeitendes File ganz ein. **/ int filopen(long mode,int compar,char argum[]) { int handle; long tst; if (mode || (compar<2)) { putstr (txt6); gets (bufstr); } else { strcpy (bufstr,argum); putstr (txt7); puts (bufstr); } if ((handle=Fopen (bufstr,0))<0) { puts (txt8); return(++mode); } physflen=Fseek (0L,handle,2); Fseek (0L,handle,0); physfilbuf=malloc (physflen+70L); if (physfilbuf==NULL) { Fclose(handle); puts(txt9); return (-1); } tst=Fread (handle,physflen,physfilbuf); Fclose (handle); if ((physflen<=0) || (tst",cmdlist,opt,ofs,xorb); rewind(stdin); gets(bufstr); cc=bufstr[0]; if (cc>'Z') cc-=32; } while (strchr(cmdlist,cc)==NULL); cmdlin=&(bufstr[1]); return (cc); } void help() { puts(txt12); return; } void offset() { if (cmdlin[0]==0) return; sscanf (cmdlin,"%x",&ofs); puts(txt13); return; } void xorset() { if (cmdlin[0]==0) return; sscanf (cmdlin,"%x",&xorb); puts(txt14); return; } void dump() { long i,j,stp; int byt,brk; unsigned char *fzchn,dmp[17],c; dmp[0]=' '; dmp[17]=brk=0; en=0L; if (cmdlin[0]) { sscanf(cmdlin,"%lX %lX",&an,&en); if (an<0) an=0; } if (en==0L) en=an+((opt=='T')? 0x3FFL: 0xFFL); if (en>flen) en=flen; stp=(opt=='T')? 64: 16; i=an; if (an>flen) an=flen; while (i<=en) { fzchn=&(filstart[i]); printf ("%6lX : ",i); for (j=i;j++flen) byt=0; c=(((byt+ofs)&0xFF)^xorb); if (c<' ') c='.'; switch (opt) { case'T': putchar(c); break; case'X': dmp[j-i]=c; printf (" %02X",byt); } if (kbhit()) if ((getch()&0xFF)==27) brk=1; } an=i; if (brk) { putchar('\n'); return; } if (opt=='T') putchar('\n'); else { putstr(" "); puts(dmp); } i+=stp; } an=i; return; } void save() { int handle; long tst; if (cmdlin[0]>31) handle=Fcreate(cmdlin,0); else handle=-1; if (handle<0) { puts(txt15); return; } tst=Fwrite (handle,physflen,physfilbuf); if (tst ",i); gets (text); } while (ausw(text,ofs,&i,en)); puts(txt20); gets(bufstr); fl=0x300; sscanf(bufstr,"%x",&fl); if (fl<0x100) *(filstart+i)=fl; return; case'X': puts(txt21); i=an; while (i<=en) { rewind(stdin); printf("%6lX: %02X > ",i,*(filstart+i)); gets (text); if (text[0]==0) break; sscanf(text,"%x",&fl); *(filstart+(i++))=fl; } } return; } int ausw(char str[],int ofs,long *i,long en) { int j; unsigned char *zchn,z; if (str[0]==0) return (0); zchn=filstart+(*i);j=0; while (((*i)++flen) en=flen; if (ofs1<0) ofs1=0; if (ofs1>255) ofs1=255; if (ofs2>255) ofs2=255; if (ofs2<0) ofs2=0; curofs=ofs1; while (curofs<=ofs2) { for (k=0;k<=lng;) { if (w=='F') srch[k++]=(((name[k]-curofs)&0xFF)^xorbs); else srch[k++]=(((name[k]-ofs)&0xFF)^curofs); } c=srch[0]; putchar('*'); i=an-1L; fzchn=filstart+i; while (i++flen) en=flen; PCcount=an; curbyte=filstart+an; while (PCcount>12; reg2=(cmdw&0x0E00)>>9; adr2=(cmdw&0x01C0)>>6; adr1=(cmdw&0x0038)>>3; reg1=cmdw&0x0007; cmdlen=0; dat1[0]=0; dat2[0]=0; dummy[0]=0; switch(art) { case 0xF: dummy="line_f"; sprintf(dat1,"$%03X",cmdw&0xFFF); break; case 0xA: dummy="line_a"; sprintf(dat1,"$%03X",cmdw&0xFFF); break; case 0x6: dummy[0]='b'; strcpy(&dummy[1],branch(cmdw,3)); if ((h2=(cmdw&0xFF))==0) { strcat(dummy,".w"); h2=getword(); h1=PCcount-2+((h2>0x7FFF)? -(0x10000-h2): h2); } else { strcat(dummy,".s"); h1=PCcount+((h2>0x7F)? -(0x100-h2): h2); } sprintf(dat1,"$%06lX (rel)",h1); break; case 0x1: dummy="move.b"; cmdlen=1; addr(dat1,adr1,reg1); addr(dat2,adr2,reg2); break; case 0x2: dummy="move.l"; cmdlen=4; addr(dat1,adr1,reg1); addr(dat2,adr2,reg2); break; case 0x3: dummy="move.w"; cmdlen=2; addr(dat1,adr1,reg1); addr(dat2,adr2,reg2); break; case 0x0: if ((cmdw&0x0100)==0) { if ((reg2!=4) && (reg2!=7)) { switch (reg2) { case 0x0: strcpy(dummy,"ori"); break; case 0x1: strcpy(dummy,"andi");break; case 0x2: strcpy(dummy,"subi");break; case 0x3: strcpy(dummy,"addi");break; case 0x5: strcpy(dummy,"eori");break; case 0x6: strcpy(dummy,"cmpi"); } strcat(dummy,getlen(adr2&0x3)); addr(dat1,0x7,0x4); if ((adr1==0x7) && (reg1==0x4)) { if (cmdlen==1) strcpy(dat2,"ccr"); else strcpy(dat2,"sr"); } else addr(dat2,adr1,reg1); break; } if (reg2==7) break; } if ((adr1==0x1) && (cmdw&0x100)) /* Movep */ { strcpy(dummy,"movep.w"); cmdlen=2; if (cmdw&0x0040) { cmdlen=4; dummy[6]='l'; } if (cmdw&0x0080) { addr(dat1,0,reg2);addr(dat2,5,reg1); } else { addr(dat2,0,reg2);addr(dat1,5,reg1); } break; } switch(adr2) { case 0x4: dummy="btst"; break; case 0x7: dummy="bset"; break; case 0x6: dummy="bclr"; break; case 0x5: dummy="bchg"; break; default: dummy=""; } if (dummy[0]) { addr(dat1,0,reg2); cmdlen=1; addr(dat2,adr1,reg1); break; } if ((cmdw&0x0F00)!=0x800) break; switch(adr2) { case 0x0: dummy="btst"; break; case 0x1: dummy="bchg"; break; case 0x2: dummy="bclr"; break; case 0x3: dummy="bset"; } cmdlen=1; addr(dat1,0x7,0x4); addr(dat2,adr1,reg1); break; case 0x4: if (adr2==0x7) { dummy="lea"; cmdlen=4; addr(dat2,0x1,reg2); addr(dat1,adr1,reg1); break; } if (adr2==0x6) { dummy="chk"; cmdlen=2; addr(dat2,0x0,reg2); addr(dat1,adr1,reg1); break; } if ((adr2<3) && (reg2<4)) { switch(reg2) { case 0x0: strcpy(dummy,"negx"); break; case 0x1: strcpy(dummy,"clr"); break; case 0x2: strcpy(dummy,"neg"); break; case 0x3: strcpy(dummy,"not"); } strcat(dummy,getlen(adr2)); addr(dat1,adr1,reg1); break; } if ((cmdw&0x0100) || ((reg2==1) && (adr2==3))) break; if ((reg2<4) && (adr2==3)) { cmdlen=2; dummy="move"; switch(reg2) { case 0x0: strcpy(dat1,"sr"); addr(dat2,adr1,reg1); break; case 0x2: cmdlen=1; strcpy(dat2,"ccr"); addr(dat1,adr1,reg1); break; case 0x3: strcpy(dat2,"sr"); addr(dat1,adr1,reg1); } break; } if ((cmdw&0x0FF8)==0x840) { dummy="swap"; addr(dat1,0,reg1); break; } if ((cmdw&0x0FA8)==0x880) { strcpy(dummy,"ext"); strcat(dummy,getlen(((adr2&0x1)==0)? 1: 2)); addr(dat1,0,reg1); break; } if (cmdw==0x4e71) { dummy="nop"; break; } if (cmdw==0x4e75) { dummy="rts"; break; } if (cmdw==0x4e73) { dummy="rte"; break; } if (cmdw==0x4e77) { dummy="rtr"; break; } if (cmdw==0x4e76) { dummy="trapv";break; } if (cmdw==0x4e70) { dummy="reset";break; } if (cmdw==0x4afc) { dummy="illegal";break; } if (cmdw==0x4e72) { dummy="stop"; cmdlen=2; addr(dat1,0x7,0x4); break; } if ((cmdw&0x0FF0)==0x0E40) { dummy="trap"; sprintf(dat1,"#$%01X",cmdw&0x0F);break; } if ((cmdw&0x0F80)==0x0800) { if (adr2) dummy="pea"; else dummy="nbcd"; addr(dat1,adr1,reg1); break; } if ((cmdw&0x0FC0)==0x0AC0) { dummy="tas"; addr(dat1,adr1,reg1); break; } if ((cmdw&0x0F00)==0xA00) { strcpy(dummy,"tst"); strcat(dummy,getlen(adr2)); addr(dat1,adr1,reg1); break; } if ((cmdw&0x0F80)==0x0E80) { if (cmdw&0x40) dummy="jmp"; else dummy="jsr"; addr(dat1,adr1,reg1); break; } if ((cmdw&0x0FF0)==0x0E50) { if (cmdw&0x8) { dummy="unlk"; addr(dat1,0x1,reg1); break; } dummy="link"; addr(dat2,0x1,reg1); h2=getword(); sprintf(dat1,"#$%04lX",h2); break; } if ((cmdw&0x0FF0)==0x0E60) { dummy="move"; if (cmdw&0x8) { strcpy(dat1,"usp"); addr(dat2,0x1,reg1); break; } strcpy(dat2,"usp"); addr(dat1,0x1,reg1); break; } if ((cmdw&0x0B80)==0x0880) { strcpy(dummy,"movem"); strcat(dummy,getlen((cmdw&0x40)? 2: 1)); if (cmdw&0x0400) { movemreg(dat2,0); addr(dat1,adr1,reg1); break; } movemreg(dat1,(adr1==0x4)? 1: 0); addr(dat2,adr1,reg1); break; } break; case 0x5: if ((adr2&0x3)<3) { if (adr2&0x4) strcpy(dummy,"subq"); else strcpy(dummy,"addq"); strcat(dummy,getlen(adr2&0x3)); addr(dat2,adr1,reg1); sprintf(dat1,"#$%02X",qnum(reg2)); break; } if ((cmdw&0x00F8)==0x00C8) { strcpy(dummy,"db"); strcat(dummy,branch(cmdw,1)); addr(dat1,0,reg1); h2=getword(); h1=PCcount-2+((h2>0x7FFF)? -(0x10000-h2): h2); sprintf(dat2,"$%06lX (rel)",h1); break; } if ((cmdw&0x00C0)==0x00C0) { strcpy(dummy,"s"); strcat(dummy,branch(cmdw,0)); addr(dat1,adr1,reg1); break; } break; case 0x7: if ((cmdw&0x100)==0) { dummy="moveq"; addr(dat2,0,reg2); sprintf(dat1,"#$%02X",cmdw&0xFF); break; } break; case 0x8: if ((adr2&0x3)==3) { strcpy(dummy,"divu"); cmdlen=2; if (adr2&0x4) dummy[3]='s'; addr(dat2,0,reg2); addr(dat1,adr1,reg1); break; } if ((cmdw&0x01F0)==0x0100) { dummy="sbcd"; addr(dat1,4*adr1,reg1); addr(dat2,4*adr1,reg2); break; } strcpy(dummy,"or"); strcat(dummy,getlen(adr2&0x3)); if (adr2&0x4) { addr(dat2,adr1,reg1); addr(dat1,0,reg2); } else { addr(dat1,adr1,reg1); addr(dat2,0,reg2); } break; case 0x9: if ((adr2&0x3)==3) { strcpy(dummy,"sub.w"); cmdlen=2; if (adr2&0x4) { dummy[4]='l'; cmdlen=4; } addr(dat1,adr1,reg1); addr(dat2,1,reg2); break; } if ((cmdw&0x0130)==0x100) { strcpy(dummy,"subx"); strcat(dummy,getlen(adr2&0x3)); addr(dat1,4*adr1,reg1); addr(dat2,4*adr1,reg2); break; } strcpy(dummy,"sub"); strcat(dummy,getlen(adr2&0x3)); if (adr2&0x4) { addr(dat2,adr1,reg1); addr(dat1,0,reg2); } else { addr(dat1,adr1,reg1); addr(dat2,0,reg2); } break; case 0xB: if ((adr2&0x3)==0x3) { strcpy(dummy,"cmp.w"); cmdlen=2; if (adr2&0x4) { dummy[4]='l'; cmdlen=4; } addr(dat1,adr1,reg1); addr(dat2,1,reg2); break; } if ((adr2&0x4)==0) { strcpy(dummy,"cmp"); strcat(dummy,getlen(adr2)); addr(dat1,adr1,reg1); addr(dat2,0,reg2); break; } if (adr1==1) { strcpy(dummy,"cmpm"); strcat(dummy,getlen(adr2&0x3)); addr(dat1,3,reg1); addr(dat2,3,reg2); break; } strcpy(dummy,"eor"); strcat(dummy,getlen(adr2&0x3)); addr(dat1,0,reg2); addr(dat2,adr1,reg1); break; case 0xC: if (((adr2&0x3)==0x3) && (adr1!=1)) { strcpy(dummy,"mulu"); cmdlen=2; if (adr2&0x4) dummy[3]='s'; addr(dat1,adr1,reg1); addr(dat2,0,reg2); break; } if ((cmdw&0x01F0)==0x100) { dummy="abcd"; addr(dat1,4*adr1,reg1); addr(dat2,4*adr1,reg2); break; } if (((cmdw&0x01F0)==0x140) || ((cmdw&0x1F8)==0x188)) { dummy="exg"; if (adr1==0) { addr(dat2,0,reg1); addr(dat1,0,reg2); break; } addr(dat1,2,reg1); if (adr2&0x1) addr(dat1,1,reg2); else addr(dat1,0,reg2); break; } strcpy(dummy,"and"); strcat(dummy,getlen(adr2&0x3)); if (adr2&0x4) { addr(dat1,0,reg2); addr(dat2,adr1,reg1); } else { addr(dat2,0,reg2); addr(dat1,adr1,reg1); } break; case 0xD: if ((adr2&0x3)==0x3) { strcpy(dummy,"add.w"); cmdlen=2; if (adr2&0x4) { dummy[4]='l'; cmdlen=4; } addr(dat1,adr1,reg1); addr(dat2,1,reg2); break; } if ((adr2&0x4) && (adr1<2)) { strcpy(dummy,"addx"); strcat(dummy,getlen(adr2&0x3)); addr(dat1,4*adr1,reg1); addr(dat2,4*adr1,reg2); break; } strcpy(dummy,"add"); strcat(dummy,getlen(adr2&0x3)); if (adr2&0x4) { addr(dat1,0,reg2); addr(dat2,adr1,reg1); } else { addr(dat2,0,reg2); addr(dat1,adr1,reg1); } break; case 0xE: if ((adr2&0x3)<3) { switch(adr1&0x3) { case 0x0: strcpy(dummy,"as"); break; case 0x1: strcpy(dummy,"ls"); break; case 0x2: strcpy(dummy,"rox");break; case 0x3: strcpy(dummy,"ro"); } if (adr2&0x4) strcat(dummy,"l"); else strcat(dummy,"r"); strcat(dummy,getlen(adr2&0x3)); if (adr1&0x4) addr(dat1,0,reg2); else sprintf(dat1,"#$%02X",qnum(reg2)); addr(dat2,0,reg1); break; } h2=0; switch((cmdw&0x0E00)>>9) { case 0x0: strcpy(dummy,"as"); break; case 0x1: strcpy(dummy,"ls"); break; case 0x2: strcpy(dummy,"rox");break; case 0x3: strcpy(dummy,"ro"); break; default: h2=1; } if (h2) break; if (adr2&0x4) strcat(dummy,"l"); else strcat(dummy,"r"); cmdlen=1; addr(dat1,adr1,reg1); break; } putstr(" "); if (dummy[0]==0) putstr(nokn); else putstr(dummy); if (dat1[0]) { putstr(" "); putstr(dat1); if (dat2[0]) { putchar(','); putstr(dat2); }} return; } unsigned int getword() { PCcount+=2L; return (((*(curbyte++))<<8)+(*(curbyte++))); } char *branch(unsigned int cmd,int flag) { int t; t=(cmd&0x0F00)>>8; switch(t) { case 0: if (flag&0x1) return "ra"; else return "t"; case 0x1: if (flag&0x2) return "sr"; else return "f"; case 0x2: return "hi"; case 0x3: return "ls"; case 0x4: return "cc"; case 0x5: return "cs"; case 0x6: return "ne"; case 0x7: return "eq"; case 0x8: return "vc"; case 0x9: return "vs"; case 0xA: return "pl"; case 0xB: return "mi"; case 0xC: return "ge"; case 0xD: return "lt"; case 0xE: return "gt"; case 0xF: return "le"; } return "??"; } void addr(char *buf,unsigned int mode,unsigned int reg) { switch(mode) { case 0x0: /* Dx */ buf[0]='d'; buf[1]='0'+reg; buf[2]=0; return; case 0x1: /* Ax */ buf[0]='a'; buf[1]='0'+reg; buf[2]=0; return; case 0x2: /* (Ax) */ buf[1]='a'; buf[2]='0'+reg; buf[0]='('; buf[3]=')'; buf[4]=0; return; case 0x3: /* (Ax)+ */ buf[0]='('; buf[1]='a'; buf[2]='0'+reg; buf[3]=')'; buf[4]='+'; buf[5]=0; return; case 0x4: /* -(Ax) */ buf[0]='-'; buf[1]='('; buf[2]='a'; buf[3]='0'+reg; buf[4]=')'; buf[5]=0; return; case 0x5: /* $xxxx(Ax) */ h2=getword(); sprintf(buf,"$%04lX",h2); buf[5]='('; buf[6]='a'; buf[7]='0'+reg; buf[8]=')'; buf[9]=0; return; case 0x6: /* $xx(Ax,A/Dy.?) */ h2=getword(); sprintf(buf,"$%02lX",h2&0xFF); buf[3]='('; buf[4]='a'; buf[5]='0'+reg; buf[6]=','; buf[7]=((h2&0x8000)? 'a': 'd'); buf[8]='0'+((h2&0x7000)>>12); buf[9]='.'; buf[10]=((h2&0x0800)? 'l': 'w'); buf[11]=')'; buf[12]=0; return; case 0x7: /* Der Rest */ switch(reg) { case 0x0: /* $xxxx */ h2=getword(); sprintf(buf,"$%04lX",h2); return; case 0x1: /* $xxxxxxxx */ h2=getword()&0xFF; sprintf(buf,"$%02lX",h2); h2=getword(); sprintf(&buf[3],"%04lX",h2); return; case 0x2: /* $xxxx(PC) */ h2=getword(); h1=PCcount-2+((h2>0x7FFF)? -(0x10000-h2): h2); sprintf(buf,"$%06lX(pc)",h1&0xFFFFFF); return; case 0x3: /* $xx(PC,A/Dx.?) */ h2=getword(); sprintf(buf,"$%02lX(pc,",h2&0xFF); buf[7]=((h2&0x8000)? 'a': 'd'); buf[8]='0'+((h2&0x7000)>>12); buf[9]='.'; buf[10]=((h2&0x0800)? 'l': 'w'); buf[11]=')'; buf[12]=0; return; case 0x4: /* #$xx... */ switch(cmdlen) { case 1: /* Byte */ h2=getword(); sprintf(buf,"#$%02lX",h2&0xFF); return; case 2: /* Word */ h2=getword(); sprintf(buf,"#$%04lX",h2); return; case 4: /* Long */ h2=getword(); sprintf(buf,"#$%04lX",h2); h2=getword(); sprintf(&buf[6],"%04lX",h2); return; } default: strcpy(buf,"???"); return; } default: strcpy(buf,"???"); } return; } char *getlen(int binleng) { switch(binleng) { case 0x0: cmdlen=1; return ".b"; case 0x1: cmdlen=2; return ".w"; case 0x2: cmdlen=4; return ".l"; } cmdlen=0; return ".?"; } void movemreg(char *dat,int flag) { char bufz[1]; unsigned int i,j,k,l; h2=getword(); if (flag) { h1=0; k=1; for (i=0; i<16;) h1=(h1 | ((h2&(1<<(i++)))? (1<<(16-i)):0 )); h2=h1; } k=(h2&0xFF); l=(h2&0xFF00); bufz[1]=0; if (k) { strcat(dat,"d"); for (i=0; i<8; ) { if (k&(1<<(i++))) { bufz[0]='0'+i-1; strcat(dat,bufz); }} if (l) strcat(dat,"/"); } if (l) { strcat(dat,"a"); for (i=0; i<8; ) { if (l&(0x100<<(i++))) { bufz[0]='0'+i-1; strcat(dat,bufz); }}} return; } unsigned int qnum(unsigned int z) { if (z==0) return (8); return (z); } /* o.k., das war's */ Programmbeschreibung FileMon V1.0 --------------------------------- Auch dieser Monitor gesellt sich zu der fast endlosen Reihe anderer, z.T. wesentlich besserer File-Utilities. Da das Programm nur auf einer Kommandozeileneingabe basiert, ist jedes in GEM eingebundenes Programm um ganze Klassen komfortabler. Trotzdem habe ich FileMon geschrieben: 1) der ganze Bildschirm wird ausgenutzt 2) durch den Wegfall von GEM ist das Programm kurz, also schnell geladen 3) das Programm ist kostenlos 4) die Bedienung orientiert sich in Grenzen am SID (Digital Research (R)) 5) dieser Monitor eignet sich gut fr kurze Patches 6) eine besondere Option: das Bearbeiten von versteckten Texten 7) ein eingebauter Disassembler Unter versteckten Texten sind dabei solche zu verstehen, die mit einem konstanten Byte aufaddiert sind oder nit EOR verschlsselt sind. Da es sehr viele Mglichkeiten gibt, Texte zu verschlsseln, kann man von diesem Monitor keine Wunder erwarten; ab und zu hat man aber doch Erfolg. Keine Chance hat man z.B. bei EOR mit mehreren Bytes, 5-Bit-Codierung, ..., aber auch kaum noch bei einer Kombination aus Addition und EOR. Fr Anerkennung oder Kritik meine Adresse: Christian Peppermller Ebrardstrae 23 8520 Erlangen Falls jemand mir sogar etwas zahlen mchte, mein Konto: Sparkasse Erlangen, BLZ: 763 500 00 , Konto: 30 - 109 366 Einige Bemerkungen: Zum Anschauen des Quelltextes sollte der Tabulator auf 4 Leerzeichen eingestellt werden, da sonst die Struktur uerst schwer durchschaubar wird. Ich habe im Quellcode z.B. die Blockstruktur nur durch Einrckung, nicht aber durch { und } deutlich gemacht, da dies zu einem noch lngerem Quelltext gefhrt htte und wohl sogar der ber- sichtlichkeit geschadet htte. Hierbei ein Lob an den Compiler: Turbo C. Obwohl ich lediglich einen 520 ST+ besitze (1 MB), konnte ich whrend der Arbeit mit der integrierten Umgebung TC noch eine satte RAM-DISK mit 384K benutzen, auf der alle INCLUDE-,LINK- und Projektdateien, sowie der Quelltext und das Compilat waren. Dadurch waren die Compilier- und Linkzeiten recht kurz und laufwerkschonend. Auch das Endprodukt ist im Vergleich zum Quelltext recht kurz. Beim Neucompilieren sollte man die Bibliotheken tcgemlib und tcfltlib entfernen, da das Linken sonst lnger dauert und das Programm lnger ist. Leider ist die Ausgabegeschwindigkeit extrem gering; dies drfte aber nicht an diesem Programm, sondern an der Bibliothek liegen. Aus Geschwindigkeitsgrnden kommen im Programm einige GEMDOS-Funktionen vor, so da das Programm nicht besonders portabel ist... Der Hauptvorteil des Disassemblers ist einer Erwhnung wert: Das geladene Programm wird mit logischen Adressen versehen; ist es ein ausfhrbares File, so werden die ersten $1C Bytes unsichtbar gelagert. Dadurch liegen alle absoluten Adressen, die eigentlich erst reloziert werden mten, automatisch richtig und knnen also auch manipuliert werden, ohne da man gleich seitenweise Schmierpapier fr lange Rechnungen verbraucht. Auch fr kleine Patches (z.B. das Entfernen eines Kopierschutzes bei Originalsoftware, um z.B. von der Festplatte starten zu knnen, oder ein Unsterblichkeitspoke, ...) eignet sich dieser Monitor: 6x -> 60 macht aus Bcc ein BRA, 6x xx -> 4E 71 ein NOP..., F 53 findet alle subq.x #..,$... usw. Sollten noch grere Fehler im Disassembler sein, wre ich dankbar fr eine Mitteilung; ich habe ihn zwar getestet, aber alles findet man ja nie. Die Befehle suba, movea,... werden nur als sub, move usw. ange- geben, da jeder Assembler dies akzeptiert und nur wenige Puristen Wert auf diese Unterscheidung legen. Wem besonders der Disassemblerteil etwas unlogisch, umstndlich, unstrukturiert, haarstrubend oder pervers erscheint, dem sei gesagt, da die Entschlsselung der Words im wesentlichen nur mit Hilfe des Buches "Vieillefont: Programmierung des 68000" (Sybex 3060) geschah, in dem zwar nur wenige Druckfehler sind, aber die Befehle alphabetisch angeordnet sind (zum Glck mit Binrdarstellung). Auch an den brigen Programmteilen kann man sicher viel verbessern; dieses Programm entstand in relativ kurzer Zeit (grtenteils direkt im Editor) und versteht sich nicht als Beispiel musterhafter Programmierung (eher als Abschreckung). Die Offsettexte finden sich brigens z.B. in UNION-Demos, deren Texte allerdings recht gut sind, so da man sie nicht zu ndern braucht... Dann auf ins gute alte TOS! `3Z ``>>> TURBO-C <<<< for ATARI-ST Release 1 (C) 88 Borland International G#>LJ$VH3>P k  Ј<.@// ?<?<JNAO pBAA4|`g |`.gg4TB|"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON0? 93\g @N 93`g @NN.h?<LNAH06&HN|o A3dN&E> k2 N$H$Jorn gA3yN&p`G= KN'N H|?|b|@0;NZpppp4lLL`pppFppfppp@Tpp:TN`6N`0Nx`*N`$N&`C`N`N` N`N <Qf`A3N& jXN+(B@L Nu/ A3N%E>XB@5@,5@*H%@%@ %@A=N&%|5*z$_NuH<&*HE>$G3dI>fJf|l"JAN% LN%`"M LN,>"JAN% LN%tB@ LN0f8l AN%``lt2pN0\)@BB2pN0NpFЬN))H f0N/AN%&p`t l",0N/*0N/ ,olA0N$ lN* R `>/,AON0XO)l)l l `f (fB@L<8NuH0G>fE=?+?++H?/+A5NO JN% KN#<Zo< H kN* g'|>gL NuA5N$4Nu y>^gHy?C9NhXOA9N$ Nu y>^gHy?C9N@XOA9N#NuHO B@?@@M>BK3d nvg Hy>Hy>CkNPO . lB .f Tf"<`"<Ү -A .o-n Tfx@`xH*. I>$o-n `&nj/AsNxXO,`rBGoBG.+<.-< dv.H|TgY@g` LB@N#` ?A{NTON-pJ@gN-V||f?| R"҄m-E 0/g Lp N#n`. Tf Lp N#^`"LAN"AN"nڄo.-E OLxNuH0E>^ R c B@N-*6`vG3dJCl AN"&`@ j"*0N,(lAN"0N,J@l AN!`//AN6POL NuHR/mG3dHoHoCk m NPOIE-H|TgY@gx`AN!(A=N"/ALNXOAN "/"L0-ANJ@fAUN!JAN 4HoCDAN~XO Rll  U``AN!(`JA=N"$  UBA0?/AN<\OAN ng&HoCDAN XO  UR oOL<NuH0fB@`BB`<+(Rzځl 8RB0@fSpL 8NuQO y>^g0HWHoC9NPO //"/ү/A;(NxPOPONuH>ONK 9X>fBA`29??A:B/y> 9T>f09?`B@?@HoHoHoHoC;2 y>^NOBDMPI9>H|TgY@g"`hC>$A;@N NN NN&x(`HA;MNjA>fN9>fg(HoC9A>fNXOp,@RD|OmB6@ /lB />o/y>0lBU Uo: oo?|0/lBo:`BF`4<Ff6`</`RF`6`9?<`RFFlWA>$p*Nrv֯$y>R`hRJ/f^BF8&J` RK7`gBTRFFo0f0gt2 NTON(J@g$N(Ұ|fBB2 NjTOv֯zo RmN(J@g(N(|fonBB2 N,TO&/zoREooA5NOL|NuH0(6E>$G3d|f "JAN` "JA5N /Ff?/A?N\O`?/A\N\OL NuHBG jhgHy>Hy>C9NPO fr ғ$ lB o$I(  j\%HdK>$`0/A;NDXON, Mp N&N'J@g N'n|f$ mL<NuH>YOE?M>N 4G3d.;K|r h=@\4|p j=Bd2|I=Abt8RJ=B^pR=@`BnjBIBB0.\|b &@0;N$B& . K`K0|?C NNTO` br0N h"HAN"0|r2-AVf:C MN",N r2-AVo <D` .VЮNU-@R`,C MN!pVl"<VD`".VҮN-AR/.RC NNXO` :K=|j`K=|j` K=|j2.`0.^ NN h2.d0.b LN Z` 0|f ndg ndg2.d|b^A2;N&2T>JC MN!`:C MN!`.C MN!t`"C MN!h`C MN!\` C MN!PpnbN"H MN rp NN n^f n`f njfC LN!` ,C LN!`  ndg  n^fj0|gbC MN =|jp@Rg =|j|l0<Rg2.d NB@N ,2.`p LN ` 2.dB@ LN 2.`p NN ` 0.bY@gS@gS@gS@g`K`K`K` K `Kg2.d NB@N =|j`0||f H2.bJAgSAgSAgSAg`K`K ` K`K=|jrp NN j` nbfK =|j2.dp LN H` nbfK =|j2.dB@ LN &` nbd^ nddV0.dJ@gS@gS@gS@g&`.C  MNr`"C MNf`C  MNZ` C  MNN0.bN "H MN`h0|fT ndf nbgB nddb nbfZ=|jK 0.dJ@g U@gS@g4`C NN`=|jC LN2.`0.^ NN F`C LN`0||@fK `00||f4C % MNpnbfp`pN "H MN2.`B@ NN` RNqfK )`x RNufK -`j RNsfK 1`\ RNwfK 5`N RNvfK 9`@ RNpfK ?`2 RJfK E`$ RNrfK M=|jrp NNh`0||@fK RrR?C W NN TO`0||f2.bgK ^`K b`0|| fK g`0|| fC MNr`"0||fr@RgK k`K o`z0||Pf:rRgK s`hK x2.`p LNNr2-AV/C } NN XO`(0||`f>K rRgC NN2.`p LNZ`C LN2.`p NN@`0| |fC MNp@Rgp`pN "H MN00|g LB@N ` n^fp`B@ NN `,pnbW@dXrnbg C MND` C MN8pnbN "H MN2.`0.^ LN0.dN ?C NN TO` 0||ffC MNr0N"H MN|2.`B@ NNLNXr2-AVo <D` .VЮNU-@R/C LN bXO`0||fC MNtBA0N("H MN`0|fxK 2.d LB@N0|?C NN TO`PpnbW@f$C MN=|jpnbgZ|s`P0||fK `bC MN`$AN.fC>$ WN` C>$ MNg6C>$ANC>$ NNgA>$p,NC>$ LNXOL|NuT> y>ZR>ZB@H y>ZR>ZBAANu4|J0A3d|bB4; N  6HNTZ`flrx~pAgA `tA`lpAgA`^A`XA `RA `LA NuA NuA NuA NuA NuA NuA NuA NuA NuA !NuA $NuA 'NuA *NuH8$H6G?I3d4|bB4; N *Jjd`ap0@B*`|ap0@(|)B*`l(|ap0@|)|+`-|(|ap0@|)B*`&NVr2&/C ~ JNXO|(|ap0@|)B* `Nr2&¼/C - JNDXO|(|ap0@|,`0|b@0;N &`Nr2&/C ~ JNXO`vN|r2&/C - JNXONr2&/C ANXO`Npr2&/C } JNXONXr2&/C ANXO` C R JNLNuA?C3d2JAg SAgSAg`0ANu0ANu0ANuBPA VNuH0UO&H:E>Nr2%AJEg2BvBD` p2RDhHg prh`B@H|e%R6*|:*|B/JCg@C< KNBD`p2RDhCgp/C KNn|eJEg C= KNXJEg2C< KNHBD`0<2RDhEgp/C KN(|eTOL 8NuJ@fpNqNu/YOM,C HzaZXOXO,_NuH@B@H@C>$ra J@kNu.Vp`/YOM, IC HzaXO VBXO,_Nu"VS@eQ,NuH8]O$H&I(o&BCx%p JR@gfJ@g@NBEgBA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp a$Wb~4gv<lf gfgr@dV|?@0;NFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [0`AB(`0AB(` [2"La@``JEj `p0?4 LaTO@`@JEj `0H?4 La`TO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@N0\OLxNup`H Ov Jj|-?|D`g|+?|`g| ?|`~?|`vH Ov ?|`dH Ovf?|`L|0f|x?|`2|X?|`$H Ovf?|` |0?|$H>C8jxA aA pJWF@?@gA 2SAk ae(Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`XH0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 /YOM, IC Hz"HzaPOXO,_Nu VB@g,NupNuSNuH8YO$H&I(o(BCBGx%BEgzghA J0PjDJ0PkSJNRG:kbA J0Pk o,NSG`BNRGA J0Pk o,NSG`NRGJ@k(g o,NSG`BEg<*f g|<0< b ACp a $Wb<gҰ<lf g°gr@d|?@0;N ppH  Jk [0`NRGJ@k g~ o,NSG` LJk"[02aAJfJkRRC`L L"o,pJk /02ahXO@Jk*RC`$ L"o,0aAJk [RCJEk0` ` L"o,0a0AJk [RCJEk0` ` L"o,0aAJk [RCJEk0` ` L"o,0aZAJk [RCJEk0` `0XOLNup`H8vBG8gJz B$H&II XNRG4`kI H4`b ֆSDgNRG4`b փ"փփց`NSG 2LNuH8vBG8gBzB$H&II NRG4`kI 4`bֆSDgNRG4`b`NSG 2LNuH8vBG8gfzB$H&II NRG4`k<0fSDgBNRG<߰<Xf SDg.NRGI p4`bֆSDgNRG4`b`NSG 2LNuH8vBE8gfB$H&II ,NRE4`k<-Wg<+fNREI 4`< b"ֆSDg NRE4`< b փ"փփց`NSE JgD2LNuH88z$H&II NREJ@kVJ4kNSEJj"JDgDI NREJ@k8J4jNSE`.SDf`(JDg"(oNREJ@kA jJ0jNSE`SDfB0L8NuH06g(8$H&IJCjvJj NJ@kSCf` NJ@kSCfQC2L NuP`H8$HG=+gR"S(kt `df`.+g// Kad"_ _J@f(// Ka"_ _J@gk&B JLNu3 3Z`C>$aA>$p `/ / &Q(i )g6Jg(ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 3Zp`H:$H&I(Sx&gBJg>+g@,k $ڹd SfRe`&// Kav$"J@f(S`& L\Nu3 3Zp`"P H dNu(g?/a( _2J@f 0Nu3 3ZpNupraNuH&H&8|f֓b e&`8+g+g2 KaJ@f:"40+atJk* k&'HpLNu3 3Z`33Zp`H&H(k L0+"+ aJkRgF+f* L2SAt Wf"HSIS@SAk öWgJ@g&r2'LB@LNup`p`H&H(k6+"+g0DtaJk+fT"SA"L Ip Wf(| ?/ " 0a("_2JkJAp QH@" 0aLJj`&0" La|g&'LB@LNup`J@g//??<?NAO JkNu aNua(33ZpNuH&Hx&SkdJ9?kdffar<g< g.<g>< e渃dRaZ`JgSSKpaLp aHpaD`Rp a:?p a.`? LNux`x B9?`?<NATONu??<NAXONu|g$//??<@NAO JkNua\33ZpNu// &H&g??<NAXOSb&_&Nu|b$??/?<BNAO JkNua33ZpNu0<`D@| |"b;NupNu   // &PR<e&/?<HNA\OJo @!CC? "A`xE?$R f4/< ?<HNA\OJo`$@Ap !| %H$?#?A"P` )d I"Q f`rd ` #@#C"nA$_&Nu`Nu/ g`$HQ e&A?"P`g I"Q f`: / ?<INA\O`, nf$A?"P` Q c I"Q f"Ja$_NuH8$H&I(R"l f &)K`b& Ыeg `p&)K`h )ѫ&)K`> I"Q gb Шeg `> & K` +Ѩ Шf )Ѩ l f $/ ?<INA\OLNu/ G? g/ &S?<INA\O`G? g/ &S?<INA\O`&_Nu JgJgJgJgJg JgJgJfSHggggg ggf @NugfSHNuJgNu g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$brGRgJ3kSJtgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"3Zp` 3!3Zp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!3Z`0123456789abcdefghijklmnopqrstuvwxyz@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#/ p??NMXOH$_Nu/ ?<?<NMXOH$_Nu//??<?NAO Nu??<>NAXONu//??<@NAO Nu?/?<E *************************************** * Hilfe - FileMon * *************************************** ? Diese Hilfe. X,T Wechselt zu Modus HEX (X) oder TEXT (T). D{a {b}} Dump von a bis b; Text mit of/ox. Wfilename Sichert das (vernderte) File. Oof Setzt Offset fr Text bei D und C. Eox Setzt EOR-Byte fr Text bei D und C. Sa {b} ndert Text/Bytes von a bis b; im Modus T: of/ox. Extra-Byte absolut. F{a b {o1 o2}} Sucht Text/Bytes von a bis b mit Offset + text/bytes o1 bis o2. Text mit ox ! G... wie F, aber mit EOR-Byte von o1 bis o2. Ha b liefert a+b a-b (Hex-Arithmetik). L{a {b}} Disassembliert von a bis b. a,b: HEX-Langworte bzgl Filebeginn. of,ox,o1,o2: HEX-Bytes. {}:Optional. filename,text: ASCII-Text. bytes: bis zu 78 HEX-Bytes. Kommandozeile: Kommandos, Modus (X/T), of , ox . %xOffset gendert.Eor-Byte gendert.%lX %lX%6lX : %02X Nanu - Kann File nicht zum Schreiben ffnen !Achtung - File gekrzt (Disk voll?) !Nanu - Kann File nicht schlieen !%s in $%lX Bytes abgespeichert. mehrzeilige Texteingabe. Ende durch Leerzeile.%6lX: > Nun noch das absolute HEX-Endbyte ( keins):Eingabe: Byte1 ,.., Ende: Leerzeile.%6lX: %02X > %lX %lX %lX %lX %x %xSuche Text: Suche: Byte ,..; Suche starten mit Leerzeile. Bytes/Text gefunden Abbruch bei $%6lX mit Offset $%2X . bei %6lX mit EOR-Byte $%2X . %06lX: unknownline_f$%03Xline_a.w.s$%06lX (rel)move.bmove.lmove.woriandisubiaddieoricmpiccrsrmovep.wbtstbsetbclrbchgleachknegxnegnotmoveswapextnoprtsrtertrtrapvresetillegalstoptrap#$%01Xpeanbcdtasjmpjsrunlklink#$%04lXuspmovemsubqaddq#$%02Xdbmoveqdivusbcdorsub.wsubxsubcmp.wcmpcmpmeormuluabcdexgandadd.waddxaddlsroxrorahicccsnevcvsplmigeltgtle??$%02lX$%06lX(pc)$%02lX(pc,#$%02lX???.?/===>$>7>7>7>8>K>K>K>Lh  $ "  6   " ^f DvhD   0\R: @   F`4f2b VnD VP>Jv4^. ~.X. WU.. WUBIOS4 LST XUHDINFO TXT [U2HDINFO34PRG `UTPRINT "Laufwerk ........................: " PRINT PRINT "Sektor-Gre in Bytes............: " PRINT "Sektoren pro Cluster.............: " PRINT "Reservierte Sektoren.............: " PRINT "Anzahl FAT's.....................: " PRINT "Anzahl Directory-Entries.........: " PRINT "Sektoren auf der Diskette........: " PRINT "Media-Description-Byte (MS-DOS)..: " PRINT "Sektoren pro FAT.................: " PRINT "Sektoren pro Track...............: " PRINT "Anzahl formatierte Seiten........: " PRINT PRINT "Partition........................: " PRINT PRINT "Clustergre in Bytes............: " PRINT "Sektoren im Directory............: " PRINT "Start-Sektor von FAT 2...........: " PRINT "Start-Sektor Daten...............: " PRINT "Anzahl Daten-Cluster.............: " PRINT "Anzahl Daten-Cluster(tatschlich): " FOR lw=0 TO 6 IF lw=1 THEN GOTO ss ENDIF k=lw r=BIOS(4,2,L:HIMEM,1,0,lw) PRINT AT(36+6*k,1);CHR$(lw+65) IF r=0 THEN PRINT AT(36+6*k,3);PEEK(HIMEM+11)+PEEK(HIMEM+12)*256 PRINT AT(36+6*k,4);PEEK(HIMEM+13) PRINT AT(36+6*k,5);PEEK(HIMEM+14)+PEEK(HIMEM+15)*256 PRINT AT(36+6*k,6);PEEK(HIMEM+16) PRINT AT(36+6*k,7);PEEK(HIMEM+17)+PEEK(HIMEM+18)*256 PRINT AT(36+6*k,8);PEEK(HIMEM+19)+PEEK(HIMEM+20)*256 PRINT AT(36+6*k,9);PEEK(HIMEM+21) PRINT AT(36+6*k,10);PEEK(HIMEM+22)+PEEK(HIMEM+23)*256 PRINT AT(36+6*k,11);PEEK(HIMEM+24)+PEEK(HIMEM+25)*256 PRINT AT(36+6*k,12);PEEK(HIMEM+26)+PEEK(HIMEM+27)*256 PRINT AT(36+6*k,14);(PEEK(HIMEM+19)+PEEK(HIMEM+20)*256)/2 PRINT AT(36+6*k,16);PEEK(BIOS(7,lw)+4)*256+PEEK(BIOS(7,lw)+5) PRINT AT(36+6*k,17);PEEK(BIOS(7,lw)+6)*256+PEEK(BIOS(7,lw)+7) PRINT AT(36+6*k,18);PEEK(BIOS(7,lw)+10)*256+PEEK(BIOS(7,lw)+11) PRINT AT(36+6*k,19);PEEK(BIOS(7,lw)+12)*256+PEEK(BIOS(7,lw)+13) PRINT AT(36+6*k,20);PEEK(BIOS(7,lw)+14)*256+PEEK(BIOS(7,lw)+15) PRINT AT(36+6*k,21);PEEK(BIOS(7,lw)+14)*256+PEEK(BIOS(7,lw)+15)-2 ENDIF ss: NEXT lw REPEAT UNTIL INKEY$<>"" OR MOUSEK EDIT R.F.I. Ralf Fitzner Infotronik Frankfurt, d. 30.06.89 Inh.: Ralf Fitzner Am Alten See 21 6000 Frankfurt 90 - Rdelheim BTX : 0697895704-0001 Mailbox : 06174/5355 (300-1200-2400/8/N/1) User# 1111 FAX : 06174/3834 Telex : 1631 btx d So... Nun hab ich einige Wochen gebastelt, und hier ist das Ergebnis : HDInfo , damit die bersicht nicht verloren geht... Das Programm ist natrlich in GfA-Basic geschrieben. (Was sonst...) Leider mute ich noch GfA-Basic 2.02 nehmen, da der Compiler fr 3.07 noch nicht fertig war. Daher sind die Zahlenwerte nicht gerunded sondern abgeschnitten. Aber was macht das schon. Besonders stolz bin ich darauf, das mein Programm nicht nur in langweiligem schwarz/wei luft, sondern auch mit mehreren Farben in mittlerer Auflsung. Warum ich nicht den Original Basic-Source-Code 'rausgebe ?!? Nun, dies ist nicht mein erstes PD-Programm. Und ich mute schon mehrmals feststellen, da es fr viele Leute unheimlich reizvoll ist, als erstes meinen Namen 'rauszuschmeien. Und da man mit PD-Programmen schon kein Geld verdienen kann, so mchte ich doch zumindest als Belohnung fr die Arbeit MEINEN Namen unten stehen haben... Soooo... Das Programm an sich ist wohl nicht weiter erklrungsbedrftig. Ich mchte nur darauf hinweisen, da ich keine Gewhr bernehme, wenn mehr als eine Harddisk angeschlossen ist, oder jemand ein Fremdfabrikat benutzt. Dieses Programm ist getestet mit je einer SH204/5 und Megafile 20/30/60. (Vielen Dank an die Firma KFC-Computer in Knigstein.) Insbesondere luft dieses Programm natrlich falsch, wenn nicht der original ATARI AHDI-Treiber benutzt wird. Aber eigentlich sollte dies die Regel sein. (Schnen Gru an meinen Freund Uli Eickmann und seine 8 Bootpartitions...) Leider dauert es bei den "alten" Tos-Versionen, einschlielich Blitter-Tos, furchtbar lange bis die Werte eingelesen sind. Erst das "neue" Tos 1.4, das z.Zt. in der Version vom 22.02.89 als ROM-Version durch die Lande geistert, macht richtig Dampf, und ist bis zu 10 mal schneller. Hmmm.... Also wer tatschlich bis hierhin gelesen hat, den interessiert vielleicht auch noch, wie die einzelnen Daten erzeugt werden. Zunchst einmal fragt das Programm nach der Bildschirmauflsung. Dazu wird eine XBIOS Funktion benutzt, die je nach Auflsung eine 0,1 oder 2 (hohe ) liefert : mode=xbios(4) Und wenn mode=0 ist, dann geht's leider nicht weiter. Ich hab dann auch noch kurz nachgesehen, was sie denn so fr RAM-Speicher eingebaut haben. Auch wenn sie 2.5KByte haben sollten stellt das keine Schwierigkeiten fr's Programm dar. Da gibts nmlich schon wieder eine Systemvariable an der Adresse $FF801, und da steht drin, wie die beiden RAM-Bnke bestckt sind. brigens wre es auch mglich einen ST mit 256k oder mit 640KByte zu bestcken, aber was mglich ist mu nicht unbedingt gut sein... Wenn sie sich wundern sollten, wo denn die ganzen Bytes hin sind, die da als belegt gekennzeichnet sind, dann geht es Ihnen nicht anders als mir. Also 32KByte gehren schonmal zum Bildschirmspeicher. Na und dann gibts da eine Menge Systemvariablen. Aber ich bin auch nicht auf ber 100KByte gekommen. Nun ja, wird schon richtig sein... Dann wird nachgesehen, was da so an Laufwerken vorhanden ist. Das mache ich mit der BIOS(10) Funktion. Diese liefert als Rckmeldung einen Wert, der noch Bitweise kontrolliert werden mu. Bit 0 = Laufwerk A , Bit 1 = LW B usw. Dabei habe ich auch daran gedacht, das man ja vielleicht auch eine RAM-Disk installiert hat z.B. als C,D oder G,H. Na jedenfalls kommt mein Programm damit klar. Aber wie gesagt, wenn Sie Scheibenkleisterverdorben sind, oder bei Uli eine EX-Harddisk gekauft haben, knnen Sie dieses Programm vergessen. Mehr als 4 Partitions mag es nicht so richtig. Dann werden ein paar Striche und Boxen gezeichnet, damit die Daten den richtigen Rahmen haben... Um die TOS-Version zu erkennen habe ich nicht etwa einfach mit GEMDOS(48) nachgesehen. Da bekommt man nmlich fr das alte RAM-TOS (1.1) und fr das erste ROM-TOS (1.2 vom 06.02.86) die gleiche Rckmeldung. Also hab ich einfach mal bei der Adresse $FC0018 nachgesehen. In meinem ST-INTERN steht nmlich, da da das Erstellungsdatum sein soll. Falls irgentjemand mit Boot-Roms und RAM-TOS seine Harddisk betreibt (Was eigentlich gar nicht gehen drfte, aber doch funktioniert...) steht an der Adresse natrlich viel Bldsinn, woraus das Programm dann schliet, das Boot-Roms eingesetzt sind. Danach wird nachgesehen, ob ein Blitter im Gehuse verstaubt. Dazu wird die XBIOS(64) Funktion benutzt. Tjaaaa, werden da manche sagen, diese Funktion gibts ja im TOS 1.2 noch gar nicht. Aber das interessiert mein Programm nicht weiter. Wenn keine Rckmeldung kommt, dann ist eben kein Blitter drin. Klare Sache und damit hopp. (War das nicht von Kempowski ?) Und weil ich noch ein wenig Platz hatte, hab ich noch nachgesehen, ob da vielleicht ein Drucker ONLINE am Kabel hngt. Dazu gibt's die Funktion GEMDOS(17). Wenn sie Kapitalist sein sollten, und sich einen LASERdrucker geleistet haben, dann kann ich Ihnen nicht helfen. Ich prfe nur die parallele Schnittstelle, und bin fr DMA nicht zustndig. So, jetzt gehts dann endlich los. Wie sagt mir die Harddisk, wie sie formatiert und partitioniert wurde... Das habe ich mich auch 2 Wochen gefragt. Bis ich in einem uralten Assembler-Buch von Markt&Technik einen Hinweis auf einen BIOS-PARAMETER-BLOCK fand. Da legt das Betriebssystem doch tatschlich eine Liste an, wo drin steht, was das Laufwerk so bietet. Sektorgre,Cluster Anzahl der Daten-Cluster usw. Und mit ein bichen PEEK und BIOS(7,LW) kommt man an die Werte. Blo... irgentwie fehlen da immer 2048 Byte. Wo die hingehren hab ich bisher noch nicht rausbekommen, aber es mten eigentlich zur Datenspeicherung 2 Cluster mehr da sein. Na ja, da mu man mit Leben. Leider steht in diesem BPB nicht, was da so fr die FAT's und das Directory 'draufgeht. Also mute es noch eine andere Mglichkeit geben, um an die wirklich formatierten Sektoren zu kommen. Da bleibt dann nichts anderes mehr brig, als den Bootsektor von jeder Partition auszulesen und zu zerstckeln. Da darf man dann nicht mit INTEL und MOTOROLA Schreibweise durcheinanderkommen. Zum Auslesen des Bootsektors nimmt man den BIOS4 Befehl. Im GfA-Basic 3.0 Handbuch steht auf Seite 12-16 wie man den Befehl anwendet. Aber woher bekommt man da einen Speicherbereich, in den die Daten geschrieben werden ? Zu 64er Zeiten war das eigentlich kein Problem. Irgentwo waren da immer ein paar Bytes brig. Aber man kann doch nicht einfach sagen : So, nun nimm mal den Speicherbereich da irgentwo ab $5000 oder was wei ich wo. Und schlielich programmieren wir nicht in Assembler, wo das Programm eine Anweisung zum Speicherreservieren kennt. Ums kurz zu machen : In meiner Verzweiflung einen freien Speicherbereich zu finden, bin ich beim Durchblttern des 3.0 Handbuchs auf die Seite 2-41 gekommen. Da steht eine Variable HIMEM erklrt, die angibt, ab welcher Adresse der Speicher nach dem Programm wieder frei ist. Na also, da war ja endlich was, wo man mit BIOS4 seine Daten ablegen konnte, und mit PEEK wieder abfragen. So kommt man also an die tatschlich formatierten Partitiongren. Die Gren fr die FAT's sind nicht unbedingt interessant. Das Directory belegt bei Festplatten 256*32Byte = 16 Sektoren (Bei Floppys sind dies 112*32Byte = 7 Sektoren). D.H. das man auf eine Diskette nur max.112 Files speichern kann, und auf einer Harddisk-Partition je 256. Beim TOS 1.4 ist das ein bischen anders. Da knnen es schon mal mehr als 256 Files pro Partition sein. Aber das ist eigentlich uninteressant. Auf jeden Fall mu man wissen, das eine Datei, auch wenn sie nur 1 Byte lang ist, auf der Harddisk mindestens 1024 Byte belegt ! Da wundert man sich dann nicht mehr, wenn bei viel Kleinkram tatschlich hunderte von KBytes verschwinden... Mit dem "normalen" ZEIGE INFO wird die FAT durchsucht, und aus den darin stehenden Programmlngen eine Gesamtbelegungszahl gebildet. Die ist aber relativ uninteressant, denn wohl jeder wird schon mal gemerkt haben, das beim Kopieren von Dateien, die eigentlich passen mten, pltzlich "Disk hat zu wenig Speicher" erscheint. Und daher zeigt das Programm die tatschlich belegten Bytes an. Tja, zur grafischen Ausgabe gibts nicht viel zu erklren. 6 Kreise, die so nach und nach ausgefllt werden. Am linken Rand wird die RAM-Belegung angezeigt. Na ja... Dann werden die aktiven Partitions dargestellt. Ganz rechts dann die gesamte HD, zusammengesetzt aus den einzelnen Partitions. Hmmm, und dann noch die Sache mit der Zugriffszeit. Also, sie sollten nicht annehmen, das diese angezeigte Zahl nun wirklich die wahre Zugriffszeit ist. Sie mssen das mal so sehen. Da gibt es im Atari einen Timer, der eine "Auflsung" von 200msec. hat. Und dann gibt es die Harddisk, die schneller als 100msec. ist. Und wie wollen Sie da eine Zugriffszeit im Bereich von z.B. 50msec. messen ? Also ich hab einfach 100 mal einen Sector von der Platte in den Speicher eingelesen, und die Gesamtzeit durch 100 geteilt. Und so kommt dann zum Schlu eine Zugriffszeit heraus. Der jeweilige Sector, der gelesen wird, wird zufllig ermittelt, aus der Gesamtzahl, der auf der Partition vorhandenen Sektoren. Daraus ergibt sich, das je kleiner die Partition ist, umso krzer auch die Zugriffszeit ist. Nehmen sie den Wert einfach als Anhaltspunkt. Wenn bei Ihnen ganz unten rechts 00.01 Uhr stehen sollte , dann sollten sie sich berlegen, ob Sie sich nicht eine Uhr einbauen lassen , damit mal etwas Abwechslung in's Inhaltsverzeichnis kommt, oder bevorzugen sie etwa die Darstellung als Bild ? Na ja, soll's auch geben... Haben sie wirklich bis hierhin gelesen ??? Respekt,respekt. Das Programm begann mal als 10 Zeiler. Ich hatte gerade seit 2 Tagen meine gebrauchte SH205 und wollte ein kleines Accesory schreiben, das den freien Speicherplatz der Platte ausgibt, aber dann hat's mich mal wieder gepackt, und dabei ist dieses Programm entstanden. Der Source-Code (bldes Wort) hat nach einer Woche etwa 11KByte erreicht, und nach ein wenig berlegen kam ich dann unter 7.5KByte. Man soll gar nicht glauben, was beim Mergen und Verschieben fr ein Bldsinn an den unmglichsten Stellen stehen bleibt. Na, und dann kam der Tag, an dem ich aus versehen das Quell-Programm berschrieben hatte, und nur noch die Compilierte Version brig war. Da mute ich dann nochmal komplett neu anfangen. Dabei ist dann diese Version 3.0 herausgekommen. Ich hoffe das sie nicht nur mir gefllt. Ich hab auch noch ein kleines "Zwischenprodukt" meiner Arbeit mit dazugelegt. Da ist vorgefhrt, wie man mit dem BIOS4 Befehl umgeht. Vielleicht etwas umstndlich, aber dafr bersichtlich. OK, ich wei, sie haben keine Lust mehr meinen Bldsinn weiter zu lesen. Kann ich verstehen. Htte ich auch nicht gemacht. Ich mchte noch kurz darauf hinweisen, wo man sich die ntigen Grundlagen fr ein solches Programm verschafft : ATARI ST Profibuch (SYBEX 1988) ATARI ST Intern (Data Becker) ATARI ST Assembler-Buch (Markt und Technik) GfA Handbuch TOS & GEM (GfA-Systemtechnik) GfA BASIC 3.0 Handbuch (GfA-Systemtechnik) Asterix auf Korsika (EHAPA-Verlag) Nein, Scheibenkleister habe ich nicht gelesen. Fr die musikalische Untesttzung danke ich den PUHDYS aus Ost-Berlin. Das mit den 20,- fr PD-Software mu nun wirklich nicht sein. Ich freu mich schon, wenn Sie das Program nicht gleich wieder lschen... MfG Fitzner Aaaach....Haaaalt....Hab ich doch nochwas vergessen : Ich hab mich vor ein paar Tagen selbstndig gemacht. Bei mir gibts z.B. Lfterschalter, damit der Festplatten oder MEGA-Lfter nur dann luft, wenn es wirklich zu warm wird. Oder auch SCART-Umschalter, die wirklich alle Pin's umschalten. Oder BTX-Decoder, weil Mailboxen auf die Dauer langweilig sind, oder alle Ersatzteile von ATARI,Tandon,Star,NEC,Schneider usw. Neugierig ? Na dann wrd ich einfach mal weitere Info's anfordern. Bis dann... `SNR` Efv*oML m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNXHz2?< NA\pdAxr0XQ)K\NNTZZZ ,hЬlNuN^ ,`NuJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn& 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuN,pNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|@  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</N JFkSFk&aQN `Ha"FFaQL8N6.@JgtBn@Nupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX"l`Yd&-KNN^"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN^"l`QepZNC ҳfHP0(NF$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN^$l` epZNN?<NNTANAN&zN|JBfN pp@pWBg?<NN\pp@pW?<?<NN\HxNJKTut mir leid, aber dieses|Programm arbeitet nicht|in niedriger Auflsung...HPN> hmmm r"_ NANpp@pWBg?<NN\Bg?<?<NN\NN>R.CNVNJ DUMMY VAR11CNVNJDUMMY CNVAN&&<x*<NnNA N:HmpFN"_NnCNV?< NMTANAN"< mN"(NAN&&<x*<N|JBfN!Bg?<?<NN\pp@pWBg?<NN\N!HHuch... Sie haben ja gar|keine Festplatte an Ihrem|ST angeschlossen ?!?|HPN"_NnHPNJ "_NnHPN"_NnHPNJ Ja Ja r"_ NANpp@pWBg?<NN\pp@pW?<?<NN\Bg?<?<NN\N"AN"< gN"RA 0AN"< gN"|A @0AN"< it"_NnCNVpNpN6prNFAN&&<x*<N|JBfN#pp@pWBg?<NN\pp@pW?<?<NN\pp@pW?<?<NN\Bg?<?<NN\pNpNpNpNpNpNpNp N.N#pNpNpNpNpNpNp N.prN*AN&&<x*<NnN&"<NpNpNpNHmN>zn"_NnCNVAN&&<x*<NnN&r N*AN&&<x*<NnN&"<vNAN&&<x*<NnN&r N*AN&&<x*<NnN&"<vNer"_NnCNVpNpN6prNFAN&&<x*<NnN&"<N*AN&&<x*<NnN&"<NAN&&<x*<NnN&"<N*AN&&<x*<NnN&"<NpNpN6prNFAN&&<x*<NnN&r N*AN&&<x*<NnN&"<vNBm"AN&&<x*<NnHAN&&<x*<NnL8AN"AN&&<x*<NnANNN&r N*AN&&<x*<NnANNN&"<vNN`NqNqA f0 <r$<&<x*<AN"AN"/AN&&<x*<NnN&"N*AN"/AN&&<x*<NnN&"NN`NqNqpNBm( <r$<A$NA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*p.NN`NqNqAN&&<x*<N|JBfN+@pNpNpN6prNFp3rN*p3"<N <rN* <"<NpNpNpNprNprNp'rNpNpNpN <rNpNpNpNprN*p"<rN <rN* <"<rNpNpNpN <rN* <"<rNN+fpNpNpNpfrN <lrNpNpNpN6prNFAN&&<x*<NnN&rN*pNHPpN"_NnHPNJ! Harddisk-Info V3.4 "_NnHPpN"_NnHPpN"_NnNZpCNpCTNA* |0Bm( <r$<A$NA$N"/A$N&A*NNN&NXNvNN&<x*<NnCN.A$N&A*NNN&NXNHA$N"CN&<8<*<NnL8NJBfN-nA$N"/A$N&A*NNN&NXNHA$N"CN&<8<*<NnL8NHA$N"CNL8NNCTNpA$N"CTN NUmN-A$N"/p0NHPA$N"CTN "_NnCTNpN`NqpNpNpNA N"N.pCTN HPp.N"_NnHPpCTN "_NnHPp.N"_NnHPpCTN "_NnHPpCTN "_NnCNVpCTN HPN>19"_NJBfN.N> Boot Rom'sCNVAN&&<x*<NnN&rN*N>TOS-Version : HPA"_NnNZAN&&<x*<NnN&"<N*NJ Blitter :NZAN&&<x*<NnN&"<N*NJ Drucker :4NZ?keinerNZN1*AN&&<x*<NnN&"<XN*pNHPp,N"_NnNZA0N"JgN0AN&&<x*<N|JBfN0pNpNpNpN.N0pNpNpNp N.AN&&<x*<NnN&"<mN*NJaus4NZN1*AN&&<x*<NnN&"<mN*N>anNZ?<NATA6NA6N&zN|JBfN2AN&&<x*<N|JBfN1pNpNpNpN.N1pNpNpNp N.AN&&<x*<NnN&"< N*N> nicht bereitNZpNpNpNA N"N.N2ZAN&&<x*<NnN&"< N*pNHPNJ (parallel)4"_NnNZpNpNpNA N"N. <NXA KByte"_NnNZAN&&<x*<NnN&"<N*NJ RAM-Bank 2 = HPAHN&N"_NnHPN> KByte"_NnNZAN&&<x*<NnN&"<N*NJ RAM-Gesamt = HPANN&N"_NnHPN> KByte"_NnNZANN&v NATN:NNATNNAZN:ATN&AZNNA`N:NNATNNAfN:pNpNpNAN&&<x*<NnN&rPN*p.N|A`N&&<x*< NnN&rNpNpNpNA N"N.pC$NpC*NpC0NpC6NpC FormatiertNZAN&&<x*<NnN&rN*NJNutzbar4NZAN&&<x*<NnN&rN*NJ Belegte Bytes4NZAN&&<x*<NnN&rN*NJ Freie Bytes4NZAN&&<x*<NnN&rN*NJRAMNZAN&&<x*<NnN&rN*NJ Ordner / Dat.4NZAN&&<x*<NnN&rN*N> ZugriffszeitNZAN&&<x*<NnN&rN* <NHPNJ 4/89 "_NnHPA"_NnHPNJ' Am Alten See 21 6000 Frankfurt 90 4"_NnHPNHPp"_N"_NnHPNHPp"_NB"_NnHPN> "_NnHPNHPp"_N"_NnHPN> Uhr"_NnNZAN&&<x*<NJBfN9pNpNpNA N"N.AN&&<x*<NJBfN9 AN&vNN&"<QN*NJ Nicht vorh.NZAN&vNN&"<N*NJ Nicht vorh.4NZAN&&<x*<NJBfN9AN&vNN&"<N*NJ Nicht vorh.4NZAN&vNN&"<N*NJ Nicht vorh.4NZpNpNpNA N"N.AN&JBfNGVA$ 0AN&A$NpNpNpNA N"N.A$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*A$N&&<x*<NN&NNZpNpNpNA N"N.A$N&&<x*<NN&?Bg?<N/Bg?<NMAlNA$N"/NNXNHNNXNvNL8NvNC$N.HmA$N"C$N&<8<*<N&<x*<NN&<x*<NNHPN> MByte"_Nn"_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZA$N"/A$N&&<x*<NN&??<NMXNXNvNHA$N&&<x*<NN&??<NMXNXNL8NH <r$<L8NC*N.HmA$N"C*NNHPN> KByte"_Nn"_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZA$N"/A$N"C*Nv NC0N.A$N"C$NArNNArN:A$N"C*NAxNNAxN:N`>NqAN&&<x*<NnN&"<N*N> Gesamte HDNZHmArN&&<8<*<N&<x*<NN&<x*<NNHPN> MByte"_Nn"_NBAN&&<x*<NnN&"<N*ANZHmAxN&NHPN> KByte"_Nn"_NBAN&&<x*<NnN&"<N*ANZArN&&Test "_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZHmNJ luft... "_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZpNpNA$N"NA$N"/A$N&&<x*<NN&NNC6N.A$N"C6NA~NNA~N:A$N"/A$N"C0NHA$N"C6NL8NCTesten ?NZAN&&<x*<NnN&"<N*p NHPNJ = Ja"_NnNZpNpNHPpN"_NnHPpN"_NnCNVHmpN"_NnHPpN"_NnCNVBpANHm <N"_NnCNVN>`NqNqpCNNBpAN/-N4CNN.Hm -CNNN&N"_NnCNVN>`NqNqAN2NCNVHmp N"_NpJBgp/A퀜N&zN|pJBgp$fNHAJNZA퀜 0A CNVHmA "_NpJBgp/N$grpp@pWBg?<NN\pp@pW?<?<NN\pp@pW?<?<NN\Bg?<?<NN\pNpN6prNFpNpNpNBm"AN&&<x*<NnHAN&vNL8AN"prN*AN""<NAN&&<x*<NnN&rN*AN&&<x*<NnHAN&L8NN&"<NN`NqNqNNpNAN&&<x*<NnN&"<N*N> NZAN&&<x*<NnN&"<N*N> NZA$ 0AN&A$NA$N&&<x*<NJBfNK\A$N&&<x*<Nn&<x*<NH <r$<L8NN&/AN&&<x*<NnN&"N*N>------->NZA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*N>RND-TestNZNnA퀢NBm <r$<A퀨NA$N"C$NNN AN:A$N&&<x*<NN&?AN"??<N/?<?<NMAlNN`NqNqNnNHA퀢N&L8N&<x*<NA퀮N:A퀮N&A퀴NNA퀴N:N`NqA$N&&<x*<Nn&<x*<NH <r$<L8NN&/AN&&<x*<NnN&"N*N>------->NZAN&&<x*<NnN&"<N*N>ca. HPAN&A퀴NNNN"_NnHPNJ msec4"_NnNZNpNBmA 0BmA$N&&<x*<NN&NHPN>:\"_NnHPANDNZAN&A퀐NNA퀐N:AN&A퀖NNA퀖N:N"_ANAN ANAN ANAN pNr,NCNV -+@/-?<NA\+@ACNVAN&&<x*<NAN:HmAN&NHPp N"_Nn"_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*Hmp/N"_NnNZHmNJ*.*"_NnHPBASbNZ -JlNPARNZAN&&<x*<NAN:HmAN&N"_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZ?<ONAT+@ -JlNPARNZAN&&<x*<NAN:HmAN&N"_NBA$N&&<x*<Nn&<x*<NN&/AN&&<x*<NnN&"N*ANZ?<ONAT+@`DHmNJ*.*"_NnHPHxASbNZ -JlNR -NX gNQARNZAN0NHp.NN0NL8NJBfNQA퀺N&&<x*<NA퀺N:HmA"_NnHPp\N"_NnHPANDNZ/-?<NA\+@?<ONAT+@ -JlNRARNZ -NX gNRAN0NHp.NN0NL8NJBfNRA퀺N&&<x*<NA퀺N:HmA"_NnHPp\N"_NnHPANDNZ/-?<NA\+@?<ONAT+@`4 <r$<A퀺NNA퀺N:NA CNVA퀢 p0 -+@ -NA퀢NNN&NX$fNS^Hm -NA퀢NNN&NXN"_NnCNVA퀢N@`N AN"_ANHmpN"_NnCNV?- -/?<NNAP+@NN6528138417692872872877713843652833254316159796738711823799287,(.$**f $VX$T\$z&&&B> >>>pP0z4F. 0F. dU.. dUHIDE_100ANL eU"HIDE TTP hUd"HIDE PRG hUd" HIDE.TTP V. 1.00 Ein Programm zum Verndern der Datei-Attribute von Files In GFA-Basic (V. 2.02) geschrieben und mit dem GFA-Basic- Compiler (V. 2.02) kompiliert von Rainer Thiel Knigsteiner Str. 3 D-6200 Wiesbaden, bei dem auch alle Rechte verbleiben. Dieses Programm ist jedoch PUBLIC DOMAIN. Es darf daher frei benutzt, kopiert und weitergegeben, nicht aber verkauft, gegen eine Gebhr verliehen oder berlassen oder sonst in irgendeiner Weise kommerziell genutzt werden. HIDE.TTP ist ein Programm, das das Verndern von Datei- Attributen ermglicht. Von diesen sind nur die wichtigsten erreichbar (nicht zuletzt auch aus Sicherheitsgrnden), nmlich "Normal" (0), "Write-Protected" (1), "Hidden" (2) und "System" (4). Sinn dieses Programms ist es, bequem und schnell in einem Verzeichnis Dateien unsichtbar zu machen, die vorhanden sein mssen, aber niemals vom Desktop aus aufgerufen zu werden brauchen und daher nur die bersicht behindern. H i n w e i s : *.RSC-Dateien sollten als "System"- Dateien deklariert werden, damit das GEM sie findet; die meisten anderen Dateien, die von Programmen nachgeladen werden, knnen auch zu versteckten ("Hidden") Dateien gemacht werden. Es ist aber auch mglich, z.B. alle Dateien oder bestimmte Dateien in einem Verzeichnis mit dem softwaremi- gen Schreibschutz zu versehen. Das Programm kann als *.TTP-File oder als *.PRG-File aufgerufen werden. Wird es als *.TTP-Datei aufgerufen, so sollte man als Kommandozeile eine Suchmaske der zu bearbeitenden Files bergeben sowie - durch ein Leerzeichen getrennt - "n" (fr 'normal'), "ss" (fr 'Schreibschutz'), "h" (fr 'Hidden') oder "s" (fr 'Systemdatei'). bergibt man z.B. die Komman- dozeile "C:\*.rsc s", so werden alle *.RSC-Dateien im Hauptverzeichnis von C: zu Systemdateien und damit unsicht- bar (Achtung! Versteckte Dateien werden vom GEM nicht gefunden!). "D:\GFABASIC\*.GFA ss" versieht dagegen alle Dateien im Ordner "GFABASIC" auf Partition D:, die die Extension "GFA" tragen, mit einem Schreibschutz. - Nheres zu den Dateiattributen finden Sie in der Zeitschrift ST- Computer 8/9 1988 S. 52-58, ein Artikel, von dem ich sehr profitiert habe. Sie knnen das Programm jedoch auch als *.PRG-File aufrufen (durch Umbenennen); dann knnen Sie alle Eingaben ber Fileselect- und Alert-Boxen machen. Auch in diesem Falle knnen Sie beliebig mit Wildcards (*, ?) arbeiten. A c h t u n g : Die Original-Fileselect-Box zeigt nur "normale" und schreibgeschtzte Dateien an, so da Sie in ihr evtl. Dateien nicht mehr finden (Abhilfe: Verwandeln aller Dateien im entsprechenden Verzeichnis in "normale" Dateien unter Verwendung von Wildcards). Die treffliche Box von Martin Patzel zeigt dagegen auch versteckte und Systemdateien an. Nicht sinnvoll ist es, HIDE als *.TOS-Anwendung zu starten. Dagegen ist es mglich, von einer Shell aus HIDE als *.TTP-Anwendung zu starten, auch wenn kein Command- String bergeben wird. Voraussetzung ist nur, da die Shell berhaupt den Aufruf von GEM-Programmen erlaubt; dann wird HIDE.TTP mangels Command-String automatisch als GEM-Programm mit Fileselect- und AlertBoxen betrieben, als sei es unter dem Namen HIDE.PRG aufgerufen worden. Natrlich knnen Sie auch HIDE.PRG einen Command-String bergeben; es verhlt sich dann wie HIDE.TTP. Viel Spa und Nutzen mit dem neuen Programm und bersicht- lichere Festplattenpartitionen wnscht Ihnen Rainer Thiel `"$Q` Efv*oM` m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN 6RTTTTTA預 NuJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N:6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N:<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNrHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXYp-KNu"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNC ҳfHP0(N$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)NR$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN$l` epZN"X0gBPHR@@"D#Nu,jJk `BffAge Jj 2$NuJjNup N"<N@CNN/ -/p""_NzANCNHmp N"_N+@6 -6JfNHmpN"-6"_NtHmHmpN"_NNH <r$<L8NVN"_NRCNHmA NhACNHmA "_NHJBfN4-RNzN@JBfNzt;BRNd\*.*HPA HPA""_N~HmA "_NHJBfNNrHxNdDatei verwandeln in: HPNp HIDDEN | SYSTEM |anderesr"_ N+@N -NSgN*Nd HC0N -NUgNHNd SC0N -NWgNHxNdDatei verwandeln in: HPNd NORMAL |WRITE_PR| cancel r"_ N+@N -NSgNNd NC0N -NUgNNp SSC0N -NWgNNrHmA0"_NCNNJNCommand-String: 4AN6NhNJNhNJN|FileNJNr2N.N old attr.4N>N new attr.4NhNJNhHmp N"_N+@6 -6JgNNrNHm -6NH <r$<L8NVN"_NRC N -6NHAN:NL8NpJBgp/Hmp"-6"_NHPp N"_NHpJBgp$fNVR6`HmAN:NH -6NL8NV&<x*<NZH <r$<L8NN"-6"_NCNHmpNN"_NHJBfNB:HmpHN"_NHJBfN+|:HmpSN"_NHJBfN+|:HmNdSS"_NHJBfNB+|:Hm pN"_NC NA N:+@>pA>NHm p"->"_NHPp\N"_NHpJBgp/Hm p"->"_NHPp:N"_NHpJBgp$VHg NZNN`NqNqHm ->"_NRCNN/?<NA\?<7 - /?<NNAP+@B -BJgN ^pN*CNN/ -/p""_NzHmHmHmpN"_NNH <r$<L8NVN"_NR"_NCNNN:VHpJBgp/NNN&<x*<NxpJBgp$fN NNJAN6NJNr2N.NNNN> -:NNhHm/-:A!Nh?<ONAT+@B`4-RNzN@JBfN NJNhNJN| - Press any key to quit -NhpNNrN ANNdNDNr"_A$NA$CNHmp"_NzHPp N"_NHJBfN!DHmAN:NH <r$<L8NVN"_NRCN`Hmp"_NRHPp N"_NHJBfN!HmAN:NH <r$<L8NVN"_NzCN`NNr AFN"_A*NHm*pN"_NC*N?-H?< -*/?<CNA +@J -JJmN"prNZNJ -JNNhNNrb(b. lU.. lUREADME HYP mUHYPMOD PRG rUHYPFM2_6TOS uUINST2_6 TOS xUR SPEED TOS {U7HYPMOD TXT U)V2_60 TXTU.BENCH1 TOS U3)D_NEWS U>******************** ** ACHTUNG! Die Anleitung bercksichtigt noch nicht die nderungen ** in der Version 2.6 - bitte dazu V2_60.TXT lesen! ******************** ** ATTENTION! This manual doesn't refer to the changes in version ** 2.6 - please read V2_60.TXT! ******************** These instructions are included in German and in English. First German: Hallo, ST-Leidensgenosse! Anbei die Geheimwaffe gegen Geldbeutelschwund durch Diskettenkauf: HYPERFORMAT (C) 1987 Claus Brod Es erreicht Dich nicht in der Fassung, die in der ST-Computer 6/87 abgedruckt ist, sondern in der stark verbesserten Version 2.57. Hier ein paar Hinweise zur Bedienung, falls Du den Artikel nicht gelesen hast. HYPERFORMAT formatiert 11 Sektoren pro Spur. Damit erreicht man bei 83 Spuren (also Spur 0 bis einschlielich Spur 82) ber 927000 freie Bytes auf einer Diskette - Weltrekord! HYPERFORMAT ist mit Bedacht flexibel ausgelegt. Es verfgt ber einige Optionen, die Du zu schtzen lernen wirst... T Tracks, Anzahl der Spuren. Wieviel Du einstellst, hngt von Deinem Laufwerk ab. Schlgt es beim Formatieren der letzten Spuren an, mut Du diese Anzahl herabsetzen. Da das Programm aber nicht in Dein Laufwerk gucken kann, ist es erlaubt, diesen Parameter von 80 bis 86 zu verstellen. Achtung: T=86 bedeutet, da Spur 0 bis einschlielich Spur 85 formatiert wird. E Executable, Ausfhrbarkeitsflag. Steht es auf 'n', wird eine ganz normale Diskette formatiert. Wenn E='y' ist, wird ein ausfhrbarer Bootsektor auf die Diskette geschrieben; damit kann man von dieser Diskette ein TOS.IMG booten (das man aber noch draufkopieren mu!). Wenn E='n' eingestellt wird, schreibt HYPERFORMAT trotzdem den ATARI-Booter auf die Diskette; er wird nur nicht ausfhrbar gemacht. Das nur fr diejenigen, die den ATARI-Booter fr ein Virus halten. D Directory entries, Verzeichniseintrge. Normalerweise sind im Wurzelverzeichnis einer Diskette 112 Eintrge erlaubt, in den Ordnern allerdings beliebig viele. 112 (=$70) Eintrge (Voreinstellung) sind recht viel, meistens reicht auch ein kleinerer Wert, was auf der Diskette Platz spart. S Sides, Seiten. 1 bei einseitigem Laufwerk, 2 bei doppelseitigem. Auf dem einseitigen Laufwerk bringt HYPERFORMAT bei 83 Spuren immerhin noch gut 460000 Bytes. I Interleave, Sektorversatz. Normalerweise sind die Sektoren auf der Diskette so angeordnet: 1 2 3 4 5 6 7 ... 11. Der numerische Abstand der Sektoren heit Interleave-Faktor. HYPERFORMAT verwendet einen Interleave-Faktor von 6 (also 1 7 2 8 3 9 4 10 5 11 6), was besonders Speed bringt, wenn ein FASTLOAD installiert ist (siehe dazu auch unten). Wenn kein FASTLOAD verfgbar ist, liegt der optimale Interleave-Faktor bei 3 oder 4, das mu man ausprobieren (abhngig vom Laufwerk). V Verify. Beim Formatieren findet normalerweise nur ein ober- flchlicher Fehlercheck statt. Mit dieser Option kann man beim Formatieren jeden einzelnen Sektor prfen lassen - was natrlich Zeit kostet. Zu empfehlen vor allem, wenn man neue Diskettenmarken oder ein neues Laufwerk ausprobiert. U Disk Unit, Laufwerk. HYPERFORMAT kann auch auf Laufwerk B formatieren, allerdings nur, wenn es auch beim Booten angeschlossen und eingeschaltet war. Ist nur ein Laufwerk installiert, verweigert HYPERFORMAT bei diesem Parameter jede Kooperation und bleibt steif und felsenfest bei 'A'. Soviel zu den Formatierparametern. Auerdem bietet HYPERFORMAT ein paar Extratasten... CR Formatieren starten. Man wird aufgefordert, eine Diskette einzulegen und eine Taste zu drcken. Genau das ist der Zeitpunkt, zu dem Du die Systemdiskette aus dem Laufwerk pulen solltest!!! Beim Formatieren wird der aktuelle Track angezeigt; tritt ein Fehler auf, meldet sich HYPERFORMAT und bricht das Formatieren ab. Nach dem erfolgreichen Formatieren folgt die Frage nach einem Diskettennamen. Soll die Diskette namenlos bleiben, gengt hier RETURN. Ansonsten mu der Name den GEMDOS- Konventionen folgen. Vorsicht hier vor Steuerzeichen! Danach kann man sich entscheiden, ob man noch eine Disk formatieren will. ^C (CTRL C) Bricht HYPERFORMAT ab. Drckt man whrend des Formatierens ^C, kann man auch aus HYPERFORMAT aussteigen - allerdings nicht unter Programmkontrolle, das macht GEMDOS. Ich hab's trotzdem dringelassen, wer wei, vielleicht ntzt es dem einen oder anderen ja auch. B Bootsector. Formatiert nicht die ganze Diskette, sondern nur den Bootsektor, die FAT und das Wurzelverzeichnis neu. Damit spart man sich das komplette Neuformatieren, wenn man nur mal schnell eine doppelseitig formatierte Diskette auf einseitig umtrimmen will. Dazu stellt man zum Beispiel nur 'Sides' auf 1, drckt 'B', und zwei Sekunden spter ist die Diskette konvertiert (Daten gehen allerdings - zumindest logisch - verloren). Auch hier wird man nach einem Diskettennamen gefragt. H Help. Ruft eine auf englisch verfate HELP-Seite auf, die der Verbreitung dienen soll. Seit der in der "ST-Computer" 6/87 abgedruckten Fassung hat sich viel bei HYPERFORMAT getan. Einige Vernderungen: die Optionen Disk Unit und Verify sowie die HELP-Seite. Auerdem ist HYPERFORMAT jetzt betriebssystemunabhngig, das heit, es luft sowohl auf den alten STs mit dem alten RAM- oder ROM-TOS (sogar mit den Uralt-Disketten- TOS-Versionen!) als auch auf den alten STs mit neuem BlitterTOS als auch auf den MegaSTs - was man nicht von allen Programmen behaupten kann. Die Datensicherheit wurde noch einmal erhht, auch schneller drehende Laufwerke haben jetzt gute Chancen. Bis zur PD-Version V2.56++ kitzelte HYPERFORMAT auerdem zustzliche 2 KB aus der Diskette heraus, indem ein GEMDOS-Fehler ausgetrickst wurde. Dieser Fehler steckt in allen bisher bekannten TOS-Versionen und bewirkt, da auf jedem Medium grundstzlich 2KB zuwenig freier Speicherplatz gemeldet wird. Die frheren HYPER-Versionen erhhten daher die Anzahl der Sektoren im Bootsektor um 4 und gaukelten GEMDOS so eine um 4*512=2KB grere Diskette vor. Das brachte zwar vereinzelt Schwierigkeiten mit manchen Diskmonitoren, war aber zu verschmerzen, wenn man bedenkt, da man dafr bei 83 Spuren und 64 Verzeichnis- eintrgen auf satte 929792 Bytes auf einer doppelseitigen Diskette und bei einseitigen Disks auf 461824 Bytes kam. Aus Kompatibilittsgrnden (KAOS, knftige TOS-Versionen) verzichte ich mittlerweile auf diesen Trick; wer die zustzlichen 2 KB nicht missen mchte (mein Mitgefhl!), kann sich von mir ein Progrmmchen namens 2KPATCH.PRG besorgen, das dem Fehler zu Leibe rckt, aber auch nicht ohne Nachteile ist. Am besten ist es, man nimmt den Fehler einstweilen zhneknirschend in Kauf - aber nicht ohne einen entrsteten Brief an ATARI wegen dieses Fehlers zu schicken. Vielleicht hilft das. Disketten, die mit frheren HYPERFORMAT-Versionen formatiert wurden, knnen mit HYPMOD.PRG (auch in diesem Ordner, siehe auch Doku dazu) so modifiziert werden, da auch hier die Bootsektor-Parameter ent-trickst werden. Es ist wirklich schade, da ich den Trick in die Wste schicken mu, aber im Sinne einer sauberen Programmierung ist das einfach ntig. Mehr dazu in HYPMOD.TXT. Ab der Aufenau-Version 2.54 spuckt das Programm auch schnuckelige Fehlernummern aus. Bei Problemen bitte immer mit angeben. V2.54 und sptere Versionen beheben auerdem einen recht mysterisen Fehler auf Mega-STs. Andere Verbesserungen betreffen nur den Text auf dem Schirm und die innere Struktur des Programmes, was Dir aber wurschtegal sein kann, solange Du HYPERFORMAT nur benutzt, um die Diskettenhersteller zu rgern. Du bekommst HYPERFORMAT fr'n angefaulten Appel und 'n rohes Ei. Dafr bitte ich Dich um wenigstens einen kleinen Gefallen: Solltest Du Fehler finden oder Probleme haben, la es mich wissen. Meine Adresse findest Du am Ende dieser Datei. Wenn Du HYPERFORMAT weitergibst, kopier bitte auch diese Datei mit, damit sich die Leute bei Problemen an mich wenden knnen. Sollte HYPERFORMAT bei Dir nicht laufen, kann das verschiedene Grnde haben: 1. Du hast selbst etwas falsch gemacht. Lies Dir nochmal diese Anleitung oder auch die in der 'ST-Computer' 6/87 und die Bemerkungen in nach- folgenden Ausgaben durch. 2. Dein Laufwerk dreht zu schnell. Fr diesen Fall habe ich Dir auf diese Diskette das PD-Programm SPEED.TOS kopiert, mit dem Du die Drehzahl Deines Laufwerks ermitteln kannst (lnger laufen lassen). Auch COPYSTAR hat mittlerweile eine solche Option. Von der per SPEED.TOS ermittelten Drehzahl mut Du - da es nicht richtig mit - etwa 3 bis 3.5 Umdrehungen abziehen; bei COPYSTAR liegt der Fehlerbetrag bei etwa einer Umdrehung, die es zuviel mit. Sollte die (korrigierte) Drehzahl ber 301.5 liegen, ist das wahr- scheinlich der Grund fr die Fehlfunktionen. Wie man ein zu schnell drehendes Laufwerk drosselt, ist eine lange Geschichte. Sie ist unter anderem nachzulesen in einem Buch von mir, SCHEIBENKLEISTER, das es seit Mrz '88 zu kaufen gibt (beim Buch- hndler oder bei der MAXON GmbH, Eschborn). Zum Buch gibt es auch HYPERFORMAT 3.0x. Wer sich weder von mieser Schleichwerbung wie dieser oder von albernen Drosselanleitungen verleiten lassen mchte, das Buch zu kaufen, kann natrlich auch direkt bei mir nachfragen - man ist ja kein Unschlumpf. 3. Du verwendest miese Disketten. Wenn ich weiter - wie frher - Namen nenne, handle ich mir vielleicht noch rger ein; darum halte ich mich lieber zurck. In letzter Zeit gibt es auch keine Faustregeln mehr, an die man sich beim Diskettenkauf halten knnte. Mein Eindruck ist, da die Qualitt der Disketten in den letzten zwei Jahren stark nachgelassen hat. No-Names sind nicht immer schlechter als Markendisketten, und einseitige Disketten haben sich bei mir auch auf der Rckseite des fteren als zuverlssiger erwiesen als die zweiseitigen teuren Vettern. Hier hilft nur eigenes Experimentieren. (Nicht zuletzt laufen bestimmte Diskettenmarken auf manchen Laufwerken besser als auf anderen!). 4. Manche Laufwerke haben Probleme mit dem Indeximpuls; er kommt dort nicht immer genau an der gleichen Stelle in der Spur. Da HYPERFORMAT die Spur recht gut ausnutzt, kann das bei solchen Laufwerken natrlich zu Problemen fhren - auch wenn sie vielleicht mit 9- oder 10-Sektor- Formaten einwandfrei laufen. Nochmal: Solltest Du einen Fehler bemerken, dann schreib mir mit der genauen Fehlerbeschreibung (Konfiguration Deines Systems, Drehzahl Deines Laufwerks, Lage des Fehlers nach Spur und Sektor, verwendete Disketten, die FEHLERNUMMER (!!), die HYPERFORMAT ausspuckt, etc.). Noch besser wre es, wenn Du mir eine HYPERFORMATierte Diskette schickst, die Dein Laufwerk nicht verkraftet hat, damit ich sie in Ruhe analysieren kann (Du bekommst Deine Disk natrlich wieder). Hier die Adresse: Claus Brod Am Felsenkeller 2 8772 Marktheidenfeld Tel. 09391/3206 Abgesehen davon habe ich natrlich nichts gegen freiwillige Spenden, wenn Du HYPERFORMAT regelmig benutzt (schlielich sparst Du Dir eine Menge Disketten); solche milden Gaben wirken uerst belebend auf meine Neigung, mehr solche Programme dem public-domain-Markt zu bergeben. Wie wre es mit einem Zehner fr die notleidende studentische Schicht (als kleiner Bafg-Ersatz)? Keep hacking, CB PS: Jaja, das FASTLOAD-Problem. Solltest Du nur ein Disketten-TOS und ein FLOAD.PRG besitzen oder ein TOS im ROM mit einer FASTLOAD- Modifikation, ist ja alles in Butter: Dann laufen HYPERFORMAT-Disketten mit einem Interleave von 6 optimal schnell bei Dir. Solltest Du allerdings Deine ROMs noch nicht ausgetauscht haben, wird's knifflig. Man verwende eine passende FLOAD.PRG-Version (gibt es fr altes und fr neues TOS). Vorsicht vor FLOAD_V3.PRG! Es hat einen rgerlichen Fehler, der sich mit Bomben bemerkbar macht, wenn man versucht, einen Bootsektor zu schreiben. Man kann bei mir eine korrigierte Version bekommen (Diskette und frankierten Rckumschlag schicken). Natrlich wird das auf die Dauer lstig, wegen eines doofen Bytes (eigentlich ist es nur ein einziges Bit!), das im ROM gendert werden mte, immer ein Extraprogramm mitzubooten. Mittlerweile findet man in den Anzeigenteilen der Zeitungen von Inseraten, in denen spezielle FASTLOAD-EPROMs angeboten werden (ca. 30DM). Solltest Du beim besten Willen so einen Hndler nicht finden, kannst Du Dich zur Not auch an mich wenden. Ich bin zwar nicht billiger als der Hndler (auch 30 DM) und auch nicht schneller (mu mir dann immer erst ein paar EPROMs besorgen), aber immerhin kommst Du so wirklich an ein FASTLOAD-EPROM. Mit Einbauanleitung, versteht sich. Wenn Du selbst ein EPROM hast und es nur nicht brennen kannst, schick mir das EPROM und 15 DM und ich brenn es Dir auf FASTLOAD um (wenn das EPROM dazu taugt, es mssen 27256er sein, Zugriffszeit mglichst weniger als 250ns, Programmier- spannung 12.5 Volt). Damit das klar ist: Das ist ein Extra-Service, der bitte nicht zu stark beansprucht werden sollte - nur fr Notflle! Bitte den ST-Typ und das Kaufdatum angeben (neuere STs haben nicht mehr 6 PROMs, sondern nur noch 2... dann wird's kniffliger)! In letzterer Zeit verdichten sich die Hinweise darauf, da nicht jedes Laufwerk mit FASTLOAD klarkommt. Auch hier kann ich wieder schlecht Markennamen nennen... wieder hilft nur Austesten. Man kann das auspro- bieren, indem man einfach eine Weile mit der Softwarelsung FLOAD experimentiert und erst dann ein EPROM brennt, wenn man keine negative Folgen bemerkt. Das Problem ist, da die Laufwerkshersteller immer mehr an ihren Produkten sparen (so scheint's zumindest), so da zum Beispiel die Nachschwingzeiten - vor allem beim Schreiben - immer bedrohlicher werden. Eine recht optimale Lsung: KAOS, ein von Andreas Kromke modifiziertes TOS, das beim Lesen per FLOAD-Methode arbeitet, aber nicht beim Schreiben. PS2: Ein kleiner Ausblick auf die Zukunft von HYPERFORMAT: 1. HYPERFORMAT 2.57 (die vorliegende Version) wird wohl bis auf weiteres die letzte Version sein, die ich dem PD-Markt bergebe. Die nchste verffentlichte Version ist die V3.x, die nur zusammen mit dem SCHEIBENKLEISTER zu bekommen ist. Da ich diese Version nicht PD machen kann, drfte wohl einleuchten. 2. HYPERFORMAT 3.2, die im Moment neueste Version aus dem SCHEIBENKLEISTER, bietet einige Schmankerl: - luft als .PRG und als .ACC - MS-DOS-kompatible Formate (allerdings sitzen in MS-DOS noch einige - zudem noch implementierungsabhngige - Bugs, die es verhindern, da ein MS-DOS-Rechner mit einem 11-Sektor-Format einwandfrei umgehen kann; selbst MS-DOS 3.3 verschluckt sich dabei frchterlich. Vielleicht wird's mit MS-DOS4.0 besser). - Fixere Formatierroutinen: Quickformat (20s fr einseitige Diskette, 35s fr doppelseitige) und Super-Quickformat (20s fr doppelseitige Diskette, luft leider nicht mit jeder Floppy) - Vielfltig einstellbare Parameter: Interleavefaktor, Spiralisierung (fr FASTLOAD-Formate, werden doppelt so schnell gelesen und beschrieben), zustzliche Header, Steprate, Sektoren pro Cluster, Kopfberuhigungszeit... - Mit Standardformaten belegte Funktionstasten - weiter verbesserte Datensicherheit, viele kleine Verbesserungen, zum Beispiel: HYPERFORMAT 3.0 formatiert rckwrts, das heit, es fngt bei Spur 80 zu formatieren an und arbeitet sich zu Spur 0 vor. Vorteil: Hat man versehentlich die falsche Diskette im Laufwerk liegen (meistens die wichtigste Arbeitsdiskette von allen), hat man noch eine ganze Weile Zeit, seinen Fehler zu bemerken, bevor wirklich alles verloren ist (die Verwaltungs- strukturen sitzen nmlich auf den ersten Spuren). - mitgelieferter Quellcode (>100K, Zeile fr Zeile kommentiert) - mit kleinem Hardware-Trick (Kosten: <10 DM) maximal 14 Sektoren pro Spur: 1.2 MB pro Diskette! - zusammen mit SCHEIBENKLEISTER II und weiterer umfangreicher Software (TED, der Trackmonitor; SED, der Sektormonitor; viele Utilities; kompletter Plattentreiber; superfixe resetfeste RAM-Disk...) auf randvoller 10-Sektor-Diskette (unkomprimiert: ber 1.2 MB Software!) fr schlappe 79 DM. Zudem bietet SCHEIBENKLEISTER die erste wirklich zutreffende Dokumentation der ATARI-Festplatten, viel Grundwissen ber Floppy, Festplatte, deren Controller und Programmierung, auerdem Ausflge in die Welt der Streamer, CD-ROMs, Wechselplatten... aber jetzt genug Werbung gemacht. 3. Mittlerweile gibt es auch gengend Kopierprogramme, die mit HYPERFORMAT zurechtkommen (COPYSTAR2.2, COPY II ST, das GDATA-Copy, auerdem einige PD-Kopierprogramme, allen voran BITTE EIN BIT). Das lstige Kopieren per Desktop entfllt damit auch. Auerdem konnten gute Kopierprogramme schon immer HYPER- FORMAT-Disketten kopieren, wenn auch nicht formatieren - das heit, die Zieldiskette mute eben schon vorformatiert sein. Zu dieser Klasse zhlen zum Beispiel MIDUPE82 und FCOPY2.0. ********************************************************************* *NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU NEU* ********************************************************************* Die Voreinstellungen in HYPERFORMAT gefallen nicht jedem. Wer beispiels- weise ein Laufwerk hat, dessen maximale Spuranzahl 81 ist, mu vor jedem Formatieren ein paarmal auf 'T' drcken, bis die Spuranzahl 81 einge- stellt ist. Das ist auf die Dauer ein wenig lstig. Um dem abzuhelfen, liegt HYPERFORMAT jetzt ein kleines Installationsprogrmmchen namens HYPINST.PRG bei. Es erfragt die Parameter und schreibt sie ins HYPER-Programm; damit sind sie dauerhaft gespeichert, und nach dem nchsten Start von HYPERFORMAT erscheinen diese Parameter im Men. ACHTUNG: HYPINST erlaubt Ihnen, in einer Dateiauswahlbox Ihre HYPERFORMAT-Kopie zu lokalisieren. HYPINST prft *nicht* ab, ob es sich bei der ausgewhlten Datei wirklich um HYPERFORMAT handelt; allerdings wird auf die passende Lnge der Versionen V2.57 und V2.56++ (5072 Bytes; nur mit diesen Versionen funktioniert HYPINST!!!) geprft, was in den allermeisten Fllen sicher sein sollte. Die Parameter, die Sie eingeben, werden *nicht* auf Plausibilitt geprft! Sie sind also selbst fr allerlei seltsame Effekte verantwortlich, wenn Sie die Parameter nicht in den vorgeschlagenen Grenzen halten. Machen Sie sich also vorher eine Sicherheitskopie von HYPERFORMAT!!! ********************************************************************* And now in English (only roughly equivalent with the German text)... Hi, ST-Mate! On this disk you find the secret (?) weapon against wallet shrinkage (through permanent disk need): HYPERFORMAT (C) 1987 Claus Brod It comes in a different version than the one published in the German magazine "ST Computer" 6/87 but in a widely improved version 2.57. In the following you find a few hints on how to get on with it. HYPERFORMAT formats 11 sectors per track, giving you more than 927000 free bytes on a 83-track disk - world record! HYPERFORMAT has been designed to be flexible for your individual needs. It has a few options you really will esteem: T Number of tracks. Watch out! If you format too many tracks your drive will get a real kick out of it: Not all the drives are compatible with 82 or 83 tracks. Experiment! If your drive makes a sound like "Cllllug" when formatting the upper tracks then you're on the wrong side. E Executable: 'n' for a non-executable normal disk. 'y', if you want to have a bootable system disk (where you can boot a TOS.IMG from which you will have to copy onto the disk after formatting). HYPERFORMAT always writes an ATARI-compatible bootsector; some virus killers believe this standard bootsector to be a virus even if it was not made executable. Use sound virus killers like VDU or SAGROTAN. D Directory entries. Normally, 112 entries are allowed with the standard DESKTOP format utility, which is pretty much; in most cases, reducing the root directory to a size of 48 entries ($30) will be sufficient but provokes a mysterious GEMDOS bug from time to time. Hence, this option defaults to 112 entries. S Sides. 1 for a single sided drive, 2 for a double sided one. HYPERFORMAT squeezes more than 460000 free bytes out of a single sided 83-track disk. I Interleave factor. Normally, sectors are numbered subsequently: 1 2 3 4 5 6 7 8 9 ... 11. The numeric distance between sector numbers is called interleave factor. HYPERFORMAT has an interleave factor of 6 (which creates a sector sequence of 1 7 2 8 3 9 4 10 5 11 6) which makes for speed when a FASTLOAD is integrated into your system. If there is no FASTLOAD installed, the optimal value for interleave is 3 or 4 (depends on your drive). V Verify. When formatting, only a superficial error check is done. With this option you can check every single sector for format errors - which costs a lot of time, naturally. I recommend you to activate verify when trying out new disk brands or drives. U Disk Unit. HYPERFORMAT can format on drive B, too, but only if B was plugged into the computer and switched on while booting. If only one drive is installed, HYPERFORMAT refuses to switch to B. Apart from that, HYPERFORMAT offers a few extra keys... CR Start formatting. You are asked to insert a disk and to press a key. This is the time to pull your system disk out of the drive! While formatting, HYPERFORMAT displays the track that has just been formatted; when there is an error, HYPERFORMAT cancels formatting and displays an error message. After successful formatting you are asked for a disk label for your new disk. If you don't want to christen the new disk, just press RETURN. The disk label must be GEMDOS-compatible, but some special keys are allowed that are refused in the DESKTOP format utility. After naming the disk you can decide upon formatting another one. ^C (CTRL C) cancels HYPERFORMAT. While formatting, ^C also cancels, but in this case not under program control. I've not removed this possibility for someone might need it someday, somehow, somewhere.... B Write Bootsector. Doesn't format the whole disk but only writes boot sector, FAT and root directory, thereby saving a whole lotta time to format the disk completely if you only want to free the disk or "convert" a DS disk to SS. In this case, you just press B with the side parameter = 1, and 2 seconds later the disk is single sided. Afterwards, you are asked for a disk label. H Help. Displays an English help screen. Since the first version of HYPERFORMAT was published in Germany's leading ST magazine "ST-Computer" (issue 6/87), there have been many changes. Some of them are the options 'Disk Unit' and 'Verify' and the help page. HYPERFORMAT is now independent of the TOS version installed in your ST and works on every ST, be it an old 520ST with RAM-TOS or be it a MegaST4. Data safety has been improved again, even fast spinning drives have good chances to be HYPER-compatible now. In earlier versions, I tickled 2 extra kilobytes out of GEMDOS which is extremly faulty when calculating the available disk space. I did this by manipulating the 'sectors per disk' parameter in the disk's boot sector. I'm being told that there are TOS versions that don't have this GEMDOS bug anymore (i.e. KAOS), so I abandoned this trick for compatibility reasons. Whoever doesn't want to lose those 2 KB on each disk may feel free to obtain a little program called 2KPATCH.PRG from me which may be used to kill this bug. It has its disadvantages, though, and so it seems best to ignore the problem until ATARI comes up with an improved TOS version (write to ATARI and tell them about their sins - this may help). Disks that were formatted with earlier HYPERFORMAT versions should be re-patched to correct the manipulated 'sectors per disk' parameter. Use HYPMOD.PRG for this task; instructions in HYPMOD.TXT. V2.54 (Aufenau version) and the following give more information when there is an error. Please report the error code if you have trouble with HYPERFORMAT. V2.54 and later versions avoid a mysterious bug found when running HYPERFORMAT on MegaSTs. Other improvements only concern the display and the inner structure which is, of course, of minor importance to you. I ask you for one favour: Please write me reporting the behaviour of HYPERFORMAT, your wishes, ideas for new versions et cetera. I'm still doing a lot of research for HYPERFORMAT and am improving it constantly. You find my address at the end of this file. Please copy HYPERFORMAT together with this info file so that people can call me or write to me if there are problems. If HYPERFORMAT doesn't work there are a few possible explanations: 1. You did something extremly silly. Please read the instructions. 2. Your drive spins too fast. To find out more about it, I have included SPEED.TOS into your HYPERFORMAT folder which checks the drive speed. Unfortunately, SPEED.TOS is slightly wrong: Subtract 3 to 3.5 from the displayed rotation speed. If the (corrected) speed exceeds 301.5 rpm this is very likely to be the reason for your problems. You'll find suggestions on how to adjust rotation speed in disk drives in my floppy & hard disk book 'SCHEIBENKLEISTER' (available in the German version since March 88 from your local book store if you live in Germany, Austria or Switzerland or directly from MAXON GmbH, Industriestrae 26, D-6236 Eschborn). SCHEIBEN- KLEISTER also (proudly) presents HYPERFORMAT V3.x. 3. You use bad disks. I could talk about different don't-use-brands but that will probably cause some trouble to me; there are no definite rules which say: Buy this one, avoid that one - disk quality seemed to be higher in those good ol' days when I bought my ST. The only thing that helps: Your own experience. Try and enjoy... 4. Some drives have a rather unreliable index pulse; as HYPERFORMAT uses a bigger portion of the track this will more likely lead to trouble on those drives even if 9- or 10-sector formats run painlessly. If an error occurs, write to me with full details about the error (system configuration, rotation speed of your disk drive, track & sector of the error, the ERROR CODE that HYPERFORMAT displays, et cetera). Even better: Send me a HYPERFORMATted disk that you couldn't read or whatever with your drive. I can analyse it very deeply here (of course, you get your disk back), but don't forget to include the rest of the error information mentioned above. Here's my address: Claus Brod Am Felsenkeller 2 D-8772 Marktheidenfeld (West Germany) Phone: 049-9391-3206 (inside Germany: 09391-3206) or (in the time when I study which is from November to February and from May to July, inclusively): Claus Brod D-8524 Groenbuch 109 (West Germany) Apart from that, I'm of course not against donations for HYPERFORMAT if you use it regularly (think of the money you save using HYPER- FORMAT - you save about 20 to 30 % of your disks!). How about 10 or 20 DM or the equivalent sum in other currencies (in banknotes or cheques or international reply coupons, please)? Keep hacking, CB NB: Oh yes, the FASTLOAD problem. If you're using a disk based TOS and a FASTLOAD program or a ROM-TOS with a FASTLOAD modification, there's no problem: HYPERFORMAT disks will run at best speed (with a interleave factor of 5 or 6), depending on the application even faster than ordinary disks. With ROM-TOS, use some other version of FLOAD for old TOS or BlitterTOS. Beware: FLOAD_V3.PRG has a bug that lets your ST throw bombs when writing a boot sector. You may obtain a corrected version from me - just send me a disk and a stamped, self-adressed envelope. I do understand that some folks out there will get really angry waiting for FLOAD to boot every time they switch on their ST. There are ways around it: Buy a commercially dealt FASTLOAD-EPROM (U7 - or U10 for MegaSTs). Ask a friend to do it for you. Or write to me. I'm not cheaper than a dealer (approx 30DM + postage) and not faster (if I have to find new sources for EPROMs), but you can rely on getting your FASTLOAD EPROM. If you already have an EPROM and don't want to program it yourself, send me the EPROM and 15 DM (+ postage) and I'll do it for you. EPROMs must be of 27256 type, 250ns access time or less, programming voltage 12 volts. If you have a MegaST with its ROM in two PROMs instead of six, you will have to manipulate the motherboard in order to switch back to 6-PROM-mode. Please indicate the type of ST you own. Note: This is an extra-service which is meant for emergency cases only. Otherwise, if you don't want to have FASTLOAD at all, select an interleaving factor of 3 or 4 to improve the speed. With some drives, there have been some difficulties with FASTLOAD methods ('Data corrupt - Check your drive and cables...'). Again, I could tell you something about special drive manufacturers; I don't want to get into a serious trouble with them (I'm just one of those little users), so I won't tell you. (Choose a) Drive with care! NB2: Just a little outlook to the future of HYPERFORMAT: 1. HYPERFORMAT V2.57 (this version) will be last version in the public domain. The next version is V3.0, and the only way to get it is to buy my SCHEIBENKLEISTER book. 2. HYPERFORMAT 3.2, the current commercial version, has quite a lot of additional goodies: - runs as .PRG and .ACC - MS-DOS compatible formats (MS-DOS and PC-DOS are quite buggy when forced to recognize strange disk formats, so 11-sector-formats won't run with MS-DOS, sorry. Maybe the situation will improve with the advent of OS/2 but I doubt it) - very fast format routines: Quickformat (20 secs for a one-sided disk, 35 secs for a double-sided one) and Super-Quickformat (20 secs for a double-sided disk, doesn't work with all drives) - many parameters: interleave factor, spiralizing (for fast loading formats that will be read twice as fast), additional headers, step rate, sectors per cluster, sectors per track... - standard formats on function keys - many small improvements and tricks; one example: HYPERFORMAT 3.x starts formatting with track 80 instead of track 0. Doing so leaves you precious seconds to realize that you are just about to format your most valuable system disk. Starting with track 0 would zero all the bookkeeping data on the disk immediately. - with >100 KB source code, fully commented - with a tiny hardware trick (costs less than 10 DM): Up to 14 sectors per track, which sums up to 1.2 MEGABYTES PER DISK!!! - with the SCHEIBENKLEISTER II book and more powerful software (TED, the track monitor; SED, the sector and hard disk monitor, and many utilities; complete hard disk driver; extremly fast reset-resistant RAM disk...) on a completely filled double-sided 10-sector-disk (unpacked: >1.2 MB of software!) for 79 DM. The SCHEIBENKLEISTER book offers the first accurate and correct (!) documentation of ATARI's hard disks, a lot of basic knowledge concerning floppies, hard disks, controllers and programming; you will even read something about streamers, CD-ROMs and the new removable hard drive from ATARI. 3. Now that there are many copy programs that can copy HYPER-disks (COPYSTAR V2.2 or higher, ACOPY, a copy program by GDAT, some PD copy programs, for example BIT32.PRG) you won't have to copy HYPERFORMATted disk with the desktop's file copy. The desktop disk copy option won't copy any 10- or 11-sector- disks. ********************************************************************* *NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW* ********************************************************************* The default values in HYPERFORMAT are not universally ideal for everyone. If you own a drive with maximum track #80, you'll have to press 'T' repeatedly each time you start formatting. This is annoying. To cure this, I include a small installation program called HYPINST.PRG. It asks you to input the desired parameters and writes them directy into HYPERFORMAT.PRG so that you are presented with your own personal menu when starting HYPERFORMAT. ATTENTION: HYPINST lets you locate your copy of HYPERFORMAT in a fileselect box. HYPINST does *not* check if the chosen file is actually HYPERFORMAT; it does, however, check for the correct length of versions V2.57 and V2.56++ (5072 bytes; HYPINST won't work with any other version!!!) which should be safe in most cases. The parameters you type in are not checked for plausibility. You are the one who's responsible for strange effects with HYPERFORMAT if you choose values other than the suggested ones. So make a backup copy of HYPERFORMAT before you start fiddling around with HYPINST! `Qv` Efv*oM2 m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALN6Hz2?< NA\pdAxr0XQ)K\NNl888888JrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn* 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuN0pNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|D  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.DJgtBnDNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dr$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNCDEHHNNNL8NrL8NJBgRBNuJBgCjtNu$@Hz ?<&NN\NupNu$@Hz ?<&NN\Nup0NuE`$@Hz ?<&NN\Nu NuNNN*NjH"HNp `p ap Cpln<,(AL$I"vz x `gfURf~QjJFj4\Fk.aPHS&I.N``p???<NM\Qj&_Nu|HQ/g ??<@NAXXfNuJkp%NNu09JBfNu <r$<Nux&k@FC Be& B dЄeNu B0dHDDdRdQRBNu&<x*<NFC Be B djNu B0dDdSkfJAftNuAр[SBNu"l`d&6JBft&&| NuN"l`ep N c 2$F4BBNJBgB*#E8#&#Jjh`,J]o6\`6 c 2$4BBN*#8#&#Jk:JkִEffDbAeABJk0!NuRdQRB`JjҺBf̶fȸA` c 2$4BB*#[8#&#N*#8#&#JBgJjEJjL`Ja:Jo\`Jk:JkEffDbAeABJk0!NukDNuQRB`JjҺBf̶fȸA`p`pN @ddAgH`p`p9@(9@*BlNuNCpNEN`vN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?(* 9AJA)H@@[000][ˈNf Evz`* [g" ]g |g QSz` zQSpQ][ɈNf Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNuNj$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpNP _0HpNPp"_0HqNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%Nu2p <0N`QNuH&NրNֶjNup`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NZ  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuN"l` epZNp"<NCNNHxNF ------HYPMOD------ | (C) 1988 Claus Brod | Diskette in | Laufwerk... HP -R/N A | B |Raus""_ N+@ -WWHgNZ -NH <r$<L8NN*+@ -AN/-AN*HA^NZ -$$fNNNLesen: XBIOS-Fehler -$NN NLB4Bm <r$<A NL -4NHA N*NANNN*NNL8NN*+@4N`NqNq <4+@4 -4 4gNNN7Der Bootsektor der eingelegten Diskette ist ausfhrbar.tN -ANAN*&<x*<NN*NNHAN*&<x*<NN*NNvNL8NN*+@(AN*&<x*<NN*NNHAN*&<x*<NN*NNvNL8NN*+@,AN*&<x*<NN*NNvNHAN*&<x*<NN*NNL8NN*+@0 -(NH -,NH -0NL8NrL8NpJBfNNN@Das ist eine HYPERFORMAT-Diskette, die korrigiert werden sollte!N HxNSektoranzahl korrigieren? HPNJa|Neintr"_ N+@ -SgN -(NH <r$<L8NN*+@(AN*&<x*<NN*/ <(" AAN*&<x*<NN*/ -(NvNN*" A -4 4WHNBN*??L04` *`pQ ~ u*O*m - ЭЭO// Bg?<JNA BgHz?<=NAPJo3Hz/<??<?NAO f^?9?<>NAXBZB^BbByf0<A"aQ>M3 BD:}aabBEavJ@f< 9 ~f:<a\J@f"SD|fP>aQ>a B@Nu@NuP>B@aQ>NuH@MSa>K3a L`NuHadJ@f0:gaJ@fB@LNu8:ʸ|f8:P>aJ@fRD yg| cB@Q>Nu@`HB"B&B*B.B2B6P>330:HR@@a08:aaQ>J@g@LNu8:66< EJ2<<a.2<Ba$2<<akiBy:;2<<Na2< Ba2<<a2<Q2<<aSCg(A@zt| oD J0@g\RD`29 y | oA 3 2<X<NaZ.<<a3><a><DaJ@gNuagB@NuQNuH$< c^0QLNuK?:?B/ ?< NNNuK~aNHz}?< NA\Nu:KR$MVMa.STQ?</ ?<NAXNu/ ?< NA\NuKua?<NAT<@c<[l Nu?<NAT<0e<9b??<NAT0@NuMM8raK,aa`fMOBD:kaM>89 a8:L0 |:0 X8:.A FK8:DI9 u 0 3n Jyg y Kaa<g< gV<bgN<dg<sgذ<tg<eg<ig<vgJ<hg<ugT<#g`NuKa~aK MaraKaf`0::R|fB@3`09|g y` y`K3aaF a<< e<Vb `b 9 ~`V:-<f< u`80:R@| f0<3`0:R@| f0<3 `BBGB@:eR :@@Nu2<a 32<QNu<a2<`.<<a3>a3><a><aJ@f309@gB@Nu@Nu   Nu3><aF`:3>a43><a$`2<a*092<`"<Q"<9gSfa0<Nu3aGNuH>f329f @|9FLNuH 00HDDL@Nu`8Loaderp" TOS IMG3?9F?<NMXOJg*@AJf 20-HЀ8@0:g<:8:&z`<- 8-m&zaf L0-HHACx mp 01fQ~(O(,zJ&zBB|l`6UCm |@lJDgEgaTfL<:Bmm4JG6 I6 gIA>`JDg af/:NuBNu?9F??/ Bg?<NMJ@NuNeuter Booter (C)1985 Atari Corp. -no-FULLFastEfp T H E H Y P E R F O R M A T T E R 2.6 ======================================== Written 1987 by Claus Brod (Thanks to CD and Anton) improved 1989 by Michael Schwingen q 927000 Bytes free & 20 % fasterfY' pTq Tracks :0 - 00 pEq Executable :n pDq Directory entries :$70 pSq Sides :02 pIq Interleave :04 pVq Verify :---- pUq Disk Unit :A p#q Twister-step (0=off) :xx pCRq HYPERFORMAT p^Cq Quit pB q Write bootsector etc. pH q Help Y'@eEp HYPERFORMAT V2.57 q - The Ultimate Formatter p (C) 1987 Claus Brod q This program is public domain. Whoever changes my copyright message, shall be swallowed by the nasty Jabberwock! V2.57 now offers this help page, optional verify, disk unit & disk name option. It runs on MegaSTs as well. YOU as a user can help me: Please drop me a line if there's trouble with HYPERFMT. And if you use HYPERFORMAT regularly you should send me 10 DM (or the equivalent sum in other currencies) to calm down your scruples (think of the money you save using HYPERFMT!). If HYPERFORMAT doesn't work there are a few possible explanations: 1. Your drive spins too fast (more than 304 rotations/min). Check it with SPEED.TOS or new COPYSTAR versions 2. #?@*!` disks. Try others. 3. The controller in your ST is too sensitive or slow. To make HYPERFORMAT run on your ST, too, include a description of your configuration, drive speed, track§or of the error, disk type, error number etc. (or even better: the faulty disk) in your error report. Send error reports and donations to: pClaus Brod, Am Felsenkeller 2, D-8772 Marktheidenfeld, phone: West Germany 09391-3206q press a key ...EpUpdate-Info for Version 2.6, done 1989 by Michael Schwingen:q I have added the following features to HYPERFORMAT: - decimal track display, decimal track input - new verify option (FAST): only the last sector is read and tested - reversed formatting direction track XX -> track 0. This is useful if you realize that the disk you have just started formatting contains important data - the FAT is not lost immediately. - 40 track option - if you have connected a PC-type disk drive to your ST, you can use this, at a capacity of 444416 bytes. ANY track number between 11 and 87 is now supported. - linkvirus detector: HYPERFORMAT opens HYPFM2_6.TOS, reads $200 bytes and calculates a checksum. As a virus has to change program header and/or start of program (insert jump to virus routine), it will change the first bytes of the program - which is detected by this routine. - TWISTER-format routine (step 4 is best). This increases the disk speed without using FASTLOAD roms. For best performance, use interleave 6. Also, it is safer than using FASTLOAD (cf. START spring/1987, pp. 83ff.). Benchmark results: (read / write a 100000 byte file on a 2-sided disk) old ROMTOS desktop 9 sectors 18.1 9.1 Blitter-TOS desktop (uses TWISTER) 15.8 5.1 10 sect./track, 82 tracks, no TWISTER 17.8 8.5 10 sect./track, 82 tracks, TWISTER 16.1 6.1 Hyperformat V2.57 , interleave 6 22.6 10.2 Hyperformat V2.6 , interleave 6 19.2 8.1 interleave <>6 slows down. Times measured without using FASTLOAD.Y6 pFormatting track: 00qY6 pVolume label (CR=no disk name):q pgood bye ...q Insert disk in drive A. Press key. Y7 pFormat error $0000 q cannot open/read HYPFM2_6.TOS - program aborted bad checksum - most probably virus infected ! la:\HYPFM2_6.TOSH&$($j"" r  v< . V`fD`` >>> TURBO-C <<<< for ATARI-ST Version 1.1 (C)88/89 Borland International G# J$VH3  k #  Ј<.@# <"@(I$k,"Jf"JfB// ?<?<JNAO NA6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$O0 J"LN? 9hg @N 9lg @NNn?<LNAH0 bN $HNHN 6&J`f HN`f`L Nu bN HAp pN|NXpNtNuH8 bN EAZNPG 0AFNj<A@AIN2ArNR<0@A|NAN:@<Yfr`BAANAN@H|FgQ@g| g`|` B+`|B+|d I`^AN|0 LN,o@,HNJ@g2,HNJ@g$p,@ ,fH ,<0@ + nANDANd<0@ B+ `PAN$ LN& ,f6,HN^J@g(,HNPJ@g,H|0 ,<0@ + m +V nANA0N<0@ A3NAN̰<YfRpA`Np6J@npNBBr0NrrfpNr K0Nr gpN0NJ@gpNB@LNu.y Hy ?< NA\0<NPH6&Hp Cgp@CfPpC?/ ?<=NAPOJk08j DD??<>NAXOpCgB?<?p/?<BNAO Jj*`0r߲f*r Cg$pCW|?/ ?<NAXOJkpNuaV3fpNu|g2//??<@NAO JkfNua(3fpNu3fNu// &H&g??<NAXOSb&_&Nu|b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkxЁ"kr?<? p/?<BNAO JkZ$`?<? p/?<BNAO Jk>$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nua3fpNu0<`D@| |"b;NupNu   / G g/ &S?<INA\O`G  g/ &S?<INA\O`&_Nu<0< SHNuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~/ Hz^?<?<NMPO/Hz?<&NN\O?<?<NMPO$_Nu OJx@3 1B x@f1J x@fp!PNu.H3 Nu?<NATONu?<NATONu??<NAXONu/?< NA\ONu/?< NA\ONu error opening file HYPFM2_6.TOS seek error error closing file write error Hyperformat V2.6 installation program 1989 by Michael Schwingen You may now set the default settings of HYPERFORMAT: [xxx] = suggested values, if you are not sure about what to enter Drive to format [A] (A/B) ? AB Interleave [6] (1-9) ? 123456789 Bootsector executable [NO] (Yes/No) ? YN Verify [YES] (Yes/No/Fast) ? YNF warning: you should only change this if you do exactly know what you are doing ! changing this value can drastically slow down your disks! '0' disables TWISTER-Format ! Twister-step [4] (0..10) ? Directory entries *16 [7] (1-8) ? 12345678 Endtrack [82] (10..86) ? # Sides [2] (1/2) ? 12 Really write changes to disk (Y/N) ? HYPFM2_6.TOS Stack overflow f8d 4&.  Lr.H`-\$*O*m#5& - ЭЭм"ҍ¼.A// Bg?<JNA y5&"h#5*E?/ NN"/0<NBNu o AdpNu#5*BNuNV0/"/ NB5*d0< A."NB0<NBN^Nu o2/0/ HSoQBNu o0/JfBNuf SNuNVBn ng>PNNN../<.NX./a=@NNBW/</NvX>/</&NvX>/</FNvXN> /</gNvXN>/</|NvX`\=|.//<//<//</N ./N n .aP=@ n ./<0 NXBn-|>a-@>a-@> NJ@g>N`/./.N P-@Rn0.H/N HX//.N (P-@Jng././<0NP`D> ?< N(T./<0JNX> ?<N(T./<0YNX`:NJnfNN^NuNVB?< NT-@-| n-P.?< NT .N^NuNV./N*X .am .zn .H|`.H`0B@`:`8p`4`2.0hN>/N X``|Agʰ|Bg`N^NuNVa>-@Bn`@>BgBg?<?.B/?<N=@> NJ@fjRn/<D0.H/N HX/N Pma-@ ./N HX-@/<D/.N (P//<NN (P-@ .N^Nu#50NN/950Nu#50NM/950Nu#50NA/950NuNV n(g nPg 3P0p`a&a30>aB@N^NuNVaaBWatB@N^NuNVa 5F.5F?< NT95GH=@Bn` n2n"|5F4nRn0.nm n2nBN^NuNVBW. H?a8TJ@gp`f.N+&=@090H>0.HW. H?adT.N090H>0.HWRW. H?a2TN^NuNV.2p?<N T.2p?<EN TN^NuNV. H>. H?aTJ@gp`X.2p?<N T.2p?<YN T.2p. H?W N T.2p. H?W N TN^NuNV.2p?<N T.2p?<qN TN^NuNV.2p?<N T.2p?<pN TN^NuNV> ?.aTJ@gp`2> ?.aT.2p?<N T.2p?<KN TN^NuNV> ?.abTJ@gp`2> ?.aT.2p?<N T.2p?<JN TN^NuNVaXBW/.aX>/. aX yP0lB@`>/<0aX>/<0aX>/<0azXa=| > ?90Bg?.\W?.aPRn>/<1a@XRn>/<1a,XRn>/<1XaXRn>/<1aXRna*>/<1aX>/<1aX>/<5Fa`XaLN^NuNV.2p?<N T.2p?<eN TN^NuNV.2p?<N T.2p?<fN TN^NuNVBn`.2p. H?N TRn0.nmN^NuNV`"> ?.aT.H>?.aTRn0.n oN^NuNV.2p?<N T nf.2p?<vN T`.2p?<wN TN^NuNV nnJnm0. y0nJn lp`B@N^NuNVH-n Jnnp` nop`0.R@8BGB/.N Pl n -R /.N X-@B/.N Po.`/<D/.N `P-@SG/<A/.N Pm`/<D/.N (P-@RG/<D/.N PlG|0H/N HX-@`/<D/.N (P-@RFDm/<B/.N (P//.N P-@/<D/.N Pm -|ARGJGl4 n 0R n .R JDlD|` n 0R SFGnBF`j/.N X:0|0"n R Gf n .R 0H/N HX-@//.N P-@/<D/.N `P-@RFDm n BR .JLN^NuNVH..,. N LN^NuNVH..,. NLN^NuNVH..,. N LN^NuNVHJl| .D-@`BFJfB`^~` .-@R .f` .-@S. g .-@޼@ JFg .JLN^NuNVH .м<JgJFlB`V .:|oJEg <` <`0..μ|`RFJFm`SFJFnJEg D. JLN^NuNVH..,. NR LN^NuNVH..N LN^NuNVH..,. N LN^Nu<NuJg NugR kjklf`>k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu:ڼ.gNugRghEDvi^E]HE:BB8HD&HC؃HF&؃BDHDHGHFHEބj ޼gNuSiex@ބއdRgNu~NujJ<Numc68343 floating point firmware (c) copyright 1981 by motorola inc.NVHN'BW/<.NX>/<.NX>/<.NX n2n B*n`&HHм4P @g H| `HRJf> /.NBXJL N^NuNV. /./<2pNTPN^NuNV./. /.NTPN^NuNVH*n`.2pH?N T|fp`Jf.2p?< N TJL N^NuNVH BWN%#56#5:By54..a*n`N`RJgHHм4P @fJg2 "g 'fFH>/ RNX(@ f.2/ aVX H> M2GBRG.Ra`BG`RG M2GJg5pHHм4P @gJ5pg M2GBRGH`BWNtBW/ RNXJ@g.R/<2aX`l>Nt ->f@>/ TNX|f>B?<N\|f.R/<2%a|X`$BW/ RNX|g.R/<24aVX`>?/ NXJf>*/ NXJg-|<.8?<NT>/ ?<N)\<f.2C/ aX`^.H?/.aZ\.N+&>RWN+(@./ N+X.a>/ ?<N)\<f`.a`|g`JfBaSy54.5:Nz|f.2]/<2Na*XB/956?954N\>NJL0N^NuNV|./N+X. /N*X.2^/N*X.?< NT>NN^NuNVH*n y5: X5:Ry54JL N^NuNVH*n. (nGVfJL8N^NuNVHN&>|fp`>N'<08*@6FJnfU../.N+TXJ@f U0`R`../.N+TXJ@fU0`2>/.?N)\J@g3#4L35.4Np`U0JL N^NuNVBW?. /.a:\N^NuNVBW?. /.a"\N^NuNV>?. /.a\N^NuNVN>NN^NuNVHBG`0м2b.NRG|mJLN^NuNVH*n0-|g*.N-g .N"B@H+@+@Bm m>NtJL N^NuNVH>.>N'*@ f3 4L35.4Np`NBF0|f>?<>N,T<l|>N'<>N&JFf0``34L35.4NpJL N^NuNVN^NuNVH*n0-| |f, -<o >/-?N&6\>Gg mp`J-gJg-g;| `;| `>0- D@H/?N\Bm +mB@JL N^NuNVHN&>|fp`>N'<08*@6FJn fUJnfU../.N+TXJ@fU;n 0``../.N+TXJ@fU0`d>/.?N)\J@g>N&34L35.4Np`0U>B-H?N\BWB-H?N\0JL N^NuNVBW?. /.a\N^NuNVBW?. /.a\N^NuNV>?. /.a\N^NuNVH>N'*@ f3 4L35.4Np`$>?-/. ?<BN,P+@U -JL N^NuNV>B?.a\N^NuNVH*nBnJ gh``BE-n `RRE nJg n %fJEo.?/. N\-n n n %@R DfBn n H|-@R Df n R Rn| <0fG n R =|<*f-M n=PT n R `8`*JnlBnH2. A|=@ n R <0m<9o|<.f BF n R <*f-M n<T n R `*`H2 A<| n R <0m<9oBn<lg<LfRn n R A-HH` RnJng <$` <%^#5>.5>?<?< // N$6 Jngp`pH`RnJng <$` <%^#5>.5>Bg?< // N$6 Jngp`pH`zRnJng <$` <%^#5>.5>Bg?<// N$6 Jngp`pH`&RnJng <$` <%^#5>.5>Bg?<// N$6 Jngp`pH`-M n-PX`-M n0|@B.T`H>?// N X|`~H>?// N X|`XH>?// NP X|`4.H?N TRn``|C|5b@0@3B PN.N+&:ElJFm:0.E=@JnfX .0f* n -f SE. nH?N TRRn`..H?N TRn0.SnJ@n.?/.N\n`..H?N TRn0.SnJ@n`0.JL N^NuNVJnlp`0.=@ n -@>/. /.N PN^NuNVJnlp`0.=@ n -@>/. /.NPN^NuNV>/. /.a~P-@. N+&2.^AAo>/. /.aP-@ .N^NuNVH *n>. (n,g$Bl >/ ?N&6\Gg lp`*B@`&`.H?N T|fp` 0SGJ@fB@JL0N^NuNVH. *n Sm mH"m|R``.H?NPTJL N^NuNVH. *n BF:-fp`$JfV-fN>N!+@+@fm`2m>N J@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N&6\<Bm `n-g>< g -мb" -:>/-?N&6\<+mBm `( -:>/-?N&6\<;| +mFg mp`H|JL N^NuNVH>N'*@ fB@`-fB@`pJL N^NuNVH>N'*@ fB@`0|JL N^NuNV>aJ@g <.`BN^NuNVH>.^GORG>a*@ fB` >/ aXJL N^NuNVH (y4"*T`ZB@0-BA2-@F@J@g>N$.B`:B@0-ne `*4"f>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@;@#4" PJL0N^NuNVH >.|?GG0@>N%*@fB`* R*@(M9GB@0,F@9@.Pa 94"JL0N^NuNVH *nQB@0-BA2-@F@J@g>N$.p`(y4"eeecd(T`e2 BA2-IHABAHAЁ" BB4,JHBBBHB҂b #4"B@`n BA2-IHABAHAЁf T0(mB@0-F@;@ T*`* BA2,IHABAHAЁfB@0-lB@0,F@9@(`(#4"B@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-|4*n<.H n. nfz` |SEJgJEf`h nf$z ` |SEJgJEfJEf-`*n<.JngJGlB@0D@> n P-"n R`B0H@B0>JGf JL N^NuNVH >.HμgR*y5*(G5*.Nz|f3 4L35.4Np`>Bg/ N\ JL0N^NuNVH>N'*@ fp`XJnfB@`N-g3 4L35.4Np`0-g>/. / N( P``>/. / N)PJL N^NuNVH|BG` 4&f 4&0`RG|m34L35.4NpJLN^NuNVp2.`F@H4&B@N^NuNVHBG`>aRG|mJLN^NuNVH 0.8*@6F0.@BUB-+| BB> Bg/ N\> ?< / N\JL0N^NuNVH>.|e3 4L35.4NB`0B@08*@6F-f3 4L35.4NB` JL N^NuNVH *n(n >.B@=@=@``Rnnc L2n  fB@0.ncf>?.B@0.W B2.Ё//-/ N,=@B0.ѭJnf34L35.4Np`^=n`8Rn>?</<4*/-/ N,=@B0.ѭnb4 -o+mB@0.JL0N^NuNVH*n>?./. /-/ N,=@Jnf34L35.4Np` B0.ѭ -o+mB@0.JL N^NuNVH*n 0.8м6F-@~.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@4, PN0JL8N^NuNV n am n zn n nHRJfN^NuNVH *n (n`RJff .JL0N^NuNVH *n (nf .JL0N^NuNVH *n(M`RJf HJL0N^NuNVN^NuNVH *n(n `$H>a0H>a&op`lp` JfJfB@JL0N^NuNVH>.|am |zn|0JLN^Nu _B0Z"y5*CCbNC NNVH..,. Jf#4 <`Hc #4B`:fzB`(xe 〼b`BJge`#4 JLN^NuJg .NuNV n=h.0n/0n/N-P/?.?<?N,PN^NuNV n=h.0n/0n/N-P/?.?<@N,PN^Nu#5BNA/95BNuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^Nu Stack Overflow$C runtimeCON:LST:ST Drive Speed TestVersion 1.5 December 30, 1985ZST Drive Speed TestVersion 1.5 December 30, 1985Copyright 1985 by Michael Curry.Checking Drive SpeedPress any key to quit.%s %s %s ST Drive Speed TestVersion 1.5 December 30, 1985Copyright 1985 by Michael Curry. Press any key to quit. Checking drive %s Speed is %4.3f RPM - average is %4.3f RPM. SPEED: %4.3fAVERAGE: %4.3f Enter Drive Letter (A or B) PPRESENTED BYThe San Leandro Computer Club 520ST Special Interest GroupCopyright 1985 by Michael Curry - All commercial rights reserved.N O T I C EThis program is in the public domain. You may distributeit freely on a non-commercial basis as long as alldisplays and the author's name remain intact.CIS 72507,2146 or The Key System BBS (415)352-5528Press [RETURN] to start : unmatched quoteCannot open Cannot append Cannot create : No matchStack Overflow $   VrDHVrDL44 *P***6*n**)!!!!"CP/M-68K(tm), Version 1.2, Copyright (c) 1983, Digital Research XXXX-0000-6543216$ `     0   $ 8N 6 N *0  .      4  4  0     T  "LT0: : |   ,"    ,D( 0 <    >  h 0HN&  j^***`&$ D"VbR$ZF \@(B4.J".86 Jp $""@2&"fHR"D(<@* L *************************************************************************** HYPMOD.PRG Written & (C) 1988 by Claus Brod *************************************************************************** German: ltere HYPERFORMAT-Versionen (V2.2 bis 2.56++, V3.00 bis V3.07) manipulierten einen Parameter im Bootsektor, um GEMDOS zu einer korrekten Anzeige des freien Speicherplatzes zu zwingen. Mittlerweile kann ich diese Methode nicht mehr empfehlen, weil es nun fehlerbereinigte TOS-Versionen gibt (KAOS), die dann pltzlich 2 KB zuviel Speicherplatz melden. Auerdem hatten manche Disk-Monitore mit dieser Lsung ihre Probleme. HYPERFORMAT 2.57 und alle kommerziellen Versionen ab V3.08 verzichten darum jetzt auf diesen Trick (schnff!). Disketten, die mit einer frheren Version von HYPERFORMAT (2.2 bis 2.56++, 3.00 bis 3.07) formatiert wurden, sollte man nun schrittweise ent-tricksen, um bei einer irgendwann erscheinenden vernnftigen TOS-Version keine Probleme zu bekommen. Dazu dient HYPMOD.PRG. HYPMOD.PRG liest vom gewnschten Laufwerk den Bootsektor ein und prft - auf Ausfhrbarkeit (auch gleich ein wichtiges Indiz fr versteckte Bootsektorviren, eventuell mit einem Viruskiller nachbehandeln) - auf die verwendete HYPERFORMAT-Version Handelt es sich um eine Diskette, die mit einer "trickreichen" HYPER- Version formatiert wurde, wird das erkannt; man wird dann gefragt, ob man die Diskette "ent-tricksen" will. Ausfhrbare Bootsektoren bleiben auch danach ausfhrbar; es geht also nichts verloren. Wer absolut nicht auf die 2 KB verzichten will, kann sich von mir ein kleines Progrmmchen namens 2KPATCH besorgen, das sich in den BPB- Vektor einhngt und den GEMDOS-Fehler hier umgeht. Auch diese Lsung hat aber ihre Nachteile. Drum: Schreiben Sie an ATARI und beschweren Sie sich wegen dieses Fehlers! Ich habe es schon getan, aber ob das was hilft... na, vielleicht bringt TOS 1.4 gute Neuigkeiten in diesem Fall. Meine Adresse: Claus Brod Am Felsenkeller 2 8772 Marktheidenfeld 09391-3206 HYPMOD gehrt zusammen mit HYPERFORMAT 2.57 HYPINST SPEED.TOS zum HYPERFORMAT-Paket und ist in dieser Version PD. Spenden fr das HYPERFORMAT-Paket sind immer willkommen. SCHEIBENKLEISTER-Leser bekommen HYPMOD fr'n Apple und 'n Ei-Bi-Em auf der KLEISTERSCHEIBE mitgeliefert. ------------------------ English: *********************************************************************** HYPMOD.PRG Written & (C) 1988 by Claus Brod *********************************************************************** Older HYPERFORMAT version (V2.2 thru 2.56++, V3.00 thru 3.07) manipulated a certain parameter in the disk's boot sector in order to force GEMDOS to display and accept the correct amount of free disk space. I cannot recommend this method anymore, for there are corrected TOS versions now (KAOS) which have problems with this trick: They think the disk has 2 KB more space than it actually has. Apart from that, some disk monitors got into trouble with this method. HYPERFORMAT 2.57 and all commercial versions starting from V3.08 avoid this now - the trick has been abandoned (sigh). Disks that have been formatted with a previous HYPERFORMAT version should be de-manipulated gradually to avoid trouble with any new TOS version that comes out and has this nasty GEMDOS bug removed. HYPMOD is a tool for doing this automatically without reformatting or using a disk monitor. HYPMOD reads the boot sector and checks - for executable boot sectors (a small hint for hidden boot sector viruses - check it out with a smart virus killer) - for the HYPERFORMAT version being used when formatting the disk If it is a disk that has been formatted with a "tricky" HYPER version, you are being asked if the program shall remove that boot sector manipulation. Executable boot sectors remain executable even after this; you won't lose any data. If you don't want to lose the additional 2 KB you can obtain a small programm called 2KPATCH. It smuggles itself into the BPB vector and kills the GEMDOS bug in here. This solution, though, has its own problems. So: Write to ATARI and tell them about this deadly bug! I did that already (quite often, in fact)... maybe the final TOS1.4 version will bring good news. My address: Claus Brod, Am Felsenkeller 2, D-8772 Marktheidenfeld, 09391-3206 Entgegen allen Ankndigungen gibt es nun doch eine neue Version von HYPERFORMAT. Die Verbesserungen stammen aber nicht von mir (CB), sondern von einem Anwender: Michael Schwingen. Er hat sich die Arbeit gemacht, seine eigenen Vorstellungen ins Programm einzubauen. Die neuen Mglichkeiten sollen erlutert werden; Genaueres ist in seinem Artikel in der "PD News 5" zu finden. - die Spurnummer wird bei der Formatierung dezimal angezeigt - die Nummer der letzten Spur wird jetzt dezimal eingegeben, der Bereich liegt nun zwischen 10 und 86. Damit sind auch 40spurige Disketten mglich. - nach dem Formatieren landet man ohne weitere Abfragen wieder im Hauptmen, bei ^C wird das Programm ohne Rckfrage verlassen - HYPERFORMAT formatiert jetzt auch in der PD-Version rckwrts - man hat dadurch lnger Gelegenheit, zu erkennen, ob man zufllig noch die Systemdiskette im Laufwerk hat. Beginnt man bei Spur 0, sind sofort die FATs und das Wurzelverzeichnis gelscht, und alles ist zu spt. - HYPERFORMAT testet sich selbst auf Befall durch Dateiviren. Vorsicht: Bitte nicht den Dateinamen ndern, sonst funktioniert das nicht mehr. - neue Verify-Option FAST: Nur der letzte Sektor einer Spur, der beim 11-Sektor-Format ja besonders kritisch ist, wird geprft. Das geht schneller als ein volles Verify, ist aber auch nicht so sicher. - HYPERFORMAT bringt jetzt ein spezielles Schnelladeformat auf die Diskette (Spiralisierung). Dadurch sind HYPERFORMATierte Disketten auch ohne FASTLOAD in der Geschwindigkeit mit Standard-Disketten vergleichbar. Ein FASTLOAD im Auto-Ordner zu haben, wird also unntig (brachte bei manchen, etwas tatterigen Laufwerken ohnehin nur rger). Dieses Schnelladeformat ist ebenfalls im Artikel beschrieben. Je nach Steprate und Kopfberuhigungszeit des Laufwerks kann es vorteilhaft sein, den Spiralisierungsfaktor des Schnelladeformats abzundern. Dazu existiert die neue Option "Twister-step". Hier knnen Sie durch Ausprobieren und Ausmessen mittels BENCH1.TOS den optimalen Twister-Faktor fr jedes Laufwerk herausfinden. Der voreingestellte Wert drfte aber bei fast allen Laufwerken gnstig sein. Herzlichen Dank an Michael Schwingen fr seine Arbeit! Marktheidenfeld, 4.7.89 CB **************************** I thought there would never be another PD version of HYERFORMAT - but never say never again. Michael Schwingen, a HYPERFORMAT user, made the improvements for version 2.6: - decimal track counter while formatting - the number of the last track is now entered in decimal. The track range now is 10 to 86, so you can also have 40-track-disks now. - after formatting the main menu is displayed, and you can format another disk. ^C quits the program. - HYPERFORMAT formats backwards, starting with the highest track number. This leaves a maximum of time to realize that you have inserted the wrong disk before data are lost. Formatting from track 0 onwards immediately deletes FATs and root directory, and you will never see your data again. - HYPERFORMAT tests itself whether it has been modified by link viruses. Beware! Don't change the filename HYPFM2_6.TOS - otherwise you will lose this protection. - new verify option FAST: only the last sector on a track is checked. Faster, but not as safe as FULL verify, of course. - HYPERFORMAT disks are faster now: A special fast loading format is used (twister/spiralizing format) to enhance the performance in systems without a FASTLOAD modification. This fast loading format is also documented in the aforementioned article in "PD News". Depending on the admissible step rate and the head settle time of your disk drive, it may become necessary to change the twister factor of the fast loading format. The new option "Twister-step" serves to adjust the twister factor to your needs. You can find out the optimal factor by trial and error. Format with different twister factors and benchmark your drive with BENCH1.TOS afterwards. The default value of this option will be optimal for most drives, however. Tnx a lot to Michael Schwingen for his work! Marktheidenfeld, 4.7.89 CB `&Hb``):>>> TURBO-C <<<< for ATARI-ST Version 1.1 (C)88/89 Borland International G#),J$VH3)0 k #)6 Ј<.@#)2<"@(I$k,"Jf"JfB// ?<?<JNAO N&vA6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$O0 J"LNv? 9&g @N 9&g @NN"f?<LNAH>O)2bN(E)VG& <N$f KNpNA,NI( LNN!|Ag|BfK&%RAEN&RC`CE jNb0HѪ j0Hмm Mp!N6nAaN> RNpN/<ANHXOMN,"< R0NgAN RN0N2pNN,0NA NACjNA / / ? ANO B@ MNT6nAN RNO RN MNtJ@gA9NpNAYN LNB@O L|Nu/YOM,C Hza(XOXO,_NuH@B@H@C(ra J@kNu.Vp`H8]O$H&I(o&BCx%p JR@gtfJ@g@NBEgnBA< <b;k`|<*f<`&<0< b ACp a$Wb<g t<.f6<*f4`$<0< b ACp aJ$Wb4g<߲<Lf g`<hggr@d|?@0;N8h<Rl [0`~AB(`0AB(` [2"Lar@`RJEj `p0?4 LaXTO@`2JEj `0H?4 LaTO@`JEj `p0?4 La&TO@`JEj `p0?4 LaFTO@`A 2"La@`A 2"LaD@`A 2"Laj@`@N0\OLxNup` Warning: use TCFLTLIB to get float support for printf. H Ov Jj|-?|D`g|+?|`g| ?|`~?|`vH Ov ?|`dH Ovf?|`L|0f|x?|`2|X?|`$H Ovf?|` |0?|$H>C8jxA a A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`XH0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 H0O$H&I>68jx`p@c8?|0|g J0R@CDHoBaXO0?| JoBg|-?| `&g|+?| `g | ?| ?| ?D62XAXAt0gJf$B RoDJDf f0SA`,C"SDQ`X JDf fSA` C"SDQto An ?B?B`ff ?C?B`?C?BC8?|@gE`e0/DS@jD@-`+/ r AJa"_AFpJWF@rg SAkt0QS@k AFQ`H0O$H&I?|@>>68jx0|g JpCDHoBaXO?| JoBg|-?| `&g|+?| `g | ?| :/DlDE|0 ?| |JDffSFDged?DD?|6`6JEfp?@?@6`$ JpCDHoBaXO 5d?EE?|6`SE?EE|1"p?@6@`E|b J0CDHoBaXO0@E:/DDEE?D6DC"SDQ?EE`?|0D|b JCDHoBa^XO0D0:/D<RFDJDffSF?D6t0JfB ?| RoDC"SDk6Q`.C ?E SEj0?| RF`QC"SDkQto Fn ?B?B`ff ?C?B`~?B?C`t|? ?| x?D ?D?D6|`H0O$H&I?|@>>68jx0|g JpCDHoBaVXO0/DS@Dn|m `6x0/gf@ Ka0/ g@AN0/g@ Kaf0/ g@A NJof Jo6fgp@A .N0/g@ Ka*0/6g@A"N0/@g@A8N0/gg@ Ka0ONL Nu0<HS@rJrfMHGGCA 0jD@aAC a`aAC aR P?b CaSGA6"$JDoGn| Fo| o0RG0CC?SFpԂӁ@Q` pԂӁ@*(6ԂӁ@ԂӁ@ԅӄC<0QBJjR! :fg0`1RPOpAL@Nu o?jD@ @c0<?<@2AA@AC,0 ]HNgCbC NdaJFf<J_kNu?@@@@ @@P@$@@ @4ɿ@iŭ+p@xIϦAGɀCQ~ގFMHvuu Z;]=]u%`R mul0  ]H`L4܇׀HAHBHDHE>܇׀<BCHCHF.HG܇׀.HG܇׀.HG܇׀.HG܇׀.HGև.HGևр?<6HCHFp>܇׀>܇׀:4>ևk܆׃JEjRFSBEJEj R׀fRBJBj BnHyaXO`p0 `02@@@0 ]HLNudivH0,HF⌰cpRdR:j EnHya`XO`p0 `42BBB0 ]HLNuH$fBA`RjDh 2< <`@2<@H@J@fAH@ @bQA @bYA @?bUAJ@kSAH@JjA0 B]HNu$(02A Ag"(jNufJfNua JNu"(f JfDNu@DNu?>Jf@ "tHAJAf @HB2BBHA AHAb Q@BJkS@ԂӁjGj B@"<t>Nu0"$a6(*Nu2""Nu2""Nu@TXJ? ?ry@ԚxK@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INFXmath by d'ART/ / o\H// ? o \H\I//!?!// ? //*?A 9(xg"@NJ@f(0 @f 3!&`$ @g @f3"&` o4C0 O$ _"_NupBB?<JPjWHW//ajPO0 ]HNu#(xNur x@W1J x @W!P!P!P x@W1hJ x @Wf"P#xP#xPNur x@W1HJ x @W!P!P!P x@W1J x @W!P!P!P x@W1hJ x @Wf P!xP!xPNur x@W1HJ x @W!P!P!P x@W1J x @W!P!P!P x@W1hJ x @Wf o P!xP!xPNuy)*Nu.y)2Hy(|?< NA\0<NP/ Hz?<&NN\O 9)$_Nu#)NuC(aA(p `4/ / &Q(i )g6Jg(ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 &p`H:$H&I(S,k x&gRJgN+gP$ڹd SfRe`,&// KaL$"J@f*(SSfRf& L\Nu3 &p`"PdB@ Nu(g*gg/a _J@f/ad _J@kf"P`3 &pNu"P H dNu(g?/a _2J@f 0Nu3 &pNuH&H(k L0+"+ aJkRgF+f* L2SAt Wf"HSIS@SAk öWgJ@g&r2'LB@LNup`p`H&H(k6+"+g0Dta(Jk+fT"SA"L Ip Wf(| ?/ " 0a"_2JkHAp QH@" 0axLJj`$0" LabJk&'LB@LNup`H6&Hp Cgp@CfPpC?/ ?<=NAPOJk08j DD??<>NAXOpCgB?<?p/?<BNAO Jj*`0r߲f*r Cg$pCW|?/ ?<NAXOJkpNua3&pNu/?<ANA\OJkpNua3&pNuJ@g//??<?NAO JkNu `a3&pNuH&Hx&SgkJ9) kpfxa<g < g6<gJ< e七dRa`JgSSKpap apa`Rp a) p a`vJgr) `hxB9) `^x B9) `PJ9) k^ffar<g< g&<g:< eRa``JgSpaTp aPpaL`Rp aD) p a8 LNuJg) `xB9) `x B9) `?<NATONu??<NAXONu|g2//??<@NAO JkfNua(3&pNu3&Nu// &H&g??<NAXOSb&_&Nu|b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkxЁ"kr?<? p/?<BNAO JkZ$`?<? p/?<BNAO Jk>$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nua3&pNu0<`D@| |"b;NupNu   //O4UB|"bBJ@j < fD@-CtH@B@H@&HC;0(RBH@B@H@fQBO _&Nu3!&`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ g<g8g4g0g,g(g$g ggggg ggf @Nu"HJgJgJgJgJg JgJgJf SNuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G23d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"&p` 3!&p& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!&`0123456789abcdefghijklmnopqrstuvwxyz// &oPR<e&/?<HNA\OJo @!CC)" "A`xE)&$R f4/< ?<HNA\OJoj$@Ap !| %H$)&#)&A"P` )d I"Q f`rd ` #@#C"nA$_&Nuk |`3 &` oJQ d nf>avJg*`4C)" g*g"@ f`"/?<INA\OJj` pNugp`/ G)" g/ &S?<INA\O`G)& g/ &S?<INA\O`&_NuH0$< CE)& g" c $@ f`&@ +gb*"Ҩeg ` 'H`p"@")Ө 'H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" k eb$/ ?<INA\OJfQL NuP`BAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#/ Hz^?<?<NMPO/Hz?<&NN\O?<?<NMPO$_Nu OJx@3)*1B x@f1J x@fp!PNu.H3 )*Nuc:\TEST.TMPFehler bei malloc(): nicht genug Speicher !Welches Laufwerk (A/B) ?Dies ist eine Testdatei ...Fehler beim ffnen der Datei zum SchreibenSchreibe %ld bytes ... Fehler beim Schreiben in die Datei ! Zeit: %5.2f Sekunden Fehler beim ffnen der Datei zum LesenLese %ld bytes ... Fehler beim Lesen der Datei !Fehler beim Lschen der Datei !RETURN drcken!@@ Stack overflow(((()))))))) f8d (fN"Hp  VVD& ,\ F B  T ~\4R*:* .Z . dA>.. ALADCONVTOS wF?READ BAK e&H SPECINITTOS T]Y!READ ME B? STARTUP PS lsMACEXCH TXT MACEXCHLTOS !c&READ ME! +BSTARTUP TXT m3#`F``>>> TURBO-C <<<< for ATARI-ST Version 2.0 (C)88-90 Borland International &H f&op`B@#3 k # Ј<.@#Jyg<"@(I$k,"Jf"JfB// ?<?<JNAO A6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$ON,0 J"LN? 9g @N 9g @NNYOEI$G6KM`pBT`b??ANXO???t2,p RN\OJ@g.ANNvNd6|RfST0r hH`|CfD0r hHђRT0lmRS SOoAN"A1NbN.9@ V f. lA.2,H"l)H9AP0,h$ l@A%HBSM`BT`??ANXOA0@THH@@@&?README U^SURVEY PRG U_`1\#jN N#K mNf]` m"m -So Q m -SBQ(m)MO*mNNBgNANVH0&n$n / N!X" HЁ-@/ N!zX" .HЁ-@` nS nS .l`fL N^NuNV?. /.?<GN xPHlh/.N PN^NuNV,|gA8 мм @?(A8 мм @?(A8 мм @?(A8 мм @?(?<?.A8 м/NN^NuNVHB?< N\-@ |-P/.?< N\<<ABG`` RF .-@ . g0A8"Ҽ4<G҂ A"( AA8 м2<GЁ @0(|=@0@nA8"Ҽ4<G҂ A1@A8 м2<GЁ @hRF .-@RG G l f2`"A8 м2<GЁ @hRG G m/.NJX" .HЁ&@`SH|.gH|\gH|:g fH|.fH R/A8 мм @ ( @ T/NPA8 мм @h`A8 мм @hLN^NuNVH0&nA8 мм @ ( @$P n fBn`4`RH| gH|fB`H|.g` Rn nm`RH|g H|.fH|.fRBn`Rn nlH|g H| fB`P n fHBn`Rn nlH|g H| f`RH| gH|g.fL N^NuNVB.0.l~f` nl Bn|Bn`:0.nA A8"Ҽ4<!n҂ A"( A Rn n mA8 мм @0(Q@=@A8 мм8 @=h l݀o0.2.HH/ /Nf 2,݀HHЁ/0,݀H/N X=@0<2,݀n| Ao0<` 0,݀n| 2.HH/ /N 2,݀HHЁ/0,݀H/Nx X=@` 0<=@=@0.nnP@=@A8 мм8 @1nA8 мм @1nA8 ммP @1n0.nA8"ҼҼ A1@0.nnA8"ҼҼP A1@ nfA8 мм8 @h`A8 мм8 @h nfA8 ммP @h`A8 ммP @h0.l~=@9n~.g?<NT`P?<NT no0.`0.D@ @ m=| =|`A8 мм @0(A8"ҼҼ( AhA8"ҼҼ Ah=@=@0.A8"ҼҼ AhS@=@=@A8 мм @0(A8"ҼҼ( AhA8"ҼҼ Ah=@A8 мм @=h nlV0.D@=@=n0.2< nAS@=@0.2.A=@0.2< AS@=@=|`R0.2.A=@0.2< AS@=@=n0.2< nAS@=@0< nS@=@=|=|=|Ah =@=@Ah =@=@/ XC C C Bh*Bhh$_`0<!n2.SnA?NT nn?<+NT?<N|TN^NuNVH:,݀Hŋ`>`j<E`\0EA/0A/NP @o40A&P0EA 2A 0EA E FlRG0l݀m0H: EnzLN^NuNV/ Hlj/.NP/. /.N6P&n`RH|.g H|f0< " A=@` Hln/ NP0.Sn @n`Hlp/.NP/.NhX @m&_N^NuNV>A V/HnN,PA-HN,H|A??<NvXHlr?<;Nh\BgHlt?<=NXP`@-nNJ nJRJH|\f .JS @B/.N?<;N&\ l`-nJN nNfBgA T/Nr\HlNX"/HlNX"@|&=A>2<n>o2<` HlNnX"/HlN`X"@|&A HЁ/HlN*PHlHlNPHlA8 мм @ ( @/NP?<NTHnT?<NF\Bl݀?<Hlv?<NN0P=@R`Z.i||g>Ar HH|.g.Hnr0,݀A/NP0,݀A PRl݀?<ONT=@R nRf l݀m?<Hl?<NNP=@R`*Hnr0,݀A/NXPRl݀?<ONT=@R nRf l݀m=l݀H`0.HA PBRnH nHmNfBnH`0.Hl݀lFA8 м2<!nHЁ @hA8 м2<nHЁ @h`DA8 м2<!nHЁ @hA8 м2<nHЁ @hRnH n Hm`A A8"ҼҼ A"( A ?<NT?T. L N^NuNV`?<A8 м/N\=@0.| @V|@n ng nf&A8 м2.Ё @h 0.`2A8 м2.Ё @0( |g?<BgA8 мм @?(A8 мм @?(A8 мм @?(A8 мм @?(Bg?.A8 м/N  nm6 nl.A8 м2.Ё @ ( @H?NT`F nm2 nn*A8 м2.Ё @ ( @/NX` HlA8 мм @ ( @/N0P @g.A8 мм @ ( @/HlNFPNJ` nfN` nfN` n-f ?< NT`| n.f ?< NT`h n*f ?<NpT`T n/f ?<NT`@ n,fN`2 n!m* n*l".H?0.|!?NXJg0<`0<fdN^NuNVv?<N T=@~BgHnNB\B,|/,dNX/,dHlN HP?</,`N\N>BgN ,THnvHnxHnzHn|A8 м/N ?.v?.x?.z?.|?.v?.x?.z?.|BgN 0?.v?.x?.z?.|?<BgA8 м/N||N~ @W| l\0?.v?.x?.z?.|?.v?.x?.z?.|?<N Hl/,dN ^PHl/,dN PBg/,`N\?.~?<N XHn?<;N \N^NuA. )MXNu/A$ H~(z*lXNuAL~ PNu/A^H _(z @f@"A$Q RZf6$i 4E)J\$i)RdE)R`)oPC&/ILNs/,TLNua,a/,P`6NVB?< N \-@ | TfAX  | /.?< N Z\N^NuNVNNBn`?.Hl8N \Rn n4m0<=@A݂ -@`&0.A 0.Rn .м-@ nmB?< N \-@ | )@T/.?< N \N`Bg?<NXN0<fN|N^NuNuNV/ &n=|=|=|0.|g`=|`|g`0. n=@` `|g`Bn``|g`=|`z0. K=h0.| @fB0.ng0.`X ng*0.2. K2(IAW||g0.`&0.| gBn`0.n nn~0.&_N^NuNV/.Bn?<HnBg?/ NLHnHnHnHnHnHnBgBgBBgBgBgBgBgBgBgBgBgBg?<?<?<?<N<=@0.|g>HnHn?.?.?/ N=@0.g?<Hn?.?/ N0.|gV?.?.?<Bg/ Nd =@ nl?<?<?<N \Bn`Hn?.?./ N =@0.g ng0.Gg?<HnBg?/ N*0.f?<NT0.LN^NuNV9n.0.| A" AA-H=|` nR2.A.H0Rn nm/,ܬNTX0,N^NuNVA.)HܰA)HܴA)HܸA)HܼA)HA)HAܰ)Hܬ?< NXT9lܪ0,ܪN^NuNV?<N"22222 22222A@"22222 22222AB"2 222222222AD"22 22222222AF"22 22222222AH"2 2 222222(22AP"22222222)22Al"2222222222A"2222222222AJ"2222222222AN"222222222@2"22222222 2@2A"22222022/22@2"2222 22222@2AV"222222222@2AX"222222222@2AZ"222222222@2A\"222222222@2A^"222222222@2A`"222222222@2Ab"22222 2222@2Ad"22222!2222@2Af"22 222"22212A2A"22222#22222A2A"22222$22232A2A"22222%22242A2A"22222&22252A2A0"22222'22262A2AL"22222(22272A2Ah"22222)22282A2A"22222*22292A2A"22 222+2222@2"22222/2,2.222"22222-2222@2"22222.2222@2"22222+2222@2"222222222@2"22 222122222A"222 22222222A"2 22 22322222A"222 222222 2A"2 22 29|~Ch"22222222C8;<=>?@ABCDbaRwHPstSrNuA:\*.*______________________________________________________________________PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPLaufwerk*.ABC*.*FILENAMETYPDatei: ________.___FFFFFFFFFFFDateiselektorATC SoftwareKonrad Hinsen(c) 1987 byABCDEFGHIJKLOKAbbruch\ \*.* :..`#rRT` Efv*oM( m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HN(Hx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN`JrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|:  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8Nf6.:JgtBn:Nupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?Nf<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNp `p ap Cjpln<,(AL$I"vz x `gfURf~QjJFj4\Fk.aPHS&I.N``p???<NM\Qj&_Nu|HQ/g ??<@NAXXfNuJkp%NNu09p`pN @ddAgH`p`p9@(9@*BlNuvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu(* 9AJA)H@@[000][ˈN> Evz`* [g" ]g |g QSz` zQSpQ][ɈN> Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu@9@JpNNr|<N> @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgN AH@B pN(A NuApN(A0pN(N$N~$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuN>J@gpNu _0HpN( _0HpN(p"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NuJhg N>1N Nu Ihd*N~$E$RR@H`2QˈN> ENu Ihd"*N~$E8*$R`"QˈN> ENu(* 0(iN~$E 4R`Q$D 4R`QˈN> DN> ENua NuN> IHPg"B  g &gN~JBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNnRB0 b b瀀`RB0 fрd`2p <0N~`QNuH&NրNjNuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHRp` HRpJQfpN Nq Y Qfd ЀЀNuNN0$_& if"QdփփHRNNN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N NL"2` NqR YEjrd0` SjN" KC`e N`d \N6 l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNu0,p2,rR@RANuS@SA9@p9ArNu9@pN4, 6fprta0,2,NuA4, 6f9@9Ap rt`C l ", Ⲭ dfѬ SA 0! Nup"Np`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NZ  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NX"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`?<NNTUfNvHxN/ |LIESMICH.PRG luft nur|in hchster Auflsung!HPNvSCHADEr"_ NAHNjN <NHP < N"_NZHP <NuN"_NZC~N -~+@H - @NLx+@ -PN)@A r @0A r @0A rf @0pN pNANZpNPpNTpNXpNprNNSeite4Np NpNp r(NNK nchste Seite:  vorige Seite:  beenden: Esc drucken: Tab 4NpNANZNNNprNpPNpNNprNpN HPppN "_NZHPpN "_NZHPpwN "_NZHPp Np"_NZNNNprNN Bedienungsanleitung SURVEY NNprNp NpHPpN "_NZHPpqN "_NZNN+|NC퀐NA퀐NN+@ -Nn&<x*<Nl&<x*<NNCNTRNC퀊NNzRHmpPNp"_NZHPpP"_NC퀊N/- -CN HPA퀊"_NZHPp N "_NZHPp N "_NZCN, - gN/- -CN HP -CN N>NnH <r$<L8NN"_NCN,RB -̰m -JgNSN - mNVR/- -CN HPpPNp"_NZHPp N "_NZHPp N "_NZCN,`/- -CN HP -CN N>NnH <r$<L8NN"_NCN,NN+|pNNN>$fN`pNprNN HP -NnN$"_NZHPNv "_NZHPp"_N.Np NNprN -CN NNzN$fNBN mNNNn&<x*<NNpJBgp/NNn&<x*<NTpJBgp$fN+|PNNn&<x*<NNpJBgp/NNn&<x*<NTpJBgp$fN+|HNNn&<x*<NNpJBgp/NNn&<x*<NTpJBgp$fNt+|NNn&<x*<NNpJBgp/NNn&<x*< NTpJBgp$fN+| NNNNh+@ -Nn&<x*<NpJBgp/ -찭WHpJBgp/ -Nn&<x*<NpJBgp/ -Nn&<x*<NpJBgp$fNxB -Nn&<x*<NpJBgp/ -Nn&<x*<NpJBgp/ -Nn&<x*<NpJBgp/ -Nn&<x*<NpJBgp$g2 - gN xNzp NHxNv Beenden ? HPN JA | NEIN r"_ N+@ -UgN xB - WHgN! - HgN S - PgN R - gN!Nzp NBNGESAMTEN TEXT AUSDRUCKEN | (HP -Nn&<x*<NlN&<x*<NN$"_NZHPN+ Druckseiten) | | Drucker eingeschaltet ?| "_NZHPNv JA |ABBRUCHr"_ N+@ -SgN!A!NZpN`NNB +|NC퀊N+|BBpNRR -̰\HpJBgp/ -Nn&<x*<NpJBgp$VHgN#NC퀊NNA퀊NN - ;lN#NNNNNNNp#NpNN- -NN -p N NRBNzHxNNeues Blatt einlegen !| |BHPNv OKAY |ABBRUCHr"_ N+@pN` -̰lN#jRNN - >mNp#NpNN- -NN -p N NNN0120 A lfred S a S oftware 06.05.1989 Alfred Sa, D-2243 Albersdorf, Neuer Weg 2, Tel. 04835 / 1447 ================================================================== ANLEITUNG ZU S U R V E Y ================================================================== Dieses Programm ist PUBLIC DOMAIN. Es darf nur zusammen mit dieser Anleitung beliebig weitergegeben werden. Anregungen, Kritik und Fragen zu dem Programm sind mir jederzeit willkommen. Auch gegen die Zusendung kleiner Geldbetrge habe ich nichts einzuwenden ... Das Programm wurde mit dem GFA_BASIC (V 2.02) erstellt und mit dem GFA_BASIC_COMPILER (V 2.02) compiliert. Es ist lauffhig auf al- len Rechnern der ST-Reihe im hochauflsenden Modus (Monochrommoni- tor) und mit allen Betriebssystemversionen. Die Anleitung gilt fr die Programmversion 1.10. SURVEY bildet zahlreiche Funktionen des GEM-Desktops nach. Da ich seit einiger Zeit stolzer Besitzer einer Festplatte (85 MB) bin, war es mir lstig, eine Unzahl von Diskettensymbolen, aber dadurch nur relative kleine Directoryfenster auf dem Bildschirm zu haben. Da ich sowieso meistens nur mit wenigen 'Standardprogrammen' arbeite, verwende ich jetzt eine sogenannte 'Shell' (FLESH aus dem Public-Domain-Bereich). Eine Shell ist sozusagen ein 'berpro- gramm', von dem aus die anderen Programme gestartet werden. Diese Programme sind in normalen Pull-Down-Mens eingetragen und werden einfach wie Meneintrge angeklickt. Nach Beendigung eines Pro- gramms landet man wieder in der 'Shell', ohne da auf dem Desktop erst langwierig Directoryfenster aufgebaut werden mssen. Die Mens mit den gewnschten Programmen knnen weitgehend selbst zu- sammengestellt werden. Der Nachteil der Arbeit mit meiner Version von FLESH ist jedoch, da man dann keinen berblick ber die auf einer Diskette gespeicherten Dateien hat. Diesen Mangel behebt SURVEY (deutsch: 'berblick'). Sie klicken nach Programmstart von SURVEY einfach das gewnschte Laufwerk an und das Wurzelverzeichnis der Diskette wird eingele- sen und angezeigt. (Bei Festplattenpartitionen und einem lterem TOS als V 1.4 dauert es ein wenig...) Wenn Sie mit der Maus ber die Dateien fahren, wird in der Zeile ber dem Verzeichnis die vollstndige Dateiinformation gezeigt. Ordner werden durch einfaches Anklicken geffnet. Sie schlieen einen Ordner durch Anklicken von 'schliee:', durch Bettigen von 'Delete' oder durch Anklicken des entsprechenden Menpunktes. Der Menpunkt 'A.schlssel' zeigt, wie die Dateiattribute ent- schlsselt werden. Mit 'Programm starten' knnen Sie aus SURVEY heraus ein beliebiges anderes Programm starten. Nach dessen Beendigung finden Sie sich wieder an der alten Arbeitsposition in SURVEY. (Achtung: das zu startende Programm darf bei TOS-Versionen lter als 1.4 nicht schreibgeschtzt sein!) Die Benutzung von Accessories ist in dieser Version leider noch nicht sehr komfortabel, aber ohne weiteres mglich. G e g e n b e r d e m O r i g i n a l - D e s k t o p w e i s t m e i n P r o g r a m m e i n i g e B e s o n - d e r h e i t e n a u f : 1. Fast alle Menpunkte sind auch ber die Tastatur zu erreichen. 2. Es werden auf einer Bildschirmseite 63 Dateien angezeigt. Wenn mehr Dateien vorliegen, knnen Sie durch die Pfeiltasten 'hoch' und 'runter' oder durch Anklicken des entsprechenden Knopfes links oben blttern. (Beim Original sind es mit Textanzeige dagegen nur maximal 18 Dateien, bei Bildanzeige 49, aber dann ohne weitere Infos.) 3. Das Umbenennen von Dateien ist sehr viel einfacher. Mit der TOS-Version 1.4 lassen sich auch Ordner umbenennen, bei lteren Versionen erfolgt eine Fehlermeldung. 4. Dateiattribute knnen gendert werden, nicht nur 'schreib- schtzen'. Die gewnschte Kombination wird durch Anklicken erzeugt. Es sind jedoch nicht alle Mglichkeiten sinnvoll. 5. Unter 'Sortieren' knnen Sie u.a. 'ungeordnet' whlen. Bei den Programmen des AUTO-Ordners ist es z.B. oft wichtig, da eine bestimmte Reihenfolge der Ausfhrung eingehalten wird. Mit SURVEY knnen Sie nun mit 'ungeordnet' genau sehen, welche Abfolge tatschlich vorliegt. Die 'normalen' Sortierungen (auch nach Datum) sagen ja nichts ber die wirkliche Reihenfolge der Programmausfhrung aus. 6. Das gerade angezeigte Directory kann ausgedruckt werden. Dabei werden die kompletten Daten fr jede Datei gedruckt. 7. Beim Kopieren von Dateien mit SURVEY bleibt das Erstellungsda- tum der Dateien erhalten!!!!!! Wenn eine einzelne Datei kopiert wird, kann ihr dabei ein neuer Name gegeben werden. Bei den Kopiervorgngen erfolgt eine stndige berwachung auf ausrei- chenden Speicherplatz der Zieldiskette (bei Festplatten und lterem TOS dauert das leider wieder ein bichen). Vor dem berschreiben von bestehenden Dateien mit gleichem Namen wird gewarnt. Wenn diese Warnung unerwnscht ist, halten Sie entwe- der beim Anklicken von 'START' oder beim Anklicken von 'OK' in der Fileselect-Box oder whrend des Kopierens die - Taste gedrckt. Jetzt werden gleichnamige Dateien kommentarlos berschrieben. Es knnen nur Dateien, keine ganzen Ordner kopiert werden. Ich habe das Public-Domain-Accessory FSEL.ACC beigelegt. Es ist vertrglich mit a l l e n Programmen und belegt keinen Accessory- platz! Wenn Sie FSEL.ACC beim Booten im Hauptverzeichnis der Bootdiskette haben, erhalten Sie bei a l l e n Fileselect- Operationen eine genderte Box, bei der ein Laufwerkswechsel nicht mehr mhsam mit den Cursortasten von Hand vorgenommen werden mu. Sie knnen einfach durch Anklicken ein anderes Laufwerk whlen. Es sind dabei auch nur die tatschlich existierenden Diskstationen mglich (A - L). Zusammen mit SURVEY bleibt auerdem beim Kopieren einer einzelnen Datei und nderung des Zielpfades der bisherige Name als Vorgabe erhalten! (Das Original-TOS lscht beim ndern des Verzeichnisses die Vorgabe einfach, so da der Name neu eingetippt werden mu.) t €RZZZP. SURVEY: Programm zum Anzeigen von Directories. Gegenber dem Original-Desktop erweiterte Funktionen und Mglichkeiten. Besonders zum Einbinden in eine Shell geeignet. In LIESMICH.PRG ist eine vollstndige Bedienungsanleitung enthalten. Seitenweises Blttern in der Anleitung: Durch Anklicken von 'nchste Seite' oder 'vorige Seite' mit der Maus oder durch Bettigen der Cursortasten 'Pfeil hoch' oder 'Pfeil runter'. Formatierter Ausdruck durch Anklicken von 'drucken' oder durch Drcken von 'Tab'. Beenden durch Anklicken von 'beenden' oder durch 'Esc'. `F S` Hfv*oM*: m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HN8Hx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN8dAƐ Nu ,hЬlNuN ,`NuJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNtNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuN:pNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|N  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.NJgtBnNNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dGe GbFGNu G0dFGHANu~NuAd RdQRB6Ce0 C/jC C@j C jr0H@{0DH@Nur{0Nu{0NutNuJj(:,af AfBfNu&<x*<NۚHnHr$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuNNJjtNupN&NAXJ@jNNu~c0NQNu?Hl?<6NAP0,NuN` A$ HJo d*b` QjNuQjNubNN/N.,*Q(,l؅kb/,h?<INA\/?<HNA\Jg< l`"ld۬d۬`)Dl$I& `&bۛp0R@@b&C CX`~/,l?<HNA\p=NJ$_*(<HREHRa" EHRa DHRa??<KNNANNuN @ep~QBNuvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuAl 2l 4L VA0000000000prtN9Cp rtNAv` Av `Avl 2l 4)lVHNaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu0<}N& ?<NNC`&?<NNT"@ C <}N`N@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNpNHHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)IN(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNHpZNA BP"`#|}N\A"H0,tg"Hg \f`A\fS A ENAR@H`2QNu@9@JpNNr|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| NA R4RB`A Gf //o~4$_<F"OSG !H@Ь 2 Q)@RHRprN"H2@N.0H@N.YdNHAN, NtaoR6 .fJS@gFt ao>AA .f4S@g04<;ark(AjA AbAPjAdYA??<+NAX FNta>k:Y6 :fRS@g*t;a(k$AA :fRS@g t;akIA??<-NAXNurxS@k0  bS@jrNu .g( :g"0  b DBb BdeS@jJANuSR@JANu2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNtAH@B pNA NuApNA0pNNt$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNZWHNuNZVHNuNZUHNuNZRHNuJhg NNtNuJhg N1NtNu Ihd*N$E$RR@H`2QˈN ENu Ihd"*N$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N$E$R`QˈN ENup`(* 0(iN$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNtRB0 b b瀀`RB0 fрd`A"HJf X0pNNuNtЀUrЀQ N0H 0 0H@Nu?<*NATANLp N2p <0N`QNu0g< @g4:8(g* b.&NSD`Q0$C$RQLjN CNuNpNp NpC 0(gFd"P$I` *N$E$R(S@jv A(Wf( ae zb Q DNur ,* N& ( EN C"Sj|AcJ@fCAHPBHQ?NA\ _JjNNuH&NlրNljNu?r`??, N$F Z268SDĒDcCc2Ac0`QNuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHpx$&ր ld$l`"HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f)I`LNuHRp` HRpJQfpNNq Y Qfd20VHNuNNNq Y Qfd ЀЀNuNN$_& Y Qfd8JBg 8N 8NNNH$_& if"QdփփHRNNN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N NL"2` NqR YEjrd0` SjN YQf "_Nq*eNN*< NqbІSGfN @$P "t402g YRBB%(4g $`RBB%(Nu~$_NЀЀ Np"X4g S`"QNuNuNJPgBP, d eЀЀ``Ѐ"ЀЁE H FNBL l ,"X2geb J"F\NxdtdD& pk<HCJCf2 INH|d& xfN"Nud & f2Nup@Nxd& tkHCJCfN"@Ed ddeƐdH@J@f  @  "002Nu" KC`e N`d \N l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu??<NMXNu?k?<NM"UAf J@fH@NuDW?<NMXNu0,p2,rR@RANuS@SA9@p9ArNu9@pN4, 6fprta0,2,NuA4, 6f9@9Ap rt`C l ", Ⲭ dfѬ SA 0! Nup"Nak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuNp`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNزHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXtHB9BL@@TAt )l g.A( f hgSASAgRB`9BJNSAgNu)l g,vARC( g9CJ9|Lp!,N FPeNu؜A JpBQA/)H )l gBlJpNB Aprt0 0BBB R@ @efA000 0PB0 *00 000\0X0 *0000 0P0BX0, *@00p1| 1|QBX0 $HTH0P &0 *0,NupNSk [0NupNuHPaH8 _&X Pf/|~ K!zag @ ep 24C"2 S@ػ Td BTA3A0C4$I2a222B"0@2A\xvaRg<2#M 4B3BS@ -f ػ Td>BAAb8RGRC`3RSG5GC5C J1DcaRF F e`RG GcdNuXASF1F41R 1h4 x1EDgVA)H)H 9|J?<NNTU@g,ACg dRhdRh(gpL8Np>L8Np*HEAJ0?C bL000H?A/.)HpNLrHH/>Bl/,ff.f.ffNu l /.g&, ^`D&, N`>&, R`8&, V`2&, Z`,2,/4WAARA0,/6A hfRAS@f9A/,&, Jo ? CN0`@k Ap0(/.NuA Nu)G RHA)A v9@ zNup)@JphNLtH &JKBCH .A/~0 1PP1P1PA L? &<@>AFG0000X0000X0000X0000C ~AJ0g0  pi, N"F QNu"l`Yd&-KNN"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNt"l`]d6&|0NuN"l`]epZNC ҳfHP0(N$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN$l` epZN"X0gBPHR@@"D#Nu,jJk `BffAge Jj 2$NuJjNu,jJj `BffAgb Jj 2$NuJjNu <NHP < N"_NHP <NuN"_NCN -+@8H -8 @NLx+@~pNpN"pNrp"<NnpNNp NHPARNp*"<NnNP R O G R A M M S T A R T E N4NHmN*.PRG"_NHPA HPA*""_NA*NNt&<x*<NTpJBgp/A*NHPp\Nt"_NpJBgp$fN>tHm*p"_N*HPNPRG"_NpJBgp/Hm*p"_N*HPNTOS4"_NpJBgp/Hm*p"_N*HPNTTP"_NpJBgp$fN>tA*CNA*N+@@S@Hm*p"-@"_N\HPp\Nt"_NgNT/-ANHxHmBN+,| |Programm konnte nicht|gestartet werden.4"_NHPN OKAY r"_ N"+@PpN.AN\A킊NANNAcxN -T 9gNB2 -\JnNB(+|PpN F$fN?HxN+Drucker nicht bereit!| | Bitte einschalten.nHPN OKAY |ABBRUCHr"_ N"+@P -PSgNB(t;BlpNNzB NC0NNC6Np NClNANpp NtNHxNNeues Papier einlegen.HPN OKAY |ABBRUCHr"_ N"+@PpNNzBh -@\\HpJBgp/ -PNt&<x*<N pJBgp$gNpp NtNpNBml4-nN<&<x*<N pJBgp/ -TNtzNTpJBgp$fNBpNBmn -lNtvNN"-pNp -lNt&<x*<NۚvNN/ -p"N -T ;gNCBmpAuN -t$fNCHmA"_NpJBgp/4-pN<&<x*<N pJBgp$fNCZHmA_NNC`t;Bj4-pN<&<x*<N pJBgp/ -x@NtHPAZN"_NpJBgp$fNC+mT/-ANHm`HxCAHr "_NNCAbN -TSgNDrBNM S U R V E Y| |Version 1.1O O6.O5.19894HPN OKAY r"_ N"+@P -T gNE*pNA킖N)|J J)|J NpNNpNL+@\ -\Nt&<x*<N pJBgp/ -XNt&<x*<N pJBgp$VHgNE`Nt;BjANA킊N -T gNE^BHm`N OKAY r"_ N"+@P -T gNEAS0N4-dNrNnNJ1 Archivbit 2 Ordner 3 Diskname 4 Systemdatei 5 versteckt 6 nur lesenNp Nr -XJgNJnN\N/NFN󦀟$gNz4-jNNزNN>pNLNCfN -fN@+@XN>Nز?<?<NAXNtvNN$N+@X4-NNزN>NزpNpNNzARN)|7 J?<?<p".<NNdprNZprNZprNZprNZprNZprNZpr#NZpr$NZpr%NZpr&NZpr,NZpr-NZpr.NZpr/NZpr1NZ -D gNOpr#NZ -D gNOpr$NZ -D gNOpr%NZ -D %gNOpr&NZ -HWgNPpr,NZ -H gNP,pr-NZ -H gNPFpr.NZ -H gNP`pr/NZ4-fNNز?<?<NAX$fNR`N$fNR`pNN>Nز"_ABNpNpN"p Nrp*rfNnABNp*"<Nnp9NNNtprNpPNNNN>Nز?<NATR+@x?< NMTNHPp"_NCNBBmdAlNAN+@pA큔NRHmp"-"_N\HPp1Nt"_NJBfNS/-tC킜NN&`NqNqpNpN.p@"<Nn <D"<NpC"<Nn <A"<NpN.pN2pD"<Nn <@"<NpN.pN"p Nr <"<Nn <2"<N?<?<3?<?<3?<?<~N <-"< NnN A B B R U C HNpe"<NnN bersicht fr Laufwerk NpW"<Nnph"<N?<?<i?<?<i?<?<X~NpNrB@pA@NBtpAtN -@Nt&<x*<N|&<x*<NۚN/ -tNt&<x*<N|&<x*<NۚN"Nn -@Nt&<x*<N|&<x*<NۚN/ -tNt&<x*<N|&<x*<NۚN"N -@Nt&<x*<N|&<x*<NۚN? -tNt&<x*<N|&<x*<NۚN? -@Nt&<x*<N|&<x*<NۚN? -tNt&<x*<N|&<x*<NۚN? -@Nt&<x*<N|&<x*<NۚN? -tNt&<x*<N|&<x*<NۚN?~N -tNtvNH -@NtL8Nۚ&<x*<NۚNC킜NNt;BdN[B@pA@NBtpAtN -NtH -@Nt&<x*<N|&<x*<NۚL8NZpJBgp/ -NtH -@Nt&<x*<N|&<x*<NۚL8NTpJBgp/ -NtH -tNt&<x*<N|&<x*<NۚL8NZpJBgp/ -NtH -tNt&<x*<N|&<x*<NۚL8NTpJBgp/ -tNtvNH -@NtL8Nۚ&<x*<NۚNC킜NpJBgp$fN[ -@Nt&<x*<N|&<x*<NۚN/ -tNt&<x*<N|&<x*<NۚN"Nn -@Nt&<x*<N|&<x*<NۚN/ -tNt&<x*<N|&<x*<NۚN"N -tNtvNH -@NtL8Nۚ&<x*<NۚN+@PN `lNqN `TNq4-dN<&<x*<N pJBgp/ -PNtzNTpJBgp$g,pNARN4-dpJBgpF$fN_pNpN"p Nr <-"< NnN Moment ... N -P$fN\N\+mxP+mPxArNpNpNCxNN -x+@BTBAHNNz?-z/-?<6NAP+@ -JgN^ -NrNtH -PNrNtL8N|H - NrNtL8N|N+@T -XNrNtH <r$<L8NۖH -PNrNtL8N|H - NrNtL8N|N+@NzN/?<NA\N -x@NtHPN:\*.*4"_NHPpNt"_NCxNNz?< -x/?<NNAPJgN^pNCrNN/ -r/p""_NJHmrHmrpNt"_NNtH <r$<L8NۖN"_NCrNN Diskname : HPHmrp N"_NHPp "_N"_NHPN| |"_NC`N/-ANHm`N Kapazitt: "_NHPAH"_NHPN Bytes|frei : "_NC`N/-TANHm`AH"_NHPN Bytes "_NC`NN>Nز"_A~NBdB`BBmnpNB@/-@A C킄NDR@ -@ m+|\BNzN/?<NA\Hm~AnN/-H/-LAN4-fNNزpN -\RnNb,R|RR4-rNNزpN"p Nr -\mNbp*rNnN4NprNnp-r,N?<?<.?<-?<.?<-?<~N -NtH <r$<L8NۖzNTJBfNcfp*rNزpN"p NrANWnNcN schliee:HPARNprbNnp-"<N?<c?<.?<?<.?<?<~Np*"<NnHmp9N"_NHPp9"_NNN>Nز A큸N A@NAN -@C킄NHPpr"_N\HPp*Nt"_NJBfNdvp*NtC퀄NNdp NtC퀄NN HP -@Nt&<x*<NۚN"_NHPp"_N*HPp Nt"_NHPA퀄"_NHP -@C킄NHPp r"_N\"_NCN -DNt&<x*<N pJBgp/4-lN<&<x*<N pJBgp$fNeHmp Nt"_NHP -@C킄NHPpr"_N\"_NCN -DNt&<x*<N pJBgp/4-lN<&<x*<N pJBgp$fNg -@C킄NHPpr"_N\NN+@p0NtHPpNtN"_NHPp"_N*HPp.Nt"_NHPp0NtHP -NtvNNNtN"_NHPp"_N*"_NHPp.Nt"_NHP -Nt&<x*< N&<x*<NۚN"_NC퀊N4-lNNز -NtzNrpJBgp/ -\_HpJBgp/ -NtvN&<x*<NrpJBgp$fNnJpN4-vN<&<x*<N pJBgp/ -C킄NHPpr"_N\HPp+Nt"_NpJBgp$fNj2NtprNpPNNAlNNnDNtprNp NtHP -C킄NHPpr"_N\"_NN -C킄NHPpr"_N\NN+@Ntp NtHPp0NtHPpNtN"_NHPp"_N*"_NHPp.Nt"_NHPp0NtHP -NtvNNNtN"_NHPp"_N*"_NHPp.Nt"_NHP -Nt&<x*< N&<x*<NۚN"_NN -C킄NHPpr"_N\NN+@Ntp NtHPp0NtHP -Nt&<x*< NN"_NHPp"_N*"_NHPp:Nt"_NHPp0NtHP -Nt&<x*<NN?NtN"_NHPp"_N*"_NNN000000HP -C킄NHPpr%"_N\NNN"_NHPp"_N*C퀖NNtp NtHPA퀖"_NNHmpr"_N\HPp1Nt"_NJBfNlNtN p Diskname qHPpN"_NNNmHmpr"_N\HPp1Nt"_NJBfNmBNtN' Ordner p ffnen: anklicken q 4NmHmpr"_N\HPp1Nt"_NJBfNmNtN p nur lesen qHPpN"_NNNmNtp#NN -C킄NHPp r"_N\ClNHmlp"_N*HP <Ѝ/AnNHmlp "_NHP mNnxpNNtprNpPNNAlNN>Nز AN"_A퀢NA@NHmp Nt"_N+@@ -@JnNoHmHmp Nt"_NNtH <r$<L8NۖN"_NC퀢NNo/-A퀢"_NpN>NزBmxN00000HP?Nز -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNu -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNurt;BdN -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNu+| N>NزBtBmdBXBRt/-tA C킐ND -t ?mBtA킢N -\C킢NlpNpN"pNrp"<NnpNNp NHPARNNpN.prNnp-rZN?<?<.?<[?<.?<[?<~NprbNnp-"<N?<c?<.?<?<.?<?<~Np*rNnNABBRUCHrBNp*rlNnNSTART4r:NprNnN Zu kopierende Dateien anklickenHPp0N"_NNpNpN.NH +@ +@ +@ANt;BvAiFNBmvNSgNw+|AtN -NtHNNtL8NBpJBgp/ -NtHNNtL8NBpJBgp/ -NtHNNtL8NBpJBgp/ -Nt&<x*<N pJBgp/4-dN<&<x*<N pJBgp$g+m+ml+māp -NtzNrpJBgp/ -ܰ\_HpJBgp/ -pNtvN&<x*<NrpJBgp/AlNHPp+Nt"_NpJBgp$fN{pN -lNtvNN"-pNp -lNt&<x*<NۚvNN/ -p"NBNH +@ +@ +@AN -SgNyAtN -İpVHpJBgp/ -భlVHpJBgp/ -NtzNTpJBgp/ -Nt&<x*<N pJBgp/4-dN<&<x*<N pJBgp$g. -lNtvNN"-pNp -lNt&<x*<NۚvNN/ -p"N -SgN{pN.pN2 -C킢NNpNpN.prbNnp-"<NN$fN}`pNpN"p Nr -tSgN>pC킐NHPp r"_N\C퀺NHmp"_N*HP <Ѝ/AnNHmp"_NHP <Ѝ/AnNA퀜NJnN~Hmp.Nt"_NHPA퀜"_NC퀺NprNnpNHPHmA퀺"_NHPp9"_N*HPp9N"_NHPp9"_N"_NNp*"<NnN" Zielpfad und Dateinamen whlen:NHmN*.*&"_NHPHmA*""_NA*NNt&<x*<NTpJBgp/A*NHPp\Nt"_NpJBgp$fN8A*CNA*N+@@S@Hm*p"-@"_N\HPp\Nt"_NgN -@WlA*CZNHm* -@"_NCNHm*A*N󦐭@"_N*HPp N"_NHPp "_NCNpC킐NHPHxAr "_NHmA퀺"_NC퀺NNz -x@NtHPA*N"_NJBfN+mTNA*NNNtH <r$<L8NۖNN.+@A CNNABBRUCH4CNHmpNt"_NHPHmZpNt"_NHPpC킐NHPANNvprNnp NN/-ANpN"p"<Nn -tNtNHPN Dateien, "_NHPAH"_NHPN Bytes"_NNpN"p*"<NnN# Zielpfad whlen, ffnen, dann OK:NHmN*.*&"_NHPA HPA*""_NA*NWlNvN00000HP?Nز"_AN"_AZN"_A퀺NpN"p Nrp"<NnpNtNpN" -tSnNprNnpNHPHmp9"_N*HPp9N"_NHPp9"_N"_NNp*"<NnHmZp9"_N*HPp9N"_NHPp9"_NNHmAZ"_NJBfNA퀺N+@SHmp"-"_N\HPp\Nt"_NgN -WlHmA퀺N󦐭"_N*CNNzBg -/?<NNAP+@ -JgNNzBg -Z/?<NNAP+@+|PB -JgNpiNtHPAZr"_NpN+@pNN000004HP?NAX -JnND?<?-B?<BNA +@ -NtzNZpJBgp/ -VHpJBgp$fNHxNP Kopierfehler!| | Quell- und Zieldatei|haben unterschiedliche Lngen!HPNABBRUCHr"_ N"+@P <Ѝ/ -NtzNvN&<x*<NۚN$v NN _ -NtzNN+@?-?<>NAXNHxN |Quelldatei ist leer.| | HPA"_NHPAr"_ N"+@PRPN NHxN Quelldatei lHPA"_NHPN|nicht gefunden !| |"_NHPA"_NHPAr"_ N"+@PRPNpHxN*Quell- und Zieldatei| sind identisch.| |HPA"_NHPAr"_ N"+@PRPN>Nز A크N"_ANN/-ANHxHmNN datei:| |i"_NHPAB"_NHPN.|"_NHPA"_NHPAr"_ N"+@PRPpNN>NزBmxN000004HP?NزN000004HP?"<INp*"<Nnp="<HNpN"p!"<NnNABBRUCH4Np9"<NnNO K A Y4NpN.pNA퀖NCNHmpr"_N\CNHmpr"_N\CNHmpr"_N\CNAN&<x*<N|&<x*<NۚNr0NpAN&<x*<N|&<x*<NۚNr>NAN&<x*<N|&<x*<NۚNr!NpAN&<x*<N|&<x*<NۚNr/NAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNr NAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNrNNH +@ +@ +@ -SgN -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp/ -Nt&<x*<NTpJBgp$fN>+|N -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp/ -Nt&<x*<NTpJBgp$fN+|N - }nN -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNV - mNVAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNrN - "mNp0NtCNNp1NtCNAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNrNN$fNV` -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fN - mNAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNr N - "mNLp0NtCNNZp1NtCNAN&<x*<N|&<x*<NۚNrNpAN&<x*<N|&<x*<NۚNr NN$fN` -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNV - mNVAN&<x*<N|&<x*<NۚNr!NpAN&<x*<N|&<x*<NۚNr/N - "mNp0NtCNNp1NtCNAN&<x*<N|&<x*<NۚNr!NpAN&<x*<N|&<x*<NۚNr/NN$fNV` -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fN - mNAN&<x*<N|&<x*<NۚNr0NpAN&<x*<N|&<x*<NۚNr>N - "mNLp0NtCNNZp1NtCNAN&<x*<N|&<x*<NۚNr0NpAN&<x*<N|&<x*<NۚNr>NN$fN` -W^HgN`BgBgA"N -Nt&<x*<N pJBgp/HmA"_NHPA"_NHPHmpr"_N\"_NpJBgp/HmA퀖N"_NpJBgp$fN\HmHxAr "_NHmHxAr "_NHmHxAr "_NHmHxAr "_NpNBB@R@ <Ѝ/Hmp"-@"_N\NH -@Nt&<x*<Nۖ&<x*<NL8N|N _ѐ -@]mN/?<NA\NHmAl"_NHPpNt"_NCxNNz?< -x/?<NNAP+@ -JgNNzBg?-?< -x/?<CNA +@ -JlN -C킄NHPHx% -NtNHPpN"_NHPp"_Nr "_N -D %gN+| -NtH <r$<L8NۖN+@| -|R+@A`NA킊NANNNHxN0Zugriff nicht mglich,|Attribute nicht gendert.HPN OKAY r"_ N"+@PB -JmN\/-ANHxHmBN,| |Attribute nicht gendert.g"_NHPN OKAY r"_ N"+@PpNN>NزpNpN"p Nrp*rfNnp NNp=rNnNNeuer Ordner: HPp:N"_NNNtprNHxHxA HP ANpN+||B+|BmrANA`NA킊NANN -JfN/-ANHxHmBN,| |kein Ordner angelegt.4"_NHPN OKAY r"_ N"+@PpNpNBm~N>Nز ANNFehler #HP -NtN"_NCBN - gNpNDiskette schreibgeschtzt4CBN - gNNNicht gefundenCBN - gNNPfad nicht gefunden4CBN - gN4-|N<&<x*<N JBfN0NOrdner mu leer seinCBNN4-~N<&<x*<N JBfN|NName existiert schonCBNNNSchreibgeschtztCBNN>Nز -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp/ -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fNJANN00000HP?NزANWnNN Moment...HPARNHmANNtH <r$<L8NۖN"_NCNAN+@@S@Hmp"-@"_N\HPp\Nt"_NgN` -@WlHm -@"_NCNHmA_NANNN>Nز -NtvNN$vNzNN+@ -NtH -NtvNL8NۚH <r$<L8NۖzNN+@ - mN +| -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fN+| <Ѝ/p _ѐ - nN+|5 <Ѝ/p* _ѐN>NزBmnNH +@ +@ +@ANAiFN+m+ml+māp -NtzNrpJBgp/ -ܰ\_HpJBgp/ -pNtvN&<x*<NrpJBgp$fNpNAlNHPp*Nt"_NJBfNpN.NpN.pN2pN -lNtvNN"-pNp -lNt&<x*<NۚvNN/ -p"Nt;BnNH +@ +@ +@ANAK$N -İpVHpJBgp/ -భlVHpJBgp/ -NtzNTpJBgp/ -TNtzNTpJBgp$gnN6AK$N -NtHNNtL8NBpJBgp/ -NtHNNtL8NBpJBgp/ -NtHNNtL8NBpJBgp/ -TNtzNTpJBgp$gdpN4-nNNزBmx -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp/ -XNt&<x*<N pJBgp/ -\]HpJBgp$fN& -NtH <r$<L8NۖN+@|+|Bmrt;Bx -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp/ -XNt&<x*<N pJBgp/ -NtH <r$<L8NۖzNTpJBgp$fN* -NtH <r$<L8Nۖ&<x*<NN+@|Bmr -|R+@+|t;Bx4-xNNز"_ANANANANN*.*"CNBHmA"_NHPpNt"_NCNNz?<? -/?<NNAPJgNAN?<ONAT$gN>NزRpNCNN/ -/p""_NJHmp.Nt"_N+@ -Nt&<x*<NTpJBgp/ -Nt&<x*<NZpJBgp$fN4Hm -NtH <r$<L8NۖN"_NHP - DN"_NHPHmANNtH -NtL8Nۖ&<x*<NۚN"_N*"_NCNHmHmpNt"_NNtH <r$<L8NۖN"_NHPpN"_NHPp"_NCNRN HPNNrNtN"_NHPp"_N*CNNNV+@ -NtNHPpN"_NHPp"_NC퀊NNNV+@ -NtNHPpN"_NHPp"_NC퀐NNN@+@ -NtNHPpN"_NHPp"_NC퀖NN000000HP -N"_NHPp"_N*CNNHmNpr"_N\HPp1Nt"_NJBfNvANHPp.Nt"_NJBfNpR\/-\ -NHPp*Nt"_NHPA"_NHPN ."_NHPA퀊"_NHPA퀐"_NHPA퀖"_NC킄NDR`NR\HmNpr"_N\HPp1Nt"_NJBfN /-\ -NHPp)Nt"_NHPA"_NHPpN"_NHPpN"_NHPpN"_NHPA퀖"_NC킄NDN/-\ -NHPp+Nt"_NHPA"_NHPA"_NHPA퀊"_NHPA퀐"_NHPA퀖"_NC킄NDRd <Ѝ/ANN _ѐN>Nز AN A N -\JnNpNNz <Ѝ/B/-\AN -HWnNANN>Nز AN AN ANArN -A킄N/-/-ALN -A킄NN>Nز AN ANANA N+m+m -NtH -NtL8NۚvNNC킄NHP -"- "_N\CrN -C킄NHP -"- "_N\HPAr"_NJBfNR` -C킄NHP -"- "_N\HPAr"_NJBfN2S` -찭oNj -C킄NvHP -C킄Nv"_NHRS -찭oN -mN/-/-ALN -찭 mN/-/- ALNN>Nز+|@R@B -@NtH -NtL8Nۚ&<x*<NۚNC킄NHP -"- "_N\HP -@C킄NHP -"- "_N\"_NJBfNPR` -$fN/-@ -@Э/AN <@Ѝ/ - _ѐ -@\m8N>Nز AN ANANA N+m+m -NtH -NtL8NۚvNNC킄NHPp r"_N\CrN -C킄NHPp r"_N\HPAr"_NJBfNBR` -C킄NHPp r"_N\HPAr"_NJBfNvS` -찭oN -C킄NvHP -C킄Nv"_NHRS -찭oV -mN/-/-AN -찭 mN/-/- ANN>Nز -\JnNt+m\$B( -(NtH -\NtvNL8NTJBfNt -(C킄NvHP -$C킄Nv"_NHR(S$`N>Nز -`$fN -`NtNHPN Ordner"_NCBNNpNCBN -d$fNX/-ANHmBN| |4"_NHP -dNtN"_NHPN Dateien|mit 4"_NHPAH"_NHPN Bytes "_NCBNNtHmBN| |4"_NCBNN>Nز AN A 2Np>"<NnNOKAY: , ABBRUCH: lNpN"p NrNtpNtNNt -0"-,NA2NHm2p.Nt"_N+@LpN -,NtH -HNtL8NۚH <r$<L8NۖvNN/ -0NtH <r$<L8NۖvNH <r$<L8NۖN"Nn -,NtH -HNtL8NۚH <r$<L8NۖvNN/ -0NtH <r$<L8NۖvN&<x*<NۚN"NHpN+@@ -,NtH -HNtL8NۚH <r$<L8NۖvNN/ -0NtH <r$<L8NۖvNH <r$<L8NۖN"Nn -,NtH -HNtL8NۚH <r$<L8NۖvNN/ -0NtH <r$<L8NۖvN&<x*<NۚN"NHpN -@NtNzC&NHm A&"_NNtzNTpJBgp/ -D8]HpJBgp/ -H8WHpJBgp$fN -LJnNHm&p.Nt"_NJBfNA&N -HDWHpJBgp/ -DNtH -LNtL8Nۖ&<x*<N pJBgp$fNǀHm2/-DA&r "_NA&NN -DNtH -LNtL8Nۖ&<x*<NrpJBgp/ -HL^HpJBgp$fNA&NHm&p.Nt"_NJBfNȈ -DNtH -HNtL8Nۖ&<x*<NTJBfN:A&N -HNt&<x*<NTpJBgp/ -HNtzN pJBgp$fNȈA&NA&N$fN -D8mN -HDWHpJBgp/ -HNt&<x*<N pJBgp/Hm&p.Nt"_NpJBgp/ -LNtzN pJBgp$fNtHm2 -H"_NHPp.Nt"_NHPHm2 -HR"_NV"_NHP -8"_NC2NRHRDHm2 -H"_NHPA&"_NHPHm2 -HR"_NV"_NHP -8"_NC2NRHRDNHm2/-8A&r "_N+| @NΊHm,A&"_N+@@ -@JgNNtpNtN -@Nt&<x*<N pJBgp/ -@Nt&<x*<N pJBgp$fN˔t;B -@ gN+|@Hmp Nt"-8N*"_NHP -8"_NC2NANNtH -8NtL8NN+@D+mDHHm2 -D"_NC2NA2NHPp.Nt"_NJBfNXHm2A2NNtH <r$<L8NۖN"_NC2N/-4A2"_Np/-Nز -DQlNHm2p.Nt"_N+@L -LJgN -DQnNHm2p"_NHPp.Nt"_NHPHm2 -DNtH <r$<L8NۖNr "_N\"_NC2N -HDgNRHRDN>Nز APNAN -PNtNCHNAHN+@ - nNTN HP -PNtNHP -NtH <r$<L8NۖN"_N"_NHPp"_N*HPp.Nt"_NHP -PNtNHP -NtH <r$<L8NۖN/p""_N\"_NHPp.Nt"_NHP -PNtNHP -NtH <r$<L8NۖN/p""_N\"_NHP -PNtNHPp"_N*"_NCHNN -]nNFN HP -PNtNHP -NtH <r$<L8NۖN"_N"_NHPp"_N*HPp.Nt"_NHP -PNtNHP -NtH <r$<L8NۖN/p""_N\"_NHPp.Nt"_NHP -PNtNHPp"_N*"_NCHNN -WnNN HP -PNtNHP -NtH <r$<L8NۖN"_N"_NHPp"_N*HPp.Nt"_NHP -PNtNHPp"_N*"_NCHNN p NHPAH"_NHPp "_N*CHNN>NزpNpN"p Nrp rNnpPNNp NrNtprNpNtNpJNN>Nز"_ABNA@NA@NAN+|@ABNA@NHmBp"-@"_N\CNHm0A"_N+@@ -@JnN NpNRHPHm6p"-@"_N\"_NHPNR"_NHPpNt"_NNN,NpANN `hNqNpNN>Nزᄔ~~{|}[\]@ SURVEY-----------------------123456 Disk Accessories aufrufen----------------------------- zeige Info - sh Help----------------------------- Laufwerk wechseln - Tab----------------------------- Ende Directory zeige Info - Help aktualisieren - Esc-------------------------------- Namen ndern Datei/Ordner lschen Attribute ndern Ordner anlegen - Insert-------------------------------- schliee alle Ordner - ClrHome Ordner schlieen - Delete Anzeigen Gre - sh F1 Datum - sh F2 Zeit - sh F3 Attribute - sh F4--------------------- A.schlssel - F8 Sortieren Namen - F1 Gre - F2 Datum - F3 Extension - F4------------------ ungeordnet - F5------------------ aufwrts - F6 abwrts - F7 Extras Programm starten - F9 Directory ausdrucken-------------------------------- Dateien kopieren - F10 ***ACC zurck zu SURVEY - Undo-------------------------123456 ***46. V"XF R 6B ~ j 2"0&l F \ l4 08~Z" .BZ V~RZ6* Z0&&&*, 4 pHj*^" $4H R .vJ*܊8td$4&8&4L"*jJ&p"h Nj~fF R\dz,h<dVL^v"<" B RJ >"L6L2v b xd."X:D0" "(X" "PRp~LH""J\ V& (|"~xxR~T~T~T~60RB j JZD(  :.4$($( v( Z*D z& pf  j H v*j L8D4D6@0 x.`$X"8Nz$ `d`N>D~0"lT.N. !U.. !UVDISK3 ACC #UVDISK3_0DOC &U` ZxAOJ$Vg"O/ //<JNAO < a3 k$HzdHx??<?NAO a:3`3ByBy0:.":8`R@f3J9fA#f <a P(fa`Hx?<HNA\r 3A a3f P`TA apaD3y"::Ͱ<f80:S@|dpf3@ApaByJByb`< f0:nR@|cpf`< fFaBgHzW?<kHz:Hx??<@NAO a` pAarBy`<f"?: ?:?:a\PP``<f4PpAa*S@fDaFQJ9g0Hz?<&NN< fa^P`<f aPp:aaJ9gNu x.B0((#r \#NuHz?<&NN\pA .a|faTBgHz"?<=NAP.k6M/Hx??<?NA A0zba|?aa~`Ap`.pA a$@ NuHzN?<&NN\pAea|fZaHz?<ANA\Mn:@?/?<6NAP r 㨰|e:BgHzh?<NAXNu/8Nuprt0k AQNuC@z x&!tА[D<0g z0ЃQNuJDf0Nu dH瀀a r $:x8000Kurzbeschreibung des Programms VDISK.ACC 30.08.88 Das Programm VDISK.ACC ist ein Public-Domain Programm und somit frei kopierbar, jeder darf es benutzen und an Freunde weiter- geben. Es handelt sich hierbei um eine residente resetfeste Ramdisk, die als Accessory ausgefuehrt ist. Bei einem Rechner- absturz oder Reset wird der Inhalt der Ramdisk nicht geloescht, allerdings muss sich beim erneuten Booten die Datei 'VDISK.ACC' wieder auf der Bootdiskette befinden. Dagegen geht der Inhalt natuerlich beim Ausschalten des Rechners ganz verloren. Wird allerdings die Option 'Autoboot' gesetzt, braucht sich die Datei 'VDISK.ACC' nicht auf der Diskette zu befinden. In diesem Fall werden AUTO-Ordner und Accessories von der Ramdisk gebootet. Vorsicht: die Option Autoboot nur bei Systemen ohne Festplatte benutzen, sonst gibt es evtl. Schwierigkeiten bei einem Reset. Der Sourcetext gehrt zum Lieferumfang des OMIKRON.Assemblers und ist kein Public-Domain! Bedienung von VDISK.ACC: Sofern sich die Datei 'VDISK.ACC' beim Booten auf der Bootdisk befunden hat, ist das Accessory mit 'Ramdisk' in der ersten Menueleiste 'Desk' eingetragen. Nach Anklicken von 'Ramdisk 3.0' erscheint eine Dialogbox, in der zwei Boxen zur Einstellung von Parametern des anzumeldenden Laufwerks vorgesehen sind: 'FREI' Im Dialogfeld 'FREI' wird der freie Speicher in KB angezeigt. 'GRSSE' In das Dialogfeld 'GRSSE' kann die gewnschte Gre der Ramdisk in KB angegeben werden. Die Mindestgre fr VDISK ist 100KB. Zu Beachten ist, da die Ramdisk zur Verwaltung der Daten noch ca. 24KB bentigt. Auerdem verlangt VDISK noch 20KB fr TOS, damit z.B. die File-Selektorbox noch ausfhrbar ist. 'LAUFWERK' Im Dialogfeld 'Laufwerk' wird die aktuell eingestellte Laufwerks- kennung der Ramdisk angezeigt. '+','-' Mit diesen beiden Knpfen kann die Laufwerkskennung der Ramdisk verstellt werden. Es sind die Laufwerke 'C' bis 'P' selektierbar. 'ABBRUCH' beendet die Dialogbox, ohne jedoch eine Ramdisk an bzw. abzumelden. 'ANMELDEN' installiert eine Ramdisk in der gewuenschten Groesse mit gewhlter Laufwerkskennung. 'ABMELDEN' meldet eine zuvor installierte Ramdisk wieder ab. Dabei wird der zuvor reservierte Speicher wieder freigegeben, der Inhalt der Ramdisk geht verloren. Wurde zwischen Installation und Abmelden ein Reset ausgeloest, erfolgt ein automatischer Reset nach Abmelden der Ramdisk, dies ist aus Betriebssystemgruenden erforderlich. 'Autoboot' aktiviert den Ramdisk-Bootmodus. Nach einem Reset werden der AUTO- Ordner und die Accessories dann aus der Ramdisk gebootet. Dabei installiert VDISK ein reset-residentes Programm welches vom TOS als solches bei einem Systemstart erkannt wird. Hinweis: Einige Virusfindprogramme halten diese Routine fuer einen Virus, sie ist aber harmlos und dient nur den zwecken der Ramdisk. 'Param. SICHERN' speichert die Parameter der Ramdisk (Groesse, Laufwerk und bootfhigkeit) in der Datei 'VDISK.INF' auf der Bootdiskette, von der VDISK.ACC geladen wurde. 'INHALT SICHERN' speichert den momentanen Inhalt der Ramdisk als eine (ziemlich) grosse Datei mit Namen 'VDISK.INH' auf dem Laufwerk A: ab. Eine aeltere Sicherungsdatei wird dabei Ueberschrieben. Sollte der vorhandene Speicherplatz auf der Diskette im Laufwerk A: nicht ausreichen, erfolgt eine Warnmeldung. 'EINLADEN' laedt den (zuvor gesicherten) Inhalt einer Ramdisk aus einer Datei 'VDISK.INH' auf Laufwerk A: wieder in die Ramdisk ein, der aktuelle Inhalt der Ramdisk wird dabei ueberschrieben. Hinweis: Falls sich Ordner nach dem Einladen nicht oeffnen lassen, hilft ein kurzer Reset. Dieser Fehler ist in den Tiefen des TOS (ROM-TOS & Blitter-TOS) verborgen und tritt leider manchmal auf! Viel Freude beim Benutzen der Ramdisk Christian Markus, Hamburg . *U.. *UXDIRLISTINF +U1 XDIRLISTPRG .U^XDIRLISTRSC 2U Kurze Information zu XDirList.PRG Eigentlich war das Ganze nur als klitzekleines Utitity gedacht. Aber - wie so oft - hat sich daraus ein groes Problem und ein richtiges Programm entwickelt. Es geht darum, Disketteninhalte zu listen. Das kann passieren: 1. Auf dem Monitor 2. Auf einem Drucker 3. Auf eine ASCII-Datei (z.B. zum spteren Druck) Der Witz an diesem Programm ist, da es 1. Diskinhalte alphabetisch sortiert und 2. Alle Ordnerinhalte VOR den Dateien (analog Desktop) ausgibt. Es kann ein Suchpfad eingegeben werden, von dem an das Directory erst durchforstet wird. Auerdem ist es mglich, gem den GEMDOS-Konventionen mit Wildcards zu suchen: * fr beliebige Zeichen (auch keines) ? fr ein unbekanntes Zeichen Beispiele: *.BAK findet alle wie DUMICH.BAK, DU_ER_ES.BAK etc. Q*.* findet alle wie QUELLE.PIC, QUARK.DOC etc OTT?.* findet OTTI.DOC, OTTA.TXT, OTTO.PIC etc. Es ist mglich in einem - quasi Stapelbetrieb - die Inhalte verschiedener Laufwerke auf einen Schlag anzuzeigen. (Also erstmal Kaffee kochen, whrend der Drucker den Harddiskinhalt rausrattert) Die gefundenen Dateien knnen wahlweise mit Besttigung gelscht werden. Also: Harddisk an & fix mal alle *.BAKs gelscht. Ist die Hlle, gell? PROBLEME MIT XDIRLIST: ====================== will ich hier nicht verschweigen, obwohl ich mein Mglichstes gab, sie dem werten User aus dem Rechner zu halten. Es geht nicht, auf eine Disk zu protokollieren, whrend sie durchforstet wird. Dafr nehme man eine RAMdisk. Aber auch dann funktioniert's erst korrekt beim zweiten Durchlauf. WARUM, GEMDOS??? Manchmal werden, speziell beim Lschen, Pfade als nicht existent gemeldet, obwohl das gar nicht stimmt. WARUM, GEMDOS??? Manchmal wird das zarte Schwarz hinter der Dialogbox nicht neu gezeichnet. WARUM, GFA??? Wenn, dann entstehen meistens die Fehler -33 = Datei nicht gefunden 102 = zwei Bomben 103 = drei Bomben Achso, um das Listen mehrerer Disketten in Laufwerk A zu ermglichen, mute ich den kleinen ST dazu zwingen, die Diskette echt als gewechselt zu erkennen. Und mit der Erkennung dessen hat er ja so seine Problemchen. Dafr mute ich leider auf eine undokumentierte Variable zugreifen. Noch geht das gut, aber bei spteren TOS-Versionen? Wer wei? Vielen Dank an Claus Brod und Anton Stepper fr ihren hervorragenden und unterhaltsamen Scheibenkleister und speziell fr die o.g. Variable. Ingo Brmmer, November 1988 `]S` Efv*oM% m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNܦHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHN(ALNHz2?< NA\pdAxr0XQ)K\NNVffNF ,`NuJrBjNuHz?<&NN\NFCAp$L Qp N29lrBlJpNN2pMN29@pdAr 0Q0tr N݀9lNupealp`NuaN,Hz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn2 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8Nj6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?Nj<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dGe GbFGNu G0dFGHANu~NuAd RdQRB6Ce0 C/jC C@j C jr0H@{0DH@Nur{0Nu{0NutNuJj(:,af AfBfNu&<x*<NHnr$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuCDEHHNpNVL8NL8NNpNVJjtNupN&NAXJ@jNNu~c0N(QNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuvNr)@p `H@)@prtN݀AHplrtN݀B 2pNppNdpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtN݀papap9@p`pvNrv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtN݀Al 2l 4HVNu9Cp rtN݀Av` Av `Avl 2l 4)lVHN0<}N& ?<NNC`&?<NNT"@ C <}N`Nj@((?<NN.?<NNX@LvA HA HNupmrtA)HA)HN݀pNHHPN.4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)IN^(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4N2HNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZN2A BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNur|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N݀2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNF"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNN$N.$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNuNUHNuNRHNuJhg NNNuJhg N1NNu Ihd*N.$E$RR@H`2QˈN ENu Ihd"*N.$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N.$E$R`QˈN ENup`(* 0(iN.$E 4R`Q$D 4R`QˈN DN ENuA"HJf X0pNNuN$tЀUrЀQ N2p <0N.`QNupC 0(gFd"P$I` *N.$E$R(S@jv A(Wf( ae zb Q DNur ,* N& ( EN C"Sj|AcJ@fCAHPBHQ?NA\ _JjNNu, N$F Z2Ad@` Q`QNuQNuHpx$ ld$l`"Hg8" &Ak eѐ S`g"" k#&Aeё2+SAI3 Q&f)I`LNuHpx$&ր ld$l`"HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f)I`LNuHRp` HRpJQfpNNq Y Qfd20VHNuNN$_& Y Qfd8JBg 8N 8NNN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N NL"2` NqR YEjrd0` SjN$_NЀЀN YQf "_Nq*eNN*< NqbІSGfN $_Nփփ"@HHRNN YQf "_&Nq*eNN*<&NqbֆSGfN @$P "t402g YRBB%(4g $`RBB%(Nu~$_NЀЀ Np"X4g S`"QNuNuNpJPgBP, d eЀЀ``Ѐ"ЀЁE H FNL l ,"X2geb J"F\NjxdtdD& pk<HCJCf2 INƳ|d& xfN2"Nud & f2Nup@Nxd& tkHCJCfNN"@Ed ddeƐdH@J@f  @  "002Nu" KC`e NF`d \N l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu?k?<NM"UAf J@fH@NuDW?<NMXNu, HHHNup`pJ@gHzZ?<&NN\NuB?< NA\Av ACLElp"Jg X\QC"C!/:@?< NA\NuLH!NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A6@ Ni LHL|1R/:?< NApdK`HaJLxNNu)H9@Jp4N2P'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8Nh  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXYp-KNu"l`Yd&-KNNF"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuNF"l`QepZNt"l`]d6&|0NuNF"l`]epZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuNF"l` epZNC ҳfHP0(N.$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuNF$l` epZN,jJk `BffAge Jj 2$NuJjNu/\ga `6f -K. @Nua \dp\N&#k gH`Nu"Cփk փk2##`փk##`3#`$Y8gHRDD*D%H8#$c2g# HRDD%H`)|O ->SgN3TN-D/-/-Hx <6Ѝ/AYDNh -6$fN3+|./-/-Hx <6Ѝ/AYDNh -6$fN3B./-/-Hx <6Ѝ/AYDNh -6$fN3+|.NV -.JgN4JNpoNHPNcon:r"_N+|BNpC*NNNqC0NN -.SgN4 <`Ѝ/ARNh4-`N\JBfN4N-DpoNHPNprn:r"_NNNASRHPpN"_NNBN&-AC*NNN-HPpN"_NC0NN -.UgN6?<NATANHPN&:\*.*u"_NHPN XDIRLIST.TXTHPA6""_NHm6A "_NJBfN5lN-DN6A6N&HPp\N"_NJBfN5?<NATANHPp:N"_NHPA6"_NC6NNA6NdN\JBfN6BN& Datei gibs schon! Was nu? HPNAnhngen|Lschen|Abbruchr"_ N+@> ->WgN6SgN6^pANHPA6r"_N ->UgN6pONHPA6r"_NN6pONHPA6r"_NA C*NNA C0NNBF -NH <r$<L8NN2+@JRJNv/-/-JHx <6Ѝ/AYDNh -6$fN:/-/-J <"Ѝ/AZNh -"NHPp:N"_NHPA"_NC4pN| -FNH4-XN\BL8NN2NJHm*A<"_NHPp\N"_NHP/- -"Cx~N"_NHPA0"_NNBNANFNht?Hm N/-VtC킄Nt?HmNEx+|> ->NH <r$<L8NJBfNEHmNp\N"_NHP/-pCl~N"_NNVANFNhRNv`4-VpJBgp/ -^NzNpJBgp$fNFpN| -FN&<x*<N&<x*<NN2NJN@=======4NANFNhp N\CZNNHmZ -bNN"_NpN| -FNJAZNBN@ kB in 4 -^N*N2 DateienNANFNhNN AnN AjN AfN"_A`N"_ANN4AbNAfNAlNArNA"NANAvN -fArNtHmNpN"_NCNNN -N/?<;NA\JfNGBNPfad setzen geht nicht! HPN&Abbruch4r"_ NANpNHm`pN"_NC`NN?<7 -`/?<NNAPJfNH/-jt"_NNI4-bN\JBfNH -*N$fNH NI -*NJgNI N A:N -:NH ->N&<x*<NL8N&<x*<NN2"-B @NN AFN A>N A:N/-F -:NH ->N&<x*<NL8N&<x*<NN2NN"_NNN"_A퀺N A>N A:N AJNANANN -J$fN[/-:/-> <Ѝ/A\NhHm -J"_NLHPA퀺"_NC퀺NNANHANN -:NH ->N&<x*<NL8N&<x*<NN2NNANBNA퀺NNH <r$<L8NN2ANN -NNANߚNN2/Hm -NRNv/p""_NN " AN`NqNq -NNANߚNN2r @NN ARN A>N A:NA NHANA퀺N -:NH ->N&<x*<NL8N&<x*<NN2NA NA N߮NЭNvNJfN]HmA N߮NЭNvNN"_NC퀺NNRNv`/-RA퀺"_NVNN(@zX\0&nL@$R*b $.x@@L\6P$ T|` J`"|FPzzRr|$DD$68*2v Zr.xD*D(P>$ 3 XDirList - Extended Directory ListingEin Programm von Ingo Brmmer (C) 1988Listenausgabe ab Ordnertiefe:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSuche mit Muster:MMMMMMMMMMM________.___FFFFFFFFFFFauf Laufwerk:Listenausgabe auf:ASCII-DateiBildschirmDruckerNur DateiMit OrdnernWie Ordnernamen ausgeben?EinrckenLinksbndigOrdnerinhalt in kByte ausgeben?JawollNeinWie Dateinamen ausgeben?Gefundene Dateien lschen?GarnichtMit AbfrageOhne AbfrageProgrammendeXDirList und los! Grenzen: 350 Ordner je Laufwerk, 50 Ordner je Ordner, 1000 Dateien je Ordner.Jqr's)) !".; Uhi 56x&2GA ,$% D (&2  B2  G  1  A  B C  D E F G H# I(  J- (^' j  v   '$*      z#!""     $%&&  $ (+ .)*(*(+-(, 7 - @ * L /Y 0f*12! ".>hNV|RfLST`*p ???t2,6K r0pNT\O0HRT0lm`RS SOoPA NLXOL|NuH8E&RGIp?BgBgt2* RpNV\OJ@g A(N `Tp CX RAN J@gD Sg SBDf,0+H|@b AdN`Bj5| 5|`(ANB@`5|5|  R(H| 5@pLNuA(p"@ "ByA1B33O"Nu/ Hz?<&NN\O$_Nu/YOM,C Hza(XOXO,_NuH@B@H@CJraJ@kNu.Vp`H8]O$H&I(o&BCx%p JR@g2fJ@g@HNBEg>BA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp aX$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"LaN@`\ [2"LaL@`JJEj `p0?4 La"TO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24.=|\A6"HPgXHf0(LN^NuNVHHy6T/.N PfBG`Hy6Z/.N Pf><`Hy6`/.N Pf><`0. |gR0. |?/.?<=NjP>J@m 0. |g&JGm??<>NjXBg/.?<`j0. |gD0. |?/.?<=NjP>J@m"??<>NjXBg/.?<`0. |?/.?<=NjP>JGl 360<`?. ?NlX0LN^Nu o/ fpJWf ` <gf `SNuNV/.?<HNj\-@ .f-|36 .N^NuNV0./NXN^NuNV . @"n rJWfSWfN^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNVH*n(n >.&MNqSG0J@mf`BSG0J@l L8N^NuNVH*n (MBn ng?.NT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NjO <Hg 360<`dA&H0f~ =@`J/ 0./?.?<@NjO -@2.¼g .360<` .n0.L8N^NuNV?<N"T0<N^NuNVAC#CAB#CAB#CAC&#CAC#CA6#CAC#C?< N"T3C&C09CN^NuNV#C?<N"TN^NuNV3B# C?<4N"TN^NuNV#C?<6N"T n 0C( n0C* n0C, n0C.09C&N^NuNV3B3 B3 B3B3B3B3B3B3B nf 36363636?<3N"TN^NuNV n06 n 06 n06 n06N^NuNV#C3 B?<2N"TN^NuNV#C# C?<ZN"T n0C(09C&N^NuNV3B# C?<NN"TN^NuNV3B# C?<#N"TN^NuNV#C3 B3B3B3B3B3B?<*N"TN^NuNV3B3 B3C?<pN"TByC n 609C&N^NuNV3C0.| A(HЈ-@=|` nR2.AACH1Rn nm/9CN'X09C&N^NuNVH?<$Hn/.N&O .6.HЃ-@ .3B .3BBG`0HЮ @ Ю RG0nm .6.HЃ-@BG`0H/ </N  n00`.0H/ </N Ю @ ( Ю!@ `8`6|gΰ|gȰ|g°|g|g|g|g|g| g?/.N)j\RG0nmd .6.HЃ-@BG`v0H/ </N Ю @ Ю 0H/ </N Ю @ (Ю!@0H/ </N Ю @ (Ю!@RG0nm .6.HЃ-@BG`0H/ <"/N  n 0Ю2H/"<"/N" n!0H/ <"/N  n 0Ю2H/"<"/N" n!0H/ <"/N Ю @ (Ю!@RG0nmN .6.HЃ-@BG`B0H/ </N  n 0Ю2H/"</N" n!RG0nm0<LN^NuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LNjXN^NuNV n"n 2.HbL0|f |f`( |g `Q`fA`2Q`XA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV?.NTJnn0<`,?.?<>NjX=@g360<``0<NqN^NuABCXyC !J"/0<NBYyCABC"P$hNu NV#C3 B?<rN"TN^Nul$,Dateien lschenVorm Lschen anfragen ?JaNeinlschenAbbruchDisketten-AccessoryEine kleine Hilfe fr fehlenden Speicherplatz(c)1989 Fachschaft Elektrotechnikder Universitt KarlsruheDisk formatierenaaaaaaaaaaaaaaaAbbrechenDateien lschenEine kleine Hilfe fr GEM-Programmedenen der Diskettenplatz ausgegang-en ist.Hier die gewnschte Aktion whlen:Diskette formatieren:FS_ETEC DSKDisk-Name: ________.___FFFFFFFFFFFAbbrechenformatierenLaufwerk:ABDisk-Format:NormalExtendedSeiten:12Diskette in Arbeit:0Seiten-Nr. : _900Track-Nr. : __990000Defekte : ____9999$4eyz)"$   $,1EFHZ\_qty ( $5$U']XPM  ($!$ 8  $ T  %# ,% I# m u "  $p             XXX-  1/  4(P,|l*.*A:*.*  Disk-Aufrumer[3][Es fehlen 10kB Speicher !][ABBRUCH][3][Soll eine zustzliche ber-|prfung erfolgen ?|(v.a. ratsam bei fehler-|haften Disketten !)][Ja|Nein][3][Es wurden 0000 defekte|Sektoren gefunden (und|eingetragen !)][Weiter][3][Das Formatieren lscht|alle Daten auf der Disk|im Laufwerk A:\ !|B:\ !|Soll formatiert werden ?][Ja|Nein][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Defekter Sektor liegt in|Bootsektor, FAT oder|Directory !|(nicht reparierbar !)][ABBRUCH][3][Soll das File|''|wirklich gelscht werden ?][Ja|Nein][3][DOS-Fehler #- !][ABBRUCH] 6h CON:AUX:PRT: $     *(&&"&  $&  "&"    $$$   Bbp&"(    (    ^    "     " "     .$   >"  (l@ (X&>&. . 4&f.,*   ."(L܀8 (             &(L"Z6$(H""H"r Adventures---------`"$Q` Efv*oM` m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN 6RTTTTTA預 NuJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N:6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N:<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNrHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXYp-KNu"l`Yd&-KNN"l`Y` ZxAOJ$Vg"O/ //<JNAO < a3 k$HzdHx??<?NAO a:3`3ByBy0:.":8`R@f3J9fA#f <a P(fa`Hx?<HNA\r 3A a3f P`TA apaD3y"::Ͱ<f80:S@|dpf3@ApaByJByb`< f0:nR@|cpf`< fFaBgHzW?<kHz:Hx??<@NAO a` pAarBy`<f"?: ?:?:a\PP``<f4PpAa*S@fDaFQJ9g0Hz?<&NN< fa^P`<f aPp:aaJ9gNu x.B0((#r \#NuHz?<&NN\pA .a|faTBgHz"?<=NAP.k6M/Hx??<?NA A0zba|?aa~`Ap`.pA a$@ NuHzN?<&NN\pAea|fZaHz?<ANA\Mn:@?/?<6NAP r 㨰|e:BgHzh?<NAXNu/8Nuprt0k AQNuC@z x&!tА[D<0g z0ЃQNuJDf0Nu dH瀀a r $:x8000epN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN"l`QepZNC ҳfHP0(N$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)NR$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN$l` epZN"X0gBPHR@@"D#Nu,jJk `BffAge Jj 2$NuJjNup N"<N@CNN/ -/p""_NzANCNHmp N"_N+@6 -6JfNHmpN"-6"_NtHmHmpN"_NNH <r$<L8NVN"_NRCNHmA NhACNHmA "_NHJBfN4-RNzN@JBfNzt;BRNd\*.*HPA HPA""_N~HmA "_NHJBfNNrHxNdDatei verwandeln in: HPNp HIDDEN | SYSTEM |anderesr"_ N+@N -NSgN*Nd HC0N -NUgNHNd SC0N -NWgNHxNdDatei verwandeln in: HPNd NORMAL |WRITE_PR| cancel r"_ N+@N -NSgNNd NC0N -NUgNNp SSC0N -NWgNNrHmA0"_NCNNJNCommand-String: 4AN6NhNJNhNJN|FileNJNr2N.N old attr.4N>N new attr.4NhNJNhHmp N"_N+@6 -6JgNNrNHm -6NH <r$<L8NVN"_NRC N -6NHAN:NL8NpJBgp/Hmp"-6"_NHPp N"_NHpJBgp$fNVR6`HmAN:NH -6NL8NV&<x*<NZH <r$<L8NN"-6"_NCNHmpNN"_NHJBfNB:HmpHN"_NHJBfN+|:HmpSN"_NHJBfN+|:HmNdSS"_NHJBfNB+|:Hm pN"_NC NA N:+@>pA>NHm p"->"_NHPp\N"_NHpJBgp/Hm p"->"_NHPp:N"_NHpJBgp$VHg NZNN`NqNqHm ->"_NRCNN/?<NA\?<7 - /?<NNAP+@B -BJgN ^pN*CNN/ -/p""_NzHmHmHmpN"_NNH <r$<L8NVN"_NR"_NCNNN:VHpJBgp/NNN&<x*<NxpJBgp$fN NNJAN6NJNr2N.NNNN> -:NNhHm/-:A!Nh?<ONAT+@B`4-RNzN@JBfN NJNhNJN| - Press any key to quit -NhpNNrN ANNdNDNr"_A$NA$CNHmp"_NzHPp N"_NHJBfN!DHmAN:NH <r$<L8NVN"_NRCN`Hmp"_NRHPp N"_NHJBfN!HmAN:NH <r$<L8NVN"_NzCN`NNr AFN"_A*NHm*pN"_NC*N?-H?< -*/?<CNA +@J -JJmN"prNZNJ -JNNhNNrb(bap` Warning: use TCFLTLIB to get float support for printf. H Ov Jj|-?|D`g|+?|`g| ?|`~?|`vH Ov ?|`dH Ovf?|`L|0f|x?|`2|X?|`$H Ovf?|` |0?|$H>C8jxA a^A pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 CJaAJp `\/ / B@JgB)g@)fJ&Q(i ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 p`#H#H&HJfS#K " I(Ia:"LJ@f`H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 p`"`&x,A'J'JE8'J & KaxJ@kfRf"`(g4(f>"P | dNu?/a8 _2J@f 0Nu3 pNuC!I!IR!I `H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a`"_"JkNgPAp SjH@" 0a$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nua3pNu0<`D@| |"b;NupNu   Seg gb pNuJfpNupNuH0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.GF3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"p` 3!p& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyz// &gPR<e:/avJg*`4C g*g"@ f`"/?<INA\OJj` pNugp`/ G g/ &S?<INA\O`G g/ &S?<INA\O`&_NuH0$< CE g" c $@ f`&@ +gb*"Ҩeg ` 'H`p"@")Ө 'H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" k eb$/ ?<INA\OJfQL NuP`BAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#?<NATONu/?< NA\ONu/ ?/ ?/ ?/ ??//?< NNO$_Nu/ ???<NN\O$_Nu/ ?///?/?/?/??//?< NNO$_Nu/ ?/ ?/ ?/ ??//?<NNO$_Nu  ALADCONV - The Ultimate Aladin To Spectre Converter v2.4 (6/2/91) Brought to you by BugBasher Software. (c) 1989,90,91 H.W. Nooijen [NL] This is a ShareWare product, together with the accompanying program SPECINIT (see the READ.ME! file). Convert an Aladin disk to Spectre format? (Y/N)Put the Aladin disk in drive A or B and press that drive's letter:Not enough memory available Reading track %2d, side %d - read error! [R]etry/[C]ontinue? Put the S ALADCONV and SPECINIT ShareWare programs ======================================== At last! The Ultimate Aladin-to-Spectre Converter is here!! Now you too can convert all your old Aladin disks to standard Spectre format disks! ALADCONV enables you to convert single AND double-sided Aladin disks into the new world under Spectre. It will even adjust the disk size to 400K resp. 800K as if you had it formatted under Spectre-128! ALADCONV enables copying between A and/or B drives and formats the desti- nation diskette during writing for maximum security. NOTE: for 1040 users, it is possible you can't convert double-sided disks due to memory limitations. In that case, Spectre will possibly have trouble too running with a meagre 832K.... Solution: get a MEGA 2!!! (Spectre will breath more comfortable) With SPECINIT you can format (yes, simply FORMAT) 400K MFS and 800K MFS (hey, that's new!!) Spectre disks. This is especially suitable with the Transverter program included with Spectre 128. This formatter does, in contrary with Mr. Small's Spectre itself, correctly set the "creation date". You'll know it when you see a disk formatted on 7 july 1989 instead of the obligatory 1 january 1904! For those of you using the magnificent UltraScript PostScript interpreter, you will find STARTUP.PS in the Grafic /SIG on the S.T.E.R. BBS. It GREATLY enhances UltraScript in combination with Spectre 128. Yes, you've read it correct: UltraScript now prints almost everything from the Mac without any modifications to the PostScript file! Thus no more fiddling with Encapsulated PostScript, no more rerouting through PageMaker, no more padding font names, etc... Mr. Small would surely have an heart attack if he've heard about that! I'm sure you will appreciate the software. As with any other ShareWare pro- ducts, you have to pay for it if you use them. ALADCONV and SPECINIT together cost hfl 25,-. (STARTUP.PS is public domain). Be fair, that isn't much for such great value! If there's enough response, I'll integrate both programs into one GEM program, along with some enhancements like 400K/800K HFS format, 360K Aladin to 800K Spectre convert. Date: 14 August 1989 Author: Hubert Nooijen Giro: 1884895 The Netherlands Thanks! `hVJ`` >>> TURBO-C <<<< for ATARI-ST Version 1.1 (C)88/89 Borland International G# J$VH3 k # Ј<.@# Đ<"@(I$k,"Jf"JfB// ?<?<JNAO N~A6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$O0 J"LNv? 9jg @N 9ng @NN?<LNAH0G "<pN 'HE< <(N'Hf JN pNA~NbAN A N N &pr;bt?eB@2ND0|;gS@gS@gS@g `.6NHJ@g"N`6`6`6N*J@gNpBApNp?fB@N`~L NuH>ESoAN~29fgb" g&O&_NuH",H?<NNTO|A<|?=A|=A|=AH|=AH|=A LDNuH $Hpj 2*`S@| JAm`R@| | lJ@lp`lt@B6mB8DA2p@jSCt@|f|mRC2H ЀЁ4*HЂ&"鉒8*H҄&$銔0HԀ LNuH &:JlvE rC8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`XH0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 C aA p `/ / &Q(i )g6Jg(ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 hp`H:$H&I(S,k x&gRJgN+gP$ڹd SfRe`,&// Ka$"J@f*(SSfRf& L\Nu3 hp`"P H dNu(g?/a _2J@f 0Nu3 hpNuH&H(k6+"+g0DtaJk+fT"SA"L Ip Wf(| ?/ " 0aV"_2JkHAp QH@" 0a4LJj`$0" LaJk&'LB@LNup`|g2//??<@NAO JkfNua(3hpNu3hNu// &H&g??<NAXOSb&_&Nu|b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkxЁ"kr?<? p/?<BNAO JkZ$`?<? p/?<BNAO Jk>$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nua3hpNu0<`D@| |"b;NupNu   H0$H|g|$bG2rtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"hp` 3!hp& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!h`0123456789abcdefghijklmnopqrstuvwxyza/a" g p/a _Nu// &oPR<e&/?<HNA\OJo @!CC "A`xE $R f4/< ?<HNA\OJoj$@Ap !| %H$ # A"P` )d I"Q f`rd ` #@#C"nA$_&Nuk |`3 h`/ G g/ &S?<INA\O`G g/ &S?<INA\O`&_NuJg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu/ Hz^?<?<NMPO/Hz?<&NN\O?<?<NMPO$_Nu OJx@3 1B x@f1J x@fp!PNu.H3 Nu?<NATONu/ ?/ ?/ ?/ ??//?< NNO$_Nu/ /?<&NN\O$_Nu/ ???<NN\O$_Nu/ ?///?/?/?/??//?< NNO$_Nu|% Untitled 400K MFS|%   Untitled 800K MFSBD|%<6Untitled 800K HFS  x% Untitled HFS Untitled HFSh  Not enough memory availableSPECINIT - The Ultimate Spectre 128 Disk Initializer v1.7 (9/5/90) Brought to you by BugBasher Software. (c) 1989,90 H.W.Nooijen [NL] This is a ShareWare product, together with the accompanying program ALADCONV (see the READ.ME! file). Select the format option you want: [F1] - 400K MFS [F3] - 400K HFS [F5] - Quit [F2] - 800K MFS [F4] - 800K HFSPut the disk in drive A or B and press that drive's letter: Formatting track %2d, side %d - write error! [R]etry? Disk successfully initializedJNRVZ^bfmt|     ;Zx0NSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarc ALADCONV and SPECINIT ShareWare programs ======================================== At last! The Ultimate Aladin-to-Spectre Converter is here!! Now you too can convert all your old Aladin disks to standard Spectre format disks! ALADCONV enables you to convert single AND double- sided Aladin disks into the new world under Spectre. It will even adjust the disk size to 400K resp. 800K as if you had it formatted under Spectre-128! ALADCONV enables copying between A and/or B drives and formats the desti-nation diskette during writing for maximum security. NOTE: for 1040 users, it is possible you can't convert double- sided disks due to memory limitations. In that case, Spectre will possibly have trouble too running with a meagre 832K.... Solution: get a MEGA 2!!! (Spectre will breath more comfortable) With SPECINIT you can format (yes, simply FORMAT) 400K MFS and 800K MFS (hey, that's new!!) Spectre disks. This is especially suitable with the Transverter program included with Spectre 128. This formatter does, in contrary with Mr. Small's Spectre itself, correctly set the "creation date". You'll know it when you see a disk formatted on 7 july 1989 instead of the obligatory 1 january 1904! For those of you using the magnificent UltraScript PostScript interpreter, you will find STARTUP.PS in the Grafic /SIG on the S.T.E.R. BBS. It GREATLY enhances UltraScript in combination with Spectre 128. Yes, you've read it correct: UltraScript now prints almost everything from the Mac without any modifications to the PostScript file! Thus no more fiddling with Encapsulated PostScript, no more rerouting through PageMaker, no more padding font names, etc... Mr. Small would surely have an heart attack if he've heard about that! I'm sure you will appreciate the software. As with any other ShareWare pro-ducts, you have to pay for it if you use them. ALADCONV and SPECINIT together cost hfl 25,-. (STARTUP.PS is public domain). Be fair, that isn't much for such great value! If there's enough response, I'll integrate both programs into one GEM program, along with some enhancements like 400K/800K HFS format, 360K Aladin to 800K Spectre convert. Date: 14 August 1989 Author: Hubert Nooijen Giro: 1884895 The Netherlands Thanks! % File: STARTUP.PS - UltraScript startup file, as of Mar 19, 1990 (v1.1) % To be used for ALL Apple LaserWriter drivers! % (c) 1989 by Hubert Nooijen % % Note: PostScript files may not have linefeeds! % And for use with Macintosh PS files only! % % Performs negative AND positive range checks for those programs which go % beyond the limits, like MacWrite II, FreeHand 2.0 and ReadySetGo 4.5, % while retaining compatibility with MonoType PS fonts % Intercepts printer-specific PostScript commands statusdict begin /sendpcmd {pop} def /tonerlight {pop} def /setrealdevice {exec 31 sendpcmd 4 eq tonerlight} def /execjob {31 sendpcmd 4 eq tonerlight} def /setsccinteractive {pop pop pop} def end % UltraScript thinks it's a LaserWriter statusdict /product (LaserWriter) put statusdict /version 47.0 put % Remedies a problem with some applications which go beyond UltraScript's range systemdict begin /setcachedevice {4 {pop} repeat setcharwidth} bind def /usmv /moveto load def /usrp `P/<>?<&NN\/<?< NA\&<$<B?QQBg/<P?<1NA!HNuH,xNG$<?&Q/<?< NA\8L$|@&|&&&&&&&&/<?< NA\E&J?<NAT f g` fB?<Hy?<NAX/<?< NA\&xNM$<?&QEt$QLNuError in opening file SCREEN DUMP TO FILE PROGRAM Version 2.2 (890403) BY MARK OVERGAARD Alt/Help activates. Type path, filename and extension: PI1, PI2 or PI3.The Textinput will be ignored. 0 . ` 8`G#J$VH3 k  Ј.@// ?<?<JNAO pBAA4|`g |`.gg4TBB"O4SBQBt SAe!dB)SAe !eHiR@`/ R@Hzd"k, ON6? 9g @N 9g @NNP?<LNAA2R@BB0BA0IA0NuABA00NuH0YO8p N>pN6pN?@pN>pN<EG¾|g JNP`BG`B3pRG|mA#N4BE`0>CRG`?4r KpN$TOJfRGpEC@mREom0H>A2N>C`?4r KpNTOJfDRG0CW@m<@@AKNBE`?4Cr KpNTOJgp`REomAgNrB@XOL NuH0GA0<NzEANDAN>> TURBO-C <<<< for ATARI-ST Version 1.1 (C)88/89 Borland International G#%J$VH3% k #% Ј<.@#%Đ<"@(I$k,"Jf"JfB// ?<?<JNAO NA6<HCBB`6 !jBJ)gHiRC` "fSI "WJAkHiRCBSQJ)gHiRCHy`$O0 J"LNv? 9g @N 9g @NN?<LNA// "<pN#% <(N*#%E < N#%f JNpNAlN`ANAN N&pr;bt?eB@2NB0|;g$S@g S@gS@g`p N`N2J@gN<`AN BApNp?fB@N`$_&Nu/ / EANLAN rN3&r?BgBgt y%p29&N\OJ@g AN >`4&y% SBDg AN (` kgA3N N8N|YgB@`p&_$_NuH>E%I&$GBSKM`fBT`Z??AtNXOp ???t2 RpNR\OJ@g*AN NN:6|Rf ST`|CfRT TmRS SOoAN4AN ZN<$ l@A%HBS`BT`??ANXOA0@THH@@@)H?E%I&$ l@A%HGBSKM`zBT`l??AtNXOp ???t20H rpN\OJ@g0AN N*N6|RfST0H`|Cf0HRT TmRS SOoANAN N<$BS`|BT`n??ANdXO?6EANAN K&N(;@IBTMG`BU`|??A$NXO| fA0@UHH@@@&`&Bg/SoAN~29#fg#b" g&O&_NuH",H?<NNTO|A<|?=A|=A|=AH|=AH|=A LDNuH $Hpj 2*`S@| JAm`R@| | lJ@lp`lt@B6mB8DA$2p@jSCt@|f|mRC2H ЀЁ4*HЂ&"鉒8*H҄&$銔0HԀ LNuH &:JlvE& rC8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`XH0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 C%aA%p `/ / &Q(i )g6Jg(ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 p`H:$H&I(S,k x&gRJgN+gP$ڹd SfRe`,&// Ka$"J@f*(SSfRf& L\Nu3 p`"P H dNu(g?/a _2J@f 0Nu3 pNuH&H(k6+"+g0DtaJk+fT"SA"L Ip Wf(| ?/ " 0aV"_2JkHAp QH@" 0a4LJj`$0" LaJk&'LB@LNup`|g2//??<@NAO JkfNua(3pNu3Nu// &H&g??<NAXOSb&_&Nu|b2@?? /?<BNAO JjfSBg jX?<? p/?<BNAO Jk$`X?<? p/?<BNAO JkxЁ"kr?<? p/?<BNAO JkZ$`?<? p/?<BNAO Jk>$Ҁk8 $k0HzP <e/`/? ?<@NAO Jk b Nua3pNu0<`D@| |"b;NupNu   H0$H|g|$bG2rtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"p` 3!p& g"`//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyza/a" g p/a _Nu// &oPR<e&/?<HNA\OJo @!CC% "A`xE%$R f4/< ?<HNA\OJoj$@Ap !| %H$%#%A"P` )d I"Q f`rd ` #@#C"nA$_&Nuk |`3 `/ G% g/ &S?<INA\O`G% g/ &S?<INA\O`&_NuJg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#$HBJBf$HBJBfNuHBЂNuHBЂNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu/ Hz^?<?<NMPO/Hz?<&NN\O?<?<NMPO$_Nu OJx@3%1B x@f1J x@fp!PNu.H3 %Nu?<NATONu/ ?/ ?/ ?/ ??//?< NNO$_Nu/ /?<&NN\O$_Nu/ ???<NN\O$_Nu/ ?///?/?/?/??//?< NNO$_Nu/ ?/ ?/ ?/ ??//?<NNO$_NuBD|%Untitled 720K HFS  x% Untitled HFS Untitled HFSh  Not enough memory availableMACEXCHANGER - The Ultimate Mac Disk Exchanger v1.0 (20/6/90) Brought to you by BugBasher Software. (c) 1990 H.W.Nooijen [NL] This ShareWare program transfers disk formats between Spectre and any Macintosh with a FDHD drive, using a special 720K MFM format. This is a LIMITED version, to be used only for tryout. Menu options marked with a * are disabled. To get the full version, please see the enclosed documentation. Select the option you want: *[F1] - Transfer 720K Mac to Spectre [F2] - Format 720K Spectre (special) [F3] - Transfer Spectre to 720K Mac *[F4] - Format 720K Mac (special) [F5] - QuitDisabled in the limited versionPut the source disk in drive A or B and press that drive's letter:Disk read error: disk type can't be determinedThis is not a HFS diskThis disk is not of the appropriate size; continue anyway [Y/N]? Reading track %2d, side %d - read error! [R]etry/[C]ontinue? Put the destination Writing track %2d, side %d - write error! [R]etry? Disk successfully convertedPut the Formatting track %2d, side %d Disk successfully initialized$J$N$R$V$Z$^$b$f$m$t$|$$$ $$$$$$$$$$$$$$$$$$$$$%%% ;Zx0NSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecember%8%8%8%%%%%%%%% f8d D FD0npX VD   ~x4R $.Z  ALADCONV and SPECINIT ShareWare programs (TT approved!!) ======================================================== Date: june 26, 1990 From: Hubert Nooijen -------------------- Hello, folks! This is the third release of the ShareWare programs ALADCONV (v 2.3) and SPECINIT (v 1.7). The programs have now been made compatible with the STE and TT; and because they are written in Turbo C using strictly legal methods, they work on ALL current and future ST models using ANY TOS version. The Twister format has been slightly improved too (that saves you 2 sec. per 100KB of data when copying...). A fourth release is planned later this year and will include: integration of both programs in a new one with GEM interface, automatic disk detection (should work the same way as Spectre), and additional transfer of the 800K Aladin disk format to Spectre. In the near future, plans are in the pipeline for a better Transverter alter- native (should cope with all MFS and HFS volumes and uses a more intelligent transfer algorithm); a decent picture transverter (e.g. Degas/IMG to/from TIFF/PICT/PICT2/MacPaint), and ***perhaps*** a startup program (also known as an INIT) to run under Spectre, which emulates the MC68030 chip. It does this by intercepting the "illegal instruction exception" and replacing the offending MC68030 instruction with a routine using only MC68000 instructions. It also informs the Mac system that it runs on a MC68030, so you may be able to run those inaccessible Mac programs which ABSOLUTELY need the 68020/68030. For those of you using UltraScript (a PostScript clone) with my STARTUP.PS Mac driver, I'll include a driver for Adobe Type 1 fonts (as soon as I get the documentation for it), in order to make UltraScript true Adobe Type 1 compatible! With ALADCONV you can convert your old Aladin disks to Spectre format. The program successfully converts 360K/720K Aladin disks to Spectre format (whether they are MFS or HFS), while adjusting the disk size to 400K resp. 800K. ALADCONV automatically formats the Spectre disk; from TOS 1.2 and upwards it uses the Twister method. It ALADCONV encounters a bad track during disk read, it prompts "[R]etry/[C]ontinue?"; press 'R' for trying again, 'C' to skip the bad track or any other key to abort the read process. SPECINIT allows you to format a Macintosh disk for use with Spectre. You can format 400K MFS, 800K MFS, 400K HFS or 800K HFS; in fact, any of the four possible disk formats known to the Mac Plus. SPECINIT uses the Twister method in the same way as ALADCONV. SPECINIT does its job much faster dan Spectre, even the disks formatted with SPECINIT are faster! And SPECINIT takes note of the "creation date" of the Spectre disk! You'll know it when you see a disk formatted on 7 july 1989 instead of the obligatory 1 january 1904... Both programs can use read/write from drive A or B, they won't matter. Besides, if you've changed your mind after selecting a disk format in SPECINIT, pressing the 'Esc' key will bring you back to the selection menu. NOTE: for users with a 1MB computer, it is sometimes possible you can't convert double sided disks using ALADCONV due to memory limitations. But running Spectre off a 1MB machine is a good way of driving you to insanity... I'm sure you will appreciate the software. As with any other ShareWare pro- ducts, you have to pay for it if you use them. ALADCONV and SPECINIT together cost Hfl 25,-. Be fair, that isn't much for such great value! As you already have guessed, I've enough plans for the Spectre/ST/TT market! Who knows what the future brings to us? A better Spectre alternative? A Mac II clone (with completely rewritten ROMs for legal & compatibility reasons) running on the TT? Using GCR disks without expensive hardware? I'm already busy nibbling at the Gadgets by Small domination of the Spectre/GCR market. But remember, it MUCH - if not ALL - depends on YOUR support! ALADCONV and SPECINIT are copyrighted software; you are granted to copy them to anybody you wish, as long as both programs including this READ.ME! file are kept together. They may not be sold commercially, or included in commer- cial products without written permission from the author. ShareWare payments can be made by sending Hfl 25,- to PostGiro nr. 1884895 of mr. H. W. Nooijen, mentioning "ShareWare donation 'ALADCONV & SPECINIT'", or by sending a check or money order to the address listed below. You will then, as a registered user, be notified of any product updates (and other new stuff!). If you have any questions, please do not hesitate to write me! My address is: Hubert Nooijen Diamantpad 18 2628 SC Delft The Netherlands PostGiro Account nr. 1884895 (PostBank) Other Bugbasher products: STARTUP.PS - Make UltraScript print PostScript documents from the Mac. MACEXCHANGER - The revolutionary new Mac disk exchanger. Anybody with access to a Mac with a SuperDrive can exchange disks between Spectre and Mac on his/ her own ST WITHOUT the need for the GCR! See MACEXCH.TXT for more details! hAprilJuneJulyAugustSeptemberOctoberNovemberDecember 8 8 8    f8d P ~0npX VD   ~x4R $.Z {pop -1000} def /moveto {exch dup -30000 le {usrp}{dup 32000 ge {usrp}if} ifelse exch dup -30000 le {usrp}{dup 32000 ge {usrp}if} ifelse usmv} bind def end (%%[ Macintosh STARTUP v1.1 running... ]%%\n) print flush STARTUP.PS The Ultimate Mac-to-UltraScript PostScript driver Brought to you by Bugbasher Software Version 1.1 - March 19, 1990 (c) 1989, 1990 Hubert Nooijen Manual rewritten June 3, 1991 ---------------------------------------------------------------------- Introduction As we all know, UltraScript has BIG trouble printing PostScript files from the Macintosh or Spectre. That is, until now! With STARTUP.PS, a little PostScript program with a GREAT effect, those compatibility problems are a thing of the past! UltraScript will now print virtually everything from the Mac, including those famous programs as Aldus FreeHand, Adobe Illustrator, Microsoft Word and Aldus PageMaker. You can choose landscape or portrait, reduced or enlarged, and all the stuff from the Print and Page Setup dialog boxes on the Mac. Your printer will never be the same again... Usage STARTUP.PS should be placed in the same folder as UltraScript. It will be automatically executed by UltraScript before any print job (that's why it's called STARTUP.PS); thus it should not be selected for printing (or the print job will be aborted). To print to a file on the Mac, immediately hold down COMMAND-K (NOT COMMAND-F!) after clicking OK or pressing RETURN at the Print dialog box, until the message "Creating PostScript file..." (or whatever) appears. A file named POSTSCRIPTx (x = 0 - 9) will be created. This does NOT apply to users of LaserWriter 7.0! (see notes) Transfer the file to the Atari as text-only (WITHOUT linefeeds!); it is then ready to be printed by UltraScript. With STARTUP.PS installed, nothing else has to be done, no patching, no hassle! Compatibility STARTUP.PS has been thoroughly tested and amended over a period of eight months before the 1.1 release; it has found to be extremely robust and did not even cause a single breakdown! It has been tested with the LaserWriter driver versions 4.0, 5.1, 5.2 (who said that version 5.2 does "definitely not work"?) 6.0 and 7.0 (the newest and the one I use). Tested software include: Adobe PhotoShop 1.0 to 1.0.7 (prints gray scales beautifully!) Digital Darkroom 1.0, 1.1 FileMaker II 1.0 Fontographer 2.3 & 3.0 FreeHand 1.0, 2.0 & 2.02 FullWrite Professional 1.0 HyperCard 1.0, 1.1, 1.2.2 & 1.2.5, 2.0 Illustrator 88 1.6, 1.8.3 & 1.9.3, 3.0 ImageStudio 1.5, 1.7 MacDraw II 1.0 & 1.1 MacPaint II 2.0 MacWrite 5.0 MacWrite II 1.0 & 1.1 MS Excel 2.2 MS Word 4.0 Nisus 1.01 PageMaker 3.0, 3.5 & 4.0 ReadySetGo! 4.5 Streamline 1.1 SuperPaint 2.0 System 4.2, 4.3, 6.0.2 to 6.0.7 The Art Importer 2.0 Wingz 1.0 & 1.1 WordPerfect 2.0.1 WriteNow 1.0, 2.0 & 2.2 Xpress 2.00, 2.11 & 2.12 and the MonoType Gill Sans font family. Everything printed through UltraScript without any problems found, when STARTUP.PS is installed. In version 1.1 of STARTUP.PS, code has been added to make UltraScript compatible with download fonts created with Fontographer (and others). Notes * When transferring PostScript files from the Mac to the Atari (e.g. with Transverter), they should be transferred as text-only WITHOUT linefeeds! This is very important, because a Mac PostScript file with linefeeds cannot be interpreted correctly by any PostScript interpreter (this is not my fault, but due to the way Apple writes its PostScript dictionary). This clumsy method is not necessary when you have AccessPC or DOS Mounter installed; in that case you may simply copy the PostScript files to a DOS disk... * Use STARTUP.PS only with Mac files; rename it to something else (like STARTUP.PS0) when printing files from Atari applications, ESPECIALLY DYNACADD. Otherwise you could get a funny picture (this is NOT a bug in STARTUP.PS!). * UltraScript can't use true Adobe Type 1 fonts (not yet...), because Adobe uses a - previously secret - encryption scheme for their fonts. The same is true for other font vendors which market Type 1 fonts. So, be sure not to leave any Adobe downloadable fonts in the system folder or any folder open to SuitCase II (a Font/DA-installer). This is a compatibility problem common to all PostScript clones which are not licensed from Adobe Systems Inc.; but I'm working on it... (no, I'm NOT kidding, folks!) NOTE: the same problem applies to TrueType fonts as well, when printed using the LaserWriter 7.0 driver (which supports TrueType fonts); although they are not encrypted Type 1 fonts. NOTE: UltraScript can print Adobe Type 1 fonts imported in TypeStyler (1.02 or higher) and LetraStudio (version 1.5 and up). * Be sure to use the screen fonts for the LaserWriter, not for the ImageWriter: the difference is the correct naming of printer fonts. E.g.: if you select Times with a laser font, the printer font name will be 'Times-Roman', which is correct; with an ImageWriter font, it will be 'Times'. But 'Times' does not exist, so a bigger size of the screen font will be used (ImageWriter method)... * Be sure to set the paper size in UltraScript the same as the page size of the document when printing to a PS file, to ensure that the top of the page is correctly aligned with the top of the paper. Otherwise the page is shifted downward/upward on the paper, because UltraScript normally aligns the bottom of the page with the bottom of the paper. NOTE: if you print a US-Letter size document, and you've chosen A4 paper size, you will in general not experience problems, just because US-Letter paper is smaller than A4. * For best results, use always the newest versions of the LaserWriter driver; some Mac programs even require it. Currently, you could at best use LaserWriter 7.0 (which came with System 7): it has a nice button for printing to a PostScript file (it even lets you specify a file name and where it should be saved...). The resulting PostScript file automatically contains the LaserPrep dictionary and is thus ready for UltraScript. In general, whatever version you use, they all work without any problems. (It's funny, but I've found out that UltraScript interprets LW 7.0 files perfectly, while Freedom of Press 3.0 for the Mac just fails. The people at QMS - who actually made UltraScript - really have made a good job of it!) Problems If you experience any compatibility problems with STARTUP.PS (should be surprising...), please do not hesitate to contact me at the address at the end of this documentation. Obviously, I cannot guarantee 100% compatibility with all Mac applications... Copyrights Due to its nature - a little text file containing just the PostScript source code - STARTUP.PS is placed in the public domain. You may wish to copy and distribute it to your heart's content, but with ONE restriction: I do own the copyright of the PostScript source and thus STARTUP.PS may not be distributed in modified form by anyone without my permission. If you have suggestions for source code modifications, please contact me first (my address is found at the end of this documentation); I will incorporate it into the next version of STARTUP.PS. This is in order to prevent a bewildering number of different STARTUP.PS versions floating all around the world. I believe that my program, STARTUP.PS, is an indispensable tool for every UltraScript user, thus you could do me a great favour if you like to pay a small amount (I suggest minimum Hfl10,-, DM10 or $8) for it as a credit of my work. You are absolutely free to do so, because STARTUP.PS is in the public domain; but I hope to gain enough money this way to buy a genuine PostScript laser printer! I'm just one of those hobbyists who try to make a living out of writing programs... Hubert Nooijen Diamantpad 18 2628 SC Delft The Netherlands Giro account nr. 1884895 (PostBank) LAST NOTE: ========== It is still possible to create artwork in Aldus FreeHand which UltraScript won't print when using STARTUP.PS: those files contain text which follows an arbitrary path (normal text placement is O.K.). The cause is the range checks performed by STARTUP.PS (for the same reason, Canvas files don't appear to work). Unless I've made a completely rewritten STARTUP.PS version which circumvents this problem, the best you can do is export the file as Encapsulated PostScript, add a 'showpage' at the end, and print it through UltraScript without the STARTUP.PS file (rename it to something else).