home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !FALCON / !BONUS / UTILITY / MAGIX3F4.ZIP / wiegehts.txt < prev   
Text File  |  1995-08-09  |  33KB  |  676 lines

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