Удерживать и изменять

Режим отображения, используемый в компьютерах Commodore Amiga
Фрагмент полноцветного изображения (слева) против Amiga HAM (справа)

Hold-And-Modify [ 1] [2] [3] обычно сокращенно HAM [4]режим отображения компьютера Commodore Amiga . [5] Он использует весьма необычную технику для выражения цвета пикселей, позволяя отображать на экране гораздо больше цветов, чем было бы возможно в противном случае. Режим HAM обычно использовался для отображения оцифрованных фотографий или видеокадров, [ 6] растровых изображений и иногда анимации. На момент запуска Amiga в 1985 году этот почти фотореалистичный дисплей был беспрецедентным для домашнего компьютера и широко использовался для демонстрации графических возможностей Amiga. [7] Однако HAM имеет существенные технические ограничения, которые не позволяют использовать его в качестве режима отображения общего назначения.

Фон

Оригинальный чипсет Amiga использует плоский дисплей с 12-битным цветовым пространством RGB , воспроизводящим 4096 возможных цветов.

Битовая карта игрового поля хранилась в разделе основной памяти , известной как ОЗУ чипа , которая была общей для системы отображения и основного ЦП . Система отображения обычно использовала индексированную цветовую систему с цветовой палитрой .

Аппаратное обеспечение содержало 32 регистра , которые могли быть установлены на любой из 4096 возможных цветов, и изображение могло получить доступ к 32 значениям, используя 5 бит на пиксель. Шестой доступный бит мог использоваться режимом отображения, известным как Extra Half-Brite , который уменьшал яркость этого пикселя вдвое, предоставляя простой способ создания эффектов затенения. [2]

Режим удержания и изменения

Чипсет Amiga был разработан с использованием цветового пространства HSV ( оттенок , насыщенность и яркость ), которое было распространено на ранних домашних компьютерах и игровых консолях , которые использовали телевизоры для отображения. HSV более точно соответствует цветовому пространству YUV , используемому цветными телевизорами NTSC и PAL , что требует более простой электроники преобразования по сравнению с кодированием RGB .

Цветное телевидение при передаче по радиочастотному или композитному видеоканалу использует значительно сокращенную полосу пропускания цветности (кодированную как два цветоразностных компонента, а не как оттенок + насыщенность) по сравнению с третьим компонентом, яркостью . Это существенно сокращает объем памяти и полосы пропускания, необходимые для заданной воспринимаемой точности отображения, путем хранения и передачи яркости с полным разрешением, а цветности с относительно более низким разрешением — метод, общий с методами сжатия изображений, такими как JPEG и MPEG , а также в других видеорежимах на основе HSV/YUV, таких как кодирование YJK чипа V9958 MSX-Video (впервые использованного в MSX2+ ).

Вариант кодирования HSV, используемый в исходной форме HAM, позволял устанавливать приоритет обновления информации о яркости над оттенком и, в частности, насыщенностью, переключаясь между тремя компонентами по мере необходимости, по сравнению с более регулярным чередованием яркости полного разрешения ( ) с отдельными цветностями половинного или четвертного разрешения ( + ), используемыми в более поздних цифровых видеостандартах. Это давало значительные преимущества в эффективности по сравнению с RGB. И {\displaystyle Y} У {\displaystyle U} В {\displaystyle V}

Поскольку дизайн Amiga перешел от игровой консоли к более универсальному домашнему компьютеру, сам видеочипсет был изменен с HSV на современную цветовую модель RGB , что, по-видимому, свело на нет большую часть преимуществ режима HAM. Руководитель проекта Amiga Джей Майнер рассказывает:

Hold and Modify появился во время поездки, где я увидел авиасимуляторы в действии, и у меня возникла идея о примитивном типе виртуальной реальности . NTSC на чипе означало, что можно удерживать оттенок и изменять яркость, изменяя всего четыре бита. Когда мы перешли на RGB, я сказал, что это больше не нужно, поскольку бесполезно, и попросил парня, занимающегося компоновкой чипа, убрать это. Он вернулся и сказал, что это либо оставит большую дыру в середине чипа, либо потребует трехмесячной переделки, и мы не можем этого сделать. Я не думал, что кто-то будет этим пользоваться. Я снова ошибался, поскольку это действительно дало Amiga преимущество с точки зрения цветовой палитры.

Окончательная форма Hold-And-Modify была, с точки зрения оборудования, функционально такой же, как и исходная концепция HSV, но вместо работы с этими тремя описательными компонентами (в основном отдавая приоритет компоненту V), она изменяет один из трех цветовых каналов RGB. HAM можно считать техникой сжатия с потерями , аналогичной по работе и эффективности JPEG за исключением этапа DCT ; в режиме HAM6 эффективное 4096-цветное (12-битное) игровое поле кодируется в половине памяти, которая обычно требуется, а HAM8 сокращает это еще больше, примерно до 40%. Однако есть и выгода от этого упрощенного сжатия: большая общая точность цветопередачи достигается за счет горизонтальных артефактов, вызванных невозможностью установить любой отдельный пиксель на произвольное 12- (или 18, 24)-битное значение. В крайнем случае для перехода от одного цвета к другому может потребоваться три пикселя, что снижает эффективное разрешение в этой точке с «320-пиксельного» до примерно «106-пиксельного» режима и приводит к распространению размытостей и теней вдоль строки сканирования справа от высококонтрастного элемента, если 16 доступных регистров палитры оказываются недостаточными.

«Декомпрессия» кодированного HAM цветового пространства достигается в реальном времени аппаратным обеспечением дисплея, поскольку отображаются данные графического буфера. Каждый кодированный пиксель действует либо как обычный индекс для регистров цветовой палитры, либо как команда для прямого изменения значения, хранящегося в выходном ЦАП (что-то вроде обновления только одной трети активного регистра палитры), и немедленно обрабатывается как таковой, проходя через чипсет.

Использование

Скриншот Juggler , 3D-демоверсии, выпущенной в 1987 году с использованием режима HAM.

Когда Amiga была выпущена в 1985 году, режим HAM давал значительное преимущество перед конкурирующими системами. HAM позволял отображать все 4096 цветов одновременно, хотя и с вышеупомянутыми ограничениями. Этот псевдофотореалистичный дисплей был беспрецедентным для домашних компьютеров того времени и позволял отображать оцифрованные фотографии [7] и визуализированные 3D-изображения. Для сравнения, тогдашний стандарт IBM-PC EGA допускал 16 экранных цветов из палитры 64. Преемник EGA VGA , выпущенный в 1987 году с его флагманским игровым режимом Mode 13h , допускал 256 экранных цветов из 262 144. Режим HAM часто использовался для демонстрации возможностей Amiga в витринах магазинов и торговых презентациях, поскольку конкурирующее оборудование не могло сравниться с глубиной цвета. Из-за описанных выше ограничений HAM в основном использовался для отображения статических изображений, и разработчики в основном избегали его использования с играми или приложениями, требующими анимации. [7]

Режим HAM использовался для игрового процесса только в двенадцати играх, начиная с Pioneer Plague в 1988 году. Другие игры HAM включают Knights of the Crystallion , [7] [8] Ссылки: The Challenge Of Golf , Overdrive (Infacto) , Kang Fu , AMRVoxel , RTG , Zdzislav: Hero Of The Galaxy 3D , OloFight и Genetic Species . [9]

С введением архитектуры Advanced Graphics Architecture обычное плоское изображение могло иметь палитру из 256 цветов, что обеспечивало значительно более высокую точность цветопередачи. Первоначальный режим HAM с его ограниченным цветовым разрешением стал гораздо менее привлекательным для пользователей машины AGA, хотя он все еще был включен для обратной совместимости. Новый режим HAM8 был гораздо менее полезен для чипсета AGA, чем режим HAM для оригинального чипсета, поскольку более простые индексированные 256-цветные (а также более производительные, планарные 128- и 64-цветные) режимы значительно увеличили возможности художника, не страдая от недостатков HAM. Хорошо запрограммированный режим «нарезанной» палитры может оказаться более полезным, чем HAM8, с 256 уникальными цветами на строку — этого достаточно, чтобы напрямую определить отдельный цвет для каждого пикселя, если определен видеорежим шириной 256 пикселей, а в более высоких разрешениях даже одна палитра из 256 цветов для всего экрана, не говоря уже о каждой строке, позволяет гораздо более эффективно и точно имитировать более высокую глубину цвета с помощью дизеринга, чем можно было бы достичь с помощью всего лишь 32 цветов.

Первоначальная цель HAM, которая заключалась в том, чтобы обеспечить большее цветовое разрешение, несмотря на ограниченный размер видеобуфера и ограниченную пропускную способность памяти, стала в значительной степени неактуальной благодаря снятию этих ограничений. Поскольку более современные компьютеры изначально способны отображать изображения высокого разрешения truecolor без каких-либо специальных трюков, больше нет необходимости в технологиях отображения, таких как HAM; поскольку графические карты в стиле ПК, предлагающие такие режимы, как 800x600 SVGA в hi-color (16 bpp или 65536 напрямую выбираемых цветов), уже были доступны для Amiga в последние дни платформы, маловероятно, что какие-либо дальнейшие разработки этой технологии были бы связаны с ней, если бы она сохранилась до наших дней.

Ограничения

Пример цветовой окантовки HAM: белый и черный цвета есть в палитре, остальные цвета отсутствуют, поэтому для них требуются горизонтальные переходные шаги.

Режим HAM накладывает ограничения на значение соседних пикселей на каждой горизонтальной линии игрового поля. Для того, чтобы отобразить два произвольных цвета рядом, может потребоваться до двух промежуточных пикселей для изменения на предполагаемый цвет (если красный, зеленый и синий компоненты должны быть изменены). В худшем случае это уменьшает горизонтальное используемое разрешение цветности вдвое, с 320~360 пикселей до 106~120. Тем не менее, он выгодно отличается от современных видеотехнологий, таких как VHS , которые имеют разрешение цветности около 40 телевизионных линий , что примерно эквивалентно 80 пикселям.

Отображение таких изображений через композитное видеосоединение обеспечивает некоторое горизонтальное сглаживание, которое минимизирует цветовые артефакты. Но если используется монитор RGB , артефакты становятся особенно заметными в областях резкого контраста (сильные горизонтальные градиенты изображения ), где может появиться нежелательный многоцветный артефакт или «бахрома». Различные методы рендеринга использовались для минимизации влияния «бахромы», и дисплеи HAM часто проектировались для включения тонких горизонтальных цветовых градиентов, избегая вертикальных краев и контрастов.

Отображение полноцветного изображения в режиме HAM требует некоторой тщательной предварительной обработки. Поскольку HAM может изменять только один из компонентов RGB за раз, быстрые цветовые переходы вдоль строки сканирования могут быть наилучшим образом достигнуты с помощью одного из предустановленных регистров цвета для этих переходов. Чтобы визуализировать произвольное изображение, программист может сначала изучить исходное изображение на предмет наиболее заметных из этих переходов, а затем назначить эти цвета одному из регистров, метод, известный как адаптивные палитры . Однако, при наличии только 16 доступных регистров в исходном режиме HAM, некоторая потеря точности цветопередачи является обычным явлением.

Кроме того, режим HAM не позволяет легко выполнять произвольную анимацию отображения. Например, если произвольную часть игрового поля необходимо переместить в другую позицию на экране, значения Hold-and-Modify, возможно, придется пересчитать на всех исходных и целевых строках, чтобы изображение отображалось правильно (операция, не очень подходящая для анимации). В частности, если самый левый край анимированного объекта содержит какие-либо пиксели «modify» или если изображение, расположенное непосредственно справа от объекта, содержит какие-либо пиксели «modify», то эти значения Hold-and-Modify должны быть пересчитаны. Попытка переместить объект по экрану (например, с помощью блиттера ) приведет к появлению заметной окантовки на левой и правой границах этого изображения, если только графика специально не разработана для избежания этого. Чтобы избежать пересчета значений Hold-and-Modify и обойти окантовку, программист должен был бы гарантировать, что самый левый пиксель каждого объекта blitter и самый левый пиксель каждой строки прокручиваемого игрового поля являются "установленными" пикселями. Палитра должна быть разработана так, чтобы она включала каждый такой самый левый пиксель. В качестве альтернативы, дисплей HAM может быть анимирован путем генерации значений пикселей с помощью процедурной генерации , хотя это, как правило, полезно только для синтетических изображений, например, эффектов "радуги", используемых в демонстрациях .

Однако следует отметить, что Hold-and-Modify применяется только к пикселям игрового поля. 128 пикселей данных спрайта (в режиме DMA ) на строку развертки по-прежнему доступны для размещения поверх игрового поля HAM.

Реализации

Оригинальный набор микросхем для режима HAM (HAM6)

Пример режима Hold-And-Modify Mode 6 компьютера Commodore Amiga с 12-битной глубиной цвета, 16 базовыми цветами палитры и 6 битовыми плоскостями ( HAM6 ).

Режим HAM6, названный так из-за 6 бит данных на пиксель, был представлен в оригинальном наборе микросхем и сохранился в более поздних Enhanced Chip Set и Advanced Graphics Architecture (AGA) . HAM6 позволяет отображать до 4096 цветов одновременно при разрешениях от 320×200 до 360×576.

Кодирование HAM6 использует шесть бит на пиксель: два бита для управления и четыре бита для данных. [10] Если оба бита управления установлены в ноль, четыре оставшихся бита используются для индексации одного из 16 предустановленных регистров цвета, работающих в режиме обычного индексированного битового массива. Другие три возможных шаблона бит управления указывают, что следует использовать цвет предыдущего пикселя (слева) на строке сканирования, а биты данных вместо этого следует использовать для изменения значения красного, зеленого или синего компонента. Следовательно, есть четыре возможности: [2] [7]

Контрольные битыБиты данныхЭффект
00XXXXУстановить : использовать 4 бита данных для индексации цвета из палитры из 16 цветов. Использовать этот цвет для этого пикселя.
01BBBBИзменить синий : удерживать красный и зеленый компоненты цвета предыдущего пикселя. Использовать 4 бита данных как новый синий компонент цвета этого пикселя.
10RRRRИзменить красный : удерживать зеленый и синий компоненты цвета предыдущего пикселя. Использовать 4 бита данных как новый красный компонент цвета этого пикселя.
11GGGGИзменить зеленый : удерживать красный и синий компоненты цвета предыдущего пикселя. Использовать 4 бита данных как новый зеленый компонент цвета этого пикселя.

HAM5

Пример режима Hold-And-Modify Mode 6 компьютера Commodore Amiga с 12-битной глубиной цвета, 16 базовыми цветами палитры и 5 битовыми плоскостями ( HAM5 ).

Аналогичный режим, HAM5, [11] [12] также доступен, где используются только 5 бит данных на пиксель. [10] Шестой бит всегда равен нулю, поэтому можно изменять только синий компонент цвета. [2] [13] Поскольку без команды SET можно изменять только синий компонент, эффект ограничивается умеренным увеличением количества отображаемых желто-синих оттенков цвета. Этот режим не такой гибкий, как HAM6, и не используется широко. [14] [15]

Контрольный битБиты данныхЭффект
0XXXXУстановить : использовать 4 бита данных для индексации цвета из палитры из 16 цветов. Использовать этот цвет для этого пикселя.
1BBBBИзменить синий : удерживать красный и зеленый компоненты цвета предыдущего пикселя. Использовать 4 бита данных как новый синий компонент цвета этого пикселя.

В чипсете AGA HAM5 больше не существует. [16]

HAM4

Также возможно использовать режим HAM с 4 битовыми плоскостями. Практическое использование ограничено, но эта техника использовалась в демонстрациях. [14] [17] [15]

HAM7

Можно настроить режим HAM с 7 битовыми плоскостями на OCS/ECS, но это будет использовать только 4 битовых плоскости. Эта техника была продемонстрирована в демо «HAM Eager». [18] На чипсете AGA HAM7 больше не существует. [16]

Режим нарезки ветчины (SHAM)

Пример режима Hold-And-Modify Mode 6 компьютера Commodore Amiga с 16 различными базовыми цветами палитры на строку ( SHAM ).

Оригинальный чипсет Amiga включал в себя вспомогательный чип, известный как « Copper », который обрабатывает прерывания и другие обязанности по синхронизации и обслуживанию независимо от ЦП и видеосистемы. Используя Copper, можно изменять регистры чипсета или прерывать ЦП в любой координате дисплея синхронно с видеовыходом. Это позволяет программистам использовать либо специфичный для Copper код, собранный в Copperlist, либо код ЦП для видеоэффектов с очень низкими накладными расходами.

Используя эту технику, программисты разработали режим Sliced ​​HAM [19] или SHAM , также известный как динамический HAM . [20] SHAM изменяет некоторые или все регистры цвета на выбранных строках сканирования, чтобы изменить палитру во время отображения. Это означало, что каждая строка сканирования может иметь свой собственный набор из 16 базовых цветов. Это снимает некоторые ограничения, вызванные ограниченной палитрой, которая затем может быть выбрана для каждой строки, а не для каждого изображения. Единственными недостатками этого подхода являются то, что Copperlist использует дополнительные тактовые циклы ОЗУ чипа для изменения регистров, то, что изображение не является только растровым, и дополнительная сложность настройки режима SHAM.

Эта техника не ограничивается HAM и широко использовалась также в более традиционных графических режимах машины. Dynamic HiRes использует похожую технику изменения палитры для создания 16 цветов на строку в режимах высокого разрешения, тогда как HAM ограничен низким разрешением, но допускает как 16 индексированных цветов, так и их модификации.

Идея SHAM была отвергнута, когда HAM8 был представлен с чипсетом AGA, [21] поскольку даже неразрезанное изображение HAM8 имеет гораздо большее цветовое разрешение, чем разрезанное изображение HAM6. Тем не менее, SHAM остается лучшим доступным режимом HAM на тех Amiga с чипсетами OCS или ECS.

Режим расширенной графической архитектуры HAM (HAM8)

Пример режима Hold-And-Modify Mode 8 компьютера Commodore Amiga с 24-битной глубиной цвета, 64 базовыми цветами палитры и 8 битовыми плоскостями ( HAM8 )

С выпуском Advanced Graphics Architecture (AGA) в 1992 году исходный режим HAM был переименован в "HAM6", и был представлен новый режим "HAM8" (нумерованный суффикс представляет битовые плоскости, используемые соответствующим режимом HAM). С AGA вместо 4 бит на цветовой компонент Amiga теперь имела до 8 бит на цветовой компонент, что давало 16 777 216 возможных цветов (24-битное цветовое пространство).

HAM8 работает так же, как HAM6, используя два "контрольных" бита на пиксель, но с шестью битами данных на пиксель вместо четырех. Операция установки выбирает из палитры 64 цветов вместо 16. Операция изменения изменяет шесть старших битов красного, зеленого или синего цветового компонента - два младших бита цвета не могут быть изменены этой операцией и остаются такими, как установлены последней операцией установки.

Контрольные битыБиты данныхЭффект
00XXXXXXУстановить : использовать 6 бит данных для индексации цвета из 64-цветной палитры. Использовать этот цвет для этого пикселя.
01BBBBBBИзменить синий : удерживать красный и зеленый компоненты цвета предыдущего пикселя. Использовать 6 бит данных как новый синий компонент цвета этого пикселя.
10RRRRRRИзменить красный : удерживать зеленый и синий компоненты цвета предыдущего пикселя. Использовать 6 бит данных как новый красный компонент цвета этого пикселя.
11GGGGGGИзменить зеленый : удерживать красный и синий компоненты цвета предыдущего пикселя. Использовать 6 бит данных как новый зеленый компонент цвета этого пикселя.

По сравнению с HAM6, HAM8 может отображать гораздо больше экранных цветов. Максимальное количество экранных цветов с использованием HAM8, как широко сообщалось, составляет 262 144 цвета (18-битное цветовое пространство RGB). Фактически, максимальное количество уникальных экранных цветов может быть больше 262 144, в зависимости от двух младших битов каждого цветового компонента в 64-цветной палитре. Теоретически, все 16,7 миллионов цветов могут быть отображены с достаточно большим экраном и соответствующей базовой палитрой, но на практике ограничения в достижении полной точности означают, что два младших бита обычно игнорируются. В целом, воспринимаемая глубина цвета HAM8 примерно эквивалентна цветному дисплею с высокой цветностью.

Вертикальные разрешения дисплея для HAM8 такие же, как и для HAM6. Горизонтальное разрешение может быть 320 (360 с оверсканом), как и раньше, удвоено до 640 (720 с оверсканом) или даже учетверено до 1280 пикселей (1440 с оверсканом). Чипсет AGA также представил еще более высокие разрешения для традиционных планарных режимов отображения. Общее количество пикселей в изображении HAM8 не может превышать 829 440 (1440 × 576) при использовании режимов PAL, но может превышать 1 310 720 (1280 × 1024) при использовании стороннего оборудования для отображения (Indivision AGA flicker-fixer ).

Как и в оригинальном режиме HAM, экран HAM8 не может отображать любой произвольный цвет в любой произвольной позиции, поскольку каждый пиксель полагается либо на ограниченную палитру, либо на два цветовых компонента предыдущего пикселя. Как и в оригинальном режиме HAM, дизайнеры также могут выбрать «разрезание» дисплея (см. выше), чтобы обойти некоторые из этих ограничений.

Эмуляция HAM

HAM уникален для Amiga и ее отдельных чипсетов. Для обеспечения прямого рендеринга устаревших изображений, закодированных в формате HAM, были разработаны программные эмуляторы HAM, которым не требуется оригинальное аппаратное обеспечение дисплея. Версии AmigaOS до 4.0 могут использовать режим HAM при наличии собственного чипсета Amiga. AmigaOS 4.0 и выше, разработанные для радикально другого оборудования, обеспечивают эмуляцию HAM для использования на современном крупногабаритном графическом оборудовании. Выделенные эмуляторы Amiga , работающие на неродном оборудовании, способны отображать режим HAM путем эмуляции аппаратного обеспечения дисплея. Однако, поскольку ни одна другая архитектура компьютера не использовала технологию HAM, просмотр изображения HAM на любой другой архитектуре требует программной интерпретации файла изображения. Точное программное декодирование даст идентичные результаты, оставляя в стороне различия в точности цветопередачи между настройками дисплея.

Однако, если цель состоит только в том, чтобы отобразить изображение SHAM на платформе, отличной от Amiga, требуемые значения цвета могут быть предварительно рассчитаны на основе записей палитры, которые программируются через Copperlist, независимо от того, изменяется ли палитра в середине строки сканирования. Всегда возможно преобразовать изображение HAM или SHAM без потерь в 32-битную палитру.

Реализации HAM сторонних производителей

Устройство, произведенное Black Belt, известное как HAM-E, способно создавать изображения с глубиной цвета HAM8 при низком горизонтальном разрешении с Amiga с оригинальным набором микросхем. [22]

Amiga должна была быть настроена на создание изображений с высоким разрешением (ширина 640 пикселей, 720 с оверсканом). Для этого требовалось использование четырех битовых плоскостей по 70 нс на пиксель. Первые несколько строк изображения кодировали информацию для настройки блока HAM-E. Затем каждая пара пикселей кодировалась информацией для блока HAM-E, который преобразовывал информацию в один пиксель 140 нс (генерируя изображение шириной 320 пикселей или 360 с оверсканом при глубине цвета восемь битовых плоскостей). Таким образом, качество HAM-E было сопоставимо с изображением HAM8 с низким разрешением. Метод HAM-E использовал тот факт, что изображение с высоким разрешением с четырьмя битовыми плоскостями обеспечивает на треть большую пропускную способность памяти и, следовательно, на треть больше данных, чем изображение с низким разрешением с шестью битовыми плоскостями.

Метод HAM был также реализован в режимах HAM256 и HAM8x1 ULAplus / HAM256 / HAM8x1 для ZX Spectrum , где он обеспечивает возможность отображения 256 цветов на экране путем изменения базовой 64-цветной палитры. [23] [24] [25] [26]

HAM, очень похожий на Amiga HAM8, является частью HGFX , планарной системы, представленной в виде расширения FPGA исходной видеосхемы ( ULA ) для компьютеров ZX Spectrum . Предложен и протестирован с эмулятором LnxSpectrum как HGFX/Q, реализован в компьютере eLeMeNt ZX , [27] [28] в 2021 году.

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

Ссылки

  1. ^ Ведомство по патентам и товарным знакам США (1997). Официальный вестник Ведомства по патентам и товарным знакам США: Патенты. Министерство торговли США, Ведомство по патентам и товарным знакам.
  2. ^ abcd Commodore-Amiga, Inc. (1991). Amiga Hardware Reference Manual . Amiga Technical Reference Series (Третье изд.). Addison-Wesley. ISBN 0-201-56776-8.
  3. ^ Мортимор, Юджин П. (1986). Справочник программиста Amiga. СИБЕКС. ISBN 978-0-89588-343-8.
  4. ^ Покорни, Корнел К.; Джеральд, Кертис Ф. (1989). Компьютерная графика: принципы, лежащие в основе искусства и науки. Franklin, Beedle & Associates. ISBN 978-0-938661-08-5.
  5. ^ Махер, Джимми (26 января 2018 г.). Будущее было здесь: Commodore Amiga. MIT Press. ISBN 9780262535694– через Google Книги.
  6. Мейс, Скотт (28 июля 1986 г.). «Оцифровщик позволяет пользователям изменять изображения Amiga». InfoWorld . стр. 10.
  7. ^ abcde Wrobel, Марк (22 февраля 2020 г.). «Буква машинного кода Amiga XII — HAM». Марк Врубель . Проверено 20 ноября 2022 г.
  8. ^ "Обзор Knights of the Crystallion из Amiga Format 9 (апрель 1990 г.) - Amiga Magazine Rack". amr.abime.net . Получено 27 сентября 2017 г.
  9. ^ "Enhanced Graphics - Hold-And-Modify (HAM) Mode". Hall Of Light - База данных игр Amiga . Получено 20.11.2022 .
  10. ^ ab "Графические режимы Amiga". Музей Amiga . Получено 20.11.2022 .
  11. ^ Бернхардт, Гуннар. «Übersicht der WinUAE-Entwicklungen». webwood — официальный представитель немецкой компании Winuae-зеркало . Проверено 20 ноября 2022 г.
  12. ^ "WinUAE v1.6.1 Beta 4". EmuCR . 2009-06-15 . Получено 2022-11-20 .
  13. ^ Sieczko, Sebastian (16 января 2016 г.). "ham_convert". techno kanciapa JDiskCat, ham_convert и Amiga stuff . Получено 20.11.2022 .
  14. ^ ab "Архив демосцены ADA Amiga". ada.untergrund.net . Получено 2023-06-06 .
  15. ^ ab "Английский Amiga Board - Просмотреть отдельное сообщение - HAM6 на AGA в WinUAE отображается неправильно". eab.abime.net . Получено 2023-06-06 .
  16. ^ ab "WinUAE v1.6.1 Beta 4". EmuCR . 2009-06-15 . Получено 2022-11-20 .
  17. ^ "Архив демосцены ADA Amiga". ada.untergrund.net . Получено 2023-06-06 .
  18. ^ "HAM Eager - техническая статья.md". dump.platon42.de . Получено 2023-06-06 .
  19. ^ "IFF Pro - Amiga 8 Bit IFF Image Conversion Tool". Underware Design . Получено 2022-11-20 .
  20. ^ Лукас, Ричард (1990). Справочная карта графики Amiga, 2-е издание (PDF) . Видия.
  21. ^ Seebach, Peter (2018-12-16). "Стандарты и спецификации: Формат файла обмена (IFF)". IBM Developer . Архивировано из оригинала 2018-12-16 . Получено 2023-03-22 .
  22. ^ Fance, Gavin; Radermacher, Ralf (2004-12-22). "HAM-E Black Belt". Большая книга Amiga Hardware . Получено 2017-11-06 .
  23. ^ Оуэн, Эндрю (2009). "ZX Spectrum : Re-colored". ULAplus . Архивировано из оригинала 2021-04-01 . Получено 2023-03-22 .
  24. ^ "ULAplus™ 10th Anniversary Collection от Source Solutions, Inc". itch.io . Получено 20.11.2022 .
  25. ^ "HAM256 Viewer". Spectrum Computing - игры, программное обеспечение и оборудование для Sinclair ZX Spectrum . Получено 20.11.2022 .
  26. ^ "HAM 8x1". Spectrum Computing - игры, программное обеспечение и оборудование для Sinclair ZX Spectrum . Получено 20.11.2022 .
  27. ^ "eLeMeNt ZX — мощный клон ZX Spectrum". 128land.com .
  28. ^ "HGFX HAM8 Pictures". zxart.ee .
  29. ^ Пол, Матиас Р. (18 марта 2014 г.) [07 января 2013 г.]. «SLT-A99V: 14-битное разрешение, 12 или 14 бит в формате RAW?». Минолта-Форум (на немецком языке). Архивировано из оригинала 8 августа 2016 г. Проверено 8 августа 2016 г.

Дальнейшее чтение

  • Спецификация для набора микросхем Advanced Amiga (AA) , Commodore-Amiga
  • Анимированная демонстрация, созданная в режиме HAM: версия HAM-6 и версия HAM-8 ( требуется Java ).
  • Архив графики Amiga: HAM
Взято с "https://en.wikipedia.org/w/index.php?title=Hold-And-Modify&oldid=1229794010"