Atari Jaguar II
# Atari Jaguar II

El Atari Jaguar II iba a ser la consola de videojuegos sucesora de la Atari Jaguar. La consola llegó a la fase de prototipo de laboratorio con el trabajo de silicio parcial. El proyecto fue cancelado en el verano de 1995, antes de que un diseño final se pudiera completar, y antes de que Atari se fusionara con el fabricante de disco duro JTS Corporation. El Jaguar 2 pretendía ser compatible con versiones previas del cartucho de Atari Jaguar y el Jaguar CD.

## Historia

Jaguar II era una mejora evolutiva para Jaguar, desarrollado en los laboratorios de Atari en Sunnyvale, California por un equipo dirigido por John Mathieson, uno de los diseñadores del original Atari Jaguar. Fue pensado para ser un software compatible con Jaguar, y era un superconjunto de la misma clase. Se utiliza la tecnología más reciente para acelerar el sistema Jaguar, hacer frente a las deficiencias de su arquitectura, y para hacer grandes mejoras en la especificación.

El nombre en clave del proyecto era Midsummer, una referencia intencional a Sueño de una noche de verano (A Midsummer Night's Dream); y los dos chips principales fueron nombrados Oberon y Puck, las referencias a personajes de esa obra teatral.

El desarrollo del proyecto se inició en enero de 1994, y los prototipos de trabajo corrían las demos antes de marzo de 1995. El chip gráfico Oberon, que sustituyó a Tom de Jaguar, fue terminado y se estaba ejecutando en este prototipo. Su chip hermano, Puck, no había completado el diseño para cuando el proyecto fue cancelado en el verano de 1995 (los prototipos utilizaban chips de Jerry).

Los objetivos del proyecto eran mejorar sustancialmente el rendimiento en las siguientes áreas:

* Velocidad de renderizado polígonal;
* textura mapeada de polígonos;
* capacidad computacional y
* síntesis de audio.

## Especificaciones técnicas

| Tamaño: | 10.5 x 12" x 3.5" |
| - | - |
| Controles: | Encendido/apagado |
| Puertos: | Ranura del cartucho / puerto de expansión (de 64 bits) Salida de vídeo RF Conector edge de vídeo (salida de audio/vídeo) (soporte NTSC y PAL; ofrece S-Video, Compuesto, salidas RGB, accesible por conector complementario opcional) Cuatro puertos de controlador Puerto del procesador de señal digital (incluye puerto serial síncrono de alta velocidad de entrada/salida) |
| Controladores: | Joypad de ocho direcciones Tamaño 5" × 4,5" x 1,5", cordón de 7 pies (2,1 m) Seis botones de disparo (A, B, C, D, E, F) botones Pausa y Opciones Teclado de 12 teclas (acepta cubiertas específicas de juego) |

## Bloques internos

### CPU

* Procesador RISC de 32 bits
* 4 kB de caché de 2 vías establecidas asociativo
* 1 kB rápido RAM de datos local
* operaciones de llenado de línea de caché a la velocidad del bus completo de 64 bits (133 MB/s)
* multiplicador de un solo ciclo, y divisor rápido con precisión extendida (16 x 32)
* Motor DMA de 64 bits desde y hacia el sistema DRAM a la velocidad del bus completo

### GPU

La GPU y el Blitter fueron el motor de renderizado de gráficos 3D. La GPU era muy similar a la RCPU, y se acopló en un bus local rápido de 32 bits a la blitter. La GPU fue pensada para calcular los parámetros del polígono blitter mientras que el blitterlos está dibujando.

* Procesador RISC de 32 bits
* 4 kB de RAM local rápido para programa y datos
* 8 kB de RAM ya sea para el buffer de texturas o para RAM adicional para programa y datos
* multiplicador de un solo ciclo, y divisor rápido
* Motor DMA desde y hacia el sistema DRAM a velocidad de bus completo

### Blitter

El Blitter era un motor de renderizado triangular a 64 bits. Este renderizaba triángulos como una sola operación, y estos triángulos podría ser cualquier combinación de sombreado Gouraud o Phong, textura mapeada y Z-Buffer.

* coprocesador de 64 bits de renderizado flexible
* RAM de 8 kB para búfer de texturas (puede ser compartida con la GPU)
* ROM genérico de textura de 8 kB
* mapeado de texturas desde búfer textura local o desde la memoria principal
* trazado de triángulo como una única operación
* Z-buffering
* mapeado de texturas suavizado (interpolación bilineal)
* mapeo de texturas de perspectiva verdadera
* Sombreado Gouraud o Phong, efectos de niebla, mezcla de color y mezclado alpha todo posible sobre los datos de textura

### Procesador de objetos

El procesador de objetos era un procesador muy flexible de la lista de 64 bits para generar la pantalla. La pantalla fue construida en un búfer de línea local de múltiples mapas de bits, el cual podría ser en diferentes resoluciones de color. Este realiza escalado, sombreado y efectos de niebla sobre los datos de mapa de bits. Podía comportarse como un motor de sprites tradicional, pero era mucho más flexible y programable.

* Generador de pantalla de 64 bits
* hasta 24 bits por píxel
* soporta mapas de bits en profundidades de color mixto
* escalado suave de imagen(8.8 bits de resolución)
* efectos de oscurecimiento, iluminación y niebla en mapas de bits
* soporta esquemas de color RGB o CRY

El esquema de color CRY utiliza 8 bits para la intensidad y 8-bits para la intensidad de color, permitiendo sombreado suave Gouraud de pixeles de 16 bits.

### DSP

El DSP era un procesador RISC de 32 bits, basado en el mismo núcleo RISC que la GPU y la RCPU. Contenía un generador local de muestra PCM acoplado a la memoria de muestras privada que genera 24 voces a 44 kHz en paralelo con la flexibilidad y la potencia del DSP.

* Procesador RISC de 32 bits
* 8 kB de rápido programa / RAM de datos local
* multiplican solo ciclo / acumulan, con 40 bits de precisión acumulador
* Generador de muestra PCM de la memoria privada, hasta 1 MB de DRAM o ROM
* Muestras PCM se pueden interpolar muestras de 8 bits, 16 bits y 8 bits μ-ley comprimen
* interfaz serie síncrona a la calidad de CD DAC
* Motor DMA de 64 bits desde y hacia el sistema DRAM a tasa autobús lleno

### Rendimiento del sistema

El sistema de Midsummer fue pensado para ser ejecutado desde un reloj de 33 MHz. A los 33 MHz del bus del sistema principal tenía una velocidad de ráfaga sostenida de 133 MB / s. Suponiendo píxeles de 16 bits, que pueden ser RGB o CRY, el procesador blitter y el objeto podría tanto escribir y leer píxeles a 66 megapíxeles por segundo.

Esto le dio al blitter una sombra, la tasa de polígonos de textura mapeada de 750K polígonos / segundo. Esto supone un triángulo que contiene 50 10x10 píxeles. Por supuesto, el rendimiento del sistema realista sería menor, ya que no asume los gastos generales para el cálculo o de tiempo de generación de visualización.

Los procesadores RISC Jaguar ejecutar una instrucción por ciclo de reloj. Por lo tanto, tienen una instrucción de pico a través-put de 33 MIPS , y un nivel de rendimiento realista de 25-30 MIP. Esto dio un rendimiento del sistema combinado se acerca 100 MIPS, ya que los tres procesadores en paralelo de la memoria local. También pueden ejecutar código de DRAM principal, aunque sólo el RCPU es muy adecuado para esto, ya que tiene una caché de instrucciones.

### Detalles en relación con Jaguar

Esta lista de todos los detalles de las mejoras, en relación con el Jaguar originales:

* Hay un Jaguar RISC (J-RISC) procesador adicional, conocido como el RCPU, con una memoria caché de programa simple. Se pretende llevar a cabo la funcionalidad de la CPU, actuando como un motor de geometría, y se adapta bien a la ejecución de código compilado.
* El blitter ahora puede dibujar polígonos como una sola operación. Estos pueden ser simplemente llenos, o cualquier combinación de Gouraud sombreadas, amortiguada-Z, y la textura mapeados.

El blitter ahora puede dibujar mapas de textura en la velocidad del bus completo: un máximo de una frase por dos ciclos de reloj, de la memoria de textura interna, y también puede operar desde la RAM *textura externa más eficiente que antes.

* El blitter puede anti-alias texturas, ya que les hace, usando filtrado bi-lineal.

El mapeado de texturas y los modos de sombra Gouraud se pueden combinar para dar sombra polígonos de textura mapeada, con Z-buffering así si es necesario. Estos también se pueden sacar a la velocidad del bus. El sombreado es una mezcla multiplicativo de los datos de textura y otro color, lo que permite aligeramiento, oscurecimiento, distancia-neblina y otros efectos.

* Los cálculos de intensidad ahora se llevan a cabo con un rango extendido, el uso de un entero con signo de once bits para representar la intensidad, este valor se recorta (saturado) sólo cuando se dibujan los píxeles.
* Un subconjunto de los registros blitter son de doble buffer, por lo que un motor de dibujo polígono puede programar los parámetros para un blit polígono mientras que el blit anterior está todavía en curso.
* No hay necesidad de inicializar todos los cuatro valores I y Z (o punteros textura) para un blit modo de frase, la blitter puede inicializar automáticamente de manera apropiada.

Los generadores de direcciones blitter ahora ambos tienen funciones de la ventana de clip y máscara. *Anteriormente A1 tenía una ventana de clip y A2 tenía una máscara.

* La GPU tiene una bandera de desbordamiento que refleja firmó desbordamiento aritmético de sumar o restar operaciones, y también da el estado del bit modificado por operaciones claras y conjunto de bits antes de la clara o conjunto.
* Los códigos de condición de salto se han ampliado para hacer frente a la nueva bandera de desbordamiento, y ahora incluyen todas las condiciones disponibles en microprocesadores de propósito general, como por ejemplo el 68000.
* La instrucción NOP se ha extendido, de modo que si sus operandos no son cero, entonces se convierte en un salto incondicional en relación con un salto firmado diez bits offset, dando un mayor rango.

Byte y palabra transferencias a GPU RAM son ahora posibles.

* Los procesadores J-RISC todos contienen un motor de transferencia de DMA simple, que permite transferencias de modo frase del tipo de bus completo entre la memoria interna y externa. Esto acelera las cargas del programa y las transferencias de conjuntos de datos.
* El PAQUETE e instrucción UNPACK ahora pueden operar en RGB16 píxeles, así como CRY.

El procesador objeto ahora puede acortar a un valor lado derecho de menos de 720 estableciendo el registro límite.

* El procesador objeto puede forzar el bit de selección para pantallas CRY / RGB mixtas en función de cada objeto.
* El procesador objeto admite line-duplicación de modo que una imagen de TV se puede visualizar en un monitor VGA progresiva.
* El procesador objeto puede mezclar multiplicativamente el color del píxel con un "fade a" color de acuerdo con un valor de control de mezcla. Un nuevo tipo de objeto define el valor de control de mezclador y el color mezclado.
* Objetos RMW ahora pueden tener el doble de la "fuerza".
* Objetos a escala pueden ahora ser controladas con una precisión superior, y el resto horizontal pueden ahora ser definidos.
* Algunos códigos de condición de salto extendida adicionales permiten funciones de depuración, como la interrupción, parada y pausa.

Además, algunos errores que crean problemas para Jaguar se han Corregido como:

* Protección Score bordo para escrituras está disponible, por lo que las escrituras no se producen fuera de orden. Esto es posible por la mejorada GPU bit.
* Código GPU puede ser ejecutado fuera de la memoria RAM externa.
* Las banderas de direcciones blitter para Y añaden el control ahora están adecuadamente diferenciados, hay un bit de habilitación en el control de colisión y el modo de registro que se tiene que establecer para arreglar este error.
* El registro de datos de una instrucción de almacenamiento indexado ahora tiene plena protección de puntuación bordo.
* Los problemas relacionados con MOVEI instrucciones al comienzo de un programa, sobre todo cuando es de tipo paso a paso, se han resuelto.
* Objetos sin escala ahora se fue a buscar a velocidad completa del bus speed.
* El píxel de pre-escalador se ha restablecido en la última línea de la pantalla, por lo que la pantalla no tiene que ser sobre-escaneada para ocultarlo.
* Dos divisiones pueden seguir uno al otro cuando se utiliza el cociente de otro.
* La interfaz DMA externa DSP ha sido completamente revisada, y ahora apoya las transferencias de baja y de alta prioridad; así como arbitrarias combinaciones de carga / tienda y alineaciones.
* Una variedad de problemas relacionados con la ventana de recorte se han resuelto.
