Category:Locomotive Basic: Difference between revisions

no edit summary
No edit summary
Line 4:
{{implementation|BASIC}}
 
'''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. CPCs were a popular, slightly more expensive alternative to the Commodore C64/C128 and saleswere not just suited for games but also office work because of their high resolution displays and CP/M support. They came with a built-in cassette deck (CPC 464 and 664) or 3" disk drive (CPC 6128) as storage devices and a "green screen" or color monitor which also housed the power supply. Sales were particularly strong in the UK, Germany, France, and Spain. Today, theLocomotive languageBASIC can be used via CPC emulators such as [http://sourceforge.net/projects/javacpc/ JavaCPC]—which are also perfectly legal because Amstrad has given their permission for distributing CPC ROM images with emulators.
 
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>
Line 10:
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. ItAs on many other 8-bit machines of the era, it was also common to enter aextend BASIC programprograms toby readreading Z80 machine code from "DATA" statements and, "POKE"-ing them to RAM, and then "CALL"-ing the resulting code, an approach especially inpopular with type-in games from old CPC magazines.
 
==References==
Line 20:
* [http://www.grimware.org/doku.php/documentations/software/locomotive.basic/ Command reference with code examples] (based on the official documentation)
* [http://cpcbox.com/ Amstrad CPC emulator in JavaScript] (best performance in Google Chrome, but sound only works in Firefox right now)
* [http://www.cpcwiki.eu/index.php/Emulators List of other CPC emulators] at the [http://www.cpcwiki.eu/ Amstrad CPC Wiki]
Anonymous user