Category:Locomotive Basic: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 8: Line 8:
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>
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 with <tt>CALL</tt> via dedicated jump blocks in RAM, so they were unaffected by changes to the ROM between CPC models. This made software very compatible between the original three CPC models and ''mostly'' compatible for the later, much less popular "Plus" models.
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 with <tt>CALL</tt> via dedicated jump blocks in RAM, so they were unaffected by changes to the ROM between CPC models. This made software very compatible between the original three CPC models and ''mostly'' compatible for the later, considerably less popular "Plus" models that came out in 1990.


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. As on many other 8-bit machines of the era, it was common to extend BASIC programs by <tt>READ</tt>-ing Z80 machine code from <tt>DATA</tt> statements, <tt>[[wp:PEEK and POKE|POKE]]</tt>-ing it to RAM, and then <tt>CALL</tt>-ing the code, an approach especially popular with type-in games from old CPC magazines.
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. As on many other 8-bit machines of the era, it was common to extend BASIC programs by <tt>READ</tt>-ing Z80 machine code from <tt>DATA</tt> statements, <tt>[[wp:PEEK and POKE|POKE]]</tt>-ing it to RAM, and then <tt>CALL</tt>-ing the code, an approach especially popular with type-in games from old CPC magazines.