Hamburg den 16.3.'89 A N L E I T U N G Z U M O N O M O N V 2.3 ------------------------------------- ===== Version 2.3 vom 16.3.'89 (C) 1988 Sven Geier, Wiesendamm 135/652, 2000 Hamburg 60 ACHTUNG! SEIT 1.12.'88 NEUE ADRESSE ------------------------------------- I N H A L T 1.) EINLEITUNG 2.) DER DISK - AUFBAU 2.1) DER PHYSIKALISCHE DISKETTENAUFBAU 2.2) DER LOGISCHE DISKETTENAUFBAU 2.2.A) DER BOOTSEKTOR (ALLGEMEINES) 2.2.B) DER BOOTSEKTOR (AUFBAU) 2.2.C) DAS DIRECTORY (ALLGEMEINES) 2.2.D) DAS DIRECTORY (AUFBAU) 2.2.E) DIE FAT (ALLGEMEINES) 2.2.F) DIE FAT (AUFBAU) 2.3) RAMDISKS, FESTPLATTEN ETC. 3.) ALLGEMEINE FUNKTIONEN VON MONOMON 3.1) DAS WINDOW 3.2) DER SEKTORSCHIEBER 3.3) DIE DRIVE - LEISTE 3.4) DIE QUIT - LEISTE 4.) DIE BEDIENUNG DER BUTTONS 4.1) DER ADCE - BUTTON 4.2) DER INFO - BUTTON 4.3) DER DRUCKE - BUTTON 4.4) DER HEX <=> DEZ - BUTTON 4.5) DER CHAIN PRG - BUTTON 4.6) DER MAGIC - BUTTON 4.7) DER FOLDER - BUTTON 5.) DIE BEDIENUNG DER BOXEN 5.1) DIE POSITION - BOX 5.2) DIE GOTO - BOX 5.3) DIE BOOT - BOX 5.4) DIE FILE - BOX 5.5) DIE FORMAT - BOX 5.6) DIE SEKTOR - BOX 5.7) DIE SEARCH - BOX 5.8) DIE COPY - BOX 6.) FUNKTIONEN IM MEMORY - MODUS 7.) FUNKTIONEN IM TSS - MODUS 8.) ABSCHLUSS ------------------------------------- 1.) Einleitung -------------- Dies ist MONOMON V2.3. Der seltsame Name dieses Diskmonitors rhrt aus einer Verquickung der Worte MONOCHROM und MONITOR. Obwohl mittlerweile viele Programmentwickler l”blicherweise dazu bergegangen sind, Computerspiele fr den ST so zu konzipieren, daá sie auch auf dem Monochromschirm laufen, ist dieser immer noch ein Stiefkind des ST. Besonders deutlich wird dies bei sogenannter "professioneller" Software, die aus falsch verstandener Rcksichtnahme auf Besitzer von Farbmonitoren die besonderen Leistungsmerkmale des S/W-Schirms nicht ausnutzen. Bis auf ganz wenige Programme (Tempus, DB-Master...) ist es beispielsweise immer noch g„ngige Praxis, die Anzahl der darstellbaren ZEILEN auf dem Bildschirm auf unter 25 zu blockieren, um im Monochrommodus durch Umstellen auf den 8X16 System-Font alle Programmier-Probleme von sich zu w„lzen. Viel zu wenige Programmierer/User haben sich bisher zu der - eigentlich naheliegenden - Erkenntnis durchgerungen, daá der Atari ST seine berragenden F„higkeiten nur dann voll ausspielen kann, wenn er seinen M”glichkeiten gem„á eingesetzt wird. Farbenpracht und Digi-Sound fr Spiele (hier ist der ST kaum zu bertreffen) und hohe Aufl”sung bei v”llig flimmerfreiem Bild fr "ernsthafte Anwendungen" (Textverarbeitung etc, hier ist der ST schon gar nicht zu bertreffen). Immerhin sind doch einige wenige Softwarefirmen nun dazu bergegangen, ihre Anwenderprogramme dem S/W-Schirm vorzubehalten und dem Farbmonitor fr solche Anwendungen den Laufpass zu geben (z.B. GfA-MOVIE). In diese Kerbe schl„gt nun auch MONOMON. Er ist der erste mir bekannte Diskmonitor, der einen ganzen Sektor auf einmal darstellen kann. In der Hoffnung einigen Leuten das Konzept "Monochrom-Ernst, Color- Spiel" n„hergebracht zu haben und mit deutlich imperativem Unterton auf das P.S.2 hinweisend verbleibe ich Sven Geier P.S.: Ist Ihnen schon einmal aufgefallen, daá die Bezeichnung "Monochrom" irrefhrend ist? "MONO"-chrom w„re schwarz auf schwarz (oder weiá auf weiá). Tats„chlich kann der SM 124 aber ZWEI Farben gleichzeitig darstellen: schwarz UND weiá. Es w„re also sinnvoller, von einem "Duochromschirm" zu reden (oder man drfte in der niedrigen Aufl”sung nicht mehr von 4/16 sondern nur noch von 3/15 Farben reden). P.S.2: MONOMON ist Public Domain. Das heiát, dieses Programm darf (und soll sogar) KOSTENLOS kopiert/weitergegeben werden. Ich werde (entgegen der blichen Praxis) auch keinen Appell an Sie richten, mir "fairerweise" irgendeinen Betrag zu schicken, wenn Ihnen das Programm gef„llt. Da ich als armer Student jedoch immer ein wenig Kohle gebrauchen kann, mache ich hiermit folgendes Angebot: Zus„tzlich zu dem Service, der in der INFO-Funktion des Monitors genannt wird, kann man fr lasche zehn M„rker bei mir auch den Source-Code (so gut wie unkommentiertes Listing) bekommen. (incl. Disk,Porto,Verpackung,...). Sollte jemand darber hinaus das Bedrfnis haben, mir tats„chlich noch einen beliebigen Betrag zu spenden (ich glaube nicht daran, aber bedenken Sie, daž zwei Jahre Arbeit in MONOMON stecken), so bin ich der letzte, der ihn (oder sie) daran hindern m”chte. 2.) Der Disk-Aufbau ------------------- Bevor ich auf Funktion und Bedienung von MONOMON eingehe, m”chte ich mich in diesem Abschnitt mit den prinzipiellen Strukturen auf Disks besch„ftigen. Vieles von dem, was hier gesagt werden wird gilt jedoch auch (teilweise in leicht ver„nderter Form) fr Harddisks, RAM - Disks etc. Die genauen Unterschiede werde ich sp„ter in eigenen Unterkapiteln besprechen. 2.1 Der physikalische Diskettenaufbau ------------------------------------- Eine Diskette ist eine runde Scheibe, die mit einem magnetisierbaren Material beschichtet ist. Auf dieses Material k”nnen nun (wie bei einem Kassettenrecorder) mit einem Tonkopf Daten aufgezeichnet werden. Diese werden allerdings nicht irgendwo hingeschrieben sondern sind in SEKTOREN organisiert. Diese Sektoren stehen in Gruppen zu je neun Stck (es k”nnen auch mehr sein) in sogenannten TRACKS angeordnet. Diese Tracks (zu deutsch: "Spuren") sind mit kreisf”rmigen Tonspuren vergleichbar, die konzentrisch auf der Disk angeordnet sind. Im Gegensatz zur Schallplatte, die ja nur EINE Rille hat (von Anfang bis Ende) hat die Floppy sozusagen mehrere Rillen. Diese Spuren sind jedoch nicht von vornherein auf der Diskette vorhanden, sondern werden beim FORMATIEREN erzeugt. Dabei werden gewisse "Gerst-Daten" auf die Disk geschrieben. Dieses "Gerst" erstreckt sich beim ATARI normalerweise ber 80 Tracks. Es ist jedoch m”glich mit den meisten Laufwerken auch den 81., 82. ja sogar 83. Track anzufahren und zu formatieren. (Bestimmte NEC-Laufwerke sollen sogar bis Track 86 kommen...) Innerhalb dieses Gersts, welches n”tig ist um sicher einen bestimmten Punkt auf der Disk wiederzufinden, gibt es nun gewisse Bereiche, in denen Platz ist, um feste Datenpakete (eben Sektoren) unterzubringen. Im Normalfall befinden sich auf einer ATARI-Diskette neun Sektoren auf einer Spur. Es ist jedoch ohne gr”žere Probleme m”glich Disketten mit zehn Sektoren zu formatieren, das heižt, das Gerst so zu strukturieren, daž pro Spur ein Sektor mehr Platz ist. Genau dies macht MONOMON bei seinem EXFORMAT. Dadurch hat man auf einer Diskette 512 Byte X 80 Spuren = 40 Kilobyte mehr Speicherplatz. Wenn Sie ein doppelseitiges Laufwerk verwenden, verdoppelt sich auch dieser Gewinn. Ein Doppelseitiges Laufwerk besitzt einen zweiten Tonkopf auf der anderen Seite. Dadurch ist es m”glich, auf die zweite Seite der Disk nocheinmal dieselbe Menge an Daten zu speichern. In diesem Zusammenhang ist es vielleicht interessant, daž auch sogenannte "1DD", also "einseitige" Disks auf BEIDEN Seiten eine Magnetbeschichtung haben. Man kann also ohne weiteres eine sogenannte "einseitige" Disk doppelseitig formatieren. Allerdings bernehmen die Hersteller in diesem Fall natrlich keine Garantie fr die Fehlerfreiheit der zweiten Seite. Ich pers”nlich verwende jedenfalls NUR 1DD - Disks, die ich doppelseitig formatiere und verwende. Wenn man dabei nicht gerade Billigmarken verwendet, ist die Chance einen Datenfehler auf der zweiten Seite zu haben verschwindend gering (ich hatte bei TDK, Maxell und JVC - Disks jedenfalls noch keinen). Gerade bei Billigmarken setzt sich n„mlich in letzter Zeit ein Trend durch, ALLE Disketten auf beiden Seiten zu prfen, und nur diejenigen als einseitig zu verkaufen, die auf der zweiten Seite tats„chlich Fehler auf- weisen. 2.2 Der logische Diskettenaufbau -------------------------------- Die Sektoren auf einer Disk werden von MONOMON im REL-Modus als lange Kette behandelt und relativ zum Bootsektor adressiert. Das heižt, daž jeder Sektor eine Nummer bekommt, die seinen "Abstand" vom Bootsektor angibt. MONOMON folgt mit dieser Nummerierung der GEMDOS-Praxis. (Das GEMDOS ist ein Teil des TOS, welcher unter Anderem die Verwaltung der Disketten unter seine Fittiche genommen hat.) Auf diese Art und Weise braucht man sich nicht um die reale (physikalische) Position irgendwelcher Daten auf der Disk zu kmmern; also auf welchem Track, welchem Sektor und welcher Seite nun genau welche Datei beginnt etc. 2.2.a Der Bootsektor (Allgemeines) ---------------------------------- Die wichtigste Einrichtung auf einer Diskette ist bei den meisten Computersystemen (auch beim ST) der Bootsektor. Dieser ist so ziemlich das Einzige auf einer Disk, von dem man genau sagen kann WO es ist und WIE es aufgebaut ist. Im Bootsektor stehen nun all die Daten, die von Disk zu Disk unterschiedlich sein k”nnen, deren Kenntnis jedoch vonn”ten ist, um alle Daten auf der Diskette wiederzufinden. So steht hier beispielsweise, ob es sich bei dieser Disk um eine einseitige oder eine doppelseitige Diskette handelt. Der Bootsektor steht IMMER in Track 0, auf Seite 0 und ist hier der erste Sektor. Darauf kann man sich verlassen, da man ja sonst nicht herausfinden kann, um was fr eine Disk es sich berhaupt handelt. Jetzt wird auch klar, warum manche Computersysteme KEINEN Bootsektor brauchen: Das Disk-Format ist einfach VORGESCHRIEBEN. Es kann nicht ge„ndert werden. Der MAC von APPLE z.B. hat ein eingebautes Laufwerk. Die Entwickler dieses Computers haben sich darauf verlassen, daž in dieses Laufwerk NIE Disketten mit anderem Format eingelegt werden. Und so brauchten sie auch keinen Sektor vorsehen, der die Disk-spezifischen Daten aufnimmt. Dadurch ist es zwar vielleicht m”glich, fr den MAC ein Formatierprogramm zu schreiben, welches mehr Kapazit„t aus einer Diskette herausholt. Der MAC wird jedoch dieses Mehr an Platz nicht ausnutzen, da er nicht weiž, daž es vorhanden ist. (Es lebe der Bootsektor!) Aužerdem kann man im Bootsektor kleine Programme unterbringen, die beim "booten" (also beim hochfahren des Systems) sofort ausgefhrt werden; noch bevor der Auto-Ordner ge”ffnet wird, noch vor allem anderen. Dies hat den Vorteil, daž man auf diese Weise beispielsweise ein komplettes Betriebssystem (RAM-TOS!!!) von der Disk laden kann. Eine weitere Anwendung findet sich oft bei kopiergeschtzter Software: Die Disk-spezifischen Daten sind einfach FALSCH, auf dem Bootsektor befindet sich jedoch ein kleines Ladeprogramm, das sich um die Bootsektordaten nicht kmmert, weil es ja "weiž", wo die Daten stehen. Eine weitere "Anwendung" fr ein solches Programm, das im Computer-Fach- chinesisch BOOTPROGRAMM genannt wird, sind Computerviren; oder, genauer, Bootsektorviren. Diese sind am einfachsten herzustellen, aber glcklicher- weise auch am einfachsten aufzuspren und zu vernichten (MONOMON kann das). Ein solches Bootsektorvirus ist einfach ein kleines Programm, das beim Systemstart irgendwo in den Speicher geladen ("gebootet") wird und dort im Allgemeinen irgendwelche Vektoren verbiegt. Im Normalfall schreibt sich ein Virus bei jedem Diskettenzugriff auf die Diskette, die gerade drinliegt und breitet sich auf diese Weise unbemerkt aus. Irgendwann, nach irgendwelchen unvorhersehbaren Kriterien wird es dann aktiv und zerst”rt irgendwelche Daten auf der Disk, auf der Festplatte oder macht sonst etwas unvorhersagbares. 2.2.b Der Bootsektor (Aufbau) ----------------------------- Der meiste Teil des Bootsektors ist im Allgemeinen leer, wenn nicht gerade ein Bootprogramm drinnesteht. Im Folgenden sind zwei Zeilen dargestellt, wie MONOMON sie ausgeben k”nnte, wenn Sie mit der Maus den Button "Bootsek:0" in der GOTO - Box anklicken. šber und unter den zwei Zeilen stehen die Nummern der Bytes relativ zum Sektoranfang, also diejenigen Zahlen, die sie hinter "POS:" sehen wrden, wenn Sie beim Modify mit dem Cursor auf das entsprechende Byte fahren wrden. Ich habe dabei allerdings nur den HEX - Teil der Ausgabe dargestellt, da die entsprechenden ASCII-Zeichen nicht ohne Weiteres vom ATARI dargestellt werden k”nnen. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | | | | | | | | | | | | | | | | 00 00 47 65 69 65 72 20 - 0F E2 B8 00 02 02 01 00 02 70 00 7C 06 F9 05 00 - 0A 00 02 00 00 00 00 00 | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Anhand dieses Beispieleintrags m”chte ich erkl„ren, was die einzelnen Eintr„ge im Bootsektor bedeuten: Bytes 1+2 Branch to bootcode. Wenn der Bootsektor AUSFšHRBAR ist, (seine Quersumme 1234 ist), so gibt es die M”glichkeit, ihn irgendwohin laden und ausfhren zu lassen. In diesem Fall wrde der ATARI aber Daten ausfhren. Da das Bootprogramm erst HINTER den anderen Daten stehen kann, muž in den ersten beiden Bytes ein 68000 BRA-Befehl stehen, der die Bootsektordaten berspringt. Wenn an dieser Stelle ein Eintrag der Art "60 XX" steht, mit xx ungleich 00, dann befindet sich in diesem Bootsektor ein Bootprogramm (oder ein Virus). Ob dieses allerdings ausgefhrt wird, h„ngt noch von der Quersumme ab. Die Quersumme des Bootsektors k”n- nen Sie jederzeit durch Anklicken des MAGIC - Buttons setzen (siehe Abschnitt 4.6 der Anleitung) oder durch Anklicken des CHECK - Buttons in der BOOT - Box (Abschnitt 5.3) berprfen. Bytes 3-8: Filler(OEM). An dieser Stelle steht einfach nichts. Die meisten Formatier- programme legen an dieser Stelle irgend eine Kennung ab, die jedoch nie vom TOS beachtet wird. Unsere Beispieldiskette hat an dieser Stelle die Buchstaben "Geier " stehen (was man leider nicht lesen kann, weil der ASCII-Teil fehlt), ist also eine MONOMON-Exformat-V2.xx Disk. (Die V1.xx-Disks hatten "S.Geier".) Bytes 9-11: 24-bit serial number. An dieser Stelle steht eine 24-Bit Seriennummer. Diese wird von den meisten Formatierprogrammen (auch MONOMON V2.3) zuf„llig gew„hlt. Kein mir bekannter Nutzen; aužer, daž die Seriennummer nach einem Diskwechsel vom GEMDOS gelesen wird, um festzustellen, ob denn jetzt noch die selbe Disk drinliegt oder nicht. Bytes 12+13: Byte per sector. Dieser Eintrag gibt an, wieviel Byte in einem Sektor der Disk enthalten sind. Normalerweise 512, aber prinzipiell sind auch andere Werte m”glich. Dieser Eintrag ist (wie die meisten anderen auch) im Intel-Format gehalten. Das heižt, daž das h”herwertige Byte erst als zweites angegeben ist. Um einen solchen Eintrag vernnftig auszulesen, muž man also die Bytes vertauschen. In unseren Beispiel: 00 02 vertauscht gibt 02 00. Und 200H ist genau 512 dezimal. Sollten Sie einmal auf eine Disk stožen, die hier einen anderen Eintrag als 512 hat (der Floppycontroler l„žt noch 128, 256 und 1024 zu) so werden Sie Schwierigkeiten bekommen, eine solche Disk mit MONOMON zu bearbeiten. DER BOOTSEKTOR IST JEDOCH IMMER 512 BYTE LANG!!! (Hoffentlich.....!!!) Byte 14: Sectors per cluster. Die Disksektoren werden vom Atari intern zu CLUSTERN zusammengefasst. Und zwar im Allgemeinen je zwei Sektoren zu einem Cluster. Ich habe noch nie erlebt, daž in diesem Byte eine andere Zahl als ZWEI gestanden h„tte. (Zu den meisten Eintr„gen sollten Sie auch meine Anmerkungen in Abschnitt 4.2 lesen.) Bytes 15+16: Reserved sectors. (Intel-Format). Auch hierzu ist in Abschnitt 4.2 schon alles gesagt. Byte 17: Number of FAT. Der ATARI verwendet normalerweise zwei FAT-Ausfhrungen. šber Struktur und Nutzen der FAT siehe Abschnitt 2.2.e und 2.2.f. Bytes 18+19: Number of directory entries. In diesem Wort (wieder im Intel-Format) steht die maximale Anzahl der Eintr„ge im Wurzelverzeichnis (Abschnitt 2.2.c). Das TOS rundet diese Anzahl auf die n„chstkleinere durch 16 ohne Rest teilbare Zahl ab. Die hier stehende Zahl kann also falsch sein; insbesondere frhere HYPERFORMAT - Versionen schrieben gerne "63", obwohl der Platz nur fr 48 ausreicht. Unsere Beispieldiskette hat Platz fr $0070H = 112 Eintr„ge (7000 umdrehen). Sollten Sie brigens Schwierigkeiten mit der Umrechnung von hexadezimalen in dezimale Zahlen haben, so lege ich Ihnen den in Abschnitt 4.4 besprochenen HEX <=> DEZ- Button ans Herz. Bytes 20+21: Sectors per Disc. Hier steht die Gesamtzahl der physikalisch vorhandenen Sektoren auf der Disk. Die Beispieldiskette hat 067CH = 1660 Sektoren. Eine normale, mit dem Desktop formatierte Disk hat 720 oder 1440 Sektoren, je nach dem ob sie einseitig oder doppelseitig ist. Hier werden alle Sektoren, einschliežlich der reservierten angegeben. Byte 22: Media descriptor. Soll das Speichermedium n„her beschreiben. Dieser Eintrag wird vom TOS nie benutzt und ist nur vorhanden, um die Kompatibilit„t zu IBMs MS-Dos zu wahren. F8 heižt einseitig/80 Track; F9 heižt doppelseitig/80 Track; FC heižt einseitig/40 Track und FD heižt doppelseitig/40 Track. Bytes 23+24: Sectors per FAT. Hier steht die Anzahl der Sektoren pro FAT. Bei der Beispieldisk sind das fnf (die normale FAT - L„nge bei ATARI - Disks). Wie wir Byte 17 schon entnehmen konnten, befinden sich zwei FAT auf der Disk, so daž also insgesamt 10 Sektoren fr die FATs verbraten werden (sechs wrden reichen...). Bytes 25+26: Sectors per Track. Die Anzahl der Sektoren pro Spur. Normalerweise neun, in unserem Beispiel zehn. Jeder Sektor pro Track bringt 80 Kilobyte Speicherplatz auf der Disk. Keine Ahnung wie sinnvoll dieser Eintrag im Bootsektor einer RAM - Disk ist. Bytes 27+28: Number of sides. Die Anzahl der Diskettenseiten. Im Beispiel zwei; und ich weiž auch nicht, wie man mehr Seiten auf eine Floppy bringt. Byte 29: Hidden sectors. Die Anzahl der verborgenen Sektoren auf der Disk. Wird meines Wissens nie benutzt und drfte daher auch nur aus "Kompatibilit„tsgrnden" vorhanden sein; aber - wer weiž... Alle weiteren Bytes im Bootsektor geh”ren zu einem eventuell vorhandenen Bootprogramm und sollen hier nicht weiter behandelt werden. 2.2.c Das Directory (Allgemeines) --------------------------------- All die sch”nen Daten auf der Disk ntzen uns nichts, wenn wir sie nicht wiederfinden. Hierzu dient das DIRECTORY der Diskette. Es steht ab Sektor Nummer (FATanzahl*FATl„nge+reservierte Sektoren), also im Allgemeinen ab Sektor 11 auf der Disk. Ein Eintrag im Inhaltsverzeichnis hat eine L„nge von 32 Byte, deshalb passen in einen Sektor genau 16 Directory-Eintr„ge. Eine "normal" formatierte Diskette hat sieben Directory-Sektoren, was 7*16=112 Eintr„gen entspricht. Das sollte wohl auch fr hohe Ansprche reichen. Diese 112 Eintr„ge kennzeichnen n„mlich nur das WURZELVERZEICHNIS der Disk. Einer (oder auch mehrere) der Eintr„ge kann/k”nnen dabei auf ein UNTERVERZEICHNIS (Folder) verweisen, das auf der Disk an anderer Stelle abgelegt wird. Innerhalb eines Unterverzeichnisses (Subdirectory) kann nun weiter auf ein noch tiefer liegendes Unter-Unterverzeichnis verwiesen werden usw. 2.2.d Das Directory (Aufbau) ---------------------------- Unten habe ich wieder einen Ausschnitt aus einer MONOMON-Ausgabe abgebildet. Diesmal ist der ASCII-Teil der Vollst„ndigkeit halber mit dabei; ich habe allerdings einige Bytes, die in einem ASCII-Text nicht ohne weiteres darstellbar sind durch Dollarzeichen ($) ersetzt. Der Ausschnitt stellt genau einen Directory-Eintrag dar. Ein Directory besteht im Allgemeinen aus mehreren solcher Eintr„ge, die direkt hintereinander liegen. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | | | | | | | | | | | | | | | | 4D 4F 4E 4F 5F 32 31 20 - 54 58 54 02 00 00 00 00 MONO_21 TXT..... 00 00 00 00 00 00 29 2D - 46 0C 8C 01 FD D6 00 00 ......)-F$$$$$.. | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Bytes 1-11: File Name. Diese elf Byte sind fr den Namen der Datei (oder des Folders) vorgesehen, zu der (dem) dieser Eintrag geh”rt. Die ersten acht Byte geben dabei den Namen der Datei an, die letzten drei den Extender. Beide Namensteile stehen ohne Punkt direkt hintereinander auf der Disk. Eventuelle fehlende Stellen, wie sie entstehen k”nnen, weil der Name krzer als acht Zeichen lang ist oder der Extender fehlt, werden durch Spaces (ASCII 20H) ausgefllt. Sollte als erstes Byte in diesem Feld eine 00 stehen, so ist dieser Eintrag frei; er wurde auch noch nie benutzt. Sollte das erste Byte eine E5H sein, so war dieser Eintrag 'mal belegt, wurde aber gel”scht und steht wieder zur Verfgung. Schliežlich besteht noch die M”glichkeit, daž das erste Byte eine 2EH ist. In diesem Fall kennzeichnet der Eintrag den Beginn eines Unterverzeichnisses. Byte 12: File Attribute. Die Bits dieses Bytes geben bestimmte Eigenschaften an. Ist das entsprechende Bit gesetzt, so bedeutet dies, daž die Datei die entsprechende Eigenschaft hat: Bit 0: Read-Only-File. Diese Datei darf nur gelesen, nicht aber gel”scht oder neu beschrieben werden. (...theoretisch zumindest - praktisch besteht die M”glichkeit eine solche Datei zum Lesen zu ”ffnen und dann einfach ganz frech in den ge”ffneten Datenkanal zu schreiben. Dies funktioniert tats„chlich, weil das GEMDOS die Datenrichtung einer einmal ge”ffneten Datei nicht mehr berprft.) Bit 1: Hidden-File. Dies ist eine ganz normale Datei, nur daž sie beim Auflisten des Directory nicht mit dargestellt wird. Wenn Ihnen also Ihr Directory zu voll erscheint, k”nnen Sie mit MONOMON einfach alle DESKTOP.INF's und „hnliche Hilfsdateien verstecken. Die Datei in unserem Beispiel ist von dieser Art. Bit 2: System-File. Der Effekt ist der gleiche wie bei Bit 1. Dies ist eine stinknormale Datei, die beim Auflisten des Directory nicht mit dargestellt wird. Wahrscheinlich ist dieses Bit auch nur wieder aus MS-DOS- Kompatibilit„tsgrnden in die Directory-Struktur aufgenommen. (Ein kleines Schmankerl am Rande: Wenn in einem Attribut-Byte SOWOHL Bit 1 ALS AUCH Bit 2 gesetzt sind, so wird die entsprechende Datei nicht etwa besonders gut versteckt, sondern sie wird im Directory AUSGEGEBEN. Auch an dieser Stelle heben sich zwei Verneinungen offenbar auf.) Bit 3: Volume Label. Dieser Eintrag ist keiner Datei zugeordnet, sondern enth„lt nur den Namen der Disk. Bit 4: Subdirectory. Dieser Eintrag verweist nicht auf eine Datei sondern auf ein Unterverzeichnis (Subdirectory). Als L„nge ist in diesem Fall immer Null angegeben. Der Cluster, der in diesem Eintrag als Startcluster angegeben wird, ist der Cluster, in dem sich der Inhalt des Ordners (also die Eintr„ge des Unterverzeichnisses) befinden. Bit 5: Archiv. Dieses Bit kann genutzt werden, um bei Festplatten- Back - Ups die bereits archivierten Dateien zu kennzeichnen. Leider wird von dieser M”glichkeit meines Wissens nach im Moment beim ATARI noch kein Gebrauch gemacht. Bit 6+7: Unused. Nicht benutzt. Diese beiden Bits haben die undoku- mentierte Eigenschaft, genau wie Bit 1 zu wirken. Eine Datei mit gesetztem Bit 6 oder 7 wird also im Inhaltsverzeichnis versteckt und manchmal noch nicht einmal von Programmen gefunden, die extra nach ver- steckten Dateien suchen. (MONOMON findet allerdings auch derart verborgene Files.) Es ist m”glich, daž mehrere dieser Bits in Kombination gebraucht werden. Allerdings ist das reichlich sinnlos, da Read-Only- Dateien nie verborgen werden, Subdirectorys schon von selbst Read-Only sind etc. (Welchen Sinn hat wohl ein archiviertes, verborgenes Volume-label?) Bytes 13-22: Unused. Zehn reservierte Bytes, die zur Zeit nicht benutzt werden. Bytes 23+24: Time. Dieses Wort (ein Wort sind zwei Byte) enth„lt die Uhrzeit, wann die Datei erzeugt, bzw. das letzte mal ge„ndert wurde. Beim normalen Kopieren einer Datei mit dem Desktop wird das Datum beibehalten. Manche Kopierprogramme (auch die COPY- File-Funktion von MONOMON) setzen jedoch beim Kopieren die aktuelle Systemzeit in den Directory-Eintrag ein. Das Wort enth„lt Daten in folgender, bitweise kodierter Form: HHHH HMMM MMMS SSSS Die S-Bits geben in Bin„rer Form die Sekunden in 2er Schritten wieder (0-29 diese Zahl muž noch mit zwei multipliziert werden). Sie werden also NIEMALS in einem Directory einen Eintrag der Form 12:24:33 (mit ungerader Sekundenzahl) finden. Die M-Bits stellen die Minuten, die H- Bits die Stunden dar. Unsere Beispieldatei ist um 00101 101001 01001, also um 05:41:18 erzeugt (oder zuletzt ge„ndert worden. Bytes 25+26: Date. Das Datum der File-Erstellung. Hierfr gilt Žhnliches wie fr die Zeit. Das Format ist: JJJJ JJJM MMMT TTTT Die J-Bits geben das Jahr wieder. Zu dieser Zahl (0-127) muž noch 1980 hinzuaddiert werden, um das tats„chliche Datum zu erhalten. Die M-Bits stellen den Monat (1-12), die T-Bits den Tag dar. Das Beispiel wurde am 0000110 0010 00110, also am 6-2-86 erzeugt. (Das ist natrlich nicht wahr, ich war nur zu faul, die Systemuhr zu stellen). Wie so viele Eintr„ge beim ATARI, mssen auch "Time" und "Date" vor der Verarbeitung umgedreht werden. Bytes 27+28: Start cluster. Dies ist der Startcluster der Datei (wie blich im Intel- Format). Dieser Eintrag gibt die Nummer des ersten von der Datei belegten Clusters an. Da das TOS immer zwei Sektoren zu einem Cluster zusammenfasst, belegt eine Datei immer mindestens zwei Sektoren, also 1024 Byte, auch wenn tats„chlich nur ein paar Byte davon genutzt werden. Eine 1025 Byte lange Datei belegt also zwei Cluster = 2048 Byte -> 1023 Byte Verschwendung!! Das Beispielfile beginnt bei Cluster Nr. 18CH = 386. šber diese Bytes kommt MONOMON im FILE-Info an Startcluster und Startsektor der Dateien. Bytes 29-32: Length of file. Hier steht die Dateil„nge in Byte. Ich erw„hnte bereits, daž die kleinste logische Einheit auf der Diskette ein Cluster ist. So gesehen drfte eine Datei dann nur eine L„nge haben, die ein Vielfaches von 1024 ist. Um auch andere Dateil„ngen zuzulassen, wird im Directory einfach die REALE File-L„nge abgespeichert. Wenn Sie also eine Datei mit 1025 Byte L„nge auf der Disk stehen haben, dann belegt diese zwar effektiv 2048 Byte; beim Lesen daraus wird jedoch schon nach dem 1025 Byte ein "End of File" gemeldet. Auch dieses Langwort (4 Byte) muž erst 'rumgedreht werden, bevor man damit was anfangen kann. Dazu mssen Sie, wie bei Langworten im Intel-Format blich, zuerst das erste Wort mit dem zweiten vertauschen (aus "FDD6 0000" mach "0000 FDD6"). Dann mssen Sie INNERHALB DER WORTE noch die Bytes vertauschen (also aus "0000 FDD6" "0000 D6FD" machen.) So bekommen Sie die L„nge der Datei: D6FDH = 55037 Byte. Subdirectorys (Unterverzeichnisse) sind im Prinzip ganz Normale Dateien, jedoch mit einigen Spezialit„ten: Sie haben im Attribut-Byte das Bit Nr. 4 gesetzt. Aužerdem ist ihre L„nge im Parent-Directory mit 0 angegeben (das Parent-Directory ist dasjenige Verzeichnis, in dem das Unterverzeichnis steht). Der Aufbau eines Subdirectorys ist weitgehend mit dem des Root- Directorys (Wurzel- oder Hauptverzeichnis) identisch, mit Ausnahme der ersten beiden Eintr„ge. Der erste Eintrag hat immer den Namen "." (nur einfach ein Punkt). Er ist ebenfalls als Ordner gekennzeichnet (Bit 4 des Attr.-Byte gesetzt) und verweist im "Start cluster" - Eintrag auf sich selbst. Der zweite Eintrag lautet auf ".." (zwei Punkte), ist ebenfalls ein Ordner und gibt als Startcluster denjenigen seines Parent-Directorys an (bzw. Null, wenn das Parent-Directory das Wurzelverzeichnis ist). Da MONOMON beim FILE-Info auch diese beiden Dummy-Folder mit ausgibt, k”nnen Sie sich diese Strukturen am besten 'mal selbst anschauen. Klicken Sie File-Info, suchen Sie sich einen Ordner aus und merken sich seinen Startcluster, klicken Sie dann den Eintrag an und vergleichen Sie die Daten, die Sie bei den ersten beiden Ordnern "." und ".." finden mit denen, die sie sich gemerkt haben. Diese beiden Eintr„ge sollen angeblich den Zweck haben, dem GEMDOS seine Arbeit zu erleichtern. Da dieses sich jedoch auch sehr gut OHNE solche Krcken durch die Unterverzeichnisse hangeln kann, sind auch diese beiden Eintr„ge mal wieder nur aus MS-DOS-Kompatibilit„tsgrnden vorhanden. 2.2.e Die FAT (Allgemeines) --------------------------- Zuallererst: FAT heist nicht etwa "Fett" sondern ist eine Abkrzung fr File - Allocation - Table (frei bersetzt etwa Datei - finde - Tabelle). Diese Tabelle steht in zweifacher Ausfhrung direkt im Anschluž an den Bootsektor. Die FAT 2, die die "Arbeitsausfhrung" darstellt, belegt also im Normalfall die Sektoren 6-10; die FAT 1 (nur eine Sicherkeitskopie ohne Wert) steht in Sektor 1-5. (Dies allerdings nur, wenn die FAT's die Regell„nge 5 Sektoren haben.) In der FAT gibt es fr jeden auf der Diskette vorhandenen Cluster einen 12 Bit langen Eintrag. Ist dieser Eintrag 000, so ist der entsprechende Cluster noch frei, in jedem anderen Fall ist er belegt. Wenn das GEMDOS eine neue Datei anlegt (oder eine alte auf die Disk kopiert), so tr„gt es zun„chst den Namen und das Datum im Directory ein. Sodann belegt es nacheinander alle freien Cluster auf der Disk. Dabei versucht es zun„chst m”glichst grože Bl”cke zusammenh„ngend abzuspeichern. Die Clusterz„hlung beginnt (wieder aus Grnden der "Kompatibilit„t") mit der Nummer zwei. Da die ersten 13-17 Sektoren (je nach dem...) fr Verwal- tungsaufgaben belegt sind (Bootsektor, FATs, Directory) beginnt der erste (zweite!!!) Cluster bei Sektor 18 (bzw 14 etc.). Das ist auch der Grund, weshalb Sie auf der Diskette nie eine Datei finden werden, die den Cluster 1 belegt, weil es einen Cluster 1 nicht gibt. Die FAT 1 ist eine relativ sinnlose Einrichtung. Ursprnglich als Sicherheitskopie der FAT 2 gedacht, gibt es leider keine M”glichkeit, das GEMDOS (oder sonstwen...) dazu zu bewegen, die beiden FAT-Ausfhrungen miteinander zu vergleichen und bei einem Fehler der FAT 2 diesen mit Hilfe der FAT 1 zu beheben. Allerdings k”nnen Sie, wenn Sie einen Fehler in der FAT feststellen (oder gar selbst aus Versehen einen erzeugen, indem Sie ungewollt irgendwelche FAT - Daten „ndern oder berschreiben) diesen mit Hilfe von MONOMON einfach reparieren, indem Sie den entsprechenden Sektor aus der FAT-Kopie mit CUT ausschneiden und mit PASTE an die entsprechende Stelle in der original-FAT kopieren. Die FAT zu verstehen, ist ein Wenig kompliziert, da hier ein seltsames Komprimationsverfahren (pl”tzlich wird Platz gespart) mit dem Intel - Format aufeinanderprallen. Ich pers”nlich lese eine FAT so, wie ich es im folgenden Abschnitt 2.2.f darstellen werde. Wundern Sie sich aber nicht, wenn Sie in einem Buch o.„. auf eine andere Methode stožen sollten: der Effekt ist der gleiche, ein einheitliches Verfahren hat sich noch nicht etabliert. Ich pers”nlich halte aber meine Methode fr die am leichtesten merkbare (aber das ist natrlich Geschmacksache). Da ein Eintrag in der FAT 12 Bit lang ist, braucht man drei Hex-Nibbles, um seinen Wert darzustellen. Ein Eintrag kann dabei entweder die Zahl 000 enthalten, was bedeutet, daž er noch unbelegt ist; oder er enth„lt einen ZEIGER auf den NŽCHSTEN CLUSTER. Dazu ein Beispiel: Im Directory ist eine Datei eingetragen mit Startcluster 43 und der L„nge 4050 Byte. Dann ist auf jeden Fall der Cluster 43 von dieser Datei belegt. In dem Eintrag von Cluster 43 steht nun eine drei-Digit- Hex-Zahl, die angibt, in welchem Cluster die Datei weitergeht. Angenommen dies w„re Cluster 44. Dann steht im Feld von Cluster 43 in der FAT eine 044. Auf diese Weise hangelt sich das Tos durch die FAT: im Eintrag fr Cluster 44 steht zum Beispiel 045 und im Eintrag fr Cluster 45 die 088 (Dies k”nnte beispielsweise passieren, wenn eine Datei, die frher auf der Disk stand, diese bis einschliežlich Cluster 45 belegte. Ein anderes Programm wurde dann ab Cluster 46 bis einschliežlich Cluster 87 auf die Disk geschrieben. Wenn Sie nun die erste Datei l”schen, wird der Platz bis Cluster 45 frei - da unsere Datei jedoch zu lang fr diese Lcke ist, muž noch ein Cluster "hinter" der anderen Datei belegt werden). Im Eintrag fr Cluster Nr. 88 finden Sie dann den Eintrag FFF, was nichts weiter bedeutet, als daž auf diesen Cluster kein weiterer mehr folgt, weil die Datei in diesem Cluster endet. Prinzipiell br„uchte man keine spezielle File-Ende-Marke, weil ja die reale Dateil„nge im Directory verzeichnet ist - man muž jedoch irgendetwas in den Eintrag hinein- schreiben, um den entsprechenden Cluster als belegt zu kennzeichnen, und da nimmt man 'halt im Allgemeinen die FFF. 2.2.f Die FAT (Aufbau) ---------------------- Ich m”chte in diesem Abschnitt eine Methode beschreiben, die FAT - Eintr„ge auszulesen. Nehmen wir an, sie lassen sich den Anfang Ihrer FAT ausgeben und finden dort: F7 FF FF 03 40 00 05 60 00 07 80 00 09 A0 00 FF CF 00 0D F0 FF Das sieht auf den ersten Blick ein wenig wirr aus und, ehrlich gesagt, das ist es auch. Einen ersten šberblick erh„lt man aber schon, wenn man die Bytes in Dreiergruppen zusammenfasst: F7 FF FF 03 40 00 05 60 00 07 80 00 09 A0 00 FF CF 00 0D F0 FF Als n„chstes mssen Sie in jeder Dreiergruppe die BEIDEN LETZTEN Bytes vertauschen. Der ATARI k„me auch sehr gut ohne diese st„ndige Vertauscherei aus, die Bytes werden nur immer aus Rcksicht auf das rckst„ndige IBM-Format verdreht. Sie erhalten danach jedenfalls: F7 FF FF 03 00 40 05 00 60 07 00 80 09 00 A0 FF 00 CF 0D FF F0 Nun fassen Sie am besten die drei Bytes als sechs unabh„ngige Digits auf (also nicht 03 00 40 sondern 0 3 0 0 4 0) und setzen das ŽUSSERSTE RECHTE Digit GANZ LINKS vor die Folge (also aus 1 2 3 4 5 6 wird 6 1 2 3 4 5). Wenn Sie jetzt nur noch immer drei Digits zu einer Zahl zusammenfassen, so erhalten Sie: FF7 FFF 003 004 005 006 007 008 009 00A FFF 00C 00D FFF | | | | | | | | | | | | | | (0) (1) 2 3 4 5 6 7 8 9 10 11 12 13 (Unter die Eintr„ge habe ich immer die Nummer des zugeh”rigen Clusters geschrieben.) Hier kann man nun sehr sch”n die Belegung der Disk ablesen: Die Cluster Null und Eins (existieren nicht!!) sind meist als belegt (FFF) oder als unlesbar (Formatfehler, FF7) gekennzeichnet. Es macht jedoch auch nichts aus, wenn diese Kennzeichnung fehlt, da das GEMDOS die Cluster sowieso erst ab Zwo durchnummeriert. Die Datei, die in Cluster 2 beginnt, belegt im Anschluž daran die Cluster 3,4,5,6,7,8,9 und 10 (0A in Hex). Dies ist der letzte Cluster und so steht im Eintrag von Cluster 10 eine FFF. Die n„chste Datei ist krzer: Sie belegt nur die Cluster 11,12 und 13 (vieleicht ein Unterverzeichnis?). Dateien, die schon im Eintrag des Startclusters ein FFF stehen haben, belegen nur den Startcluster, sind also kleiner (krzer) als 1025 Byte. (Was nicht heižt, daž sie nicht noch verl„ngert werden k”nnten - dann wird die FFF abge„ndert in die Nummer des n„chsten belegten Clusters.) Mit den zw”lf Bit k”nnte man theoretisch ber 4000 Cluster adressieren. Allerdings ist in einer normalen FAT "nur" Platz fr etwa 1700 Cluster. Da Cluster = Kilobyte k”nnte man natrlich auf die Idee kommen, die idiotische FAT - L„nge von 5 Sektoren sei AUCH wieder nur aus kompatibilit„tsgrnden gew„hlt. Fr eine doppelseitige Diskette wrden n„mlich drei Sektoren FAT- L„nge v”llig ausreichen (~1024 Kilobyte), fr eine einseitige w„ren sogar zwei Sektoren Fat-L„nge ausreichend (~ber 680 Kilobyte adessierbar). 2.3) Ramdisks, Festplatten etc. ------------------------------- Ein gewisses Handicap des TOS ist es, daž es all diese Dinge, nur fr zwei Laufwerke kennt: A und B. Deshalb braucht jedes Laufwerk mit einer Kennung ungleich A oder B einen TREIBER. Dies ist ein kleines Programm, das alle Floppyzugriffe abf„ngt und die eigenen Daten einbaut. Nehmen wir zum Beispiel an, das GEMDOS wolle berprfen, wieviele Sektoren eine bestimmte Disk hat, und diese Disk sei zuf„llig die Ramdisk D. Dann wird beim BIOS nach dem "Bios - Parameter - Block" nachgefragt; das ist ein Datenblock, der gewisse Informationen ber ein Laufwerk enth„lt. Das BIOS wrde jetzt jedoch berprfen, ob die Anfrage Laufwerk A oder B betrifft und (da dies nicht der Fall ist) einfach gar nichts tun. Da zu jeder Ramdisk jedoch ein Treiber geh”rt, hat dieser sich schon in den Aufruf eingeklinkt. Auch der Treiber "kennt" nur sein eigenes Laufwerk, also in diesem Fall die Nummer D. Er berprft jede Anfrage beim BIOS, ob diese vielleicht "sein" Laufwerk betrifft. Ist dies nicht der Fall, so gibt er die Kontrolle wieder an das Bios ab (oder an einen anderen Treiber, z.B. einen Harddisk-Treiber). IST jedoch Laufwerk D gemeint, dann bernimmt der Treiber die Aufgaben, die in der Anfrage erwartet werden. In unserem Beispiel legt der Treiber also einen Bios-Parameter-Block fr die Floppy D an und gibt diesen (bzw. seine Anfangsadresse) an das Gemdos zurck. Diesem ist es egal, woher seine Informationen kommen - Hauptsache sie kommen berhaupt. Wenn also das TOS beispielsweise ein Programm l„dt, dann schickt es nur eine Reihe von Befehlen an das BIOS ab ("lade diese und jene Sektoren da und da hin"). Wenn diese Befehle erst eine Reihe von Treibern durchlaufen, ehe sie (wenn berhaupt) beim BIOS ankommen ist dabei egal. Hauptsache ist, daž die entsprechenden Sektoren an die richtige Stelle kopiert werden - sei es nun vom BIOS von der Disk oder von einem Treiber aus der Ramdisk (oder von der Festplatte oder von der EPROM-Disk oder vom CD-Rom etc.) Das Problem bei brandneuer Hardware (z.B. CD-Rom) ist also meist nicht die Hardware selbst (dafr gibts Hostadapter) sondern der passende Treiber... Sollte es je einen Treiber geben, der die CD-Rom an den ATARI direkt An- schlužf„hig macht, so daž man ein Programm von der CD laden und starten kann, dann wird man auch mit MONOMON mit dieser CD arbeiten k”nnen. Ein Softwareseitiges Problem ist nun, an alle gewnschten Daten einer Disk heranzukommen. Ein Beispiel: Wenn ich wissen m”chte, wo auf einer Diskette das Wurzelverzeichnis beginnt, muž ich Anzahl und L„nge der FAT wissen. Ich k”nnte nun hergehen und versuchen, diese Daten einfach aus dem Bootsektor zu lesen. Dann gerate ich jedoch in die Schwierigkeit, daž z.B. eine RAM-Disk GAR KEINEN BOOTSEKTOR zu haben braucht. Die meisten legen trotzdem einen an, aber man kann sich nicht darauf verlassen. Das BIOS erstellt zwar seinen BPB (Bios-Parameter-Block) nach Bootsektordaten, aber dies tut es ja nur bei Drive A und B. Wenn ein Treiber in der Lage ist, einen BPB bei Bedarf auch OHNE Bootsektor zusammenzubauen, (und da ein Treiber ja genau auf "sein" Ger„t zugeschnitten ist, kennt er natrlich alle Daten "auswendig", also ohne sie im Bootsektor nachsehen zu mssen) braucht auch keiner vorhanden zu sein. Wenn ich aber versuche, einen nicht existierenden Bootsektor einzulesen, und aus diesem auch noch sinnvolle Daten auslesen will, so werde ich etwas erhalten, das nicht viel anders als "Bahnhof" klingt. Gehe ich aber den "braven" Weg und frage h”flich nach einem BPB, so kann es mir passieren, daž mir bestimmte Informationen vorenthalten werden. Zudem kann man bestimmte Daten nicht auf dem "h”flichen" Weg erfragen, wie etwa den Startcluster einer Datei. Da muž man dann doch gewaltsam vorgehen und den entsprechenden Directory-Sektor einlesen und ihm die gewnschte Information entnehmen. Die Schwierigkeit bei all dem ist, den richtigen Mittelweg zu finden, also so viele Informationen wie m”glich ber das Betriebssystem zu holen und so viele wie n”tig durch direktes Sektorenlesen. Zudem kommt noch hinzu, daž z.B. Harddisks noch einen weiteren wichtigen Sektor besitzen (k”nnen), den ich noch gar nicht angesprochen habe: den ROOT-Sektor (kein Schreibfehler - RRRRoot wie Wurzel). In diesem sind Dinge wie etwa Partitionierungsdaten oder die Zahl der K”pfe oder Zylinder der Harddisk festgehalten. Die Schwierigkeit dieses Rootsektors ist, daž er kein festes Format zu besitzen braucht. Hauptsache ist, daž der entsprechende Treiber aus den Daten "seines" Rootsektors schlau wird. Dieser Sektor muž auch nicht an einer bestimmten Stelle stehen. So kann es passieren, daž Sie, wenn sie im Glauben einen Bootsektor vor sich zu haben den Sektor Null einer Disk einlesen, in Wirklichkeit den Rootsektor erwischen. Da ja eine Harddisk (genau wie eine Ramdisk) keinen Bootsektor zu haben braucht (dann mžte sich nur der Treiber bei jeder Partitionierung „ndern, aber das ist ja machbar) kann man also einfach den Sektor Null als Root- sektor benutzen und sich nicht darum scheren, ob irgendwelche neugierigen Diskmonitore hier vielleicht einen Bootsektor vermuten. Man kann auch (das drfte die verbreitetste Praxis sein) einen zentralen Rootsektor anlegen und dann JEDER Partition einen eigenen Bootsektor geben. Das h„tte den Vorteil, daž die Platte von jeder Partition autobootf„hig wrde (...wenn der Treiber mitspielt, heižt das). Wenn man will, kann man sogar das Datenchaos Perfekt machen und bei drei Partitionen immer einen Sektor der ersten Partition zuordnen, den n„chsten Sektor der zweiten, den n„chsten der dritten und wiederum den n„chsten wieder der ersten Partition. Solange der Treiber dieses Aufteilungs- verfahren kennt, und in der Lage ist, dem Gemdos ein einheitliches Laufwerk vorzuspiegeln, macht das gar keinen Unterschied zum "normalen" Betrieb, wo jeder Partition ein fester Plattenbereich zugeordnet wird. Es h„tte also wenig Sinn, wenn ich hier den exakten Aufbau des Eickmann- HDplus - Rootsektors erkl„rte, weil bei einer original Atari-Platte schon wieder alles ganz anders ist, und bei einer ganz anderen Platte alles noch anders sein kann. Worauf ich hinaus will ist folgendes: Sie haben bei "nicht-Floppy- Drives" prinzipiell drei M”glichkeiten: - Sie verhalten sich furchtbar still und brav und geben sich mit den Informationen zufrieden, die der Treiber freiwillig herausrckt (dann verringern sich aber ganz massiv die Chancen, etwas interessantes herauszufinden), - Sie kennen den Treiber ganz genau und wissen exakt, was man alles wie aus ihm herausquetschen kann (aber dann wrden Sie wohl MONOMON nicht brauchen), - Sie versuchen soviel wie m”glich auch durch "illegale" Spielereien herauszufinden und stehen den Ergebnissen dieser Arbeit mit einem gewissen Maž an Skepsis gegenber. Und dieser dritte Punkt beschreibt recht genau die Strategie dieses Diskmonitors: MONOMON kann sicher keine Wunder vollbringen, aber er versucht es wenigstens. Wenn bei diesem Versuch 'mal etwas ziemlich unplausibles herauskommen sollte, (...eine Ramdisk mit drei Seiten...) so sollten Sie bitte nicht vergessen, daž diesem Programm aufgrund seiner Universalit„t Grenzen gesetzt sind. (...und beachten Sie bitte auch Abschnitt 8.) 3.) Allgemeine Funktionen -------------------------- Obwohl MONOMON V2.3 eigentlich keine Anleitung br„uchte (was sich nicht von selbst erkl„rt kann man einfach ausprobieren) m”chte ich hier kurz auf die einzelnen Funktionen eingehen. Zuvor jedoch ein paar Worte zum MONOMON- Konzept: *** Monomon ist frei kopierbar! *** Monomon ist gewollt unfertig! *** Monomon wird st„ndig weiterentwickelt! Sollten Sie irgendeine Funktion vermissen, schreiben Sie mir. Ich werde mich bemhen fehlende Funktionen in sp„teren Versionen zu bercksichtigen. (Auáerdem kriege ich immer gerne Post, deshalb schreiben Sie mir ruhig auch, wenn Sie KEINE Funktion vermissen, rundum voll zufrieden sind und sich ein Leben ohne MONOMON gar nicht mehr vorstellen k”nnen.) Nach dem Programmstart erscheinen auf dem Bildschirm: - Das Directory des aktuellen Drives (normalerweise der Sektor Nr.11) - Einige Auswahlpunkte im unteren Bildschirmteil - Ein "Sektorschieber" rechts - Eine Drive-Leiste ganz rechts - Eine Quit-leiste ganz unten Den Bildschirmbereich in dem Sie das Directory sehen, werde ich in dieser Anleitung das "Window" (manchmal auch "Fenster") nennen. Erwarten Sie hier aber bitte keine GEM-artigen Spielereien: Das Window ist weder verschiebbar, noch kann man seine Gr”že „ndern. Ich habe bei der Programmierung von MONOMON bewužt auf manche der sogenannten "features" von GEM verzichtet, weil sie nicht nur nichts zur Benutzerfhrung beitragen, sondern eher hinderlich sind. Welchen Sinn hat es beispielsweise, die Funktionen eines Programms hinter Pull-Down-Menues zu verbergen, die einen nur dazu n”tigen jedesmal 3-4 Rollos 'runterzuklappen, bis man endlich die Funktion gefunden hat, die man sucht? Bei MONOMON hat man alle Funktionen immer im Blick; ich halte das fr die eindeutig bessere Methode. 3.1 Das Window -------------- Da sich in diesem "Window" die meisten Funktionen von MONOMON abspielen, werden wir es als erstes betrachten. Im Allgemeinen wird im Window ein Sektor der aktuellen Diskette dargestellt sein. Durch einfaches Anklicken irgendeines Punktes im Window entsteht an der entsprechenden Stelle ein Cursor, mit dem Sie Daten in HEX (Sedezimal) oder in ASCII „ndern k”nnen, je nachdem, in welchem Teil des Fensters Sie sich mit dem Cursor gerade befinden. Sie k”nnen, falls Sie auch zu den "Maushassern" geh”ren auch eine der Tasten "Pfeil links" oder "Pfeil rechts" drcken. Der Cursor entsteht dann am ersten Byte des Sektors, und zwar im HEX-Teil, falls Sie "Pfeil links" gedrckt haben, ansonsten im ASCII-Teil des Windows. Dies geht natrlich nur, wenn Sie nicht schon im Modify-Modus sind. In der linken oberen Ecke des Windows zeigt MONOMON an, bei welchem Byte sich der Cursor gerade befindet. Dabei gibt es prinzipiell zwei M”glich- keiten: Wenn Sie einen ganz normalen relativen Disksektor bearbeiten, so erscheint nur "POS:" und die Angabe der Cursorposition relativ zum Sektor- beginn. Wenn Sie jedoch mit "FILE - Open" eine Datei bearbeiten, so macht MONOMON zus„tzlich noch die Angabe "FPOS:". Dies ist die Cursorposition relativ zum Dateianfang. (->Abschnitt 5.4) Cursorsteuerung ist dabei mit der Maus m”glich: um den Cursor woanders hinzubekommen, einfach die neue Position anklicken, der Cursor springt dann an die entsprechende Stelle. Auf diese Weise kann man auch ganz einfach zwischen dem HEX-Teil und dem ASCII-Teil des Fensters hin- und herspringen. Wenn Sie den Teil des Fensters, in dem Sie sich gerade befinden NICHT verlassen wollen, k”nnen Sie den Cursor auch mit den Pfeiltasten steuern. In den jeweils anderen Teil des Windows gelangen Sie dann, indem Sie kurz UNDO tippen - wodurch Sie die Modify-Funktion verlassen - und sodann wieder mit einer der Pfeiltasten in die Funktion "einsteigen"; diesmal einfach auf der anderen Seite des Windows. Wenn Sie wollen k”nnen Sie auch die HELP - Taste drcken. MONOMON springt dann zum selben Byte auf der je- weils "anderen" Seite, also zum HEX-Teil, wenn Sie in ASCII sind und umge- kehrt. Bet„tigen der - Taste bel„át das aktuelle Byte wie es war und springt direkt das n„chste an. Ich muž darauf hinweisen, daž die Tasten und nicht wie gewohnt funktionieren, sondern die Zeichen ASCII 08H () bzw. ASCII 7FH () ergeben. Sollten Sie sich also vertippt haben, mssen Sie mit der Taste "<-" (Pfeil links) um ein Byte zurckgehen und es neu eintippen. Wenn Sie mehrere Nullbytes hintereinander eingeben wollen, so k”nnen Sie dies natrlich in HEX - Teil des Windows machen. Hier mssten Sie jedoch pro Byte zweimal die 0 - Taste drcken. Schneller geht es daher, wenn Sie im ASCII - Teil des Windows die Taste bet„tigen. Dadurch wird das jeweilige Byte direkt mit 00 berschrieben. Ist eine Žnderung abgeschlossen, so gengt es, den Bildschirm irgendwo auáerhalb des groáen "Fensters" anzuklicken (z.B. eine Info-Funktion auszul”sen oder auch nur irgendwo "ins Graue" zu klicken), um die Daten abzuspeichern. Sie k”nnen natrlich auch wie oben beschrieben UNDO drcken, was den gleichen Effekt hat: Monomon fragt dann h”flich an, ob der Sektor in der ge„nderten Version auf die Diskette gespeichert werden soll oder nicht. Wenn Sie hier ABBRUCH klicken, werden Ihre Žnderungen ignoriert, der Sektor auf der Disk wird belassen wie er war. Natrlich fragt MONOMON nur an, wenn tats„chlich Daten ge„ndert wurden. Wenn Sie nur das Wort "HUGO" in "SVEN" „ndern, mit dem Cursor zurckgehen und wieder "HUGO" daraus machen erkennt MONOMON, daž tats„chlich KEINE Žnderung vorliegt. Eine Ausnahme aus dieser "Rckfrage-Regel" gibt es allerdings: Wenn Sie eine l„ngere Žnderung z.B. in einem Text vornehmen und dabei ber den Sektor hinausschreiben (also das ganz rechte untere Byte „ndern) schreibt MONOMON selbstt„tig den ge„nderten Sektor auf die Diskette zurck, l„dt den n„chsten und geht automatisch wieder in die linke obere Ecke zurck. Auf diese Weise brauchen Sie sich bei Žnderungen nicht um Sektorgrenzen zu kmmern. Tippen Sie Ihren Text einfach fliežend ein; wenn der Monitor irgendwann einen Sektor abspeichert und den n„chsten l„dt, so geht dabei kein Zeichen verloren. Alles was Sie Tippen wird aus dem Tastaturpuffer geholt, wenn MONOMON wieder "daten„nderungsbereit" ist. 3.2 Der Sektorschieber ---------------------- Rechts vom grožen Fenster finden Sie den Sektorschieber. Auch dieses Objekt der MONOMON-Welt arbeitet GEM-„hnlich aber nicht GEM-gleich. Wenn Sie die Pfeile im Sektorschieber anklicken, k”nnen Sie damit sektorweise auf der Diskette vor-, bzw. zurckbl„ttern. (Vorw„rts geht schneller). Den gleichen Effekt haben auch die kleinen Pfeile in der POSITION - Box (siehe dort). Schliežlich kann man auch durch Bet„tigen der Tasten "+" und "-" auf der Disk bl„ttern, ohne jedesmal die Maus bemhen zu mssen. Den gleichen Effekt haben auch die Tasten "Pfeil hoch" und "Pfeil 'runter" im Cursorblock, dies allerdings nur, falls Sie sich nicht gerade im Modify - Modus befinden. Dann steuern Sie n„mlich mit den Pfeiltasten IMMER den Cursor. Wenn man die Box des Sektorschiebers anklickt, wird der "Gleiter" dadurch auf die angeklickte Position bef”rdert und der entsprechende Sektor dargestellt. Diese Methode der Positionierung ist allerdings ziemlich ungenau. Sie dient eher dazu sich einen groben šberblick ber die Belegung der aktuellen Disk zu verschaffen. Im Gegensatz zu GEM braucht man diesen Schieber also nicht "anzufassen" und auf die neue Position zu bef”rdern. Es reicht, die neue Position anzuklicken und er erscheint dort automatisch. 3.3 Die Drive - Leiste ---------------------- Rechts des Sektorschiebers finden Sie die die Drive-Leiste. Hier k”nnen Sie ein anderes Laufwerk als das aktuelle ausw„hlen. M”glich sind hierbei die Drives A-P, also auch RAM-Disks, Festplatten und EPROM-Disks. MONOMON findet auch bei diesen alle relevanten Daten. Insgesamt k”nnen Sie bis zu sechzehn (!) Laufwerke ansprechen, was wohl allen Bedrfnissen gerecht werden drfte(?). Hierzu ein paar Worte: Ich weiž nicht, wieviele Witzbolde es fr sinnvoll erachten, die Sektoren pro Track bei einer RAM-Disk abzufragen, oder die Seiten pro Disk bei einer Festplatte. MONOMON stellt hierbei die Daten des Bios-Parameter-Blocks zur Verfgung, also die Werte, mit denen auch das TOS arbeitet. Eine Diskette, die vom TOS gelesen werden kann, kann also auch von MONOMON gelesen werden. (Original-MAC geht NICHT, MAC- ALADIN geht, gibt aber ein paar seltsame Werte. MS-DOS geht in jedem Fall, sowohl Original als auch PC-Ditto). Ich bezweifele jedoch, daž das TOS je von der Angabe "Sektoren pro Track" bei RAM-Disks Gebrauch macht. Monomon nimmt das Laufwerk, von dem er gestartet wurde automatisch als Default-Laufwerk. Real existierende RAM-Disks, Festplatten, Disk-Drives, EPROM-Disks etc. werden mit HOHLEM Kennbuchstaben in der Drive-Leiste eingetragen und k”nnen jederzeit angeklickt und damit selektiert werden. Laufwerke, die NICHT real existieren werden mit normalem Kennbuchstaben eingetragen und k”nnen nicht angew„hlt werden. Wenn Sie also zum Beispiel zwei Floppies (A+B) besitzen und eine RAM- Disk als Laufwerk D angemeldet haben, so erscheinen die Buchstaben A,B und D in der Drive-Leiste fettgedruckt und k”nnen angeklickt werden. 3.4 Die QUIT - Leiste --------------------- Ganz am Unteren Rand der MONOMON - Screen finden Sie eine Leiste, in der dreimal das Wort "QUIT" steht. Wenn Sie diese Leiste anklicken, fragt MONOMON an, mit welchem Zeichensatz Sie weiterarbeiten m”chten: dem "kleinen" (8x8) oder dem "groáen" (8x16). Nach Anklicken von QUIT gibt es also drei M”glichkeiten: man w„hlt ABBRUCH, dann verl„át man MONOMON nicht, oder man w„hlt 8x8 bzw. 8x16, dann wird die entsprechende Schrift eingeschaltet und das Programm verlassen. Anstatt die Quit-Leiste anzuklicken, k”nnen Sie auch die Taste drcken, der Effekt ist derselbe. (siehe auch "FILE-Open",Abschnitt 5.4) 4.) Die Bedienung der Buttons ----------------------------- Buttons sind bei MONOMON kleine Schaltelemente, die spezielle Funktionen ausl”sen und durch Anklicken mit der Maus aktiviert werden k”nnen. Mehrere Buttons k”nnen zu einer "Box" zusammengefasst sein, deren Name in Negativ- schrift oberhalb der Button-Gruppe steht. Dieser Abschnitt behandelt jedoch die Einzelbuttons von MONOMON. 4.1 Der ADCE - Button --------------------- Monomon besitzt eine Funktion, die ich in einer unglcklichen Verquickung englischer und deutscher Worte "Automatische-Disk-Change- Erkennung" genannt habe. Das heižt, daž MONOMON selbstst„ndig erkennt, wenn eine Diskette gewechselt wurde (Natrlich nicht bei RAM-Disk oder Festplatte...) und vor der Ausfhrung der n„chsten Funktion den Bootsektor der neuen Disk liest. Die ADCE ist defaultm„žig Aktiviert (weiž auf schwarz). Leider meldet das TOS aufgrund eines Fehlers des Media-Change-Handlers viel zu oft "Disk wurde gewechselt", so daž der Bootsektor der aktuellen Diskette ”fter mal v”llig unn”tig und unmotiviert neu geladen wird. Ich hoffe jedoch, daž sich das ab der neuen TOS-Version 1.4 „ndert, angekndigt ist jedenfalls eine V”llige šberarbeitung des M-C-H. Aužerdem meldet TOS bei schreibgeschtzten Disketten GRUNDSŽTZLICH einen Diskettenwechsel, weshalb man in Zusammenarbeit mit MONOMON entweder seine Disks nicht schreibschtzen, oder die ADCE abschalten sollte. Dies kann man durch einen einfachen Klick auf den Button bewerkstelligen. - Aber Vorsicht: Diskettenwechsel mit ABGESCHALTETER ADCE wird nicht mehr erkannt, das kann zu katastrophalen Fehlern fhren, wenn MONOMON V2.3 z.B. auf der 2. Seite nach einem Sektor sucht, obwohl mittlerweile eine einseitige Disk drinliegt. Wenn die ADCE abgeschaltet ist, kann man den Bootsektor jederzeit mit 'Read' aus der BOOT-Box lesen lassen. Dies wirkt dann, als ob mit einge- schalteter ADCE eine Disk gewechselt worden w„re. Lesen Sie ber das Verhalten der ADCE auch in Abschnitt 6 und 7 dieser Anleitung. 4.2 Der INFO - Button --------------------- Rechts vom ADCE-Button kann man den INFO-Button finden. Dieser gibt be- stimmte Informationen ber das aktuelle Laufwerk aus. Wenn Sie diesen Button anklicken, verschwinden die Sektordaten und stattdessen wird links ein Disk - Info ausgegeben, rechts ein Monomon - Info und unten ein paar Worte dazu, wie man an die neueste MONOMON - Version kommt. Im Monomon-Info werden nur ein paar Informationen zum Vertriebskonzept (public Domain) und zum Autor (Ich) von MONOMON gegeben. Aužerdem steht hier die (neue) Adresse, an der man MONOMON bekommt. Im Disk-Info finden Sie folgende Informationen: - Disk : Hier wird die Laufwerkskennung des aktuellen Drives angegeben. Sollte die entsprechende Disk beim Formatieren einen Namen mitbekommen haben, so wird dieser ebenfalls ausgegeben. - Bytes pro Sektor : Fast immer 512. Andere Sektorl„ngen k”nnte MONOMON auch gar nicht vernnftig verarbeiten, da dafr das Window viel zu klein (oder zu grož) w„re. Somit mehr eine Routine-Ausgabe zur Kontrolle. - Sektoren pro Cluster : Ich weiž nicht, was passiert, falls dieser Wert jemals ungleich 2 ist, da ich diesen Fall noch nie erlebt habe. Entweder ist die Disk v”llig unlesbar (auch fr TOS) oder es passiert gar nichts besonderes (die Wege des GEMDOS' sind unergrndlich). - Reservierte Sektoren : Normalerweise einer, n„mlich der Bootsektor. Ich habe jedoch auch schon von Methoden geh”rt, diesen Wert auf zwei zu erh”hen, um zum Beispiel l„ngere Bootprogramme zu installieren. - Max. Directory-Eintr„ge : Hier wird die tats„chlich m”gliche maximale Anzahl von Eintr„gen im Wurzelverzeichnis angegeben. Diese Information wird BERECHNET und nicht aus dem Bootsektor gelesen, da die dort stehenden Daten falsch sein k”nnen. Hyperformatierte Disks haben dort z.B. 63 stehen, obwohl nur maximal 48 m”glich sind... - Sektoren pro Disk : Die Gesamtzahl der physikalischen Sektoren auf der Disk. - Sektoren pro FAT : Im allgemeinen 5, obwohl 3 auch reichen wrden. Hyperformat reduziert diesen Wert Beispielsweise auf 3; das bringt satte 2 Kilobyte mehr Speicherplatz auf der Disk. - Sektoren pro Track : TOS:9, MONOMON-EXFORMAT:10, HYPERFORMAT:11. Eine Erh”hung um einen Sektor pro Track bringt bei einer Doppelseitigen Disk immerhin 80Kb. Bei RAM-Disk etc. natrlich sinnlos. - Seiten pro Disk : Bei RAM-Disk ebenfalls sinnlos. So richtig sinnvoll ist diese Information eigentlich nur bei Disketten, wenn man feststellen will, ob man eine einseitige oder eine doppelseitige drin hat. - Verborgene Sektoren : Eigentlich immer Null. Ich habe es bis heute auch noch nicht geschafft, Sektoren zu verbergen. Ich kann also nicht garantieren, daž das TOS sowas berhaupt untersttzt. Immerhin ist diese Information im BPB vorhanden, und sollte irgendwann mal jemand herausfinden, wie man Sektoren verbirgt, so ist MONOMON schon darauf eingestellt. - Gesamtspeicherplatz : Aus den vorstehenden Daten errechnet MONOMON die theoretische Maximalkapazit„t der Disk. Daž real im Allgemeinen weniger Daten abgespeichert werden k”nnen, liegt daran, daž das TOS fr die Verwaltung der Daten schon ~10 Kb ben”tigt. Aužerdem gehen Pro File 0-1023 Byte Platz verloren, da fr eine Datei IMMER ganze Cluster belegt werden (i.a. 1024 Byte). Man spart also Speicherplatz, indem man entweder ein paar lange Files abspeichert, statt viele kurze; oder darauf achtet, daž die L„nge aller Dateien bei der Division durch 1024 wenn schon nicht garkeinen, dann doch einen m”glichst GROSSEN Rest (am besten >1000) ergibt. - Freier Speicherplatz : Gibt den noch freien Platz auf der Diskette an. Der freie Speicherplatz auf der Disk k”nnte falsch sein. Es k”nnen sich Probleme ergeben, wenn die Disk von einseitig auf doppelseitig gewechselt wurde oder wenn eine einseitige Disk in MONOMON auf doppelseitiges Format gebracht wurde. Die Gemdos-Funktion Dfree($36) funktioniert n„mlich manchmal selbst dann nicht, wenn im Bios-Parameter-Block die richtigen Daten stehen. Das ist ein Fehler des Betriebssystems, der meines Wissens auch im Blitter - Tos nicht behoben wurde. MONOMON gleicht diesen Fehler soweit als m”glich aus, so daž die Angabe des freien Speicherplatzes um nicht mehr als 1 Kilobyte vom Realwert differieren sollte. Aužerdem wurde diese Funktion extrem beschleunigt! Auch von gr”žeren Festplattenpartitionen sollte jetzt der freie Speicherplatz ohne l„ngere Wartezeit (maximal zwei Sekunden) verfgbar sein. Wenn die Info-Seite zu sehen ist, kann man keine MONOMON - Funktion ausl”sen. Ein Mausklick an irgendeine Stelle bringt MONOMON wieder in den normalen Zustand. 4.3 Der DRUCKE - Button ----------------------- Rechts des INFO-Buttons finden Sie den DRUCKE-Button. Durch Anklicken desselben kommen Sie in das Druck-Menue, allerdings nur, wenn Sie einen Drucker Angeschlossen und ON-LINE geschaltet haben. Hier haben Sie nun verschiedene M”glichkeiten: - Sie k”nnen eine beliebige ASCII-Zeichenkette an den Drucker ausgeben. Dazu klicken Sie im ASCII-Feld links einfach die Zeichen an, die Sie ausgeben m”chten. Jedes angeklickte Zeichen wird dabei in einen 30 Byte langen Zeichenpuffer bernommen (rechts oben im Drucke-Menuepunkt). Sollten Sie bei der Eingabe einen Fehler machen, so k”nnen Sie den Zei- chenpuffer durch Anklicken von CLR im Drucke-Menuepunkt l”schen. Wenn Sie die auszugebende Sequenz mit der Maus korrekt zusammengestellt haben (Sie k”nnen natrlich auch die Tastatur benutzen) reicht es, das Drucke-Feld irgendwo aužerhalb von CLR anzuklicken, um sie an den Drucker abzuschicken. Auf diese Weise k”nnen bequem und schnell z.B. FORMFEED's ausgegeben werden. Oder man kann den Zeichensatz des Druckers wechseln, oder die NLQ ein/ausschalten. - Sie k”nnen das Feld "Aktueller Sektor" anklicken. Dann wird der Sektor, dessen Nummer links unten in der POSITION-Box angegeben ist auf dem Drucker ausgegeben. - Sie k”nnen das Feld "Drucker parallel/seriell" anklicken. Daraufhin wird der Pfeil, der den momentan eingestellten Druckertyp angibt zum jeweils anderen Punkt springen. Es ist also m”glich, Drucker zu betreiben, die an der seriellen Schnittstelle angeschlossen sind. Defaultm„žig ist aber die parallele Schnittstelle als Drucker- schnittstelle vorbelegt. Der Laser wird im Moment noch nicht direkt untersttzt, kann aber benutzt werden, wenn Sie den FX 80 - Emulator verwenden und MONOMON auf "parallel" einstellen. - Sollten Sie im aktuellen Sektorpuffer Daten abgelegt haben, so erscheint auch ein Feld "Sektorpuffer" mit der Nummer des Puffers und der Nummer des darin abgelegten Sektors (siehe Erl„rung der SEKTOR-Box in Abschnitt 5.6). Wenn Sie dieses Feld anklicken, wird der Inhalt des jeweiligen Puffers auf dem Drucker ausgegeben. Dies funktioniert allerdings nicht mit unbelegten Puffern, oder solchen, die schon belegt waren, aber gel”scht wurden. 4.4 Der Hex <=> Dez - Button ---------------------------- Der HEX<=>DEZ - Button l”st eine Funktion aus, mit der es m”glich ist, Hexzahlen (Sedezimal) ins Dezimale umzuwandeln und umgekehrt. Mit den Pfeiltasten "hoch" und "runter" kann man dabei zwischen den Eingaben hin und her springen. Die jeweils andere Zeile ist dann Ausgabe und wird mit jedem Tastendruck aktualisiert. Mit verl„át man diese Funktion wieder. (Aber das erkl„rt sich ja alles von selbst...) Entgegen der g„ngigen Praxis erwartet MONOMON alle Eingaben (aužer direkten Žnderungen im Sektor) in DEZIMAL. Dies hat den Vorteil, daž der Programmbenutzer in seinem ihm gewohnten Zahlensystem arbeiten hann. Da aber andererseits viele Angaben in Bchern, auf der Disk etc. in Sedezimal gemacht werden, habe ich diese Funktion eingebaut, um ein problemloses Umrechnen zu erm”glichen. 4.5 Der Chain PRG - Button -------------------------- Mit dem CHAIN PRG - Button kann man direkt von MONOMON aus ein anderes Programm aufrufen, das dann geladen und gestartet wird. Der Unterschied zur FILE - EXEC - Funktion (Abschnitt 5.4) besteht darin, daž MONOMON w„hrend der Ausfhrung eines mit CHAIN PRG aufgerufenen Programms NICHT resident im Speicher bleibt. Man hat in dem aufgerufenen Programm also den gesamten Hauptspeicher zur Verfgung. Beendet man das aufgerufene Programm, so kehrt man nicht zu MONOMON, sondern direkt zum Desktop zurck. Wenn Sie also mit MONOMON gearbeitet haben und im Anschluž daran noch etwas anderes mit einem anderen Programm machen wollen, so k”nnen Sie dieses ohne den Umweg ber das Desktop direkt vom MONOMON aufrufen lassen. Die Bet„tigung dieses Buttons kommt also in der Wirkung der der QUIT - Leiste nahe. Deshalb fragt MONOMON, bevor er in Aktion tritt auch nochmal an, ob Sie ihn wirklich verlassen wollen, und wenn ja, mit welchem Zeichensatz Sie weiterarbeiten wollen. 4.6 Der MAGIC - Button ---------------------- Der MAGIC - Button (ganz rechts oben, noch ber der Drive - Leiste) ver„ndert das letzte Wort eines Sektors so, daž die Quersumme ber alle Worte des Sektors die "Magische Zahl" $1234 ergibt. Dies ben”tigt man z.B. fr Boot- und Rootsektoren, die vom TOS dann und nur dann als ausfhrbar erkannt werden, wenn besagte Quersumme stimmt. MONOMON l„žt dies bei allen Sektoren zu, prinzipiell also auch bei normalen Programm- oder Daten- sektoren. Hiervon m”chte ich allerdings abraten: da durch die Behandlung mit hoher Wahrscheinlichkeit ein Wort des Sektors ge„ndert wird (n„mlich das 256.) kann die Anwendung dieser Funktion in diesen F„llen zu Datenverlusten fhren. Daher ist dieser Button auch ziemlich versteckt angebracht, um ein versehentliches Ausl”sen zu vermeiden. Interessant ist diese Funktion z.B. fr autobootsektoren: Im Original- ATARI-RAM-TOS-Bootsetor ist beispielsweise hinter dem eigentlichen Bootprogramm noch ein wenig Platz. In diesen Platz kann man sich eine kleine Bemerkung schreiben (z.B. mit MONOMON), an der man diesen Booter erkennt. So besteht nicht die Gefahr, ihn mit einem Virus zu verwechseln. Nach der Žnderung stimmt allerdings die Quersumme des Bootsektors nicht mehr und man muž sie erst mit MAGIC wieder hinbiegen, damit er weiterhin funktioniert. 4.7 Der FOLDER - Button ----------------------- Der FOLDER - Button l”st ein eigenes Menue aus, in dem man mit Ordnern (Unterverzeichnissen) bestimmte Dinge anstellen kann. Links sieht man in der Art der Fileselectorbox eine Aufstellung der Ordner (und nur der Ordner) im aktuellen Zugriffspfad. Solange mindestens ein Ordner vorhanden ist, ist immer mindestens ein Ordner angew„hlt. Mit den Kn”pfen auf der rechten Seite haben Sie jetzt folgende M”glichkeiten: - ™FFNEN ”ffnet den gerade angew„hlten Ordner und geht damit eine Stufe tiefer in die Dateihierarchie. - SCHLIESSEN geht wieder eine Stufe hinauf, es sei denn, Sie befinden sich bereits im Wurzelverzeichnis. ™FFNEN und SCHLIESSEN funktionieren nur, wenn auf der aktuellen Disk mindestens EIN Ordner vorhanden ist. - NEUANLEGEN funktioniert hingegen immer. Sie geben einen Ordnernamen ein, klicken bei der Sicherheitsabfrage "Ja" uns schon legt MONOMON im aktuellen Verzeichnis ein neues Unterverzeichnis an. - L™SCHEN geht nur, wenn ein Ordner angew„hlt, also vorhanden ist. Nach einer Sicherheitsabfrage wird der ganze Ordner mitsamt seinem Inhalt gel”scht (entspricht der Desktop-Funktion, nur daž die Namen der Gel”schten DATEIEN w„hrend des Vorgangs ausgegeben werden). - KOPIEREN kopiert den angew„hlten Ordner in ein anderes Verzeichnis/auf eine andere Disk. Es erscheint eine Fileselectorbox, in der Sie bitte nur den Pfad (und eventuell die Disk) einstellen, in den der Ordner kopiert werden soll. W„hrend des Vorgangs werden alle kopierten Dateien angezeigt. - UMBENENNEN funktioniert mit allen TOS-Versionen. Tippen Sie einen neuen Namen fr Ihren Ordner ein, den Rest macht MONOMON. Um dies m”glich zu machen, mssen allerdings einige Verrenkungen auf der Disk angestellt werden. Bei Festplatten geht das im Allgemeinen recht fix, bei Disketten kann das (vor Allem mit Ordnern, die viele Dateien enthalten) schon mal einen Moment dauern. - ABBRUCH steigt wieder aus dem FOLDER - Menue aus. Diese Taste kann auch durch durch Drcken von RETURN angew„hlt werden. 5.) Die Bedienung der Boxen --------------------------- In diesem Kapitel m”chte ich auf die einzelnen Funktionen von MONOMON eingehen, die sich hinter den Auswahlboxen im unteren Bildschirmbereich verbergen. Dabei gehe ich systematisch von links nach rechts vor: 5.1 Die POSITION - Box ---------------------- Die POSITION - Box links unten dient der Auswahl des aktuellen, von MONOMON zu bearbeitenden Sektors. Sie vereinigt in sich mehrere Funktionen. In der Titelzeile finden Sie zun„chst nach dem Einschalten die Abkrzung "REL", dies steht fr "Relativ Mode". Dieser ist der "Normale" Modus fr den Betrieb von MONOMON. Im REL - Modus werden die Sektoren der betrachteten Diskette als lange Kette aufgefasst und relativ zum Sektor 0 (dem Bootsektor) adressiert. Wenn Sie die Buchstaben REL mit der RECHTEN Maustaste anklicken, wechselt MONOMON in den TSS - Modus (-> Abschnitt sechs der Anleitung). Wenn Sie die Buchstaben REL mit der LINKEN Maustaste anklicken, wechselt MONOMON in den MEM - Modus (-> Abschnitt sieben der Anleitung). Diese Anleitung bezieht sich (Mit Ausnahme der Abschnitte sechs und sieben) im allgemeinen auf den REL - Modus. In der Box "Sektor:" steht die Nummer des aktuellen Sektors. Diese korrespondiert immer mit dem im Window gezeigten Sektor (Ausnahmen: Search, Cut+Paste; siehe Abschnitte 5.6 und 5.7). Wenn Sie den "Sektor:" - Button anklicken, so entsteht dort ein Cursor, mit dem Sie einen neuen Sektor eingeben k”nnen, der dann angefahren wird. Wie alle Eingaben in MONOMON so ist auch diese in Dezimal vorzunehmen. Aužerdem k”nnen Sie das Cluster-Feld anklicken. Hier ist normalerweise der Cluster angegeben, in dem man sich gerade befindet. Befindet man sich in KEINEM Cluster, so ist hier der Name des Diskbereichs angegeben (Directory/ FAT/Bootsektor), in dem man sich aufh„lt. Hier kann direkt eine Clusternummer angegeben werden, die dann von Monomon angefahren wird. MONOMON gibt dabei neuerdings alle Zahlen fnf- stellig aus und l„žt auch fnfstellige Eingaben zu, so daž auch Festplat- tenpartitionen mit 16 Megabyte vernnftig bearbeitet werden k”nnen. Die kleinen Pfeile rechts an der POSITION - Box haben die selbe Funktion wie die Pfeilboxen des Sektorschiebers. So braucht man, wenn man gerade das Sektor- oder das Cluster-Feld angeklickt hat, nicht mit der Maus ber den ganzen Bildschirm zu fahren um nur schnell ein paar Sektoren vor- oder zurckzubl„ttern. 5.2 Die GOTO - Box ------------------ Durch Anklicken eines Feldes der GOTO - Box k”nnen Sie einige spezielle Sektoren anfahren, die eine besondere Bedeutung haben und daher immer wieder gebraucht werden. Dies sind folgende: - Bootsek: Der Bootsektor (Normalerweise immer Sektor 0) - Direct : Das Directory (Inhaltsverzeichnis) der Diskette. Normalerweise Sektor 11 einer Disk, bei Hypeformat Sektor 7, bei Festplatten teilweise ber 80. - FAT 1 : Die erste Ausfhrung der File-Allocation-Table. Im allgemeinen ab Sektor 1. - FAT 2 : Die Kopie der File-Allocation-Table. Liegt zwischen der FAT 1 und dem Directory. Hinter den Bezeichnungen dieser Verwaltungsbereiche steht die Nummer des Sektors, in dem sie anfangen, und zu dem man springt, wenn der entsprechende Button angeklickt wird. Benutzen Sie einen dieser Buttons, so wird eine eventuell gerade ge”ffnete Datei geschlossen, bevor der entsprechende Sektor angefahren wird. (-> Abschnitt 5.4) 5.3 Die BOOT - Box ------------------ Genau vier Buttons enth„lt auch die BOOT - Box, die Sie rechts der GOTO - Box finden: Mit "Read" kann der Monitor zu jeder Zeit gezwungen werden, den Bootsektor der aktuellen Diskette zu lesen. Dies kann ntzlich sein, wenn bei ausgeschalteter ADCE (siehe dort) die Disk gewechselt wurde. Das klappt zwar schon recht gut aber leider noch nicht immer, weil die BIOS-Funktion #7 (getbpb) nicht immer ordnungsgem„á arbeitet. Sollte mir in diesem Zusammenhang jemand einen Tip geben k”nnen, wie man das BIOS dazu zwingen kann, die internen FAT-Buffer-Listen wieder freizugeben, w„re ich dankbar. Mit "Check" kann man den Bootsektor testen. Wenn sich im Bootsektor kein intaktes Virus/kein intaktes Bootprogramm befindet oder der Bootsektor nicht ausfhrbar ist, so erh„lt man eine kleine Meldung darber. Befindet sich ein Virus oder ein Bootprogramm im Bootsektor und ist er ausfhrbar, so hat man die M”glichkeit, "L”schen Ja" anzuklicken. Daraufhin wird das mutmaáliche Virus gekillt. Nach diesem L”schvorgang checkt MONOMON den Bootsektor erneut. Sollte der "worst-case" - Fall eintreten, daá sich das Virus bei diesem zweiten Check schon wieder auf der Disk befindet, so heiát das, daá es zur Zeit aktiv ist und sich somit auch auf jede andere Disk schreiben wrde. MONOMON beendet dann die Programmausfhrung nach einer Aufforderung, von einer sauberen (unverseuchten) Disk zu booten. Diese Funktion ersetzt so manches kommerzielle Anti - Virus - Programm. Vor allem fragen diese im Allgemeinen nicht nochmal nach, ob sie einen Bootsektor sterilisieren sollen. Das kann n„mlich fatale Folgen haben, wenn es sich bei der untersuchten Diskette um eine Autobootdisk handelt, also um eine Disk, deren Software durch Drcken der Reset - Taste geladen und gestartet wird. Auch die original TOS - Disk fr die Systeme, die das TOS noch nicht im ROM haben, wrde durch die Behandlung unbrauchbar. Versichern Sie sich also, daž nicht etwa eine solche Disk drinliegt, wenn MONOMON ihnen anbietet, das mutmažliche Virus zu zerst”ren. Den Hirnis, die solchen Mist verzapfen, wnsche ich reichlich zerschossene Disketten, einen alln„chtlichen Stromausfall und viele Programme von Data Becker! Mit "Write" kann auf einfache Weise ein Bootsektor erzeugt werden. Hinter den Bezeichnungen in der Eingabe stehen dabei in Klammern die fr eine doppelseitig EXFORMATierte Diskette gltigen Daten. Dabei habe ich mich auf Funktionen beschr„nkt, mit denen der "Normalanwender" auch etwas anfangen kann, also so Unsinn wie Media-Descriptor (Wird vom TOS derzeit gar nicht beachtet) etc. weggelassen. Wer meint, diese Funktionen zu brauchen (Branch to Bootcode...) der ist wohl auch in der Lage, die Daten direkt in den Bootsektor zu schreiben. Das ist sowieso so eine Sache: Monomon ist dazu gedacht, kaputte Disks/ Files zu reparieren, Fehler zu beheben usw., und NICHT dazu, um irgendwelche geschtzten Programme zu cracken. Ich kann hier nur an Ihre Ehrlichkeit appellieren, denn MONOMON ist mittlerweile ein so m„chtiges Werkzeug geworden, daá man damit einen einfacheren Kopierschutz schon umgehen k”nnte. Die BOOT - Write - Funktion schreibt als Seriennummer eine rein zuf„llige 24 - Bit Zahl in den Bootsektor. Die "Serial" - Funktion schliežlich fragt die Seriennummer Ihrer Disk ab und bietet die M”glichkeit diese zu „ndern. Es kursieren momentan einige Gerchte, die den Fehler des Media-Change-Handlers des TOS mit den Serien- nummern der Disks in Verbindung bringen. Man h”rt, daž das TOS Disketten- wechsel nicht erkennt, wenn zwei Disks die gleiche Seriennummer haben. Obwohl ich mir ber den Wahrheitsgehalt dieser Theorien noch nicht ganz im klaren bin, habe ich diese Funktion eingebeaut. Nach ihrer Aktivierung gibt sie die Seriennummer der aktuellen Disk aus und bietet an, sie durch eine andere, zuf„llige Nummer zu ersetzen. Wenn Sie diese Option annehmen, so „ndert MONOMON die Seriennummer (und NUR diese) im Bootsektor. 5.4 Die FILE - Box ------------------ Wiederum rechts von der BOOT-Box finden Sie die FILE - Box. Mit "Open" k”nnen Sie einem bestimmten File auf der Disk folgen. Im Sektorschieber und in der "Sektor"-Box im POSITION-Menue werden dabei die relativen Sektoren innerhalb des Files angezeigt. Die ge”ffnete Datei wird sozusagen als aktuelles Laufwerk behandelt. Alle Funktionen beziehen sich (soweit sinnvoll) nun auf das ge”ffnete File. "Search" durchsucht also beispielsweise nur noch die betreffende Datei, sonst nichts. Sollten Sie eine Datei ge”ffnet haben, so gibt MONOMON in der linken oberen Ecke des Windows beim Sektor - Modify die Position des Cursors nicht nur relativ zum Sektoranfang, sondern auch relativ zum Dateianfang aus. Da es innerhalb einer Datei natrlich keinen der Sektoren gibt, die von der BOOT- box aus direkt anfahrbar sind, schaltet ein Klick in diese Box automatisch in den normalen Diskbetrieb um. Cluster gibt es innerhalb von Files auch nicht. Daher druckt MONOMON in das Cluster-Feld der POSITION - Box den Namen der gerade ge”ffneten Datei. "Prnt" gibt eine Datei auf dem Drucker aus. Dies entspricht so ziemlich der Desktop-Funktion "Drucke". Allerdings kann man mit "Prnt" auch Dateien ausdrucken, die die Endung .PRG oder .TOS oder .TTP haben (k”nnte ja nur zu Tarnungszwecken dranh„ngen...) und DAS kann der Desktop eben nicht. Mit "Kill" kann man direkt vom Monitor aus beliebige Dateien l”schen. Die Leistungen dieser Funktion gehen jedoch ber die Datei-l”schen- Funktion des Desktops hinaus. Dieser erkl„rt n„mlich einfach einen Directory-Eintrag fr ungltig. Mit einem Diskmonitor (z.B. MONOMON) k”nnen die "gel”schten" Daten aber immer noch von Disk gelesen werden. Deshalb arbeitet diese Funktion in MONOMON anders: Bevor ein Directory- Eintrag mit E5 (å) ungltig gemacht wird, wird jedes einzelne Byte der zu l”schenden Datei mit 00 berschrieben. Gel”schte Dateien sind daher tats„chlich GEL™SCHT, und absolut nicht wiederherstellbar (Datenschutz). Diese Funktion sollte also NOCH vorsichtiger eingesetzt werden als die L”schfunktion des Desktops, da die einzige M”glichkeit, an ein gel”schtes File wieder heranzukommen, die ist, es neu einzutippen. Mit "Read" haben Sie die M”glichkeit, sich Dateien anzuschauen (so „hn- lich wie die Funktion "Anzeige" im Desktop). Im Gegensatz zur entsprechen- den Desktopfunktion kann MONOMON allerdings richtig Zeilen z„hlen. So Ef- fekte wie sie im Desktop auftreten ( daž erst Bildschirmseitenweise K„se angezeigt wird und sich der Rechner dann aufh„ngt...) sollten also eigent- lich nicht auftreten k”nnen. Aužerdem gilt die Ausweitung der Funktion auf bestimmte Extender (.PRG usw), wie auch bei "Prnt" (s.o.). Ansonsten Arbeitet die Funktion wie gewohnt: scrollt eine Zeile weiter, einen ganzen Bildschirm und + bricht die Dar- stellung ab. Die "Exec" - Funktion kann Programme direkt von MONOMON aus ausfhren, nach dem Ende des Programms kehrt man automatisch in den Monitor zurck. Diese Funktion ist geeignet, bei kleinen Rechnern (0.5 MB, TOS im RAM etc.) zu lustigen Abstrzen zu fhren, weil einfach der Speicher nicht ausreicht!! Der RSC - Fehler der Version 1.0 ist behoben! Das heiát, daá man von MONOMON aus jetzt eigentlich jedes Programm starten k”nnen máte, egal wie tief es in welchen Foldern verschachtelt steht. Anstatt "Exec" anzuklicken, k”nnen Sie auch jederzeit die Taste drcken. Das bewirkt so ziemlich das gleiche. Richtig sinnvoll wird diese Option aber erst im Zusammenhang mit der "Inst" - Funktion. Die "Inst" - Funktion kann n„mlich ein Programm fr "Exec" installieren. Wenn Sie den Inst - Button in der FILE - Box anklicken, so erscheint eine Fileselectorbox, in der Sie das auszufhrende Programm ausw„hlen k”nnen. Dieses wird dann installiert, d.h. wenn Sie das n„chste mal "Exec" anklik- ken oder drcken, so wird sofort das installierte Programm aufgeru- fen. Sie k”nnen damit andere Programme quasi als "Erweiterung" von MONOMON betrachten, die mit aufgerufen wird. Sie k”nnen die Installation einer Datei auch auf Disk abspeichern (das ergibt dann eine Datei namens MONOMON.INS). MONOMON sucht beim n„chsten Start nach dieser Datei und in- stalliert das entsprechende Programm automatisch. Selbstverst„ndlich k”nnen Sie Installationen auch l”schen, indem Sie "Inst" nochmal anklicken und in der dann erscheinenden Dialogbox "L”schen" anklicken. Wenn die Installation gel”scht ist, verh„lt sich "Exec" wieder genauso wie gewohnt. "Info" schlieálich liefert ein File-Info („hnlich einem Directory, aber mit zus„tzlicher Angabe von Startcluster und -sektor). Ordner k”nnen ge”ffnet werden, indem man sie einfach anklickt. Aus ge”ffneten Foldern kommt man zurck, indem man den unteren Dummy-Folder (2 Punkte) anklickt. Um diese Funktion zu verlassen muž man nur irgendwo aužerhalb des Windows klicken. Diese Funktion hat noch gewisse Probleme mit Foldern, in denen mehr als 30 Dateien stehen. MONOMON liest aus diesen einfach nur dreižig Eintr„ge aus. Diesen "Fehler" werde ich beheben, sobald mir jemand sagt (schreibt), wie man dem GEMDOS auf legale Weise den Startcluster einer Datei abtrotzen kann. Frhere Monomon-Versionen (mit Null vor dem Komma) hatten hier Schwierigkeiten mit RAM-Disks, weil das TOS nicht mitspielte und den Ramdiskinhalt zerst”rte. Diese Gefahr besteht nun nicht(!!!) mehr. Mit "Copy" haben Sie eine komfortable Filecopy-Funktion fr Einzelfiles. Nach dem Ausl”sen der Funktion erscheint die normale GEM - Fileselectorbox und eine kleine Info - Box darber, in der zun„chst nur "Reading File:" steht. Wenn man eine Datei ausgew„hlt hat liest der Monitor das angegebene File ein und schreibt den Namen ebenfalls in die Info - Box. Sodann mssen Sie einen Dateinamen spezifizieren, der dann hinter "Writing File:" ebenfalls in die Info - Box aufgenommen wird. Unter diesem Namen wird nun die angegebene Datei wieder auf Disk geschrieben. Als Default-Laufwerk fr die Quelldatei nimmt Monomon dabei das aktuelle Drive an, als Default fr die Kopie immer Laufwerk A:. Selbstverst„ndlich k”nnen Files aber auch von beliebigen anderen Laufwerken gelesen bzw. auf sie geschrieben werden. 5.5 Die FORMAT - Box -------------------- Die Funktion, die sich hinter dem "Disk" - Button der FORMAT - Box ver- birgt, kann eine ganze Disk mit bis zu 404/819 Kb (413696/838656 Byte) formatieren. Dieses EXFORMAT erwies sich jedoch als problematisch, da manches Laufwerk Track 83 nicht anfahren kann und manche (minder- qualitative) Diskette Probleme mit den 10 Sektoren hat. Daher habe ich im EXFORMAT-Men dem User fast v”llig freie Hand beim Diskettenformat gelassen: 9 oder 10 Sektoren, 80,81 oder 83 Tracks, einseitiges oder doppelseitiges Format - all diese Parameter sind einstellbar. Wenn Sie im Einstellmenue der FORMAT - Disk - Funktion das Feld ABBRUCH anklicken, kehrt MONOMON in den Ausgangszustand zurck, ohne die eingelegte Diskette zu formatieren. Wenn Sie ein anderes Feld anklicken beginnt sofort der Formatierungsprozež. Sie sollten die zu formatierende Disk deshalb am besten einlegen, wenn Sie das Format - Auswahlfeld im Window sehen. Legen Sie sie frher ein, so wird MONOMON bei eingeschalteter ADCE den Diskettenwechsel registrieren und versuchen, den Bootsektor der neuen Disk zu lesen, was bei einer unformatierten Disk unweigerlich zu einem Lesefehler fhrt. Legen Sie sie sp„ter ein, so hat MONOMON wom”glich schon die ersten paar Tracks der alten Disk formatiert und dabei vielleicht unwiederbringliche Daten gel”scht. MONOMON erstellt nach dem Formatieren automatisch einen Bootsektor, der alle Daten sowie eine zuf„llig gew„hlte Seriennummer enth„lt. Selbstverst„ndlich ist diese Funktion nur fr Physikalisch existierende Floppies gedacht. MONOMON wird also jeden Versuch von sich weisen, eine RAM - Disk zu formatieren (oder ein ROM - Modul oder so...)! Das MONOMON-Exformat war brigens das erste Formatierprogramm berhaupt (zumindest im deutschsprachigen Raum), das Disketten RšCKWŽRTS formatieren konnte. Sollten Sie also aus Versehen eine Disk formatieren, von der Sie nach ein oder zwei geschriebenen Spuren feststellen, daž sie wichtige Daten enth„lt, so k”nnen Sie sie immer noch schnell 'rausnehmen und haben eine gute Chance, daž Sie keinen Datenverlust haben. Wrde die Disk vor- w„rts formatiert, so w„ren die ersten gel”schten Daten ausgerechnet Boot- sektor, FATs und Directory (auweia!). "Tracks" l”st eine Funktion aus, die das Formatieren einzelner Tracks erlaubt. Die zu formatierenden Tracks w„hlen sie auf dem Tracklineal durch Anklicken aus. Dann klicken Sie OK, um die Formatierung zu starten oder ABBRUCH, um die Funktion zu verlassen. Wenn Sie OK geklickt haben, mssen Sie noch ausw„hlen ob die Tracks mit 9 oder 10 Sektoren formatiert werden sollen; dann geht die Formatierung los... Ich rate dringend davon ab, Track 00 mit dieser Funktion zu formatieren! Der Bootsektor wird dabei vernichtet und die FORMAT - Tracks - Funktion legt (im Gegensatz zur FORMAT - Disk - Funktion) keinen neuen Bootsektor an. Sollte Ihnen das trotzdem ausnahmsweise mal passieren, sollten Sie als n„chste Funktion SOFORT "BOOT - Write" ausl”sen. Bei den Fehlermeldungen in den schwarzen K„stchen beim Formatieren habe ich es mir einfach gemacht und gebe nur einfach die original TOS - Fehler- meldungen aus. Beim Formatieren drften aber nur deren drei (vier) Verwen- dung finden: 0 $FF E_OK Eigentlich keine FEHLERmeldung. Heižt: alles klar! -6 $FA ESEEK Track nicht gefunden. Falls man versucht hat, 83 Track mit einem Laufwerk formatieren m”chte, das nur 80 oder 81 schafft. (Floppies die 82 Track schaffen, erreichen erfahrungsgem„á seltsamerweise IMMER auch Track 83!!?) -13 $F3 EWRPRO Schreibschutz aktiviert. -16 $F0 EBADSF Bad sectors. Sektoren wurden als defekt erkannt. Als Abhilfe kann man den entsprechenden Track mit "FORMAT- Tracks" nochmal einzeln formatieren. Sollte auch das nicht zum Erfolg fhren empfehle ich, die Disk lieber nicht zu verwenden. Es gibt Leute, die meinen, solche "Bad sectors" solle man einfach als belegt markieren und den Rest der Disk ganz normal verwenden, aber: Wie stark ist Ihr Vertrauen in eine Disk, die schon beim Formatiern defekt war? 5.6 Die SEKTOR - Box -------------------- Die Funktionen der SEKTOR - Box bieten die M”glichkeit, einzelne Sektoren - aber auch ganze Ketten von ihnen - im Speicher abzulegen und sp„ter auf verschiedene Weise wieder auf Disk zurckzuschreiben. Dabei stehen bis zu 59 Sektorpuffer zur Verfgung. Die Bet„tigung des Cut - Buttons legt den aktuellen (angezeigten) Sektor im n„chsten freien Puffer ab. Direkt unter dem Wort SEKTOR erscheint sodann eine Anzeige der Art XX-YYYY. XX ist dabei die Nummer des Sektorpuffers, in den die Daten abgelegt wurden. YYYY ist die Nummer des Sektors, der in dem betreffenden Puffer abgelegt wurde. MONOMON belegt defaultm„žig zuerst Puffer Nr. 1, dann Nr. 2 und so weiter. Mit den kleinen Pfeiltasten in der SEKTOR - Box k”nnen Sie jedoch in den Puffern vor- und zurckbl„ttern. Sollten Sie dabei auf einen Puffer stožen, in dem noch KEINE Daten abgelegt wurden, so wird als Nummer des abgelegten Sektors eine -1 ausgegeben. Wenn Sie sich alle Puffer angesehen haben, und wieder den aktuellen Disk - Sektor sehen wollen, so klicken Sie einfach auf das Sternchen zwischen den Pfeilboxen; Die Anzeige wird dann wieder auf den "normalen" Betrieb umgestellt. Wenn Sie mit den Pfeilboxen einen Puffer eingestellt haben, der noch KEINE Daten enth„lt, so wird dieser als der n„chste Puffer fr Cut benutzt. Sie k”nnen also (wenn Sie wollen) die Puffer 1-19 unbelegt lassen, vorbl„ttern bis Puffer Nr. 20 und in diesem dann einen Sektor abspeichern. Wenn Sie Cut anklicken, der eingestellte Puffer aber schon Daten ENTHŽLT, so sucht sich MONOMON automatisch einen anderen, n„mlich den n„chsten, in dem noch KEINE Daten abgelegt wurden. Wenn Sie also in einen Puffer, den Sie schon benutzt haben, einen neuen Sektor schreiben wollen, so mssen Sie ihn erst l”schen. Dazu klicken Sie das Feld an, in dem die Nummer des Puffers (und des Sektors) steht. MONOMON fragt dann sicherheitshalber nochmal an, ob der betreffende Puffer tats„chlich gel”scht werden soll und tut dies, wenn Sie "Ja klar" anklicken. Durch Anklicken des Paste - Buttons k”nnen sie den aktuellen Puffer wieder auf die Disk zurckschreiben. Sollte er noch keine Daten enthalten, so macht MONOMON Sie darauf aufmerksam. MONOMON fragt auf jeden Fall nochmal zurck, bevor er einen mit Cut ausgeschnittenen Sektor wieder auf die Disk zurckschreibt. Bedenken Sie bitte, bevor Sie ihr Einverst„ndnis geben, daž in diesem Fall kein UNDO m”glich ist. Wenn Sie also beispielsweise einen Sektor des Directory f„lschlicherweise mit Paste berschreiben, so ist die betreffende Disk mehr oder weniger ruiniert und nur mit mhevoller Kleinarbeit wieder hinzukriegen. (Ein gekillter Sektor in der FAT ist da weniger kritisch, da diese ja ZWEIMAL auf der Disk abgelegt wird. Sollten Sie also einmal Schwierigkeiten mit einem FAT - Sektor haben, k”nnen Sie einfach den entsprechenden Sektor der FAT - Kopie mit Cut ausschneiden und mit Paste an die richtige Stelle der Original - FAT kopieren.) Aužerdem haben Sie die M”glichkeit, durch Anklicken des Write - Buttons den aktuellen Puffer oder (interessanter) ALLE belegten Puffer HINTEREINANDER VERKETTET als Datei auf der Disk abzulegen. So k”nnen Sie bei einem irreversiblen FAT - Fehler wenigstens Ihre Textdateien retten, indem Sie auf der Disk "zu Fuž" ihre Sektoren zusammensuchen, in der richtigen Reihenfolge in den Puffern ablegen und dann wieder zusammenh„ngend als Datei auf einer anderen Disk abspeichern. 5.7 Die SEARCH - Box -------------------- Die Funktionen, die die SEARCH - Box bereith„lt, dienen dazu, eine beliebige Zeichenfolge auf der Disk zu suchen (und hoffentlich zu finden). MONOMON sucht grunds„tzlich ab dem aktuellen Sektor in Richtung h”herer Sektornummern. Nach dem Anklicken von 'Start' fragt Monomon ob man eine HEX-Sequenz oder einen ASCII-String suchen lassen m”chte. Diese(n) muá man sodann eingeben. Die L„nge eines ASCII-Strings ist dabei auf 32 Zeichen begrenzt. Da fr die Eingabe von Hex - Sequenzen die gleiche Dialogbox verwendet wird, ist deren L„nge auf 32 Hex - Digits, also 16 Zeichen Begrenzt. Um sicherzugehen fragt Monomon nochmal nach, wobei die zu suchende Sequenz in jedem Fall in ASCII ausgegeben wird. Schliežlich mssen Sie noch w„hlen, ob der gerade durchsuchte Sektor auf dem Bildschirm ausgege- ben werden soll, dann geht die Suche los. Bei Floppies ist der Zeitgewinn durch das Abschalten der Ausgabe verh„ltnism„žig gering. Bei Festplatten jedoch empfehle ich, die Bildschirmausgabe immer abzuschaten, da sie (ob- wohl sie durch konsequente Assemblerprogrammierung sehr schnell ist) die Suche nur unn”tig bremst. Je nachdem wie Sie gew„hlt haben, wird, w„hrend MONOMON die Disk durch- sucht der gerade durchsuchte Sektor auf dem Bildschirm dargestellt, sei- ne Nummer wird jedoch IMMER direkt unter "SEARCH" angegeben. Der Sektor- schieber rechts und die Angaben "Sektor" bzw. "Cluster" werden allerdings erst dann aktualisiert, wenn die Sequenz gefunden wurde oder der Suchvor- gang durch Anklicken des "Stop" - Buttons in der SEARCH - Box abgebrochen wurde. Das Anklicken des "Weiter"-Feldes veranlasst MONOMON nach der zuletzt eingegebenen Sequenz weiterzusuchen. Der aktuelle Sektor wird in diesem Fall jedoch nicht mehr durchsucht, die Suche geht erst in dem Sektor los, der auf den aktuellen Sektor folgt. Dies dient z.B. dazu, einen Text zu finden, der mehrmals auf der Disk steht. Wenn MONOMON eine Sequenz findet, so aktualisiert er zuerst den Sektor- schieber und die Angaben in der POSITION - Box und geht dann selbstt„tig in den Modify - Modus, wobei der Cursor an der Stelle entsteht, an der die gesuchte Sequenz im Sektor beginnt; und zwar im Hex - Teil des Fensters, wenn Sie nach einer Hex - Sequenz gesucht haben, im anderen Fall im ASCII - Teil des Fensters. Da der Cursor im Datengewirr leicht zu bersehen ist, ist folgender Tip vielleicht ntzlich: Wenn MONOMON seine Suche beendet hat bet„tigen Sie kurz hintereinander die Cursortasten und . Dadurch bewegt sich der Cursor kurz eine Zeile nach oben und dann wieder zurck und diese Bewegung kann wesentlich besser wahrgenommen werden als der stillstehende Cursor. 5.8 Die COPY - Box ------------------ Die COPY - Box enth„lt zwar nur zwei Buttons, die darin verborgenen Funktionen haben es aber in sich. "Sek" erm”glicht das Kopieren von Sektoren. Dabei ist es m”glich, mehr Sektoren zu kopieren, als momentan berhaupt in den Speicher passen. Der zu kopierende Datenblock wird dann in mehrere (m”glichst wenige), m”glichst groáe Bl”cke unterteilt und diese einzeln kopiert. Da dies vollautomatisch geschieht, muá man auáer ein paar Disketten zu wechseln eigentlich gar nichts dabei tun. Zuerst geben Sie Quell- und Ziellaufwek an. Sollten Sie versuchen, Sektoren auf dieselbe Disk zu schreiben, von der sie gelesen wurden so moniert MONOMON dies und bittet um eine extra-Best„tigung. Wenn Sie Sektoren von einer Disk lesen, und sie auf eine ANDERE Disk zurckschreiben wollen, jedoch nur EIN Floppy - Laufwerk besitzen, so geben Sie als Zieldisk trotzdem Disk B an. MONOMON bittet dann automatisch um Diskwechsel: "Bitte Disk B in Floppy A einlegen"... Sodann geben Sie bitte den ersten und den letzten der zu bertragenden Sektoren an. Sollten Sie nur einen Sektor kopieren wollen, so tippen Sie einfach jedesmal die gleiche Sektornummer. Fr die Zieldisk mssen Sie nur den ersten Sektor angeben, da MONOMON die Gesamtzahl der Sektoren (und somit den letzten Sektor auf der Zieldisk) selbst berechnet. Nach der letzten Eingabe fragt MONOMON sicherheitshalber nochmal an, ob alle Daten so richtig sind. Bitte seien Sie an dieser Stelle vorsichtig, da der Kopiervorgang nicht mehr gestoppt werden kann, wenn Sie ihn vorschnell best„tigen sollten. "Disk" macht mehr oder weniger dasselbe wie "Sek", holt sich aber vorher vom Quellaufwerk die Anzahl der Sektoren auf der Disk und kopiert sie alle. Sie brauchen also aužer Ihrer Best„tigung ("Okay so J/N") nicht mehr einzugeben. 6.) Funktionen im Memory - Modus -------------------------------- Durch Anklicken von REL in der Titelzeile der POSITION-Box mit der linken Maustaste gelangen Sie vom REL- (Sektoren relativ-) in den MEM- (Memory-) Modus. In diesem Modus werden Sektoren nicht von irgendeiner Disk gelesen, sondern der Hauptspeicher (RAM) wird sektorweise geladen. (Der Klick mit der rechten Taste, der sonst bei allen Funktionen erlaubt ist, ist hier zum Umschalten in den TSS-Modus reserviert.) In den REL-Modus kommt man zurck, indem man MEM mit der linken Maustaste anklickt. Auáerdem hat man die M”glichkeit, in der Drive-Leiste ein Laufwerk anzuw„hlen (auch das aktuelle), was ebenfalls in den REL- Modus zurckfhrt. Manche Funktionen schalten auch von sich aus zurck. Im Memory-Modus wird der Hauptspeicher Ihres ST in logische Sektoren zu je 512 Byte unterteilt, und zwar je nach Speicherkapazit„t Ihres Rechners in 1024 bis 8192 Stck. Diese logischen Sektoren k”nnen mit MONOMON genauso bearbeitet werden, wie Disk-Sektoren; Search, Cut+Paste, Hex<->Dez usw. funktionieren also wie gewohnt (nur teilweise ein Wenig schneller). Einige Besonderheiten sind jedoch zu beachten: a) CLUSTER gibt es im Speicher natrlich nicht! Statt dessen wird im Clusterfeld der POSITION - Box die absolute Speicheradresse des Sektoranfangs angezeigt. Durch Anklicken dieses Feldes kann man auch eine absolute Speicheradresse angeben, die von MONOMON auf eine logische Sektorgrenze abgerundet wird. b) FAT's, Directory oder Bootsektor gibt es natrlich auch nicht. Das Anklicken eines Feldes der GOTO-Box bewirkt daher bei "Bootsektor" und "Directory" ein Anspringen von Sektor 0 (Adresse 0), bei FAT 1 oder FAT 2 ein Anspringen von Sektor 1 (Adresse 512). c) BOOT - Box: Das Anklicken von "Read" bewirkt so ziemlich gar nichts, das Anklicken von "Write" bewirkt das Gleiche wie das von "Check": Es meldet, daá ein Virus oder Bootprogramm vorhanden, der Bootsektor jedoch nicht ausfhrbar ist. d) FILE - Box: "Exec" und "Kill" arbeiten wie gewohnt; ebenso "Info" und "Read", nur daá letztere von selbst in den REL-Modus zurckschalten bevor sie ihren Dienst tun. e) Die ADCE wird beim Eintritt in den MEM-Modus ausgeschaltet. Verl„sst man diesen Modus, so wird der ursprngliche Zustand wiederhergestellt. f) INFO liefert: Byte pro Sektor:512, Gesamtzahl der Sektoren, Gesamter und freier Speicher. Diese Funktion ist also gut geeignet, wenn man nur 'mal schnell berprfen will, wieviel Hauptspeicher noch frei ist. Alle weiteren Funktionen arbeiten wie vom REL - Modus her gewohnt. Besonders hinweisen m”chte ich auf die M”glichkeit, mit "Cut" einen Sektor aus dem Speicher auszuschneiden und ihn mit "Paste" oder "Write" auf einer Disk abzulegen. 7.) Funktionen im TSS - Modus ----------------------------- Durch Anklicken von REL in der Titelzeile der POSITION-Box mit der RECHTEN Maustaste gelangen Sie vom REL- (Sektoren relativ-) in den TSS- (Track, Side, Sector -) Modus. In diesem Modus werden die Sektoren nicht relativ zum Diskanfang sondern absolut adressiert. Sie k”nnen also direkt angeben, welchen Sektor in welcher Spur auf welcher Seite Sie ansprechen wollen. Um in den TSS - Modus zu gelangen, mssen Sie allerdings eine reale Disk vorliegen haben. MONOMON berprft, ob die Anzahl der Sektoren pro Track oder die Anzahl der Tracks vielleicht Null ist. In diesem Fall w„re ein TSS-Modus n„mlich sinnlos; wahrscheinlich liegt eine RAM-Disk vor. Insbe- sondere ist es nicht m”glich direkt vom MEM- in den TSS-Modus zu schalten. In den REL-Modus kommen Sie zurck, indem Sie TSS mit der rechten Maustaste anklicken. Auáerdem haben Sie die M”glichkeit, in der Drive- Leiste ein Laufwerk anzuw„hlen (auch das aktuelle), was ebenfalls in den REL-Modus zurckfhrt. Manche Funktionen schalten auch von selbst zurck. Diese M”glichkeit der absoluten Adressierung ist intern auch mit einer anderen Methode des Sektorenlesens verbunden. Sollte sich also ein Sektor in einem der Modi nicht lesen lassen, versuchen Sie ruhig 'mal den jeweils anderen. Alle Funktionen von MONOMON arbeiten im TSS-Modus wie vom REL- Modus her gewohnt, bei einigen sind jedoch ein paar Besonderheiten zu beachten: a) Eingabe: Aus bestimmten technischen Grnden erwies es sich als gnstiger, es so einzurichten, daž Track, Seite und Sektor immer nur gemeinsam ge„ndert werden k”nnen. Wenn man eines der drei Anzeigefelder in der POSITION - Box anklickt, erscheint deshalb eine extra Eingabe - Box, in der man Track, Seite und Sektor angeben kann. Hierbei ist zu beachten, daž Tracks ab Null gez„hlt werden (Bei einer EXFORMAT - Disk also 0-82); ebenso die Seiten (0-1). Die Z„hlung der Sektoren beginnt jedoch bei 1, so daž auf einem Track einer EXFORMAT - Disk also Sektor 1-10 adressiert werden k”nnen. Es hindert Sie niemand daran, Sektor 33 auf Seite 5 einer Disk zu adressieren; wundern Sie sich aber bitte nicht, wenn das Ergebnis nicht Ihren Erwartungen entspricht. b) Die kleinen Pfeile in der POSITION - Box rechts und am Sektorschieber sowie ein Drcken der Tasten "+" oder "-" bewirken ein logisches vor- oder zurckbl„ttern wie gehabt. Wenn dabei eine Trackgrenze berschritten wird findet MONOMON automatisch die TSS - Position des n„chsten Sektors. c) BOOT - Box: "Write" macht dasselbe wie "Check". d) FILE - Box: "Exec" und "Kill" arbeiten wie gewohnt; ebenso "Info" und "Read", nur daá letztere von selbst in den REL-Modus zurckschalten bevor sie ihren Dienst tun. e) Die ADCE wird beim Eintritt in den TSS-Modus ausgeschaltet. Verl„sst man diesen Modus, so wird der ursprngliche Zustand wiederhergestellt. f) Die Angaben in den Info - Feldern der SEARCH und der SEKTOR - Box werden in jedem Fall als REL - Daten gemacht. Unabh„ngig davon, daž in der SEARCH - Box "333" steht wird intern jedoch Sektor 1, Seite 1, Track 18 gelesen. 8.) Abschluss ------------- MONOMON wird auf einem 520ST mit 1MB und ROM-TOS entwickelt. Ich benutze eine alte original SF 314 - Floppy und eine MEGAFILE 60 - Platte. Da nur "erlaubte" Systemeinsprnge benutzt werden, sollte er aber auch auf jeder anderen Konfiguration laufen (einen "Mono"-chrommonitor braucht man natrlich schon) also etwa 260ST mit RAM-TOS oder MEGA4 mit Blitter-TOS. Sollten sich bei irgendeiner Konfiguration Probleme mit irgendeiner Funktion ergeben, so bitte ich auch hier um ein gewisses "feedback" um eventuelle Fehler in sp„teren Versionen ausbessern zu k”nnen. Immerhin habe ich mittlerweile den Error - Handler soweit im Griff, daž es eigentlich (hoffentlich...?) nicht mehr zu Abstrzen nach Fehlern kommen sollte. Da bei so manchem, was bei einem Disk-Monitor schieflaufen kann der Bildschirm berschrieben wird, baut MONOMON nach jedem gemeldeten Fehler seine Screen neu auf. Sollte MONOMON eine Fehlermeldung ausspucken, bitte ich darum, daž Sie mir eine genaue Beschreibung des Fehlers, WIE Sie die Fehlermeldung erzeugt haben, sowie die Nummer des Fehlers zusenden, da ich nur in diesem Fall rekonstruieren kann, was schiefgelaufen ist. (Damit ist vor allem Peter aus Mnchen gemeint: sch”n, daž Du die Fehlernummer 32 erzeugen kannst, aber WIE hast Du das GEMACHT? Das ist eigentlich Unm”glich...) Ich wnsche allen MONOMON - Anwendern noch mehr Nutzen von diesem Programm; Keep Hacking... Sven Geier