<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Locomotive_BASIC</id>
	<title>Locomotive BASIC - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Locomotive_BASIC"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Locomotive_BASIC&amp;action=history"/>
	<updated>2026-06-05T15:57:55Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Locomotive_BASIC&amp;diff=290433&amp;oldid=prev</id>
		<title>imported&gt;Merlin1960 am 27. November 2025 um 19:02 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Locomotive_BASIC&amp;diff=290433&amp;oldid=prev"/>
		<updated>2025-11-27T19:02:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Locomotive BASIC&amp;#039;&amp;#039;&amp;#039; ist ein [[BASIC]]-Dialekt der [[Amstrad CPC|Schneider/Amstrad CPC]]-8bit-Heimcomputerbaureihe, im ROM enthalten und zugleich als Betriebssystem gedacht, in Entwicklung, Befehlsumfang&amp;lt;ref&amp;gt;Sascha Hoogen: [https://www.zock.com/8-Bit/D_Loco.HTML &amp;#039;&amp;#039;Locomotive Basic 1.0: Befehlsübersicht.&amp;#039;&amp;#039;] In: &amp;#039;&amp;#039;8-Bit-Nirvana – Homepage für 8-Bit-Computer und Videospiele.&amp;#039;&amp;#039; Auf Zock.com, abgerufen am 10.&amp;amp;nbsp;Februar 2022.&amp;lt;/ref&amp;gt; und durch den Hersteller, Locomotive, eng verwandt mit dem ebenfalls bekannten &amp;#039;&amp;#039;[[Mallard BASIC]]&amp;#039;&amp;#039;. Entwickelt wurde diese Sprache durch die kleine britische Firma &amp;#039;&amp;#039;Locomotive Software&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.retroisle.com/general/locomotive.php |titel=Locomotive BASIC |sprache=en |abruf=2025-11-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://8bit-museum.de/heimcomputer/amstrad/ |titel=Die Vorgeschichte |sprache=de |abruf=2025-11-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programmiert wurde im Dialog auf der Kommandozeile, die notwendige Zeilennummerierung bzw. deren Änderungen erfolgte automatisiert. Wie die meisten BASICs als [[Interpreter]] betrieben, war zusätzlich ein optionaler [[Compiler]] erhältlich.&lt;br /&gt;
&lt;br /&gt;
Der umfangreiche und gut zu handhabende Sprachumfang machte die Programmierung der meisten Anwendungen im BASIC selbst möglich. Zusätzliche Funktionen konnten mit Assembler-Speicheraufrufen (&amp;#039;&amp;#039;[[Zilog Z80|Z80A]]&amp;#039;&amp;#039;) im Programm selbst integriert werden. Die [[Sprite (Computergrafik)|Sprites]] eines [[Commodore 64|C64]] fehlen, dafür können etwa Oberflächen mit bis zu acht Dialogfenstern recht schnell und flüssig programmiert werden. Insgesamt ist es eine weitgehend ausgewogene, abgerundete Programmiersprache mit guter Syntax.&lt;br /&gt;
&lt;br /&gt;
Als Speichermedium dienten [[Kompaktkassette|Kassetten]]- bzw. [[Diskette]]nlaufwerke, zur Ausgabe schwerpunktartig Monitor bzw. Drucker, als Eingabe [[Tastatur]] bzw. [[Joystick]]. So wie der eingebaute Lautsprecher, konnten sie direkt angesprochen werden. Optionale, weitergehende externe Hardware bedarf Schnittstellen seitens der Hersteller bzw. eigener Programmierarbeit.&lt;br /&gt;
&lt;br /&gt;
Entsprechend der Entwicklungszeit fehlen allerdings die großen Ansätze des strukturierten Programmierens weitgehend, werden aufgrund des häufig überschaubaren Programmierumfanges aber auch noch nicht wesentlich vermisst bzw. mit anderen Methoden wie den berüchtigten [[Sprunganweisung|GOTO]]s dann doch gekonnt umgesetzt. Die Programmierung erfolgte problem- bzw. maschinenorientiert, parallele Verarbeitung, Vernetzung oder [[Objektorientierung]] waren mit diesem BASIC-Dialekt noch nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Von Locomotive BASIC wurden nur zwei Versionen veröffentlicht:&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.retroisle.com/general/locomotive.php |titel=Locomotive BASIC |sprache=en |abruf=2025-11-27}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Version 1.0 wurde auf ROM mit dem Amstrad CPC464 veröffentlicht.&lt;br /&gt;
* Version 1.1 wurde auf ROM für alle nachfolgenden Versionen der Amstrad-Produktreihe, einschließlich des CPC664 und CPC6128, veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
Etwas einfaches anstelle von „[[Hallo-Welt-Programm|Hallo Welt]]“:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
 10 REM Beispiel&lt;br /&gt;
 20 PRINT &amp;quot;Zylinderflaechenberechnung&amp;quot;&lt;br /&gt;
 30 INPUT &amp;quot;Bitte Zylinderhoehe eingeben ...&amp;quot;,H&lt;br /&gt;
 40 INPUT &amp;quot;Bitte Zylinderradius eingeben ...&amp;quot;,R&lt;br /&gt;
 50 A=2*PI*(R^2+R*H)&lt;br /&gt;
 60 PRINT &amp;quot;Zylinderflaeche = &amp;quot;,A&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ganze kann natürlich auch vereinfacht, hier von der Kommandozeile aus umgesetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
 input&amp;quot;Radius,Hoehe...&amp;quot;R,H:?&amp;quot;Zylinderflaeche=&amp;quot;2*PI*(r^2+r*h)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jede Befehlszeile ist auf ca. 255 Zeichen begrenzt, die deutschen Sonderzeichen stehen im BASIC selbst, außer als ASCII-Aufrufe, nicht zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Versionen ==&lt;br /&gt;
Während beim Schneider/Amstrad CPC die Version 1.0 bzw. 1.1 verwendet wurde und beim [[Amstrad PCW|PCW/Joyce]] bzw. [[NC100]] das Mallard BASIC derselben Firma bzw. das in England bekannte [[BBC BASIC]] verwendet wurden, wurde für die [[Disk Operating System|DOS]]/[[Graphics Environment Manager|GEM]]-Umgebung des PC-kompatiblen [[Amstrad PC1512]] die Version &amp;#039;&amp;#039;&amp;#039;Locomotive BASIC2&amp;#039;&amp;#039;&amp;#039; geschaffen. Die genaue Angabe der Version lautet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
 Locomotive BASIC 2&lt;br /&gt;
 Version 1.12   11 Jul 86&lt;br /&gt;
 Copyright 1986 Locomotive Software Ltd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Locomotive Basic2 war eine graphische [[integrierte Entwicklungsumgebung]] in der graphischen Oberfläche GEM. Die Programme konnten mit Fenstern umgehen, die Maus mitverwenden und farbige Grafik erzeugen.&amp;lt;ref&amp;gt;[https://www.stcarchiv.de/hc1986/10/basic-in-luxusausstattung &amp;#039;&amp;#039;Locomotive Basic 2: Basic in Luxusausstattung.&amp;#039;&amp;#039;] In: &amp;#039;&amp;#039;Happy Computer&amp;#039;&amp;#039;, Heft&amp;amp;nbsp;10, 1986. ST-Computer-Magazin-Archiv. Auf STCarchiv.de, abgerufen am 10.&amp;amp;nbsp;Februar 2022.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim [[KC compact]] meldet sich das Basic mit &amp;#039;&amp;#039;BASIC 1.1&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
{{Siehe auch |Amstrad CPC}}&lt;br /&gt;
Beim Locomotive Basic des CPC handelt es sich um keinen reinen [[Interpreter]], vielmehr wurde eine Untermenge der beim Kompilieren durchzuführenden Arbeiten bereits beim Eingeben des Programms ausgeführt. So wurden beispielsweise die BASIC-Befehle wie etwa PRINT, IF, FOR usw. nicht Buchstabe für Buchstabe im Hauptspeicher abgelegt, sondern es erfolgte die Vorübersetzung in ein sogenanntes Token (ein Byte als Zahlencode für den entsprechenden Befehl).&amp;lt;ref&amp;gt;[https://k1.spdns.de/Vintage/Schneider%20CPC/Das%20Schneider%20CPC%20Systembuch/z194.htm &amp;#039;&amp;#039;Die Token des Locomotive-Basic.&amp;#039;&amp;#039;] In: Günter Woigk: &amp;#039;&amp;#039;Das Schneider CPC Systembuch. Für CPC 464, 664, 6128.&amp;#039;&amp;#039; Anhang. Sybex-Verlag, Düsseldorf / San Francisco / Paris / London 1987, ISBN 3-88745-606-8. Auf K1.spdns.de, abgerufen am 10.&amp;amp;nbsp;Februar 2022.&amp;lt;/ref&amp;gt; Dadurch wurde die Ausführung des Programms beschleunigt, weil nun nicht mehr zur Laufzeit anhand mehrerer Zeichen der auszuführende BASIC-Befehl ermittelt werden musste, stattdessen konnte direkt über den Tokenwert anhand einer Tabelle im Hauptspeicher direkt zur entsprechenden Routine gesprungen werden. Für Testläufe und Fehlersuche standen auf der Kommandozeile spezielle Befehle zur Verfügung. Die kompakte [[Wortschatz|Lexik]] der Sprache unterstützte die Vermeidung von Tippfehlern, die Fehlermeldungen waren prägnant. Die möglichen [[Variablentyp]]en beschränken sich auf das wesentlichste, deren Deklaration ist oft nicht zwingend notwendig.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Jean-Louis Gréco, Michel Laurent: &amp;#039;&amp;#039;Schneider-PC-Locomotive BASIC 2.&amp;#039;&amp;#039; Sybex-Verlag, Düsseldorf / San Francisco / Paris / London 1987, ISBN 3-88745-500-2.&lt;br /&gt;
* Martin Böhmer: &amp;#039;&amp;#039;Basic 2 zum Schneider-PC. Der leichte Weg zu einer modernen BASIC-Variante.&amp;#039;&amp;#039; Franzis, München 1988, ISBN 3-7723-8981-3.&lt;br /&gt;
* Rudi Kost: &amp;#039;&amp;#039;Der Schneider PC: Kennenlernen und Anwenden der grafischen Benutzeroberfläche GEM, MS-DOS-Version&amp;amp;nbsp;3.2 und DOS Plus, Locomotive BASIC&amp;amp;nbsp;2, Junior-Serie und GEM-Produkte.&amp;#039;&amp;#039; Markt-und-Technik-Verlag, Haar bei München 1986, ISBN 3-89090-415-7.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BASIC]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Merlin1960</name></author>
	</entry>
</feed>