# HC-BASIC

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

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ß.
Wenig später erschien es für den Z 1013 vom VEB Robotron-Elektronik Riesa in einer leicht angepassten Version.

### Beschaffung des Programmcodes

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. Die Entwicklung aus Dummerstorf stammt wiederum aus einer Zeitschrift westlicher Herkunft, dessen 6-seitiges Hexdump in zwei Tagen abgetippt, getestet, angepasst und gespeichert wurde.

## Start

BASIC musste immer vom Betriebssystem aus gestartet werden;
* Kaltstart: BASIC eingeben + Enter
* Warmstart: REBASIC eingeben + Enter

## Unterschiede zu anderen BASIC-Dialekten

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

* ü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

* teilweise sehr langsame Grafik wie bei den meisten BASIC-Dialekten
* Das Löschen des Bildschirms dauerte ≈1,75 s, das Scrollen ≈0,6 s; dies verbesserte sich erst mit dem KC 85/4 deutlich
* Bei Speicherzugriffen durch die CPU kam es zu Bildstörungen (behoben ab KC 85/4)

## Datensicherung

Das Speichern und Laden von Programmen war via Kassette, Diskette und Modul möglich. Die Formatendung lautete .sss.

## Preise

War HC-BASIC separat zu erwerben, lauteten die Preise (in Mark) wie folgt:
| System | Kassette | ROM-Modul |
| HC 900 bzw. KC 85/2 | 99,00 M | n. b. |
| Z 9001 bzw. KC 85/1 | 87,00 M | 785,00 M |
| Z 1013 | im Lieferumfang enthalten | – |

## Verbreitung & Bedeutung

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) |
| Z 9001 ff. | ~ 30.000* |
| Z 1013 | ~ 25.000* |
| Gesamt: | mind. 105.000 |
Konkurrenz war eigentlich politisch sowie ideologisch nicht gewollt. Andere Interpreter wie Tiny-Basic (sog. „Mini-Basic“ für Z 1013 und JU+TE-Computer) 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. Auch in den Schulen, in der Ausbildung / Weiterbildung usw. wurde Programmieren nahezu nur mit HC-BASIC gelehrt.
Ein Export der Technik oder des Interpreters war von Anfang an ausgeschlossen, weder in die Staaten des RGW noch in den Raum des NSW.