WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

MSX BASIC — диалект языка программирования BASIC, разработанный в 1983 году компанией Microsoft. Представляет собой расширенную версию Microsoft Standart 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 IV, реализующее дополнительный видеорежим смешанного типа, Screen 4, позволявший выводить символьную информацию с разрешением 64 x 24 символа в графическом режиме высокого разрешения (Screen 2).

Интересные факты

  • Вильнюсский бейсик создавался с нуля для машин с системой команд PDP-11 под сильным влиянием MSX Basic. В частности, совпадают названия большинства операторов и функций, а также коды сообщений об ошибках.
  • Оператор цикла FOR в MSX BASIC имел отличительную особенность — при любых значениях параметров цикла тело цикла выполнялось по крайней мере один раз.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии