Локомотив БЕЙСИК
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2009 г. ) |
Впервые появился | 1984 год |
---|---|
ТЫ | АМСДОС |
Лицензия | Собственный |
Под влиянием | |
Locomotive Basic — это собственный диалект языка программирования BASIC, написанный Locomotive Software на Amstrad CPC (где он был встроен в ПЗУ ) и более поздний Locomotive BASIC-2 в качестве приложения GEM на Amstrad PC1512 и 1640. Это был главный потомок Mallard BASIC , [1] интерпретатор поставляемый CP /M, в комплекте с Amstrad PCW .
Существует две версии Locomotive BASIC: 1.0, которая поставляется только с моделью CPC 464, и 1.1, которая поставляется со всеми остальными версиями. BASIC 1.1 также поставлялся с машинами серии Amstrad CPC Plus как часть прилагаемого игрового картриджа.
Развитие [ править ]
Разработка была основана на недавно проведенной работе по написанию дополнения Mallard BASIC для Acorn Computers Z80 для BBC Micro. Сообщается, что на улучшение существующего кода ушло около 12 недель, и на него «очень повлиял» BBC BASIC потребовался бы язык ассемблера . , хотя в BBC были добавлены дополнительные функции для выполнения задач, для которых на 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 Spectrums , а также в компьютерах Atari ST и MSX , но ни один из них не имел такой полной встроенной команды SOUND. Многие вещи, от выбора определенного канала или комбинации каналов, настройки огибающих, громкости, высоты тона, шума и т. д., можно выполнить с помощью одной команды SOUND, содержащей до 7 параметров. Конечно, особенно сложные и/или низкоуровневые техники не могут быть реализованы с помощью BASIC, поскольку они требуют более точного или прямого доступа к оборудованию, например, особенно сложная музыка с трекеров (включая имитацию аккордов с использованием арпеджио и т. д.), воспроизведение в игре RoboCop звуки с цифровыми семплами, как , например, и так далее.
Управление дисками, лентами и файлами управлялось самим BASIC и обычно было достаточно хорошо для простого управления файлами с помощью таких команд, как GET, PUT, ERASE, SAVE, MERGE, RUN, CAT, LOAD и т. д. Фактически, в те годы BASIC, поставляемый в стандартной комплектации большинства недорогих домашних компьютеров, также выступал в качестве более или менее простой операционной системы .

Также были доступны некоторые специальные команды для выделения и обработки памяти, такие как MEMORY и параметрическая команда LOAD, позволяющая, например, загружать файл, содержащий «необработанные» данные изображения, в видеопамять, вызывая его отображение с помощью пары BASIC. инструкции. Добавление правильного адреса(ов) памяти в качестве параметра к командам ЗАГРУЗИТЬ или СОХРАНИТЬ позволит легко загружать необработанные несжатые изображения экрана размером 16 КБ. Вызов другого адреса приводил к принудительному сбросу системы (вызов 0), знаменитому «Нажмите любую клавишу» (вызов &bb18) или для устранения мерцания в анимации, позволяя синхронизироваться с растровым сканированием монитора с помощью «синхронизации кадров обратного хода» (вызов &bd19). ); в Basic 1.1 для этого была выделена отдельная команда — FRAME. Благодаря PEEK и POKE CALL предоставил интерфейс для программирования на ассемблере из BASIC.
Современные соперники [ править ]
![]() | Возможно, этот раздел содержит оригинальные исследования . ( Июль 2019 г. ) |
В отличие от Commodore 64 встроенного в языка BASIC ( Commodore BASIC ), который не имел специальных команд для графики или звука, Locomotive BASIC позволял делать практически все, что входило в стандартные возможности машины. Это было немаловажно, поскольку некоторые другие машины той эпохи требовали от программистов использования ассемблера , чтобы получить доступ ко всем звуковым и графическим возможностям своей системы. MSX, Sinclair Spectrum и некоторые другие предлагали аналогичный, более или менее полный набор команд для своих звуковых и графических возможностей. Единственными вещами, явно выходящими за рамки возможностей BASIC, были режимы расширенной развертки, используемые в играх и демонстрациях, режимы 27-цветной графики, воспроизведение цифрового звука и плавная прокрутка.
В отличие от Sinclair BASIC или Commodore 64 BASIC, которые имели различные сочетания клавиш или специальные клавиши для выбора символов или цветов, ключевые слова Locomotive BASIC вводились полностью, а интерпретатор анализировал , распознавал и маркировал их. Однако встречались сокращения типа «?» для «ПЕЧАТИ» и нескольких ярлыков. Программы можно было сохранить на компакт-кассете или дискете и извлечь в виде двоичных файлов или файлов ASCII .
Ссылки [ править ]
- ^ Смит, Тони (12 февраля 2014 г.). «Вы НЕ уволены: история потрясающего CPC 464 компании Amstrad» . Регистр . Проверено 17 февраля 2014 г.