Введение

Mallard BASIC – интерпретатор BASIC для CP/M, разработанный компанией Locomotive Software и поставляемый с линейкой компьютеров Amstrad PCW для малого бизнеса, версией CP/M Plus для ZX Spectrum +3 и вторым процессором Zilog Z80 для Acorn BBC Micro. В 1980-х годах стандартной практикой в индустрии было поставлять интерпретатор BASIC вместе с микрокомпьютерами, и PCW следовал этой практике. Хотя PCW в первую очередь представлял собой специализированный текстовый процессор для бизнес-использования с LocoScript, он работал поверх операционной системы CP/M. Существовало множество реализаций BASIC для CP/M, таких как CBASIC от Digital Research и сторонний ZBasic, но они основывались на модели компиляторов 1970-х годов, которым на вход подавался исходный код, подготовленный в отдельном текстовом редакторе. В этих случаях BASIC не был встроен, пользователь создавал программу, а затем вызывал BASIC для её запуска. В отличие от этого, домашние компьютеры того времени перешли на использование BASIC в качестве основного интерфейса для работы с машиной. Вместо загрузки в CP/M или подобную ОС, эти машины загружались непосредственно в BASIC, обычно хранившийся в ПЗУ. Они также включали встроенный редактор экрана. Mallard был разработан на основе этой модели, с интегрированным редактором, адаптированным для нестандартного 90-колонного экрана PCW. Хотя PCW фактически обладал отличной поддержкой монохромной графики для своего времени и спецификаций, сопоставимой с графической картой Hercules для компьютеров IBM PC, Mallard BASIC не поддерживал графику вообще. Вместо этого Locomotive Software оптимизировала его для бизнес-использования, например, с полной поддержкой файлов ISAM с произвольным доступом, что упрощало написание приложений баз данных. Он также был оптимизирован по скорости – он назван в честь паровоза Mallard LNER Class A4 4468, самого быстрого паровоза в мире, что вновь демонстрирует склонность компании к железнодорожной терминологии. На самом деле, название Locomotive Software произошло от фразы "to run like a train" (бежать как поезд), и эта тема была использована для названия Mallard BASIC – ни один другой продукт Locomotive Software не был назван в честь чего-либо, связанного с железной дорогой. Версия для Acorn была разработана специально для запуска компактных программных продуктов для бухгалтерского учета малого бизнеса, которые Acorn поставляла для ориентации своего второго процессора Z80 на малый бизнес. Основным нововведением Mallard, разработанным специально для Acorn, было добавление файловой системы Jetsam B* с доступом по B-дереву, чтобы предоставить аналогичные (но превосходящие) функции продукта Miksam, который Compact первоначально разработала. Графику можно было реализовать, загрузив расширение GSX для CP/M, но это было неудобно для программистов на BASIC. Отсутствие поддержки графики было исправлено несколькими инструментальными наборами BASIC, наиболее популярным из которых был Lightning Extended BASIC (LEB – см. внешние ссылки). Этот набор инструментов изменял Mallard BASIC, заменяя избыточное ключевое слово LET на LEB, за которым мог следовать широкий спектр параметров, позволяющих создавать сложную (для того времени) графику на экране, сохранять её на диск, печатать и т.д. Вероятно, самым распространенным приложением Mallard когда-либо был RPED, текстовый редактор, поставляемый с PCW. Название было сокращением от Roland Perry's EDitor (Редактор Роланда Перри), программа была быстро написана Роландом Перри, руководителем Amstrad, отвечающим за разработку компьютерных продуктов, когда стало ясно, что CP/M 80 не поставляется с пригодным для использования полноэкранным редактором, но пользователям требовалось редактировать конфигурационные файлы. Та же проблема возникла с DOS Plus и MS DOS, поставляемыми с IBM-совместимыми компьютерами Amstrad, но RPED для этих машин был написан на ассемблере Intel 8086, а не на Mallard BASIC. Версия Mallard Basic для IBM PC по-прежнему доступна в LocoScript Software в качестве программы MS DOS, которая будет работать под Windows в виде дисковой версии с лицензией или с полным руководством Introduction & Reference.