Бета BASIC - Beta BASIC
Скриншот BetaBasic в работе | |
Оригинальный автор (ы) | Д-р Энди Райт |
---|---|
Разработчики) | BetaSoft |
изначальный выпуск | 1983 |
Стабильный выпуск | Бета-базовая версия 4.0 / 1987[1] |
Операционная система | ZX Spectrum |
Тип | BASIC язык программирования переводчик |
Лицензия | Проприетарный |
Бета BASIC это БЕЙСИК-интерпретатор для Sinclair Research ZX Spectrum микрокомпьютер, написанный доктором Энди Райтом в 1983 году и проданный его единственным специалистом по разработке программного обеспечения BetaSoft.[1] BetaSoft также выпускает регулярный информационный бюллетень / журнал BetaNews.
Первоначально это начиналось как BASIC инструментарий но со временем он перерос в полноценную замену.
Услуги
Beta BASIC полностью заменен Sinclair BASIC, что было обычным явлением для того времени, когда ОС обеспечивала Интерфейс командной строки (CLI). Таким образом, Beta BASIC предоставила новый улучшенный интерфейс командной строки и редактор. Он поддерживал Синклера идиосинкразический система ввода с одним ключом для ключевых слов BASIC, но также позволяет писать ключевые слова буква в букву. Это также устранило необходимость запоминать иногда сложные комбинации клавиш, необходимые для ввода менее часто используемых БАЗОВЫЙ ключевые слова. Однако система ввода с одним ключом была также расширена путем сопоставления «графических» символов Spectrum с новыми ключевыми словами Beta BASIC. Чтобы переключиться с ввода ключевого слова на вводимый текст, нужно было просто ввести один пробел, в результате чего режим курсора изменился с K (ключевое слово) на L (нижний регистр) или C (заглавный). (Оператор KEYWORDS также может использоваться для изменения этого поведения, например, путем отключения режима K.)
Редактор при листинге может опционально автоматически Prettyprint код. В Sinclair BASIC это можно было сделать вручную, но автоматический отступ имеет то преимущество, что выделяет определенные типы ошибок кодирования - в первую очередь те, которые связаны с неправильным закрытием конструкций. Другие улучшения редактирования включали автоматическое выделение индикатора текущей строки - небольшая настройка, но непропорционально полезная - и возможность перемещать курсор вверх и вниз, а также влево и вправо, огромное преимущество при редактировании длинных строк. В сочетании с дисплеем с 64 столбцами (см. Раздел «Новые функции» ниже) эти улучшения сделали Beta BASIC гораздо более производительной средой даже для кодирования стандартного Sinclair BASIC и без использования языковых дополнений BetaSoft.
Beta BASIC также был автономным переводчик само по себе, минуя Спектрум ПЗУ, который он использовал как библиотеку. Время от времени он обращался к ПЗУ для доступа к полезным функциям, которые не стоило повторно реализовывать в самой Beta BASIC, либо потому, что процедуры ROM были достаточно хороши, либо из-за нехватки места - Beta BASIC должен был работать в 48КБ памяти, доступной на Спектруме, и при этом остается место для кода пользователя.
Изменения языка
Для своего времени Beta BASIC была сложной. Он обеспечил полное структурное программирование с именованными процедурами и функциями, в комплекте с локальными переменными, что позволяет программировать с использованием рекурсия. Хотя он поддерживал номера строк, в них не было необходимости, и он предлагал режим работы, который полностью подавлял отображение номеров строк.
На машинах Spectrum 128K Beta BASIC предоставляла расширенные возможности, позволяющие программистам получать доступ к дополнительной памяти машины, которая имела форму RAM-диск. Помимо предоставления программисту возможности сохранять и загружать программы, блоки памяти или изображения экрана на RAM-диск и каталогизировать содержимое RAM-диска, Beta BASIC также предоставляет команды для создания и использования массивы хранится на RAM-диске, что позволяет программам, работающим в 30 КБ или около того свободной памяти на Spectrum, манипулировать массивами, приближающимися к 80 КБ - значительный дополнительный объем пространства по стандартам 1980-х годов и больше, чем почти любой другой 8-разрядный BASIC, который был обычно ограничивается 64 КБ программы и данных вместе взятых.
Новый функционал
Beta BASIC также гонял на Спектруме 256x192 пиксель отображать напрямую, устраняя ограничения 32-столбцового текстового дисплея ПЗУ. Beta BASIC предлагала масштабируемые экранные шрифты со специальным программным шрифтом шириной всего 4 пикселя, но все же разборчивым. Это означало, что Beta BASIC может отображать 64 столбца текста на экране, что делает его более сопоставимым с традиционными 80-столбцовыми дисплеями компьютерных терминалов и типичными любителями и профессиональными машинами CP / M. (Некоторые домашние компьютеры 80-х годов могли также отображать 80 столбцов.) Если пользователь был готов терпеть отображение символов без промежутков между ними, было возможно отображение 85 столбцов. Это было не очень удобно для чтения, но позволяло легко переносить приложения BASIC, разработанные для экрана с 80 столбцами. Размер текста можно контролировать программно, чтобы часть дисплея программы могла использовать текст из 64 столбцов, часть текста из 32 столбцов и увеличенные или уменьшенные промежуточные размеры.
Специальные версии были выпущены для пользователей Интерфейс 1 и ZX Microdrive, а затем и для тех, у кого Opus Discovery, ДИСЦИПЛИРОВАТЬ и PlusD дисковые интерфейсы. Версия для Амстрад Спектр +3 тоже некоторое время рассматривался, но Райт отказался от проекта.
Ограничения
Beta BASIC страдает некоторыми ограничениями. Как и другие 8-битные микропроцессоры, Spectrum мог адресовать только 64 КБ непрерывной памяти из-за ограничений адресации Spectrum's Зилог Z80 ЦПУ. Из них 16 КБ заняло ПЗУ Sinclair BASIC, оставив 48 КБ для ОЗУ. Часть этого заняла экран и области, используемые для хранения собственных внутренних структур данных интерпретатора. Бета-версия BASIC заняла около 11-12 КБ из оставшейся части, в некоторых случаях оставляя только 20 КБ или около того для пользовательских программ.
Замена редактора Синклера означала, что было невозможно использовать полноэкранный редактор BASIC 128K Spectrum ROM. Нет компилятор был доступен для бета-кода BASIC и существующих компиляторов Sinclair BASIC, таких как HiSoft BASIC не мог обрабатывать расширенные ключевые слова и возможности Beta BASIC.
Еще одно оставшееся ограничение Sinclair BASIC заключалось в том, что для строк, массивов и других типов можно использовать только однобуквенные имена переменных.
Единственным другим 8-битным BASIC со встроенной поддержкой структурного программирования был BBC BASIC. Именованные процедуры Beta BASIC не нужно было вызывать с ключевым словом PROC, как в BBC BASIC, и, таким образом, они стали ключевыми словами нового языка, что позволило расширить сам язык. Однако BBC BASIC был значительно быстрее - самый быстрый интерпретатор BASIC того времени. Бета-версия BASIC не была особенно быстрой, хотя она включала более быстрые замены особенно медленных подпрограмм ROM, таких как код рисования круга и дуги.
История выпуска
- BetaBasic V1.0 - 1983 г.
- BetaBasic V1.8 - 1984 г.
- BetaBasic V1.9 - 1984 г.
- BetaBasic V3.0 - 1985 г.
- BetaBasic V3.1 - 1985 г.
- BetaBasic V4.0 - 1987 г.
Последующее развитие
Во время разработки своего изощренного преемника Spectrum, SAM купе, Алан Майлз и Брюс Гордон из Miles Gordon Technology обратился в BetaSoft и заключил контракт с Райтом на поставку BASIC для новой машины. Он предоставил полный интерпретатор BASIC, который в значительной степени опирался на Beta BASIC, но был по-другому структурирован, так как это был язык сам по себе и не имел ПЗУ Sinclair, которое можно было бы использовать или обходить. SAM BASIC был в значительной степени совместим с Beta BASIC и работал очень похожим образом, за исключением областей, где аппаратное обеспечение SAM значительно отличалось, например, экран SAM и расширенная память. Позже BetaSoft выпустила расширение для SAM BASIC под названием MasterBASIC.[2]
использованная литература
- ^ а б Бета-версия Basic - Мир Спектра
- ^ MasterBasic - Мир Сэма