Commodore Amiga, el rey sin reino de los ordenadores personales

Terminamos nuestra primera tanda de artículos dedicados a sistemas clásicos al Commodore Amiga, si bien no será el último de todos, más adelante veréis entradas en HARDVERSO dedicadas a sistemas más avanzados en el tiempo. Es por ello que hemos pensado que un buen punto y aparte sería hablar de este mítico ordenador, en concreto en su configuración de hardware original, la cual fue utilizada en el popular y mítico Amiga 500. Esperamos que disfrutéis de la lectura.

Los orígenes del Commodore Amiga

El Commodore Amiga nació originalmente como una consola con el nombre en clave Lorraine, de la mano de un equipo dirigido por Jay Miner y Joe Decuir, quienes ya habían trabajado en el diseño de la Atari VCS y del Atari 800. Sin embargo, ambos y su equipo ya no se encontraban trabajando para Atari, sino para una empresa llamada Hi-Toro. Dicha empresa se fundó de la mano de Dave Morse, antiguo directivo de Tonka Toys, y con el tiempo terminó llamándose Amiga Corporation.

Joe Decuir 68000 Amiga

La idea era desarrollar la máquina de nueva generación que, por la mala gestión de Ray Kassar, presidente ejecutivo de Atari por aquel entonces, no se había podido desarrollar. Dicha idea ya rondaba en la cabeza de los ingenieros desde meses antes del lanzamiento del ordenador de 8 bits de Atari, coincidiendo con la presentación del Motorola 68000, cuyas capacidades eran muy superiores al MOS 6502. Obviamente, el cambio de CPU requería de un nuevo chipset, el cual nunca pudieron crear dentro de Atari.  A destacar la mención del TIA 3 en el diagrama, marcando que este sería el tercer proyecto después del Atari VCS y el Atari 800.

Lorraine Prototipo Amiga
Cada una de estas placas terminó reducida en un chip

Para el desarrollo del hardware, al igual que ocurrió con el Atari ST, los ingenieros del sistema usaron chips TTL en placas separadas para diseñarlos para luego reducir estas al famoso conjunto de chips o chipset por el cual es famoso este ordenador gracias a la integración VLSI. Lo curioso es que lo que terminó siendo el Commodore Amiga no se desarrolló con el objetivo de ser una estación de trabajo para Unix, sino para algo totalmente distinto, lo que explica sus fortalezas y debilidades en comparación con otros sistemas de su época.

La guerra entre Commodore y Atari por el Amiga

En 1983 el descalabro económico de Atari fue tan grande que Time Warner, su propietaria, decidió poner a la venta a la compañía. A los pocos meses, mayo de 1984, Atari acabó comprada por Tramiel Technologies, empresa fundada y dirigida por la familia Tramiel, cuyo patriarca, Jack Tramiel, había sido el máximo responsable de Commodore hasta que Irving Gould dio un golpe de Estado y se quedó gobernando en la compañía. No obstante, Commodore, al contrario que Atari sí que había mimado a su equipo de hardware y tenía desarrollada una máquina de 16 bits, bajo el nombre de Commodore 900, basado en el Zilog Z8000, una CPU de 16 bits con una arquitectura distinta a la del Z80. El Commodore 900 partía de una filosofía totalmente distinta, la de querer competir contra el IBM PC.

Commodore 900

Con su marcha, los Tramiel se llevaron consigo a varios ingenieros de Commodore con ellos, dejando al Commodore 900 incompleto, por lo que ambas empresas tuvieron que pelear por conseguir un hardware de 16 bits para su próxima generación de ordenadores. Y es en este punto donde el proyecto Lorraine de Amiga Corporation se convirtió en el más deseado por ambas directivas. La oferta de la familia Tramiel fue darles un crédito para financiar el proyecto, el cual, si no podían pagar, significaría que los derechos del hardware del Commodore Amiga terminarían en manos de Atari Corporation. Al final fue la directiva de Irving Gould la que se llevó el proyecto tras la compra de Amiga Corporation y el pago de la deuda de la empresa con la familia Tramiel, lo que llevó a la cancelación del Commodore 900 y la transformación de Lorraine en su sistema de 16 bits.

El hardware del Commodore Amiga

El Commodore Amiga fue el tercer ordenador de 16 bits en usar un Motorola 68000 como CPU después del Apple Macintosh y el Atari ST, y paradógicamente, siendo el que tiene la mejor configuración de hardware que tiene de los tres, es al mismo tiempo el que lo usa a una velocidad algo más lenta que los demás, 7.16 MHz. Sin embargo, su superioridad técnica frente a los otros dos sistemas compensa con soltura la menor velocidad de la CPU. Hemos de partir que, al contrario del PC AT y el ordenador de Apple, no se creó para usarlo en una aburrida oficina y, al revés que el ordenador de Atari, no se vio limitado por las prisas y el precio.

Arquitectura Commodore Amiga

Dado que el proyecto nació de la mano de los mismos ingenieros que crearon el Atari 800, el Commodore Amiga heredó toda su filosofía y terminaron inventando la mejor máquina de videojuegos posible para 1985. Si bien luego en 1987 apareció un hardware más potente, este era muy de gama alta y para el mercado de masas, el Commodore Amiga se convirtió en el sistema más potente de referencia. Todo hasta que en 1991, por el inmovilismo de la propia Commodore, el público técnicamente más entusiasta dio el salto definitivo al PC para los juegos. No obstante, durante cinco o seis largos años, el Commodore Amiga, primero en forma del Amiga 1000 y después a través de su modelo más popular, el Amiga 500, fue el rey.

Chip RAM versus Fast RAM

Por aquel entonces, la mayoría de los ordenadores domésticos tenían el mismo problema en común: la CPU y el hardware encargado de generar los gráficos en pantalla compartían la misma memoria RAM. Esto significaba que cuando ocurría el dibujado en pantalla, la mayor parte del tiempo, entonces la CPU se quedaba sin hacer nada al no poder acceder a la RAM. Por lo que no solo el Amiga, sino todos los sistemas de la época que no tenían memoria de vídeo dedicada, sufrían de este handicap. No obstante, en el Commodore Amiga era peor, ya que en el tiempo que tenía libre la CPU para poder ejecutar sus instrucciones, tanto Copper como el Blitter le quitan al microprocesador central tiempo de acceso.

Commodore Amiga Chip RAM

La solución al problema por parte de los ingenieros del sistema vino con la posibilidad de añadir al sistema la llamada Fast RAM, la cual no se encuentra direccionada por el AGNUS, sino por el propio 68000, permitiéndole a la CPU del sistema poder realizar sus tareas en paralelo al dibujado en pantalla y no solo en el periodo VBlank. Al mismo tiempo, esto también beneficia a Copper y Blitter que pueden ejecutar más instrucciones en dicho periodo, aunque, obviamente, DENISE no saca ventaja de ello y tampoco PAULA. En cuanto al direccionamiento, la Chip RAM empieza en la dirección de memoria 0, mientras que a la Fast RAM se accede a partir de los 2 MB del mismo.

Ranger

Tal era el cuello de botella del Commodore Amiga, en lo que al acceso a la Chip RAM se refiere que de 1985 a 1987 el equipo de Jay Miner estuvo trabajando en un sucesor del sistema que fue cancelado a última hora y que recibió el nombre en clave Ranger. ¿La clave? El uso de VRAM en vez de DRAM para el Chip RAM, un tipo de memoria creado por Texas Instruments que tenía la particularidad de ser usada por dos microprocesadores al mismo tiempo, aunque en distintas direcciones de memoria. Lo cual se traducía en que, sin necesidad de tener instalada la Fast RAM, los accesos a la Chip RAM por parte de la CPU y AGNUS (Copper y Blitter) se podrían dar en cualquier momento, eso sí, compartido con DENISE para el dibujado en pantalla.

Amiga Ranger

El problema es que la VRAM por aquel entonces era extremadamente cara, por lo que por motivos financieros el proyecto del Commodore Amiga Ranger fue cancelado. Jay Miner y el resto del equipo abandonaron la empresa y a partir de ese momento se terminó la innovación. En 1987 salieron máquinas de otros fabricantes con mayores capacidades técnicas que el Amiga, el cual aguantó años gracias al bajo coste del Amiga 500 en comparación con esos sistemas.  Al final, por una estúpida decisión hecha por gente sin conocimiento técnico y sin visión de futuro, el Commodore Amiga, como plataforma, fue condenado al fracaso y a desaparecer.

Es más, mantuvieron tanto el hardware original del Amiga como su versión mejorada (ECS) en el mercado hasta octubre de 1992, fecha en la que lanzaron el Amiga 4000 con un nuevo chipset, pero por aquel entonces, ya era demasiado tarde.

 

Los custom chips del Commodore Amiga

El secreto detrás de la potencia del Commodore Amiga fue su potente chipset o los llamados custom chips que se crearon para el Commodore Amiga, que le entregaron no solo unos gráficos y un sonido superiores a otros ordenadores de su época. Mientras que el Atari ST demostró que con un chipset mínimo el Motorola 68000 podía superar a cualquier máquina de 8 bits sin problemas, el equipo dirigido por Jay Miner y Joe Decuir no se confirmó con cumplir la especificación mínima y para sacar todo el jugo de la tecnología de la época crearon cuatro chips de apoyo para el sistema. Los tres primeros: AGNUS, PAULA y DENISE se crearon cuando el proyecto fue pensado como una futura consola de videojuegos.

Arquitectura Commodore Amiga

El motivo de diseñar una máquina de este calibre era sencillo. Dave Morse, presidente de Hi-Toro en 1982, empresa que se terminaría convirtiendo en Amiga Computing tenía como objetivo una consola capaz de mostrar los dibujos animados que se mostraban a tiempo real en la pantalla del televisor. Dado que eso era imposible a principios de los 80 con la tecnología de la época, su objetivo se redujo a la creación de un sistema que fuera una orden de magnitud más potente que las consolas y ordenadores por aquel entonces. Para ello, decidieron trasladar al nuevo sistema las innovaciones que habían desarrollado para el Atari 800 y que habían sido copiadas por otra máquinas como el Commodore 64, y en Japón por la Famicom/NES al nuevo sistema, como el scroll por hardware, inédito en los otros sistemas de 16 bits.

AGNUS

AGNUS Diagram

De los tres custom chips del Commodore Amiga, AGNUS es sin duda el más complejo de todos, ya que en realidad son cuatro componentes distintos en un mismo chip.

  • En primer lugar, tenemos el controlador DMA para la Chip RAM, el cual le da acceso a dicha memoria a todos los componentes del sistema, incluida la CPU. La cual accede a dicha memoria a través de AGNUS, además de encargarse de la intercomunicación entre los componentes con hasta con 25 canales DMA, lo que evita que para la comunicación entre chips tengan que tocar la memoria principal.
  • El segundo componente es el generador de señales de señal vertical de vídeo (VSync y VBlank) para DENISE. En ese aspecto, es análogo al GLUE del Atari ST; esto permite la sincronización entre DENISE y Copper, lo cual es clave para ciertas funciones clave del sistema.
  • En tercer lugar, tenemos al Blitter.
  • Y para terminar, el cuarto componente es Copper, el segundo coprocesador en el AGNUS.

Acceso a la chip RAM desde AGNUS

Para evitar conflictos en cuanto al acceso a la Chip RAM, AGNUS organiza el acceso a la misma por parte de la CPU y el resto de los custom chips.

CicloAcceso
1Copper o Blitter acceden a la Chip RAM
2Primera etapa de acceso a la RAM por parte del 68K (CPU).
3Copper o Blitter acceden a la Chip RAM
4Segunda etapa de acceso a la RAM por parte del 68K (CPU).
5Copper o Blitter acceden a la Chip RAM
6Tercera etapa de acceso a la RAM por parte del 68K (CPU).
7 Copper o Blitter acceden a la Chip RAM
8Cuarta etapa de acceso a la RAM por parte del 68K (CPU).

En el periodo donde ocurre el dibujado en pantalla, sincronización vertical, los custom chips que acceden a la Chip RAM son Denise y Paula, mientras que en el periodo VBlank lo hacen Copper y Blitter. En este último caso, ambos coprocesadores se van turnando el acceso a esta memoria. La trampa aquí es qque,si bien el 68K necesita una RAM que funcione a 1/4 de su velocidad de reloj, la Chip RAM funciona a 1/2 de la velocidad de reloj (3.58 MHz), lo que permite asignar la mitad de los accesos de la misma a la Chip RAM.

El mismo método de acceso a memoria es llevado a cabo por el Atari ST, con la diferencia de que AGNUS en el Commodore Amiga envía una señal de parada al 68000 cuando accede a la Chip RAM a través del controlador DMA, mientras que en el ST, la CPU se encuentra siempre activa en su acceso a memoria.

Blitter

Si el Atari ST se convirtió en el ordenador de referencia para los músicos, el Commodore Amiga lo hizo para los diseñadores gráficos, llevando una de las características de las estaciones de trabajo de alto rendimiento, el Blitter, a un hardware doméstico por primera vez. Entre sus características, podemos destacar las siguientes:

  • Puede copiar o mover datos desde una parte de la Chip RAM a otra al doble de velocidad que el 68000.
  • Funciona con hasta 3 fuentes (A, B, C) y combinarlos entre sí usando cualquiera de las 256 operaciones lógicas posibles para copiar el resultado en una dirección de destino (D). Todo ello de forma interna en el Blitter y sin intervención de la CPU.
  • Soporta el dibujado en pantalla de arcos y líneas, lo que le permite dibujar cualquier forma geométrica, lo que lo hace ideal para aplicaciones de diseño gráfico.

Si bien el Commodore Amiga soporta sprites por hardware, una de las ventajas del Amiga con el Blitter es que puede objetos gráficos (Blitter OBjectS) en la pantalla libremente, teniendo como única limitación el tener el ancho de banda y el tiempo suficiente para hacerlo. El problema es que copiar muchos objetos supone quitarle tiempo de acceso a la Chip RAM para la CPU y el Copper, por lo que los desarrolladores tenían que buscar el equilibrio en este aspecto.

Copper

El segundo coprocesador en AGNUS es el llamado Copper, el cual, al igual que el ANTIC de la Atari 800, funciona creando listas de pantalla generadas por la CPU para controlar cómo se generan los gráficos, no obstante, no se trata de una evolución de dicho chip, sino que funciona algo distinto. Para eempezar,hemos de tener en cuenta que tiene un set de instrucciones muy reducido, el cual se compone de solo 3 de ellas.

instrucciónFunción
WAITHace que el Copper espere hasta que la posición actual del haz (contadores vertical y horizontal) alcance o supere unos valores determinados. Esto permite sincronizar la actualización de registros (por ejemplo, para cambiar colores o parámetros de video) en el momento exacto durante la generación de la imagen.
MOVEPermite escribir (mover) un valor en uno de los registros custom del chipset (como los registros de color, punteros de bitplanes, etc.). Con esto se pueden cambiar dinámicamente parámetros gráficos en medio de un barrido
SKIPEs una instrucción condicional que, en función de la posición del haz, salta (omite) la ejecución de la siguiente instrucción. Se usa para evitar movimientos innecesarios cuando la condición de espera ya se ha cumplido.

Entre las cosas que podía el Commodore Amiga gracias al Copper destacamos lo siguiente:

  • Puede modificar los registros de color en pleno barrido de la pantalla para generar degradados, arcoíris o animaciones de color. Esto permitía, por ejemplo, que distintas secciones de la pantalla usaran paletas diferentes en la misma imagen. Lo que permitía ir más allá del límite de 32 colores.
  • Al programar listas de instrucciones, Copper puede generar barras o franjas de colores animadas y otros efectos visuales que daban sensación de profundidad o movimiento, como el parallax.
  • El Copper puede actualizar el búfer de imagen en momentos precisos, lo que posibilitaba efectos de desplazamiento (scrolling) y la creación de “ventanas” o secciones que mostraban contenidos distintos sin necesidad de redibujar toda la pantalla.

Sprites en el Commodore Amiga

Turrican

Uno de los puntos que diferencia un sistema dedicado a videojuegos de uno que no lo es en su concepción y diseño es la gestión de sprites por hardware, uno de los puntos que diferenciaba al Commodore Amiga de sus rivales. En este caso, el manejo de los sprites es llevado a cabo por DENISE en combinación con el sistema DMA de AGNUS, el cual proporciona «hasta» 8 canales DMA en paralelo para cada uno de los 8 sprites por línea de escaneo. Aunque hemos de aclarar que, al contrario de lo que ocurre con el TMS9918A y sus derivados, no utiliza una lista fija de sprites por frame, sino por línea de escaneo.

  • Cada sprite tiene un tamaño horizontal de 16 píxeles, pero su tamaño puede ser cualquiera en altura, desde 1 hasta todas las líneas de escaneo.
  • Se pueden reutilizar los canales DMA para sprites varias veces por línea de escaneo. Por lo que el Commodore Amiga no está limitado a 8 sprites máximos, sino a 8 sprites distintos.
  • La cantidad de colores soportados por sprite es de 4 colores (2 bits), siendo uno de ellos transparente.
  • Se pueden combinar 2 sprites en la misma posición y usando el Blitter para combinar ambos, en este caso cada sprite pasa a tener 16 colores, pero uno de ellos siendo transparente.

No obstante, el motor de sprites si no se combina con las capacidades del Copper y el Blitter está bastante limitado y muy por debajo de las capacidades de consolas de la generación de 16 bits que aparecieron a finales de los 80. Pese a la enorme mitomanía existente en la red, donde comparan al Commodore Amiga con bestias como la Neo-Geo.

¿Cómo están implementados en el hardware?

Se trata de la única parte del hardware que se creó a la vieja usanza. Es decir, teniendo en cuenta el timing del haz de electrones recorriendo la pantalla, esto se hace así por el hecho de que si un sprite se repite solo es necesario recolocarlo una vez dibujado hacia la nueva posición o si no se vuelve a usar en el fotograma, pues se le puede dejar el espacio a uno nuevo.

ComponentePropósitoDetalles
Registros de datos de spriteAlmacenan los patrones de bits de una línea horizontal de un sprite.Cada sprite tiene 16 píxeles de ancho y dos registros (16 bits). Codifican colores y transparencia. Los datos se organizan en **bitplanes**, facilitando la manipulación de los colores y la transparencia.
Convertidores de paralelo a serieConvierte los datos paralelos de los **bitplanes** a datos seriales.Los registros de datos del sprite contienen información organizada en **bitplanes** (paralelo). Los 16 bits se transfieren de izquierda a derecha (de bit más significativo a menos significativo) en formato serial, sincronizados con el tiempo de píxel.
Datos de video serial de spriteEstablece la prioridad entre sprites y el fondo.Los datos seriales se envían a un circuito de prioridad para determinar qué se muestra encima.
Registros de posición de spriteDefine la posición horizontal (X) y vertical (Y) del sprite.Los registros contienen los valores X y Y que indican la ubicación del sprite en la pantalla.
Registros de control de spriteControla cuándo y dónde se muestra un sprite.Contiene la posición de detención y la información sobre si el sprite está activo o no.
Contador de hazIndica la ubicación del haz de electrones.Ayuda a sincronizar la visualización del sprite con la posición del haz de electrones.
ComparaCompara la posición del haz con la posición Y del sprite.Activa la carga de datos cuando el haz llega a la posición Y del sprite.

Hemos de partir del hecho que AGNUS proporciona a cada sprite un canal DMA desde donde puede tomar la información para su creación en pantalla, y al que puede acceder en cualquier momento. Por lo que la cantidad máxima de sprites en pantalla dependerá de la pericia de los programadores a la hora de manejar las capacidades del hardware. Y es que para el máximo rendimiento visual de los juegos no bastaba solo con el motor de sprites, sino que se tenía que usar muy inteligentemente tanto Copper como Blitter.

DENISE

Diagrama DENISE

De los tres custom chips principales, DENISE es el encargado de dibujar los gráficos en pantalla, aparte de otras funciones adicionales como ahora:

  • Soporte para detección de colisiones, otro de los elementos heredados del Atari 800 y de la VCS que ahorra tiempo de CPU y que es clave en videojuegos.
  • La mitad del hardware para el manejo de sprites se encuentra en DENISE.
  • El control vertical de la señal de vídeo (trazado de la línea de escaneo) es controlado por el hardware de Denise

Por lo demás, es el clásico chip de la época que permite generar un búfer de imagen basado en píxeles y organizado en bitplanes como es el caso del EGA del PC AT o el SHIFTER del Atari, pero mucho más avanzado que estos. En primer lugar, su paleta es de 4096 colores gracias a su DAC de 12 bits y soporta hasta 32 colores distintos por píxel gracias a tener 32 registros dedicados a ello, aunque tal y como hemos comentado antes, el valor de cualquiera de ellos puede ser reemplazado en cualquier momento gracias al Copper.

Colorimetría en el Commodore Amiga

El principal motivo por el cual el Commodore Amiga era superior a la competencia, era que sin utilizar las capacidades del Copper para cambiar los registros de color al vuelo, y permitir así más colores en pantalla, era sin duda su colorimetría. Por aquella época, la mayoría de los sistemas RGB en los ordenadores se basaban en reproducir los 3 colores primarios (rojo, verde, azul), los 3 colores secundarios (cian, magenta y amarillo) y luego el blanco y el negro. Para ello solo hacen falta 3 bits en total, luego utilizaban una serie de bits extras para iluminar más o menos dicha paleta de colores básica, pero la colorimetría no cambiaba.

Dado que el ordenador iba a ser una consola, originalmente iban a utilizar una señal NTSC estándar basada en una señal YIQ, la cual utiliza también tres parámetros (intensidad. tono. y saturación) con 4 bits para cada uno, los cuales en la versión final pasaron a ser la información de los tres canales RGB. De ahí lo de la paleta de 12 bits, lo que le permite tener un rango de color más alto. Sin embargo, la diferencia aquí es que cada uno de los 32 colores almacenados en los registros, al usar los 5 bits para el colorido, puede mostrar colores intermedios entre los 8 básicos y dar una mayor representación del color y una mayor riqueza cromática.

Ahora bien, el Commodore Amiga soporta 6 planos de bits para generar la imagen, pero el sexto se usaba para la luminancia, permitiendo hasta 64 colores en pantalla, aunque realmente fuesen 32 con 2 valores de luminancia distintos cada uno. Claro está que no podemos olvidar que Copper tenía la capacidad de cambiar dichos colores al vuelo.

Resolución de pantalla

En la versión original del Commodore Amiga, los modos de vídeo se veían limitados por la capacidades de los televisores NTSC/PAL, y es que este es otro de los puntos donde el origen del hardware del Commodore Amiga como consola de videojuegos se acaba notando más. Es más, el monitor que venía de serie con el ordenador, el Commodore 1080, se puede utilizar como televisor y se puede conectar una consola de videojuegos en ella. Esto se traduce en que para reproducir resoluciones de 400 líneas en vertical (512 en PAL) no puede hacerlo a 60 Hz (50 Hz en PAL). Lo hace en modo entrelazado, es decir, generando la imagen en dos frames, uno para las líneas pareas y otro para las impares.

Ruff Tumble Commodore Amiga

Debido a la enorme cantidad de parpadeo, lo que cansa la vista un montón, lo que llevó a que, pese a su superioridad técnica en el apartado gráfico, el Commodore Amiga no fuese el mejor sistema para largas horas de trabajo en modo texto, por lo que la mayoría de las aplicaciones y juegos se limitaban a usar los modos de 200 líneas (256 en PAL), aunque tampoco eran muy populares los modos de 640 píxeles en horizontal, especialmente en los juegos, ya que reducía la cantidad de colores posibles por pixel a la mitad. Asignando de forma alterna 16 registros de color a un píxel y los otros 16 al siguiente.

Modo HAM

Amiga Modo HAM

Una de las capacidades de DENISE respecto a otros sistemas era el modo HAM (Hold and Modify) que permitía mostrar imágenes estáticas con toda la paleta de colores activa. Su funcionamiento era el siguiente:

  • En lugar de que cada píxel especifique directamente un color a partir de una tabla de 16 o 32 colores, en HAM el primer píxel de cada línea se establece mediante un color directo (usualmente tomado de una paleta limitada).
  • A partir de ese primer píxel, cada píxel subsiguiente lleva información que, en lugar de indicar un color completo, le dice al sistema que “mantenga” los dos componentes de color ya dibujados y “modifique” uno de ellos (rojo, verde o azul) con un valor de 4 bits.
  • Así, cada píxel depende del valor del anterior para definir su color final.

Planos de bits/bitplanes

El Commodore Amiga podía dibujar un búfer de imagen basado en píxeles, pero al contrario de los sistemas actuales, y al igual que con el PC AT y el Atari ST la información se codificaba en planos de bits. La diferencia es que en el método tradicional cada píxel se almacena como un conjunto de bits consecutivos en la memoria que contienen la información de color de este. En cambio, en los planos de bits se separan los bits en diferentes capas.

Bitplanes Commodore Amiga

Dicho de otra forma, pasamos a tener varios búferes de imagen de un solo bit que se combinan entre sí para obtener la información final. ¿Por qué se tomó esta decisión? Por el simple hecho de que era mucho más fácil y barato implementar una salida de vídeo para este tipo de búfer de imagen. El motivo de ello es que si se usa el método tradicional, entonces los bits de los canales de color que no se usan también se han de codificar.

PAULA

El tercero de los custom chips del Commodore Amiga y tiene dos trabajos: la reproducción de audio y la gestión de los periféricos a través de los puertos de expansión. Es por ello que tiene acceso directo a la CPU del sistema sin tener que pasar por AGNUS, ya que este chip se encarga de la lógica de interrupciones del sistema generadas por los periféricos.

Paula Commodore Amiga

En cuanto a la reproducción de audio, en este caso no hablamos de un procesador generador de sonidos como el AY-8910 y sus clones o un chip de síntesis FM, sino de un sistema basado plenamente en audio PCM. Todo ello se traduce en que la CPU solo tiene que dejar cuatro listas de instrucciones, una por cada canal de audio, en la memoria Chip RAM. Dicha lista de comandos le indicarán a PAULA dónde se encuentra una pista de audio, la frecuencia a la que lo ha de reproducir y cuánto tiempo, que el custom chip se encargará del resto sin que el microprocesador central tenga que intervenir en el proceso. Esto lo hace reproduciendo el audio en 4 canales al mismo tiempo en formato mono o en una configuración estéreo de 2+2.

Todo ello le permite a PAULA reproducir la música y el audio de los juegos sin que la CPU tenga que intervenir en el proceso, solo tiene que acceder a la información a través de los canales DMA asignados para ello. En cuanto al acceso a la Chip RAM, AGNUS le da dos accesos por línea de escaneo durante el periodo de dibujado de pantalla por cada pulso del contador horizontal, por lo que en este caso también interviene DENISE. Sin embargo, hemos de aclarar que esto solo afecta a la reproducción de audio y no a la gestión de periféricos.

Una calidad de sonido muy superior a cualquier sistema de la época

Una de las ventajas de la reproducción de audio PCM en comparación con otras es que puede reproducir cualquier tipo de onda sonora sin problemas. Pensad que la síntesis FM tenía problemas para reproducir voces humanas. En todo caso, el Apple Macintosh y el PC AT venían de serie con la horrible bocina y el Atari ST seguía teniendo audio de un sistema de 8 bits. Todo ello significa que el Commodore Amiga estaba años adelantado a otros sistemas de la época. Es por ello y para que podáis comprendáis mejor la diferencia, es mejor que veais la diferencia entre el audio de la intro del primer Monkey Island entre ST y el Amiga.

¡Es que no hay color! Mucha gente habla de la superioridad del Commodore Amiga en cuanto a gráficos, pero es que, sí hablamos del tema del audio, ya es otro mundo, para quien escribe esto PAULA fue mucho más revolucionario en su época que el SID del Commodore 64 para la suya, incluso más que la Sound Blaster. ¿La única limitación del audio PCM? El hecho de tener poca memoria disponible, ya que por desgracia por aquellos tiempos no había potencia suficiente como para reproducir audio en formatos comprimidos como el MP3, el cual ni tan siquiera existía todavía.

La unidad de disquete

Uno de los elementos que diferenciaban por aquel entonces un ordenador de una consola de videojuegos era una unidad de disquetes y el Commodore Amiga vino con una de serie de 3.5 pulgadas. Sin embargo, el hardware de esta es algo complejo, si bien no solemos tocar esta unidad en nuestra sección de hardware clásico, creemos que esta vez haremos una excepción para que os hagáis una idea de cómo funcionaban estas unidades de almacenamiento.

Amiga 1000 unidad disquete

El primer componente relacionado con las unidad de discos flexibles son dos MOS 8520, uno para los datos que van desde la disquetera al ordenador y viceversa. Luego hay un custom chip, el cual no está conectado a la memoria chip RAM, pero sí con PAULA. El nombre del mismo es GARY. ¿Su trabajo? Controlar el motor de giro de la unidad y el cabezal para obtener la información del disquete. Su trabajo se da principalmente cuando es necesario escribir información en el disquete, y sus acciones han de estar especificadas en el código del programa para realizarse.

El trabajo de PAULA en este caso es encargarse de la información que llega desde la unidad y copiarla en la Chip RAM a través del canal DMA asignado para ello, el cual es el quinto asignado a PAULA de los 25 canales DMA que son gestionados por el controlador en AGNUS. Sin embargo, para informarle al 68K que se ha completado la transferencia desde o hacia la unidad de disquetes, PAULA envía una señal al 68000 a través de la conexión directa que tienen entre ambos para gestionar las interrupciones.

Enhanced Chip Set

El 7 de mayo de 1990, Commodore lanzaba el Amiga 3000, la tercera generación de ordenadores Amiga y una de las mayores decepciones de la historia de la informática, al nivel del Atari STe, lanzado ese mismo año, lo que sirvió para darle la antorcha al PC como ordenador personal para jugar. Si bien Commodore lanzó dos años después el Amiga 4000 basado en el chipset AGA, al cual le dedicaremos un artículo más adelante, por aquel entonces ya era demasiado tarde para salvaguardar a la plataforma.

Commodore Amiga 3000

La CPU del Amiga 3000 era un Motorola 68030 a 16 o 25 MHz acompañado de su correspondiente FPU, en este caso el 68882 para la versión a 25 MHz y el 68881 para la versión a 16 MHz, por lo que el ancho de banda y el bus de datos aumentaron considerablemente respecto a los modelos originales. Tristemente, el mismo nivel de mejora no se dio en los chips custom, donde Commodore prefirió mejorar los ya existentes, pese a los cinco años que habían pasado, en vez de crear una circuitería totalmente nueva. Todo ello gracias al hecho de que querían mantener la compatibilidad hacia atrás con el software ya existente.

MejoraChip
Hasta 2 MB de memoria Chip RAM son direccionablesSuper AGNUS
El Blitter ahora puede mover bloques de hasta 32000 x 32000 píxelesSuper AGNUS (Blitter)
Nuevo modo Super Hi-Res, el cual reproduce 1280 píxeles por línea de escaneoSuper DENISE
Modo de video para productividas: 640 x 480 en progresivo, no entrelazado, 4 colores por pixelSuper DENISE
Soporte para resoluciones con 240, 400 y 480 líneas en progresivo. Super DENISE

El resto de componentes se mantuvieron igual que el chip original. Esto se traduce en que Paula no tiene mejoras en forma de una mayor cantidad de canales de audio al no sufrir ningún cambio. Tampoco Blitter y Copper no son mucho más rápidos, es más, con la nueva CPU el primero de ellos deja de tener sentido. No obstante, lo peor es que, en comparación con el VGA, que por aquel entonces ya era estándar en PC, sigue limitado a la misma cantidad de colores y paleta que el hardware original de 1985

Y hasta aquí nuestro artículo sobre el Commodore Amiga, esperamos que lo hayáis disfrutado.

0 0 votes
Article Rating
Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
LordC
LordC
12 days ago

Me encanta leerte porque haces artículos muy interesantes sobre hardware retro pero, revisa la ortografía (espacios en las comas, algunas palabras con erratas) y las tablas, que move/wait están cambiados

Vladimir castellanos
Vladimir castellanos
5 days ago

Chat gpt te puede revisar la puntuación y ortografía para dejar los artículos impecables

2
0
Would love your thoughts, please comment.x
()
x