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

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

В VIC-1211 Супер Экспандер это патрон для Коммодор ВИК-20 домашний компьютер. Он был разработан, чтобы обеспечить несколько расширения к БАЗОВЫЙ переводчик на компьютере, в основном, чтобы помочь с программированием графика и звук. Он также предоставил 3 кБ дополнительных ОЗУ (из них 136 байт было использовано самим картриджем). Картридж был создан Commodore Business Machines (CBM) и выпущен в 1981 году.

Описание

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

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

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

Графика

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

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

Звук

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

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

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

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

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

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

Недостатки

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

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

Смотрите также

внешние ссылки