The 'pure BASIC' parts of Locomotive BASIC - i.e. those not concerned with CPC-specific firmware and hardware features - were upgraded to become [[Mallard BASIC]], the CP/M language shipped with the [[PCW]]. This also featured exceptionally advanced random-access file handling, a feature missing from the CPC.
== Variables ==
=== Real (Floating Point) Numbers ===
This is the default type for a Locomotive BASIC variables, but can be clarified using <code>!</code> after the variable name, e.g., <code>real!=500.0</code>.
=== Signed 16-bit Integers ===
Defined using <code>%</code> after the variable name, e.g., <code>integer% = 500</code>.
=== Unsigned 16-bit Integers ===
These are defined by giving the number in a hexadecimal format, e.g., <code>uint=&c0000</code>.
=== Strings ===
These are defined by using <code>$</code> after the variable name, e.g., <code>str$="Hello"</code>.
== Type Conversions ==
To convert to an integer from a real or another integer, use the <code>\</code> integer division operator. e.g., <code>int=value\divisor</code>. This is as opposed to the standard <code>/</code> division operator, that can create a real number.
== Command list ==