

         E G O N !    CD-Utilities 3.1.X

         (c) 1997/98 by M.u.C.S.

             M.u.C.S.
             Sacha Roth
             Gustav-Adolf-Strae 11
             D-30167 Hannover

             FON :  +49 (0)511 71 00 599
             FAX :  +49 (0)511 71 00 845


         (p) Peter Hilbring, Nov. 97





        Was steht in der Anleitung ?

          Was ist EGON! ?
          Was kann EGON! ?
          Wie schliee ich ein CD-ROM an meinen ATARI an ?
          Welche CD-ROM Laufwerke kann ich benutzen ?
          Wie installiere ich die EGON! CD-Utilities ?
          Was befindet sich auf der Diskette ?
          Aufbau der CONFIG.SYS Datei
          EGON! fr den Programmierer
            Aufbau der EGON_INFO-Struktur
            Die Parameterbergabe an die Funktionen
            Welche Funktion ist wozu zu gebrauchen ?
          EGON! und MetaDOS
          Anmerkungen


        Was ist EGON! ?

          EGON! ist ein MetaDOS CD-ROM Treiber der auf allen ST Modellen,
          angefangen beim kleinsten ST, bis hin zum TT oder Falcon030
          funktioniert. (Erste Tests am HADES liefen ebenfalls positiv)
          Damit die Installation von EGON! ebenso einfach wie die
          Installation einer Festplatte funktioniert befindet sich auf der
          ORIGINAL-Diskette ein Installationsprogramm (EGONINST.APP).


        Was kann EGON! ?

          EGON! ermglicht es Ihnen auf eine CD in einem angeschlossenen
          CD-ROM Laufwerk genauso zuzugreifen wie auf eine Partition einer
          Festplatte oder eine Diskette. Sie knnen fast alles mit einer
          CD machen was sie auch mit einer "normalen" Festplatte oder
          Diskette machen knnten, ...
          ... nur Schreiben auf eine CD geht leider nicht.


        Wie schliee ich ein CD-ROM an meinem ATARI an ?

          Nichts einfacher als das. Ein CD-ROM Laufwerk wird genau wie
          eine Festplatte mit Ihrem ATARI Computer verbunden. Bei einem
          externen CD-ROM Laufwerk verbinden Sie den Computer mit einem
          ACSI-Interface oder einem SCSI-Kabel mit der entsprechenden
          Buchse des CD Laufwerks. Nun mssen Sie das CD-ROM nur noch mit
          STROM versorgen und es kann losgehen.
          Bei internen Laufwerken wie sie in Towern zum Einsatz kommen
          verfahren Sie ebenso.
          Genauere Informationen entnehmen Sie dem Handbuch des ATARI
          Computers oder der Anleitung zu Ihrem ACSI-Interface.


        Welche CD-ROM Laufwerke kann ich benutzen ?

          Im Prinzip funktioniert jedes SCSI-Laufwerk an Ihrem ATARI.
          Dieses schliet leider die "billig-AT-Bus-Laufwerke" aus, die an
          IBM-kompatiblen PCs benutzt werden knnen.


        Wie installiere ich die EGON! CD-Utilities ?

          Schlieen Sie das CD-ROM Laufwerk, wie oben beschrieben, an
          Ihren Computer an. Nun legen Sie die NICHT schreibgeschtzte
          EGON! Installationsdiskette in Laufwerk A und fhren mit der
          linken Maustaste einen Doppelklick auf das Symbol fr das
          Diskettenlaufwerk A auf dem Desktop aus. In dem sich nun
          "ffnenden Fenster befinden sich mehrere Dateien.
          Suchen Sie nun die Datei EGONINST.APP und starten sie das
          Programm durch einen Doppelklick auf diese Datei.
          Nach wenigen Augenblicken erscheint der erste Benutzerdialog des
          Installationsprogrammes in dem Sie aufgefordert werden ihren
          Namen und ihre Anschrift in die dafr vorgesehenen Felder
          einzutragen. Auerdem sollten Sie noch die Seriennummer, welche
          Sie auf dem Diskettenlabel der ORIGINAL-Diskette finden, in das
          entsprechende Feld eintragen. Bitte gehen Sie bei diesen
          Eintrgen sorgfltig vor und tragen Sie keine Phantasienamen
          oder hnliches ein da Updates nur durchgefhrt werden knnen
          wenn Ihre eingegebenen Daten korrekt sind.
          Sobald alles richtig eingegeben wurde klicken Sie bitte mit der
          LINKEN Maustaste auf den INSTALLIERE... Button.
          Jetzt sehen Sie den zweiten Benutzerdialog des EGON!
          Installationsprogrammes. In diesem Dialog stellen Sie ber
          Popupmenues das Laufwerk ein, auf dem die EGON! CD-Utilities
          installiert werden sollen. Hier sollte man das Laufwerk anwhlen
          von dem aus auch Ihr ATARI Computer gebootet wird. Normalerweise
          ist dies Laufwerk C.
          Als nchstes mssen Sie die Gerteadresse Ihres CD-ROM
          Laufwerkes eintragen. Wie Sie die Gerteadresse Ihres CD-ROM
          Laufwerkes ermitteln knnen entnehmen Sie der Anleitung des
          Laufwerkes. Wichtig ist, da das CD-ROM nicht von Ihrem
          Festplattentreiber angesprochen werden darf. Wenn Sie den
          ATARI-Treiber benutzen lassen Sie eine ID zwischen den
          Festplatten und dem CD-ROM frei. Auf diese Art kann der ATARI
          Treiber das CD Laufwerk nicht mehr finden und ansprechen. Bei
          anderen Treibern entnehmen Sie bitte dem entsprechendem
          Handbuch wie man bestimmte Gerteadresse ausblendet.
          Nun haben Sie die Qual der Wahl unter welchem Buchstaben das
          CD-ROM Laufwerk verwaltet werden soll. So steht A fr das erste
          Diskettenlaufwerk, B fr das zweite, C fr die erste
          Festplattenpartition und so weiter. Es ist zweckmig fr das
          CD-ROM einen Buchstaben zwischen D und P zu benutzen da es
          Programme gibt die auf Laufwerke grer P nicht zugreifen knnen
          (obwohl der EGON!-Treiber Laufwerksbuchstaben bis V verwalten
          kann).
          Als letztes geben Sie bitte den Anschlu an, an dem Sie das
          CD-ROM Laufwerk betreiben mchten. Bei einem ST ist dies der
          ACSI-Port, bei einem Falcon030 der SCSI-Port. Bei einem TT haben
          Sie die freie Auswahl, je nachdem ob Sie das Laufwerk ber ein
          ACSI-Interface oder direkt am SCSI-Bus betreiben mchten.
          Bei der Installation wird auf dem Installationslaufwerk nach dem
          AUTO- und nach dem METADOS-Ordner gesucht und eventuell angelegt.
          In den AUTO-Ordner kopiert das EGON! Installationsprogramm die
          Dateien METADOS.PRG und CONFIG.SYS. In den METADOS-Ordner kommen
          die Gerte- und Dateisystemtreiber ISO9660F.DOS und EGON.BOS.
          Das war auch schon alles. Nun knnen Sie einen Reset
          durchfhren und sich an Ihren neuen CD-ROM erfreuen.


        Was befindet sich auf der Diskette ?

          \EGONINST.APP                  Das Installationsprogramm
          \EGONINST.RSC                  Resourcefile
          \MANUAL.TXT                    Dieser Text
          \READ.ME                       Wenn vorhanden, letzte
                                         Ergnzungen zum Handbuch
          \METADOS\METADOS.PRG           ATARIs Metados Treiber
          \METADOS\CONFIG.SYS            Beispiel CONFIG.SYS Datei
          \METADOS\README.TXT            Readme Text von ATARI
          \METADOS\ISO9669F.DOS          ISO 9660 Dateisystemtreiber
          \METADOS\HSMAY.DOS             High Sierra Dateisystemtreiber
          \METADOS\CDARGEN.BOS           Treiber fr ATARI CDAR-504
          \LIB\METADOS.O                 MetaDOS Library fr Pure C
          \LIB\METADOS.H                 MetaDOS Headerfile
          \LIB\TEST.C                    Beispielsourcen zu der Library
          \LIB\TEST.TOS                  Beispielprogramm
          \LIB\TEST.PRJ                  Projektdatei fr Pure C
          \DEMO\EGONINSD.APP             Demoversion von EGON!
                                         Die Demoversion ist auf eine
                                         Laufzeit von maximal 15 Minuten
                                         beschrnkt.
          \DEMO\EGONINST.RSC             Resourcefile
          \DEMO\CD-EXAM.TTP              Low-Level SCSI Tools
          \DEMO\DVS_CONV.APP             DVS nach AVR/AIFF Konverter
          \DEMO\EGON_DVS.APP             DVS-Player fr F030
          \CPX\EGONLOCK.CPX              CPX zum Verriegeln des CD-ROMs
          \CPX\EGONLOCK.TXT              Anleitung dazu
          \CPX\EGONPLAY.CPX              CPX zum Spielen von Audio-CDs
          \CPX\EGONPLAY.TXT              Anleitung dazu

        Aufbau der CONFIG.SYS Datei

          ;
          ; Config.sys  Beschreibung der Systemkonfiguration.
          ;
          ; Physical Basic operating system format
              ;*BOS, [Physical Bos driver][Arguments],
              ;      [Physical id]:[DMA channel], ...
              ; Device #        meaning
          ;     0 - 7           ACSI device 0 - 7
          ;     8 - 15          SCSI device 0 - 7
          ;
          ; Die folgende Zeile meldet EGON.BOS als ACSI-Gert 4 an
          *BOS, C:\METADOS\EGON.BOS, Y:4
          ;
          ; Logical DOS format. (Dateisystem Treiber)
          ;*DOS  [Logical DOS] [Arguments], [Logical id]:[physical id],...
          ;
          ; Als nchstes wird der EGON_ISO.DOS Treiber auf dem MetaDOS
          ; Gert Y (welches die ACSI-Adresse 4 verwaltet, s.o.) als
          ; GEMDOS Laufwerk P installiert. Wie schon bei der Installation
          ; Erklrt wurde ist es vorteilhaft ein GEMDOS Laufwerk bis
          ; maximal P zu whlen, da einige Programme auf hhere Laufwerke
          ; nicht zugreifen knnen.
          *DOS, C:\METADOS\EGON_ISO.DOS, O:Y
          ;
          ; MetaDOS kann auch Programme automatisch starten.
          ;
          c:\auto\boot\ram512.prg       ; Load in 512 byte ramdisk.
          c:\auto\boot\gdos.prg         ; Load in gdos.
          c:\auto\boot\diab630.prg      ; Load in diablo 630 emulator.
              c:\auto\boot\sdump.prg    ; Load in Screen dump to laser.


        EGON! fr den Programmierer

          EGON! legt bei erfolgreicher Installation einen Cookie an.
          Die Bezeichnung des Cookies ist EGON. Der Cookie zeigt auf eine
          Struktur die Einsprungadressen fr grundlegende Lese- und
          Schreibroutinen enthlt. ber diese Routinen kann man auf
          einfache Art und Weise Daten ber den ACSI- bzw. SCSI-Bus
          bertragen.

          Aufbau der EGON_INFO-Struktur:

             typedef struct
             {
                void *smplscsi;  /* Zeiger auf smplscsi                     */
                void *rcvscsi;   /* Zeiger auf rcvscsi                      */
                void *wrtscsi;   /* Zeiger auf wrtscsi                      */
                void *clrcmdblk; /* Zeiger auf clrcmdblk                    */
                void *cmdblk;    /* Zeiger auf cmdblk                       */
                UBYTE *info;     /* Zeiger auf Versionsstring               */
                int  id;         /* Adresse des CD-ROM Laufwerks            */
                int  log_drv;    /* Logische Metados Laufwerks ID           */
                int  cd_typ;     /* Hersteller des CD-ROMs                  */
                                 /* -1 = Standard CD-ROM                    */
                                 /*  0 = ATARI CDAR 502/504                 */
                                 /*  1 = Toshiba CD-ROM                     */
                                 /*  2 = Apple CD150 / Sony 8002 / Pioneer  */
                                 /*  3 = Apple CD300 / Sony 8003 / Sony 561 */
                int  dma_typ;    /*  0 = Normaler Adapter                   */
                                 /*  1 = ICD Adapter                        */
                                 /*  2 = c't Alia Adapter                   */
                int  port;       /*  0 = CD-ROM am DMA Port                 */
                                 /*  1 = CD-ROM am SCSI Port                */
             } EGON_INFO;

          Zustzlich gibt es zwei weitere Struktur-Eintrge, die allerdings
          einen negativen Offset haben.

             Offset  -4:  4 Byte Magic-Word 0x45474f4e
             Offset -24: 20 Byte Zeichenkette "EGON! CD-Utilities",0,0

          Die Parameterbergabe an die Funktionen

             * smplscsi
                  D0.W : SCSI Unit Nummer (0-15)
                  D1.L : Gre des bertragungsbuffers in Bytes
                  D2.W : SCSI Befehlslnge (cmdblk) in Bytes
                  A0.L : Adresse des bertragungsbuffers

                  Nach Beendigung der Funktion steht in D0.W ein
                  Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI
                  Fehler hin, der mit dem SCSI Befehl REQUEST SENSE nher
                  untersucht werden kann. Bei einem Wert von 0 ist die
                  Funktion ohne Fehler beendet worden.

             * rcvscsi
                  D0.W : SCSI Unit Nummer (0-15)
                  D1.L : Gre des bertragungsbuffers in Bytes
                  D2.W : SCSI Befehlslnge (cmdblk) in Bytes
                  A0.L : Adresse des bertragungsbuffers

                  Nach Beendigung der Funktion steht in D0.W ein
                  Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI
                  Fehler hin, der mit dem SCSI Befehl REQUEST SENSE nher
                  untersucht werden kann. Bei einem Wert von 0 ist die
                  Funktion ohne Fehler beendet worden.

             * wrtscsi
                  D0.W : SCSI Unit Nummer (0-7)
                  D1.L : Gre des bertragungsbuffers in Bytes
                  D2.W : SCSI Befehlslnge (cmdblk) in Bytes
                  A0.L : Adresse des bertragungsbuffers

                  Nach Beendigung der Funktion steht in D0.W ein
                  Rckgabewert. Ein Wert ungleich 0 deutet auf einen SCSI
                  Fehler hin, der mit dem SCSI Befehl REQUEST SENSE nher
                  untersucht werden kann. Bei einem Wert von 0 ist die
                  Funktion ohne Fehler beendet worden.

             * clrcmdblk
                  A0.L : Zeiger auf eigenen cmdblk.

                  Es gibt keinen Rckgabewert.


          Welche Funktion ist wozu zu gebrauchen

             * smplscsi
                  Diese Funktion dient zum Verschicken von einfachen SCSI
                  Befehlen (ohne zustzliche Daten) wie TEST UNIT READ
                  oder START UNIT.

             * rcvscsi
                  Diese Funktion dient zur Datenbertragung vom CD-ROM zum
                  Rechner. Die Daten werden in einem bertragungsbuffer
                  zurckgeliefert. Ein typischer SCSI Befehl fr die
                  Funktion ist READ.

             * wrtscsi
                  Diese Funktion dient zur Datenbertragung zwischen
                  Rechner und CD-ROM. Da man aber auf ein CD-ROM nicht
                  schreiben kann ist eine sinnvolle Verwendung fr diese
                  Funktion nur in der Konfiguration von CD-ROMs mittels
                  des SCSI Befehle MODE SELECT zu sehen.

             * clrcmdblk
                  Diese Funktion lscht den treiberinternen cmdblk. Ein
                  lokaler Kommandobuffer wird von dieser Funktion nicht
                  verndert. Es ist allerdings wichtig da man nach jedem
                  Lschen des lokalen Kommandobuffers die Funktion
                  clrcmdblk aufruft um so "rtselhafte Phnomene" beim
                  Betrieb des Treibers zu vermeiden.


        EGON! und MetaDOS

          EGON! installiert sich mit Hilfe das ATARI
          MetaDOS-Treiberpaketes. Auf diese Art stehen dem Programmierer
          somit auch die MetaDOS-XBIOS-Funktionen 48 bis 63 zur Verfgung.
          Fr diesen Zweck befindet sich auf der Diskette eine
          MetaDOS-Library. Diese Library erfllt die Pure-C
          Aufrufkonventionen und befindet sich im LIB-Ordner der
          ORIGINALDISKETTE.

             Welche Funktionen gibt es in der Library und dem zugehrigem
             Headerfile METADOS.H ?

                typedef struct
                {
                   ULONG drivemap; /* Tabelle mit Bits fr die MetaDOS
                                          Gertetreiber "A.."Z" (Bit 0: "A") */
                   char *version;       /* Zeichenkette mit Namen und
                                       Versionsnummer von Meta-DOS */
                   LONG  reserved[2];
                } METAINFO;

             int Metainit (METAINFO *buffer);
             int Metaopen (int drive, char *buffer);
             int Metaclose (int drive);
             int Metaread (int drive, char *buffer, long block,
                           int count);
             int Metawrite (int drive, char *buffer,
                            long block, int count);
             int Metaseek (int drive, long block);
             int Metastatus (int drive);
             int Metaioctl (int drive, long magic,
                            int opcode, char *buffer);
             int Metastartaudio (int drive, int flag, char *buffer);
             int Metastopaudio (int drive);
             int Metasetsongtime (int drive, int repeat,
                                  long start, long end);
             int Metagettoc (int drive, int flag, char *buffer);
             int Metadiscinfo (int drive, char *buffer);
             int Metagetdriveno (long drivemap);

             Aufruf- und bergabeparameter:

                Metasetsongtime erwartet START und END im Format welches
                                von Metagettoc zurckgeliefert wird. REPEAT
                                wird nicht benutzt.
                Metaopen        In BUFFER sind ein Zeiger auf den
                                Versionsstring des BOS Treibers und 3
                                Null-Zeiger enthalten.
                Metastartaudio  BUFFER[0].B = Anzahl zu spielender
                                                  Tracks (normalerweise 1)
                                    BUFFER[1].B = Track
                                    FLAG mu 0 sein.
                    Metagettoc      BUFFER[0].B = Track Nr.
                                    BUFFER[1].B bis BUFFER[3].B = Spielzeit
                                    im BCD-Format. Beispiel: $26 $19 $60 heit
                                26min 19sec 60/75tel Sekunden.
                                Dieses Format wird von Metasetsongtime
                                    als Eingabe akzeptiert.
                                    FLAG mu 0 sein.
                    Metadiskinfo    BUFFER[0].B = 0
                                    BUFFER[1].B  = First Track No.
                                    BUFFER[2].B  = Last Track No.
                                    BUFFER[3].B = Track No.
                                    BUFFER[4].L  = Track relativ CD-ROM
                                                   Address
                                    BUFFER[8].L  = Absolute CD-ROM
                                               Address
                                BUFFER[12].L = End of CD absolute CD-ROM
                                                   Address
                                    BUFFER[16].B = Index No.
                                    Alle Daten liegen im BCD-Code vor.


            Anmerkungen

              ATARI, MetaDOS, GEMDOS, XBIOS ST, TT und Falcon030 sind
              Warenzeichen der Firma ATARI Computer.

              Das Installationsprogramm entstand unter Zuhilfenahme der
              EnhancedGEM-LIBRARY von Christian Grunenberg.
