Jump to content

Супер Экспандер

Картридж Super Expander VIC-1211.

VIC -1211 Super Expander картридж для VIC-20 домашнего компьютера . Он был разработан для предоставления нескольких расширений интерпретатора BASIC программировании на компьютере, в основном для помощи в графики и звука . Он также предоставил 3 КБ дополнительной оперативной памяти (из которых 136 байт использовалось самим картриджем). Картридж был создан компанией Commodore Business Machines (CBM) и выпущен в 1981 году.

Описание

[ редактировать ]

Диалект BASIC, поставляемый в комплекте с VIC-20, Commodore BASIC V2.0 , был известен своей скудной функциональностью. Он даже не соответствовал характеристикам старой линейки компьютеров Commodore, PET , на которой в то время уже была версия Commodore BASIC 4.0. В результате к моменту выпуска VIC-20 он устарел и казался довольно примитивным по сравнению с диалектами BASIC, доступными на других микрокомпьютерах. Честно говоря, решение Commodore переработать старый BASIC и тот факт, что он мог уместиться всего в 16 КБ ПЗУ (включая KERNAL ), помогли свести цену VIC-20 к минимуму и тем самым способствовали его огромному успеху. Плюс он был стабильным и почти полностью свободным от ошибок , чего нельзя было сказать о некоторых конкурирующих BASICах.

Тем не менее, в VIC BASIC не только отсутствовали команды, считавшиеся фундаментальными для языка BASIC, такие как «else» и «renum», но и полностью не поддерживались графические и звуковые эффекты. Чтобы использовать графику и звук VIC-20, программистам приходилось « PEEK и POKE » байты непосредственно из/в графическое/звуковое оборудование VIC-20, чип видеоинтерфейса 6560 (VIC) . Это делало программирование довольно утомительным и подверженным ошибкам, поскольку загадочные адреса и коды памяти приходилось постоянно использовать , ошибки в них обычно приводили к сбою компьютера вместо выдачи сообщения об ошибке, и для выполнения даже простых задач требовалось множество операторов. Подобная вещь была смертью крошечной оперативной памяти и медленно интерпретируемой парадигмы BASIC того времени.

Программисты могли в некоторой степени смягчить эти проблемы, используя машинный код , но это само по себе было утомительным процессом с довольно крутой кривой обучения. Чтобы устранить эти недостатки, компания Commodore создала картридж Super Expander . Он предоставил дополнительные команды BASIC для облегчения использования графики и звука на VIC-20. Он также имел команды для чтения джойстика и светового пера , а также разблокировал использование функциональных клавиш .

VIC-20 не поддерживал напрямую графику высокого разрешения. Графика высокого разрешения была реализована путем «раскрашивания» дисплея символами и «переопределения» растровых изображений символов на лету. Это был сложный и длительный процесс; реализация его в программе на языке BASIC была практически бесполезна из-за времени выполнения, необходимого для рисования чего-либо.

Super Expander взял на себя всю тяжелую работу. Это позволяло программисту рисовать точки, линии, эллипсы и дуги, а также рисовать замкнутые области с помощью однострочных операторов. Можно было использовать все 16 цветов VIC-20, хотя и с ограничениями, связанными с ограничениями чипа 6560. Разрешение экрана составляло 160×160 пикселей , уменьшенное по сравнению с 192×200, разрешенным чипом 6560, чтобы обеспечить попиксельную адресацию. Поддерживалось многоцветное высокое разрешение (с разрешением 80×160), и его можно было смешивать с обычным высоким разрешением.

Звуковые возможности VIC-20 были довольно упрощенными, поэтому программирование звуковых эффектов с использованием «PEEK и POKE» было не такой уж сложной задачей, как программирование графики. Несмотря на это, Super Expander предоставлял команду для воспроизведения простых тонов на четырех голосовых каналах VIC-20 и управления громкостью.

Воспроизведение музыки не поддерживалось на VIC-20; Обычным способом реализации музыкальной ноты было воспроизведение тона внутри цикла for задержки . Напротив, с помощью Super Expander музыкальные партитуры можно было воспроизвести, просто напечатав строку символов. (Музыкальные строки отличались от обычных струн с помощью специального символа обратного управления, знакомого каждому, кто использовал цвета или элементы управления курсором в программах VIC-20.) Каждый из четырех голосовых каналов VIC-20 мог воспроизводить свои собственные партитуры одновременно. создавая гармоничные эффекты, которые могли быть поразительными по меркам того времени.

Другие устройства

[ редактировать ]

Super Expander предоставляет команды для чтения состояния джойстика и лепестков , а также положения светового пера. В случае с джойстиком, поскольку он был «цифровым» или «переключательным», дальнейшая битовая обработка для декодирования его положения требовалась .

Функциональные клавиши

[ редактировать ]

Обычно функциональные клавиши VIC-20 можно использовать только в программе путем сканирования соответствующего кода клавиши при чтении клавиатуры . VIC-20 В прямом режиме они не могли ничего сделать. С помощью Super Expander функциональные клавиши можно назначить для выполнения команд в немедленном режиме. По умолчанию они поставляются с предварительно запрограммированными наиболее распространенными командами BASIC, аналогично GW-BASIC на IBM PC . Затем пользователь мог назначить свои собственные команды или любую произвольную строку функциональным клавишам.

Недостатки

[ редактировать ]

Ниже приведены основные ограничения привлекательности и полезности Super Expander .

  • Компания Commodore разработала Super Expander для отображения графического дисплея в системе координат 1024×1024 . По этой схеме каждый видеопиксель имел размер 6,4 (или 12,8) «виртуальных» пикселей. Это означало, что для размещения пикселей в точных позициях на экране необходимо было запрограммировать дополнительную операцию масштабирования. Аналогичная функциональность была обеспечена в BASIC 3.5 и 7.0 через SCALE команда, но в этих версиях BASIC масштабирование было необязательным и могло выполняться до любого произвольного размера, указанного пользователем.
  • Соотношение сторон устройства вывода (т.е. телевизора) не учитывалось системой координат. Таким образом, в NTSC круг размером, скажем, 300×300 будет выглядеть эллиптическим. Аналогично, линия, проведенная от (0,0) до (300,300), не будет отображаться как 45°.
  • При рисовании дуг окружности начальный и конечный углы должны были указываться в нестандартных единицах измерения: 100 «градианов» окружности (в отличие от 360 градусов или 400 фактических градантов ).
  • Super Expander не имел возможности выводить растровое изображение на дисплей. Это означало, что произвольные растровые изображения, которые можно было бы использовать в играх с высоким разрешением, нужно было рисовать попиксельно. Медлительность интерпретатора BASIC сделала его непригодным для таких приложений, как аркадные игры. В результате возможности Super Expander были в основном полезны для рисунков, ориентированных на форму, таких как диаграммы и простые изображения, или для игр в приключенческом стиле со статическими изображениями.
  • Программы, написанные с использованием дополнительных команд Super Expander, не были переносимыми . Хотя это неизбежно (поскольку программы не помещаются в память нерасширенного VIC-20, а дополнительные команды BASIC все равно не распознаются). Пользователю необходимо было иметь картридж и установить его перед запуском программы, написанной с использованием дополнительных команд. Загрузка программы на нерасширенный VIC-20 выдавала ошибки. Поэтому спектр программного обеспечения, выпущенного для использования возможностей Super Expander , включая программы ввода текста, публикуемые в журналах, был очень небольшим.

Несмотря на вышесказанное, возможности Super Expander заполнили многие пробелы в среде программирования VIC-20. Кроме того, аналогичные микрокомпьютеры, представленные на рынке, имели те же или эквивалентные недостатки.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c987cda799b0c791d73c3b5f82f1546__1675161600
URL1:https://arc.ask3.ru/arc/aa/4c/46/4c987cda799b0c791d73c3b5f82f1546.html
Заголовок, (Title) документа по адресу, URL1:
Super Expander - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)