Programmer's Corner ------------------- (Carsten Strotmann PSC) Hallo User Mag Leser! Diese Ausgabe gibt es in der Programmer's Corner ein Programmier Utility zum Erstellen von Displaylisten. Da der ANTIC Chip des Atari Computers ein vollständiger Mikroprozessor ist, gibt es für Ihn auch eine eigene "Maschinensprache". Diese ANTIC-Programme werden Display- list genannt, und sie bestimmen den Aufbau des Bildschirms. Mit Hilfe von A.P.L. kann man diese Displaylisten über eingängige Kürzel erstellen und editieren. A.P.L. Antic Programming Language --------------------------------- Die Oberfläche: Der Bildschirm der A.P.L. besteht aus 4 Bereichen: - Statuszeile: am oberen Bildschirm befindet sich die Statuszeile. Neben einer Copyrightmeldung enthält sie Informationen über die (Editier-) Adresse, die Länge des ANTIC-Programms und die Startadresse des Programms. Unter der Statuszeile befindet sich der - Reportbildschirm: hier erscheint zum Start des Programms eine Programm- information. Später werden hier die eingegebenen Befehle, Programmzeilen und Informationen über das ANTIC Programm ausgegeben. - Befehlszeile: Hier können die Befehle und die Programmzeilen eingegeben werden. - Meldungen: Im unteren Bereich erscheinen Meldungen zum Programmablauf oder Fehlermeldungen. SORRY: +( und )+ stehen für die jeweiligen eckigen Klammern Steuerbefehle: -------------- (Alle Befehle können in Klein- oder Großbuchstaben eingegeben werden, alle Adressangaben in vierstelligen Hexadezimalzahlen mit vorangestelltem Dollarzeichen "$", es kann mehr als ein Befehl gleichzeitig eingegeben werden) START $adr - Mit diesem Befehl wird die Startadresse der Displaylist und die Editoradresse neu gesetzt. Am Anfang ist als Startadresse $0600 vorgegeben (Page 6). SET +($ADR)+ - Setzt die Editoradresse, d.h. die Speicheradresse, in der der nächste ANTIC-Befehl abgelegt wird, fest. Wird beim SET Befehl keine Adresse angegeben, so wird die Editor- adresse auf die Startadresse zurück- gesetzt. LIST +($adr)+ - Listet die Daten ab der angegebenen Speicheradresse. Wenn keine Speicheradresse angegeben wurde, wird ab der aktuellen Editoradresse ge- listet. Es wird nicht überprüft, ob die gelisteten Daten eine sinnvolle Displaylist darstellen. Beendet wird die Liste durch Druck auf die Leertaste oder wenn ein ungültiger ANTIC Befehl ausgegeben wird. Die Bedeutung der Liste: Beispiel E47A: BE= G:6 (H) (V) (B) (D) EB0F In der ersten Spalte wird die Adresse des gelisteten Speicherplatzes angezeigt, hier $E47A. Danach folgt der Inhalt dieser Speicherstelle, hier $BE. Nach dem Gleichheitszeichen steht der ANTIC Befehl, der durch diesen Wert repräsentiert wird, hier G:6, welches der BASIC-Grafik 15 entspricht. Hiernach folgen die Attribute des Befehls: (H) = horizontales Feinscrollen möglich (V) = vertikales Feinscrollen möglich (B) = Bildschirm- adresse laden (D) = Displaylist Interrupt auslösen (DLI) In der letzten Spalte steht die Speicherstelle der anzuzeigenden Bildschirmdaten (Bildschirmadresse). TEST - Die Displaylist ab der Startadresse wird eingeschaltet. Die Feinscrollregister werden hochgezählt, so daß man Scrolllines erkennen kann. Der Testmodus wird durch den Druck einer beliebigen Taste beendet. CLEAR - Der Reportbildschrim wird gelöscht. DIR +(#Dn:)+ / +("Dn:)+ - Es werden die Dateien mit dem Extender .DAT angezeigt. Wird kein Laufwerk angegeben, so wird Laufwerk 1 angezeigt. LOA #Dn:filename.DAT / "Dn:filename.DAT - Lädt eine Datei mit COM-Fileheader in den Speicher. SAV #Dn:filename.DAT / "Dn:filename.DAT - Speichert den Speicher zwischen Startadresse und Editoradresse mit COM-Fileheader. INIT - Schaltet das INIT-Flag in der Statuszeile an bzw. aus. Ist das INIT-Flag gesetzt, werden die Displaylisten beim Speichern mit einer Init-Adresse gespeichert, d.h. wenn sie als COM-File geladen werden, wird die neue Displaylist sofort installiert. QUIT - A.P.L. verlassen. Dieser Befehl bewirkt, daß zum aufrufenden Programm zurückgesprungen wird (z.B. DOS) NEW - Durch diesen Befehl wird ein RESET ausgelöst und das Programm neu gestartet. Daten werden hierbei nicht gelöscht, Programme bleiben erhalten. MON - Bei BiboMon Rechnern wird hier zum BiboMon gesprungen. BOOT - Nach einer Sicherheitsabfrage wird ein Kaltstart ausgeführt. (Achtung: Alle nicht gespeicherten Programme sind dann verloren!!) A.P.L. besitzt einen Resetschutz. Wenn man das Programm verlassen hat, kann man mit einem RESET zurückkehren, solange es im Speicher nicht überschrieben wurde. Die Displaylistbefehle: ----------------------- Die Eingabe der Displaylistbefehle erfolgt nach einem festem Format. Zuerst kommt ein Kürzel für die Befehlsart (Text, Grafik oder Leerzeile), danach der Modus, die Attribute (Scrolling, DLI, Bildschirmadresse laden) und die Bildschirmadresse, wenn benötigt. Die TextModi: T:0 - Graphics 0 T:1 - Graphics 0 mit Unterlängen T:2 - Graphics 12 (4 Farben/Zeichensatz) T:3 - Graphics 13 (4 Farben/Zeichensatz/doppelte Höhe) T:4 - Graphics 1 (4 Farben/doppelte Breite) T:5 - Graphics 2 (4 Farben/doppelte Breite/doppelte Höhe) Die Grafikmodi: G:0 - Graphics 3 (4 Farben) G:1 - Graphics 4 (2 Farben) G:2 - Graphics 5 (4 Farben) G:3 - Graphics 6 (2 Farben) G:4 - Graphics 7 (4 Farben) G:5 - Graphics 14 (2 Farben) G:6 - Graphics 15 (4 Farben) G:7 - Graphics 8 (1 Farbe) Die Leerzeilen: L:n - n Leerzeilen (n= 1 bis 8) Attribute: (werden in Klammern eingegeben) (H) - Horizontales Scrolling (V) - Vertikales Scrolling (B) - Bildschirmadresse laden (D) - Interrupt auslösen (DLI) Sprungbefehle: JMP: $adr - Unbedingter Sprungbefehl an Adresse RET: +($adr)+ - Sprung nach VBI Der Befehl "*" wiederholt den letzten Displaylistbefehl. Auf der Diskette befindet sich noch eine Kurzanleitung namens APL.DOC.