Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:software:os:kommandos [2020/08/10 06:49] – angelegt volkerp | z9001:software:os:kommandos [2024/12/05 13:24] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
Den Speicher teilen sich Betriebssystem, | Den Speicher teilen sich Betriebssystem, | ||
- | Der Z9001 verwaltet den Speicher nicht selbst. Der Anwender muss selbst die Speicheraufteilung und -nutzung im Blick haben. Die Programme haben feste Speicherbereiche (Programmstandorte und Arbeitsspeicher). Gerade bei der Nutzung von Treiber-Programmen ist deshalb darauf zu achten, dass sich verschiedene Treiber und die restlichen Programme nicht in den Speicherbereichen überschneiden! | + | Der Z9001 verwaltet den Speicher nicht selbst. Der Anwender muss selbst die Speicheraufteilung und -nutzung im Blick haben. Die **Programme** haben feste Speicherbereiche (Programmstandorte und Arbeitsspeicher). Gerade bei der Nutzung von Treiber-Programmen ist deshalb darauf zu achten, dass sich verschiedene Treiber und die restlichen Programme nicht in den Speicherbereichen überschneiden! |
Standard-Aufteilung mit 2 gesteckten 16K-RAM-Modulen: | Standard-Aufteilung mit 2 gesteckten 16K-RAM-Modulen: | ||
- | <ditaa noedgesep> | + | <a2s> |
- | FFFF | + | FFFF |
| BOS | | BOS | ||
- | F000 | + | F000 |
- | | BWS +FAS | | + | | BWS #FAS | |
- | E800 | + | E800 |
| | | | | | ||
| ROM-Modul | | | ROM-Modul | | ||
| | | | | | ||
- | C000 | + | C000 |
| | | | | | ||
| RAM-Modul | | | RAM-Modul | | ||
| | | | | | ||
- | 8000 | + | 8000 |
| | | | | | ||
| RAM-Modul | | | RAM-Modul | | ||
| | | | | | ||
- | 4000 | + | 4000 |
| | | | ||
| RAM | | RAM | ||
| | | | | | ||
- | 0300 | + | 0300 |
| System | | System | ||
- | 0000 | + | 0000 |
- | </ditaa> | + | </a2s> |
- | Wichtige | + | Einige |
< | < | ||
- | ZM30 3000-3DFF | + | Programmname |
- | GRAF 8E60-A7FF (Grafik-Treiber f. BASIC) | + | |
- | EPSON A400-AFFF | + | IDAS 0400-1BFF interpretativer Dialogassembler |
+ | ASM 1000-37FF Assembler + Editor, EDAS | ||
+ | ZM30 3000-3DFF Zusatzmonitor | ||
ZMA8 A800-B5FF | ZMA8 A800-B5FF | ||
- | CRT40 B000-B2FF | + | EPROM2A |
- | USBX B600-BFFF | + | EPROM6A |
- | V24 B800-BBFF | + | EPROMA2 |
- | DOSX BD00-BFFF + 4000-57FF (Hintergrund-RAM) | + | BASIC C000-E7FF ROM-Basic |
</ | </ | ||
- | Man erkennt z.B., dass ZMA8 und CRT40 nicht zusammen genutzt werden können. | ||
===== Dateien ===== | ===== Dateien ===== | ||
Zeile 55: | Zeile 56: | ||
Programme können in ROM-Modulen enthalten sein (IDAS-Modul, | Programme können in ROM-Modulen enthalten sein (IDAS-Modul, | ||
- | Sonstige Programme werden von Kassette (oder von anderen externen Speichermedien wie Diskette oder USB-Stick) in den Speicher geladen. Programme und Daten sind in diesem Fall in Dateien organisiert. | + | Sonstige Programme werden von Kassette (oder von anderen externen Speichermedien wie Diskette oder USB-Stick) in den Speicher geladen. Programme und Daten sind in diesem Fall in **Dateien** organisiert. |
Das " | Das " | ||
Zeile 61: | Zeile 62: | ||
{{: | {{: | ||
- | Kassetten-Dateien | + | Kassetten-Dateien haben einen 128 Byte großen Anfang, der nicht zum Programm gehört (Block 0, enthält den FileControlBlock |
- | Hinweis: BASIC-Programme und -Daten haben ein eigene Kassettenroutinen, | + | Hinweis: BASIC-Programme und -Daten haben eigene Kassettenroutinen, |
===== Laden ===== | ===== Laden ===== | ||
- | Um ein Programm von Kassette zu laden, gibt man einfach den Programmnamen | + | Um ein Programm von Kassette zu laden, gibt man einfach den Programmnamen am Prompt ein. Der Typ COM wird automatisch ergänzt, kann aber ebenfalls mit angegeben werden: |
>ZM30 | >ZM30 | ||
+ | oder | ||
+ | > | ||
Es erscheint die Aufforderung | Es erscheint die Aufforderung | ||
- | |||
start tape | start tape | ||
| | ||
Nach Enter wird auf Kassette der nächste Kopfblock geladen. Steht in ihm derselbe Programmname wie eingegeben und als Typ COM, wird das Laden fortgesetzt. Andernfalls gibt es eine Fehlermeldung. | Nach Enter wird auf Kassette der nächste Kopfblock geladen. Steht in ihm derselbe Programmname wie eingegeben und als Typ COM, wird das Laden fortgesetzt. Andernfalls gibt es eine Fehlermeldung. | ||
- | Nach dem Laden startet das Programm automatisch! | + | Nach dem Laden startet das Programm automatisch((der Start erfolgt auch, wenn der Typ nicht COM ist! Zum Laden ohne automatisches Starten gibt es das Systemkommando CLOAD.))! |
===== Kommandos ===== | ===== Kommandos ===== | ||
- | Maschinencode-Programme | + | Um nicht jedesmal ein Programm von Kassette laden zu müssen, um es zu starten, oder um Programme zu starten, die im ROM-Modul stehen, enthalten |
+ | |||
+ | Meist sind der Programmname und (einziger) Kommandoname identisch. Es gibt praktisch keinen Unterschied zwischen Programm und Starten des Kommandos. Beim erstmaligen Aufruf wird das Programm geladen und gestartet, beim erneuten Aufruf wird das gleichnamige Kommando im Speicher gefunden und gestartet. | ||
+ | |||
+ | Programme wie [[z9001: | ||
+ | > | ||
+ | start tape | ||
+ | ... | ||
+ | > | ||
+ | > | ||
+ | Kommando ASM und Programmname ASM sind gleich((eigentlich ist der volle Programmname ASM.COM und damit nicht gleich dem Kommando)), bewirken aber unterschiedliches. | ||
+ | |||
+ | Wenn ein eingegebenes Kommando nicht im Speicher gefunden wird, versucht das Betriebssystem, | ||
+ | |||
+ | Manchmal sind Programmname und Kommando NICHT gleich. Damit kann gezielt ein Laden des Programms vom Start des Kommandos unterschieden werden. Der Zusatzmonitor wird z.B. mit | ||
+ | |||
+ | >ZM30 | ||
+ | |||
+ | von Kassette geladen, das Kommando zum erneuten Start ist jedoch | ||
+ | |||
+ | >ZM | ||
+ | |||
+ | Kommandos können **Parameter** übergeben werden. Diese sind durch mindestens ein Leerzeichen vom Kommandoname getrennt. Beispiel ist das System-Kommando TIME: mit Parameter wird die Uhrzeit gesetzt, ohne Parameter die Zeit angezeigt. | ||
+ | |||
+ | >TIME 07:30 Uhrzeit setzen | ||
+ | > | ||
+ | 07:30:03 | ||
+ | > | ||
+ | |||
+ | |||
+ | ===== Mega-Modul ===== | ||
+ | |||
+ | Die [[z9001: | ||
+ | |||
+ | Daneben enthält das Mega-Modul eine Vielzahl von Programmen, die in den RAM-Speicher geladen werden müssen. Diese Programme sind als FA-Dateien im Mega-Modul abgelegt((Details zu FA stehen hier: [[z9001: | ||
+ | |||
+ | Wird ein Programmname eingegeben, sucht die Modulsoftware zuerst einen passenden Kommandonamen im Speicher. Wird hier nichts gefunden, wird ein passender FA-Dateiname im Mega-Modul (typ COM) gesucht. Wird er gefunden, wird das Programm in den RAM-Speicher geladen und dort gestartet. Wird er nicht gefunden, wird nun auf Kassette gesucht. Es erscheint "start tape" | ||
+ | |||
+ | Die Modulsoftware unterstützt im Unterschied zum OS die **Übergabe von Parametern** an zu ladende Programme. | ||
+ | Bei Start des Programms werden die Parameter übergeben. Damit können Programme/ | ||
+ | |||
+ | >OS-SAVE TEST.BIN 1000, | ||
+ | |||
+ | lädt erst OS-SAVE in den RAM-Speicher und startet es mit den übergebenen Parametern. | ||
+ | |||
+ | Als Besonderheit können auch **BASIC-Programme** als FA-Dateien im Mega-Modul abgelegt werden. Diese BASIC-Programme werden ebenso wie die Maschinencodeprogramme direkt am OS-Prompt durch Eingabe des Programmnamens geladen und gestartet. Sie werden nicht in BASIC geladen und können hier auch nicht mit CLOAD" | ||
+ | |||
+ | >TATUM | ||
+ | |||
+ | initialisiert BASIC, lädt das BASIC-Programm TATUM und startet es mit RUN. | ||
+ | |||
+ | |||
+ | ===== Disketten und USB ===== | ||
+ | |||
+ | Mit den Erweiterungen [[z9001: | ||
+ | |||
+ | Bei [[z9001: | ||
+ | |||
+ | Bei [[z9001: | ||
+ | |||
+ | Analog zur Kassettenaufzeichnung werden Programme und Daten mit einem Block 0 (Kopfblock) gespeichert. Zusätzlich gibt es noch den Dateinamen, der zum Programmnamen identisch sein muss. | ||
+ | |||
+ | Wird ein Programmname eingegeben, sucht die Erweiterungssoftware zuerst einen passenden Kommandonamen im Speicher. Wird hier nichts gefunden, wird ein passender FA-Dateiname im Mega-Modul (typ COM) gesucht. Wird er gefunden, wird das Programm in den RAM-Speicher geladen und dort gestartet. Wird hier nichts gefunden, wird der Programmname als Datei auf Diskette bzw. USB-Speichermedium gesucht. Wird er gefunden, wird das Programm in den RAM-Speicher geladen und dort gestartet. | ||
- | Meist sind der Programmname und (einziger) Kommandoname identisch. Es gibt praktisch keinen Unterschied zwischen Programm und Starten des Kommandos. | + | Wird er nicht gefunden, wird nun auf Kassette gesucht. Es erscheint "start tape". |
- | Programme wie USBX, PRETTYC u.a. enthalten dagegen mehrere Kommandos, die erst nach dem Laden des Programms zur Verfügung stehen. Hier muss dann zweistufig gearbeitet werden: | + | Im BASIC wird ganz normal mit den Kommandos CLOAD/ |
- | > | + | |
- | > | + | |
- | Kommandos können Parameter übergeben werden. Diese sind durch mindestens ein Leerzeichen vom Kommandoname getrennt. | + | Um einen Überblick über die Dateien zu behalten, besitzen beide Erweiterungen das Kommando DDIR zum Anzeigen der Dateien. Auch unter BASIC gibt es BASIC-Befehl DIR zum Anzeigen der BASIC-Dateien. |
+ | In [[z9001: | ||