Erstellt: 22. Januar 2017 (zuletzt geändert: 6. Januar 2018)

Entwicklungsumgebung

Voraussetzungen für die Programmentwicklung

Amiga

Die erste Hürde, vor der man steht, wenn man Programme für den Amiga in Assembler entwickeln möchte, ist die Entwicklungsumgebung. Falls ihr meinen C64-Assemblerkurs verfolgt habt, dann wisst ihr bestimmt, dass ich mit dem CBM prg Studio begonnen habe und mittlerweile ein großer Fan vom C64 Studio bin. Ich hatte die Hoffung, dass es eine solche PC Entwicklungsumgebung auch für den Amiga gibt. Da meine Suche aber leider erfolglos blieb, muss eine andere Lösung herhalten.

Der Amiga verfügt mit Intuition bereits über eine ordentliche Benutzeroberfläche, es spricht daher eigentlich nichts dagegen, direkt auf dem Amiga zu entwickeln. Dies werden wir auch machen, aber keine Sorge, ihr könnt auch ohne „echten“ Amiga fortfahren. Ich persönlich werde die alte Hardware bei der Entwicklung auch erst dann nutzen, wenn es darum geht, die Programme unter realen Bedingungen zu testen.

Entwicklungsumgebung – Hardware

Wie ihr bestimmt wisst, gibt es eine Flut an Amiga-Modellen, z. B. Amiga 500, 1200 oder 3000. Die Rechner unterscheiden sich dann auch noch, was Speicher, Custom-Chips, Betriebssystem usw. betrifft. Vom Prinzip her, könnt ihr mit jedem Amiga die Assemblerprogrammierung erlernen. Erst wenn es um Betriebssystemzugriffe oder die Verwendung der Spezialchips geht, muss man evtl. auf das passende System achten. Für den Anfang ist dies aber nicht von Belang.

Es muss auch kein echter Amiga sein! Ihr könnt genauso gut mit z. B. dem MiniMig (bzw. dem Minimig-Core auf einem Turbo Chameleon 64 oder dem MiST) oder einem Emulator fortfahren.

Ich ziehe übrigens die Entwicklung im Emulator vor und rate euch ebenfalls dazu! Außerdem gehe ich im weiteren Verlauf des Tutorials davon aus, dass so entwickelt wird! Letztendlich bleibt es aber euch überlassen, was ihr macht.

Welchen Amiga bzw. welche Konfiguration ihr verwendet, ist erstmal egal. Hauptsache das System läuft stabil, daher solltet ihr auf Kickstart-Versionen vor 1.3 verzichten. Ein „größeres“ System (z. B. neuerer und schnellerer Prozessor, mehr Speicher und eine Festplatte) kann bei der Entwicklung natürlich durchaus von Vorteil sein, ist aber nicht zwingend notwendig.

Entwicklung auf dem Live System

Steht der Amiga noch betriebsbereit auf dem Schreibtisch (oder im Falle eines Amiga 3000T darunter), dann könnt ihr diesen natürlich verwenden. Ihr braucht evtl. eine Möglichkeit, um Daten & Programme vom PC zum Amiga zu übertragen. Setzt ihr einen Amiga 500, 600 oder 1200 ein, dann würde ich euch zu einer Compact Flash-Karten-Lösungen raten. Beim A600 & 1200 könnt ihr CF-Karten direkt als Festplatte einbauen oder per PMCIA-Adapter anschließen. Beim 500er könnt ihr z. B. über eine ACA500 bzw. die neue ACA500plus, eine CF-Karte (eigentlich sogar zwei) anschließen. Solltet ihr Probleme haben, CF-Karten zu finden, es gibt mittlerweile auch Adapter, die das CF-Format haben und in die man eine SD-Karte steckt.
Wie ihr euer System dann einrichtet und verwendet, wird hier erstmal nicht thematisiert. Ihr findet unten aber den Download der benötigten Software.

Entwicklung im Emulator (der bevorzugte Weg!)

Die Entwicklung im Emulator ist die von mir empfohlene Vorgehensweise. Dafür sprechen u. a. folgende Gründe:

  • Auch ohne reale Hardware kann man mit der Entwicklung beginnen.
  • Ein Emulator kann die verschiedensten Systeme nachbilden. Man kann seine Programme also schnell mal auf anderen Amiga-Modellen, mit unterschiedlicher Hardware testen.
  • Man kann überall dort entwickeln, wo man Zugriff auf einen aktuellen Rechner hat. Dabei ist das Betriebssystem nebensächlich. Es gibt Emulatoren z. B. für Windows, Linux und MacOS. Bei Verwendung eines Cloudspeichers (z. B. OneDrive), hat man sogar von verschiedenen Orten Zugriff auf seine Amiga-Sourcen oder den kompletten Emulator.
  • Das System lässt sich im Emulator sehr schnell starten.
  • Bevor man kritische Sachen testet, kann man einen sog. Snapshot erstellen. Damit speichert man den kompletten Zustand des Amigas, sodass man bei einem Absturz schnell wieder zum letzten Ausgangspunkt zurückkehren kann.
  • Man kann sehr einfach Daten zwischen PC und emulierten Amiga austauschen.
  • Ihr könnt sogar am PC euren Sourcecode eintippen und dann im Emulator assemblieren.

Ich setze zwar WinUAE ein, aber ihr könnt durchaus auch andere Emulatoren verwenden. Weiter unten findet ihr übrigens ein fertig eingerichtetes WinUAE-Paket.

Entwicklungsumgebung – Software

Da wir direkt auf dem Amiga entwickeln wollen, brauchen wir natürlich auch Amiga-Software. Es gibt eine ganze Reihe von Assemblerpakten für den Amiga, z. B. HiSoft Devpac Assembler, ASM-One Macro Assembler, Seka, Data Becker Profimat, PhxAss und wie sie alle heißen. Eigentlich ziehe ich Devpac vor, da ich mich aber erfolglos um eine Genehmigung bemüht habe, diesen zum Download anbieten zu dürfen, werde ich für das Tutorial jetzt den frei verfügbaren ASM-One V1.20 einsetzen. Ihr könnt natürlich auch per Cross-Assembler komplett am PC eure Programme erstellen und dann zum Amiga übertragen. Aber während der Lernphase rate ich davon ab! Direkt am Amiga (egal ob echt, FPGA-Version oder emuliert), könnt ihr eure kleinen Lernprogramme sofort testen und debuggen, dies erleichtert in meinen Augen den Lernprozess. ASM-One ist dabei nicht nur ein reiner Assembler, es ist eine komplette Entwicklungsumgebung, inkl. Editor, Assembler und Debugger.

Welchen Assembler ihr einsetzt, bleibt natürlich wieder euch überlassen. Ich würde an eurer Stelle aber für die ersten Schritte ebenfalls den von mir verwendeten ASM-One-Assembler nutzen. Ich setze ASM-One V1.20 übrigens ein, da es die letzte Version war, die noch mit Kickstart 1.2 / 1.3 lief! Natürlich kann man den Assembler auch mit neueren Kickstart-Versionen einsetzen.

Was gebraucht wird
  • Amiga (egal ob echter Rechner, FPGA-Nachbau oder Emulator)
  • mind. Kickstart 1.3 (bei Emulation per WinUAE optional)
  • mind. Workbench 1.3 (optional)
  • ein Assemblerpaket (vorzugsweise ASM-One V1.20, da der beim Tutorial verwendet wird)
  • Beim Einsatz eines Emulators
  • Emulator (am besten den hier verwendeten WinUAE)
  • Abbild des Kickstart-ROMs (optional)
  • Diskettenimage der oben erwähnten Workbench (optional)

Die Amiga Kickstart-ROMs und die Workbench unterliegen immer noch dem Copyright! Habt bitte Verständnis, dass ich diese weder zum Download bereitstellen, noch irgendwelche Links zu dubiosen Download-Quellen anbieten kann!

Downloads

Hier findet ihr nun alles, was ihr für die Assemblerentwicklung am Amiga braucht. Da am Amiga häufig LHA-Archive verwendet werden, solltet ihr euch einen passenden Packer besorgen, der diese Archive öffnen kann. Ich setze dafür 7-Zip (oder Download bei der Chip) ein. Das Programm unterstützt neben LHA noch viele weitere Formate (z. B. auch die populären ZIP- und RAR-Archive). Meine Downloads sind übrigens im 7z-Format!

WinUAE 3.4.0 Paket

Für alle, die noch kein WinUAE verwenden oder wer für andere 68000er Systeme die Assemblerprogrammierung erlernen möchte, stelle ich hier ein kleines WinUAE-Paket bereit. Es enthält ein direkt startbares, portables WinUAE. Da es bereits eingerichtet ist, braucht ihr nur das Archiv entpacken und könnt direkt über den Batch ASM-One.cmd das System starten.

Der Startbatch

Aktuell startet der Batch die 32-Bit Version von WinUAE. Ihr könnt ihn aber ohne Probleme auf die 64-Bit Fassung ändern. Der Ordner HDD enthält einen weiteren Ordner „ASM-One“, der als Festplatte dient. Ihr könnt direkt vom PC darauf zugreifen, um z. B. Programme oder Sourcen auszutauschen.

Wenn ihr den Batch jetzt ausführt, dann erscheint folgende Warnung, da wir kein echtes Kickstart verwenden:

Ohne Kickstart-ROMs kommt dieser Hinweis

Nach kurzer Zeit startet auch schon die Entwicklungsumgebung und ihr seid im ASM-One Editor.

Der ASM-One Editor
Der ASM-One Editor
Kickstart-Ersatz

Wie oben erwähnt, unterliegen die Kickstart-ROMs noch dem Copyright. Daher habe ich WinUAE so eingerichtet, dass es mit einem frei verfügbaren Ersatz läuft. Dieser wird standardmäßig mitgeliefert, ist aber nicht zu 100% kompatibel!

Mir sind folgende Probleme begegnet, die aber nicht wirklich schlimm sind…

  • Relativ unproblematisch: Es kommt zu Anzeigeproblemen in der Entwicklungsumgebung. Die graue Titelzeile des ASM-One Editors liegt z. B. teilweise über der ersten Editorzeile.

    Anzeigeproblem bei der Entwicklungsumgebung
    Anzeigeproblem
  • Ärgerlich: Ich habe es nicht hinbekommen, die Tastatur auf deutsch umzustellen. Weder SetMap noch SetKeyboard wollten funktionieren. Sobald ihr ein offizielles Kickstart einsetzt, habt ihr aber das deutsche Tastaturlayout! Dort klappt die Umstellung.

Für das Tutorial sollte es zwar reichen, ich würde euch aber trotzdem dazu raten, einen Satz original Kickstart-ROMs zu verwenden. Ich werde für die folgenden Schritte auch das Kickstart 1.3 einsetzen! Legale Kickstart-ROMs bekommt ihr vom aktuellen Rechteinhaber Cloanto. Ich schiebe noch einen kleinen Beitrag nach, der etwas mehr auf WinUAE und die Kickstart-Problematik eingeht, hier sei nur soviel erwähnt, dass das Verzeichnis Kickstarts im Paket für die ROMs vorgesehen ist.

Update – 29.03.2017: Das Paket enthält jetzt die deutsche Sprachdatei für WinUAE 3.4.0. Falls ihr lieber mit der englischen Oberfläche arbeiten möchtet, löscht einfach die Datei WinUAE_german.dll oder benennt sie um.

Falls ihr das Paket bereits vor dem 29.02.2017 heruntergeladen habt, findet ihr hier einen Download der der deutschen Sprachdatei, sofern ihr die Übersetzung nutzen möchtet. Entpackt das Archiv und kopiert die Datei WinUAE_german.dll einfach in euer WinUAE-Verzeichnis, direkt zur winuae.exe bzw. winuae64.exe.

 

Wer eine Diskette (z. B. am echten Amiga oder mit MiniMig) verwenden möchte, findet hier ein entsprechendes Abbild.

 

Braucht ihr nur ASM-One, dann könnt ihr einen dieser Downloads verwenden. Neben der fürs Tutorial verwendeten Fassung 1.20, findet ihr hier auch die letzten beiden erschienenen Versionen.


Schrott!!Naja...Geht so...Ganz gut...SUPER! (23 Bewertungen | Ø 4,70 von 5 | 93,91%)

Loading...


⇐ zurück | weiter ⇒

14 Gedanken zu „Entwicklungsumgebung“

  1. Hallo Jörn,
    bin auf Deine tolle Seite gestoßen und habe mich voller Begeisterung in das Thema Amiga Assembler gestürzt. Leider gibt es seit 2018 keine neuen Inhalte mehr. Bist du noch gewillt das weiter zu führen?
    Für den Amiga gibt es zwar etliche Bücher, aber wirkliche Tutorials/Beispiele, wie deine C64 Assembler Programmierung, sind eher wenige bis keine im Netz zu finden. Ich fände es super wenn du das weiter machen würdest.

    Gruß

    Crazy

    1. Ehrlich gesagt, keine Ahnung.
      Ich habe auch schon überlegt den Amiga-Bereich wieder zu löschen, da er so eigentlich keinen Nutzen hat und etwas verspricht, was er nicht hält. Aber in mir schlummert immer noch die Hoffnung, dass ich mich doch wieder aufraffen kann.

      Gruß,
      Jörn

  2. Cool, freue mich auf weiteren Inhalt in diesem Tutorial! Arbeitest Du noch daran? Wenn nein, kannst Du Quellen für andere Tutorials oder Bücher nennen?

    1. Tja, die Ankündigung ist leider auch schon einige Monate her. Ich sehe aktuell nicht, dass ich hier in nächster Zeit etwas mache, sorry.
      Tutorials sind mir jetzt nicht geläufig. Ich habe mir damals Assembler mit den Data Becker Büchern „Amiga – Maschinensprache“ und „Amiga Intern“, sowie Beiträgen aus dem „Amiga Magazin“ beigebracht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Protected by WP Anti Spam