Robotron Z 1013
Robotron Z 1013 | |
---|---|
Typ | Heimcomputer |
Hersteller | robotron |
Neupreis | 965 Ostmark in 1987 für den Z 1013.16 [1] |
Erscheinungsjahr | 1985 |
Produktionsende | 1990 |
Prozessor | U880 mit 1 oder 2 MHz |
OS | Monitor, optional Brosig Monitor, BASIC oder Forth |
Sonstiges |
|
Der Heimcomputer-Bausatz Robotron Z 1013 des Kombinates Robotron zählt zu den DDR-Kleincomputersystemen.
In den ersten Jahren wurden Schaltkreise verminderter Qualität verbaut, dafür aber war er nach Vorbestellung via Postkarte und Selbstabholung in Erfurt auch privat erwerblich. Im Zeitraum 1985 bis 1990 wurden rund 25.000 Stück hergestellt.
Für den Expansionsport des Z 1013 gab zahlreiche Erweiterungen. Käuflich waren RAM-, I/O- und ROM-Steckkarten. Im Eigenbau wurden diverse Grafikerweiterungen sowie Interface-Karten für QWERTZ-Tastaturen und Diskettenlaufwerke hergestellt.
Aufbau[Bearbeiten | Quelltext bearbeiten]
Der Z 1013 war ein Bausatz. Er bestand aus der bestückten und getesteten Hauptplatine mit Reset-Taster, einer Folientastatur sowie der Dokumentation. Ein Gehäuse, Kabel, Sicherungen sowie der notwendige 12 Volt Transformator waren nicht enthalten und mussten separat besorgt werden.
Weiterhin gab es ab 1987 auch Bausätze, bei denen die elektronischen Bauteile auf der Hauptplatine selber eingelötet werden mussten. Diese waren günstiger zu bekommen.
Der Z 1013 verfügte über einen eingebauten HF-Modulator. Mit einem Koaxialkabel konnte damit ein analoges Fernsehgerät auf VHF Kanal 3 zur Wiedergabe genutzt werden. Alternativ war das BAS-Signal für Monitore mit Composite-Video-Eingang verfügbar.
Der Z 1013 verfügte über nur einen K 1520 Expansionsport. Dieser kann jedoch mit einem Bus-Erweiterungsmodul um zusätzliche Expansionsports erweitert werden.
Übliche Peripheriegeräte waren der Kassettenrekorder (Datasette) Geracord 6020 Portable und und das Fernsehgerät Junost-402B.
Das Betriebssystem war der Monitor, sowie optional BASIC, was von Kassette nachgeladen werden musste und dadurch den benutzbaren Arbeitsspeicher deutlich reduzierte. Das verwendete HC-BASIC bzw. KC-BASIC war 10 KByte groß, basierte auf dem Extended Microsoft BASIC und wurde vom Landwirtschaftlichen Institut Dummerstorf entwickelt.
Deutlich kleiner war Tiny BASIC für den Z 1013 mit 3 KByte, welches 1975 unter einer Public Domain Lizenz entwickelt wurde.
Die Folientastatur des Z 1013 ist 16 cm × 8 cm groß, hat ein 8 × 4 Tastenfeld und ist völlig unergonomisch.
Offiziell gab es kein Diskettenlaufwerk für den Z 1013.
Technische Details[Bearbeiten | Quelltext bearbeiten]
- Hauptplatine: angepasste Versionen, Größe ca. 215 × 230 mm
- Prozessor: U880, ein nicht lizenzierter Nachbau des Zilog Z80, mit 1 MHz (Z 1013.01) oder 2 MHz
- Speicher:
- ROM:
- 2 KByte oder 4 KByte mit dem Monitor als OS
- 2 KByte für Zeichengenerator mit 96 ASCII-Zeichen und 146 Grafikzeichen
- RAM:
- 16 KByte DRAM (Z 1013.01 und Z 1013.16)
- 64 KByte DRAM (Z 1013.64)
- 1 KByte SRAM (nur für industrielle Kunden, Z 1013.12)
- 1 KByte SRAM Bildschirmspeicher
- ROM:
- Ein- und Ausgabe:
- 8 Kanäle des E/A PIO-Klons U855
- Grafik:
- Textmodus mit 32×32 Zeichen, schwarz/weiß
- keine Vollgrafik, keine Sprites, kein Hardwarescrolling und keine Interrupts
- Zeichengenerator konnte nicht in das RAM gelegt werden um ihn zu verändern
- Sound:
- nicht vorhanden
Anschlüsse
- Tastatur (13×2-polig)
- Userport (PIO, 5×3-polig)
- Kassettenrekorder (5-poliger DIN-Anschluss)
- Antennenbuchse des integrierten HF-Modulator
- K 1520 Expansionsport (29×2-polig)
- 12 Volt 50 Hertz 1 Ampere Spannungsversorgung (zwei Flachzangen)
Tastatur[Bearbeiten | Quelltext bearbeiten]
Es gibt 4 verschiedene SHIFT-Tasten von S1 bis S4, um alle Zeichen auf der 32 Tasten-Tastatur eingeben zu können:[2]
- S1 + andere Taste in Großschrift: @ABCDEFGHIJKLMOPQRSTUVW
- S2 + andere Taste in Großschrift: XYZ[/]^_0123456789:;<=>
- S1 + andere Taste in Kleinschrift: 'abcdefghijklmnopqrstuvw
- S2 + andere Taste in Kleinschrift: xyz{|}+*~_!"#$%&'()*+,-./
- S3 : Umschalten zwischen Klein- und Großschrift.
- S4 + T : Bildschirm wird gelöscht und Cursor befindet sich oben links (Clear Screen oder CLS).
- S4 + U : Wirkt wie das Drücken der Taste ENTER
- S4 + P : Cursor wird nach links bewegt.
- S4 + Q : Cursor wird nach rechts bewegt.
- S4 + G : Aktiviert die Grafikzeichen, d. h. die Zeichencodetabelle 128-255 kann über die Tastatur eingeben werden.
- S4 + A : Aktiviert wieder die Alpha-Numerischen Zeichen, d. h. die Zeichencodetabelle (0)/32-127 (Standard-Tastatur-Modus)
Speicherbelegungsplan[Bearbeiten | Quelltext bearbeiten]
Der Speicherbelegungsplan des Z 1013.[3] Hinweis: Der U880-Prozessor benutzt zum Zugriff auf I/O-Geräte überwiegend das Portmapping [1] und nicht das Memorymapping [2] wie der MOS 6502. Portmapping verwendet für I/O-Geräte einen eigenen Adressraum und der Prozessor hat die I/O-Befehle IN und OUT um ihn anzusprechen.
Adresse: | Speichernutzung: ===========|=========================== 0000-00FF | Systemspeicher (Stacks, Tabellen und Puffer) 0100-03FF | Nutzerspeicher Z 1013.12 0100-3FFF | Nutzerspeicher Z 1013.01 und Z 1013.16 0100-EBFF | Nutzerspeicher Z 1013.64 4000-EBFF | optionale K 1520 Bus Erweiterungen EC00-EFFF | Bildwiederholspeicher (1 KByte SRAM) F000-F7FF | Monitor Z 1013.01 oder Industrieprogramm Z 1013.12 (2 KByte ROM) F000-FFFF | Monitor Z 1013.16 und Z 1013.64 (4 KByte ROM)
Monitor[Bearbeiten | Quelltext bearbeiten]
Der eingebaute Maschinensprachemonitor kennt folgende Befehle bzw. Funktionen:[4]
- A : Alpha-Numerische-Umschaltung (Grundzustand)
- B <Adresse> : Adresse muss im RAM liegen (Breakpoint - Haltepunkt)
- C <Adresse1> <Adresse2> <Anzahl>: Vergleicht 2 Speicherbereiche miteinader (Compare)
- D <Anfangsadresse> <Endadresse>: Zeigt verschiedene Speicherbereiche von Anfangs- bis Endadresse an, ausgenommen der Bereich von FFF8 bis FFFF (Display Memory)
- E <Startadresse>: Startet ein Maschinenspracheprogramm bei dieser Startadresse bis zur nächste Haltepunktadresse (Execute)
- F <Anfangsadresse> <Anzahl> aa bb cc: Sucht bestimmte Bytes ab der Anfangsadresse (Find)
- G : Fortsetzung eines Programms ab der Haltepunktsadresse (Go)
- H : Hexadezimalumschaltung, d.h die Zahlen 0 bis 9 und entsprechende Sonderzeichen werden für die SHIFT-Ebene 0 auf die Tasten H bis Q gelegt. Vereinfacht die hexadezimale Eingabe von Adressen
- I : Löschte alle Register-Bereiche und der Rechner wird im Grundzustand versetzte (Initalisierung bzw. Reset)
- J <Startadresse> : Startet ein Programm ab der Startadrese, wobei Haltepunktadressen nicht berücksichtigt werden (Jump)
- K <Adresse> <Endadresse> bb : Löscht oder füllt einen Speicherbereich mit Byte bb (Kill)
- L <Anfanfsadresse> <Endadresse> : Lädt ein abgespeichertes Programm in den angegebenen Speicherbereich von Kassette. (Load from Cassette)
- M <Adresse> : Zeigt Byteweise den Speicher ab dieser Adresse an. Mit der Taste ENTER werden die alten Werte übernommen, ansonten können ein bis mehrere neue Byte-Werte mit Leerzeichen getrennt eingegeben werden (Modify)
- N : Im Schrittbetrieb wird der nächste Befehl ausgeführt (Next)
- S <Anfangsadresse> <Endadresse> : Speichert den ausgewählten Speicherbereich auf Kassette ab.(Save to Cassette)
- T <Anfangsadresse> <Zieladresse> <Anzahl>: Ein Speicherbereich wird von der Anfangsadresse zur Zieladresse mit der angegebenen Byte-Anzahl umkopiert (Transfer)
- W <aaaa> <eeee> : Fensterfunktion mit Rollfunktion; mit kleinster Bereich mit 2-zeiligen Fenster aaaa=EFC0 bis eeee=F000, sowie volles Fenster mit aaaa=EC00 bis eeee=F000 (Window)
Hinweis: Alle Zahlen und Adressen werden hexadezimal angegeben.
Weiterhin kann der Monitor leicht um eigene Funktionen erweitert werden, um die Arbeit zu erleichtern.
BASIC[Bearbeiten | Quelltext bearbeiten]
Das vorwiegend eingesetzte Z 1013 BASIC 3K basiert auf Tiny Basic, welches nur rund 3 KByte benötigt und im Jahr 1975 als Public Domain von Dennis Allison entwickelt wurde. Im Gegensatz zum HC-BASIC, welches rund 10 KByte benötigt, können hier nur die Zeilennummern 1 bis 32767 sowie lediglich bis zu 64 Zeichen je Programmzeile benutzt werden.
Es enthält folgende BASIC-Befehle:[5]
Kommandos[Bearbeiten | Quelltext bearbeiten]
BYE - BASIC-Interpreter verlassen
CLOAD - Lädt ein BASIC-Programm von Kassette
CSAVE "name" - Speichert ein BASIC-Programm unter diesem Dateiname (max. 16 Zeichen) auf Kassette ab.
LIST (Zeilenr.) - Auflisten des BASIC-Programms komplett oder ab Zeilenr bis die nächsten 20 Zeilen.
NEW - Löschen des BASIC-Speichers bzw. -Programms (könnte durch Tricks aber wiederhergestellt werden!)
RUN - Starten eines BASIC-Programms
END <Adresse> - Verändert das Ende des BASIC-Arbeitsspeichers. Wichtig ist dabei, das die letzten 140 Bytes hinter dem BASIC-Programms frei bleiben müssen! Bspw.: END HEX(3FFF)-140
Befehle[Bearbeiten | Quelltext bearbeiten]
'ASCII-Zeichen' - Funktion: Wandelt ein ASCII-Zeichen in einen Dezimalwert (0 bis 255, siehe Zeichentabelle) um @(Variable|Zahl) - eindimensionales Feld oder Vektor von 0 bis 9. ABS (Wert|Variable) - Funktion: Absoluter Betrag BYTE (X) - Ausgabe hexdezimal 8-Bit-Wert mit X-Werte von 0 bis 255 CALL <Hex-Adresse> - Aufruf eines Maschinensprache-Unterprogramms ab Speicheradresse in Hexadezimal. FOR - Schleifenbeginn einer FOR-(TO-STEP)-NEXT-Schleife; bspw.:FOR X=1 TO 200 STEP 4; PRINT X*5; NEXT X
GOSUB <Zeilenr.> - Aufruf eines BASIC-Unterprogramm ab Zeilennr. GOTO <Zeilenr.> - Sprung zur angegebenen BASIC-Zeilenr. HEX (xxxx) - Umwandlung hexadezimal xxxx (0000 bis FFFF) in eine Dezimalzahl; sinnvoll nutzbar bspw. bei:POKE HEX (EC00), HEX (106)
I$ (TOP) - Eingabe Zeichenkette IF - Bedingungabfrage von IF-(Vergleiche)-THEN; bspw.:IF A#64 THEN PRINT 'KEIN C64'
IN - Eingabe von Maschinenport INCHAR - Eingabe von Zeichen der Tastatur. Dabei erfolgt keine Anzeige der Tastatureingabe. Allerdings wartet das Programm auf die Tastatureingabe. INPUT <Variable> - Eingabe einer Zahl an die Zahlen-Variable LEN - Pseudovariable, enthält Länge der zuletzt eingegebenen Zeichenkette I$ LET - Zuweisung von Variablen, kann aber entfallen NEXT <Variable> - Schleifenende einer FOR-(TO-STEP)-NEXT-Schleife O$ (TOP) - Ausgabe Zeichenkette OUT (0|1)=Wert - Ausgabe von Dezimalwerten 0 bis 255 auf Maschinenport OUTCHAR (Zahl|Variable) - Ausgabe eines Dezimalwertes von 0 bis 255 (siehe Zeichentabelle) als ASCII-Zeichen; bspw.:OUTCHAR 12
- löscht den Bildschirm (Clear screen) PEEK <Adresse> - Lesender direkter Speicherzugriff auf dezimale Speicheradresse von 0 bis 65535 ist möglich. POKE <Adresse>, <Wert> - Schreibender direkter Speicherzugriff auf Speicheradresse mit dezimalen Wert von 0 bis 255 ist möglich. PRINT - Ausgabe von Zeichen(ketten), Zahlen, Variablen Beispiel:X=64; PRINT 'Zahl',#2,X, ;PRINT 'C128'
- Verändert die Position der auszugebenden Zahl, weil alle Zahlen 6-stellig rechtsbündig ausgegeben werden, wobei die erste Stelle für das Vorzeichen vorbehalten ist. REM Text - Kommentarzeile, d.h. alle Texte in dieser Zeile werden ignoriert. RETURN - Rückkehr vom BASIC-Unterprogramm RND (x) - Zufallszahl generieren zwischen 1 und den Wert x SIZE - Pseudovariable, enthält Angabe über noch verfügbaren BASIC-Speicher (freie Bytes) STEP - Schrittweite einer FOR-(TO-STEP)-NEXT-Schleife, wobei diese nicht unbedingt genutzt werden muss. Entfällt diese, ist die Schrittweise stets 1. STOP - Programmende TAB (X) - Ausgabe eines Zwischenraums (Tabulatorfunktion) von X Leerzeichen. TO - Schleifenendwert einer FOR-(TO-STEP)-NEXT-Schleife TOP - Pseudovariable, erster freier Speicherplatz hinter dem BASIC-Programm als dezimaler Wert. WORD (X) - Ausgabe hexadezimal 16-Bit-Wert von 0000 bis FFFF von dezimalen Zahlen von 0 bis 65535.
Vergleichsoperatoren[Bearbeiten | Quelltext bearbeiten]
<= größer gleich # ungleich > größer = gleich <= kleiner gleich < kleiner
Arithmetische Operationen[Bearbeiten | Quelltext bearbeiten]
Berechnungen können im Zahlenbereich von -32768 bis +32767 nur ganzzahlig durchgeführt werden. Folgende Operatoren stehen zur Verfügung
+ Addition - Subtraktion / Divison (Ergebnis nur ganzzahlig, d. h. bspw. 5/2=2 !) * Multiplikation
Weiterhin können mit Klammern () mathematische Terme gebildet werden und die allgemein gültige Rechenregel Punkt- geht vor Strichrechnung wird beachtet.
Weitere Hinweise:
- Mehrere Befehle in einer Zeile werden mit einem Semikolon ; abgetrennt, bspw:
1000 PRINT A; A=A+1; GOTO 1000
- Zeichenketten (Strings) werden in Hochkommatas ' eingebettet, bswp:
PRINT 'Zeichen'
- Verschiedene Variablen oder Zeichenketten werden mit Kommatas abgetrennt
B=1; PRINT 'A', B, C
- Wird ein PRINT-Befehl mit einem Komma beendet, so erfolgt die Ausgabe des nächsten PRINT-Befehl direkt in der gleichen Zeile; bspw.:
PRINT 'Text', ; PRINT 256
- Es gibt nur einfache, ganzzahlige Zahlenvariablen, die aus einbuchstabigen Variablennamen als Großbuchstabe von A bis Z bestehen.
Software[Bearbeiten | Quelltext bearbeiten]
Für den Z 1013 gibt es die BASIC-Programmkassette M0111, die aus folgenden Seiten und Programme besteht:
- Seite A: Programme für 2 MHz Taktfrequenz
- Seite B: Programme für 1 MHz Taktfrequenz
- 0. Rauschen zur Tonkopfeinsteinstellung (Tool zur Justierung des verwendeten Kassetenrekorders als Speichergerät)
- 1. Z 1013 BASIC 3K (BASIC-Interpreter)
- 2. Adressen und Telefonverz. (Anwendung)
- 3. Begriffe Raten (Quiz)
- 4. Zahlen Raten (Quiz, Lernspiel)
- 5. Mathe Übung (Lernspiel)
- 6. Balkendiagramm
- 7. Turm von Hanoi (Denkspiel)
- 8. Mastermind (Denkspiel)
- 9. 23 Streichhölzer (Logikspiel)
- 10. KC-BASIC 10K (HC-BASIC-Interpreter)
- 11. Mondlandung (Spiel)
Dokumentation[Bearbeiten | Quelltext bearbeiten]
Mitgeliefert wurde folgende Bedienungsanleitung:
- Z 1013 Mikrobausatz - Bedienungsanleitung, bestehend aus:
- Z 1013 Mikrobausatz - Handbuch Teil I
- Z 1013 Mikrobausatz - Handbuch Teil II
- Z 1013 Mikrobausatz - Anlagenteil
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: Robotron Z 1013 |
Wikipedia: HC-BASIC |
- Viele Infos zum "Mikrorechnerbausatz robotron Z1013" auf Z1013.de
- "Kleincomputer Z1013 aus Riesa" auf robotrontechnik.de
- Z1013 auf "Homecomputer DDR" / hc-ddr.hucki.net/ - Ebenfalls sehr umfangreich mit u. a. CP/M, Erweiterungen, Handbücher, Literatur, Module, Software, Hardware, Joysticks, Werbung, usw.
Wikipedia: Tiny BASIC |
Quellen
- ↑ www.robotrontechnik.de/index.htm?/html/computer/kc_riesa.htm
- ↑ Mikrorechnerbausatz Z 1013 - Bedienungsanleitung
- ↑ Homecomputer DDR - Entwicklungsunterlagen - Speicheraufteilung auf hc-ddr.hucki.net
- ↑ Mikrorechnerbausatz Z 1013 - Bedienungsanleitung
- ↑ Mikrorechnerbausatz Z 1013 - Bedienungsanleitung - Handbuch Teil II und Anlagenteil