ZX Format #07: Guía Completa de Comandos BB

Comandos BB.  
(Fin)

música de MIDISOFT
(C)D.Rudovski
_______________________________

En este artículo concluiré la descripción de BB y daré algunos consejos sobre su uso. El sistema operativo Spectrum tiene su propio reloj interno, es decir, una variable que almacena la cantidad de quincuagésimas partes de segundo (interrupciones) que han pasado desde que se encendió la computadora. Los creadores de BB decidieron utilizar esta posibilidad para organizar un reloj en el programa. El comando CLOCK "cadena" - permite establecer el valor actual del tiempo, así como establecer una alarma. Para establecer la alarma, el primer símbolo en la cadena debe ser el símbolo A (alarma - despertar). La cadena debe ser ingresada en el formato: "hh:mm:ss", para la alarma no se especifican los segundos. Para utilizar las capacidades de la alarma se ha introducido un formato adicional: CLOCK n, donde:

n=0 - no mostrar lecturas, desactivar la alarma;
n=1 - mostrar la hora en la esquina superior de la pantalla, desactivar la alarma;
n=2 - no mostrar la hora, emitir una señal sonora por la alarma;
n=3 - mostrar la hora y emitir una señal sonora por la alarma;
n=4 - no mostrar la hora, al sonar la alarma pasar a la línea;
n=5 - similar a n=4 con la hora mostrada en pantalla;
n=6 - similar a n=4 con emisión de señal sonora antes de pasar;
n=7 - n=5 y n=6 juntos;
n=8..9999 - establecer el número de la línea a la que se pasará al sonar la alarma.

Ejemplo:
10 PRINT " 346*789=? "
20 CLOCK "00:00:00": CLOCK "A00:01"
30 CLOCK 1000: CLOCK 7
F 40 INPUT X
50 IF X=346*789 THEN PRINT "¡Muy Bien!" ELSE "¡Mal resultado!": GO TO 40
F 60 CLOCK 0
70 STOP
F1000 CLOCK 0
1010 PRINT "¡No hay más tiempo!"
1020 STOP

Explicaciones:
En la línea 20 establecemos el reloj del sistema en 0, y fijamos la alarma en 1 minuto. En la línea 30 establecemos la línea de transición y el modo de funcionamiento del reloj (ver arriba). Luego solicitamos la entrada de un número y si el resultado es correcto, y ha pasado menos de un minuto, obtendremos la frase "¡Muy Bien!", el reloj se pondrá en estado pasivo (línea 60) y el programa se detendrá. Si el resultado es incorrecto, pero aún hay tiempo, con la emisión del mensaje correspondiente se volverá a la línea 40. Si el tiempo se agota, independientemente del resultado, se emitirá una señal sonora y se pasará a la línea 1000. ¡ATENCIÓN! La transición por alarma ocurre solo después de completar toda la línea actual. Además, este modo no funciona durante la edición de texto.

El comando SORT se utiliza para ordenar arreglos y cadenas de caracteres. Su formato:
SORT [INVERSE] var, donde:

INVERSE - parámetro opcional que indica la condición de ordenación, es decir, si está presente, la ordenación se realizará en orden descendente, de lo contrario, en orden ascendente;
var - nombre del arreglo o cadena.
La ordenación se realiza para arreglos de caracteres por el primer carácter por defecto. Para ordenar por otro carácter se utiliza la construcción: SORT S$() (N TO), donde:

S$ - arreglo de caracteres;
N - número del carácter por el cual se realizará la ordenación.
Para ordenar una parte del arreglo se utiliza:
SORT S$(N TO M), donde:
N,M - límites de la ordenación.

Ejemplo:
10 DIM a$(100,10)
20 FOR I=1 TO 100
30 FOR J=1 TO 10
40 LET A$(I,J)= CHR$(RND*25+65)
50 NEXT J: PRINT A$(I)
60 NEXT I
70 PRINT "Ordenando por 1er carácter:"
80 SORT A$
90 FOR I=1 TO 100
100 PRINT A$(I)
110 NEXT I
120 PRINT "Ordenando por 2do carácter:"
130 SORT A$()(2 TO)
140 FOR I=1 TO 100
150 PRINT A$(I)
160 NEXT I
170 STOP

Con esto concluiré la descripción de los comandos BB, presentando al final una referencia sobre la correspondencia de teclas y comandos (todos los comandos se ingresan en modo de pseudográfico):

[A] - ALTER [6] - AUTO
[C] - CLOCK [1] - DEF KEY
[1] - DEF PROC [7] - DELETE
[D] - DO [P] - DPOKE
[0] - EDIT [E] - ELSE
[3] - END PROC [I] - EXIT IF
[F] - FILL [G] - GET
[CS]+[6] - JOIN [CS]+[6] - KEYIN
[8] - KEYWORDS 0 [9] - KEYWORDS 1
[L] - LOOP [O] - ON
[N] - ON ERROR [Q] - POP
[2] - PROC [9] - RENUM
[R] - ROLL [S] - SCROLL
[M] - SORT [T] - TRACE
[P] - USING

Funciones BB.
Además de los comandos adicionales, BB ofrece varias nuevas funciones, que se introducen de la misma manera que las funciones definidas por el usuario, pero son percibidas por BB como internas. Todas las funciones se pueden dividir condicionalmente en tres grupos: lógicas, matemáticas y otras.

Las funciones lógicas incluyen:
AND(n,m) [FN A(] - lógico Y;
OR(n,m) [FN O(] - lógico O;
XOR(n,m) [FN X(] - O exclusivo.

Las funciones matemáticas incluyen:

a) Funciones de conversión de formatos:
BIN$(n) [FN B(] - conversión de un número decimal a una cadena binaria;
DEC(cadena) [FN D(] - conversión de una cadena que contiene un número hexadecimal a decimal.
HEX$(n) [FN H(] - conversión de un número decimal a una cadena hexadecimal;
USING$(formato, número) [FN U$(] - representación con signo de un número en el formato especificado.

b) Funciones estándar ampliadas:
COSE(n) [FN C(] - una versión más rápida y más grosera de cos;
SINE(n) [FN S(] - análogo para sin;
DPEEK(n) [FN P(] - análogamente: 256*PEEK(N+1)+PEEK(N);
RNDM(n) [FN R(] - análogamente: n*RND.

Otras funciones incluyen funciones para determinar la cantidad de memoria, el contenido de la pantalla, etc.

CHAR$(n) [FN C$(] - conversión de un número en el rango de 0-65535 a una cadena equivalente de dos caracteres;
FILLED() [FN F(] - número de elementos de imagen llenos por el último comando FILL;
INSTRING(n,cad1,cad2) [FN I(] - devuelve la posición del primer carácter de la cadena 2 al examinar la cadena 1, comenzando desde la posición inicial especificada. Si la cadena 2 no está dentro de la cadena 1, devuelve 0.
MEM() [FN M(] - devuelve la cantidad de memoria libre;
MEMORY$() [FN M$(] - devuelve el valor de toda la memoria de 0 a 65535 interpretada como una sola cadena;
MOD(n1,n2) [FN V(] - devuelve el resto de la división de n1 entre n2;
NUMBER(cadena) [FN N(] - conversión de una cadena de dos caracteres a un número de dos bytes, donde cada byte contiene un número correspondiente al código ASCII especificado;
SCRN$(y,x) [FN K$(] - devuelve el carácter en la pantalla en la posición especificada;
STRING$(n,cadena) [FN S$(] - repite la cadena un número especificado de veces;
TIME$() [FN T$(] - devuelve una cadena que contiene la hora actual.

Particularidades de la programación en BB.

Ampliando las capacidades del BASIC estándar, BB también cambia los métodos de programación, por lo que al trabajar en el entorno BB es recomendable tener en cuenta los siguientes puntos:
1) Como resultado del cambio en la acción del operador FOR...NEXT, su velocidad de ejecución aumenta significativamente al trabajar con números enteros en el rango de 0..65535, por lo tanto, trate de utilizar bucles enteros.
2) Como resultado de la aparición de procedimientos y las variables locales asociadas, se ha hecho posible ahorrar significativamente memoria a través de la localización de variables. Esto también le permite avanzar hacia el concepto de estructuración del programa.
3) La posibilidad de salida formateada y la introducción de una interfaz de ventanas permite organizar la salida de la información necesaria en la pantalla.
4) El comando de ordenación permite utilizar BB de manera más eficiente al organizar bases de datos.

_______________________________

Contenido de la publicación: ZX Format #07

  • De los Autores
    Actualización sobre SMUC, problemas de distribución y planes para futuras ediciones de ZX Format. Los autores abordan la información obsoleta de SMUC y problemas de distribución de ZF-6. El contenido próximo incluye descripciones de juegos y nuevos proyectos.
  • Аторы журнала
    Información de contacto y detalles del equipo editorial para ZX-Format No.7. Proporciona direcciones postales y electrónicas, así como números de teléfono de contacto. Información sobre la disponibilidad de su sitio web e instrucciones específicas de contacto.
  • Содержание номера
    El artículo ofrece una visión general de los lanzamientos de software destacados en el mercado de San Petersburgo para el otoño. También incluye descripciones detalladas de juegos, consejos de programación y proyectos de hardware. Entrevistas, cuentos filosóficos y cartas de lectores enriquecen la edición.
  • Игрушки - Welcome
    Un resumen de novedades de software para ZX Spectrum, incluyendo juegos como 'Los Angeles Drugs Bust' y 'Jungle Warfare'. Cada descripción de juego proporciona información sobre gráficos, jugabilidad y características. Se cubren diversos géneros desde acción hasta estrategia, mostrando la diversidad de ofertas de software.
  • Игрушки - Алешкин А.В.
    El artículo describe el juego 'TAI-PAN' como un juego arcade-económico ambientado en el Este del siglo XIX, centrándose en el comercio y la supervivencia entre piratas y peligros. Detalla la mecánica del juego, como el comercio de bienes, la gestión de finanzas y la navegación en mares con diferentes barcos. A pesar de su intrigante trama e interfaz, el juego no logró mucha popularidad en Rusia.
  • Игрушки - Soft
    Una narración caprichosa en un mundo fantástico donde los colores conversan con el Último, un personaje que relata historias de antiguos humanos, programadores y un pasado misterioso. La historia explora temas de lenguaje, traducción y la creación de 'el Último' entre seres fantásticos como hipopótamos voladores y jirafas marinas. Sirve como una narrativa ficticia con elementos humorísticos, mezclando ciencia ficción con sátira.
  • Игрушки - Alex ASP
    Se explora una parodia de 'El Señor de los Anillos' de Tolkien llamada 'Bored of the Rings' por Delta 4. El texto hace referencia a adaptaciones, aventuras humorísticas de personajes como Fordo y Bimbo y diferentes versiones de Delta 4 a lo largo de los años. Se mencionan precuelas anticipadas y extractos de correspondencia con Fergus McNeill de Delta 4.
  • Игрушки - Гил-Гелад
    El artículo ofrece una guía detallada sobre cómo navegar por la interfaz del 3D Construction Kit para ZX Spectrum. Explica las opciones del menú para la gestión de archivos, configuración del juego y condiciones dentro del juego. Además, cubre la creación de objetos, edición e implementación lógica dentro del programa.
  • Программистам - Дмитрий Рудовский
    El artículo concluye la descripción de los comandos BB y ofrece consejos sobre su uso. Detalla el uso del comando CLOCK para la gestión de tiempo y alarmas en ZX Spectrum. Además, explica el comando SORT para ordenar matrices e introduce nuevas funciones lógicas y matemáticas.
  • Программистам - Angel
    Introducción a la programación en ensamblador para principiantes, cubriendo conceptos básicos y comandos. Explicación detallada de registros y banderas del procesador, con ejemplos. Ofrece consejos prácticos para la transición de Basic a ensamblador.
  • Программистам - GreenFort
    Discusión sobre cálculos rápidos en ensamblador para tareas como gráficos vectoriales y astronomía. Describe procedimientos para división y multiplicación binaria, con ejemplos para diferentes tamaños de bytes. Destaca la adaptabilidad de estos métodos para aumentar la precisión.
  • Программистам - TP, Stinger
    Descripción técnica detallada del formato de archivo Mod para composición musical en ZX Spectrum, centrándose en la estructura y los desplazamientos de datos para título, instrumentos y patrones.
  • Программистам - Research
    El artículo describe las capacidades y limitaciones del programa Convert, centrado en su uso para convertir imágenes al formato BMC. Incluye detalles técnicos sobre las funciones del programa, como métodos de tramado, salida en formato de sprite y pantalla, y la eliminación de puntos superfluos. Además, se discute brevemente el código fuente de X-Color y sus posibles aplicaciones.
  • Обзор
    El artículo trata sobre la demo-party ENLiGHT'97 celebrada en San Petersburgo el 24 de agosto de 1997, con plataformas como Spectrum, Amiga y PC. El evento atrajo a alrededor de 1100 delegados, lo que provocó aglomeraciones e inconvenientes técnicos, lo que causó la cancelación del segundo día. A pesar de estos problemas, el evento fue en general agradable, y se espera que haya otro evento en 1998.
  • Обзор
    Reseña de la exposición VideoFAIR en Manezh con lo más destacado en equipos de video y audio. Amiga-service y diversas empresas presentaron sus avances tecnológicos en sistemas de edición de video y transmisión. Innovaciones notables incluyen pantallas 3D escaneadas con láser y soluciones de audio profesionales.
  • Железо - Nemo
    Discusión sobre la exportación de tecnología KAY para descentralizar la producción de Spectrum. Resalta beneficios y desafíos potenciales de la fabricación local. Enfatiza la garantía de calidad y los sistemas de soporte.
  • Железо
    El artículo describe el desarrollo de una nueva placa base Scorpion, centrándose en mejorar gráficos, velocidad y compatibilidad con periféricos modernos como teclados y ratones IBM. Presenta la placa GMX (Extensión de Memoria Gráfica), diseñada para actualizar los modelos existentes de Scorpion a las capacidades de la nueva placa base. La placa GMX ofrece mejoras significativas en memoria, gráficos y velocidad de procesamiento, manteniendo la compatibilidad con los estándares ZX Spectrum y Pentagon.
  • Железо
    El artículo ofrece una visión detallada de dos amplificadores de audio populares para usuarios de ZX Spectrum en San Petersburgo. Destaca las ventajas y especificaciones del amplificador de bajo voltaje de 2 X 2W y el amplificador para coche de 2 X 22W. El artículo también incluye una lista de precios e instrucciones de pedido a través de la empresa 'Nemo'.
  • Примьера
    El artículo describe las mejoras y características de la versión 1.1 de Turbo Assembler para ZX Spectrum. Destaca las diferencias con la versión 1.0, como correcciones de errores, cambios en el tamaño de la pantalla y características añadidas como editor de líneas y verificación de sintaxis. También detalla la asignación de memoria y proporciona una guía sobre el uso de las funciones del editor y del compilador.
  • Примьера - STS
    Descripción del editor Riff Tracker MOD para General Sound, sus características y funcionalidades. Proporciona instrucciones detalladas sobre el uso de la edición y gestión de muestras. Notas sobre las limitaciones de la versión actual y las mejoras esperadas.
  • Примьера - Paul Atrides, Alex Noman
    Presentación del Oberon Creative Pack, compuesto por ZX-WinWord y Sprite Cutter. ZX-WinWord es un editor de texto que combina texto y gráficos con funciones avanzadas. Sprite Cutter permite la creación y manipulación de sprites en varios formatos.
  • Примьера
    Presentación de la segunda versión demo del juego Headball por ZX-Masters, discutiendo sus características y mejoras desde la primera demo. El juego ofrece modo para dos jugadores, cuatro niveles, tres tipos de proyectiles, varias opciones y configuraciones de dificultad para el ordenador. La disponibilidad del modo Turbo y una mejor sincronización y animación lo hacen único entre otros juegos de Spectrum.
  • Интервью - Ruster
    Entrevista con Digital Reality sobre proyectos en curso como DOOM y Paradise Lost. Discusión de desafíos y progreso en el desarrollo de juegos. Vista previa de sus presentaciones para el evento ENLiGHT.
  • Интервью - Ruster
    Entrevista con miembros del recién formado grupo EXTREME. Trabajan en demos para plataformas Spectrum y Amiga y discuten sobre sus miembros y actividades. La entrevista también aborda el estado de la escena Amiga en Moscú.
  • Интервью - Борис Прытков
    Entrevista con entusiastas de Spectrum de Samara sobre sus logros y desafíos. Enfoque en la construcción de comunidad y publicación de la revista Oberon. Esfuerzos para establecer una red Spectrum y convertir el juego WALKER.
  • Интервью - Борис Прытков
    El artículo es una entrevista con miembros del grupo Flash inc. discutiendo sus proyectos para ZX Spectrum y PC, incluyendo un editor de música con una interfaz innovadora y un nuevo editor gráfico multicolor.
  • Интервью - Михаил Акимов
    Entrevista con el grupo Progress de Moscú, discutiendo su trabajo actual en demos de Spectrum, planes para futuros proyectos en Amiga y opiniones sobre la demoscene rusa.
  • Интервью - Михаил Акимов
    Entrevista con Felix sobre los cambios en el panorama tecnológico, el atractivo duradero de Amiga a pesar del dominio de PC, y su trabajo en 'Winnie the Pooh - 2' para Spectrum.
  • Интервью - Ruster
    Entrevista con Slash sobre el evento ENLiGHT, incluyendo problemas de patrocinio, comportamiento de los asistentes y la calidad de la música y demos. Discusión del estado actual de los mercados de Spectrum y Amiga. Comentarios sobre los rastreadores de música y el futuro del desarrollo de hardware.
  • Интервью - Ruster
    Entrevista con V. Mednonogov después de ENLiGHT'97, discutiendo impresiones del evento, el futuro del Spectrum y su proyecto actual 'Cuervo Negro'. Mednonogov comparte sus opiniones sobre nuevo hardware y desarrollo de software y la importancia del copyright. También discute sus planes para proyectos futuros y los desafíos enfrentados en el desarrollo de juegos.
  • Здесь был ты
    Una guía satírica para obtener poder e invisibilidad usando rituales mágicos y chicle Orbit.
  • Здесь был ты - Saggitarius
    Una novela contemplativa sobre el viaje existencial de un hombre tras encontrarse con un individuo misterioso que ofrece un dispositivo llamado Stop Crane. A través de recuerdos, el protagonista reflexiona sobre su vida, singularidad y su deseo de liberarse de las restricciones sociales. Finalmente, enfrenta el dilema moral de usar el Stop Crane para trascender el tiempo y la existencia.
  • Почта - Eagle Soft
    Crítica del software ZX-Spectrum, destacando las limitaciones de los programas actuales y recomendando la eliminación de herramientas obsoletas. Discusión sobre las limitaciones de los programas de ensamblado y la necesidad de ensambladores más eficientes como el M80. Evaluación de los editores de música y gráficos actuales, con un enfoque en la redundancia de ciertas aplicaciones.
  • Почта
    Discusión sobre consultas de lectores sobre la distribución y el contenido de ZX Format. Las respuestas incluyen detalles sobre la adquisición de ejemplares y conocimientos técnicos sobre el ordenador KAY-256. La revista también aborda críticas a su artículo sobre perspectivas de mercado.
  • Почта
    Este anuncio destaca la campaña de distribución de software de XL Design Inc., ofreciendo juegos como 'Plutonia' y próximos lanzamientos como 'Mortal Kombat'. Se promueven controladores de ratón con puntos de venta humorísticos y detalles de precios. La empresa LOGROS ofrece una amplia gama de software y periféricos, con opciones para compras locales y remotas.
  • Разное - Александр Сысоев
    El artículo trata sobre la creación de un juego de rol por el grupo OBERON, inspirado en 'Eye of Beholder'. Se describe la trama humorística del juego ambientada en una galaxia lejana y la batalla contra invasores en un planeta llamado Agima. El equipo invita a músicos, artistas, programadores y guionistas para colaborar.
  • Разное - Viator
    El artículo describe el desarrollo de un nuevo editor gráfico llamado STATE OF THE ART para ZX Spectrum, con el objetivo de mejorar los editores existentes como ART-STUDIO y ARTIST-2. El equipo AVALON, inspirado en los comentarios de la comunidad de artistas de SPECCY, incorpora características de editores en Amiga y PC, al mismo tiempo que aborda solicitudes específicas de los usuarios. Las características clave incluyen una interfaz amigable, un modo de aumento mejorado, manipulación avanzada de formas y ventanas, y rendimiento optimizado.
  • Разное
    Discusión sobre mejorar la calidad del consumidor de las computadoras Spectrum sin alterar sus especificaciones técnicas. Se sugieren mejorar el soporte existente, desarrollar una ideología de plataforma y cambios estructurales. El artículo también aborda el potencial de los libros electrónicos y su viabilidad comercial.
  • Amiga Club - Максим Петров
    El artículo describe la admiración del autor por el ordenador Amiga, destacando sus méritos estéticos y técnicos en comparación con otras plataformas. Explora las experiencias del autor en programación en Amiga, destacando su eficiencia y las impresionantes capacidades de sus nuevas actualizaciones de hardware. El artículo concluye reflexionando sobre la comunidad única y la pasión de los entusiastas de Amiga.