Revistas en papel
 Amiga World Nº37 - Noviembre 1992
Anterior
MenĂº
Logotipo

El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España
para ofrecer los artículos de la revista Amiga World España.

     HARDWARE     
Amiga World

EN EL INTERIOR
DEL AMIGA

Por Rafael García García

Todos los usuarios conocen las increíbles posibilidades del Amiga, tanto en la cuestión gráfica como en el sonido, en este artículo nos adentraremos en estudiar los sistemas gracias a los cuales el Amiga es capaz de hacer las cosas que hace.

El Amiga es probablemente uno de los microordenadores mejor equipados del mercado, consiste en una perfecta combinación entre un hardware con las últimas novedades de la tecnología y un potente software para manejarlo, lo cual produce una inmejorable combinación. En este artículo, y como continuación del artículo aparecido en el número anterior, hablaré de las diferentes posibilidades que nos ofrecen los diferentes aspectos del hardware del Amiga.

Los conceptos básicos acerca del hardware del Amiga, les serán familiares a todos aquellos ex-usuarios o usuarios de anteriores equipos de Commodore como el archiconocido Commodore 64, en el sentido de que almacenar datos en registros puede provocar cambios en la manera de presentación de imágenes o sonidos en el ordenador. El lenguaje BASIC posee el conocido comando "Poke" para alterar los valores de las posiciones de memoria, y por supuesto también existen mecanismos o comandos similares en otros lenguajes como C, etc. La programación en los ordenadores con sistema de "mapas de memoria", consiste básicamente en colocar adecuadamente los valores correctos en las posiciones adecuadas, lo cual significaba en el estupendo 64, aprender cientos de extraños Pokes, para seleccionar el borde de la pantalla, o mover un Sprite alrededor de ella.

El Amiga es mucho más grande y mucho mejor, y como podrán imaginar el tema de los pokes es mucho menos utilizado que en su viejo hermano el 64, en su lugar hay un impresionante sistema operativo, repleto de jugosas rutinas que harán el trabajo por ti. De todas maneras, si desea utilizar estas librerías, primero deberá entender lo que hacen, incluso en el caso de que los registros alterados no produzcan efectos aparentes inmediatamente. La programación en un sistema multitarea significa que debe estar preparado para dejar paso a cualquier otro código que necesite usar el sistema de audio o escribir en la pantalla de alguna manera, por ejemplo. las reglas de programación dadas por Commodore, se pueden saltar pero más adelante explicaré los impredecibles y nefastos efectos que esto puede llegar a tener.

¿De donde saca su velocidad el Amiga?. Actualmente el Atari ST, es ligeramente superior en velocidad al Amiga, y por lo tanto aparentemente es capaz de realizar más trabajo en un mismo periódo de tiempo, pero todo el mundo sabe cual de las dos máquinas es la más potente.

El secreto de la potencia del Amiga, es la existencia de una serie de componentes especialmente diseñados, localizados en tres chips llamados Agnus, Paula y Denise. Estos chips controlan el sonido, y los gráficos del Amiga, además de la mayoría de dispositivos de entrada/salida. Lo más importante de ellos es que pueden trabajar independientemente del procesador central del Amiga (el 68000). Este hecho consigue, al contrario que en otro tipo de ordenadores que tienen que retrasar el procesador para poder refrescar la pantalla o el sonido y además preocuparse del acceso de las diferentes unidades de disco, dejando menos tiempo al procesador para el manejo de datos, que todas estas operaciones y unas cuantas más sean realizadas por dichos chips, para lo cual estos necesitan tener acceso independiente a la memoria del ordenador en las operaciones de lectura y escritura, una función generalmente exclusiva del procesador central. Este sistema se llama Acceso Directo a memoria o en siglas: DMA.

El secreto de la potencia del Amiga, es
la existencia de una serie de
componentes especialmente diseñados,
localizados en tres chips llamados
Agnus, Paula y Denise.

El principio del DMA, es simple, pero el sistema electrónico que lo hace posible es tan complicado, que existen una serie de áreas con un cierto número de problemas potenciales. En primer lugar, por ejemplo si dos o más componentes son capaces de alterar áreas de memoria comunes, ¿Como se las apaña el procesador para saber que datos son los que están trabajando, de quien son y si no están medio alterados por cualquier otra cosa?. La respuesta a esta pregunta consiste en que solo a un componente le es permitido acceder a la memoria al mismo tiempo. Bien, pues en tal caso ¿Cual de ellos tiene prioridad, si ambos quieren acceder a la memoria al mismo tiempo? Por bastante diferencia, los Custom chips (entiéndase Agnus, Denuse, Paula, etc) son mucho más rápidos que el 68000 en determinadas tareas, y por lo tanto tienen prioridad.

Todo esto es en términos generales, la explicación del secreto de la potencia del Amiga, pero a continuación entraré a explicar algunas de las áreas más significativas de estos componentes tan versátiles y potentes.


EL BLITTER

Esta es probablemente una de las posibilidades más innovadoras del Amiga, que aun esta por incluir en otro tipo de ordenadores. El Blitter, es una parte del chip Agnus cuya función consiste en mover áreas de datos a una endiablada velocidad que viene a ser aproximadamente unas diez veces la velocidad del 68000. Los datos pueden ser de cualquier tipo, pero usualmente están relacionados con gráficos, y BOBs (Blitter OBjetos) comúnmente usados en juegos para representar grandes caracteres gráficos. Son por lo tanto una alternativa a los conocidos Sprites del 64, aunque el Amiga también los posee, como ya veremos más adelante.

Mover áreas de datos rapidísimamente es interesante, pero las posibilidades del Blitter no se quedan ahí, gracias a la gran flexibilidad que nos ofrece. Por ejemplo, no solo esta restringido a mover regiones lineales de memoria, sino que también puede mover una ventana hacia otras áreas. Sin esta posibilidad, los BOB's no serían posibles. Piense acerca de ello, imagine un BOB en pantalla: olvídese de que es una figura compleja, como por ejemplo un hombre, piense en el como en un rectángulo, definido por los valores máximos de anchura y altura del mismo, para poder moverlo el Blitter necesita que se le digan estas dimensiones.

Otra importante posibilidad del Blitter es su habilidad para realizar operaciones lógicas entre una o hasta tres fuentes de datos, antes de escribir el resultado en su destino. Un uso para esto, consiste en definir áreas transparentes en un BOB. Volviendo a nuestra figura del hombre (que en realidad es un rectángulo), podemos programar el Blitter para dejar que se muestre el fondo a través de cualquier área transparente de sí mismo, simplemente situando la apropiada ecuación lógica (llamada "Mimterm"). Al mismo tiempo que estamos tratando los BOBs, el Blitter es capaz de detectar superposiciones entre ellos, por lo que se puede utilizar las detecciones entre ellos para los juegos arcade.

El dibujo de líneas es otra de las especialidades del Blitter, una vez más este nos prove de la endiablada velocidad necesaria para mover los gráficos vectoriales 3D, de juegos como el Starglider, etc. Además de dibujar las líneas, el Blitter también es capaz de rellenar regiones entre ellas, con diferentes modos para conseguir efectos especiales. Una vez más, estas operaciones se realizan aproximadamente a diez veces la velocidad del 68000.


EL COPPER

El chip gráfico del 64 (llamado VIC-II), posee la interesante habilidad de generar una interrupción cada vez que el haz de rayos que dibuja la pantalla, llega a un punto predeterminado de la pantalla. Las interrupciones de rastreo son usadas extensivamente en los juegos del 64, para dividir la pantalla en diferentes regiones, que pueden tener características de visualización totalmente diferentes, como por ejemplo la resolución, scrolls suaves de posicionamiento, etc. Esto es extremadamente efectivo, puesto que el ordenador es capaz de combinar estas características, rápidamente y con la suficiente precisión para engañar al televisor y al ojo humano! Así el 64, cambia los modos de pantalla antes de que esa región sea dibujada, pero el bit de visualización permanece inalterado, y así se crea la ilusión deseada.

El Copper puede ser programado para
re-usar Sprite, creando así la impresión
de tener más de los ochos que permite
realmente el hardware del Amiga.

Esta idea se extendió y se simplificó en el Amiga, en el cual la interrupción no es normalmente interceptada por el 68000, puesto que de esta operación se encarga un "coprocesador", llamado "Copper", este circuito es capaz de esperar a que el haz de rayos golpee un punto determinado de la pantalla, y entonces puede alterar prácticamente cualquier registro del hardware gráfico, mediante la ejecución de una especie de pequeño programa conocido generalmente como "Copper List". El set de instrucciones del Copper es muy limitado, pero adecuado, ofreciendo todas sus posibilidades al resto del ordenador.

Gracias a todas las posibilidades del Copper, y mediante un largo proceso, se puede explicar como existen e interactúan las pantallas intuitivas tan características del Amiga, independientemente de la resolución que posean. Si observa de cerca dos pantallas superpuestas, se dará cuenta de que la intersección entre ellas consiste en una línea negra, y si sitúa el puntero sobre ella observará una pequeña brecha en el. Esto ocurre porque el sistema no tiene la suficiente precisión como para detectar la coordenada horizontal (en el eje X) adecuadamente, así que en lugar de tener un interface que parpadee, la visualización simplemente se desconecta mientras que el Copper List se ejecuta, y nadie se da cuenta de la pequeña deficiencia.


SPRITES

Los Sprites son figuras que existen independientemente del fondo, siendo familiares para lo usuarios del 64, pero no así para los usuarios del Atari ST. Usados en la misma manera que los BOBs, los Sprites son una alternativa a los BOBs, puesto que poseen su propia resolución y esquemas de color, y están sujetos a diferentes limitaciones (especialmente en cuestión de tamaño).

El puntero del Workbench es realmente un Sprite, y otra vez más el DMA se encarga de controlarlo todo por usted. El Copper puede ser programado para reusar Sprite, creando así la impresión de tener más de los ocho que permite realmente el hardware; todos ellos controlados mediante un complicado sistema de "Sprites Virtuales" (llamado VSprite).


PLAYFIELDS

Las diferentes resoluciones de pantalla del Amiga que lo hacen un maestro de los disfraces, y la astuta manera en la que la pantalla se construye mediante los bitplanes, han sido ya descritas en otros artículos de esta y otras publicaciones, pero lo que aquí realmente nos interesa es que el hardware usado para realizar estas operaciones usa un sistema llamado "Playfields" (un termino con sospechosas reminiscencias acerca del nacimiento del Amiga como máquina de juegos). De todas maneras el tema de los Playfields es tan complejo, extenso, e interesante, que hasta para un experto programador (que no es mi caso), representaría mucho tiempo de estudio y un artículo más extenso aún para adentrarse en las distintas posibilidades y profundidades de este sistema. Por tanto, se tratará por separado en otro número de la revista, en profundidad y en solitario.


MEMORIA

En varios artículos anteriores aparecidos en la revista, hemos comentado la importancia de la memoria en el Amiga, mencionando la importancia de la memoria Chip. La memoria Chip es el área accesible por los Custom Chips, y esta limitada a los primeroas 512K del mapa de memoria (actualmente también el 1Mb en algunos A500 y en los A2000, y 2Mb en los A3000). Existen importantes implicaciones en la programación para esto, puesto que la expansión de hardware puede incrementarse la memoria disponible en términos de Fast Ram, llamada así porque ni el Copper ni el Blitter pueden denegar el acceso del 68000 a este tipo de memoria. Si sus programas incluyen datos específicos para los Custom chips (por ejemplo un sonido digitalizado, o Sprites, etc), deberá asegurarse de que se encuentran en la posición adecuada, aunque para ello deba copiarlos de la memoria Fast a la memoira Chip. Aunque es imposible en un simple artículo, dar una visión completa y total de todos los aspectos que rodean estos componentes especiales que hacen que el Amiga sea un ordenador tan potente y especial. Pienso que al menos con este artículo se han explicado las bases mínimas necesarias para al menos comprender el increíble potencial que posee el Amiga.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal