Mallard BASIC is a
BASIC interpreter
A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BAS ...
for
CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
produced by
Locomotive Software Locomotive Software was a small British software house that did most of its development for Amstrad's home and small business computers of the 1980s. It was founded by Richard Clayton and Chris Hall on 14 February 1983.
It wrote or contributed sign ...
and supplied with the
Amstrad PCW
The Amstrad PCW series is a range of personal computers produced by British company Amstrad from 1985 to 1998, and also sold under licence in Europe as the "Joyce" by the German electronics company Schneider in the early years of the series' life. ...
range of small business
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s, the
ZX Spectrum
The ZX Spectrum () is an 8-bit computing, 8-bit home computer that was developed by Sinclair Research. It was released in the United Kingdom on 23 April 1982, and became Britain's best-selling microcomputer.
Referred to during development as t ...
+3 version of
CP/M Plus
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initial ...
, and the
Acorn
The acorn, or oaknut, is the nut of the oaks and their close relatives (genera ''Quercus'' and '' Lithocarpus'', in the family Fagaceae). It usually contains one seed (occasionally
two seeds), enclosed in a tough, leathery shell, and borne ...
BBC Micro
The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputers and associated peripherals designed and built by Acorn Computers in the 1980s for the BBC Computer Literacy Project. Designed with an emphas ...
's
Zilog Z80 second processor.
In the 1980s, it was standard industry practice to bundle a BASIC interpreter with microcomputers, and the PCW followed this practice. While the PCW was primarily a dedicated
word processor
A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Word processor (electronic device), Early word processors were stand-alone devices ded ...
for business use running
LocoScript
LocoScript is a word processing software package created by Locomotive Software and first released with the Amstrad PCW, a personal computer launched in 1985. Early versions of LocoScript were noted for combining a wide range of facilities with ...
, it was running on top of the CP/M
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
.
There were many existing implementations of BASIC for CP/M, such as
Digital Research
Digital Research, Inc. (DR or DRI) was a company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser DOS, DOS Plus, DR DOS and ...
's
CBASIC
CBASIC is a compiled version of the BASIC programming language written for the CP/M operating system by Gordon Eubanks in 1976–1977. It is an enhanced version of BASIC-E.
History
BASIC-E was Eubank's master's thesis project. It was develop ...
and the third-party
ZBasic, but they followed the earlier 1970s model of
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s that were fed
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
prepared in a separate
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be us ...
. BASIC was not built-in in these cases, the user would prepare a program and then invoke BASIC to run it.
In contrast,
home computers of the era had moved to using BASIC as the primary interface for the machine. Instead of booting into CP/M or a similar OS, these machines booted directly into a BASIC normally stored on
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
. These also included a built-in screen editor. Mallard was based on this model, with an integrated editor that was tailored for the PCW's non-standard 90-column screen.
Although the PCW actually had excellent monochrome graphics support for its time and specification, closely comparable to the
Hercules Graphics Card The Hercules Graphics Card (HGC) is a computer graphics controller made by Hercules Computer Technology, Inc. that combines IBM's text-only MDA display standard with a bitmapped graphics mode. This allows the HGC to offer both high-quality text an ...
for
IBM PC compatible
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
computers, Mallard BASIC had no graphics support whatsoever. Instead, Locomotive Software optimised it for business use, with, for instance, full
ISAM
ISAM (an acronym for indexed sequential access method) is a method for creating, maintaining, and manipulating computer files of data so that records can be retrieved sequentially or randomly by one or more keys. Indexes of key fields are mainta ...
random-access file support, making it easier to write database applications.
It was also optimised for speed — it is named after the
LNER Class A4 4468 Mallard
LNER Class A4 4468 ''Mallard'' is a 4-6-2 ("Pacific") steam locomotive built in 1938 for operation on the London and North Eastern Railway (LNER) at Doncaster Works to a design of Nigel Gresley. Its streamlined, wind tunnel tested design all ...
locomotive
A locomotive or engine is a rail transport vehicle that provides the Power (physics), motive power for a train. If a locomotive is capable of carrying a payload, it is usually rather referred to as a multiple unit, Motor coach (rail), motor ...
, the fastest steam locomotive in the world, once again displaying the company's fondness for railway-oriented nomenclature. In fact, the Locomotive Software name came from the phrase "to run like a train" and it was this theme that was used to name Mallard BASIC — no other Locomotive Software product was named after anything railway-oriented.
The Acorn version was designed simply to run the Compact Software small business accounting products Acorn was including to target its Z80 second processor at small businesses. Mallard's major innovation designed specifically for Acorn was the addition of the Jetsam
B*-tree
In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree generalizes the binary search tree, allowing for ...
keyed access filing system to give similar (but superior) features to the Miksam product Compact had originally designed around.
Graphics could be implemented by loading the
GSX extension to CP/M, but this was cumbersome for BASIC programmers.
The lack of graphics support was rectified by several
BASIC toolkits, of which the most popular was Lightning Extended BASIC (LEB — see external links). This patched Mallard BASIC, replacing the redundant LET keyword with LEB, which could be followed by a wide variety of parameters to allow sophisticated graphics (for the time) to be drawn on screen, saved to disc, printed, and so on.
Probably the most widespread Mallard application ever was RPED, the text editor supplied with the PCW. The name was short for Roland Perry's EDitor, the program having been quickly written by Roland Perry, the Amstrad executive running the computer product development, when it was realised that CP/M-80 came with no usable full-screen editor, but users had a requirement to edit configuration files. The same problem was apparent with
DOS Plus
DOS Plus (erroneously also known as DOS+) was the first operating system developed by Digital Research's OEM Support Group in Newbury, Berkshire, UK, first released in 1985. DOS Plus 1.0 was based on CP/M-86 Plus combined with the PCMODE ...
and
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
supplied with IBM-compatible Amstrad computers, but the RPED for those machines was written in
Intel 8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
assembler
Assembler may refer to:
Arts and media
* Nobukazu Takemura, avant-garde electronic musician, stage name Assembler
* Assemblers, a fictional race in the ''Star Wars'' universe
* Assemblers, an alternative name of the superhero group Champions of A ...
, and not Mallard BASIC.
The IBM PC version of Mallard Basic is still available from LocoScript Software as an MS-DOS program, which will run under Windows as a disc-only version with licence or with the full Introduction & Reference manual.
See also
*
Locomotive BASIC
Locomotive Basic is a proprietary dialect of the BASIC programming language written by Locomotive Software on the Amstrad CPC (where it was built-in on ROM) and the later Locomotive BASIC-2 as a GEM application on the Amstrad PC1512 and 1640. ...
External links
Mallard BASIC– Mallard BASIC manual from the Spectrum +3 CP/M Plus package
by Geoffrey Childs, author of LEB (PCW-World, 1990)
{{BASIC
BASIC interpreters
CP/M software
ZX Spectrum software
BASIC programming language family