Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Basic-Compreter für U880 » Themenansicht

Autor Thread - Seiten: -1-
000
02.12.2025, 09:37 Uhr
HeikoS



Beim Stöbern in den RFE's zur S3000-Anlage ist mir ein Beitrag von Rainer Hayne in Ausgabe 3/1984 aufgefallen. Dort wird ein BASIC-System beschrieben, was Teile des Basic-Codes in einem ersten Schritt (wenn möglich) schon in Maschinen-Code übersetzt und laufzeitbedingten Code dann interpretiert.

Nachnutzung über VEB Transformatoren- und Röntgenwerk "Hermann Matern" Dresden. Ist das bekannt und evtl. irgendwo abgelegt? Der in den KC's verwendete Basic-Interpreter stammt ja nicht von dort (s. https://hc-ddr.hucki.net/wiki/doku.php/z9001/basic) und auch das MBASIC arbeitet ja meines Wissens nach anders.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
02.12.2025, 09:47 Uhr
Rüdiger
Administrator
Avatar von Rüdiger

Hast Du genauere Informationen, z.B. den Dateiname? Oder exotische BASIC-Befehle, nach denen ich suchen könnte?
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
02.12.2025, 09:49 Uhr
ralle



Es gab meines wissens einen BASIC-Compiler. Allerdings für CPM.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
02.12.2025, 09:53 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
ralle schrieb
Es gab meines wissens einen BASIC-Compiler. Allerdings für CPM.



Der war von Robotron, also potentiell nicht der gesuchte.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
02.12.2025, 10:07 Uhr
HeikoS




Zitat:
Rüdiger schrieb
Hast Du genauere Informationen, z.B. den Dateiname? Oder exotische BASIC-Befehle, nach denen ich suchen könnte?



Hier kann man das nachlesen. Die Befehle sind auf den ersten Blick nicht auffällig.

https://nextcloud-ext.peppermint.de/s/TSsAwPdzSZMWoCo

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
02.12.2025, 10:35 Uhr
Dresdenboy



Es gibt in dem von Heiko eingescannten Artikel auch Literaturangaben:


Zitat:
[1] Heyne, R.: Entwicklung einer problemorientierten Programmiersprache mit entsprechendem Übersetzungsprogramm für den K 1520. Diplomarbeit an der IH Dresden, 1983
[2] Hoffmann, P.: Eine Entwurfsstrategie für Diagonalsysteme - Teilnehmersteuerung und inkrementelle Kompilierung am Beispiel von BASIC-4201. Dissertation an der IH Dresden, 1979
[3] Lübcke, J. ; Villbrandt, R.: BASIC-Interpreter für K 1520. radio fernsehen elektronik, Berlin 32 (1983) 1, S. 14-16



(Ich habe es mal fix abgetippt, da OCR in dem PDF wohl Murks gemacht hat.)

Edit: Im Interpreter-Artikel der Wikipedia ist der Heyne-Artikel auch im Zusammenhang mit "compreter" als Quelle [7] verlinkt, daneben aber auch Quelle [6], die später erschienen ist. Evtl. sind da weitere Details zu finden:

Zitat:
Kühnel, Claus (1987) [1986]. "4. Kleincomputer - Eigenschaften und Möglichkeiten" [4. Microcomputer - Properties and possibilities]. In Erlekampf, Rainer; Mönk, Hans-Joachim (eds.). Mikroelektronik in der Amateurpraxis [Micro-electronics for the practical amateur] (in German) (3 ed.). Berlin: Militärverlag der Deutschen Demokratischen Republik [de], Leipzig. p. 222. ISBN 3-327-00357-2. 7469332.



VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...

Dieser Beitrag wurde am 02.12.2025 um 10:43 Uhr von Dresdenboy editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
02.12.2025, 10:47 Uhr
HeikoS



[3] Lübcke, J. ; Villbrandt, R.: BASIC-Interpreter für K 1520. radio fernsehen elektronik, Berlin 32 (1983) 1, S. 14-16

Das ist ein Artikel von Dummerstorf-Rostock. Dieser Interpreter war wohl die Grundlage des KC-Basic's.

Dieser Beitrag wurde am 02.12.2025 um 10:49 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
02.12.2025, 11:03 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Das Schneider-Basic für den CPC ist ein BASIC-Compreter. (laut Buch ROM-Listing CPC 464/664/6128, S. 139). Aber möglicherweise ist hiermit auch nur die Tokenisierung gemeint??
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 02.12.2025 um 11:06 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
02.12.2025, 11:04 Uhr
Dresdenboy



Interessant. Ich habe auch noch etwas gefunden, evtl. kommst du ja an den Autor heran:
https://www.online-handelsregister.de/handelsregisterauszug/sn/Dresden/HRA/3093/Ing-Buero-HEYtecs-Inhaber-Dipl-Ing-Rainer-Heyne
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
02.12.2025, 11:08 Uhr
HeikoS




Zitat:
Dresdenboy schrieb

Edit: Im Interpreter-Artikel der Wikipedia ist der Heyne-Artikel auch im Zusammenhang mit "compreter" als Quelle [7] verlinkt, daneben aber auch Quelle [6], die später erschienen ist. Evtl. sind da weitere Details zu finden:

Zitat:
Kühnel, Claus (1987) [1986]. "4. Kleincomputer - Eigenschaften und Möglichkeiten" [4. Microcomputer - Properties and possibilities]. In Erlekampf, Rainer; Mönk, Hans-Joachim (eds.). Mikroelektronik in der Amateurpraxis [Micro-electronics for the practical amateur] (in German) (3 ed.). Berlin: Militärverlag der Deutschen Demokratischen Republik [de], Leipzig. p. 222. ISBN 3-327-00357-2. 7469332.



VG,
Matthias



In "4. Kleincomputer - Eigenschaften und Möglichkeiten" ist der Compreter nur verbal erklärt:

"Eine andere , Möglichkeit besteht in der Nutzung eines Compreters, das sind compilierende Interpreter, die während der Einschreibphase einen Zwischencode oder auch bereits den Maschinencode erzeugen. Alle zum Zeitpunkt der Eingabe noch nicht auswertbaren Angaben werden dann beim Programmdurchlauf interpretativ abgearbeitet. Durch eine solche Verfahrensweise erhält man Programme, die gegenüber interpretativ abgearbeiteten Programmen wesentlich schneller sind, die Laufzeiten von Maschinenprogrammen jedoch nicht ganz erreichen. Die kürzeren Programmlaufzeiten bedingen aber einen erhöhten Speicherbedarf, da neben dem Zwischencode auch der Quelltext abgespeichert werden muß."

Dieser Beitrag wurde am 02.12.2025 um 11:11 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
02.12.2025, 11:09 Uhr
HeikoS




Zitat:
volkerp schrieb
Das Schneider-Basic für den CPC ist ein BASIC-Compreter. (laut Buch ROM-Listing CPC 464/664/6128, S. 139). Aber möglicherweise ist hiermit auch nur die Tokenisierung gemeint??



Eine erste Spur ... Danke !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
02.12.2025, 11:18 Uhr
HeikoS




Zitat:
Dresdenboy schrieb
Interessant. Ich habe auch noch etwas gefunden, evtl. kommst du ja an den Autor heran:
https://www.online-handelsregister.de/handelsregisterauszug/sn/Dresden/HRA/3093/Ing-Buero-HEYtecs-Inhaber-Dipl-Ing-Rainer-Heyne



Cool, das wäre ja die "Originalquelle" ;-)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
02.12.2025, 11:30 Uhr
HeikoS



Die KI will das hier wissen dazu:

Der Schneider CPC verwendet keinen Compiler, sondern einen Interpreter, genauer gesagt Locomotive BASIC. Dieser ist kein reiner Interpreter im klassischen Sinne, sondern führt bereits beim Eintippen des Programms eine Vorübersetzung in Token durch. Die BASIC-Befehle (z.?B. PRINT, FOR) werden dabei in numerische Codes umgewandelt, was die spätere Ausführung beschleunigt, da nicht mehr die Buchstabenfolgen analysiert werden müssen.

Trotz dieser Optimierung bleibt es ein Interpreter-System – es gibt keinen integrierten Compiler. Es existierten jedoch externe Compiler wie Taifun, Turbo-Basic oder Laser-Compiler, die BASIC-Code in schnelleren Maschinencode übersetzen konnten. Diese waren Zusatzsoftware und nicht im ROM des CPC enthalten.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
02.12.2025, 13:12 Uhr
HeikoS



Es scheint sich entweder um eine Eigenentwicklung oder eine frühe Adaption von Locomotive-Basic an U880-Systeme zu handeln. Der Amstrad CPC erschien am 11. April 1984. Der RFE-Artikel ist aus März 1984.

Hier gibt es noch interessante Infos: https://8bit-museum.de/heimcomputer/amstrad/

Die aufgeführten Besonderheiten der Implementierung aus RFE 3/1884 (s.u.), treffen alle auch auch auf Locomotive-Basic des CPC zu, z.B. Schachtelungstiefe von FOR/NEXT und Zeichenketten-Konstanten:

- Die Organisation aller vom Programm
benutzten Daten erfolgt in einer listen-
form. Durch den Einsatz der Listentech-
nik kann die gesamte Arbeit mit den un-
terschiedlichsten Daten standardisiert
und durch eine geringe Anzahl von
Standardunterprogrammen realisiert
werden.

- Auf die Listentechnik aufbauend, wird
die Verwaltung des Anwenderspeichers
dynamisch vorgenommen. Damit wird es
möglich, variabel lange Zeichenketten
zu benutzen, die Grenzen von Feldern
während des Programmlaufes zu verän-
dern und eine beliebige Schachtelungs-
tiefe von Unterprogrammen und For-
Next-Zyklen zu erreichen.

- Die lexikalischen und syntaktischen
Analysen erfolgen durch die Abarbei-
tung von lexikalischen bzw. Syntaxgra-
phen. Die Anwendung der Graphen-
theorie im Compilerbau führt zu einer
sehr übersichtlichen Beschreibung der
Syntax im Programmspeicher des Rech-
ners und zu einer ausgezeichneten Än-
derungsfreundlichkeit.

Grüße, Heiko


EDIT: Locomotive Software hat auch das Mallard Basic für CP/M rausgebracht vorher. Kennt das jemand? Evtl. war das Vorbild?
EDIT2: "Mallard Basic" ist im "Joyce" (Amstrad PCW) mit dabei, aber der wurde wohl ab 1985 hergestellt.
EDIT3: Aber "Mallard Basic" war vor dem CPC verfügbar für das Z80-Add-on des BBC Micro von Acorn ... jetzt kommt bald noch Elite ins Spiel ;-)
EDIT4: Nein, das Z80-Add-on des BBC Micro von Acorn erschien 1984, war nicht vor dem CPC verfügbar.

>>> Ich beende jetzt die Recherche. Es wäre wirklich interessant, wenn sich die Software und die Unterlagen zum Compreter aus RFE 3/1984 anfinden würden <<<

Dieser Beitrag wurde am 02.12.2025 um 14:15 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
02.12.2025, 14:20 Uhr
ralle



Dann Locomotiv-BASIC 1.0, die späteren CPC 664 und 6128 hatten V 1.1
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
02.12.2025, 14:22 Uhr
HeikoS



Passt auch nicht richtig:

"Locomotive BASIC 1.0 was developed in 1984 for the Zilog Z80 processor by Locomotive Software. It was the initial version used in the Amstrad CPC464 and the Spanish CPC472, with the CPC464 and British CPC472 shipped with this version on ROM. Key characteristics of BASIC 1.0 include the requirement that DATA statements must be placed at the end of a line, a limitation that was later removed in version 1.1."
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
02.12.2025, 14:26 Uhr
Dresdenboy



@Heiko:
Lustig, wie du die Kurve zu Elite hinbekommen hast.

Danke für das Heraussuchen der anderen Quelle.

Das mit den Listen ist ein interessanter Hinweis. denn das vorher von dir erwähnte Token-Verfahren (Tokenization, auch aktuell bei Sprachmodellen im Machine Learning wieder viel erwähnt) ist auch schon alt und weit verbreitet. Z.B. haben das Bill Gates und Paul Allen auch benutzt. Wie speichert denn KC-BASIC den Code ab? Das wäre ja eine deutliche Ineffizienz.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
02.12.2025, 15:09 Uhr
Dresdenboy



@Heiko:
Vllt. findest du die Unterlagen im Archiv? https://www.deutsche-digitale-bibliothek.de/item/SYGYK3NKHMLAM5WN7TX4G5QQSTFTUGIP#item-detail

Und Locomotive BASIC ist gar nicht so lahm. Den Würfel hatten wir ja auch schon im Grafik/Effekte-Thread:
https://www.youtube.com/watch?v=HCdx-31UqOA
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
02.12.2025, 15:23 Uhr
Rüdiger
Administrator
Avatar von Rüdiger

Ich habe 1 Programm (Spiel), das mit dem TUR-BASIC erstellt wurde. Da steckt das BASIC offenbar mit in der COM-Datei.
Ob man das wieder trennen kann zwecks Neu-Verheiratung, ist unklar.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
02.12.2025, 15:59 Uhr
HeikoS




Zitat:
Rüdiger schrieb
Ich habe 1 Programm (Spiel), das mit dem TUR-BASIC erstellt wurde. Da steckt das BASIC offenbar mit in der COM-Datei.
Ob man das wieder trennen kann zwecks Neu-Verheiratung, ist unklar.



Das sollte man versuchen. Da fällt mir natürlich sofort Volker ein, der ja schon so viel disassembliert hat. Auf welchem System läuft denn das Spiel? Könntest Du es zur Verfügung stellen? Wenn ja, einfach in den "Austausch"-Ordner schieben:

https://nextcloud-ext.peppermint.de/s/kXAfNpQY6wm6r8m
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
02.12.2025, 16:17 Uhr
P.S.




Zitat:
HeikoS schrieb
... Da fällt mir natürlich sofort Volker ein, der ja schon so viel disassembliert hat ...
https://nextcloud-ext.peppermint.de/s/kXAfNpQY6wm6r8m



Wenn Volker schon so Vieles aus den BASIC-Varianten disassembliert hat, könnte er vielleicht auch Aussagen darüber machen, inwieweit im Dummersdorfer BASIC das Ur-BASIC von Bill Gates eingegangen ist -> https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21751 <015> und welche Elemente noch dazu gekommen sind aus der ZX-Spectrum-Ecke.
Vom ZX-Spectrum gab's ja auch mehrere Varianten ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
02.12.2025, 17:41 Uhr
HeikoS



@P.S:

Das hat Volker doch schon gemacht, hatte ich auch unter <000> verlinkt:

https://hc-ddr.hucki.net/wiki/doku.php/z9001/basic)#der_quellcode

Grüße, Heiko

EDIT: Ach so, du meinst, Volker sollte den Quelltext dahingehend untersuchen/kommentieren aus welchen Quellen welcher Teil stammt ... das wäre ja dann schon eine Doktorarbeit ;-)

Dieser Beitrag wurde am 02.12.2025 um 17:50 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
02.12.2025, 19:20 Uhr
Dresdenboy




Zitat:
Rüdiger schrieb
Ich habe 1 Programm (Spiel), das mit dem TUR-BASIC erstellt wurde. Da steckt das BASIC offenbar mit in der COM-Datei.
Ob man das wieder trennen kann zwecks Neu-Verheiratung, ist unklar.


Da sollte zumindest alles für die Ausführung und auch den Code in der vorkompilierten Form enthalten. Und evtl. bekommt man durch das Spiel einen Eindruck der möglichen Geschwindigkeit.
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
02.12.2025, 19:36 Uhr
HeikoS



Mir ist übrigens nach nochmaligem Lesen der Seiten von Volker noch etwas aufgefallen.

Dort steht:

-----------
Dr. Keller hat mir Januar 2008 folgende Informationen mitgeteilt:

Woher kommt das BASIC der DDR-Kleincomputer?

Im Sommer 1983 erhielt Messelektronik (MKD) die Aufgabe, für eine sinnvolle Version für den Heimcomputer (damaliges Ziel) zu sorgen. Diese Aufgabe wurde mir übertragen. Wir führten, gemeinsam mit Kollegen von RED, Recherchen durch und nahmen zunächst 5 Versionen in die engerer Auswahl. Nachdem auch die Hardware-Rahmenbedingungen und die Terminlage für den Computer klar wurden, wurde die Auswahl auf 2 Versionen eingeschränkt:

- Version von TUR Dresden, dort komplett selbst entwickelt, sehr gute Version, mit Subroutine-Technik und mit MAT-Befehlen

- Version des Instituts in Dummerstorf, die eine Mischung aus dem Sinclair-Basic und einer einfachen Version des Microsoft-Basic darstellte

-----------

Asche auf mein Haupt, mir war bis heute nicht klar, dass TUR = VEB Transformatoren- und Röntgenwerk "Hermann Matern" ist. Ich hatte das immer mit der TU-Dresden assoziiert. Damit gibt es ja einen handfesten Hinweis darauf, dass dieser Compreter eine Eigenentwicklung ist.

Grüße, Heiko

Dieser Beitrag wurde am 02.12.2025 um 19:37 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
02.12.2025, 19:56 Uhr
Bert




Zitat:
Dresdenboy schrieb
Wie speichert denn KC-BASIC den Code ab? Das wäre ja eine deutliche Ineffizienz.


Nur die Token werden 'komprimiert' gespeichert, z.B. PRINT als 9Eh:

So richtig ineffizient wird es bei DATA-Zeilen.
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
03.12.2025, 10:45 Uhr
HeikoS



In RFE 1/1983 zum K1520-Basic aus Dummerstorf ist das auch beschrieben:



Grüße, Heiko

Dieser Beitrag wurde am 03.12.2025 um 10:48 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
03.12.2025, 15:02 Uhr
Dresdenboy



@Bert und Heiko:
Danke für die Recherchen.

Und vor etwas über 20 Jahren hätte ich hier direkt "Schöne Grüße aus Dummerstorf" schreiben können.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
03.12.2025, 17:45 Uhr
susowa



Wenn man sich für die Interna des KC85-Basic interessiert, findet man im folgenden Buch von H. Völz wohl die meisten Informationen:

https://www.amazon.de/BASIC-effektiv-programmieren-Auch-Kleinstrechnern/dp/3349005705

Hat er mit TEXOR selbst geschrieben für die Druckvorlage (siehe S.18):

http://www.horstvoelz.de/kontakt/RechnenMuenchen.pdf


MfG susowa
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
03.12.2025, 19:00 Uhr
Zwangsrentner



Völz Basic effektiv programmieren - Liegt bei Ambrosius als PDF.
--
I'm just a truckle, but I don't like to truckle >TIMOTHY TRUCKLE<
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
03.12.2025, 19:11 Uhr
HeikoS



Danke ! Hatte ich auch gerade gesehen. Compreter kommt 2 mal vor:

1. Bei den ATARI-Kleinstrechnern sind die Abweichungen noch größer. Dies
liegt sowohl an der CPU 6502 als auch an der besonderen Arbeitsweise des
BASIC. Es ist durch keinen Interpreter, aber auch durch keinen Compiler
realisiert. Die einzelnen BASIC-Zeilen werden bereits bei der Eingabe auf
Syntaxfehler überprüft und in stärker verdichteter Form als bei den Token
abgelegt. Geeignete Bezeichnungen dafür sind vorcompiliert, Compreter und
Teilcompiler. Hierdurch verändern sich natürlich viele Eigenschaften des
BASIC. Besonders auffällig ist es, daß keine bewußt verwendeten Space für
die Strukturierung des BASIC-Textes erhalten bleiben. Sie werden für die
interne Darstellung alle eliminiert. Aber beim LIST erzeugt der Compreter
Space nach seinen Regeln. Dadurch entstehen genau definierte Strukturen
der Befehlszeile.

2. Basic-Varinaten:
Microsoft Extended BASIC, TRS-BASIC Level 11 und 111, MSX-BASIC,
GW-BASIC, ERSO-BASIC, BASICA, HBASIC usw. für MS-DOS, GFA-BASIC für
Atari-ST, CBASIC für kaufmännische Zwecke, Better-BASIC (als Compreter),
Turbo-BASIC, Quick-BASIC, True-BASIC (als COMpiler).

-----------

Das Basic von TUR Dresden wird damit immer interessanter.

@Rüdiger: Noch einmal die Frage. Kannst Du das Spiel, was mit dem TUR-Basic erstellt wurde, zur Verfügung stellen?

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
03.12.2025, 19:33 Uhr
ralle



Ein TurboBASIC ist auf dem A7150 vorhanden.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
04.12.2025, 09:34 Uhr
P.S.



@susowa <027>
Danke für den Hinweis auf die Völz'sche HP. Hab' da schon lange nicht mehr nachgeschaut. Offensichtlich hat der Herr Prof. dort sein ganzes Wissen (?) abgelegt - sozusagen als Vermächtnis! - Das ist sehr löblich - andere nehmen das mit in's Grab ...
Im Verlauf der Diskussion zu den Ursprüngen des BASIC sind mir auch auf folgende Seiten untergekommen:
https://forum.vcfed.org/index.php?threads/asm-8080-file-for-8k-basic-where-to-find.79434/
und dort dann vor allem diese hier:
http://cini.classiccmp.org//my_imsai.htm
mit Unmengen an PDFs - u.a. auch den (einen) BASIC-Quellcode.

Nur - falls es jemanden interessiert ...
Dabei bin ich auch noch auf die BASIC-Geschichte von Bill Gates gekommen und daß er "sein" BASIC gar nicht allein "verbrochen" hat. Sein damaliger Studien-Kollege Paul Allen hatte wohl wesentlichen Anteil daran ...
Interessant ist, daß dieses BASIC jetzt OpenSource ist -> https://www.derstandard.de/consent/tcf/story/3000000286653/bill-gates-basic-code-aus-1976-ist-jetzt-open-source

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer nur glaubt, der weiß nichts! -
Aber - Unwissenheit schützt vor Strafe nicht! -
Gegen KI und die Ausgrenzung von Unwissenden und
für den Erhalt eigener Intelligenz, sowie ein liberalisiertes
Urheber-, Marken- und Persönlichkeitsrecht!
PS

Dieser Beitrag wurde am 04.12.2025 um 09:37 Uhr von P.S. editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
04.12.2025, 19:54 Uhr
Dresdenboy




Zitat:
susowa schrieb
Wenn man sich für die Interna des KC85-Basic interessiert, findet man im folgenden Buch von H. Völz wohl die meisten Informationen:

https://www.amazon.de/BASIC-effektiv-programmieren-Auch-Kleinstrechnern/dp/3349005705

Hat er mit TEXOR selbst geschrieben für die Druckvorlage (siehe S.18):

http://www.horstvoelz.de/kontakt/RechnenMuenchen.pdf


Danke für diese tolle Quelle. Ich habe gerade mal in das PDF "Rechnen.pdf" reingeschaut (auf PDF-Seite verlinkt). Da geht es auch tief ins Detail beim KC 85.

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
04.12.2025, 22:17 Uhr
HeikoS



Wirklich eine tolle Quelle, vielen Dank an "susowa" ! Habe gestern und heute viel drin gelesen.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
05.12.2025, 08:02 Uhr
PIC18F2550

Avatar von PIC18F2550

<025> Das Bild ähnelt dem ZX81 Basic.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
05.12.2025, 09:51 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
HeikoS schrieb
@Rüdiger: Noch einmal die Frage. Kannst Du das Spiel, was mit dem TUR-Basic erstellt wurde, zur Verfügung stellen?



Du hast Post.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
05.12.2025, 18:12 Uhr
HeikoS



@Rüdiger:

Noch einmal vielen Dank, Rüdiger ! Ich habe die Datei erhalten und gleich mal untersucht. Leider ist sie aus meiner Sicht nicht mit dem "TUR-Dresden Compreter" erstellt worden. Sie erfordert die Datei "BRUN.COM" und diese liegt dem SCPX-Basic "BASI.COM" (MBASIC) bei. Damit kann man sie auch prima starten. Sie wurde bestimmt mit dem Basic-Compiler "BASC.COM" erstellt und der ist im Original auch von Microsoft.



Sehr schade, dass wir doch noch keine Spur haben. Wo könnte so etwas noch liegen, wenn nicht bei Dir oder beim Rechenwerk?

Ich habe es - wie besprochen - mal auf den Austausch-Ordner gelegt und die BRUN.COM mit dazu gelegt.

https://nextcloud-ext.peppermint.de/s/kXAfNpQY6wm6r8m

Wer Lotto spielen will: Die 6 Zahlen müssen 2-stellig mit Leerzeichen getrennt eingegeben werden ;-) ... am BIC im JKCEMU mit SCPX-Disk ging es am schnellsten. Die beiden Dateien als LW B vom Verzeichnis "mounten".

Viele Grüße, Heiko

Dieser Beitrag wurde am 05.12.2025 um 18:18 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
06.12.2025, 10:21 Uhr
HeikoS




Zitat:
P.S. schrieb
... Aussagen darüber machen, inwieweit im Dummersdorfer BASIC das Ur-BASIC von Bill Gates eingegangen ist ...


@P.S:

Was ja eigentlich schon lange bekannt ist und auch von Dr. Keller gesagt wurde: Im KC-Basic ist Einiges von Microsoft drin. Das bestätigt auch ein heuristischer Vergleich. Dazu habe ich das MBASIC für CP/M mal mit dem Z9001-Basic vergleichen lassen.

Grüße, Heiko


Ergebnis (Kurz)

MBASIC.COM: 24.320 Bytes ? in ~3.176 linearen "Blöcken" zerlegt (heuristisch).
basic84.rom: 10.240 Bytes ? in ~1.127 linearen "Blöcken" zerlegt.

Gefundene normalisierte Block-Hash-Übereinstimmungen: 180 Blöcke (SHA-256 der normalisierten Instruktionsfolgen).

-> Das deutet auf deutliche strukturelle / inhaltliche Überschneidungen hin, nachdem Immediates und Adressen normalisiert wurden.


Was genau ich gemacht habe (kurz technisch)

- Lineares Disassembling mit einer vereinfachten Z80-Opcode-Tabelle (heuristisch; nicht absolut vollständig).

- Normalisierung: 8-/16-bit Immediates und Adressen ersetzt durch Platzhalter (IMM, ADDR), DB xx zu DB.

- Blöcke gebildet (grob) durch Trennung an RET, JP, HALT, CALL etc.

- Für jeden Block die Folge der normalisierten Instruktionen in einen SHA-256-Hash umgewandelt.

- Hashes zwischen den beiden Dateien abgeglichen — Treffer zeigen gleichartige Instruktionsfolgen unabhängig von absoluten Adressen.


Interpretation & Vertrauen

Die hohe Zahl (180) normalisierter Übereinstimmungen zeigt: signifikanter gemeinsamer Code / ähnliche Routinen / gleiche Compiler-Routinen / gleiche Datenlayouts sind vorhanden.

Weil die Disassemblierung linear und die Opcode-Abdeckung nur partiell ist, können einige Matches aus Daten-Tabellen, Padding oder falsch interpretiertem Code resultieren.

Ein Match bei diesem normalisierten Verfahren ist stärkeres Indiz für geteilte Logik als reine exakte Byte-Matches (weil es Adress-/Immediat-Unterschiede ignoriert).

Dieser Beitrag wurde am 06.12.2025 um 10:28 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
06.12.2025, 11:51 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
HeikoS schrieb
Noch einmal vielen Dank, Rüdiger ! Ich habe die Datei erhalten und gleich mal untersucht. Leider ist sie aus meiner Sicht nicht mit dem "TUR-Dresden Compreter" erstellt worden.



Das war die falsche Datei (Dateiname war richtig, Inhalt war falsch). Hab Dir jetzt die richtige geschickt.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
06.12.2025, 13:46 Uhr
HeikoS



Hallo Rüdiger,

das ist ja fantastisch - vielen Dank ! Es ist das TUR-Basic !

-> GRAPHIK-BASIC VERSION 3.1 VOM 03.03.86.R.HEYNE

Das Lottoprogramm hängt mit dran, aber man kann mit List alle Zeilennummern ausgeben lassen (kein Quelltext dabei) und dann einfach ab Zeile 1 neuen Code eingeben. Super interessant. Die Zeile wird, wie beschrieben, sofort geparst und auf Syntax geprüft.

Bsp.:

1 PRINT "TEST"
2 END

RUN

oder:

NEW -> hätte ich auch gleich drauf kommen können ;-)

@ALL:

Ich habe es hier abgelegt als "LOTTOTUR.COM". Das andere ist die Microsoft-Version und heißt jetzt "LOTTOMS.COM"

https://nextcloud-ext.peppermint.de/s/kXAfNpQY6wm6r8m

Das ist ein sehr interessantes Forschungsobjekt. Der Startschuss ist gefallen, wer bekommt als Erste(r) raus, ob das Basic eine Adaption (Locomotive ?) oder eine Eigenentwicklung ist?

Viele Grüße und allen einen schönen Nikolaus !
Heiko

EDIT: *.BAS in *.COM geändert. Schusselfehler.
EDIT2: NEW eingebaut

Dieser Beitrag wurde am 06.12.2025 um 13:59 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek