Articulo de referencia

Mantener y modificar

Fragmento de imagen a todo color (izquierda) frente a Amiga HAM (derecha) Hold-And-Modify , [ 1 ] [ 2 ] [ 3 ] generalmente abreviado como HAM , [ 4 ] es un modo de visualización...

Fragmento de imagen a todo color (izquierda) frente a Amiga HAM (derecha)

Hold-And-Modify , [ 1 ] [ 2 ] [ 3 ] generalmente abreviado como HAM , [ 4 ] es un modo de visualización del ordenador Amiga . [ 5 ] Utiliza una técnica muy inusual para expresar el color de los píxeles, lo que permite que aparezcan muchos más colores en la pantalla de los que serían posibles de otro modo. El modo HAM se utilizaba comúnmente para mostrar fotografías digitalizadas o fotogramas de vídeo, [ 6 ] arte de mapa de bits y, ocasionalmente, animación. En el momento del lanzamiento del Amiga en 1985, esta visualización casi fotorrealista no tenía precedentes para un ordenador doméstico y se utilizó ampliamente para demostrar la capacidad gráfica del Amiga. [ 7 ] Sin embargo, HAM tiene limitaciones técnicas significativas que impiden su uso como modo de visualización de propósito general.

Fondo

El chipset original de Amiga utiliza una pantalla plana con un espacio de color RGB de 12 bits que produce 4096 colores posibles.

El mapa de bits del tablero de juego se almacenaba en una sección de la memoria principal conocida como RAM del chip , que era compartida entre el sistema de visualización y la CPU principal . El sistema de visualización generalmente utilizaba un sistema de color indexado con una paleta de colores .

El hardware contenía 32 registros que podían configurarse con cualquiera de los 4096 colores posibles, y la imagen podía acceder hasta a 32 valores utilizando 5 bits por píxel. El sexto bit disponible podía ser utilizado por un modo de visualización conocido como Extra Half-Brite , que reducía la luminosidad de ese píxel a la mitad, proporcionando una forma sencilla de producir efectos de sombra. [ 2 ]

Modo de mantener pulsado y modificar

La televisión analógica en color por aire se diseñó para resolver el problema de enviar una señal de color a través del ancho de banda del canal asignado a las señales en blanco y negro. Se descubrió que el sistema visual humano es mucho menos sensible a los cambios de color que a los de brillo. Aprovechando esto, el sistema NTSC redujo ligeramente la resolución de la señal en blanco y negro, que se conoció como luminancia o luma. La reducción de la resolución dejó una pequeña cantidad de ancho de banda sin usar, que luego se utilizó para transmitir una señal de color de resolución mucho menor, conocida como crominancia o croma. La señal de croma se divide a su vez en dos señales, tono y saturación , y la señal resultante de tres partes se conoce como HSV , por tono, saturación y valor. Justo antes de la transmisión, el tono y la saturación se codifican aún más, aunque los detalles de estas dos difieren entre los diferentes sistemas de transmisión: en NTSC se conoce como YIQ y en PAL como Y'UV . [ 8 ] [ 9 ]

En los ordenadores y consolas de videojuegos de la era de los ordenadores domésticos , que normalmente utilizaban televisores en color como monitores , las señales dentro del ordenador se codificaban habitualmente en HSV. Esta señal podía convertirse fácilmente a YIQ o YUV según fuera necesario y enviarse al televisor mediante un modulador de RF . Dado que el televisor recibía una señal con resolución de color reducida, muchos sistemas de la época codificaban sus gráficos de forma que también se reducía la resolución de la señal de color para ahorrar memoria. Por ejemplo, el ZX Spectrum almacenaba el color solo para grupos de 8 píxeles, pero esto dificultaba la creación de imágenes en color de alta resolución debido a un problema conocido como conflicto de atributos . [ 10 ]

En el Amiga, el modo HAM se desarrolló como una solución para reducir las necesidades de memoria de resolución de color y evitar conflictos de atributos. En este sistema, se establecía un color inicial y luego se utilizaban los datos subsiguientes para modificar ese valor. Normalmente, los datos se usarían para ajustar la luminancia, produciendo una imagen de mayor resolución basada en dos colores, como el Spectrum, pero este sistema no tenía bordes de ubicación fija y la codificación podía cambiar el color base en cualquier punto de la línea. Por ejemplo, se podía establecer el color de una sección particular de una línea a "azul cielo" y luego usar el resto de los datos de esa línea para codificar cambios de brillo, ajustando la luminancia solo periódicamente, para mostrar nubes y características similares. Esta es la misma técnica básica que se utiliza en técnicas modernas de compresión de imágenes como JPEG y MPEG , así como en otros modos de vídeo basados ​​en HSV/YUV, como la codificación YJK del chip V9958 MSX-Video (utilizado por primera vez en el MSX2+ ). [ 11 ]

A medida que el diseño de Amiga evolucionó de una consola de juegos a una computadora doméstica de propósito más general, el chipset de video cambió del modelo HSV al modelo de color RGB moderno . Al parecer, este cambio anuló gran parte de las ventajas del modo HAM. El líder del proyecto Amiga, Jay Miner, comenta:

La función Hold and Modify surgió de un viaje para ver simuladores de vuelo en acción y se me ocurrió una idea sobre una especie de realidad virtual primitiva . El chip NTSC permitía mantener el tono y cambiar la luminancia modificando solo cuatro bits. Cuando cambiamos a RGB, dije que ya no era necesario, pues no resultaba útil, y le pedí al diseñador del chip que lo eliminara. Me respondió que esto dejaría un gran hueco en el centro del chip o requeriría un rediseño de tres meses, y que no podíamos hacerlo. Pensé que nadie lo usaría. Me equivoqué de nuevo, ya que realmente le dio al Amiga su ventaja en cuanto a la paleta de colores. [ 12 ]

La forma final de Hold-And-Modify era, en cuanto a hardware, funcionalmente igual que el concepto HSV original, pero en lugar de operar sobre esos tres componentes descriptivos (priorizando principalmente el componente V), modifica uno de los tres canales de color RGB, seleccionado por bits de máscara. La conversión de HAM a salida RGB se realiza en tiempo real mediante el hardware de visualización, a medida que se muestran los datos en el búfer gráfico. En el código HAM6, por ejemplo, se utilizan dos bits para indicar qué valor se estaba cambiando, y otros cuatro codifican un valor. Uno de los cuatro posibles valores de bandera, cero, indicaba que los cuatro bits de datos estaban seleccionando un color base del valor en uno de los 16 registros de color previamente configurados. Sería posible utilizar solo este tipo de valores, produciendo una pantalla de 16 colores utilizando 6 bits por píxel. Los otros tres patrones posibles, del 1 al 3, indicaban que el valor para el azul, rojo o verde (respectivamente) del valor del registro original debía ser reemplazado por los siguientes 4 bits de datos. Los valores de salida finales se almacenaban en un registro del convertidor digital-analógico (DAC) que generaba la salida final. Mediante una cuidadosa selección de los 16 colores base, seguida de las modificaciones pertinentes, se podían mostrar muchos colores en una sola imagen. [ 13 ]

HAM puede considerarse una técnica de compresión con pérdidas , similar en funcionamiento y eficiencia a JPEG sin la etapa DCT ; en el modo HAM6, un área de juego efectiva de 4096 colores (12 bits) se codifica en la mitad de la memoria que normalmente se requeriría, y HAM8 la reduce aún más, a aproximadamente un 40 %. Sin embargo, esta compresión simplificada tiene una contrapartida: se logra una mayor fidelidad de color general a costa de artefactos horizontales, causados ​​por la imposibilidad de establecer cualquier píxel individual a un valor arbitrario de 12 bits (o 18 o 24 bits en modelos posteriores). En casos extremos, pueden ser necesarios tres píxeles para cambiar de un color a otro, reduciendo la resolución efectiva en ese punto de un modo de "320 píxeles" a aproximadamente "106 píxeles", y provocando que manchas y sombras se extiendan a lo largo de una línea de exploración a la derecha de un elemento de alto contraste si los 16 registros de paleta disponibles resultan insuficientes.

Uso

Captura de pantalla de Juggler , una demo en 3D lanzada en 1987 usando el modo HAM.

When the Amiga was launched in 1985, HAM mode offered a significant advantage over competing systems. HAM allows display of all 4096 colors simultaneously, though with the aforementioned limitations. This pseudo-photorealistic display was unprecedented for a home computer of the time and allowed display of digitized photographs[7] and rendered 3D images. In comparison, the then IBM-PC standard EGA allowed 16 on-screen colors from a palette of 64. EGA's successor VGA released in 1987 with its flagship games mode, Mode 13h, allowed 256 on-screen colors from 262,144. HAM mode was frequently used to demonstrate the Amiga's ability in store displays and trade presentations, since competing hardware could not match the color depth. Due to the limitations described above HAM was mainly used for display of static images and developers largely avoided its use with games or applications requiring animation.[7]

HAM mode was only used for gameplay in twelve games, starting with Pioneer Plague in 1988. Other HAM titles include Knights of the Crystallion,[7][14]Links: The Challenge Of Golf, Overdrive (Infacto), Kang Fu, AMRVoxel, RTG, Zdzislav: Hero Of The Galaxy 3D, OloFight and Genetic Species.[15]

With the introduction of the Advanced Graphics Architecture, a conventional planar image could have a palette of 256 colors, offering significantly higher color fidelity. The original HAM mode, with its limited color resolution, became far less attractive to users of an AGA machine, though it was still included for backward compatibility. The new HAM8 mode was far less useful to the AGA chipset than the HAM mode was to the original chipset, since the more straightforward indexed 256-color (as well as higher performance, planar 128- and 64-color) modes greatly increased the options to the artist without suffering from the drawbacks of HAM. A well-programmed "sliced"-palette mode could prove to be more useful than HAM8, with up to 256 unique colors per line – enough to directly define a distinct color for each pixel if a 256-pixel-wide video mode was defined, and in higher resolutions even a single 256-color palette for the entire screen, let alone each line, allowed much more effective and accurate simulation of higher color depths using dithering than could be achieved with only 32.

The original purpose of HAM, which was to allow more color resolution despite limited video buffer size and limited memory bandwidth, had become largely irrelevant thanks to the lifting of those limits. As more modern computers are inherently capable of high-resolution truecolor displays without any special tricks, there is no longer any need for display techniques like HAM; as PC-style graphics cards offering modes such as 800×600 SVGA in hi-color (16 bpp, or 65536 directly-selectable colors) were already available for the Amiga in the dying days of the platform, it is unlikely that any further developments of the technique would have been bothered with had it survived to the present day.

Limitations

An example of HAM color fringing: white and black are in the palette, the other colors are not, so they require horizontal transition steps.

HAM mode places restrictions on the value of adjacent pixels on each horizontal line of the playfield. In order to render two arbitrary colors adjacently, it may take up to two intermediary pixels to change to the intended color (if the red, green and blue components must all be modified). In the worst case this reduces the horizontal usable chroma resolution in half, from 320~360 pixels to 106~120. Even so, it compares favorably to contemporary video technologies like VHS that has a chroma resolution of around 40 television lines, roughly equivalent to 80 pixels.

Displaying such images over a composite video connection provides some horizontal smoothing that minimizes color artifacts. But if an RGB monitor is used, artifacts become particularly noticeable in areas of sharp contrast (strong horizontal image gradients), where an undesirable multi-hued artifact or "fringe" may appear. Various rendering techniques were used to minimize the impact of "fringing" and HAM displays were often designed to incorporate subtle horizontal color gradients, avoiding vertical edges and contrasts.

Displaying a full color image in HAM mode requires some careful preprocessing. Because HAM can only modify one of the RGB components at a time, rapid color transitions along a scan line may be best achieved by using one of the preset color registers for these transitions. To render an arbitrary image, a programmer may choose to first examine the original image for the most noticeable of these transitions and then assign those colors to one of the registers, a technique known as adaptive palettes. However, with only 16 available registers in the original HAM mode, some loss in color fidelity is common.

Además, el modo HAM no permite animaciones arbitrarias de la pantalla con facilidad. Por ejemplo, si se desea mover una parte del área de juego a otra posición en la pantalla, es posible que sea necesario recalcular los valores de Hold-and-Modify en todas las líneas de origen y destino para mostrar la imagen correctamente (una operación poco adecuada para la animación). En concreto, si el borde izquierdo del objeto animado contiene píxeles de modificación, o si la imagen inmediatamente a la derecha del objeto contiene píxeles de modificación, entonces esos valores de Hold-and-Modify deben recalcularse. Intentar mover un objeto por la pantalla (como con el blitter ) creará un halo perceptible en los bordes izquierdo y derecho de la imagen, a menos que los gráficos estén diseñados específicamente para evitarlo. Para evitar recalcular los valores de Hold-and-Modify y evitar el efecto de borde, el programador tendría que asegurarse de que el píxel más a la izquierda de cada objeto blitter y el píxel más a la izquierda de cada línea de un campo de juego desplazable sea un píxel "establecido". La paleta tendría que diseñarse de manera que incorpore cada uno de esos píxeles más a la izquierda. Alternativamente, una pantalla HAM puede animarse generando valores de píxeles mediante generación procedural , aunque esto generalmente solo es útil para imágenes sintéticas, por ejemplo, los efectos de "arcoíris" utilizados en las demostraciones .

Sin embargo, tenga en cuenta que la función Mantener y Modificar solo se aplica a los píxeles del área de juego. Aún quedan disponibles 128 píxeles de datos de sprites (en modo DMA ) por línea de exploración para su colocación sobre el área de juego HAM.

Implementaciones

Conjunto de chips original Modo HAM (HAM6)

Un ejemplo del modo Hold-And-Modify 6 del Commodore Amiga con una profundidad de color de 12 bits, 16 colores de paleta base y 6 planos de bits ( HAM6 ).

El modo HAM6, llamado así por los 6 bits de datos por píxel, se introdujo con el conjunto de chips original y se mantuvo en el posterior conjunto de chips mejorado y en la arquitectura gráfica avanzada (AGA) . HAM6 permite mostrar hasta 4096 colores simultáneamente con resoluciones de 320×200 a 360×576.

La codificación HAM6 utiliza seis bits por píxel: dos bits para control y cuatro bits para datos. [ 16 ] Si los dos bits de control se establecen a cero, los cuatro bits restantes se utilizan para indexar uno de los 16 registros de color preestablecidos, funcionando como un mapa de bits indexado normal. Los otros tres posibles patrones de bits de control indican que se debe utilizar el color del píxel anterior (a la izquierda) en la línea de exploración y que los bits de datos deben utilizarse para modificar el valor del componente rojo, verde o azul. En consecuencia, hay cuatro posibilidades: [ 2 ] [ 7 ]

HAM5

Un ejemplo del modo Hold-And-Modify 5 del Commodore Amiga con una profundidad de color de 12 bits, 16 colores de paleta base y 5 planos de bits ( HAM5 ).

También está disponible un modo similar, HAM5, [ 17 ] [ 18 ] donde solo se utilizan 5 bits de datos por píxel. [ 16 ] El sexto bit siempre es cero, por lo que solo se puede modificar el componente de color azul. [ 2 ] [ 19 ] Debido a que solo se puede modificar el componente azul sin un comando SET, el efecto se limita a un aumento moderado de la cantidad de tonos de color amarillo-azul mostrados. Este modo no es tan flexible como HAM6 y no se usa ampliamente. [ 20 ] [ 21 ]

En el chipset AGA, HAM5 ya no existe. [ 22 ]

HAM4

También es posible usar el modo HAM con 4 planos de bits. Su uso práctico es limitado, pero esta técnica se utilizó en demostraciones. [ 20 ] [ 23 ] [ 21 ]

HAM7

Es posible configurar el modo HAM con 7 planos de bits en OCS/ECS, pero esto utilizará solo 4 planos de bits. Esta técnica se demostró en la demostración “HAM Eager”. [ 24 ] En el chipset AGA, HAM7 ya no existe. [ 22 ]

Modo jamón en lonchas (SHAM)

Un ejemplo del modo Hold-And-Modify 6 del Commodore Amiga con 16 colores de paleta base diferentes por línea ( SHAM ).

El chipset original de Amiga incluía un chip de soporte conocido como " Copper " que gestionaba las interrupciones y otras tareas de temporización y mantenimiento de forma independiente de la CPU y el sistema de vídeo. Mediante Copper, es posible modificar los registros del chipset o interrumpir la CPU en cualquier coordenada de visualización de forma síncrona con la salida de vídeo. Esto permite a los programadores utilizar código específico de Copper, ensamblado en una lista de Copper, o código de la CPU para efectos de vídeo con una sobrecarga mínima.

Utilizando esta técnica, los programadores desarrollaron el modo Sliced ​​HAM [ 25 ] o SHAM , también conocido como HAM dinámico . [ 26 ] SHAM cambia algunos o todos los registros de color en líneas de exploración seleccionadas para cambiar la paleta durante la visualización. Esto significaba que cada línea de exploración podía tener su propio conjunto de 16 colores base. Esto eliminaba algunas de las limitaciones causadas por la paleta limitada, que luego se podía elegir por línea en lugar de por imagen. Los únicos inconvenientes de este enfoque son que la lista de cobre utiliza ciclos de reloj adicionales de la RAM del chip para los cambios de registro, que la imagen no es solo un mapa de bits y la complejidad añadida de configurar el modo SHAM.

Esta técnica no se limita a HAM, y también se utilizó ampliamente con los modos gráficos más convencionales de la máquina. Dynamic HiRes utiliza una técnica similar de cambio de paleta para producir 16 colores por línea en los modos de alta resolución, mientras que HAM se limita a baja resolución, pero permite tanto 16 colores indexados como modificaciones de los mismos.

La idea de SHAM quedó obsoleta con la introducción de HAM8 y el chipset AGA, [ 27 ] ya que incluso una imagen HAM8 sin segmentar tiene mucha más resolución de color que una imagen HAM6 segmentada. Sin embargo, SHAM sigue siendo el mejor modo HAM disponible en los Amiga con chipsets OCS o ECS.

Modo HAM (HAM8) de la arquitectura gráfica avanzada

Un ejemplo del modo Hold-And-Modify 8 del Commodore Amiga con una profundidad de color de 24 bits, 64 colores de paleta base y 8 planos de bits ( HAM8 ).

Con el lanzamiento de la Arquitectura Gráfica Avanzada (AGA) en 1992, el modo HAM original pasó a llamarse "HAM6" y se introdujo un nuevo modo "HAM8" (el sufijo numérico representa los planos de bits utilizados por el modo HAM correspondiente). Con AGA, en lugar de 4 bits por componente de color, la Amiga ahora disponía de hasta 8 bits por componente de color, lo que resultaba en 16.777.216 colores posibles (espacio de color de 24 bits).

HAM8 funciona de la misma manera que HAM6, utilizando dos bits de control por píxel, pero con seis bits de datos por píxel en lugar de cuatro. La operación de configuración selecciona un color de una paleta de 64 colores en lugar de 16. La operación de modificación modifica los seis bits más significativos del componente de color rojo, verde o azul; los dos bits menos significativos del color no se pueden alterar con esta operación y permanecen como los estableció la última operación de configuración.

Compared to HAM6, HAM8 can display many more on-screen colors. The maximum number of on-screen colors using HAM8 was widely reported to be 262,144 colors (18-bit RGB color space). In fact, the maximum number of unique on-screen colors can be greater than 262,144, depending on the two least significant bits of each color component in the 64 color palette. In theory, all 16.7 million colors could be displayed with a large enough screen and an appropriate base palette, but in practice the limitations in achieving full precision mean that the two least significant bits are typically ignored. In general, the perceived HAM8 color depth is roughly equivalent to a high-color display.

The vertical display resolutions for HAM8 are the same as for HAM6. The horizontal resolution can be 320 (360 with overscan) as before, doubled to 640 (720 with overscan) or even quadrupled to 1280 pixels (1440 with overscan). The AGA chipset also introduced even higher resolutions for the traditional planar display modes. The total number of pixels in a HAM8 image cannot exceed 829,440 (1440×576) using PAL modes but can exceed 1,310,720 (1280×1024) using third-party display hardware (Indivision AGA flicker-fixer).

Like the original HAM mode, a HAM8 screen cannot display any arbitrary color at any arbitrary position, since every pixel relies on either a limited palette or relies on up to two color components of the previous pixel. As with the original HAM mode, designers may also choose to 'slice' the display (see above) in order to circumvent some of these restrictions.

HAM emulation

HAM is unique to the Amiga and its distinct chipsets. To allow direct rendering of legacy images encoded in HAM format software-based HAM emulators have been developed which do not require the original display hardware. Pre-4.0 versions of AmigaOS can use HAM mode in the presence of the native Amiga chipset. AmigaOS 4.0 and up, designed for radically different hardware, provides HAM emulation for use on modern chunky graphics hardware. Dedicated Amiga emulators running on non-native hardware are able to display HAM mode by emulation of the display hardware. However, since no other computer architecture used the HAM technique, viewing a HAM image on any other architecture requires programmatic interpretation of the image file. Faithful software-based decoding will produce identical results, setting aside variations in color fidelity between display setups.

Sin embargo, si el objetivo es simplemente mostrar una imagen SHAM en una plataforma que no sea Amiga, los valores de color necesarios pueden precalcularse a partir de las entradas de la paleta programadas mediante Copperlist, independientemente de si la paleta se modifica en medio de una línea de exploración. Siempre es posible convertir una imagen HAM o SHAM a una paleta de 32 bits sin pérdida de calidad.

Implementaciones HAM de terceros

Un dispositivo fabricado por Black Belt, conocido como HAM-E, era capaz de producir imágenes con profundidad de color HAM8 a baja resolución horizontal desde un Amiga con un conjunto de chips original. [ 28 ]

El Amiga se configuraba para producir imágenes de alta resolución (640 píxeles de ancho, 720 con sobreexploración). Esto requería el uso de cuatro planos de bits a 70 ns por píxel. Las primeras líneas de la imagen codificaban información para configurar la unidad HAM-E. Luego, cada par de píxeles se codificaba con información para la unidad HAM-E, que convertía la información en un píxel de 140 ns (generando una imagen de 320 píxeles de ancho, o 360 con sobreexploración, con una profundidad de color de ocho planos de bits). La calidad de HAM-E era, por lo tanto, comparable a la de una imagen HAM8 de baja resolución. La técnica HAM-E aprovechaba el hecho de que una imagen de alta resolución con cuatro planos de bits proporciona un tercio más de ancho de banda de memoria y, por lo tanto, un tercio más de datos, que una imagen de baja resolución con seis planos de bits.

La técnica HAM también se implementó en los modos HAM256 y HAM8x1 de ULAplus / HAM256 / HAM8x1 para el ZX Spectrum , donde proporciona la capacidad de mostrar 256 colores en pantalla, modificando una paleta de colores base 64. [ 29 ] [ 30 ] [ 31 ] [ 32 ]

El HAM, muy similar al Amiga HAM8, forma parte del HGFX , un sistema basado en FPGA , proporcionado como una extensión FPGA del circuito de vídeo original ( ULA ), para ordenadores ZX Spectrum . Fue propuesto y probado con el emulador LnxSpectrum como HGFX/Q, implementado en el ordenador eLeMeNt ZX , [ 33 ] [ 34 ] en 2021.

Véase también

Referencias

  1. Oficina de Patentes y Marcas de los Estados Unidos (1997). Gaceta Oficial de la Oficina de Patentes y Marcas de los Estados Unidos: Patentes . Departamento de Comercio de los Estados Unidos, Oficina de Patentes y Marcas.
  2. 1 2 3 4 Commodore-Amiga, Inc. (1991). Manual de referencia de hardware de Amiga . Serie de referencia técnica de Amiga (Tercera ed.). Addison-Wesley. ISBN  0-201-56776-8.
  3. ^ Mortimore, Eugene P. (1986). Manual del programador de Amiga . SÍBEX. ISBN 978-0-89588-343-8.
  4. Pokorny, Cornel K.; Gerald, Curtis F. (1989). Computer Graphics: The Principles Behind the Art and Science . Franklin, Beedle & Associates. ISBN 978-0-938661-08-5.
  5. Maher, Jimmy (26 de enero de 2018). El futuro estaba aquí: El Commodore Amiga . MIT Press. ISBN 9780262535694 vía Google Libros.
  6. Mace, Scott (28 de julio de 1986). "Digitizer permite a los usuarios alterar imágenes de Amiga" . InfoWorld . pág. 10. 
  7. ^ Wrobel, Mark ( 22 de febrero de 2020 ). «Letra XII del Código de Máquina Amiga - HAM» . Marcos Wrobel . Consultado el 20 de noviembre de 2022 .
  8. "¿Qué es NTSC?" . Analog Devices .
  9. Gulati, RR (diciembre de 2005). Televisión monocromática y en color . New Age International. ISBN 978-81-224-1607-7.
  10. Smith, Tony (23 de abril de 2012). "Feliz 30 cumpleaños, Sinclair ZX Spectrum" . The Register .
  11. Peddie, Jon (2023). La historia de la GPU: pasos hacia la invención . Springer Nature. págs. 89–91 . ISBN  978-3-031-10968-3.
  12. Nelson, Mike (septiembre de 1992). "Conversando con Jay Glenn Miner" (Entrevista).
  13. ^ "Amiga JAMÓN". CD de desarrollador de Amiga v2.1 .
  14. "Reseña de Knights of the Crystallion de Amiga Format 9 (abril de 1990) - Amiga Magazine Rack" . amr.abime.net . Consultado el 27 de septiembre de 2017 .
  15. "Gráficos mejorados - Modo de mantener pulsado y modificar (HAM)" . Hall Of Light - La base de datos de juegos de Amiga . Consultado el 20 de noviembre de 2022 .
  16. 1 2 "Los modos gráficos de Amiga" . El Museo Amiga . Archivado del original el 26 de mayo de 2017. Recuperado el 20 de noviembre de 2022 .
  17. Bernhardt, Gunnar. "Übersicht der WinUAE-Entwicklungen" . webwood - oficial alemán winuae-mirror . Consultado el 20 de noviembre de 2022 .
  18. "WinUAE v1.6.1 Beta 4" . EmuCR . 15 de junio de 2009. Consultado el 20 de noviembre de 2022 .
  19. Sieczko, Sebastian (16 de enero de 2016). "ham_convert" . techno kanciapa JDiskCat, ham_convert y cosas de Amiga . Recuperado el 20 de noviembre de 2022 .
  20. 1 2 "ADA Amiga Demoscene Archive" . ada.untergrund.net . Consultado el 6 de junio de 2023 .
  21. 1 2 "English Amiga Board - View Single Post - HAM6 on AGA in WinUAE displays incorrectly" . eab.abime.net . Consultado el 06-06-2023 .
  22. 1 2 "WinUAE v1.6.1 Beta 4" . EmuCR . 15-06-2009 . Recuperado el 20-11-2022 .
  23. "Archivo de la escena demoscene de ADA Amiga" . ada.untergrund.net . Consultado el 6 de junio de 2023 .
  24. "HAM Eager - un documento técnico.md" . dump.platon42.de . Consultado el 6 de junio de 2023 .
  25. "IFF Pro - Herramienta de conversión de imágenes IFF de 8 bits para Amiga" . Underware Design . Consultado el 20 de noviembre de 2022 .
  26. ^ Lucas, Richard (1990). Tarjeta de referencia de gráficos Amiga, segunda edición (PDF) . Vidia.
  27. Seebach, Peter (16 de diciembre de 2018). "Estándares y especificaciones: El formato de archivo de intercambio (IFF)" . IBM Developer . Archivado del original el 16 de diciembre de 2018. Consultado el 22 de marzo de 2023 .
  28. Fance, Gavin; Radermacher, Ralf (22 de diciembre de 2004). "HAM-E Black Belt" . Big Book of Amiga Hardware . Consultado el 6 de noviembre de 2017 .
  29. Owen, Andrew (2009). "ZX Spectrum : Recoloreado" . ULAplus . Archivado del original el 1 de abril de 2021. Consultado el 22 de marzo de 2023 . 
  30. "Colección del décimo aniversario de ULAplus™ de Source Solutions, Inc." . itch.io . Consultado el 20 de noviembre de 2022 .
  31. "HAM256 Viewer" . Spectrum Computing - Juegos, software y hardware de Sinclair ZX Spectrum . Consultado el 20 de noviembre de 2022 .
  32. "HAM 8x1" . Spectrum Computing - Juegos, software y hardware de Sinclair ZX Spectrum . Consultado el 20 de noviembre de 2022 .
  33. "eLeMeNt ZX es un potente clon de ZX Spectrum" . 128land.com .
  34. "Imágenes HGFX HAM8" . zxart.ee .
  35. ^ Pablo, Matías R. (18 de marzo de 2014) [7 de enero de 2013]. "SLT-A99V: ¿14-Bit-Aufnahmen nur bei Einzelaufnahmen, 12 Bit o 14 Bit en RAW?" . Foro Minolta (en alemán). Archivado desde el original el 8 de agosto de 2016 . Consultado el 8 de agosto de 2016 .

Lecturas adicionales

  • Especificación para el conjunto de chips Advanced Amiga (AA) , Commodore-Amiga
  • Una demostración animada renderizada en modo HAM: versión HAM-6 y versión HAM-8 ( se requiere Java ).
  • Archivo de gráficos de Amiga: HAM