Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Особенности графических режимов [ править ]

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

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

Вывод видео на машины [ править ]

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

Встроенное оборудование для вывода видео [ править ]

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

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

Дополнительные карты вывода видео [ править ]

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

Детали графического режима [ править ]

Цвет на Apple II [ править ]

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

Высокое разрешение обеспечивает два пикселя на цикл цветовой синхронизации , что позволяет использовать два возможных цвета, если один пиксель включен , черный, если ни один пиксель не включен , или белый, если включены оба пикселя. Путем смещения выравнивания пикселей сигнала цветовой синхронизации на 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-битным двоичным шаблоном таким образом, чтобы каждая группа битов соответствовала одному циклу опорного сигнала цветовой синхронизации. Цветные дисплеи интерпретируют этот образец как цветовой сигнал. На монохромных мониторах или если сигнал цветовой синхронизации был отключен, дисплей обнаружил бы эти битовые шаблоны. Есть два эквивалентных оттенка серого, поскольку 5 (0101) эквивалентно 10 (1010) в зависимости от того, как цвета смешиваются вместе; биты включения являются полярными противоположностями друг другу в квадратурном цветовом сигнале, поэтому они компенсируют друг друга и отображаются серым цветом.

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

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

Схема памяти Lo-Res [ править ]

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

Экран 2: графика и текст с низким разрешением [ править ]

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

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

В отличие от других типов компьютеров Apple II, Apple II GS оснащался процессором ( 65816 ), который без особых уловок мог обрабатывать более 64 КБ ОЗУ . В IIgs оперативная память была разделена на банки по 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) под названием «Альтернативный режим отображения» [1], который, за счет небольшого количества процессорного времени, выполнял задача для нескольких программ, которые в ней нуждались. Его можно было включать и выключать по прихоти, но можно было снова выключить после перезагрузки компьютера.

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

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

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

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

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

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

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

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

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

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

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

Так же, как есть две страницы с текстовым экраном (и две графические страницы с низким разрешением), есть также две страницы с высоким разрешением, отображаемые одна за другой в памяти. (Второй экран Hi-Res был отображен в 0x4000-0x5FFF, или 16384-24575 в десятичной системе.) IBM CGA поддерживал только одну графическую страницу за раз. Это упрощенная анимация на 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+Resetзаставит прошивку перезагрузиться, не забивая память выше $ 0800 в основном или во вспомогательных банках. Было возможно записать эти изображения на дискету и создать слайд-шоу или статическое изображение, потому что программный сброс не очистил видеопамять на изображениях высокого разрешения.

Графические режимы на более поздних моделях (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#3POKE 49246,0GR

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

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

Как только это было сделано, экран 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.

Двойное высокое разрешение [ править ]

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

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

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

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

Графические режимы Apple II GS [ править ]

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

См. Также [ править ]

  • Таблица форм

Ссылки [ править ]

  1. ^ Клев , февраль 1992
  2. ^ Клев , июль 1990
  3. ^ Примечания к типу файла Apple II : FTN.08.0000
  4. ^ Клев , декабрь 1988, стр. 66