Commodore BASIC
Класс языка язык программирования
Появился в 1977
Разработчик Microsoft
Выпуск 7.0 (1985)
Испытал влияние Microsoft BASIC
Платформа MOS Technology 6502
Логотип Викисклада Медиафайлы на Викискладе

Commodore BASIC (также известен PET BASIC или CBM-BASIC) — один из диалектов языка программирования BASIC, использовавшийся в домашних компьютерах Commodore, начиная с PET (1977) и заканчивая C128 (1985).

История создания

править
Демонстрация работы команды WAIT 6502,12 на Commodore BASIC V2 для Commodore PET 3008, после выполнения которой отображается 12 записей "MICROSOFT!"

Код Commodore BASIC основан на Microsoft BASIC для архитектуры MOS Technology 6502 с включением функционала, распространённого в других интерпретаторах BASIC для 6502 (например, использование арифметики 40-битных чисел с плавающей запятой, доступной в архитектуре 6502). Commodore лицензировала код BASIC у Microsoft в 1977 году, выплатив единовременную сумму за право использования и развития продукта в своих домашних компьютерах. Первоначальное предложение Билла Гейтса лицензировать продукт методом отчислений от продажи реализованных компьютеров (предполагалось выплачивать по три доллара с каждого проданного экземпляра) глава Commodore Джек Трэмиел отверг словами «Я уже женат», предложив единовременную выплату в размере 25 тыс. долларов. Гейтс согласился на эти условия[1]. Позднее Commodore заплатила дополнительную сумму, чтобы обновить версию исходного кода, полученного ранее. Гейтс, вероятно, опасаясь за то, что Commodore присвоит интерпретатор себе, втайне встроил в исходный код обновлённой версии тщательно обфусцированную директиву WAIT 6502, <число>, при вызове которой интерпретатор печатал слово «MICROSOFT!» заданное количество раз, что могло служить доказательством владения интеллектуальной собственностью в случае возможных судебных разбирательств[2]. Изменение осталось незамеченным и попало в итоге в релизную версию BASIC V2, поставлявшуюся вместе с первыми ревизиями Commodore PET. По свидетельству программиста Джима Баттерфилда, узнав о подобном «пасхальном яйце» в своём продукте, представители Commodore были крайне возмущены, в основном из-за того, что дополнительный код отнимал лишние 51 байт из без того ограниченного количества оперативной памяти, доступной в PET[2]. Последующие версии BASIC уже не имели данной скрытой команды.

Версия для PET была во многом сходна с оригинальной реализацией Microsoft с незначительными изменениями. BASIC 2.0 для C64 и C128 также не претерпела значительных изменений. Более поздние модели PET уже поставлялись вместе с BASIC 4.0 с дополнительным набором команд для работы с приводами дискет. Значительные изменения были добавлены в BASIC 3.5 для C16 и Plus/4, обладавший расширенной поддержкой графики и звука. BASIC 7.0, поставлявшийся с Commodore 128, заимствовал часть команд из BASIC 3.5 для Plus/4, так как для нового компьютера было важно показать новые возможности более продвинутой платформы. Последняя реализация — BASIC 10.0 — должна была стать частью невышедшего Commodore 65[3].

Особенности реализаций

править
BASIC 2.0, доступный в Commodore 64. Пример программы, готовой к запуску

Популярный Commodore 64 вышел с BASIC 2.0, несмотря на то, что был выпущен позднее компьютеров линейки PET/CBM, на которых актуальной версией был BASIC 4.0. Commodore позиционировала C64 как домашний компьютер, когда как CBM/PET — нацеленные на решение бизнес- и образовательных задач соответственно, где предполагалось, что использование языка программирования будет более востребованным. К тому же V2 занимал меньший объём памяти, благодаря чему можно было выбрать менее ёмкие и более дешёвые компоненты для ПЗУ.

Как и в большинстве домашних компьютеров 1980-х годов, компьютеры Commodore загружали интерпретатор BASIC напрямую, предоставляя рудиментарные средства операционной системы для загрузки и выполнения пользовательского кода. Хотя некоторые версии Commodore BASIC содержали специфичные для работы с дискетами команды DLOAD и DSAVE, в версии для C64 они отсутствовали, из-за чего пользователю приходилось указывать номер привода дискет (8 или 9) при вызове команды LOAD, по умолчанию выполнявшую загрузку из магнитной ленты. Ещё одной командой, которая отсутствует в C64, является команда DIRECTORY, отображающая содержимое дискеты без необходимости очистки памяти. Обычно для просмотра содержимого производитель программного продукта предоставлял встроенную программу на BASIC, которая при запуске выводила необходимую информацию, однако при этом ранее записанная программа удалялась из памяти. Различные расширения BASIC (например, DOS Wedge), появившиеся после выхода C64, обеспечивали необходимый функционал без очистки памяти.

Примечания

править
  1. Commodore 64—25th Anniversary Celebration. Computer History Museum (15 декабря 2007). Дата обращения: 31 января 2022. Архивировано 14 января 2022 года.
  2. 1 2 Bill Gates’ Personal Easter Eggs in 8 Bit BASIC (30 сентября 2008). Дата обращения: 31 января 2022. Архивировано 31 января 2022 года.
  3. C64DX SYSTEM SPECIFICATION. Дата обращения: 31 января 2022. Архивировано 25 января 2022 года.

Ссылки

править
  • Angerhausen, Michael. Anatomy of the Commodore 64 : [англ.] / Michael Angerhausen, Achim Becker, Lothar Englisch … [et al.]. — Abacus Software, 1983-12-01. — ISBN 978-0916439002.

📚 Artikel Terkait di Wikipedia

Commodore 64

исходному Commodore 64, производитель заявляет о полной поддержке C64 Basic V2. Цена на момент начала продаж составляла около 100 евро. Commodore 64 использует

MSX

работающий на частоте 3,58 МГц ПЗУ: 48 КБ BIOS + Extended BIOS (32 КБ) MSX BASIC V2.0 (16 КБ) DiskROM (16 КБ) (опционально) MSX-Audio BIOS (32 КБ) (опционально)

Список игр Konami

Dance 86.4 Funky Radio Station Dancing Stage Fusion DrumMania V DrumMania V2 Gashaaaan GuitarFreaks V Mahjong Fight Club 4 Monster Gate Online 2 Paintball

Adventure Game Interpreter

обеспечения, портирование игр на 8-битные домашние компьютеры (Atari 800 и Commodore 64) было практически невозможным. Поддержка AGI-игр присутствует в эмуляторе

Acorn Electron

располагал ОЗУ в 32 Кб, в ПЗУ компьютера был записан интерпретатор BBC BASIC. После того как Acorn выпустил BBC Micro (£235 и £335 для версии A и B соответственно)

Список игр Interplay Entertainment

RPG, разработанная BioWare Bard’s Tale, Battle Chess Battlecruiser 3000AD v2, для 3000AD Black Dahlia — интерактивное кино, разработанное Take-Two Interactive

Maziacs

компания ABC Soft. Впоследствии Maziacs была портирована на Amstrad CPC, Commodore 64 и MSX. Maziacs входит в состав нескольких сборников, а также локализована

Сравнение файловых систем

Piszcz, Linux Gazette 122, January 2006  (англ.) Linux File System Benchmarks v2.6 kernel with a stress on CPU usage  (англ.) Interview With the People Behind