Casio PB-110.
Leng | Año | Gráf. | Medidas | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HD61913 | 455Khz | BASIC | 1983 | 1 K | 544 B | 1 K | 12 Car | No | 2 tonos | No | 116 gr | 165x71x10 | 2 x CR2032 |
*15,8 | *45 | *931s | XX | 40 € | 55 € | 80 € | Modelo destacado |
Descripción general.
La PB-110 es una de las calculadoras de la serie 100, por tanto comparte la mayoría de las características de la PB-100. Sin duda alguna es el modelo más conseguido y completo de toda la serie, y aunque haya muchas variaciones, habrá que esperar hasta la serie 730 (FX-730P) para ver un modelo superior con funciones más avanzadas que lo definan como tal.
Tiene un conjunto de comandos ligeramente superior a la PB-100 y además, como característica principal, puede gestionar un banco de datos a través de teclas especiales en el teclado, o comandos específicos.
En cuanto a la memoria, de fábrica trae una capacidad bastante reducida. Los 544 bytes libres para los programas, son bastante escasos. Otra característica limitada es su reducida pantalla, que con sólo 12 caracteres no permite mucha visualización. Como aspecto muy positivo, es que el paso de los años no afecta a estas pantallas LED como a las SHARP, que sufren un sangrado del cuarzo líquido que llega a inhabilitarlas. El teclado es adecuado y cómodo, con un formato QWERTY. El modelo es de tamaño bastante reducido, y pesa muy poco, lo que la hace extremadamente portátil.
Nos encontramos delante de una pequeña gran maravilla de la época que aguanta muy bien el paso del tiempo. Todos los modelos de Casio, bien cuidados, siguen presentando un gran aspecto, permaneciendo nuevas, en muchos casos. Ello es debido a la gran calidad de materiales y fabricación de Casio.
Teclado. Dispone del típico teclado QWERTY al que le acompaña en el lateral derecho un teclado numérico. En la parte superior del teclado tiene la tecla "S" SHIFT, los cursores y la tecla MEMO para acceso al banco de datos. Con la combinación MODE + "." se entra en el teclado extendido que permite acceder a los caracteres en minúscula y especiales.
Memoria. En cuanto a la memoria, de fábrica trae una capacidad bastante reducida. Los 544 bytes libres para los programas, son bastante escasos. No obstante, se puede ampliar con un módulo OR-1 de 1K adicional (1024 bytes).
Para obtener información de la memoria libre disponible, se debe ir al área de programas pulsando "MODE" + "1" y en los dígitos pequeños superiores de la derecha de la pantalla aparecerá la información.
Pantalla. Este modelo tiene la típica pantalla Casio de 1 línea de 12 caracteres, tamaño que queda algo limitado para la presentación de datos, y por supuesto para la programación.
Modelo de almacenamiento de programas. Presenta el formato de Casio de 10 áreas de programa numeradas de P0 a P9. Para acceder a ellas hay que pulsar las teclas MODE +"1" para entrar en modo WRT o de escritura de programas. Con SHIFT y el número correspondiente vamos cambiando entre las 10 áreas para poder entrar o editar los programas almacenados. Con MODE + "0" volvemos al modo RUN o de ejecución, si en ese modo introducimos el comando RUN, se ejecutará el programa del área en el que la calculador esté en ese momento. Podemos ejecutar un programa de manera rápida simplemente pulsando SHIFT y sin necesidad de mantenerla pulsada, a continuación el número del 0 a 9 del programa que deseemos ejecutar.
Pros y contras.
Circuitos principales.
Los circuitos principales son dos chips. Uno, de 4 bits (HD61913), gestiona el procesador de lógica, la ROM, el control de pantalla y teclado; mientras que el segundo (HD61914) es una RAM estática de 8 bits, organizada en 2048 palabras de 4 bits.
Características no documentadas y trucos.
Hay dos modos no documentados que se convierten en los famosos PEEK(leer contenido de una dirección de memoria) y POKE(escribir contenido), de otras versiones BASIC. Sólo funcionan dentro de un programa y la escritura en el contenido de memoria debe hacerse con mucha precaución ya que podemos colgar el sistema y tener que resetear toda la máquina con la consiguiente pérdida de datos.
Mápa del área de memoria:
Cuando se habla de palabras(words), son palabras de 4 bits (medio byte).
Para ver el contenido de memoria, y aprovechando los comandos ocultos, escribimos un programa monitor que nos sirva para
movernos por la memoria, ver su contenido, y cambiar su contenido:
El programa reducido de la izquierda sólo muestra la dirección de memoria en decimal, y su contenido en decimal.
El de la derecha lo hemos completado para que muestre además de lo anterior, el contenido hexadecimal de la memoria.
Su funcionamiento es muy sencillo:
Almacenamiento de programas en la Memoria:
Como se ha comentado en el mapa de memoria, los programas BASIC en la PB-110 comienzan en la dirección decimal 272(110 HEX). No varía incluso si se tiene instalada la ampliación de memoria de 1K.
Para comprender el contenido de la memoria, nos hace falta conocer dos tablas.
La primera es la Tabla de códigos de caracteres que viene en la página 179 del manual en español.
Espacio es &00, : es &FE
La segunda es la tabla de códigos de almacenamiento de las palabras clave BASIC, ya que éstas se almacenarán ocupando un sólo byte de acuerto a esta tabla.
Una vez conocida la existencia de estas tablas, se describe el formato de almacenamiento de los programas. La primera línea del primer programa almacenado comienza en la dirección de memoria 272.
La PB-110 es una de las calculadoras de la serie 100, por tanto comparte la mayoría de las características de la PB-100. Sin duda alguna es el modelo más conseguido y completo de toda la serie, y aunque haya muchas variaciones, habrá que esperar hasta la serie 730 (FX-730P) para ver un modelo superior con funciones más avanzadas que lo definan como tal.
Tiene un conjunto de comandos ligeramente superior a la PB-100 y además, como característica principal, puede gestionar un banco de datos a través de teclas especiales en el teclado, o comandos específicos.
En cuanto a la memoria, de fábrica trae una capacidad bastante reducida. Los 544 bytes libres para los programas, son bastante escasos. Otra característica limitada es su reducida pantalla, que con sólo 12 caracteres no permite mucha visualización. Como aspecto muy positivo, es que el paso de los años no afecta a estas pantallas LED como a las SHARP, que sufren un sangrado del cuarzo líquido que llega a inhabilitarlas. El teclado es adecuado y cómodo, con un formato QWERTY. El modelo es de tamaño bastante reducido, y pesa muy poco, lo que la hace extremadamente portátil.
Nos encontramos delante de una pequeña gran maravilla de la época que aguanta muy bien el paso del tiempo. Todos los modelos de Casio, bien cuidados, siguen presentando un gran aspecto, permaneciendo nuevas, en muchos casos. Ello es debido a la gran calidad de materiales y fabricación de Casio.
Teclado. Dispone del típico teclado QWERTY al que le acompaña en el lateral derecho un teclado numérico. En la parte superior del teclado tiene la tecla "S" SHIFT, los cursores y la tecla MEMO para acceso al banco de datos. Con la combinación MODE + "." se entra en el teclado extendido que permite acceder a los caracteres en minúscula y especiales.
Memoria. En cuanto a la memoria, de fábrica trae una capacidad bastante reducida. Los 544 bytes libres para los programas, son bastante escasos. No obstante, se puede ampliar con un módulo OR-1 de 1K adicional (1024 bytes).
Para obtener información de la memoria libre disponible, se debe ir al área de programas pulsando "MODE" + "1" y en los dígitos pequeños superiores de la derecha de la pantalla aparecerá la información.
Pantalla. Este modelo tiene la típica pantalla Casio de 1 línea de 12 caracteres, tamaño que queda algo limitado para la presentación de datos, y por supuesto para la programación.
Modelo de almacenamiento de programas. Presenta el formato de Casio de 10 áreas de programa numeradas de P0 a P9. Para acceder a ellas hay que pulsar las teclas MODE +"1" para entrar en modo WRT o de escritura de programas. Con SHIFT y el número correspondiente vamos cambiando entre las 10 áreas para poder entrar o editar los programas almacenados. Con MODE + "0" volvemos al modo RUN o de ejecución, si en ese modo introducimos el comando RUN, se ejecutará el programa del área en el que la calculador esté en ese momento. Podemos ejecutar un programa de manera rápida simplemente pulsando SHIFT y sin necesidad de mantenerla pulsada, a continuación el número del 0 a 9 del programa que deseemos ejecutar.
Pros y contras.
Formato muy compacto y portátil. | Pantalla de 12 caracteres que se queda muy pequeña. |
El banco de datos aumenta mucho las posibilidades de almacenamiento de datos y programación. | No dispone de batería de respaldo de datos para cuando se cambian las pilas. |
Manejo muy sencillo y apto para principiantes. | |
Circuitos principales.
Los circuitos principales son dos chips. Uno, de 4 bits (HD61913), gestiona el procesador de lógica, la ROM, el control de pantalla y teclado; mientras que el segundo (HD61914) es una RAM estática de 8 bits, organizada en 2048 palabras de 4 bits.
Características no documentadas y trucos.
Hay dos modos no documentados que se convierten en los famosos PEEK(leer contenido de una dirección de memoria) y POKE(escribir contenido), de otras versiones BASIC. Sólo funcionan dentro de un programa y la escritura en el contenido de memoria debe hacerse con mucha precaución ya que podemos colgar el sistema y tener que resetear toda la máquina con la consiguiente pérdida de datos.
- MODE 18(A,B): B=PEEK(A). En B se cargará con el contenido de la dirección de memoria A.
- MODE 19(A,B): POKE A,B. Insertar en la dirección A, el valor B.
Mápa del área de memoria:
Cuando se habla de palabras(words), son palabras de 4 bits (medio byte).
(0d) $0000-$003F 128 words(64 bytes) Buffer de propósito general (64d) $0040-$007F 128 words(64 bytes) Buffer de propósito general (128d) $0080-$0087 16 words(8 bytes) Variable ANS (no comprobado) (136d) $0088-$008F 16 words(8 bytes) Semilla RAN#, inicial=0.43429448190 (no comprobado) (240d) $00F0-$010F 64 words(32 bytes) La variable especial de cadena $ (272d) $0110-$072F 3136 words (1568 b) Área de programas de BASIC (1840d) $0730-$0737 16 words( 8 bytes) Variable Z(ya sea cadena o numérica) (1848d) $0738-$073F 16 words( 8 bytes) Variable Y(ya sea cadena o numérica) (1856d) $0740-$0747 16 words( 8 bytes) Variable X(ya sea cadena o numérica) (1864d) $0748-$074F 16 words( 8 bytes) Variable W(ya sea cadena o numérica) ------------------- ------------------ ................................... (2024d) $07E8-$07EF 16 words( 8 bytes) Variable C(ya sea cadena o numérica) (2032d) $07F0-$07F7 16 words( 8 bytes) Variable B(ya sea cadena o numérica) (2040d) $07F8-$07FF 16 words( 8 bytes) Variable A(ya sea cadena o numérica) |
PROGRAMA REDUCIDO =============================================== 10 INPUT "Dir",D 20 MODE 18(D,C) 22 PRINT STR$(D);C; 30 INPUT O$ 40 IF O$="" THEN D=D+1:GOTO 20 50 C=VAL(O$):IF C>=0 THEN MODE 19(D,C):GOTO 20 60 D=INT(-C):GOTO 20 | PROGRAMA COMPLETO CON CONTENIDO EN &HEX =============================================== 5 DATA A,B,C,D,E,F 6 READ R$,S$,T$,U$,V$,W$ 10 INPUT "Dir",D 20 MODE 18(D,C) 22 PRINT STR$(D);C; 23 PRINT " &"; 24 X=INT(C/16):GOSUB 100 25 X=C-16*INT(C/16):GOSUB 100 30 INPUT O$ 40 IF O$="" THEN D=D+1:GOTO 20 50 C=VAL(O$):IF C>=0 THEN MODE 19(D,C):GOTO 20 60 D=INT(-C):GOTO 20 100 IF X<=9 THEN Y$=STR$(X) 130 IF X>9 THEN X=X-10:Y$=R$(X) 140 PRINT Y$; 150 RETURN |
El de la derecha lo hemos completado para que muestre además de lo anterior, el contenido hexadecimal de la memoria.
Su funcionamiento es muy sencillo:
- Al ejecutarlo nos pedirá inicialmente la dirección de la memoria desde la que queremos empezar a ver su contenido. Debe introducirse en decimal, es decir, si queremos ver el inicio del área de programas, introduciremos 272; si queremos ver el contenido de la variable $, introduciremos 240.
- A continuación veremos la siguiente pantalla:
- Programa corto "272 16?", que significa "dirección de memoria decimal, contenido de memoria decimal, ?"
- Programa completo "272 16 &10?", que significa "dirección de memoria decimal, contenido de memoria decimal, contenido hexadecimal, ?"
- Si pulsamos símplemente EXE, iremos a la siguiente dirección, y así sucesivamente.
- Si introducimos un valor positivo de 0 a 255, se modificará el contenido de la memoria.
- Para saltar a otra dirección de memoria, poner la dirección en negativo. Ejemplo: -240.
Almacenamiento de programas en la Memoria:
Como se ha comentado en el mapa de memoria, los programas BASIC en la PB-110 comienzan en la dirección decimal 272(110 HEX). No varía incluso si se tiene instalada la ampliación de memoria de 1K.
Para comprender el contenido de la memoria, nos hace falta conocer dos tablas.
La primera es la Tabla de códigos de caracteres que viene en la página 179 del manual en español.
Espacio es &00, : es &FE
La segunda es la tabla de códigos de almacenamiento de las palabras clave BASIC, ya que éstas se almacenarán ocupando un sólo byte de acuerto a esta tabla.
$80 SIN $90 LEN( $A0 FOR $B0 VAC $C0 DEFM $81 COS $91 VAL( $A1 NEXT $B1 SET $C1 SAVE $82 TAN $92 MID( $A2 GOTO $B2 PUT $C2 LOAD $83 ASN $93 KEY $A3 GOSUB $B3 GET $C3 VERIFY $84 ACS $94 CSR $A4 RETURN $B4 $C4 LIST $85 ATN $95 TO $A5 IF $B5 $C5 RUN $86 LOG $96 STEP $A6 PRINT $B6 $C6 NEW $87 LN $97 THEN $A7 INPUT $B7 $C7 PASS $88 EXP $98 DEG( $A8 MODE $B8 $C8 LRAM $89 SQR $99 $A9 STOP $B9 $C9 SRM $8A INT $9A STR$ $AA END $BA $CA WRITE# $8B FRAC $9B DMS$ $AB ON $BB $CB $8C ABS $9C MID$ $AC READ $BC $CC $8D SGN $9D ALL $AD RESTORE $BD $CD $8E RND( $9E BEEP $AE DATA $BE $CE $8F RAN# $9F LET $AF REM $BF $CF |
Una vez conocida la existencia de estas tablas, se describe el formato de almacenamiento de los programas. La primera línea del primer programa almacenado comienza en la dirección de memoria 272.
- Los dos primeros bytes indican el número de línea en formato digital.
- A continuación va el contenido de la línea programa. Si el siguiente byte es mayor o igual que 128 (&80H), debe leerse como una palabra reservada del BASIC, de acuerdo a la segunda tabla. Ejemplo: Si es 166 (&A6H), será el comando PRINT.
- Si es menor que 128, se leerá tal cual de acuerdo al caracter que represente de la primera tabla. Normalmente será la asignación de una variable.
- Los siguientes bytes se van leyendo a lo establecido en los apartados anteriores, de tal modo que si son >=128, son una palabra clave, y al contrario se leerán como caracteres de la tabla 1
- Si el byte es 254 decimal (&FEH), corresponderá a un separador de sentencias en la misma línea ":".
- Si el byte es 255 decimal (&FFH), indicará el final de línea, y por tanto, los dos siguientes bytes habrá que interpretarlos como el número de la siguiente línea.
- No existen códigos especiales de separación entre programas de diferentes áreas de programa. Se suceden sin ningún indicador. (ver bytes 314, 315 y 316 del siguiente ejemplo). Esta estructura se controla en otro área del sistema.
A continuación se expone un ejemplo en el que en el área P0 se ha almacenado el programa contador simple. Hemos hecho un volcado de memoria a partir de la dirección 272 decimal, y esto es lo que se obtiene:
DIR DEC HEX Explicación | DIR DEC HEX Explicación | DIR DEC HEX Explicación | =========================== | =========================== | =========================== | 272 16 10 10 | 278 32 20 20 | 287 48 30 30 | 273 0 00 | 279 0 00 | 288 0 00 | 274 32 20 A | 280 166 A6 PRINT | 289 32 20 A | 275 12 0C = | 281 148 94 CSR | 290 12 0C = | 276 17 11 1 | 282 16 10 0 | 291 32 20 A | 277 255 ff Fin línea | 283 94 5E ; | 292 1 01 + | | 284 32 20 A | 293 17 10 1 | | 285 94 5E ; | 294 255 FF Fin Línea | | 286 255 FF Fin Línea | | DIR DEC HEX Explicación | DIR DEC HEX Explicación | PROGRAMA ANALIZADO EN P0 | =========================== | =========================== | =========================== | 295 64 40 40 | 309 80 50 50 | 10 A=1 | 296 0 00 | 310 0 00 | 20 PRINT CSR0;A; | 297 165 A5 IF | 311 158 9E BEEP | 30 A=A+1 | 298 32 20 A | 312 254 FE : | 40 IF A<10001 THEN 20 | 299 14 0E < | 313 158 9E BEEP | 50 BEEP : BEEP | 300 17 11 1 | 314 255 FF Fin Línea | | 301 16 10 0 | | | 302 16 10 0 | | | 303 16 10 0 | 315 16 10 Comienza P1 | | 304 17 11 1 | 316 0 00 | | 305 151 97 THEN | | | 306 18 12 2 | | | 307 16 10 0 | | | 308 255 FF Fin Línea | | | |
Enlaces a páginas de interés.
A continuación te mostramos los enlaces más interesantes sobre este ordenador personal.