|
|||||
| 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. |
|
![]() |
Por Rafael García García
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 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.
|
|
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.
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).
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.
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 |
|