Локомотив BASIC - Locomotive BASIC

Локомотив BASIC
Локомотив BASIC amstrad cpc.PNG
Впервые появился1984; 36 лет назад (1984)
Операционные системыAMSDOS
ЛицензияПроприетарный
Под влиянием

Локомотив Базовый собственный диалект BASIC язык программирования написано Программное обеспечение для локомотивов на Амстрад КТК (где он был встроен в ПЗУ ) а позже Локомотив БЕЙСИК-2 как приложение GEM на Amstrad PC1512 и 1640. Это был главный потомок Кряква BASIC,[1] в устный переводчик за CP / M поставляется с Amstrad PCW.

Существует две версии Locomotive BASIC: 1.0, которая поставляется только с моделью CPC 464, и 1.1, которая поставляется со всеми другими версиями. BASIC 1.1 также поставлялся с Amstrad CPC Plus автоматы серии, в составе входящего в комплект игрового картриджа.

Разработка

Разработка была основана на существующей работе, недавно проведенной письменной форме. Кряква BASIC за Желудь Компьютеры Аддон Z80 для BBC Micro. Сообщается, что на улучшение существующего кода ушло около 12 недель, и на него "очень повлияли" BBC BASIC, хотя добавление дополнительных функций для выполнения действий, которые потребовали бы язык ассемблера на BBC.[1]

Функции

Это была довольно простая, но мощная реализация BASIC по стандартам того времени, с выделенными командами для работы с графикой (такими как DRAW, PLOT, INK и PAPER во всех версиях; плюс FILL в v1.1), даже позволяя создавать несколько экранов, окон и т.п., хотя цветовая система и управление палитрой были неудобными. Таблица с числовыми кодами для 27 системных цветов была напечатана на корпусе встроенного 3-дюймового дисковода на машинах 664 и более поздних моделей. Каким бы простым она ни была, она выделялась среди других BASIC того времени, предлагая таймер Механизм программного прерывания, основанный на использовании команд EVERY или AFTER; это предлагало синхронизированный повторяющийся или однократный вызов, соответственно, на номер строки BASIC по вашему выбору.

Кроме того, по сравнению с другими домашними компьютерами того времени Amstrad через Locomotive BASIC предоставил относительно высокий уровень контроля над звуковым чипом CPC и AY-3-8912 с 3 мелодическими каналами и 1 шумовым каналом. Такой же чип использовался и на поздних моделях. ZX Спектры, так же хорошо как Atari ST и MSX компьютеров, но ни у одного из них не было такой полной встроенной команды SOUND. Многие вещи, от выбора конкретного канала или комбинации каналов, настройки огибающих, громкости, высоты тона, шума и т. Д., Могут быть выполнены с помощью одной команды SOUND, содержащей до 7 параметров. Конечно, особенно сложные и / или низкоуровневые методы не могут быть реализованы с помощью BASIC, поскольку они требуют более точного или прямого доступа к оборудованию, например особо сложная музыка с трекеров (в том числе смоделированные аккорды с использованием арпеджио, и Т. Д.), воспроизведение цифровых звуков, как в игре Робокоп например, и так далее.

Управление дисками, лентами и файлами осуществлялось самим BASIC, и обычно этого было достаточно для простого управления файлами с такими командами, как GET, PUT, ERASE, SAVE, MERGE, RUN, CAT, LOAD и т. Д. Фактически, в те годы , BASIC, входящий в стандартную комплектацию каждого недорогого домашнего компьютера, также выступал в качестве более или менее простого Операционная система.

Также были доступны некоторые специальные команды для выделения и обработки памяти, такие как MEMORY и параметрическая команда LOAD, позволяющая, например, загружать файл, содержащий "сырые" данные изображения, в видеопамять, вызывая его отображение с помощью пары BASIC инструкции. Добавление правильного адреса (а) памяти в качестве параметра к командам ЗАГРУЗИТЬ или СОХРАНИТЬ позволит легко загружать необработанные несжатые изображения экрана размером 16 КБ. Вызов другого адреса приводил к принудительному сбросу системы (вызов 0), знаменитому «Нажатию любой клавиши» (call & bb18) или устранению мерцания в анимации, позволяя вам синхронизироваться с растровым сканированием монитора через «синхронизацию кадров с обратным ходом» (call & bd19 ); в Basic 1.1 для этого была дана отдельная команда - FRAME. С PEEK и POKE CALL предоставляет интерфейс для программирования на ассемблере из BASIC.

Современные соперники

Локомотив BASIC по сравнению с Коммодор 64 BASIC (Commodore BASIC ), в котором не было специальных команд для графики или звука, позволяла делать практически все, что было в пределах стандартных возможностей машины. Это было не маловажно, так как некоторые другие машины той эпохи, использующие полную графику или звук, были ограничены ассемблер программисты. MSX, Spectrum и некоторые другие предлагали аналогичный, более или менее полный набор команд для своих звуковых и графических возможностей. Единственное, что явно выходило за рамки возможностей BASIC, - это режимы переразвертки, используемые в играх и демонстрациях, режимы 27-цветной графики, воспроизведение цифрового звука и плавная прокрутка.

В отличие от Sinclair BASIC или Commodore 64 BASIC, в котором были различные сочетания клавиш или специальные клавиши для выбора символов или цветов, ключевые слова Locomotive BASIC вводились полностью, а интерпретатор анализировал, распознавал и токенировал их. Однако были сокращения вроде "?" для «ПЕЧАТЬ» и несколько ярлыков. Программы могут быть сохранены на Компактная кассета или же дискета и извлекается как двоичный или ASCII файлы.

Рекомендации

  1. ^ Смит, Тони (12 февраля 2014 г.). «Вы НЕ уволены: история удивительного CPC 464 Амстрада». Реестр. Получено 17 февраля 2014.

внешняя ссылка