Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
z1013:handbuecher:handbuch_2b [2024/08/16 07:53] – angelegt volkerp | z1013:handbuecher:handbuch_2b [2024/08/16 08:14] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Handbuch Teil IIB ====== | ====== Handbuch Teil IIB ====== | ||
- | TODO | + | Hier gibt es nur die Beschreibungen zu den Programmen. Die Programme selbst sind als Download verfügbar und müssen nicht mehr abgetippt werden! |
+ | |||
+ | ===== Anlage 11: Liste des Reassemblers für U 880-Befehle ===== | ||
+ | |||
+ | Da ein Teil der hier wiedergegebenen Anwenderprogramme, | ||
+ | der Basic-Interpreter und das im ROM enthaltene Monitorprogramm | ||
+ | im Maschinencode vorliegen, erhalten Sie mit diesem | ||
+ | Reassemblerprogramm die Möglichkeit, | ||
+ | in eine U880-Assemblerschreibweise vorzunehmen. | ||
+ | |||
+ | Der Reassembler steht ab | ||
+ | Adresse 3600h bis Adresse 3fe4h. der Start erfolgt auf der | ||
+ | Adresse 3600h. das Programm meldet sich mit der Aufschrift: | ||
+ | |||
+ | ROBOTRON Z 1013 REASS 1.02 | ||
+ | AB BIS ORG-ADRESSE: | ||
+ | |||
+ | unter dieser Ausschrift können nun z.B. folgende Adressen eingegeben werden: | ||
+ | |||
+ | F000 F020 F000 | ||
+ | |||
+ | D.h. es wird der Anfang des Monitorprogramms rückübersetzt. | ||
+ | ist die letzte Adresse gleich der ersten, so kann diese entfallen | ||
+ | ORG-Adresse bedeutet die Adresse, auf der das lauffähige Programm | ||
+ | stehen müsste. Man kann also auch Programme reassemblieren, | ||
+ | eigentlich außerhalb des RAM-Bereiches laufen würden oder auf | ||
+ | z.Z. belegten Speicherbereichen lauffähig sind. Sie können | ||
+ | z.B. den in Anlage 13 nicht auf den | ||
+ | Originaladressen ab 3C00H reassemblieren, | ||
+ | Zaehlermodul einlesen, anschließend mit dem T-Kommando z.B. auf die | ||
+ | 1000H umladen und danach den Reassembler einlesen und starten. | ||
+ | Kommandos nach dem Einlesen des Zaehlermoduls: | ||
+ | |||
+ | < | ||
+ | # T 3C00 1000 400 | ||
+ | # L 3600 3FFF | ||
+ | # J 3600 ; | ||
+ | ;Einlesen des Reassemblers | ||
+ | ;Starten des Reassemblers | ||
+ | |||
+ | ROBOTRON Z 1013 REASS 1.02 | ||
+ | |||
+ | AB BIS ORG-ADRESSE: | ||
+ | 1000 1020 3C00 | ||
+ | </ | ||
+ | |||
+ | Zu beachten ist, dass der Reassembler auch bei ASCII-Zeichen | ||
+ | eine Übersetzung versucht! Daraus können mitunter Verschiebungen entstehen, | ||
+ | die dann auch bei richtigen Maschinenbefehlen | ||
+ | zu einer falschen Rückübersetzung führen. Nach einigen Bytes | ||
+ | fängt sich der Reassembler und arbeitet wieder korrekt. | ||
+ | In der meisten nachfolgenden Programmen erfolgt der Abbruch | ||
+ | mit S4/K (Shift 4/K). | ||
+ | |||
+ | ===== Anlage 12: Liste des BASIC-Interpreters ===== | ||
+ | |||
+ | Speicherbereich: | ||
+ | |||
+ | Beachte: Bei Benutzung einer größeren Alpha-Tastatur ist | ||
+ | bei der INPUT-Anweisung keine Umschaltung (HEXUM/ | ||
+ | Deshalb sind um BASIC die 3 Speicherplätze ab Adresse 43BH | ||
+ | (CD 12 01) und ab Adresse 443H (CD 15 01) auf Null (00 00 00) zu setzen! | ||
+ | |||
+ | Leider habe ich bis jetzt (01.03.2000) noch keinen originalen | ||
+ | BASIC-Interpreter. Aber die Version mit geaenderten CLOAD/ | ||
+ | unterscheidet sich kaum davon. | ||
+ | |||
+ | ===== Anlage 13: MC-Beispielprogramme ===== | ||
+ | |||
+ | ==== 1. Zaehlermodul ==== | ||
+ | |||
+ | Mit diesem Programm können über den Tonbandeingang | ||
+ | NF-Messungen ausgeführt werden. Startadresse: | ||
+ | |||
+ | ==== 2. Musikmodul ==== | ||
+ | |||
+ | Mit diesem Programm können sie Melodien über den Tonbandausgang | ||
+ | abspielen, die sie vorher programmiert haben. Drehen | ||
+ | sie also den Lautstärkeregler ihres angeschlossenen Magnetbandgerätes | ||
+ | etwas auf und stellen sie " | ||
+ | |||
+ | Das Programm besteht aus drei Teilen; dem eigentlichen Programm | ||
+ | ab Adresse 100H und einer Hilfstabelle ab Adresse 170H. | ||
+ | |||
+ | Die Melodie wird im Speicher ab Adresse 190H abgelegt und nach | ||
+ | folgender Vorschrift gebildet: | ||
+ | |||
+ | 1. Ein Ton erfordert die Eingabe von 4 Hexdezimalziffern: | ||
+ | |||
+ | Tonlaenge - Tonhoehe - Pausenlaenge - Pausenzeichen (FFH) | ||
+ | |||
+ | 2. Tonlänge (1/96 Note * Wert) | ||
+ | |||
+ | Als Hexa-Zahl! | ||
+ | |||
+ | | 1/1 | 60 | | ||
+ | | 1/2 | 30 | | ||
+ | | 1/4 | 18 | | ||
+ | | 1/8 | 0B | | ||
+ | | 1/16 | 06 | | ||
+ | |||
+ | 3. Tonhöhe | ||
+ | |||
+ | Als Hexa-Zahl! | ||
+ | |||
+ | | C | 00 | | ||
+ | | CIS | 02 | | ||
+ | | D | 04 | | ||
+ | | DIS | 06 | | ||
+ | | E | 08 | | ||
+ | | F | 0A | | ||
+ | | FIS | 0C | | ||
+ | | G | 0E | | ||
+ | | GIS | 10 | | ||
+ | | A | 12 | | ||
+ | | AIS | 14 | | ||
+ | | H | 16 | | ||
+ | | C' | 18 | | ||
+ | |||
+ | |||
+ | ==== 3. Orgel ==== | ||
+ | |||
+ | Eine andere Möglichkeit des Musikmachens mit dem Z1013 bietet | ||
+ | dieses kleine Programm. Wenn sie es ab Adresse 300H eingeben, | ||
+ | das Tonbandgerät auf " | ||
+ | etwas aufdrehen, koennen sie die untere Reihe der Tastatur als | ||
+ | kleine Orgeltastatur benutzen. Der Inhalt der Speicherzelle mit | ||
+ | der Adresse 31FH bestimmt die Tonlänge eines Zyklus. Die Tonhöhe | ||
+ | der einzelnen Tasten wird in der Tabelle ab Adresse 333H | ||
+ | gespeichert. Sie können mit dem M-Kommando ab Adresse 333H auch | ||
+ | eine andere Tonleiter eingeben. Zum Beispiel: | ||
+ | # M 333 | ||
+ | 0333 # 40 39 33 30 2B 26 22 1F ; (ist unguenstiger bei 2 MHz) | ||
+ | wollen sie selbst eine Tonleiter entwerfen, so beginnen sie mit | ||
+ | dem Grundton und ändern sie die folgenden Töne nach Gehör. | ||
+ | |||
+ | ==== 4. Sirene ==== | ||
+ | |||
+ | Wenn sie das ihr Tonbandgerät | ||
+ | wie oben einrichten, so erhalten sie nach dem Starten als Ergebnis | ||
+ | einen auf- und abschwellenden Ton. Dieser Sirenenton kann auch | ||
+ | aufgezeichnet werden und für obiges Programm | ||
+ | als Eingangsignal verwendet werden. | ||
+ | |||
+ | durch Veränderung der Speicherzellen auf den | ||
+ | Adresse mit neuen Inhalten | ||
+ | |||
+ | < | ||
+ | 381H | ||
+ | 383H | ||
+ | 385H | ||
+ | 3ABH 30H...20H...10H | ||
+ | 60H...40H...11H | ||
+ | 01H...10H...04H | ||
+ | 30H...20H...10H | ||
+ | (bei 2 MHz) | ||
+ | 60H | ||
+ | E0H | ||
+ | 10H | ||
+ | 60H | ||
+ | </ | ||
+ | |||
+ | ist der Sirenenton in weiten Grenzen variierbar. | ||
+ | |||
+ | ==== 5. Ohne Fleiß - kein Preis ==== | ||
+ | |||
+ | Mit dem folgenden Programm können sie schon ein kleines | ||
+ | Computerspiel durchführen. Das Programm wird ab Adresse 100H | ||
+ | bis Adresse 353H eingegeben und auf Adresse 100H gestartet. | ||
+ | mit " | ||
+ | Mit " | ||
+ | |||
+ | ===== Anlage 14: BASIC Beispielprogramme ===== | ||
+ | |||
+ | |||
+ | Die hier angegebenen Programme in der Programmiersprache BASIC | ||
+ | erfordern die Z1013 Variante mit 16K RAM und das Vorhandensein | ||
+ | des "3K BASIC VON RER". Eine Erlaeuterung der Programme erfolgte | ||
+ | nur dort, wo es fuer erforderlich gehalten wurde. Ansonsten | ||
+ | reicht die enthaltene Bedienerfuehrung fuer das Verstaendnis | ||
+ | der Programme aus. | ||
+ | |||
+ | |||
+ | ==== 1. BASIC-Programm zum Speichern von Adressen und Telefonnummern ==== | ||
+ | |||
+ | Mit diesem BASIC-Programm ist es möglich, ein Adressverzeichnis | ||
+ | aufzubauen, anzuzeigen und zu korrigieren, | ||
+ | nach einem bestimmten Namen suchen, alle Adressen nach dem Anfangsbuchstaben | ||
+ | sortieren und ein Verzeichnis auf dem Bildschirm | ||
+ | ausgeben lassen, in dem nur Telefonnummer und Name erscheinen. | ||
+ | Wenn vor Programmstart die RAM-Grenze mit der Anweisung; | ||
+ | |||
+ | END HEX(3FFF)-64 | ||
+ | |||
+ | im BASIC erweitert wird, sind maximal 80 Adressen speicherbar. | ||
+ | Bei höheren Forderungen müssen die Daten auf Magnetbandkassette | ||
+ | abgespeichert werden oder es ist ein anderes Satzformat | ||
+ | zu wählen (im Programm ist die Satzlänge auf 100 Byte festgelegt). | ||
+ | Der Dateianfang wurde in Zeile 40 mit E=8600 festgelegt, | ||
+ | Dass der Wert für TOP kleiner als 8600 ist. Ansonsten müsste | ||
+ | der Anfangswert für E erhöht werden. | ||
+ | |||
+ | |||
+ | ==== 2. BASIC-Programm " | ||
+ | |||
+ | Mit diesem BASIC-Programm können Begriffe, Sprichwörter oder | ||
+ | Sätze abgespeichert werden. Die maximale Satzlänge sollte ein | ||
+ | Vielfaches von 32 sein. Die maximale Anzahl der Sätze sollte | ||
+ | nicht über 120 liegen. Entsprechend dem Menü kann der Spielmeister | ||
+ | die Begriffe aufbauen, zur Kontrolle anzeigen, korrigieren, | ||
+ | testen und auf Magnetbandkassette abspeichern. | ||
+ | |||
+ | Die Spielidee besteht darin, dass in einer Spielrunde vom Spielmeister | ||
+ | Begriff für Begriff abgerufen werden kann. Dabei wird | ||
+ | jeder Buchstabe des Begriffes durch einen Strich angezeigt. | ||
+ | Die Mitspieler haben nun die Möglichkeit den Begriff zu erraten | ||
+ | bzw. durch Eingabe eines Buchstabens diesen um Begriff an allen | ||
+ | vorkommenden Stellen aufzublenden. Damit wird der Begriff immer | ||
+ | vollstaendiger. Wurde der Begriff von einem Mitspieler richtig | ||
+ | erraten, so kann dieser durch Betaetigung der ENTER-Taste zur | ||
+ | Anzeige gebracht werden. | ||
+ | |||
+ | |||
+ | ==== 3. BASIC-Programm zum Raten einer durch die RND-Funktion ermittelten Zahl ==== | ||
+ | |||
+ | In dem folgenden BASIC-Programm wird die Anwendung der Fensterfunktion | ||
+ | des Monitors gezeigt. In dem Unterprogramm ab Zeile | ||
+ | 600 werden auf ARG1(1BH) und ARG2(1DH) die Bildschirmadressen | ||
+ | (EC00H bis F000H) mit der POKE-Anweisung gebracht (z.B.: | ||
+ | Fenster). Mit der CALL-Anweisung auf Zeile 630 direkt in das | ||
+ | Monitorprogramm (Adresse F6D1) werden die neuen Adressen des | ||
+ | Rollfensters uebernommen. Ein anderes Rollfenster wird ab Zeile | ||
+ | 350 eingestellt (ED40H bis F000H). Zu beachten ist, dass man vor | ||
+ | Verlassen des Programmes wieder auf volles Rollfenster stellen | ||
+ | muss (Zeile 580). | ||
+ | |||
+ | Bei diesem Zahlenratespiel besteht die Moeglichkeit den Zahlenbereich, | ||
+ | in welchem die Zufallszahl ermittelt werden soll, durch | ||
+ | die Eingabe in Zeile 400 festzulegen. Mit dem Test in Zeile 405 | ||
+ | werden ab 1 alle positiven Zahlen bis 32768 akzeptiert. | ||
+ | Mit der Variablen V wird die Anzahl der Versuche mitgezaehlt. | ||
+ | In Zeile 570 und 575 wird eine Warteschleife abgearbeitt, | ||
+ | die vorherige Ausschrift "Auf Wiederseh' | ||
+ | |||
+ | ==== 4. Mathe-Übungsprogramm in BASIC ==== | ||
+ | |||
+ | ==== 5. BASIC-Programm zur Darstellung von Größen im Balkendiagramm ==== | ||
+ | |||
+ | ==== 6. BASIC-Programm "Turm von Hanoi" ==== | ||
+ | |||
+ | ==== 7. BASIC-Programm " | ||
+ | |||
+ | ==== 8. BASIC-Programm "23 Streichhölzer" | ||
+ |