MSX BASIC
— диалект
языка программирования
BASIC
, разработанный в
1983 году
компанией
Microsoft
. Представляет собой расширенную версию
Microsoft BASIC
version 4.5 и имеет поддержку для графических, музыкальных и прочих возможностей
бытовых компьютеров
стандарта
MSX
. Разработан как последователь
GW-BASIC
(1983), одного из стандартных диалектов BASIC для 16-разрядных
IBM PC
-совместимых компьютеров. В процессе разработке MSX-BASIC основное внимание уделялось гибкости системы и возможности её расширения.
Распространение
MSX-BASIC поставлялся со всеми компьютерами стандарта MSX и был записан в
ПЗУ
компьютера. При старте системы, если другое ПО, записанное в ПЗУ, не перехватывает управление, запускается MSX-BASIC и отображается приглашение командной строки. Примерами другого ПО, перехватывающего управление при старте системы, являются
игровые картриджи
(запускается вместо BASIC, если вставлен в слот) и контроллер
дисковода
(показывает приглашение
MSX-DOS
, если в дисководе находится
дискета
с системными файлами).
Когда MSX BASIC используется, ПЗУ, содержащее код интерпретатора и BIOS, занимает младшие 32
КБ
адресного пространства процессора
Z80
. В старших 32 КБ находится
ОЗУ
, из которого для BASIC-программ и данных доступно от 23 КБ до 28 КБ. Точное значение объёма доступной оперативной памяти зависит от наличия контроллера дисковода и версии MSX-DOS.
Среда разработки
Среда разработки MSX BASIC очень похожа на среду Dartmouth Time Sharing System (
Dartmouth BASIC
). Она представляет собой интегрированную среду разработки с интерфейсом командной строки (исключение представляют функциональные клавиши, позволяющие вводить некоторые часто используемые команды одним нажатием; их назначение отображается в нижней части экрана). Все строки программы должны быть пронумерованы; строки, вводимые без указания номера, выполняются сразу.
Версии MSX BASIC
Каждая новая версия стандарта на компьютеры MSX включала новую версию MSX BASIC. Все версии имеют обратную совместимость и предоставляют возможности использования нового и дополнительного аппаратного обеспечения новых моделей компьютеров.
MSX BASIC 1.0 / 1.1
-
Поставлялся с компьютерами MSX 1.0 / 1.1
-
Объём ПЗУ 16 КБ
-
Отсутствует встроенная поддержка дисководов, требуется картридж Disk BASIC (4 КБ)
-
Поддерживает все доступные на MSX1 видеорежимы:
-
Screen 0 (текстовый режим 40 x 24 символов)
-
Screen 1 (смешанный текстовый режим 32 x 24 символов, аппаратные спрайты и цвет для символов)
-
Screen 2 (графический режим высокого разрешения 256 x 192 точек, 16 цветов)
-
Screen 3 (графический режим низкого разрешения 64 x 48)
-
Полная поддержка аппаратных спрайтов и автоматическое определение их столкновений, с генерацией прерываний
-
Полная поддержка штатного звукогенератора
General Instruments
AY-3-8910
(PSG)
MSX BASIC 2.0
-
Поставлялся с компьютерами MSX 2.0
-
Объём ПЗУ 16 КБ
-
Добавлена поддержка новых видеорежимов:
-
Обновление Screen 0 (текстовый режим 80 x 24)
-
Screen 5 (графический режим 256 x 212/424 точек, 16 цветов из 512 доступных)
-
Screen 6 (графический режим 512 x 212/424 точек, 4 цветов из 512)
-
Screen 7 (графический режим 512 x 212/424 точек, 16 цветов из 512)
-
Screen 8 (графический режим 256 x 212/424 точек, 256 цветов, без палитры)
-
Режимы с 424 строками могут отображаться только в режиме чередования строк
-
Добавлена поддержка цветных спрайтов (16 цветов)
-
Добавлена поддержка аппаратных графических функций (копирование блоков, закраска и другие)
-
Добавлена поддержка нижних 32 КБ ОЗУ компьютера в виде виртуального диска с ограниченными возможностями (может хранить только некоторые типы файлов). Эта область ОЗУ недоступна напрямую, так как ПЗУ BIOS и интерпретатора BASIC находятся в том же адресном пространстве.
MSX BASIC 3.0
-
Поставлялся с компьютерами MSX 2.0+
-
Объём ПЗУ 16 КБ
-
Добавлена команда
SET SCROLL
для управления плавной аппаратной прокруткой в BASIC-программах
-
Добавлена поддержка новых видеорежимов:
-
Screen 10 (графический режим 256 x 212/424 точек, 12499 отображаемых цветов одновременно в формате YJK + 16 цветов из палитры, содержащей 512 цветов в формате RGB)
-
Screen 11 (графический режим 256 x 212/424 точек, 12499 цветов YJK одновременно + 16 цветов из 512 в RGB)
-
Screen 12 (графический режим 256 x 212/424 точек, 19268 цветов YJK одновременно)
MSX BASIC 4.0
-
Поставлялся с компьютерами MSX Turbo R (выпускались только в
Японии
)
-
Добавлена поддержка видеорежимов 512 x 512 точек (16 цветов из 512) и 256 x 212 (19268 цветов)
-
Добавлена команда
_PAUSE
для создания программных задержек, не зависящих от выбранного процессора и его тактовой частоты
-
Добавлены команды для управления устройством записи и воспроизведения цифрового звука (
_PCMPLAY
,
_PCMREC
)
MSX BASIC 4.1
-
Поставлялся с компьютером FS-A1GT MSX Turbo R
-
Имеет расширения для работы с интерфейсом
MIDI
Расширения MSX BASIC
Так как возможность расширения была предусмотрена в MSX BASIC изначально, создание дополнительных модулей осуществлялось очень просто. Поддержка дополнительных устройств обычно добавлялась с помощью картриджей, содержавших также сами устройства или аппаратный интерфейс для их подключения. Например, MSX Disk-BASIC поставлялся в картридже, имевшем интерфейс для подключения дисководов, и добавлял новые команды для работы с ними.
Также существовала возможность расширения MSX BASIC чисто программными способами. Интересным расширением для MSX BASIC 1.0/1.1 было расширение с названием
, реализующее дополнительный видеорежим смешанного типа, Screen 4, позволявший выводить символьную информацию с разрешением 64 x 24 символа в графическом режиме высокого разрешения (Screen 2).
Интересные факты
-
Вильнюсский бейсик
создавался с нуля для машин с системой команд
PDP-11
под сильным влиянием MSX Basic. В частности, совпадают названия большинства операторов и функций, а также коды сообщений об ошибках.
-
Оператор цикла FOR в MSX BASIC имел отличительную особенность — при любых значениях параметров цикла тело цикла выполнялось по крайней мере один раз.
Ссылки
Диалекты языка программирования
Бейсик
|
Классические
|
|
Переходные
|
|
Процедурные
|
|
Объектные
|
|
Мобильные
|
|
Консольные
|
|