HC-BASIC
| HC-BASIC | |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Basisdaten | |
| Erscheinungsjahr: | 1984 |
| Designer: | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) |
| Entwickler: | Datei:Flag of East Germany.svg Forschungszentrum für Tierproduktion Dummerstorf-Rostock |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)) |
| Beeinflusst von: | Microsoft BASIC, Sinclair BASIC |
| Betriebssystem: | CAOS (HC 900, ff.), Z9001-OS (Z9001, ff.), „Monitorprogramm“ (Z 1013) |
| Lizenz: | Abandonware |
| Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value) | |
HC-BASIC (manchmal auch KC-BASIC genannt) ist ein BASIC-Interpreter aus der DDR. Er stellte in der DDR einen Quasi-Standard dar.
Geschichte & Entwicklung[Bearbeiten]
HC-Basic wurde für die 1984 auf den Markt gebrachten Kleincomputer Z 9001 und HC 900 bzw. KC 85/2 entwickelt. Bei der ersten Gerätegeneration war der Interpreter nicht integriert, sondern musste von Kassette oder Modul geladen werden. Die Nachfolger (ab KC 87 und KC 85/3) hatten diesen fest eingebaut. Das Programm war 10,5 kB groß.<ref name="robotronsprachen">Programmiersprachen. In: robotrontechnik.de – Die Geschichte der Computertechnik der DDR. www.robotrontechnik.de, abgerufen am 1. Mai 2015.</ref>
Wenig später erschien es für den Z 1013 vom VEB Robotron-Elektronik Riesa in einer leicht angepassten Version.<ref>HC-Basic[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 1. Mai 2015.</ref>
Beschaffung des Programmcodes[Bearbeiten]
Mit Aufnahme der Entwicklungen für einen Kleincomputer bei Robotron (Z 9001) sollte ein passender BASIC-Interpreter gefunden werden. Dazu zog man zwei Entwicklungen heran:
- VEB Transformatoren- und Röntgenwerk „TuR“ Dresden; 13 KB groß, beherrschte MAT-Befehle für Matrix-Operationen sowie Subroutinen, komplette Eigenentwicklung aber orientierte sich grob an HP BASIC
- Forschungszentrum für Tierproduktion Dummerstorf-Rostock; 8 KB groß, Mischung aus Microsoft BASIC und Sinclair BASIC sowie Bestandteile von Programmcode des Tischrechners HP 9845B enthalten
Schließlich entschied man sich für letztgenannte Version, da diese weniger Speicher benötigte und auf das weltweit etablierte Microsoft BASIC setzte. Es wurden nur noch kleinere Anpassungen vorgenommen. Ende 1983 / Anfang 1984 wurde das Endprodukt dem VEB Mikroelektronik „Wilhelm Pieck“ Mühlhausen (im Kombinat Mikroelektronik Erfurt) übergeben, um eine frühzeitige Kompatibilität zu gewährleisten.<ref>KC-BASIC[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 23. September 2015.</ref> Die Entwicklung aus Dummerstorf stammt wiederum aus einer Zeitschrift westlicher Herkunft, dessen 6-seitiges Hexdump in zwei Tagen abgetippt, getestet, angepasst und gespeichert wurde.<ref>Anlage 3 zum Dokument "Erzeugnislinie Heimcomputer, Kleincomputer und Bildungscomputer des VEB Kombinat Robotron Dresden" - Über die Entstehung der Prototypen der Robotron-Heimcomputer. (PDF; 197 kB) Klaus-Dieter Weise, S. 12f. (PDF)</ref>
Start[Bearbeiten]
BASIC musste immer vom Betriebssystem aus gestartet werden;
- Kaltstart: BASIC eingeben + Enter
- Warmstart: REBASIC eingeben + Enter<ref>HC-Basic. In: mpm-kc85.de. Abgerufen am 23. September 2015.</ref>
Unterschiede zu anderen BASIC-Dialekten[Bearbeiten]
Der Dialekt beherrschte über 100 Befehle und war somit umfangreich und komfortabel zu programmieren. Eine Programmzeile durfte nicht länger als 60 Zeichen sein.
Vorteile[Bearbeiten]
- über 100 Befehle zur Verfügung
- direkte Grafikbefehle wie Circle, Line usw. im Vergleich zu anderen Dialekten wie Commodore Basic V2 möglich
- gute Kompatibilität der unterschiedlichen Versionen untereinander
Nachteile[Bearbeiten]
- Fehlende Integerzahlen und dadurch v. a. langsamer Grafikaufbau mit PSET, VPOKE, VPEEK (nur KC85) sowie träge bei der Indizierung von Arrays sowie simplen Operationen wie A=A+1
- Lästige Integer-Beschränkung bei POKE/DOKE/PEEK/DEEK/AND/OR/NOT: Adressangabe bzw. Werte nur im Bereich −32768..32767 erlaubt
- RENUMBER gefährlich: Stürzt manchmal ab und kann nicht-monotone Nummerierungen generieren. Ein solches Programm ist nicht mehr editierbar und nur über LIST, Texteditor, LOAD rettbar.
- Lange Programme (> 16 KByte) langwierig zu editieren: Die Eingabe einer Zeile mit niedriger Zeilennummer verursacht das Verschieben des übrigen Programms im Speicher
- Fehlende „Sprungvorhersage“ und dadurch langsame GOTO und GOSUB bei langen Programmen; fehlende Tokenisierung der Sprungziele und von numerischen Konstanten
- Fehlende „double“-Gleitkommazahlen verhindern Nutzbarkeit für geodätische und astronomische Anwendung sowie numerische Simulation
Datensicherung[Bearbeiten]
Das Speichern und Laden von tokenisierten Programmen ist via Kassette, Diskette und (USB-)Modul möglich, Kommando CSAVE und CLOAD. Die Formatendung lautet .sss. Dabei handelt es sich um einen Speicherabzug. Ein solches Programm ist nur mit einem Ent-Tokenisierer extern bearbeitbar.
Zudem ist das Speichern und Laden von Text möglich, mit LIST#1 und LOAD#1. Da das Einlesen langsam geht werden beim Speichern auf Kassette extra lange Vortöne (Synchronmuster) zwischen den 128-Byte-Datenblöcken generiert. Ein solcherart gespeichertes Programm kann extern bearbeitet werden.
Codebeispiel[Bearbeiten]
<syntaxhighlight lang="basic">
10 COLOR0,7:CLS 20 PRINT 30 PRINT"Darstellung der Funktion Z=X*X-Y*Y" 40 W=PI/8 50 A=0:B=0:D=0 60 F1=20:F2=5:F3=8 70 V1=160:V2=100 80 CO=COS(W):SI=SIN(W) 90 SY=-.5:SX=-.03 100 FOR ZA=1 TO 2 110 FOR YR=3 TO -4 STEPSY 120 FOR XR=3 TO -3 STEPSX 130 ZR=YR*YR-XR*XR 140 X=INT(F1*(A+XR)+F3*(YR+C)*CO+V1) 150 Y=INT(F2*(B+ZR)+F3*(YR+C)*SI+V2) 160 PSET X,Y,0 170 NEXT XR,YR 180 IF ZA=1 THEN SY=-.04:SX=-.5 190 NEXT ZA
</syntaxhighlight>
Preise[Bearbeiten]
War HC-BASIC separat zu erwerben, lauteten die Preise (in Mark)<ref>C0111 BASIC-Interpreter. In: mpm-kc85.de. Abgerufen am 1. Mai 2015.</ref><ref>M006 BASIC. In: mpm-kc85.de. Abgerufen am 1. Mai 2015.</ref><ref>Kassetten Robotron[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 1. Mai 2015.</ref><ref>Module robotron[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 1. Mai 2015.</ref><ref>Kleincomputer aus Riesa. In: Die Geschichte der Computertechnik der DDR. robotrontechnik.de, abgerufen am 1. Mai 2015.</ref> wie folgt:
| System | Kassette | ROM-Modul |
|---|---|---|
| HC 900 bzw. KC 85/2 | 99,00 M<ref>Kassette C0111 Basicinterpreter für den HC900. In: KC85-Museum. kc85-museum.de, abgerufen am 2. Mai 2015.</ref> | n. b. |
| Z 9001 bzw. KC 85/1 | 87,00 M | 785,00 M |
| Z 1013 | im Lieferumfang enthalten | – |
Verbreitung & Bedeutung[Bearbeiten]
Die Stückzahl der verkauften BASIC-Interpreter (ROM-implementiert und separat gekauft) korreliert in etwa mit der Stückzahl der verkauften Kleincomputer aller Varianten.
| System: | Verkaufte Einheiten: |
|---|---|
| HC 900 ff. | mind. 50.000 (nur 85/4)<ref>RFT KC 85/4. In: heimcomputer.de. Abgerufen am 1. Mai 2015.</ref> |
| Z 9001 ff. | ~ 30.000*<ref>Klaus-Dieter Weise: Erzeugnislinie Heimcomputer, Kleincomputer und Bildungscomputer des VEB Kombinat Robotron. (PDF; 391 kB) UAG Historie Robotron der Arbeitsgruppe Rechentechnik in den Technischen Sammlungen Dresden, 1. Dezember 2005, S. 37, abgerufen am 1. Mai 2015.</ref> |
| Z 1013 | ~ 25.000* |
| Gesamt: | mind. 105.000 |
Konkurrenz war eigentlich politisch sowie ideologisch nicht gewollt.<ref>Peter Salomon: Die Geschichte der Mikroelektronik-Halbleiterindustrie in der DDR. Funkverlag Bernhard Hein e.K., 2003, ISBN 3-936124-31-0, S. 89–90.</ref> Andere Interpreter wie Tiny-Basic (sog. „Mini-Basic“ für Z 1013 und JU+TE-Computer)<ref>Tiny-Basic[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 1. Mai 2015.</ref><ref>JU+TE TINY[Homecomputer DDR]. In: hc-ddr.hucki.net. Abgerufen am 1. Mai 2015.</ref> erlangten keine größere Bedeutung, da keine Kompatibilität gewährleistet war.
„Professionelle“ BASIC-Interpreter wie für DCP spielten aufgrund der Preise (1980,00 M) und der anderen Zielgruppe für den Privatanwender keine Rolle.<ref name="robotronsprachen" /> Auch in den Schulen, in der Ausbildung / Weiterbildung usw. wurde Programmieren nahezu nur mit HC-BASIC gelehrt.<ref>Computerkabinett. In: Die Geschichte der Computertechnik der DDR. robotrontechnik.de, abgerufen am 1. Mai 2015.</ref><ref>DDR-Computer im militärischen Einsatz. In: robotrontechnik.de - Die Geschichte der Computertechnik der DDR. www.robotrontechnik.de, abgerufen am 1. Mai 2015.</ref>
Ein Export der Technik oder des Interpreters war von Anfang an ausgeschlossen, weder in die Staaten des RGW noch in den Raum des NSW.
Weblinks[Bearbeiten]
- KC-BASIC. In: 8Bit-Homecomputer aus der DDR. homecomputer-ddr.de.vu, abgerufen am 2. Mai 2015.
Einzelnachweise[Bearbeiten]
<references />