2009-08-26 14 views
6

Nach der "How do I code and compile an Amiga application?" Frage, welche Entwicklungsbibliothek benötigt wird, um eine Amiga-Anwendung von einer Diskette zu booten?Wie entwickelt man eine Amiga-Anwendung, die von einer Diskette (NON-DOS) gestartet werden kann?

Update: (2012-04-10) Um die Frage zu lösen, habe ich den Titel und Körper bearbeitet, um nur auf die Bibliothek zu konzentrieren. Immer noch fehlt das Booten von Disketten-Deployment-Tools, die in einer anderen Frage gestellt werden können.

+0

Von Wikipedia, AmigaOS Artikel: "Beim Start oder Zurücksetzen überprüft [Kickstart] angeschlossene Boot-Geräte und versucht, von dem mit der höchsten Boot-Priorität zu booten. Wenn kein Boot-Gerät vorhanden ist, wird ein Bildschirm angezeigt Benutzer zum Einlegen einer Bootdiskette - normalerweise eine Diskette. [...] Die Workbench-Umgebung muss nicht geladen sein, damit Software ausgeführt werden kann, um die Amiga-Hardware zu übernehmen und den gesamten Speicher und die Ressourcen für sich selbst zu behalten Spiele starten direkt von Kickstart (mit einem benutzerdefinierten Bootblock auf der Diskette). " Jetzt nach Informationen über Amiga Bootblock suchen. –

+1

Von http://mediasrv.ns.ac.yu/extra/fileformat/emulator/adf/adf.txt: "Der Bootblock ist der Bootstrap des Amiga. Das Betriebssystem wird in diesen 2 Blöcken (1024 Bytes) laden , und verarbeitet sie als Bootstrap des Amiga. Der Standard 'Workbench'-Bootblock lässt das Betriebssystem einfach eine Startroutine in der Dos.Library anzeigen, während Spiele-Bootblöcke das OS rauswerfen und den Rest des Spiels laden können." –

Antwort

12

Detailed description of how to write boot blocks on floppies

Sie werden lernen müssen, wie trackdisk.device zu verwenden. I stark beraten, Trackdisk nicht zu umgehen; Die Anforderungen zum Lesen von Disketten sind schwierig und man muss die zulässigen mechanischen Varianzen kennen; Der Trackdisk-Floppy-Code ist wirklich, wirklich gut und behandelt Fehler besser als alles andere. Veröffentlichte Bücher darüber, wie man für den Amiga "auf der Bare-Metal-Ebene" programmieren kann (und insbesondere das Buch über die direkte Verwendung der Disketten), haben so viele Fehler und fehlgeschlagene Annahmen, dass meine Kopie einen Wald von Stickies hatte, die Fehler markierten.

Hinweis bene: Ich war die Person bei Commodore, die die Trackdisk für AmigaOS 2.0 komplett neu geschrieben hat.


Wenn Sie eine normale AmigaOS Anwendung sprechen, würden Sie eine Startup-Skript-Datei auf der Festplatte die Festplatte zu booten und die Anwendung (plus minimalen Satz von AmigaOS-Dateien) zu starten, und ein Symbol/ausführbar, um es zu starten, wenn der Amiga von einer anderen Festplatte oder HD bootete. Jagen Sie herum und suchen Sie nach Informationen zum Erstellen einer bootfähigen Festplatte für den Amiga.

+0

jesup, danke für den Tipp, das ist wirklich wertvolle Info, um mich zu starten. –

+1

Ich kann mich erinnern, meinen eigenen DMA-Lader für mein Spiel geschrieben zu haben, und tatsächlich stieß ich auf Unmengen von Problemen. Bits müssen mit Nullen verschachtelt werden, damit der Plattenkopf nicht zu sehr magnetisiert und umgekehrt. Auf der anderen Seite hat es viel Arbeit gekostet, aber ohhh, was war der Lader schnell? – Toad

+4

würde ich wahrscheinlich diese Geschwindigkeit wetten ... :-) Ich habe trackdisk total für AmigaOS 2.0 umgeschrieben. In 2.0 war trackdisk schwer zu schlagen. Tatsächlich waren 90% der von mir untersuchten "Schnelllader" langsamer oder bestenfalls nicht schneller als Trackdisk - und praktisch alle anderen verletzten die Laufwerksspezifikationen so, dass sie auf bestimmten Festplatten des Herstellers versagten oder wenn das Laufwerk des Benutzers zufällig eins war Ende oder das andere des Spezifikationsbereichs. (Der Schnelllader-Entwickler würde auf seiner eigenen Maschine und einigen anderen testen und es versäumt, jemals auf einer Maschine zu testen, die mit einem Sanyo (oder was auch immer) gebaut wurde). – jesup