Графика Apple II

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

Графика Apple II состояла из идиосинкразических режимов и настроек, которые могли быть эксплуатируется. Эта графическая система дебютировала в оригинальном Apple II, была продолжена в Apple II Plus и была продолжена и расширена в Apple IIe, Enhanced IIe, IIc, IIc Plus и IIGS.

Содержание
  • 1 Особенности графических режимов
  • 2 Видеовыход на машинах
    • 2.1 Встроенное видео оборудование вывода
    • 2.2 Дополнительные карты вывода видео
  • 3 Подробности графического режима
    • 3.1 Цвет на Apple II
    • 3.2 Графика с низким разрешением (Lo-Res)
      • 3.2.1 Lo-Res структура памяти
      • 3.2.2 Экран 2 Графика и текст с низким разрешением
        • 3.2.2.1 «Альтернативный режим отображения» на Apple IIGS
    • 3.3 Графика высокого разрешения (Hi-Res)
    • 3.4 Графические режимы на более поздних моделях (IIe, IIc, IIc Plus, IIGS)
      • 3.4.1 Двойное низкое разрешение
      • 3.4.2 Двойное высокое разрешение
        • 3.4.2.1 Приложения, использующие двойное высокое разрешение
    • 3.5 Apple Графические режимы IIGS
  • 4 См. Также
  • 5 Ссылки
Особенности графических режимов

Графические режимы в Apple II se Они были своеобразными даже по меркам конца 1970-х - начала 1980-х годов. Одна примечательная особенность этих режимов - прямой результат работы основателя Apple Стива Возняка, сохранившего чип. Многие домашние компьютерные системы того времени (а также сегодняшние ПК-совместимые машины ) имели архитектуру, которая назначала последовательные блоки памяти непоследовательным строкам на экран в графических режимах, т.е. чередование. Текстовый и графический режимы Apple основаны на двух различных коэффициентах чередования : 8: 1 и 64: 1.

Вторая особенность графики Apple II - так называемые «цветные полосы» - это еще один побочный продукт дизайна Возняка. Хотя это происходит во всех графических режимах, они играют решающую роль в режиме Hi-Resolution или Hi-Res (см. Ниже).

Видеовыход на машинах

Чтение значения или запись любого значения в определенные адреса памяти, управляемые так называемыми «программными переключателями ». Прочитанное или записанное значение не имеет значения, учитывается сам доступ. Это позволяло пользователю делать много разных вещей, включая отображение графического экрана (любого типа) без его стирания, отображение текстового экрана, очистку последней нажатой клавиши или доступ к различным банкам памяти. Например, можно переключиться со смешанной графики и текста на отображение всей графики, обратившись к адресу 0xC052 (49234). Затем, чтобы вернуться к смешанной графике и тексту, нужно получить доступ к 0xC053 (49235).

Встроенное оборудование вывода видео

Все машины Apple II имели разъем RCA, обеспечивающий грубый NTSC, PAL, или SECAM композитный видеовыход (на машинах, не поддерживающих NTSC до Apple IIe, этот вывод будет только черно-белым). Это позволило подключить компьютер к любому композитному видеомонитору, соответствующему тому же стандарту, для которого была настроена машина. Однако качество этой продукции было ненадежным; сигнализация синхронизации была достаточно близкой для мониторов - что довольно снисходительно - но не соответствовала достаточно близко стандартам, чтобы быть пригодной для широковещательных приложений или даже для ввода в видеомагнитофон, без промежуточной обработки. (Исключением была версия Extended Back Black II Plus под брендом Bell Howell, которая обеспечивала правильную синхронизацию видео, а также другие мультимедийные функции.)

В дополнение к выходному разъему композитного видео, IIc, IIc Plus и II GS имели двухрядный 15-контактный выход. В IIc и IIc Plus этот разъем был специальным видеоразъемом для адаптеров цифровых RGB-мониторов и радиочастотных модуляторов. В II GS это был выход для аналогового RGB монитора, специально разработанный для дополнительных плат видеовыхода II GS.

Многочисленные дополнительные видео видеокарты были доступны для серии Apple II, например, Apple 80-Column Text Card. Существовали цветные карты PAL, которые позволяли выводить цвет на ранних машинах PAL. Некоторые другие карты просто добавляли возможности отображения 80 столбцов и нижнего регистра, в то время как другие позволяли выводить на монитор IBM CGA через выходное гнездо DE9.

Подробности графического режима

Цвет на Apple II

Видеовыход Apple II на самом деле является монохромным дисплеем, основанным на битовых шаблонах в видеопамяти (или пикселях). Эти пиксели объединяются в квадратур с сигналом colorburst, который интерпретируется как цвет композитным видеодисплеем.

Высокое разрешение обеспечивает два пикселя на цикл цветовой синхронизации, что позволяет использовать два возможных цвета, если один пиксель включен, черный, если нет включенных пикселей, или белый, если включены оба пикселя. Путем сдвига выравнивания пикселей в сигнал цветовой синхронизации на 90 ° можно отобразить еще два цвета, всего четыре возможных цвета. Низкое разрешение позволяет использовать четыре бита за цикл, но повторяет битовую комбинацию несколько раз на пиксель с низким разрешением. Двойное высокое разрешение также отображает четыре пикселя за цикл. См. Разделы ниже для получения более подробной информации.

Графика с низким разрешением (Lo-Res)

Цвета с низким разрешением 0 (черный), 3 (фиолетовый), 6 (средний синий), 9 (оранжевый), 12 (светло-зеленый) и 15 (белый) были также доступны в режиме высокого разрешения. Цвета 5 и 10 (серый) неотличимы от оригинального оборудования; однако некоторые эмуляторы (например, AppleWin ) отображают их как разные оттенки. Обратите внимание, что некоторые цвета эмулятора Applewin, показанные здесь, заметно отличаются от цветов на исходном оборудовании.

Блочный, но быстрый и красочный графический режим Lo-Res (часто известный как GR после команды BASIC) было 40 пикселей в ширину, что соответствует 40 столбцам на обычном текстовом экране Apple II. В этом режиме может отображаться либо 40 строк пикселей с четырьмя строками текста в нижней части экрана, либо 48 строк пикселей без текста. Таким образом, два пикселя, уложенные вертикально, заполнят пространство экрана, соответствующее одному символу в текстовом режиме. По умолчанию это графика 40 × 40 с текстом.

В этом режиме доступно 16 цветов (фактически 15 в большинстве случаев, поскольку два оттенка серого идентичны по яркости на оригинальном оборудовании Apple, за исключением Apple II GS). Обратите внимание, что шесть цветов идентичны цветам, доступным в режиме высокого разрешения (Hi-Res).

Цвет был созданы путем заполнения пикселя с повторяющимся 4-битовым двоичным шаблоном таким образом, что каждые битых группы подходит в течение одного цикла опорного сигнала ColorBurst. Цветные дисплеи интерпретируют этот образец как цветовой сигнал. На монохромных мониторах или если сигнал цветовой синхронизации был отключен, на дисплее отобразились бы эти битовые шаблоны. Есть два эквивалентных оттенка серого, поскольку 5 (0101) эквивалентно 10 (1010) в зависимости от того, как цвета смешиваются вместе; биты «включения» являются полярными противоположностями друг другу в квадратурном цветовом сигнале , поэтому они компенсируют друг друга и отображаются серым цветом.

Этот режим отображается в ту же область памяти, что и основной текстовый экран с 40 столбцами (от 0x400 до 0x7FF), при этом в каждом байте хранятся два пикселя один поверх другого.

Графический режим Lo-Res предлагал встроенные команды для очистки экрана, изменения цвета рисунка, печати отдельных пикселей, горизонтальных линий и вертикальных линий. Также была функция «SCRN» для извлечения цвета, хранящегося в любом пикселе, которого не хватало в других режимах.

Число - имяYPb (отн.)Pr (отн.)
0 - черный000
1 - пурпурный0,2500,5
2 - темно-синий0,250,50
3 - фиолетовый0,511
4 - темно-зеленый0,250- 0,5
5 - серый # 10,500
6 - средне-синий0,51−1
7 - голубой0,750,50
8 - коричневый0,25−0,50
9 - оранжевый0,5−11
10 - серый # 20,500
11 - розовый0,7500,5
12 - зеленый0,5−1-1
13 - желтый0,75−0,50
14 - голубой0,750−0,5
15 - белый100

Макет памяти Lo-Res

A В блоке 128 байтов хранятся три строки по 40 символов каждая, с остатком в восьми байтах, оставшимся после сохранения третьей строки. Но эти байты не остаются пустыми. Вместо этого они по-разному используются прошивкой материнской платы и прошивкой карты расширения для хранения важной информации, в основном о внешних устройствах, подключенных к компьютеру. Это создавало проблемы, когда пользователь загружал текст или графический экран с низким разрешением непосредственно в видеопамять, заменяя текущую информацию в отверстиях тем, что было во время сохранения. (Повторная калибровка головки диска была обычным побочным эффектом, когда контроллер диска обнаружил, что память - в отверстии экрана - где была головка, внезапно не совпадала с данными заголовка дорожки, которую он читал). Программисты Apple отреагировали, запрограммировав ProDOS так, чтобы пользователь не мог напрямую загрузить файл (данные экрана или иным образом) в 0x400-0x7FF. Вскоре появились программы ProDOS для правильной загрузки данных в эту часть памяти; несколько из них были опубликованы в журнале Nibble.

Экран 2, графика и текст с низким разрешением

Наличие двух экранов для отображения видеоизображений было неотъемлемой частью дизайна семейства Apple II. При доступе к ячейке памяти 0xC055 (49237) отображается «Экран 2» независимо от того, как были установлены другие «программные переключатели». Размер текста и экрана Lo-Res 2 варьировался от 0x800 (2048) до 0xBFF (3071). Чередование точно такое же, как и для главного экрана («Экран 1»). Программы Applesoft BASIC по умолчанию загружаются в 801h (2049); следовательно, они будут занимать пространство текстового экрана 2, если компьютеру не будет дана команда загрузить программу в другое место в памяти. Напротив, некоторые коммерческие программы для Apple II использовали это пространство памяти для различных целей - обычно для отображения экрана справки.

«Альтернативный режим отображения» на Apple II GS

В отличие от других типов компьютеров Apple II, Apple II GS имеет процессор (65816 ), который мог адресовать более 64 КБ ОЗУ без особых ухищрений. В IIgs RAM была разделена на банки по 64 КБ. Например, банк 0xE0 состоит из диапазона от 0xE00000 до 0xE0FFFF. В Apple IIgs был чип под названием «Mega II», который позволял запускать большинство программ, написанных для других компьютеров Apple II. Архитектура IIgs отображает данные экрана в банк памяти 0xE0. Однако в режиме эмуляции IIe данные экрана хранились в банке 0x00. Это представляло проблему. Разработчики Mega II включили процедуры для копирования большей части экранных данных в банк 0xE0, чтобы обеспечить правильную работу программ, специфичных для Apple IIe. Но они забыли о редко используемом текстовом экране 2. Это не было обнаружено до тех пор, пока чипы Mega II не вошли в машины IIgs. Поэтому разработчики прошивки добавили CDA (классический настольный аксессуар - доступный из меню IIgs Desk Accessories, вызываемый с помощью Apple+ Control+ Escape) под названием «Альтернативный дисплей» Mode », который за счет небольшого количества процессорного времени выполнял задачу для нескольких программ, которые в ней нуждались. Его можно было включать и выключать по своему усмотрению, но можно было снова выключить после перезагрузки компьютера.

Улучшение совместимости с Text Screen 2 было решено с введением Apple IIGS с 1 мегабайтом RAM (более известного как ROM 3) в 1989 году. Новая материнская плата обеспечивала аппаратное дублирование Текстовый экран 2 не требует затрат процессорного времени, поэтому не влияет на скорость работы программного обеспечения. Хотя альтернативный режим отображения оставался опцией в меню CDA, машина автоматически обнаруживала наличие текстового экрана 2 и включала аппаратное затенение текстового экрана 2 в банк 0xE0 на машинах с ПЗУ 3.

Графика высокого разрешения (Hi-Res)

Можно создавать плавные цветовые границы между цветом и черным или белым; однако необходимо выбрать «правильный» черный или белый цвет. Два верхних изображения показывают черный и белый цвета из палитры зеленый / фиолетовый на зеленом фоне. Два нижних изображения показывают черный и белый цвета из синей / оранжевой палитры на зеленом фоне; это заставляет многие из окружающих зеленых пикселей стать оранжевыми. Горизонтальные границы между двумя цветами создают «эффекты бахромы» на Apple II. На нижнем левом изображении рисование голубой звезды на зеленом фоне приводит к тому, что Apple II добавляет черные, белые и оранжевые пиксели на горизонтальных границах между зеленым и синим и рядом с ними.

Когда вышел Apple II, появился новый был добавлен режим для графики с высоким разрешением 280 × 192. Как и в режиме Lo-Res, в режиме высокого разрешения было два экрана; в Applesoft BASIC один из них может быть инициализирован с помощью команд HGR для первого экрана или HGR2 для второго.

Applesoft BASIC ROM содержал процедуры для очистки одного из двух экранов высокого разрешения, рисования линий и точек и установки цвета рисования. ПЗУ также содержало процедуры рисования, стирания, масштабирования и поворота векторных фигур. Не существовало процедур для построения растровых фигур, рисования кругов и дуг или заполнения рисованной области, но было написано много программ; многие из них появились в Nibble и других журналах Apple II.

Пользователь мог «переключить» четыре строки текста в режиме высокого разрешения, как и в режиме низкого разрешения; однако это скрыло нижние 32 строки, в результате чего получилось изображение 280x160. (Подпрограммы ПЗУ могли изменять нижнюю часть, даже если она была скрыта.)

Режим Hi-Res Apple II был своеобразным даже по стандартам того времени. Хотя карта CGA, выпущенная через четыре года после Apple II на IBM PC, позволяла пользователю выбирать один из двух наборов цветов для создания графики 320 × 200, только четыре цвета (фон цвет и три цвета рисунка) были доступны одновременно. Напротив, Apple предлагала восемь цветов для графики с высоким разрешением (на самом деле шесть, поскольку в схеме были повторены черный и белый). Каждая строка из 280 пикселей была разбита на 40 блоков по семь пикселей в каждом, представленных одним байтом. Каждая пара соседних пикселей генерировала пиксель одного цвета через цвет артефакта, в результате чего получалось эффективное разрешение 140 × 192. Младшие семь битов каждого байта представляют пиксели, а старший бит управляет фазовым сдвигом для этого блока пикселей, изменяя отображаемый цвет.

Старший битПара пикселейНомер цветаИмя цветаYPb (отн.)Pr (отн.)
0000Черный 1000
0011Зеленый0,5−1−1
0102Фиолетовый0,511
0113Белый 1100
1004Черный 2000
1015Оранжевый0,5−11
1106Синий0,51−1
1117Белый 2100

Хотя эта функция позволяет отображать на экране шесть цветов одновременно, у нее есть один неприятный побочный эффект. Например, если программист попытается нарисовать синюю линию поверх зеленой, части зеленой линии станут оранжевыми. Это связано с тем, что в этом случае рисование синей линии устанавливает MSB для каждого блока из семи пикселей. «Зеленые» и «оранжевые» пиксели отображаются в памяти одинаково; разница в настройке (или очистке) MSB. Другой побочный эффект заключается в том, что для рисования пикселя требовалось деление на семь. (Для процессора Apple 6502, у которого не было оборудования деления, деление на семь было относительно медленным. Если бы для рисования пикселя требовалось деление только на простую степень двойки, например на восемь, для этого потребовалась бы только последовательность битовых сдвигов, что было бы намного быстрее.)

Режим Hi-Res на Apple II также отличался коэффициентом чередования 64: 1. Это было прямым результатом разработки Стива Возняка, экономящей стружку. Коэффициент 64: 1 приводил к эффекту «жалюзи» при загрузке экрана Hi-Res в память с гибкого диска (или иногда RAM-диска ) с уже установленными программными переключателями. «Дыры в экране» возникают в режиме Hi-Res точно так же, как в режиме Lo-Res и текстовом режиме. Обычно там ничего не хранилось, хотя иногда они использовались для хранения кода в самоотображающихся исполняемых изображениях. Другим заметным исключением является формат Fotofile (FOT), унаследованный ProDOS от Apple SOS, который включал метаданные в 121-й байт (первый байт первой дыры).) с указанием того, как он должен отображаться (цветовой режим, разрешение) или преобразовываться в другие графические форматы.

Наконец, еще одна особенность дизайна Возняка заключается в том, что, хотя любой пиксель может быть черным или белым, только пиксели с нечетными координатами X могут быть зелеными или оранжевыми. Точно так же фиолетовыми или синими могут быть только четные пиксели. Здесь и проявляется так называемое «дополнительное преимущество». Видеооборудование Apple интерпретирует последовательность из двух или более включенных горизонтальных пикселей как сплошной белый цвет, в то время как последовательность чередующихся пикселей будет отображаться как цвет. Аналогично, последовательность из двух или более выключенных горизонтальных пикселей будет отображаться черным цветом.

Не было встроенной команды для извлечения цвета пикселя на экране Hi-Res или даже для определения, включен ли он вообще. Было написано несколько программ для определения того, был ли пиксель освещен, а программа для извлечения истинного цвета пикселя была опубликована в выпуске Nibble за апрель 1990 года.

Так же, как есть две страницы с текстовым экраном (и две графические страницы с низким разрешением), есть также две страницы с высоким разрешением, расположенные одна за другой в памяти. (Второй экран Hi-Res был отображен на 0x4000-0x5FFF, или 16384-24575 в десятичной системе.) CGA IBM поддерживало только одну графическую страницу за раз. Это упрощенная анимация на Apple II, потому что программист мог отображать одну страницу, изменяя другую (скрытую) страницу.

При условии, что вектор сброса не был перекрыт активно работающей программой, вызов Control+ Resetпрервет программу и уйдет на монитор или команду Applesoft Подсказка. Использование Control+ Open-Apple+ Resetприведет к принудительному сбросу за счет небольшого повреждения памяти. Креативная настройка некоторых программных переключателей на мониторе или по запросу позволила мгновенно просматривать изображения из прерванных программ. Затем можно было записывать любимые сцены из игр. На Apple // e и // c использование Control+ Open-Apple+ Resetприведет к тому, что шаблон 0xA0A0 ​​будет записан разреженно во всей памяти, включая страницы 1 и 2 высокого разрешения по цене от 2000 до 5FFF. Повреждения, вызванные этими артефактами, можно было устранить с помощью пакета краски. На усовершенствованном Apple // e видеопамять Hi-Res может быть сохранена без артефактов с помощью следующей последовательности: нажатие Control+ Closed-Apple+ Reset, и растушевывание клавиши Resetвверх, а затем вниз на долю секунды, повторение до тех пор, пока цветовой шаблон самодиагностики не начнет заполнять первую строку текста в верхнем левом углу. Так как самодиагностика продвинулась с 0000 долларов и выше, как только начальный адрес текстовой страницы 1 (400 долларов) был затерт, тогда была контрольная сумма вектора сброса (3F4), что означало, что последующее быстрое нажатие Control+ Сбросприведет к перезагрузке микропрограммы без затирания памяти выше $ 0800 ни в основном, ни во вспомогательных банках. Было возможно BSAVE эти изображения на дискету и создать слайд-шоу или статическое изображение, потому что программный сброс не очистил видеопамять на изображениях высокого разрешения.

Графические режимы на более поздних моделях (IIe, IIc, IIc Plus, II GS)

Вскоре после появления Apple IIe инженеры Apple поняли, что схема удвоения полосы пропускания видео, используемая для реализации 80-столбцового текстового режима может быть легко расширен, чтобы включить графические режимы машины.Поскольку сигнал присутствовал на разъеме вспомогательного слота, в котором размещалась карта с расширенными 80 столбцами, сигнализатор 3 на игровом порту был перегружен для активации графики с двойным разрешением, когда и видео 80 столбцов, и графика Был выбран режим. Сменные материнские платы (называемые материнской платой Revision B) были предложены бесплатно владельцам Apple IIe для модернизации своих компьютеров с графическими возможностями с двойным разрешением. По этой причине машины с исходной материнской платой Revision A встречаются крайне редко. В моделях Apple II также реализованы графические режимы с двойным разрешением.

Двойное низкое разрешение

Это был графический режим 80 × 40 (или 80 × 48), доступный только для 80-колонок. п машин. В Applesoft BASIC для включения этого режима требовалось три шага. Сначала включите режим 80 столбцов с помощью PR # 3, затем включите графику с двойной плотностью с помощью POKE 49246,0, затем GR.

10 PRINT CHR $ (4) "PR # 3 ": ПЕЧАТЬ CHR $ (0); : POKE 49246,0: GR

(Обратите внимание, что PR # 3 отложен для операционной системы с помощью PRINT CHR $ (4), чтобы не отключать ее от BASIC - по сложным причинам. командой PRINT для отправки нулевого символа, потому что вновь назначенное устройство вывода не инициализируется до тех пор, пока ему не будет отправлен первый символ - общий источник путаницы.)

Как только это было сделано, Double Экран Lo-Res был отображен и очищен, а команды PLOT, HLIN и VLIN работали нормально с диапазоном координат x от 0 до 79 (только Apple IIc и IIgs поддерживали это в прошивке. Использование режима двойного низкого разрешения. из BASIC на IIe было намного сложнее без добавления расширения команды в BASIC.)

При использовании этого режима в Applesoft возникли две основные проблемы. Во-первых, как только режим был активирован, доступ к принтеру усложнялся из-за того, что микропрограмма дисплея с 80 столбцами обрабатывалась как принтер. Во-вторых, функция SCRN (считывание пикселей) не работала должным образом. К счастью, в мартовском выпуске Nibble за 1990 г. была программа, которая решала эту проблему.

По крайней мере, один коммерчески доступный компилятор BASIC , ZBASIC от Zedcor Systems, как известно, поддерживает графику Double Lo-Res.

Двойное высокое разрешение

Композиция экрана двойного высокого разрешения очень сложна. В дополнение к чередованию 64: 1 пиксели в отдельных строках сохраняются необычным образом: каждый пиксель имел половину своей обычной ширины, а каждый байт пикселей чередовался между первым и вторым банком памяти размером 64 КБ. Если три последовательных пикселя были белыми, то теперь требовалось шесть в двойном высоком разрешении. Фактически, все пиксельные узоры, используемые для создания цвета в графических блоках Lo-Res, могут быть воспроизведены в графике Double Hi-Res.

Реализация ProDOS с его RAM-диском упростила доступ к экрану Double Hi-Res, сделав первый файл размером 8 КБ, сохраненный в / RAM, с намерением сохранить свои данные с 0x012000 до 0x013fff. Кроме того, возможна вторая страница, и второй файл (или первый файл большего размера) будет хранить свои данные с 0x014000 до 0x015fff. Однако доступ через файловую систему ProDOS был медленным и не очень подходил для анимации перелистывания страниц в Double Hi-Res, помимо требований к памяти.

Приложения, использующие двойное высокое разрешение

Несмотря на сложности, связанные с программированием и использованием этого режима, было множество приложений, которые его использовали. Графика с двойным разрешением Hi-Res использовалась как в бизнес-приложениях, так и в образовательных программах и играх. Версия Apple GEOS использовала Double Hi-Res, как и программа рисования Brøderbund, Dazzle Draw. Beagle Bros предоставил инструментарий Beagle Graphics с подпрограммами для разработки графики с двойным высоким разрешением в AppleSoft BASIC. Многочисленные аркадные игры и игры, написанные для других компьютеров, были перенесены на платформу Apple II, и многие воспользовались преимуществами этого графического режима. Существовало также множество служебных программ и подключаемых принтерных карт, которые позволяли пользователю печатать графику Double Hi-Res на матричном принтере или даже на LaserWriter.

Apple II Графические режимы GS

Apple II GS имеет не только графические режимы своих предшественников, но и несколько новых режимов, похожих на те, что есть в Atari ST и Commodore Amiga.

См. также
Ссылки
Последняя правка сделана 2021-06-11 20:59:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте