Category:Locomotive Basic: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 4: Line 4:
{{implementation|BASIC}}
{{implementation|BASIC}}


Locomotive BASIC was used on [[wp:Amstrad CPC|Amstrad CPC]] 8-bit home computers in the 1980s.
Locomotive BASIC was a variant of BASIC that was built into the ROM of [[wp:Amstrad CPC|Amstrad CPC]] 8-bit home computers introduced in 1984. Today the language can be used via CPC emulators such as [http://sourceforge.net/projects/javacpc/ JavaCPC].

Version 1.0 of Locomotive BASIC shipped with the CPC 464, later models shipped with Locomotive Basic v1.1 which brought some important improvements. Despite the fact that all later version call themselves v1.1, ROM headers show that e.g. the Amstrad Plus version is actually v1.40.<ref>http://www.grimware.org/doku.php/documentations/software/locomotive.basic/start#basic.1.1</ref>

Locomotive BASIC was comparatively advanced for its time (with e.g. software interrupts and comprehensive graphics and audio commands) and was very cleanly implemented, just like the rest of the Amstrad CPC ROM. System calls could be made via "CALL" and dedicated jump blocks in RAM, which meant that addresses for system calls remained unaffected when the actual ROM addresses changed between CPC models.

Locomotive BASIC served as a sort of primitive operating system for the CPC and was also used (together with AMSDOS RSX commands<ref>http://cpcwiki.eu/index.php/RSX</ref>) for disk and tape operations. It was also common to enter a BASIC program to read Z80 machine code from "DATA" statements and "POKE" them to RAM, then "CALL" the resulting code, especially in type-in games from old CPC magazines.

==References==

<references />


==See Also==
==See Also==