Projekt
Hardware
Bedienung
Kompatibilität
Erweiterungen
Programme




AX81: Bedienung




1 Tastaturfunktionen

Als Eingabegerät dient eine PS2-Computertastatur wobei derzeit nur das QWERTY-Layout unterstützt wird. Einige der ZX-81 Mehrfachbelegungen sind, soweit sinnvoll, auch auf eigene Tasten geführt.

  • Die Backspace-Taste liefert Rubout (shift+0)
  • Die Cursor-Tasten liefern Shift+5...8
  • Die Cursor-Tasten zusammen mit der linken CTRL-Taste liefern 5...8
  • Die Zeichen +-*=,;.: sind auch über die PS2-tasten erreichbar
  • CTRL+ALT+DEL startet das System neu


2 Das Dateisystem

Die Organisation des Massenspeichers (Atmel DataFlash oder SD-Karte) erfolgt in Tapes, die jeweils bis zu 32 Programme enthalten können. Für die Emulation von LOAD und SAVE wurde das original ROM-File gepatcht, ebenso erhält der LLIST Befehl eine neue Bedeutung. Das Dateisystem liefert zwei neue Fehlercodes: wenn die zu ladende Datei nicht gefunden wird, wir der Error S ausgegeben, für die restlichen Dateisystemfunktionen ist der Fehlercode T vorgesehen, Wenn Programme überschrieben oder gelöscht werden, geschieht dies ohne Warnmeldung oder Sicherheitsabfrage!!!

2.1 Auswahl und Inhaltsanzeige von Tapes

Die Auswahl des Tapes erfolgt über den Befehl POKE 99,n wobei n die Nummer des gewählten Tapes ist. Unterstützt werden die Tapes 0...255, wobei man auf die physikalische Größe des Mediums selbst achten muss. Beim Atmel DataFlash AT45DB081 mit seinen 2 Tapes wird nur das unterste Bit von n ausgewertet, Tape 2 entspricht wieder Tape 0 und so weiter...
Gibt man den Befehl LLIST ein, wird ein Inhaltsverzeichnis des aktuellen Tapes angezeigt. Ganz oben steht dabei die Tape-Nummer, darunter sind die enthaltenen Programme aufgelistet. Neben der Dateinummer steht jeweils der Dateiname oder "----------" falls der entsprechende Programmplatz leer ist.

2.2 Laden von Programmen

Das Laden von Programmen erfolgt über den Befehl LOAD "PROGNAME". Der Programmname darf dabei wie beim Original maximal 10 Zeichen lang sein. Bei leerem Dateinamen wird abweichend vom Original NICHTS geladen. Ist das zu ladende Programm nicht im aktuellen Tape enthalten, wird eine Fehlermeldung ausgegeben. Mit dem Befehl LOAD "$nn" kann auch die Nummer des zu ladenden Programmes direkt angegeben werden.

2.3 Speichern von Programmen

Das Speichern von Programmen erfolgt über den Befehl SAVE "PROGNAME". Der Programmname darf dabei wie beim Original maximal 10 Zeichen lang sein. Ist ein Programm mit gleichem Namen im aktuellen tape enthalten, wird dieses überschrieben. Ansonsten wird der erste freie Dateiplatz benutzt. Ist kein freier dateiplatz mehr vorhanden, wird mit einer Fehlermeldung abgebrochen.

2.4 Speichern von Programmen im ZX81 Audioformat

Diese Option ist derzeit noch experimentell. Um sie zu benutzen, muss der erste Buchstabe des (beliebigen) Dateinamens ein Leerzeichen sein. Während der Ausgabe wird die Bildwiedergabe abgeschaltet und nach Beendigung wieder aktiviert. Die Ausgabe erfolgt über PORTB.1, der Ruhepegel ist LOW.

2.5 Löschen von Programmen

Mittels des SAVE Befehls können auch Dateien gelöscht werden.

  • SAVE "-00" löscht das angegebene Programm im aktuellen Tape
  • SAVE "-all" löscht alle Programme im aktuellen Tape


3 Der integrierte Bootloader

Der Bootloader ermöglicht den Austausch von Programmen mit einem PC über eine serielle Schnittstelle des ChipBasic2 Boards, wobei als Eingang nur PORTD.1 unterstützt wird. Dazu muss das Bord entsprechend verdrahtet oder umverdrahtet sein. Aktiviert wird der Bootloader nur nach einem Power On und vorhandenem DataFlash Chip. Eine Nutzung des Loaders mit SD-Karten ist nicht vorgesehen. Als zusätzliche Bedingung muss ein serielles Kabel angeschlossen sein. Die Übertragungsparameter sind fest auf 38400 Bps, 8N1 eingestellt. Auf Host-Seite sollte im Terminalprogramm der Zeilenumbruch auf CR+LF stehen und das lokale Echo ausgeschaltet sein. Während der Bootloader aktiv ist, erfolgt keine Videoausgabe und der AX81 reagiert auch nicht auf Tastatureingaben.
Nach dem Start und nach jeder ausgeführten Funktion meldet sich der Bootloader mit Ausgabe von Version, aktuell eingestelltem Tape und dem dazugehörigen Inhaltsverzeichnis. Darunter steht CMD (Q/T/R/W): als Prompt. Die 4 Buchstaben entsprechen den 4 möglichen Befehlen. Alle Befehle müssen mit einem Zeilenvorschub abgeschlossen werden, Leerzeichen innerhalb der Kommandozeile werden ignoriert.
  • T4 wählt Tape 4 aus
  • T 04 wählt auch Tape 4 aus


3.1 Q = Quit

Mit diesem Befehl wird der Bootloader beendet und das System gestartet.

3.2 T nnn = Tape

Mit diesem Befehl kann das aktive Tape gewählt werden. Dazu muss nach dem T die entsprechende Tape-Nummer eingegeben werden. Ein T ohne folgende Nummer führt zur Auswahl von Tape 0. Leerzeichen werden ignoriert.

3.3 R nn = Read

Mit dem READ Befehl können Dateien vom AX81 gelesen werden. Der folgende dezimale Parameter ist die Programmnummer im aktuellen Tape. Ein R ohne folgende Nummer führt zur Übertragung von Programm 0, bei Programmnummern > 31 und bei leeren Programmplätzen wird nichts gelesen. Leerzeichen werden ignoriert. Die Übertragung erfolgt nach dem XMODEM Protokoll, nach der Ausgabe einer entsprechenden Meldung wird auf die Initiierung der Übertragung durch den Host gewartet. Wird als erstes Zeichen kein NAK empfangen, wird die Übertragung abgebrochen.

3.4 W nn = Write

Mit dem READ Befehl können Dateien auf den Datenträger des AX81 geschrieben werden. Der folgende dezimale Parameter ist die Programmnummer im aktuellen Tape. Ein W ohne folgende Nummer führt zur Übertragung von Programm 0, bei Programmnummern > 31 wird nichts geschrieben. Vorhandene Programme werden ohne Meldung oder Sicherheitsabfrage überschrieben. Leerzeichen in der Kommandozeile werden ignoriert. Die Übertragung erfolgt nach dem XMODEM Protokoll, nach der Ausgabe einer entsprechenden Meldung erfolgt die Initiierung der Übertragung via NAK nach ca. 10 Sekunden.

3.5 Das Datenformat bei der Übertragung

Für die Übertragung der Programme ist ein spezielles Dateiformat notwendig. Die Dateiendung dafür wurde willkürlich auf .PX festgelegt. Dabei ist jede Datei 16 Kilobytes groß was der Programmgröße auf dem Datenträger entspricht. Mit den Perl-Scripten p_to_px.pl und px_to_p.pl können .P Dateien in .PX und vice versa umgewandelt werden, als Parameter wird jeweils der Programmname ohne Endung erwartet.

created with latex2web.pl v0.62 © 2006-2011 Joerg Wolfram