
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

Cuando se lanzó el Amiga en 1985, el modo HAM ofrecía una ventaja significativa sobre los sistemas de la competencia. HAM permite la visualización simultánea de los 4096 colores, aunque con las limitaciones ya mencionadas. Esta visualización pseudofotorrealista no tenía precedentes en un ordenador doméstico de la época y permitía la visualización de fotografías digitalizadas [ 7 ] e imágenes 3D renderizadas. En comparación, el estándar EGA del IBM-PC de entonces permitía 16 colores en pantalla de una paleta de 64. El sucesor de EGA, VGA, lanzado en 1987 con su modo de juegos estrella, el Modo 13h , permitía 256 colores en pantalla de 262 144. El modo HAM se utilizaba con frecuencia para demostrar las capacidades del Amiga en escaparates y presentaciones comerciales, ya que el hardware de la competencia no podía igualar la profundidad de color. Debido a las limitaciones descritas anteriormente, HAM se utilizaba principalmente para la visualización de imágenes estáticas y los desarrolladores evitaban en gran medida su uso con juegos o aplicaciones que requirieran animación. [ 7 ]
El modo HAM solo se usó para jugar en doce juegos, comenzando con Pioneer Plague en 1988. Otros títulos HAM incluyen Knights of the Crystallion , [ 7 ] [ 14 ] Links: The Challenge Of Golf , Overdrive (Infacto) , Kang Fu , AMRVoxel , RTG , Zdzislav: Hero Of The Galaxy 3D , OloFight y Genetic Species . [ 15 ]
Con la introducción de la Arquitectura Gráfica Avanzada (AGGA), una imagen plana convencional podía tener una paleta de 256 colores, ofreciendo una fidelidad cromática significativamente mayor. El modo HAM original, con su limitada resolución de color, se volvió mucho menos atractivo para los usuarios de una máquina AGA, aunque se mantuvo para garantizar la retrocompatibilidad. El nuevo modo HAM8 resultó mucho menos útil para el chipset AGA que el modo HAM para el chipset original, ya que los modos indexados de 256 colores (así como los modos planares de 128 y 64 colores de mayor rendimiento) ampliaron considerablemente las opciones para el artista sin sufrir las desventajas de HAM. Un modo de paleta "segmentada" bien programado podría resultar más útil que HAM8, con hasta 256 colores únicos por línea, suficientes para definir directamente un color distinto para cada píxel si se definiera un modo de vídeo de 256 píxeles de ancho, e incluso en resoluciones más altas, una sola paleta de 256 colores para toda la pantalla, por no hablar de cada línea, permitía una simulación mucho más eficaz y precisa de mayores profundidades de color mediante tramado que la que se podría lograr con solo 32.
El propósito original de HAM, que era permitir una mayor resolución de color a pesar del tamaño limitado del búfer de vídeo y el ancho de banda limitado de la memoria, se había vuelto prácticamente irrelevante gracias a la eliminación de esas limitaciones. Dado que los ordenadores más modernos son inherentemente capaces de mostrar pantallas de alta resolución a todo color sin necesidad de trucos especiales, ya no hay necesidad de técnicas de visualización como HAM; puesto que las tarjetas gráficas de estilo PC que ofrecían modos como SVGA de 800 × 600 en alta gama cromática (16 bpp o 65536 colores seleccionables directamente) ya estaban disponibles para Amiga en los últimos días de la plataforma, es improbable que se hubiera prestado atención a cualquier desarrollo posterior de la técnica si hubiera sobrevivido hasta nuestros días.
Limitaciones

El modo HAM impone restricciones al valor de los píxeles adyacentes en cada línea horizontal del área de juego. Para renderizar dos colores arbitrarios adyacentes, puede ser necesario modificar hasta dos píxeles intermedios (si se deben modificar los componentes rojo, verde y azul). En el peor de los casos, esto reduce a la mitad la resolución cromática horizontal utilizable, de 320-360 píxeles a 106-120. Aun así, se compara favorablemente con tecnologías de vídeo contemporáneas como VHS , que tiene una resolución cromática de alrededor de 40 líneas de televisión , aproximadamente equivalente a 80 píxeles.
La visualización de dichas imágenes mediante una conexión de vídeo compuesto proporciona un suavizado horizontal que minimiza los artefactos de color. Sin embargo, si se utiliza un monitor RGB , los artefactos se vuelven particularmente notorios en áreas de alto contraste ( gradientes horizontales de imagen pronunciados ), donde puede aparecer un artefacto multicolor indeseado o "bordes". Se emplearon diversas técnicas de renderizado para minimizar el impacto de los "bordes", y las pantallas HAM a menudo se diseñaban para incorporar sutiles gradientes de color horizontales, evitando bordes y contrastes verticales.
Para mostrar una imagen a todo color en modo HAM, se requiere un preprocesamiento cuidadoso. Dado que HAM solo puede modificar un componente RGB a la vez, las transiciones de color rápidas a lo largo de una línea de exploración se logran mejor utilizando uno de los registros de color preestablecidos para estas transiciones. Para renderizar una imagen arbitraria, un programador puede optar por examinar primero la imagen original para identificar las transiciones más notables y luego asignar esos colores a uno de los registros, una técnica conocida como paletas adaptativas . Sin embargo, con solo 16 registros disponibles en el modo HAM original, es común cierta pérdida de fidelidad de color.
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)

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

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)

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

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.
En comparación con HAM6, HAM8 puede mostrar muchos más colores en pantalla. Se informó ampliamente que el número máximo de colores en pantalla con HAM8 era de 262 144 (espacio de color RGB de 18 bits). De hecho, el número máximo de colores únicos en pantalla puede ser mayor que 262 144, dependiendo de los dos bits menos significativos de cada componente de color en la paleta de 64 colores. En teoría, se podrían mostrar los 16,7 millones de colores con una pantalla lo suficientemente grande y una paleta base adecuada, pero en la práctica, las limitaciones para lograr una precisión total implican que los dos bits menos significativos generalmente se ignoran. En general, la profundidad de color percibida de HAM8 es aproximadamente equivalente a la de una pantalla de alta gama cromática.
Las resoluciones de visualización vertical para HAM8 son las mismas que para HAM6. La resolución horizontal puede ser de 320 (360 con sobreexploración) como antes, duplicarse a 640 (720 con sobreexploración) o incluso cuadruplicarse a 1280 píxeles (1440 con sobreexploración). El chipset AGA también introdujo resoluciones aún más altas para los modos de visualización planares tradicionales. El número total de píxeles en una imagen HAM8 no puede exceder los 829 440 (1440×576) usando modos PAL pero puede exceder los 1 310 720 (1280×1024) usando hardware de visualización de terceros (Indivision AGA flicker-fixer ).
Al igual que el modo HAM original, una pantalla HAM8 no puede mostrar cualquier color en cualquier posición, ya que cada píxel depende de una paleta limitada o de hasta dos componentes de color del píxel anterior. Como en el modo HAM original, los diseñadores también pueden optar por "dividir" la pantalla (véase más arriba) para sortear algunas de estas restricciones.
Emulación HAM
HAM es exclusivo de Amiga y sus chipsets específicos. Para permitir la representación directa de imágenes antiguas codificadas en formato HAM, se han desarrollado emuladores HAM basados en software que no requieren el hardware de visualización original. Las versiones anteriores a la 4.0 de AmigaOS pueden usar el modo HAM en presencia del chipset nativo de Amiga. AmigaOS 4.0 y versiones posteriores, diseñadas para hardware radicalmente diferente, proporcionan emulación HAM para su uso en hardware gráfico moderno de alto rendimiento . Los emuladores de Amiga dedicados que se ejecutan en hardware no nativo pueden mostrar el modo HAM mediante la emulación del hardware de visualización. Sin embargo, dado que ninguna otra arquitectura de computadora utilizó la técnica HAM, la visualización de una imagen HAM en cualquier otra arquitectura requiere la interpretación programática del archivo de imagen. La decodificación fiel basada en software producirá resultados idénticos, dejando de lado las variaciones en la fidelidad del color entre las configuraciones de visualización.
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
- Juego de chips original
- Modo Amiga Halfbrite
- Sony ARW 2.0 (los archivos de imagen RAW ARW 2.0+ utilizan una técnica similar para su compresión delta con pérdida [ 35 ] )
- YJK
- Submuestreo de croma
Referencias
- ↑ 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.
- 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.
- ^ Mortimore, Eugene P. (1986). Manual del programador de Amiga . SÍBEX. ISBN 978-0-89588-343-8.
- ↑ Pokorny, Cornel K.; Gerald, Curtis F. (1989). Gráficos por computadora: Los principios detrás del arte y la ciencia . Franklin, Beedle & Associates. ISBN 978-0-938661-08-5.
- ↑ Maher, Jimmy (26 de enero de 2018). El futuro estaba aquí: El Commodore Amiga . MIT Press. ISBN 9780262535694– vía Google Libros.
- ↑ Mace, Scott (28 de julio de 1986). "Digitizer permite a los usuarios alterar imágenes de Amiga" . InfoWorld . pág. 10.
- ^ 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 .
- ↑ "¿Qué es NTSC?" . Analog Devices .
- ↑ Gulati, RR (diciembre de 2005). Televisión monocromática y en color . New Age International. ISBN 978-81-224-1607-7.
- ↑ Smith, Tony (23 de abril de 2012). "Feliz 30 cumpleaños, Sinclair ZX Spectrum" . The Register .
- ↑ 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.
- ↑ Nelson, Mike (septiembre de 1992). "Conversando con Jay Glenn Miner" (Entrevista).
- ^ "Amiga JAMÓN". CD de desarrollador de Amiga v2.1 .
- ↑ "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 .
- ↑ "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 .
- 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 .
- ↑ Bernhardt, Gunnar. "Übersicht der WinUAE-Entwicklungen" . webwood - oficial alemán winuae-mirror . Consultado el 20 de noviembre de 2022 .
- ↑ "WinUAE v1.6.1 Beta 4" . EmuCR . 15 de junio de 2009. Consultado el 20 de noviembre de 2022 .
- ↑ 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 .
- 1 2 "ADA Amiga Demoscene Archive" . ada.untergrund.net . Consultado el 6 de junio de 2023 .
- 1 2 "English Amiga Board - View Single Post - HAM6 on AGA in WinUAE displays incorrectly" . eab.abime.net . Consultado el 06-06-2023 .
- 1 2 "WinUAE v1.6.1 Beta 4" . EmuCR . 15-06-2009 . Recuperado el 20-11-2022 .
- ↑ "Archivo de la escena demoscene de ADA Amiga" . ada.untergrund.net . Consultado el 6 de junio de 2023 .
- ↑ "HAM Eager - un documento técnico.md" . dump.platon42.de . Consultado el 6 de junio de 2023 .
- ↑ "IFF Pro - Herramienta de conversión de imágenes IFF de 8 bits para Amiga" . Underware Design . Consultado el 20 de noviembre de 2022 .
- ^ Lucas, Richard (1990). Tarjeta de referencia de gráficos Amiga, segunda edición (PDF) . Vidia.
- ↑ 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 .
- ↑ 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 .
- ↑ Owen, Andrew (2009). "ZX Spectrum : Recoloreado" . ULAplus . Archivado del original el 1 de abril de 2021. Consultado el 22 de marzo de 2023 .
- ↑ "Colección del décimo aniversario de ULAplus™ de Source Solutions, Inc." . itch.io . Consultado el 20 de noviembre de 2022 .
- ↑ "HAM256 Viewer" . Spectrum Computing - Juegos, software y hardware de Sinclair ZX Spectrum . Consultado el 20 de noviembre de 2022 .
- ↑ "HAM 8x1" . Spectrum Computing - Juegos, software y hardware de Sinclair ZX Spectrum . Consultado el 20 de noviembre de 2022 .
- ↑ "eLeMeNt ZX es un potente clon de ZX Spectrum" . 128land.com .
- ↑ "Imágenes HGFX HAM8" . zxart.ee .
- ^ 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
Enlaces externos
- 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
- Estándares de visualización de computadoras
- Amiga
- Profundidades de color