Historia y evolución del Casio PocketPC BASIC.

Este artículo está dedicado a la historia y evolución del "Casio PocketPC BASIC", específico de las calculadoras que Casio fabricó en algunos casos bajo la denominación de "Personal Computer", y en otras como "Programmable Calculator"; aunque la máquina fuera prácticamente la misma. Son máquinas de formato apaisado, con teclado alfanumérico QWERTY completo, además de un teclado numérico lateral para facilitar la introducción de números o el mero cálculo. Estas versiones de BASIC desde su nacimiento eran bastantes completas. Aunque al principio las pantallas no eran gráficas, mostrando sólo unos pocos caracteres alfanuméricos -inicialmente sólo 12-, con el tiempo empezaron a aparecer algunas pantallas gráficas que al utilizar comandos para la representación gráfica, las convirtieron en potentes herramientas para los profesionales de la época.

Bajo la misma arquitectura, Casio desarrollaba varias máquinas con escasas diferencias, muchas de ellas cosméticas o de mero cambio de nombre, quizás por motivos de mercadotecnia para atraer a público de diferentes sectores y vender más. Así, se puede ver como la PB-100 es la misma máquina que la FX-700P. La primera estaba calificada como Ordenador Personal (Personal Computer), y la segunda como Calculadora Programable (Programmable Calculator), como reza en sus respectivos frontales. Esa era la diferencia en la denominación PB o FX-xxxP. A las máquinas FX se les añadía una tecla, al lado de la típica SHIFT blanca con una S en rojo que también era blanca con una F en azul para tener accedo más directo y rápido a las funciones matemáticas, escritas normalmente debajo de cada tecla alfanumérica en azul; aunque esas mismas funciones también estaban disponibles en las PB simplemente escribiéndolas. Otras máquinas que incorporaban una pequeña impresora eran asimismo otra versión, como la PB-300. Para rizar el rizo, también hubo disponible la versión FX con impresora incorporada, como la FX-802P. Igualmente, el llevar incorporada la expansión de memoria, en vez de ser opcional, generaba otra máquina diferente en algunas ocasiones.
Otro caso es el de la PB-80, una PB-110 en miniatura, con banco de datos, teclado de membranas sin puerto de expansión, que tenía la misma versión BASIC incorporando hasta el sonido BEEP, pero lógicamente sin ninguno de los comandos necesarios para gobernar los periféricos (CASSETTE e impresora).

Hay que decir que estas máquinas y su potente versión de BASIC se adelantan en el tiempo a 1981, mientras que las programables no Pocket PC tardarán en empezar a salir al mercado hasta 1985. Igualmente decir, que no fueron las primeras programables, ya que en esa época ya existía la serie de la FX-201P (1976) o posteriormente la serie FX-501P (1978); pero estas tempranas calculadoras no disponían de una versión BASIC tan potente, ni eran tan sencillas de programar como las Pocket PC.

Este lenguaje de programación no debe confundirse con el denominado "Casio BASIC" que era el que implementaban otras calculadoras científicas y gráficas de Casio, normalmente bastante menos potente, al menos en sus inicios. Las máquinas que tenían esa línea de "Casio BASIC" nacieron con la FX-4000P -científica- y lo incorporaron muchas otras como la FC-200, FC-1000 -financieras-, y todas las gráficas como la FX-7000G y sus sucesoras llegando hasta las mismas CLASSPAD. A ese desarrollo específico de versión "Casio BASIC" le hemos dedicado otro artículo que el lector podrá encontrar pulsando el siguiente enlace: Casio BASIC.

Tras este breve resumen de lo que es el "Casio Pocket BASIC", pasemos a ver su historia, a través de las mejoras que se fueron introduciendo en las sucesivos "ordenadores de bolsillo" de Casio.

Nacimiento. Casio FX-702P.
La calculadora Casio FX-702P es la primera calculadora programable que introduce el Casio PocketPC BASIC. Es una máquina difícil de describir ya que normalmente la primera siempre es de inferiores prestaciones, pero la FX-702P tiene una potente pantalla de 20 caracteres alfanuméricos, contra los tristes 12 de las siguientes, una potente librería de funciones matemáticas y unos nada despreciables 1680 Bytes disponibles para la programación del usuario. Las siguientes máquinas sólo disponían de 544 Bytes en sus versiones más básicas. Por tanto, Casio apostó fuerte en esta primera PocketPC, sacando un producto de calidad, tanto en la construcción, como en el firmware.
  • Se pueden introducir 10 programas en 10 áreas de programas, numeradas de P0 a P10 (típico sistema Casio).
  • Esta primera versión de "Casio PocketPC BASIC" ya es bastante potente. Contiene la mayoría de los comandos estándar del BASIC, lo que hace una implementación potente desde su mismo inicio.
  • Los programas se introducen con la clásica estructura a través de sucesivas líneas numeradas. Los números de línea sirven de referencia para los saltos y subrutinas. Es posible realizar saltos y bucles dentro del programa, así como crear subrutinas mediante GSB y RTN.
  • A pesar de ser bastante estándar, ciertos comandos BASIC se escriben con nemónicos reducidos: PRT (PRINT), GSB (GOSUB), RTN (RETURN), INP (INPUT), etc. A pesar de ello, su funcionamiento es el estándar. Dispone de un teclado ordenado por orden alfabético nada cómodo, que en nada afecta al BASIC.
  • Dispone de los operadores aritméticos (+,-,/ y *) y lógicos (>, <, =, ≤, ≥ y ≠) normales, propios de una completa versión BASIC.
  • Se pueden utilizar en programación las funciones matemáticas propias de una calculadora científica. A este respecto decir, que particularmente esta máquina tiene un muy amplio catálogo de funciones aritméticas, científicas y estadísticas que la potencian bastante.
  • Dispone de comandos para imprimir en una impresora auxiliar, grabar en una cinta de cassette, y proteger mediante clave los programas.
  • Implementa subrutinas mediante saltos entre áreas de programa con el comando GOTO # y número de área de programa.
  • Ejecuta acciones condicionales gracias al comando IF. Seguido de THEN para saltar a un número de línea o área de programa, o de ";" para ejecutar otro comando.
  • Dispone de 26 variables, nombradas de la A a la Z, que pueden ser utilizadas como una matriz unidimensional A[n] o incluso bidimensionales utilizando también B[n]. Se puede ampliar el número de variables mediante el comando DEFM hasta un máximo de 226, consumiendo 8 bytes de programa por cada variable ampliada.
  • Dispone de cambio de sistema de medición de ángulos Rad, Deg, Gra, en modo de ejecución y en el modo programa con el comando MODE.
  • Puede imprimir textos en pantalla, mediante su delimitación entre comillas. "TEXTO", "X=", "INTRODUZCA COSTE=".
  • Comandos BASIC: INP, KEY, PRT, DMS, IF-THEN, GOTO, FOR-NEXT (STEP), GSB, RET, WAIT, STAT, DEL, SAC, MODE, SET, STOP, END, SAVE (ALL), LOAD (ALL), GET, PU, VER, PASS, RUN, LIST (V)(ALL), CLR (ALL), VAC, LEN, MID, CSR.

Serie Casio PB-100. (PB-100, FX-700P, FX-710P, FX-802P, PB-300....)
A pesar de no ser las primeras Pocket PC, con esta serie PB-100 y con la siguiente, la PB-110, se popularizan entre el público general este tipo de calculadoras programables, y con una verdadera explosión inundan los mercados de todo el mundo. Ambas series son coetáneas en el tiempo (1982 al 85 aprox., aunque hay modelos posteriores). No afecta a la potencia de la versión BASIC, pero por fabricación la serie PB-100 tiene un rendimiento superior a la serie PB-110. La supera en potencia de cálculo y presentación de datos siendo entre un 5 y un 30% más rápida. Supera en un 100-150% a la serie FX-702P.
  • Obviamente arrastra todas las características del BASIC de la FX-702P y su sistema de almacenamiento, introducción de programas, impresión, grabación en CASSETTE, sistema de medición de ángulos, etc.
  • Ya tiene los comandos estándar con tipografía completa: PRINT, GOSUB, RETURN, CLEAR, e INPUT. Los teclados son QWERTY.
  • Se pueden utilizar en programación las funciones matemáticas propias de una calculadora científica. El catálogo es relativamente completo, aunque no tan extenso como la FX-702P.
  • Ejecuta acciones condicionales como la FX-702P con el comando IF. Seguido de THEN para saltar a un número de línea o área de programa, o de ";" para ejecutar otro comando.
  • Dispone de 26 variables, nombradas de la A a la Z, que pueden ser utilizadas sólo como una matriz unidimensional A[n]. Se puede ampliar el número de variables mediante el comando DEFM hasta un máximo de 94 (222 con módulo de expansión), consumiendo 8 bytes de programa por cada variable ampliada.
  • Comandos BASIC adicionales: Únicamente VAL.
    Expande la tipografía de los comando PRINT, GOSUB, RETURN, CLEAR, e INPUT.
    No tiene los comandos WAIT, STAT, DEL, SAC, PASS, LIST V[sí LIST(A)] de la FX-702P.

Serie Casio PB-110. (PB-80, PB-100F, PB-110....) y Serie Casio PB-410. (PB-410, PB-410F, FX-720P, FX-720PF....)
Como hemos comentado, estas dos series son coetáneas de la serie PB-100. La arquitectura y electrónica de todas las series es la misma, pero éstas dos son un poco más lentas, aunque incorporan mejoras en algunas de las máquinas, como el banco de datos gestionable también a través de BASIC, no sólo por el teclado, y comandos adicionales que hacen que sea una versión algo más potente. La diferencia de la serie PB-410 es que estas máquinas tienen la memoria RAM en tarjetas extraibles, no en el interior de la máquina. Con tarjetas de 4KB le dejan al usuario unos 3,5KBs libres, bastante más que lo disponible en la serie PB-110. Por lo demás no existe ninguna diferencia en cuanto a la versión BASIC se refiere. Los manuales de esta serie ya son muy completos y dejan de ser el típico panfleto de instrucciones de una calculadora, conteniendo auténticos cursos de BASIC muy bien estructurados. En particular, el de la PB-110 es un libro con abundantes ejemplos y figuras explicativas que permiten a cualquier usuario sin conocimientos de programación llegara dominar el BASIC.

...Y por fin llegó el sonido con BEEP con todas estas máquinas...

  • Algunas calculadoras de esta serie incorporan un Banco de datos con comandos BASIC para su gestión.
  • Ejecuta acciones condicionales con el comando IF. Seguido de THEN para saltar a un número de línea o área de programa o para ejecutar otro comando. Ya no tiene el elemento ";".
  • La disponibilidad de variables es igual a la serie PB-100.
  • CLEAR, VAC y CLEAR ALL se utilizan para borrar las variables, siendo los nuevos comandos para borrar los programas NEW y NEW ALL.
  • Comandos BASIC adicionales: VAL, PASS, READ, DATA, RESTORE, REM, BEEP, ON-GOTO, ON-GOSUB, DEG, DM$, STR$, DEFM (ahora en los programas).
    Comandos adicionales específicos del banco de datos: NEW#, LIST# SAVE#, LOAD#, READ# RESTORE# WRITE#.
    Expande la tipografía de VER a VERIFY y A a ALL en aquellos comandos que utilizan este modificador. Cambio de CLEAR a NEW para borrado de programas y CLEAR queda junto con VAC para borrado de variables. También modifica KEY y MID a KEY$ y MID$.

Serie Casio PB-700. (PB-700, PB-770. PB-500, FX-750P, FX-750PF....)
Esta serie es una contradictoria curiosidad. SI tenemos en cuenta la versión BASIC, sin duda hay una mejora significativa en cuanto al número de comandos incorporados, y especialmente en cuanto a funciones matemáticas y estadísticas que son bastantes. En este sentido rescata un poco la cantidad de funciones que traía la FX-702P. Igualmente, parte de las máquinas de esta serie utiliza el sistema de tarjetas de la serie PB-410, que además duplica admitiendo 2, con lo que tenemos máquinas con una cantidad de memoria RAM disponible para los programas de usuario o la información a mantener en el banco de datos bastante apreciable, pudiendo llegar a casi 15KBs libres con tarjetas de 8KBs. Igualmente, la pantalla se duplica hasta los 24 caracteres, lo cual es digno de reseñar, dado que las pantallas de 12 se quedaban a todas luces escasas. Pero por otro lado, la potencia de procesamiento es bastante pobre, siendo calculadoras realmente lentas. Suponemos que tener que manejar una pantalla de 24 caracteres en vez de los tradicionales 12 tiene algo que ver, así como una mayor complejidad de la versión BASIC.

Otras máquinas de esta serie como las PB-700 y PB-770 pudieran parecer totalmente diferentes, y en cierto aspecto lo son, pero las hemos unificado en una única serie porque la versión BASIC es idéntica tanto en comandos como es estructura y posibilidades del sistema, así como la distribución del teclado que abandona la tecla MODE para la gestión de las áreas de programas o la activación de TRACE, impresora, etc.; haciéndolo a través de comandos específicos como SYSTEM, PROG, TRON/TROFF, etc. Comparte del mismo modo, la posibilidad de utilizar números de media preción. Además, disponen de una pantalla gráfica de 4 líneas por 20 caracteres en modo texto y de 32 x 160 píxeles en modo gráfico, que le confieren mayor potencia en la visualización de textos, y sobre todo en las posibilidades que abre el poder dibujar gráficos. El sistema de memoria RAM también es diferente ya trae 4KBs y 8KBs ampliables mediante módulos a 16KBs o 32 KBs dependiendo de si es PB-700 o PB-770.
  • Dispone de un extenso catálogo de funciones matemáticas. Incorpora funciones hiperbólicas y sus inversas.
  • Incorpora un conjunto de funciones de tratamiento estadístico, 15 en total.
  • Amplía las funciones de tratamiento de cadenas.
  • Amplía los mensajes de error de 9 a 21, con lo que la depuración es más sencilla.
  • Mantiene el sistema de 9 áreas de programa, pero no se gestiona mediante la tecla MODE, sino por el comando PROG.
  • Incluye 10 constantes científicas accesibles mediante una combinación de teclas.
  • La PB-770 dispone de los comandos PEEK y POKE para lectura o modificación del contenido de la memoria
  • El número de pilas del sistema aumenta: Subrutinas 12, bucles 6, valores numéricos 8 y operadores 20.
  • Esta versión de BASIC dispone de un complejo sistema de variables. En el caso de las numéricas, pueden ser fijas, de registro (nombradas por dos caracteres, el primero debe ser siempre una letra mayúscula) y matrices. Todas ellas pueden ser de simple, ocupan 8 bytes en memoria, o media precisión, ocupan sólo 4 bytes. Las de caracteres pueden ser igualmente fijas, de registro o matriciales, con una longitud de 7, 16 ó 79 para cada tipo. Las variables fijas son las 26 tradicionales, y las de registro tienen un límite de 40 en total.
  • Dispone de matrices hasta dos dimensiones tanto numéricas como de cadenas, creadas mediante el comando DIM.
  • Comandos BASIC adicionales: Aparte de las funciones matemáticas y estadísticas comentadas, TAB, USING, ASC, CHR$, HEX$, LEFT$, RIGHT$, CONT, DELETE, EDIT, LLIST, PROG, SYSTEM, CHAIN, CLS, DIM, ERASE, LOCATE, LPRINT, PRINT ON/OFF, TRON, TROFF, WAIT, STAT, STAT CLEAR, STAT LIST, STAT LLIST, STAT LLIST y ANGLE.
    Cambia el nombre de KEY$ a INKEYS$.
    Las calculadoras PB-700 y PB-700 disponen de los siguientes comandos para el control de gráficos: POINT, DRAW y DRAWC.
    Sólo la PB-770: PEEK y POKE.

Serie Casio FX-730P. (FX-730P, FX-740P....)
Serie de natural evolución sin grandes mejoras, salvo las ya observadas en la serie FX-750: pantalla de 24 caracteres y cantidad de memoria hasta los 8K en el caso de la FX-730P o 16 en el de la FX-740. Eso sí, en un formato muy agradable y reducido del tamaño similar al de la PB-110. Igualmente, la velocidad de procesado de esta máquina es pobre y menor que la de la serie PB-110.
  • Incorpora casi toda la ampliación de comandos y funciones BASIC de la serie anterior FX-750P.
  • Mantiene las funciones estadísticas a las que suma 2: MEAN X y MEAN Y (estaban ya en la FX-750, pero no documentadas).
  • Vuelve a los tradicionales 9 mensajes de error de las series anteriores.
  • Vuelve al tradicional sistema de almacenamiento de programas de 10 áreas, gestionado por la tecla MODE.
  • Se duplica la capacidad de la variable exclusiva $ de 32 a 64 caracteres.
  • El número de pilas vuelve a reducirse al de series anteriores: Subrutinas 8, bucles 4, valores numéricos 4 y operadores 12.
  • Permite definir matrices de 3 dimensiones y el límite de variables es de 966, ampliables con módulo de expansión de memoria o directamente en la FX-740P hasta 1990.
  • Comandos BASIC adicionales: Aparte de las funciones estadísticas comentadas, no hay nuevos comandos, al contrario pierde de la serie FX-750P TAB, USING, LOCATE, WAIT, ASC, CHR$, LEFT$, RIGHT$, CONT, ANGLE, DELETE, LLIST, LPRINT, SYSTEM, CHAIN, CLS y los comandos que se gestionan desde el teclado de nuevo PROG, TRON, TROFF, PRINT ON/OFF.
    Vuelve a KEY$, en vez de INKEYS$.

Serie Casio FX-850P. (FX-850P, FX-880P....)
La serie FX-805P no es la última serie de Casio de PocketsPC, pero sin duda es la más valorada por los usuarios. Es una máquina que alcanza un equilibrio perfecto entre precio y capacidades, acariciando el éxito con una versión muy completa de BASIC que hace que este pequeño ingenio sea potente y muy fácil de utilizar. Ahí está precisamente la clave, en el binomio potencia-facilidad de uso. Y no es precisamente que fuera la mejor del mercado, ni la que tuviera las mejores características de pantalla; pero sí de las más sencillas y agradables de programar y emplear. Por contra, no presentan pantallas gráficas, y aunque la que tiene es de 2 líneas de 32 caracteres, tampoco es que sea muy grande. Virtualmente tienen una pantalla de 8 líneas de 32 caracteres de la que se visualiza sólo 2.
Comienza con 8 KBs de RAM, algo normalito, pero suficiente; ampliables a 40. Para pasar en la FX-880P a 32 KBs ampliables a 64KBs. Esos 32 KBs ya permiten hacer muchas cosas. Igualmente, estas máquinas suelen traer una completa librería con más de 100 programas de cálculo matemático, científico o de ingeniería, que curiosamente están programados en el BASIC nativo de la máquina.

Comentar, que su BASIC y su estructura es la suma de todas las series anteriores, pues ahora se puede acceder a diferentes funciones con la tradicional tecla MODE, pero también con comandos tipo TRON, TROFF, LPRINT, ANGLE, etc.
  • El BASIC está bastante evolucionado y completo.
  • Soporta matrices de cualquier orden, sólo limitadas por la memoria.
  • No dispone de funciones estadísticas, pero sí de programas de tratamiento estadístico en su librería.
  • Continúa con el tradicional sistema de almacenamiento de programas de 10 áreas, gestionado por la tecla MODE.
  • El sistema aumenta considerablemente el número de pilas: Subrutinas 96, bucles 29.
  • Los nombres de variables pueden ser de hasta 15 caracteres y están únicamente limitadas por el tamaño de la pila, o la disponibilidad de memoria. Ya no existe la variable alfanumérica general $, puede ser cualquiera definida con una $ al final y con un límite de 255 caracteres.
  • Completo control de errores en ejecución mediante comandos.
  • Tiene comandos específicos para la carga de datos las calculadoras de series antiguas PB-100, PB-110...: PBLOAD, PBGET.
  • Comandos BASIC adicionales:
    Recupera los comandos: CLS, TAB, LOCATE, CHR$, ASC, TRON, TROFF, LPRINT, LLIST, LEFT$, RIGHT$, PEEK, POKE y ANGLE.
    Nuevos: PBLOAD, PBGET, VARLIST, FRE, ERL, ERR, RESUME, ON ERROR GOTO, OPEN, CLOSE, EOF, VALF, MODE, DEF, DEFSEG, AND, NOT, XOR, INPUT$.
    Vuelve a cambiar INKEY$ en detrimento de KEY$.