home *** CD-ROM | disk | FTP | other *** search
- &CODIGOS
- &AUTOR François Lionet
- &TITULO Manual Amos. Paginas 21 a 30
- &PALETA $035,$FFF,$FB3,$F93,$F00,$900,$AE0,$80E,$0F0,$B30,$080,$3FE,$08F,$96F,$44F,$00A
-
- &FIN
- T09 L0821
- T03
- PROGRAMAS MULTIPLES Y ACCESORIOS:
- T06
- Programas multiples. Pese a que AMOS solo te permite editar un so
- lo programa a un mismo tiempo. No existe limites para el numero
- de programas que pueden ser instalados en memoria, mas que el ni-
- vel de almacenaje disponible. Una vez que hayas almacenado un pro
- grama, lo puedes ejecutar desde la ventana de edicion usando la
- opcion RUN OTHER.
- Supongamos, por ejemplo, que encuentras un problema en alguno
- de tus programas. AMOS cambiara el programa de memoria para que
- sin dificultad puedas seguir experimentando hasta hallar la solu-
- cion. Una vez hayas acabado, podras grabar la nueva rutina en me-
- moria con la opcion CUT, y regresar a tu programa original solo
- pulsando dos teclas. La nueva rutina ha sido incluida en su sitio
- y podras seguir con tu programa como antes. La posibilidad de de-
- tener lo que estes haciendo y ejecutar tus ideas inmediatamente
- es muy importante en la practica.
- Otra posibilidad es el permanente acceso a las utilidades mas
- usadas como el Diseñador de sprites o el editor de mapas en memo-
- ria. Podras acceder a esas utilidades instantaneamente siempre
- que tu quieras.
- De hecho, AMOS incluye un sistema accesorio especial (ACCESSO-
- RY) que hace esto cada vez mas facil. Los programas de utilidades
- ofrecen un total acceso a todos los bancos de memoria de tus prin
- cipales programas. Asi el diseñador de sprites puede grabar las
- imagenes directamente de tu programa actual, y modificarlas direc
- tamente. Esta tecnica acelara el proceso general de diseño de una
- forma divertida.
-
- Echemos un rapido vistazo a una desmostracion de estas facul-
- tades. Introduce este pequeño programa en el editor:
-
- Print "Este es el programa Uno"
- Boom
-
- Ahora podemos introducir este programa en memoria mediante el
- comando PUSH, al que se accede pulsando AMIGA+P. Se te solicitara
- entonces el nombre del programa desde la linea de informacion. In
- troduce como nombre "Programa Uno". La pantalla de edicion se lim
- piara completamente. La nueva ventana estara totalmente separada
- de tu programa original. Como demostracion introduce ahora una se
- gunda rutina, como sigue:
-
- Print "Este es el programa Dos"
- Shoot
-
- Este programa podra ser ahora ejecutado desde la ventana de
- edicion mediante RUN (F1). Cuando termines, podras regresar al
- primero mediante la opcion FLICK. Pulsa AMIGA+F. Como antes seras
- preguntado por el nombre del programa. Usa como nombre "Programa
- Dos". El editor saltara como por arte de magia a tu programa ori-
- ginal. Es posible repetir este proceso saltando adelante y atras
- entre los dos programas. Cada programa es completamente indepen-
- diente y pueden tener sus listados, bancos y pantallas propias.
-
- T09 22
- T06
- Acabamos de ver como se pueden usar dos programas al mismo
- tiempo. Sin embargo, puedes tener muchos programas mas en memoria
- Cada uno de esos programas pueden seleccionados individualmente
- usando el comando RUN OTHER y EDIT OTHER desde la ventana del me-
- nu. Cuando uses esos comandos, un selector de programas especial
- aparecera en pantalla.
- El selector de programas es casi identico al ya familiar selec
- tor de ficheros AMOS. La unica diferencia consiste en que este te
- permite elegir un programa desde la memoria mas rapidamente que
- desde el disco. Puedes seleccionar un programa simplemente sobre
- iluminandolo con el cursor del raton y pulsando una vez el boton
- izquierdo del raton.
-
- Accesorios. Al objeto de distinguir entre los accesorios y los
- programas normales Basic, existe una coletilla añadida (".ACC").
- Los accesorios pueden ser cargados en memoria como un programa
- normal usando el comando LOAD OTHER.
- LOAD OTHER es un selector de ficheros normal que puede ser usa
- do para cargar un accesorio desde el disco. Una vez el accesorio
- haya sido instalado en memoria, puedes regresar a tu programa y
- podras ejecutar este accesorio siempre que quieras usando la op-
- cion RUN OTHER desde la ventana de menu. Simplemente mueve el pun
- tero del raton sobre el accesorio deseado y pulsa el boton iz-
- quierdo del raton.
- Alteranativamente, puedes cargar todos los accesorios desde el
- disco actual mediante la utilidad ACCNEW/LOAD. Esta opcion puede
- ser encontrada en el menu del sistema que aparece cuando presio-
- nas el boton derecho. ACCNEW/LOAD elimina todos los accesorios ya
- existentes y carga un nuevo set desde el disco.
- Para demostracion, coloca el disco AMOS y pulsa el boton ACC-
- NEW/LOAD desde el menu de sistema.
- El accesorio HELP se cargara rapidamente en memoria. HELP es
- un accesorio muy especial porque puede ser llamado directamente
- al presionar la tecla 'HELP'. Hemos equipado esta ayuda con toda
- la informacion necesaria que puedas requerir para tus programas
- en Basic. Todo lo que tienes que hacer es seguir los prompts que
- apareceran en pantalla.
-
- 14- Modo Directo
- A la ventana de Modo Directo se puede acceder pulsando la te-
- cla ESC en cualquier momento. Por defecto, la ventana aparecera
- en la mitad inferior de la pantalla, con la pantalla del programa
- al fondo.
- Si ejecutas un programa que altere el formato de pantalla (co
- mo diseño de ventanas, animacion de sprites, etc), entonces todos
- estos datos de pantalla permaneceran intactos. Asi puedes despla-
- zar la ventana DIRECTA a lo largo de la pantalla, o bien regresar
- al editor para realizar cambios en el programa sin alterar la ac-
- tual pantalla del programa. Esta ventana de Modo Directo es total
- mente independiente y es ejecutada en su propia pantalla.
- Mientras te encuentres en modo directo, podras teclar cual-
- quier linea Basic que desees. Los unicos comandos que no podras
- utilizar son las instrucciones de bucles (LOOPS y BRANCH), ademas
- solo tendras acceso a ciertas variables diferentes de aquellas ya
- definidas en un procedimiento.
-
- T09 23
- T06
- Teclas del editor en MODO DIRECTO:
- ESC Salida a la ventana de edicion
- RETURN Ejecuta la actual linea de comandos
- DELETE Borra el caracter situado debajo del cursor
- BACKSPAGE Borra el caracter situada a la izquierda del cursor
- Flecha IZQ Mueve el cursor a la izquierda
- Flecha DCH Mueve el cursor a la derecha
- SHIFT +IZQ Desplaza una palabra a la izquierda
- SHIFT +DCH Desplaza una palabra a la derecha
- SHIFT +DEL Borra toda la linea
- SHIFT BACK Lo mismo
- HELP Muestra todas las teclas de funcion del Modo Directo
- F1 a F10 Conservan las ultimas 10 lineas que has ejecutado en
- Modo Directo. Siendo F1 la que muestra la ultima en
- ser ejecutada, F2 la segunda, etc. El area de memo-
- ria usada por este sistema se borra cuando regresas
- al Editor o bien ejecutas algun programa.
-
- 15- La ventana del Menu
- A continuacion una detallada explicacion de todas las opcio-
- nes disponibles en la ventana del Menu Principal:
-
- DEFAULT MENU. Te ofrece varios comandos que te permiten operar
- con el editor a la vez que puedes acceder a los menus BLOCK y al
- SEARCH.
-
- RUN (F1) Ejecuta el actual programa en memoria
- TEST (F2) Chequea la sintaxis del programa
- INDENT (F3) Toma el programa actual e indenta el listado
- BLOCKS MENU (F4) Muestra el Menu BLOCKS
- SEARCH MENU (F5) Muestra el Menu SEARCH
- RUN OTHER (F6) Ejecuta un programa o accesorio en memoria
- EDIT OTHER (F7) Edita un programa previamente instalado en me-
- moria mediante LOAD OTHER o ACCNEW/LOAD
- OVERWRITE (F8) Alterna modos de edicion INSERT y OVERWRITE
- FOLD/UNFOLD (F9) Toma una definicion de procedimiento y lo resu
- me dentro del listado de tu programa
-
- Normalmente, es posible reabrir un procedimiento resumido por
- FOLD, mediante la repeticion del proceso. Coloca el cursor sobre
- el procedimiento resumido y pulsa sobre FOLD/UNFOLD. Si tienes la
- necesidad de seguridad extra, tambien podras usar un accesorio
- especial del disco AMOS, el LOCK. Este te solicitara una contrase
- ña, con lo que podras asegurarte de que tus procedimientos no van
- a ser examinados desde Basic. Basta con resumir el procedimiento
- deseado y cargar el FOLD.ACC usando para ello LOAD OTHERS. Encon-
- traras mas informacion con la utilidad.
-
- La verdadera belleza de este sistema es que te permite crear
- grandes librerias de tus rutinas en disco, que podran ser carga-
- das en memoria como un programa separado (Ver LOAD OTHERS). Ahora
- podras entonces cortar la rutina que necesites y copiarla directa
- mente en tu programa principal. Asi que una vez que hayas escrito
- una rutina, podras grabarla y recuperarla para tus procedimientos
- una y otra vez.
-
- T09 24
- T06
- Cada vez que realizas un FOLD o UNFOLD se produce un chequeo
- de sintaxis de todo el programa. Si existiera algun error, no se
- podra ejecutar la operacion. Asi que es vital que tengas a buen
- recaudo (Backups) tus rutinas antes de realizar estas operaciones:
-
-
-
- T03 SYSTEM MENU:
- T06
- T06 LOAD (SHIFT+F1 /AMIGA+L) Carga un programa AMOS Basic
- SAVE (SHIFT+F2 /AMIGA+S) Graba un programa AMOS Basic
- SAVE AS (SHIFT+F3 /AMIGA+SHIFT+S) Graba un programa con
- otro nombre
- MERGE (SHIFT+F4) Introduce el programa elegido en la
- actual posicion del cursor si alterar
- el programa actual
- MERGE ASCII (SHIFT+F5) Lo mismo pero de una version ASCII
- ACCNEW/LOAD (SHIFT+F6) Introduce un nuevo accesorio del disco
- LOAD OTHERS (SHIFT+F7) Carga un accesorio del disco
- NEW OTHERS (SHIFT+F8) Borra accesorios de memoria
- NEW (SHIFT+F9) Borra el programa actual de memoria
- QUIT (SHIFT+F10) Salida al AMOS bajo control del CLI
-
-
-
- T03 BLOCKS MENU:
- T06
- T06 BLOCK START (CTRL+B / F1)
- Situa el punto de partida en el bloque actual
- BLOCK END (CTRL+E / F6)
- Define el final de un bloque
- BLOCK CUT (CTRL+C / F2)
- Extrae el bloque seleccionado de la memoria
- BLOCK PASTE (CTRL+P / F7)
- Introduce el bloque en la actual posicion del cursor
- BLOCK MOVE (CTRL+M / F3)
- Mueve el bloque hasta la actual posicion del cursor borrando
- completamente la version original
- BLOCK STORE (CTRL+S / F8)
- Copia el bloque en memoria
- BLOCK HIDE (CTRL+H / F4)
- Deselecciona el bloque sobreimpresionado
- BLOCK SAVE (CTRL+F9)
- Graba el actual bloque en un disco como un programa AMOS
- BLOCK ASCII (CTRL+F5)
- Almacena el bloque seleccionado en el disco como texto de un
- fichero normal
- BLOCK PRINT (CTRL+F10)
- Imprime el bloque seleccionado
-
- T09 25
- T03
- SEARCH MENU:
- T06
- FIND (ALT+F1)
- Introduce una cadena de mas de 32 caracteres y busca a traves
- del texto hasta encontrar una igual
- FIND NEXT (ALT+F2)
- Busca el proximo objeto que hayas especificado (cadena, coman-
- do, etc)
- FIND TOP (ALT+F3)
- Busca desde lo mas alto del programa una cadena justo hasta la
- posicion del cursor
- REPLACE (ALT+F4)
- * Antes de un FIND. Se te solicitara introduzcas la cadena que
- reemplazara al objeto
- * Despues de un FIND. Si la busqueda acabara con exito, el tex
- to y la actual posicion del cursor seran sustituidos por la
- cadena. Entonces REPLACE continuara buscando el proximo obje
- to.
- REPLACE ALL (ALT+F5)
- Replaza todas las copias de una palabra en tu programa
- LOW <> UP (ALT+F6)
- Cambia el grado de sensibilidad usado en los comandos de bus-
- queda
- OPEN ALL (ALT+F7)
- Abre todos los procedimientos cerrados en tu programa
- CLOSE ALL (ALT+F8)
- Cierra todos los procedimientos en tu programa
- SET TEXT B (ALT+F9)
- Set Text Buffer. Cambia el tipo de caracteres disponibles
- SET TAB (ALT+F10)
- Ubica el numero de caracteres que el cursor debe moverse cuan-
- do pulses la tecla TAB.
-
- 16- Keyboard MACROS
-
- =KEY$= (define un MACRO)
-
- KEY$(n)=command$
- command$=KEY$(n)
-
- KEY$ asigna el contenido de command$ a la funcion numerica n
- (1-20). Las teclas del 1 al 10 tienen acceso si se aprietan con-
- juntamente con la tecla AMIGA izquierda. De forma similar, los nu
- meros 11 en adelante se llaman mediante una combinacion Fn mas te
- cla AMIGA derecha.
- Command$ puede ser cualquier cadena de texto que desees, hasta
- un maximo de 20 caracteres. Existen 2 caracteres especiales que
- son directamente interpretados por esta funcion:
-
- T09 26
- T06
- (ALT+") Genera un codigo RETURN
- (") Encierra un comentario. Solo se ejecutara en tus lis-
- tados, siendo totalmente ignorado por la rutina MACRO
- Ejemplos:
-
- ? Key$(1)
- Key$(2)="Default"
- ALT+F2
-
- Key$(3)="'Comment print"
-
- En la practica, este sistema de MACROS puede ser increiblemen
- te util. No solo puedes aumentar la velocidad de procesamiento de
- todos tus programas en Basic, sino que ademas puedes definir una
- lista de las entradas (Inputs) mas habituales de tus programas en
- Basic. Serian extremadamente efectivas en un juego tipo conversa-
- cional.
- Si deseas generar una funcion de tecla que no posea un equiva
- lente ASCII como ocurre con la flecha arriba, podras opcionalmen-
- te incluir un codigo de SCAN (exploracion) en ese MACRO. Esto se
- logra usando la funcion SCAN$.
-
- =SCAN$ (ofrece un codigo de SCAN para usar con KEY$)
-
- x$=SCAN$(n,i,m¿)
-
- En donde n es el codigo SCAN de una tecla que se utiliza en
- uno de tus MACROS; m es una mascara opcional que establece una
- tecla especial como CTRL o ALT, con el siguiente formato:
-
- Bit Tecla pulsada
-
- 0 SHIFT izquierda
- 1 SHIFT derecha
- 2 Caps Lock
- 3 CTRL
- 4 ALT izquierda
- 5 ALT derecha
- 6 AMIGA izquierda
- 7 AMIGA derecha
-
- Si un bit esta puesto en 1, entonces el boton asociado esta
- pulsado en tu MACRO. Ejemplos:
-
- KEY$(4)="Wheee!"+SCAN$($4C)
- KEY$(5)="Page Up!"+SCAN$($4C,%00010000)
-
- T09 27
- T06
- 17- Conservando memoria
-
- T03 CLOSE WORKBENCH
- T06
- Cerrando la pantalla del WORKBENCH se ahorran alrededor de 40
- K de memoria para tus programas. Ejemplo:
-
- Print Chip Free,Fast Free
- Close Workbench
- Print Chip Free,Fast Free
-
- El comando CLOSE WORKBENCH puede ejecutarse desde el modo di-
- recto, o desde el interior de tus propios programas. Una tipica
- linea de programa puede ser:
-
- If Fast Free=0 then Close Workbench
-
- Con lo que chequeas la expansion de memoria, cerrando el WB
- en caso de que no dispongas de memoria extra.
-
- T03 CLOSE EDITOR
- T06
- Cerrar la ventana de edicion mientras ejecutas tus programas,
- puede ahorrar mas de 28K de memoria. Ademas, esto no produce abso
- lutamente ningun efecto sobre tus listados.
- Si no dispones de suficiente memoria para reabrir la ventan
- despues de que tu programa haya terminado, AMOS solamente borrara
- la pantalla actual y regresara a la pantalla habitual por defecto
- en tal caso, sin dificultad podras regresar al editor pulsando la
- tecla ESC.
-
-
- 18- Accesorios internos
- Ahora exploraremos las tecnicas generales necesarias para que
- escribas tus propios programas, como ya supondras ahora aparece-
- ran todas las instrucciones standards del Basic.
- Los accesorios se pueden ejecutar directamente junto con tus
- programas. Previamente hay que chequear el tipo y tamaño de la
- pantalla usando los comandos SCREEN HEIGHT, SCREEN WIDTH y SCREEN
- COLOUR, durante la fase de inicializacion. Si la pantalla actual
- no es aceptable, estaras obligado a abrir una nueva pantalla para
- la ventana del accesorio o borrar completamente la pantalla exis-
- tente con la instruccion DEFAULT.
- Cualquier banco de memoria usado por el accesorio es totalmen
- te independiente de tu programa. Si fuera preciso cambiar el ban-
- co de tu programa actual, lo puedes hacer con el comando especial
- BGRAB.
-
- BGRAB b (toma un banco reservado para el programa principal)
-
- BGRAB toma prestado un banco del programa actual copiando en
- el mismo banco del accesorio. Si existe ya un banco del accesorio
- el banco que acabas de tomar regresara automaticamente al progra
- ma principal sin cambios. b es el numero del banco (1 al 16).
-
- T09 28
- T06
- Ten en cuenta que esta instruccion solo puede ser ejecutada
- como parte de un accesorio, ya que si la intentas incluir en un
- programa normal, obtendras el correspondiente mensaje de error.
-
- PRUN (ejecuta un programa desde memoria)
-
- PRUN "name"
-
- Ejecuta un programa Basic que ha sido previamente instalado
- en la memoria del AMIGA. Este comando puede ser usado desde el
- Modo Directo, o dentro de un programa. En efecto!! PRUN es muy
- parecido al procedimiento standard de ejecucion, solo que bobs,
- sprites y musica quedan totalmente abolidos.
-
- Advierte que no es posible llamar dos veces al mismo programa
- en la misma sesion. Una vez que lo hayas llamado, cualquier otro
- intento sera ignorado completamente.
-
- =PRG FIRST$ (lee el primer programa cargado en memoria)
-
- p$=PRG FIRST$
-
- Con esta orden obtenemos el nombre el primer programa basic
- que ha sido instalado en la memoria. Se utiliza con conjuncion
- con el comando PRG NEXT$ para crear un listado completo de todos
- los programas disponibles.
-
- =PRG NEXT$ (Salta al proximo programa instalado en memoria)
-
- p$=PRG NEXT$
-
- Este comando se usa despues del anterior para ir avanzando a
- traves de todos los programas instalados en la memoria del AMIGA.
- Cuando alcanzamos el final de la lista, sabremos el numero de pro
- gramas con la siguiente funcion:
-
- N$=PRG First$
- While N$<>""
- Print "Program" ";N$
- N$=PRG Next$
- Wend
-
- =PSEL$ (llama al selector de programas)
-
- n$=PSEL$("filter"¡default$;title1$;title2$¿
-
- PSEL$ llama al selector de programas que es del todo identico
- al usado para los comandos RUN OTHER, EDIT OTHER, LOAD OTHERS y
- NEW OTHERS. Se utiliza para la seleccion de un programa de la
- forma ya usual. El nombre del programa seleccionado vendra en la
- funcion n$. En caso de que el usuario aborte la seleccion n$ toma
- ra el valor "".
-
- T09 29
- T06
- "Filter" establece el tipo de programas que sera listado por
- esta instruccion. Los valores habituales son:
-
- "*.ACC" Lista todos los accesorios en memoria
- "*.AMOS" Solo muestra los programas AMOS que han sido instala
- dos en memoria
- "*.*" Lista todos los programas instalados en memoria
-
- Para mas detalles del sistema ver el comando DIR.
- Default$, establece el nombre del programa usado por defecto
- Title1$,title2$, contiene unas lineas de texto que seran
- mostradas en la parte superior del selector
-
- 19- El accesorio HELP
- Cada vez que la tecla HELP es pulsada desde la ventana de edi
- cion, AMOS automaticamente ejecuta un accesorio con el nombre de
- HELP.ACC si esta disponible. A diferencia de los otros accesorios
- este se ejecuta directamente sobre la ventana de edicion. Tiene
- un acceso especial a la palabra que estes editando en ese momento
- La direccion de esta palabra se coloca en un registro y puede ser
- leida usando la funcion AREG.
-
- 20- Las teclas de control del Editor
- Finalmente he aqui un listado completo de las teclas de con-
- trol y sus efectos:
-
- Teclas especiales:
- ESC Te lleva al Modo Directo
-
- Teclas de edicion:
- Backspace Borra el caracter a la izquierda del cursor
- DEL Borra el caracter debajo del cursor
- RETURN Ejecuta la actual linea. Si lo pulsas con el
- cursor en la mitad de la linea, la partiras.
- SHIFT+BACKSPACE o CTRL+Y Borra la linea actual
- CTRL+U Undo. Regresa a la ultima linea (Modo overwrite)
- CTRL+Q Borra todos los caracteres de la linea desde la
- posicion del cursor
- CTRL+I Inserta una linea en la actual posicion
-
- Flechas del cursor:
- IZQ, DCH Mueve el cursor un espacio IZQ/DCH
- ARR, ABA Mueve el cursor una linea ARR/ABA
- SHIFT+ IZQ/DCH Coloca el cursor sobre previa/proxima palabra
- SHIFT+ ARR/ABA Coloca el cursor en la primera/ultima linea
- CTRL+ ARR/ABA Muestra la previa/proxima pagina del programa
- SHIFT+CTRL+ARR/ABA Mueve al principio/final del texto
- AMIGA+ARR Produce scroll hacia arriba sin mover el cursor
- AMIGA+ABA Similar, pero hacia abajo
- AMIGA+ IZQ/DCH Similar, pero hacia IZQ/DCH
-
- T09 30
- T06
- Control del programa:
-
- AMIGA+S Graba tu programa con el nombre actual
- AMIGA+SHIFT+S Graba tu programa con un nuevo nombre
- AMIGA+L Carga un programa
- AMIGA+P Coloca un programa en memoria y crea uno nuevo
- AMIGA+F Alterna entre dos programas almacenados en memo
- AMIGA+T Muestra el siguiente programa en memoria
-
-
- Cut & Paste:
-
- CTRL+B Situa el inicio de un bloque
- CTRL+E Situa el final de un bloque
- CTRL+C Corta un bloque
- CTRL+M Mueve un bloque
- CTRL+S Salva un bloque en memoria sin borrarlo primero
- CTRL+P Inserta un bloque en la actual posicion cursor
- CTRL+H Sobreimpresiona un bloque
-
-
- Marcas:
-
- CTRL+SHIFT+(0-9) Define un marcador en la posicion del cursor
- CTRL+(0-9) Salta hasta el marcador
-
-
- Search/replace:
-
- ALT+ARR Busca hacia atras de tu programa la primera linea
- que contenga una etiqueta o una determinada defi-
- nicion
- ALT+ABA Busca hacia delante de tu programa lo mismo
- CTRL+F Funcion FIND
- CTRL+N Funcion FIND NEXT
- CTRL+R Funcion REPLACE
-
-
- Tabuladores:
-
- TAB Mueve toda la linea desde el cursor hasta la pro-
- xima posicion de tabulacion
- SHIFT+TAB Mueve la linea a la posicion previa de tabulacion
- CTRL+TAB Adjudica un valor a TAB
-