home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / MGX3FCR3.LZH / wiegehts.txt < prev   
Text File  |  1995-07-13  |  31KB  |  645 lines

  1.     MagiC 3.0x auf dem Falcon030, dritter Anlauf - Stand: 13.07.1995
  2.     ----------------------------------------------------------------
  3.  
  4.  
  5.     1. Vorwort
  6.     ----------
  7.  
  8.     1.1. ... zum ersten Release
  9.     ---------------------------
  10.  
  11.     Die Version dieses "Hacks" für MagiC 2 dürfte ja inzwischen einigen
  12.     bekannt sein, da jedoch mittlerweile viele nur noch ein Interesse an 
  13.     der Benutzung von MagiC 3 auf dem Falcon haben, habe ich den Hack jetzt 
  14.     auch daran angepa₧t. Die Vorgehensweise ist dabei fast identisch, 
  15.     ebenso wie dieser Text. Ich habe mich jedoch entschlossen, ein 
  16.     separates Archiv zu nehmen, um umständliche Satzkonstruktionen wie 
  17.     "Wenn man MagiC 2 hat, mu₧ man jetzt... Aber nicht mit MagiC 3, da mu₧ 
  18.     man..." zu vermeiden und Verwechslungen vorzubeugen.
  19.  
  20.     Gleich vorweg: ich kann keinerlei Garantie für die korrekte Funktion 
  21.     dieses "Hacks" geben, deshalb sollte jedem klar sein, da₧ er dies alles 
  22.     auf *eigene Gefahr* durchführt (dies gilt insbesondere für die 
  23.     beschriebenen Patches für MAGIC.RAM). Ich übernehme also auch keine 
  24.     Haftung für Schäden, die direkt oder indirekt durch die Ausführung des 
  25.     hier Beschriebenen oder die Benutzung der im Archiv enthaltenen 
  26.     Programme entstanden sind ("indirekt" schlie₧t hier ausdrücklich auch 
  27.     Auswirkungen ein, die durch spätere Benutzung des "gehackten" MagiC 
  28.     aufgetreten sind).
  29.  
  30.     Die Veröffentlichung dieses Hacks für MagiC 3 ist nicht direkt mit ASH 
  31.     abgesprochen, aber da man nichts gegen die Veröffentlichung der Version 
  32.     für MagiC 2 einzuwenden hat, gehe ich davon aus, da₧ auch hier keine 
  33.     Einwände bestehen. Letzlich gäbe es auch nichts, weswegen man es mir 
  34.     verbieten könnte, da alle in diesem Archiv enthaltenen Programme mein 
  35.     Copyright tragen...
  36.  
  37.     Bevor man sich in übergro₧er Erwartung auf den Durchführungsteil 
  38.     stürzt, sollte man sich zunächst Abschnitt 5 über die Einschränkungen 
  39.     durchlesen und danach gut überlegen, ob man es trotzdem versuchen will.
  40.  
  41.     Ach ja, falls es jemand noch nicht gemerkt haben sollte: Dieser Hack 
  42.     ist für MagiC _3.0x_ gedacht, für MagiC 2 existiert ein separates 
  43.     Archiv mit dem Namen MGX2FCR3.LZH.
  44.  
  45.     Au₧erdem bitte ich darum, meine Mühe durch Geld- oder Sachspenden zu 
  46.     honorieren (Details in Abschnitt 8). Für die Arbeit, die in diesem Hack 
  47.     für MagiC 3 steckt (es ist natürlich in weiten Teilen die Arbeit, die 
  48.     für den Hack für MagiC 2 nötig war), hätte ein professioneller 
  49.     Programmierer sicherlich gut kassiert, und deswegen wäre es nur fair, 
  50.     mir wenigstens eine kleine Anerkennung zukommen zu lassen, zumal ich 
  51.     von ASH sicherlich nichts zu erwarten habe...
  52.  
  53.  
  54.     1.2. ... zum zweiten Release
  55.     ----------------------------
  56.  
  57.     Oh, oh, da hat sich doch ein böses Versäumnis eingeschlichen: Bei der 
  58.     zweiten Patchvariante zur Vorbereitung höherer Auflösungen (kurz: 
  59.     Videopatch) wird nach einer Bytefolge gesucht, die eine Systemvariable 
  60.     von MagiC beinhaltet. Dummerweise hatte ich vergessen, da₧ sie bei 
  61.     MagiC 3 an einer anderen Adresse liegt und daher natürlich auch nach 
  62.     einer anderen Bytefolge gesucht werden mu₧. Also ist dieser 
  63.     Patchversuch bei jedem, der ihn an einer MAGIC.RAM von MagiC 3 
  64.     durchführen wollte, zwangsweise fehlgeschlagen. Sorry, da₧ hatte ich 
  65.     ganz einfach übersehen... Wer den Patch jetzt nachholen will, sollte 
  66.     unter 3.2.1. nachschauen, da ist jetzt die richtige zu suchende 
  67.     Bytefolge angegeben.
  68.  
  69.  
  70.     1.3. ... zum dritten Release
  71.     ----------------------------
  72.  
  73.     Leider mu₧te ich feststellen, da₧ ein bsr.w-Befehl in MAGIC.RAM, der in 
  74.     der für den Patch aus Abschnitt 3.2.4. zu suchenden Bytefolge enthalten 
  75.     ist, je nach Version von MagiC 3 einen anderen Offset hat. Daher war 
  76.     die bisher angegebene Folge nur in einer bestimmten MagiC-3-Version (es 
  77.     mü₧te die vom 03.04.1995 gewesen sein) zu finden. Vielen Dank an dieser 
  78.     Stelle an Stefan Marion, der mich durch seine Anfrage mit 
  79.     anschlie₧endem Test auf dieses Versäumnis aufmerksam gemacht hat.
  80.  
  81.     Glücklicherweise ist der betroffene bsr.w-Befehl zur eindeutigen 
  82.     Lokalisierung der zu patchenden Stelle nicht nötig, daher ist er jetzt 
  83.     nicht mehr in der zu suchenden Folge vorhanden.
  84.  
  85.  
  86.     2. Unterschiede zum Hack für MagiC 2
  87.     ------------------------------------
  88.  
  89.     Für den Interessierten hier eine kurze Beschreibung, was die Version 
  90.     für MagiC 3 von der für MagiC 2 unterscheidet:
  91.  
  92.     - In MGFPATCH.PRG mu₧te die zu ändernde MagiC-interne Systemvariable, 
  93.       die die Erkennung von DD-Disketten ermöglicht, angepa₧t werden
  94.     - Ein weiterer Patch an MAGIC.RAM ist nötig geworden, da der Kernel, 
  95.       wenn sich nach dem Ausführen des Bootsektors der Vektor hdv_rw 
  96.       geändert hat (und genau das ist ja beim FixMe-Bootsektor der Fall, da 
  97.       er den Plattentreiber startet), eine Routine _nicht_ ausführt, die, 
  98.       soweit ich das beim ersten Überfliegen gemerkt habe, wichtig für das 
  99.       weitere Speichermanagement ist. Das führt leider dazu, da₧ MagiC 3 
  100.       nach dem Bootsektor sofort abstürzt. Der neue Patch verhindert das.
  101.     - MagiC 3 stellt zwar den GEMDOS-Call Srealloc zur Verfügung, den 
  102.       BlowUP bzw. Screenblaster benötigen, um Speicher für den Bildschirm 
  103.       anzufordern, aber leider hat sich gezeigt, da₧ dies zumindest mit 
  104.       BlowUP irgendwie nicht klappt (Srealloc liefert 0 zurück, obwohl 
  105.       eigentlich genug Speicher frei ist). Daher habe ich MGFVIDEO.PRG 
  106.       unverändert gelassen, was zwar unter Umständen zu einem gewissen 
  107.       Speicherverlust führt, der sich aber in der Regel verkraften lassen 
  108.       sollte.
  109.     - Für die zweite Variante des "Videopatchs" (siehe 3.2.1.) mu₧ nach 
  110.       einer geringfügig anderen Bytefolge gesucht werden, die jedoch mit 
  111.       den gleichen neuen Werten überschrieben werden mu₧.
  112.  
  113.  
  114.     3. Was ist zu tun?
  115.     -------------------
  116.  
  117.     Ich erkläre hier das Vorgehen schrittweise: Die Installation von MagiC 
  118.     und der Zusatzprogramme auf Festplatte, die nötigen Patches für 
  119.     MAGIC.RAM, Vorbereitungen für höhere Auflösungen, Erzeugen des FixMe-
  120.     Bootsektors und eventuelle zusätzliche Schritte.
  121.  
  122.  
  123.     3.1. Installation von MagiC und den Zusatzprogrammen
  124.     ----------------------------------------------------
  125.  
  126.     Der erste Schritt ist es, den Falcon in ST-Mittel booten zu lassen, was 
  127.     sich leicht mit einem der vielen NV-Ram-Konfigurationstools erreichen 
  128.     lä₧t. Dabei darauf achten, da₧ man wirklich den Kompatibilitätsmodus 
  129.     mit 640x200 in 4 Farben gewählt hat und nicht versehentlich 640x240 in 
  130.     4 Farben. Wer den Falcon nur am SM124 betreibt, braucht sich hierüber 
  131.     natürlich keine Sorgen zu machen... Wer das nicht möchte, weil ST-
  132.     Mittel auf einem VGA-Monitor einfach nur grausam aussieht, kann 
  133.     alternativ dazu das Miniprogramm STMED.PRG in den Auto-Ordner kopieren, 
  134.     dazu gleich.
  135.  
  136.     Man installiert MagiC ganz einfach mit dem Installationsprogramm auf 
  137.     der Bootpartition (also in der Regel C:), wobei als Bootauflösung 
  138.     "Default" zu wählen ist. Anschlie₧end sollte man MAGXBOOT.PRG mit einem 
  139.     geeigneten Utility (z.B. XBoot oder DirSort) möglichst weit an den 
  140.     physikalischen Anfang des Auto-Ordners verschieben (am besten direkt 
  141.     hinter den eventuell vorhandenen Bootwähler). Wer, wie oben 
  142.     beschrieben, STMED.PRG statt der Umkonfiguration des Falcons benutzen 
  143.     möchte, mu₧ es jetzt direkt vor MAGXBOOT.PRG schieben, sonst wird beim 
  144.     Booten von MagiC in einen unsinnigen (u.U. sogar für den Monitor 
  145.     gefährlichen) Videomodus geschaltet.
  146.  
  147.     Als nächstes wird das Programm MGFPATCH.PRG aus diesem Archiv in den 
  148.     Auto-Ordner der Bootpartition kopiert, und zwar möglichst direkt 
  149.     hinter MAGXBOOT.PRG.
  150.  
  151.     Wer nicht nur in ST-Mittel arbeiten möchte, mu₧ als nächsten Schritt 
  152.     das Programm MGFVIDEO.PRG in den Auto-Ordner kopieren, und zwar 
  153.     physikalisch _vor_ ein vorhandenes NVDI. Weitere Ausführungen dazu 
  154.     unter Abschnitt 3.3.
  155.  
  156.     Als letztes Zusatzprogramm mu₧ noch MGFSNDFX.PRG in den Auto-Ordner 
  157.     kopiert werden, wobei hier die Position innerhalb des Ordners 
  158.     unerheblich ist.
  159.  
  160.  
  161.     3.2. Nötige Patches für MAGIC.RAM
  162.     ---------------------------------
  163.  
  164.     Für den Betrieb am Falcon sind ein paar Änderungen an der Datei 
  165.     MAGIC.RAM nötig. Da es verschiedene Versionen dieser Datei gibt, mu₧ 
  166.     die Änderung über Suchen und Ersetzen von Bytefolgen geschehen, da die 
  167.     Offsets von Version zu Version unterschiedlich sind. Sollte eine der 
  168.     Bytefolgen nicht zu finden sein (unwahrscheinlich), lä₧t sich der 
  169.     jeweilige Patch nicht durchführen, was leider dazu führt, da₧ dieses 
  170.     MagiC nicht oder nur eingeschränkt auf dem Falcon benutzt werden kann.
  171.  
  172.     Ebenso gilt: Ist die angegebene zu suchende Bytefolge in MAGIC.RAM mehr 
  173.     als einmal vorhanden, kann nicht eindeutig gepatcht werden, womit ein 
  174.     Betrieb am Falcon auch unmöglich oder zumindest stark eingeschränkt 
  175.     wird. Allerdings ist dies ebenfalls sehr unwahrscheinlich, sei aber 
  176.     sicherheitshalber erwähnt.
  177.  
  178.     Zum Patchen nimmt man am besten ein Disktool, das in einer Datei nach 
  179.     Bytefolgen suchen kann und dann auch Änderungen zulä₧t, oder einen 
  180.     Debugger. Als Disktool sei Diskus genannt, als Debugger eignen sich 
  181.     Peacebug oder Bugaboo (wobei man MAGIC.RAM per LOAD und nicht mit 
  182.     LEXECUTE laden mu₧!)
  183.  
  184.     Die prinzipielle Vorgehensweise ist einfach: Es mu₧ eine gegebene Byte- 
  185.     bzw. Wortfolge gesucht und danach ganz oder teilweise geändert werden. 
  186.     Beim Patch aus 3.2.2. mu₧ dabei aufgepa₧t werden, denn es mu₧ nach 4 
  187.     Worten gesucht, ab der Fundstelle aber 24 Worte ersetzt werden. In 
  188.     diesem Fall müssen also nicht nur die 4 gefundenen, sondern auch die 20 
  189.     nach der gesuchten Folge stehenden Wörter durch neue ersetzt werden.
  190.  
  191.     Bevor man munter drauflospatcht sollte man erstmal eine Kopie der Datei 
  192.     MAGIC.RAM anlegen, damit man, falls etwas schiefläuft, nicht gleich neu 
  193.     installieren mu₧.
  194.  
  195.     Selbstverständlich darf die so gepatchte MAGIC.RAM auch nur noch am 
  196.     Falcon betrieben werden!
  197.  
  198.  
  199.     3.2.1. Vorbereitung höherer Auflösungen und des Betriebs am SM124
  200.     -----------------------------------------------------------------
  201.  
  202.     Diese beiden Patches werden nur dann benötigt, wenn man MagiC mit dem 
  203.     SM124 oder, bei den anderen Monitortypen, nicht nur in ST-Mittel 
  204.     benutzen will. Es gibt dafür zwei verschiedene Möglichkeiten, man mu₧ 
  205.     sich für eine entscheiden, da beide zusammen unsinnig sind (Variante 2 
  206.     beinhaltet praktisch Variante 1).
  207.  
  208.     Variante 1:
  209.     -----------
  210.  
  211.     Dieser einfache Patch sorgt dafür, da₧ beim Erkennen eines 
  212.     Auflösungswechsels kein Reset mehr durchgeführt wird. Am SM124 werden 
  213.     wegen eines Unterschieds in einem Hardwareregister ständig 
  214.     Auflösungswechsel erkannt, bei den restlichen Monitortypen dann, wenn 
  215.     auf eine andere Auflösung als ST-Niedrig oder ST-Mittel umgeschaltet 
  216.     wird. Nachteil: STE-DMA-Sound kann mit diesem Patch nur am SM124 
  217.     benutzt werden (auch hier wegen eines Unterschieds in einem 
  218.     Hardwareregister), da sonst beim ersten gespielten Samplewert direkt 
  219.     auf ST-Hoch (und zwar mit den echten ST-Synchronisationswerten!) 
  220.     umgeschaltet wird.
  221.  
  222.     In MAGIC.RAM die Bytefolge 0x6010, 0x4a01, 0x6a1a suchen und 0x6a1a 
  223.     durch 0x601a ersetzen.
  224.  
  225.     Variante 2:
  226.     -----------
  227.  
  228.     Dieser etwas umfangreichere (und auch riskantere) Patch entfernt die 
  229.     komplette Auflösungserkennung aus der VBL-Routine von MagiC und sorgt 
  230.     so dafür, da₧ kein Reset mehr durchgeführt wird _und_ DMA-Sounds mit 
  231.     allen Monitortypen gespielt werden können. Nachteil: Es wird ein 
  232.     Sprungbefehl neu erzeugt, und es ist nicht garantiert, da₧ dieser bei 
  233.     allen Versionen von MAGIC.RAM auch das richtige Ziel trifft.
  234.  
  235.     In MAGIC.RAM die Bytefolge 0x4a38, 0x0c6a, 0x676a suchen und die ersten 
  236.     beiden Werte durch 0x6000, 0x00a6 ersetzen.
  237.  
  238.  
  239.     3.2.2. Anpassung der Disk-Schreibroutinen
  240.     -----------------------------------------
  241.  
  242.     Die Steuerung des Diskettenlaufwerks erfolgt beim Falcon geringfügig 
  243.     anders als beim TT, daher stürzen Programme, die direkt die Hardware 
  244.     ansprechen, beim Schreiben mit zwei Bomben ab, also auch der MagiC-
  245.     Kernel. Der folgende Patch quetscht die beim Falcon nötige Bittest-
  246.     Schleife in die MagiC-Diskroutinen, wobei eine Abfrage auf >= 68030 
  247.     herausfällt, was beim Falcon aber nicht von Bedeutung ist. Vielen Dank 
  248.     an dieser Stelle an Uwe Seimet, der mir den genannten Unterschied 
  249.     zwischen TT und Falcon erklärt hat.
  250.  
  251.     Für diesen Patch folgende Bytefolge suchen: 0x611e, 0x31c6, 0x8604, 
  252.     0x4e75. Ab der Fundposition (inklusive!) folgende Werte einsetzen 
  253.     (nicht einfügen, auch wenn es mehr Bytes sind, nur überschreiben!):
  254.     0x6126, 0x31c6, 0x8604, 0x6018, 0x611e, 0x31c7, 0x8604, 0x6010,
  255.     0x6116, 0x3e38, 0x8604, 0x4e75, 0x610e, 0x3038, 0x8604, 0x4e75,
  256.     0x0838, 0x0003, 0x860f, 0x66f8, 0x48e7, 0xc000, 0x4e7a, 0x0002.
  257.  
  258.  
  259.     3.2.3. Vorbereitung für Warmstarts per Tastatur
  260.     -----------------------------------------------
  261.  
  262.     Normalerweise stürzt MagiC beim Versuch, mit CTRL-ALT-DEL einen 
  263.     Warmstart auszulösen, wunderschön ab. Gleiches gilt für 
  264.     Auflösungswechsel aus Thing oder Ease heraus. Da sich das Problem nicht 
  265.     alleine durch eine zusätzlich eingehängte Resetroutine lösen lä₧t (was 
  266.     von MGFPATCH.PRG gemacht wird, dazu später), mu₧ die Warmstartroutine 
  267.     von MagiC durch einen Aufruf der "echten" Warmstartroutine des TOS 
  268.     ersetzt werden (MagiC geht dabei nicht verloren, weil es sich ja im 
  269.     Resetvektor eingenistet hat).
  270.  
  271.     In MAGIC.RAM die Bytefolge 0x4238, 0x0426, 0x46fc, 0x2700, 0x0c78 
  272.     suchen und die letzten drei Werte durch 0x2078, 0x0004, 0x4ed0 ersetzen.
  273.  
  274.  
  275.     3.2.4. Ermöglichen des Bootens von Festplatte
  276.     ---------------------------------------------
  277.  
  278.     Wie ich schon ich Abschnitt 2 beschrieben habe, ist bei MagiC 3 neben 
  279.     dem FixMe-Bootsektor noch ein Patch an MAGIC.RAM nötig, um von 
  280.     Festplatte booten zu können. Dazu die Bytefolge 0x205f, 0xb1f8, 0x0476, 
  281.     0x660a suchen und 0x660a durch 0x6604 ersetzen.
  282.  
  283.  
  284.     3.3. Benutzung höherer Auflösungen
  285.     ----------------------------------
  286.  
  287.     Wer MagiC 3 am Falcon nicht nur in ST-Mittel betreiben will, mu₧ 
  288.     weitere Vorbereitungen treffen. Eines ist dabei ganz wichtig: Die 
  289.     beschriebene Datei MGFVIDEO.INF mu₧ immer mit einem CR/LF oder LF 
  290.     beendet werden, darf also nicht direkt mit einer Zahl enden!
  291.  
  292.     Darüberhinaus ist zu beachten, da₧ man immer XControl mit Farb-CPX 
  293.     geladen haben sollte, da sonst die Standardfarben nicht stimmen.
  294.  
  295.     3.3.1. Ohne NVDI
  296.     ----------------
  297.  
  298.     Wer kein NVDI hat, kann leider nur 640x400x2 (ST-Hoch) realisieren, 
  299.     aber das ist ja auch besser als nichts... Hierzu im Wurzelverzeichnis 
  300.     des Bootlaufwerks oder im Auto-Ordner die Datei MGFVIDEO.INF anlegen 
  301.     und ihr folgenden Inhalt geben:
  302.  
  303.     1:32768
  304.  
  305.     Mehr ist nicht zu tun.
  306.  
  307.  
  308.     3.3.2. Mit NVDI und Screenblaster/BlowUP
  309.     ----------------------------------------
  310.  
  311.     Mit dem Screenblaster I/II lassen sich in den Farbtiefen 2, 4 und 16 
  312.     höhere Auflösungen benutzen, mit BlowUP nur in 2 und 16 Farben. Die 
  313.     Benutzung der Screenblaster-III-Software ist leider nicht möglich. 
  314.     Vielleicht geht es, wenn man in der MAGX.INF #_DEV 5 einträgt, das 
  315.     konnte ich aber bisher nicht testen. Zur Not einfach mal ausprobieren...
  316.  
  317.     Zunächst mu₧ berechnet werden, wieviel Speicher der Bildschirm in der 
  318.     maximal genutzten Auflösung und Farbtiefe benötigt (MagiC 3 kennt 
  319.     Srealloc zwar, aber zumindest mit BlowUP klappt es irgendwie nicht, 
  320.     deswegen mu₧ MGFVideo den Speicher statisch im Voraus reservieren und 
  321.     Srealloc dann simulieren). Die Formel lautet:
  322.  
  323.     (X-Auflösung * Y-Auflösung) / Farbfaktor + 512
  324.  
  325.     Farbfaktor ist dabei für 16 Farben 2, für 4 Farben 4 und für 2 Farben 
  326.     8. Möchte man also höchstens 800x608x16 verwenden, ergibt sich der Wert 
  327.     243712.
  328.  
  329.     Als nächstes mu₧ man im Wurzelverzeichnis des Bootlaufwerks oder im 
  330.     Auto-Ordner die Datei MGFVIDEO.INF anlegen und ihr folgenden Inhalt 
  331.     geben:
  332.  
  333.     Für BlowUP mit 2 Farben:
  334.     1:<Berechneter Wert>
  335.  
  336.     Für BlowUP mit 16 Farben:
  337.     2:<Berechneter Wert>
  338.  
  339.     Für Screenblaster:
  340.     0:<Berechneter Wert>
  341.  
  342.     Selbstverständlich mu₧ für <Berechneter Wert> die Zahl eingetragen 
  343.     werden, die vorhin für die maximal gewünschte Auflösung bestimmt 
  344.     wurde, also 243712 für 800x608x16.
  345.  
  346.     Für Screenblaster I/II mu₧ noch in der Datei MAGX.INF im 
  347.     Wurzelverzeichnis des Bootlaufwerks die 1 der Zeile #_DEV 1 durch den 
  348.     Wert für die gewünschte Default-Farbtiefe ersetzt werden: 2 für 16 
  349.     Farben, 3 für 4 Farben und 4 für 2 Farben. Eventuell klappt es mit 
  350.     Screenblaster III, wenn hier eine 5 eingetragen ist, aber das ist nur 
  351.     spekulativ. Wichtig: Dies gilt wirklich nur für Screenblaster! Bei 
  352.     BlowUP und ohne Auflösungserweiterung mu₧ hier die 1 stehenbleiben!
  353.  
  354.     Es kann übrigens passieren, da₧ der Screenblaster-Screen zur 
  355.     Auflösungswahl etwas eigenartig aussieht, aber das sollte niemanden 
  356.     ernsthaft stören...
  357.  
  358.  
  359.     3.3.3. Mit NVDI ohne Auflösungserweiterung
  360.     ------------------------------------------
  361.  
  362.     Auch das ist möglich, allerdings ist man dann auf 640x400x2 (ST-Hoch) 
  363.     oder 640x480x16 (TT-Mittel) beschränkt. Für ersteres mu₧ die Datei 
  364.     MGFVIDEO.INF im Wurzelverzeichnis des Bootlaufwerks oder im Auto-
  365.     Ordner folgenden Inhalt haben:
  366.  
  367.     1:32768
  368.  
  369.     Für TT-Mittel mu₧ sie wie folgt aussehen:
  370.  
  371.     2:154112
  372.  
  373.  
  374.     3.4. Erzeugung des FixMe-Bootsektors
  375.     ------------------------------------
  376.  
  377.     Damit MagiC richtig booten kann mu₧ eine HD-Diskette mit einem 
  378.     speziellen Bootsektor präpariert werden, der folgende Dinge erledigt 
  379.     (natürlich nur, wenn MagiC bereits aktiv ist):
  380.  
  381.     - Auslesen der Echtzeituhr und Übertragung in die GEMDOS/XBIOS-Uhr
  382.     - Korrektur der System-Cookies (dabei wird _SND auf 3 gesetzt, weil ja 
  383.       die neuen XBIOS-Aufrufe für das Soundsubsystem nicht vorhanden sind)
  384.     - Reset am SCSI-Bus (dies kann nicht in der von MGFPatch installierten 
  385.       Reset-Routine geschehen, weil hier die Systemtimer noch nicht aktiv 
  386.       sind)
  387.     - Bootversuch von dem/den gewünschten Device(s)
  388.  
  389.     Zur Installation des Bootsektors dient FIXINST.PRG. Nach dem Start wird 
  390.     man zunächst gefragt, welchen Typ von Bootsektor man haben möchte. 
  391.     Dabei bedeutet:
  392.  
  393.     IDE: Der Bootversuch erfolgt zunächst von IDE-Einheit 0, dann von den 
  394.     SCSI-Geräten 0 bis 7.
  395.  
  396.     SCSI: Der Bootversuch erfolgt zunächst von den SCSI-Geräten 0 bis 7, 
  397.     dann von IDE-Einheit 0 (dies ist besonders für die Leute gedacht, die 
  398.     keine interne Platte haben, um so den Timeout umgehen zu können).
  399.  
  400.     Disk: Es wird kein Bootversuch vorgenommen, stattdessen wird von 
  401.     Diskette gebootet. Für diesen Fall ist auf der gleichen Diskette ein 
  402.     Auto-Ordner anzulegen, in den zuerst der Harddisk-Treiber und danach 
  403.     das Programm AUTOX.PRG (aus dem Ordner AUTOX dieses Archivs) kopiert 
  404.     werden mu₧. Das X von AUTOX.PRG ist dabei durch den Buchstaben der 
  405.     Bootpartition zu ersetzen, also in den meisten Fällen durch C. Dadurch 
  406.     wird auch der Auto-Ordner der Festplatte ausgeführt.
  407.  
  408.     Als nächstes mu₧ gewählt werden, ob der _VDO-Cookie eine STE- oder eine 
  409.     Falcon-Videohardware anzeigen soll. STE ist dabei nur zu wählen, wenn 
  410.     man kein NVDI hat oder NVDI ohne MGFVideo betreiben will.
  411.  
  412.     Jetzt wird der Bootsektor, nach einer Abfrage, auf die Diskette 
  413.     geschrieben. Dabei wird auch eine Datei mit dem Namen FIXME.OVL im 
  414.     Wurzelverzeichnis der Diskette angelegt, sie darf _auf keinen Fall_ 
  415.     gelöscht werden, weil sonst nicht richtig gebootet wird!
  416.  
  417.  
  418.     3.5. Restliche Schritte
  419.     -----------------------
  420.  
  421.     Die Vorbereitung von MagiC 3 für den Falcon ist damit abgeschlossen, 
  422.     eine wichtige Sache ist noch zu beachten: Benutzt man XBOOT, sollte man 
  423.     STMED.PRG physikalisch zwischen XBOOT und MAGXBOOT plazieren, auch wenn 
  424.     man den Falcon in ST-Mittel booten lä₧t (sonst wird nach dem Verlassen 
  425.     von XBOOT nicht auf ST-Mittel zurückschaltet). Au₧erdem darf XBOOT 
  426.     unter MagiC selbst nicht aufgerufen werden, weil es nämlich versucht, 
  427.     eine höhere Auflösung einzustellen, was zu dem frühen Zeitpunkt aber 
  428.     noch nicht möglich ist.
  429.  
  430.     Hat man alles fertig, kann man jetzt einen Reset auslösen und schauen, 
  431.     ob alles so funktioniert, wie es soll (die Diskette mit dem FixMe-
  432.     Bootsektor mu₧ selbstverständlich eingelegt sein). Dabei sollte man 
  433.     zunächst möglichst wenig zusätzliche Auto-Ordner-Programme (au₧er 
  434.     natürlich den für MagiC zwingend nötigen) oder Accessories aktiv haben, 
  435.     weil einige nicht richtig mit MagiC laufen. Vor allem darf man keine 
  436.     Falcon-spezifischen Sachen aktiv haben, sonst gibt's Müll...
  437.  
  438.     Sollte nach dem Reset MagiC nicht wie gewünscht booten oder laufen, 
  439.     sollte man sich Abschnitt 7 ansehen und, wenn das nichts hilft, mit mir 
  440.     Kontakt aufnehmen.
  441.  
  442.  
  443.     4. Kurzbeschreibung der Auto-Ordner-Programme
  444.     ---------------------------------------------
  445.  
  446.     MGFPATCH.PRG:
  447.     Dieses residente Programm installiert eine Reset-Routine, die dafür 
  448.     sorgt, da₧ die Video- und die Soundhardware zurückgesetzt wird, da 
  449.     sonst der Warmstart hängenbleibt. Darüberhinaus klinkt es sich in den 
  450.     BIOS- und den XBIOS-Trap ein und sorgt dort durch kurzzeitiges Ändern 
  451.     einer MagiC-internen Systemvariablen dafür, da₧ DD-Disketten korrekt 
  452.     erkannt werden.
  453.  
  454.     MGFVIDEO.PRG:
  455.     Dieses ebenfalls residente Programm klinkt sich in GEMDOS und XBIOS ein 
  456.     und fingiert dort, dem Inhalt von MGFVIDEO.INF entsprechend, den GEMDOS-
  457.     Call Srealloc sowie einige XBIOS-Calls des Falcons. Sie sind dadurch 
  458.     aber nicht korrekt vorhanden, sondern lediglich so implementiert, da₧ 
  459.     NVDI und Screenblaster/BlowUP darauf hereinfallen.
  460.  
  461.     MGFSNDFX.PRG:
  462.     Setzt das Soundsubsystem in den STE-kompatiblen Modus. Da es nicht 
  463.     resident ist, kann es auch nachträglich erneut gestartet werden, was 
  464.     unter Umständen nötig ist, wenn ein Programm mit STE-DMA-Sound 0xff8900 
  465.     überschreibt und somit die Frame-Ende-Interrupts abschaltet.
  466.  
  467.     STMED.PRG:
  468.     Miniprogramm, das auf ST-Mittel umschaltet.
  469.  
  470.     AUTOX.PRG:
  471.     Programm zum Abarbeiten eines Auto-Ordners auf einem beliebigen anderen 
  472.     GEMDOS-Laufwerk, siehe separate Anleitung im Ordner AUTOX dieses 
  473.     Archivs.
  474.  
  475.  
  476.     5. Einschränkungen von MagiC 3 auf dem Falcon
  477.     ---------------------------------------------
  478.  
  479.     - Die Ansteuerung der seriellen Schnittstelle scheint nicht zu 
  480.       funktionieren (kann ich nicht selbst testen). Ach ja, mit HSMODEM 
  481.       klappt es jedenfalls einwandfrei.
  482.     - Es sind nur bedingt höhere Auflösungen möglich (siehe Abschnitt 3.3)
  483.     - Hintergrund-DMA dürfte weder mit Platten am IDE- noch mit solchen am 
  484.       SCSI-Bus funktionieren, daher sollte man diese Option abschalten und 
  485.       nur das Programm FLOCK_OK.PRG aus der MagiC-3-Distribution benutzen, 
  486.       um den Floppy-Hintergrundbetrieb nutzen zu können (habe ich aber 
  487.       selbst nicht probiert!)
  488.     - Natürlich hat auch MagiC 3.0x keine der neuen Systemfunktionen des 
  489.       Falcon, daher können Sound-Subsystem, DSP und VIDEL nur per direktem 
  490.       Hardware-Zugriff angesteuert werden. Aus diesem Grund wird auch der 
  491.       _SND-Cookie vom FixMe-Bootsektor nur auf 3 gesetzt (also Yamaha- und 
  492.       STE-DMA-Sound). MGFSNDFX.PRG sorgt dann dafür, da₧ das Soundsubsystem 
  493.       in den STE-kompatiblen Modus geschaltet wird.
  494.     - Es gibt einen guten Grund, warum SndFix nicht in den FixMe-Bootsektor 
  495.       integriert ist: manche Programme mit STE-DMA-Sound überschreiben 
  496.       0xff8900, so da₧ alle Frame-Ende-Interrupts abgeschaltet sind. In 
  497.       diesem Fall mu₧ MGSNDFX.PRG einfach nochmals gestartet werden, dann 
  498.       sollte das Abspielen von Samples wieder möglich sein.
  499.     - Man sollte Programme mit STE-DMA-Sound nur dann benutzen, wenn man 
  500.       MagiC am SM124 betreibt oder den zweiten Video-Patch vorgenommen hat, 
  501.       da an allen anderen Monitoren sonst versucht wird, auf ST-Hoch 
  502.       umzuschalten (mit 71Hz, und das geht nie gut...)
  503.     - Beim Booten von MagiC *mu₧* die Diskette mit dem FixMe-Bootsektor 
  504.       eingelegt sein, sonst klappt's nicht!
  505.     - Wenn man alle diese Einschränkungen berücksichtigt, ist ein Betrieb 
  506.       von MagiC 3.0x auf dem Falcon möglich. Allerdings funktioniert nicht 
  507.       alles so, wie es soll, daher ist es besser, auf die offizielle Falcon-
  508.       Version zu warten, wenn man MagiC im Dauerbetrieb nutzen will. 
  509.       Allerdings ist es in meinen Augen durchaus sinnvoll einsetzbar, 
  510.       solange man auf Falcon-spezifische Software verzichten kann.
  511.  
  512.  
  513.     6. Darf der Hack weitergegeben werden?
  514.     --------------------------------------
  515.  
  516.     Klar doch. Aber nur kostenlos (PD-Versender dürfen es auch, solange der 
  517.     Diskettenpreis <= 10 DM ist) und nur das Originalarchiv, auch nicht 
  518.     ausgepackt. Das soll keine Schikane sein, es soll nur (halbwegs) 
  519.     sicherstellen, da₧ keine Datei fehlt und dieser Text unverändert 
  520.     vorhanden ist.
  521.  
  522.     AutoX (im entsprechenden Ordner des Archivs) darf übrigens separat 
  523.     weitergegeben werden, näheres dazu findet sich in der dazugehörigen 
  524.     Beschreibung.
  525.  
  526.  
  527.     7. Wenn's nicht klappt
  528.     ----------------------
  529.  
  530.     Leider kann ich, wie bereits gesagt, nicht garantieren, da₧ das hier 
  531.     Beschriebene bei jedem klappt. Ich zumindest habe bisher auf zwei 
  532.     Falcons mit TOS 4.01 und TOS 4.04 (wobei die TOS-Version eigentlich 
  533.     keine Rolle spielen dürfte) den Hack erfolgreich getestet. Sollte es 
  534.     dennoch nicht klappen, hier eine kleine Liste mit Problemen und ihren 
  535.     möglichen Lösungen.
  536.  
  537.     Problem:
  538.     Beim Ausführen von MAGXBOOT.PRG schaltet der Falcon in einen unsinnigen 
  539.     Videomodus (sprich: es flimmert wie der Weltmeister) und nix weiter 
  540.     passiert.
  541.  
  542.     Mögliche Lösungen:
  543.     Es wurde vergessen, den Falcon so zu konfigurieren, da₧ er in ST-Mittel 
  544.     bootet, oder STMED.PRG direkt vor MAGXBOOT.PRG zu plazieren. Im ersten 
  545.     Fall die Konfiguration ändern (und zwar wirklich auf den 
  546.     _Kompatibilitätsmodus_ mit 640x200x4!), im zweiten das Miniprogramm 
  547.     STMED.PRG aus diesem Archiv physikalisch direkt vor MAGXBOOT.PRG 
  548.     plazieren.
  549.  
  550.     Problem:
  551.     Der Festplattentreiber erkennt, von Festplatte gebootet, keine oder 
  552.     nicht alle Platten.
  553.  
  554.     Mögliche Lösung:
  555.     Testweise den FixMe-Bootsektor für Diskettenbetrieb benutzen (dabei den 
  556.     Auto-Ordner auf der Diskette nicht vergessen, siehe 3.4.) oder einen 
  557.     anderen Treiber versuchen (beispielsweise AHDI).
  558.  
  559.     Problem:
  560.     Der Festplattentreiber erkennt, von Diskette geladen, die Platten nicht.
  561.  
  562.     Mögliche Lösung:
  563.     Leider nur die: Anderen Treiber, beispielsweise HDDriver oder AHDI, 
  564.     benutzen, da der momentane Treiber wohl auch beim Booten von Diskette 
  565.     per DMAread auf die Platten zuzugreifen versucht.
  566.  
  567.     Problem:
  568.     Nach dem Starten von MagiC oder nach einem Reset wird nicht von 
  569.     Festplatte gebootet und es erscheint sofort der Desktop mit einem 
  570.     Fileselector, der nach einer auszuführenden Datei fragt.
  571.  
  572.     Mögliche Lösung:
  573.     Mit an Sicherheit grenzender Wahrscheinlichkeit wurde vergessen, die 
  574.     Diskette mit dem FixMe-Bootsektor einzulegen, denn dann kann MagiC 
  575.     nicht richtig booten und findet natürlich auch den Desktop nicht. 
  576.     Dummerweise ist jetzt aber die Resetroutine von MGFPatch nicht mehr 
  577.     aktiv, also mu₧ man einen Kaltstart durchführen.
  578.  
  579.     Problem:
  580.     Die höhere Auflösung erscheint wie gewünscht, aber die Farben sind 
  581.     völlig falsch eingestellt.
  582.  
  583.     Mögliche Lösung:
  584.     Es wurde vergessen, XControl mit Farb-CPX zu aktivieren, da nur so 
  585.     gewährleistet ist, da₧ die Standardfarben korrekt gesetzt werden.
  586.  
  587.     So, das waren die wichtigsten Sachen, die mir so auf Anhieb einfallen. 
  588.     Wer ein Problem hat, MagiC auf seinem Falcon wie beschrieben zum Laufen 
  589.     zu bringen, das nicht in der obigen Liste auftaucht oder mit den 
  590.     genannten möglichen Lösungen nicht zu beheben ist, sollte sich an mich 
  591.     wenden; ich versuche dann zu helfen, soweit das möglich ist. 
  592.  
  593.  
  594.     8. Meine Adresse und Bankverbindung
  595.     -----------------------------------
  596.  
  597.     Zu erreichen bin ich unter folgender Adresse:
  598.  
  599.     Thomas Binder
  600.     Johann-Valentin-May-Stra₧e 7
  601.     64665 Alsbach-Hähnlein
  602.     Deutschland
  603.  
  604.     Telefon: 0 62 57 / 6 43 04
  605.  
  606.     InterNet: binder@rbg.informatik.th-darmstadt.de
  607.     IRC: Gryf
  608.  
  609.     Meine Bankverbindung:
  610.     Dresdner Bank AG Frankfurt am Main
  611.     Konto-Nr. 9 024 050 00
  612.     BLZ 500 800 00
  613.  
  614.     Ich wäre wirklich froh, wenn jemand bereit wäre, mir meine Mühe zu 
  615.     honorieren. Es mu₧ wirklich nicht viel sein, ich freue mich auch über 
  616.     Disketten, CD-ROMs, Briefe, Postkarten, etc. Auch eine Übersetzung 
  617.     dieses Textes in andere Sprachen (vorrangig Englisch) wäre eine prima 
  618.     Sache!
  619.  
  620.  
  621.     9. Das "Bonbon" ;)
  622.     ------------------
  623.  
  624.     Nicht jeder will dauerhaft mit MagiC arbeiten, und unter Umständen ist 
  625.     es dann nervig oder unerwünscht, einen Kaltstart durchzuführen bzw. den 
  626.     Rechner auszuschalten. Das Miniprogramm KILLMAGX.PRG löst dieses 
  627.     Problem: Einfach aufrufen, und schon bootet der Rechner ohne MagiC. Das 
  628.     Programm ist übrigens so geschrieben, da₧ es auf allen Rechnertypen, 
  629.     auf denen MagiC benutzt werden kann, laufen sollte.
  630.  
  631.  
  632.     10. Schlu₧worte
  633.     ---------------
  634.  
  635.     Ich hoffe, da₧ mit dem vorliegenden Hacks für MagiC 3 viele etwas 
  636.     anfangen und von den neuen Möglichkeiten profitieren können.
  637.  
  638.     Kleiner Tip noch: Wer auf MOD-Files im Hintergrund steht, sollte mal 
  639.     FalcPlay 1.6 im VT52-Fenster probieren, läuft einwandfrei, weil es nur 
  640.     mit direkten Hardwarezugriffen arbeitet. Das ist zwar eigentlich nicht 
  641.     so fein, hier aber natürlich sehr von Nutzen...
  642.  
  643.     Ich wünsche allen viel Erfolg mit MagiC 3 auf dem Falcon!
  644.  
  645.