BASIC 8 (или BASIC 8.0 ) — « Усовершенствованная графическая система для C128 » — графическая система американской разработки, разработанная Walrusoft из Гейнсвилля, Флорида [1] и опубликованная в 1986 году компанией Patech Software из Сомерсета, Нью-Джерси . Система представляла собой расширение BASIC 7.0 компании Commodore для домашнего / персонального компьютера C128 . BASIC 8.0 предоставил команды, отсутствующие в BASIC 7.0, для создания (цветной) графики в режиме C128 с 80 столбцами высокого разрешения (640 × 200 пикселей ) для мониторов RGB .
Пакет BASIC 8 был разработан Луисом Уоллесом и Дэвидом Дарусом из Walrusoft при участии Кена Френча ( драйверы принтера ) и косвенно Ричарда Райландера (который позволил использовать свои команды 3D-тел для Commodore 64 (C64) , первоначально опубликованные в журнале Dr. Dobb's Journal). , для преобразования в режим высокого разрешения C128).
В отличие от своих конкурентов, таких как семейства 8-битных компьютеров Apple II и Atari , в предыдущих версиях языка программирования BASIC , используемого в компьютерах Commodore, отсутствовали специальные команды для обработки звука, графики и устройств ввода. Вместо этого им требовались непонятные последовательности PEEK и POKE или процедуры машинного языка , чтобы считывать данные с джойстиков и манипуляторов и генерировать графику, звуки и музыку высокого разрешения.
Отсутствие звуковых и графических команд в BASIC 2.0, используемом для Commodore 64 , привело к разработке множества сторонних языковых расширений, таких как BASIC Саймонса , которые были более доступны для неопытных пользователей.
Commodore 128 (C128) запускался с версией BASIC 7.0, которая содержала несколько звуковых и графических команд. Однако они работали только в режиме видео «40 столбцов», режиме телевизора или композитного монитора с разрешением, равным разрешению C64. Программирование графики для нового «80-столбцового режима» высокого разрешения C128, в первую очередь предназначенного для мониторов RGBI , было более сложным, чем для C64, поскольку с графическим чипом C128 8563 VDC труднее работать, чем с VIC . -II . [1]
BASIC 8.0, доступный на дискете или в ПЗУ , предоставлял множество графических команд, которые могли конкурировать с конкурентами C128 на рынке высокопроизводительных 8-битных микрокомпьютеров. BASIC 8.0 был полностью совместим с различными микросхемами и картриджами расширения оперативной и видеопамяти сторонних производителей , а также с мышами и джойстиками . Он также предоставлял основные команды 3D-графики . [2] Наряду с 188-страничным руководством пакет программного обеспечения включал пример графического пользовательского интерфейса и программу рисования с высоким разрешением Basic Paint, разработанные с использованием BASIC 8.0.
Был предоставлен исходный код некоторых пакетов BASIC 8, а на диске BASIC 8.0 отсутствовала какая-либо защита от копирования , но это было до Инициативы открытого исходного кода ; это было сделано из вежливости. Вместо того, чтобы угрожать судебным иском, Walrusoft просто попросила пользователей не копировать программное обеспечение в документации. Это сработало; BASIC 8.0 стал одним из самых продаваемых расширений для C128. [ нужна цитата ]
В BASIC 8.0 все добавленные команды начинались со знака @ , который обычно не использовался в Commodore BASIC, чтобы различать исходные и новые ключевые слова. Использование этого символа позволило бы разработчику расширить BASIC 7.0 без необходимости повторной токенизации команд, как это было сделано на C64. Это было достигнуто путем перехвата синтаксической ошибки, сгенерированной командой.
@CHAR
– Отображает текстовую строку в растровом поле (аналогично CHAR
команде BASIC 7.0 с низким разрешением).@MODE
– Переключение между одним из 32 экранов с высоким разрешением.@PAINT
– Заполните замкнутую область цветом или узором.@PIXEL
– Возвращает значение цвета пикселя@STASH
– Копирует часть или весь экран для последующего использования.@WALRUS
– Отображает логотип Walrusoft и тип/размер используемой видеопамяти (16 КБ или 64 КБ)@WINDOWOPEN
– Определите часть экрана как «окно» для рисования.{{cite magazine}}
: Журналу Cite требуется |magazine=
( помощь )