Mit dem Programm Tape Monitor wird es dem User ermöglicht, einzelne Blöcke eines Programms zu laden, zu verändern und wieder abzuspeichern. Der Tape Monitor ermöglicht es auch, Programme mit Ladefehlern ohne großen Datenverlust wieder herzustellen, indem ein fehlerhafter Block bis zu seinem Ladefehler korrekt geladen wird und die fehlenden Daten durch Nullbytes aufgefüllt werden. Der Tape Monitor ist sehr einfach zu bedienen. Im Window #2, in der rechten oberen Bildschirmecke, steht permanent das Menue bzw. der derzeit ausgewählte Me-nuepunkt. Wurde ein Programm geladen, zeigt das Window # 1 immer die aus dem Header errechneten Programmdaten, wie Startadresse, Länge, Autostart usw. Ein Programmblock wird in acht Seiten zu je 256 Bytes unterteilt, die im Menuepunkt Ändern-Programm jederzeit direkt über die Tasten 0-7 oder über die Pfeiltasten aufgerufen werden können. Vor den ausgelisteten Zeilen steht jeweils die Adresse, ab der die Seite des derzeit geladenen Blocks steht, wenn das Programm regulär geladen wird. Beim Header wird einfach von Null an gezählt. Im Editor kann man wahlweise die einzelnen Bytes hexadezimal verändern (wobei stets beide Nibble neu geschrieben werden müssen), oder die Bytes direkt im ASCII-Feld verändern. Der Cursor wird über die Pfeiltasten gesteuert. Über die TAB-Taste wird der Editor wieder verlassen, und die Seite des aktuellen Blocks noch einmal ausgelistet. Alle momentan möglichen Befehle werden im Window #1 angezeigt. Zum Abspeichern stehen dem User, außer den normalen Geschwindigkeiten 0 und 1, noch eine dritte mit etwa 3000 Baud zur Verfügung. Der Header wird ab der Adresse &4E00, das Programm ab &5000 abgelegt. Dadurch wird es ermöglicht, ein zusätzliches Programm (z.B. Arnor A/D/E) zu laden. Der Tape Monitor ist überwiegend in Basic geschrieben. Die eingesetzten Maschinenprogramme dienen zum Speicherbereich löschen, Programm laden/sichern und zum Setzen der Bandgeschwindigkeit. Variablenliste:
- i Universelle Laufvariable
- me$ (1-3) Hauptmenuepunkte
- mu$ (1-3) Untermenuepunkte
- a$ Universalvariable für Tastaturabfrage
- a ASCII-Wert von a$
- t Zweite universelle Laufvariable, falls i besetzt ist
- b Enthält den Wert der aktuellen Seite eines Blocks. Trägt Werte von 0-7
- he Enthält den Wert &4e00 ab dem der Header im Speicher steht
- hd Header Flag; Information für Dump-Unterprogramm, ob der Header oder das Programm gelistet wird (Header—1 Programm=0)
- s Enthält bei Programmlisting den Wert, ab welchem die Seite des Blocks normalerweise im Speicher stünde (Header: s=0)
- b Enthält den Wert, ab dem die Seite des Programmblocks oder der Header tatsächlich im Speicher steht
- y Zeile des Cursors
- x Spalte des Cursors
- xx Tatsächliche Spalte des Cursors, errechnet sich aus x
- fl Flag; enthält den Wert -1, wenn der obere Nibble eines Bytes beschrieben wurde
- r Enthält den von der Tastatur übernommenen Wert, der in den Speicher geschrieben wird
- rr Hilfsvariable für r, übernimmt den oberen Nibble-Wert, bis der untere eingegeben wurde und in r vorliegt
Unterprogramme:
- 110 - 230 Schreibt das Maschinenprogramm in den Speicher
- 240 - 360 Setzt Mode, Farbe und baut den Bildschirm auf
- 370 - 500 Hauptmenue, verzweigt in die Routinen für Ändern, Laden und Speichern
- 540 - 590 Ruft das Maschinen UP zum Leseneines Blockes auf
- 630 - 730 Wertet die Header-Information aus und zeigt diese im Window 1
- 770 - 880 Setzt die Bandgeschwindigkeit und ruft die Maschinenroutine zum Speichern auf
- 920 - 1050 Untermenue, verzweigt zum Pro gramm bzw. Header-Dump und Editor oder zurück zum Menue
- 1130 - 1160 Listet den Header und verzweigt zum Editor oder zum Untermenue
- 1200 - 1310 Listet die erste Seite des Programmblocks, verzweigt zum Editor oder zum Untermenue, oder wählt eine neue Seite eines Blocks an
- 1350- 1430 Listet eine Programmseite oder den
Header
- 1470 - 1610 Editor für Programm oder Header
- 1650 - 1710 Berechnet tatsächliche Cursorspalte
- 1750 - 1800 Liest einen Wert zwischen 0 und F von der Tastatur
- 1840 - 1950 Liest den ASCII-Wert einer Taste von der Tastatur
- &BC6E CAS START MOTOR
- &BCA1 CAS READ
- &BC9E CAS WRITE
- &BC68 CAS SET SPEED
- &BB81 TXT CUR ON
CPCAI ★ AMSTRAD CPC ★ DOWNLOAD ★ |
CPCrulez[Content Management System] v8.7-desktop/c Page créée en 579 millisecondes et consultée 1653 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|
|
|