AMIGALANDIA

AMIGALANDIA --- Blog Retrospectivo Amiga/MorphOS

viernes, 14 de agosto de 2015

Análisis AMOS Basic



Análisis de AMOS Basic para Amiga en la web de CUCUG Amiga

http://www.cucug.org/amiga/amiinfo/reviews/AMOS.txt

AMOS: The Creator es un paquete de BASIC publicado por Mandarin Software
U.K. creado por el francés Francois Lionet.  AMOS está considerado
el programa de Amiga más vendido hasta la fecha con 40.000 copias en
todo el mundo.

AMOS fue programado mediante DevPac II Assembler; DPaint III; Pix Mate;
Cross-DOS y Mini Office Pro Communications.



AMOS es una versión para Amiga del lenguaje superventas ST BASIC para Atari,
STOS: The Game Creator. Cuando se terminó AMOS, se eliminó la palabra
"game" al ser el programa resultante tan potente. O así lo dice el manual.


                                 B.A.S.I.C.

Beginner's All-purpose Symbolic Instruction Code (BASIC) fue uno de los
primeros lenguajes en que la mayoría de la gente se introdujo en la programación.
Había versiones de BASIC incluídas en los Commodore 64 y 128; el PC de IBM
y clónicos; el Atari ST y el primer Amiga (hasta que fue sustituido por
Amiga Vision).

 

BASIC suele ser el lenguaje que se imparte en las clases de programación
del instituto para estudiantes no de informática.  Se estima que hay
más programas creados en BASIC en los PCs que en cualquier otro lenguaje.
También se estima que ocupa el segundo puesto como lenguaje seleccionado
en todos los grandes y micro computadoras -- después de Cobol.
[Ed. -- Antes de que nadie me recrimine cuantos programas en 'C' y ensamblador
existen, sólo informo de lo que he leído. El estudio en cuestión fue realizado
por el Gobierno de los EE.UU en 1989. No tengo más información.]

BASIC puede ser interpretado, en cuyo caso el intérprete de BASIC debe residir
en memoria; o compilado en código ejecutable. Los programas compilados son
por lo general ejecutados mucho más rápido que los programas interpretados.

BASIC se ha ganado toda su reputación no sólo por su sencillez, también como
lenguaje válido sólo para programas pequeños orientados a texto que no precisan
de rapidez. Ahora, sin embargo, una nueva clase de BASIC está dando el paso
al frente haciendo temblar su antigua imagen de lentitud de reacción.
Turbo BASIC de Borland para sistemas MS/PC-DOS es capaz de compilar código BASIC
que se ejecuta a velocidades comparables a programas en Pascal, Modula o incluso C.
AMOS forma parte de esta nueva rama.

Mucha gente ha relegado BASIC a la docencia por su falta de velocidad y la
simplicidad de sus comandos. Los lenguajes de Alto Nivel (aquellos que más
se parecen al Inglés) suelen sobrecargarse, lo que motiva velocidades de
ejecución inferiores. Aunque, es un problema del compilador o intérprete,
no del propio BASIC. Un buen compilador de BASIC puede generar programas
que correrán a la altura de programas compilados en C.

Este es el motivo por el que Mandarin decidió eliminar la palabra "game"
del nombre del programa. Es algo que el usuario también debe recordar
de modo que pueda contemplar AMOS como un lenguaje de programación serio
y no "buah, es otro BASIC más".


                                 THE CREATOR

AMOS se presenta en tres paquetes. El primero es The Creator, que contiene el
propio AMOS (v1.2), los editores, intérprete, herramientas y varios programas
de ejemplo. AMOS: The Compiler es un compilador para programas AMOS y a la vez
una actualización para el propio programa (v1.3).  AMOS-3D es otra actualización
para el programa principal (v1.3+) al tiempo que un modelador y manipulador 3D.
Compiler y 3D los trataremos en artículos separados. Hay que recordar que
mientras The Creator funciona sin los otros dos paquetes, Compiler y AMOS-3D
requieren The Creator para funcionar.


                                 EL MANUAL

El manual de AMOS es para la versión 1.0 y fue redactado utilizando WriteNow
en Macinstosh y maquetado con Pagemaker.

El manual contiene 22 capítulos que van desde la introducción al uso de código
máquina con AMOS. 

Está repleto de ejemplos, y aquellos más extensos van incluidos en uno de los
tres disquetes. Por lo que he probado, todos funcionan como deberían.


Está redactado en Inglés puro, de modo que algunos de los términos serán extraños
para Americanos. Es de fácil comprensión, y si ya sabes algo de BASIC, volarás
sobre él. (Tardé menos de cuatro horas en leer las más de 290 páginas --
la mayor parte era un curso de refresco. Incluido el tiempo intentado algunos ejemplos.)

Americanos/Canadienses preparaos para un pequeño trauma. AMOS fue creado
para sistemas PAL (así que Candienses, apartaos) y una audiencia europea.
No encontrarás en parte alguna referencias a "monitor", ya que hay varias
ventajas en conectar el Amiga a una Televisión. El manual fue creado
con la siguiente configuración en mente:

        Amiga 500 512k de memoria; una disquetera y conexión por antena RF.

Todo el *programa* fue escrito pensando en dicha configuración, así que si
tienes disco duro y algo de memoria RAM extra, tendrás que pasar por el
aro para utilizarlo.

Es un manual digno. Completo y con gran cantidad de ejemplos útiles.
Se acompaña de un panfleto que actualiza el manual a la versión 1.2
así como todos sus accesorios.

Ah, el manual hace referencia a muchas cosas que suceden 50 veces por segundo.
Supongo que esto proviene de los 50 ciclos de reloj empleados en Europa
y que son 60 en sistemas de EE.UU, aunque aun no lo he confirmado.


                                 EL EDITOR

Es un editor a pantalla completa que recuerda mucho a la interfaz del Commodore 64.
No se basa en Intuition y aunque tiene buen aspecto, cuesta MUCHO hacerse a él.
AMOS, sin embargo, puede importar código ASCII de modo que podremos utilizar
el editor que queramos.

Se muestra en 320x200 baja resolución para ahorrar memoria RAM, y en mi sistema
se ve ligeramente descentrado.
(Recuerda, esto no es una pantalla Intuition -- jugar con las preferencias
no conduce a nada.)



Casi todos los comandos están asignados a teclas de función y operan bien.
AMOS utiliza ALT, MAYÚSCULAS, CRTL, Amiga Izquierda y Amiga Derecha para delimitar
las teclas de funciones. ¡Son en total 60 teclas de función!

El editor cuenta con dos modos. Directo y Edición. En modo edición, nos encontramos
con un editor de texto creado para ofrecer soporte a AMOS. El concepto es similar
a LSE de Lattice/SAS C y parece funcionar correctamente. El modo Directo es en el
que insertamos un comando, pulsamos <CR (Intro)> y vemos el resultado.

AMOS se comporta de forma extraña en multitarea. ¿Quieres volver a Workbench?.
Pulsa Amiga Izquierda + A. Sí, has leído bien. Una vez hecho esto, ya estás
en Workbench o en otras pantallas que tengas abiertas. Desde aquí, podremos
cambiar entre tareas no AMOS mediante las combinaciones Amiga Izquierda-N
y Amiga Izquierda-M como siempre. ¿Quieres volver a AMOS?  Pulsa de nuevo
Amiga Izquierda-A. Extraño cuando menos.


                                EL LENGUAJE

AMOS es BASIC, de acuerdo. La mayoría de los comandos son muy familiares
y aquellos que no lo son también son muy similares a como esperarías que
fuera un comando de BASIC.

AMOS posee más de 500 comandos. Son muchos. Bastantes son específicos
para el manejo de gráficos, sonido, animaciones y efectos. Los comandos
para la manipulación de sprites, bobs, ficheros SMUS, ficheros NT,
pantallas y ventanas son abundantes. ¿Quieres abrir una pantalla?  Escribe:

 SCREEN OPEN 0,320,200,32,Lowres

¡y maldito si no se abre una pantalla de 32 colores y baja resolución!

Existen comandos para el manejo de pantallas divididas; pantallas super
bitmap; extra half-brite, HAM, pantalla con escrol; pantallas con búfer
doble, sprites, bobs; carga y guardado de porciones o pantallas completas,
bobs, sprites; dual playfields; animación; música; efectos de sonido;
menús; ventanas; peticiones de ficheros; acceso a ficheros y muchos más.

Hay cosas que faltan en la v1.2. Por ejemplo, no hay forma de abrir una
pantalla entrelazada. Cómo pasaron esto por alto no lo sabré jamás,
pero todas las pantallas tienen como máximo 200 líneas de altura (255 en PAL)
y un número superior las convierte en pantallas super-bitmap.
Esto se ha solucionado sin embargo en la versión 1.3.

Hay también varios comandos para comprimir datos y gráficos al vuelo para
ahorrar espacio RAM. La descompresión de tu programa (por lo general menos
de un segundo) apenas la notarás.

AMOS también incluye AMAL, un lenguaje de animación guiado por interrupciones.
AMAL refresca los elementos 60 veces por segundo haciendo realmente sencillo
contar con dos docenas de bobs y media docena de sprites moviéndose en pantalla
al mismo tiempo realizando patrones complejos. Quizá haya cierto parpadeo, así que
utiliza la opción DOUBLE BUFFER y todo irá como la seda.


                                  LAS HERRAMIENTAS

AMOS incluye varias herramientas, como un editor de mapas (para generar fondos
con escrol atractivos); editor de sprites; recortadores; y más.

El panfleto describe al completo todas las herramientas siendo de gran utilidad.
El editor de mapas acepta una imagen IFF cortándola en mosaicos para crear
los tan populares fondos con escrol. Hace tan sencillo programar juegos como Ultima
que parece una broma (los aspectos básicos de Ultima de todos modos).

AMOS cuenta con una herramienta para la conversión de ficheros de audio ST/NT,
Sonix y SMUS a su propio formato. Funciona bastante bien en aquellos que he
probado (ficheros ST/NT y SMUS).




                                LOS PROGRAMAS

AMOS incorpora varios programas de ejemplo muy bien resueltos y en los que el
código fuente resulta bastante aleccionador. Los juegos son majos y los gráficos
atractivos. Son buenos ejemplos de lo que se puede llegar a conseguir con AMOS.


                                PROBLEMAS

Allá vamos.

AMOS está diseñado pensando en sistemas PAL. Es tremendamente complicado
hacer que tenga buen aspecto en NTSC.

El programa de instalación en disco duro parece de broma. No funciona para
nada y es un gasto de espacio en disquete. Las instrucciones del manual
relativas a la instalación de AMOS en disco duro tampoco son mucho mejores.
Están redactadas por alguien que obviamente no tenía disco duro.

AMOS no funciona desde un sub-directorio y requiere que se encuentre en el
directorio raíz del disco duro.

Al arrancar AMOS desde CLI, se debe hacer primero CD al directorio donde
se encuentre AMOS para *entonces* lanzarlo. Olvida del nombre de la ruta,
etc.

El editor está creado para pantallas PAL y ajustando las opciones de AMOS
para NTSC no tiene buen aspecto. 

Yo personalmente, no puedo pasar de trabajar con el Amiga a arrancar AMOS
y comenzar a programar. Tengo que desconectar y hacer que mi mente olvide
la interfaz de Amiga y *luego* volver conectar de nuevo y arrancar AMOS.
Si no lo hiciese, lo extravagante de AMOS me haría estampar un (#*$*@# puño
en el monitor en poco tiempo.

La petición para guardado de fichero no funciona. Se niega a guardar un fichero
que no exista aún. Muestra un mensaje de error "file not found" al tratar
de utilizar SAVE AS...de modo que tengo que volver a Workbench
(¡NO, no es Amiga Izquierda-M, sino Amiga Izquierda-A!) crear un fichero vacío (dummy),
luego volver y guardarlo.  [Podría rehacer la petición de ficheros en AMOS;
pero soy demasiado perezoso.]

Y la lista sigue.

                                 EL SOPORTE

AMOS cuenta con más soporte del que haya visto para cualquier otro lenguaje.
Existe una colección de discos AMOS de Dominio Público (más de 300 discos) en
Europa y otra en Australia. Hay una boletín de noticias AMOS así como concursos
con premios para los mejores programas AMOS. Mandarin mantiene una oferta en pie
por la publicación de programas interesantes con AMOS.

AMOS cuenta con una sección propia en varias revistas europeas e incluso existe
una serie de tarjetas de referencia rápida AMOS que aparece de vez en cuando
en Amiga Format.

Hey, hay hasta un número telefónico de soporte para ayudarte cuando te quedas
atascado... (Aunque el número de tlf es de Inglaterra)

AMOS es muy popular en Europa y Australia.  Aunque se está haciendo también
popular en América del Norte también.



                                 CONCLUSIÓN

 

AMOS es de lejos el BASIC más potente que he encontrado. Está optimizado
para el Amiga, a pesar de sus raíces en Atari ST presentes tanto en el editor
como en la interfaz.

Puede llevar un tiempo acostumbrarse a la interfaz. Aún así, AMOS soporta
ASCII de como que se puede pasar por alto su interfaz la mayor parte del
tiempo.

AMOS es capaz de realizar todo tipo de programas. Os aseguro que yo no lo
utilizaría para crear el mejor de los procesadores de texto y hoja de cálculo,
pero eso sería tener prejuicios contra BASIC como un lenguaje "potente".
Si algún BASIC fuera capaz, sería AMOS.

AMOS, junto a su compilador, es capaz de crear programas comerciales de
calidad. AMOS elimina la parte tediosa de la programación como es crear
los menús; las rutinas de animación de sprites, etc.

Si siempre has deseado programar juegos, demos o cualquier otra cosa con gráficos
y sonido en Amiga, pero nunca pudiste dominar C, AMOS es para tí.
Si te gusta BASIC y buscas un BASIC decente con cierta potencia para tu Amiga,
AMOS es lo que buscas.

AMOS cuenta con soporte para rutinas externas y código ensamblador, de modo
que puedes mezclar C y AMOS de manera nítida. AMOS es increíble para el manejo
de animaciones, gráficos y audio en el Amiga.

En una escala del 1 al 10, le daría a AMOS un 7 alto. Por lo que he escuchado
acerca del Compilador y la actualización v1.3, podría llegar a un 8 alto; y
por lo que he visto de AMOS-3D, podría otorgarle un 9.


Traducción: Víctor Gutiérrez (esperando mi copia de AMOS de Ebay....;-D)