Texas Instruments TI-83 Plus.
Leng | Año | Gráf. | Medidas | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Z80 | 6Mhz | TI BASIC | 1999 | 32Kb-512F | 24Kb-160F | 8x16 Car | 96x64 | No | No | 182 gr | 182x81x20 | 4xAAA | ES EN EN |
CR1616 ó 1620 | *39 | *112 | *126s | XX | 35 € | 60 € | 75 € | Modelo destacado |
La Texas Instruments modelo TI-83 plus es quizás el modelo más conseguido de calculadoras programables de esta empresa.
Cierto es, que detrás hay modelos todavía un poco más evolucionados (como la TI-84+), pero sin duda, esta máquina reúne toda
la potencia y el equilibrio de todas las calculadores programables de finales del siglo pasado y principios de éste. Dispone de
una excelente pantalla que se lee con mucha comodidad al tener buen contraste, gran claridad, y una amplitud más que aceptable
con 8 líneas de 16 caracteres en el modo texto, o de 64x96 píxeles en modo gráfico. Todas estas características han hecho que la
TI-83+ sea la calculadora gráfica más vendida en los Estados Unidos y Canadá.
Dicho esto, y si la comparamos con los modelos de la casa PSION contemporáneos, hay que hacer notar que las TEXAS INSTRUMENTS se quedan bastante alejadas en cuanto prestaciones, potencia y rendimiento. Fundamentalmente estas máquinas están orientadas al campo matemático para su aplicación en enseñanza o ciencia, no estando pensadas para su posible utilización como ordenadores personales de mano.
Todas las calculadoras de esta línea de TI, empezando por la TI-81 y acabando con la TI-89 Titanium o la Voyage 2000, son máquinas diseñadas casi en exclusividad para la enseñanza, focalizadas en sus aplicaciones científicas, ya sean matemáticas, estadísticas, económicas o de cualquier otra ciencia. Esto las hace bastante potentes en ese campo, pero a nuestro entender se ha deja de aprovechar un hardware increíble al que no se le puede sacar todo el partido que se podría. Así, y a pesar de esa pantalla gráfica, poco más que gráficos estáticos se pueden obtener, que por otro lado no es poco, y es uno de los puntos fuertes de estas máquinas. No obstante, de manera nativa, y con el único lenguaje de programación presente en la máquina, el TI-BASIC, no se pueden programar aplicaciones con presentaciones gráficas medianamente potentes, ni rápidas. Tampoco dispone de dos elementos esenciales, como son sonido, o un reloj que se pudiera controlar desde la programación. Recordar que la Sharp PC-1500 ya disponía de reloj en 1981, 18 años antes, o los PSION I, en 1984.
Como aspecto positivo decir, que admite otros lenguajes de programación desarrollados por terceros, utilizables desde la propia máquina, aumentando su potencia exponencialmente, bien sea en el caso del BBC BASIC por ser una de las versiones BASIC más potentes y desarrolladas que existen, o en el caso del compilador de BASIC AXE, por generar programas a partir de un lenguaje parecido al TI-BASIC, que corren a mucha más velocidad que el TI-BASIC interpretado nativo. Esto es posible a que se pueden introducir los programas con el editor normal de la máquina y posteriormente compilar el programa para transformarlo en código de máquina. EL compilador AXE puede generar tanto programas en código de máquina como aplicaciones para su almacenamiento en la memoria Flash.
También dispone de la posibilidad de introducir directamente código máquina de Z-80, aunque no tiene un ensamblador
en sí. Esta posibilidad, que es nativa en la propia máquina desde fábrica, queda ensombrecida ya que es muy difícil programar
en código máquina sin un programa ensamblador, o tener que hacerlo en otro ordenador para finalmente transferir el código a
la calculadora, con la consiguiente pérdida de tiempo o complejidad en el procedimiento.
La TI-83 plus monta el conocido procesador Z-80 de 8 bits que como hemos comentado se puede programar en código de máquina, corriendo a una velocidad modesta para su época de 6 MHz. Este procesador a esta velocidad ya lo montaba la TI-82 6 años antes. Tendremos que esperar a una reedición de 2001, la TI-83+ SILVER EDITION para que la velocidad se incremente hasta los 15 MHz, es decir, la nada desdeñable cifra de un 250%. Hablando de la velocidad del procesador, comentar que hay páginas en Internet que muestran la posibilidad de duplicar la velocidad, eso sí, a costa de consumo de las baterías, cambiando el capacitador C7 de 27pf por otro de 15pf. En ese caso, el procesador correrá entre 2 y 2,5 veces su velocidad normal. En esta página puede encontrase esa información.
Otro aspecto muy positivo y que supone un gran salto en prestaciones respecto a su predecesora y todas las anteriores, es que se añada una memoria FLASH de 512KBs, de los que quedan disponibles para el usuario unos 160. Esta memoria permitirá cargar en la calculadora potentes aplicaciones Flash tanto de TEXAS INSTRUMENTS como de terceros desarrolladores. La memoria Flash permanece a diferencia de la RAM en ausencia de alimentación. Gracias a este nuevo sistema, se pueden encontrar en Internet gran cantidad de aplicaciones profesionales y de todo tipo, muchas de ellas en la propia página oficial de TI.
En cuanto a la alimentación, utiliza como fuente principal 4 baterías corrientes tipo AAA de fácil adquisición, así como una batería de respaldo de datos CR1616 o CR1620. Sin duda, otro aspecto práctico y eficaz a la hora de mantener y respaldar los datos en esta máquina. También, como ya se ha comentado, se pueden almacenar los programas que hagamos TI-BASIC en la memoria Flash que se mantiene incluso cuando no hay ningún tipo de alimentación, pero por el contrario no se podrán ejecutar directamente. Para ejecutarlos deberemos volver a pasarlos a la RAM.
¡¡¡ BASIC, BASIC, BASIC !!! Destacamos lo que ya hemos hecho con máquinas de otros fabricantes, este sitio Web trata precisamente de los ordenadores de bolsillo de los 80-90 programables sobre todo en BASIC, aunque por supuesto incluimos los que tienen otros lenguajes. A la TI-83+, se le pueden instalar varias versiones adicionales de BASIC que superan con creces sus capacidades. Hemos encontrado dos, cada una con sus especificidades, enormemente potentes.
BBC BASIC: La primera, es la posibilidad de instalar una versión completa y totalmente funcional del BBC BASIC, no de las más potentes que jamás se hayan desarrollado. Con ella, podremos programar en la TI-83+ la práctica totalidad de los comandos de BASIC BBC, que ya no sólo presenta un BASIC mucho más completo; sino que además podremos aprovechar características no disponibles en la máquina de manera normal. Las destacamos porque son muy interesantes:
En el siguiente enlace encontrará todo lo necesario para utilizar el BBCBASIC en su TI-83 Plus: Pulsar para descargar aquí.
En el fichero ZIP encontrará la aplicación, ejemplos e información. Para instalarla descargue el fichero "BBC BASIC.8xk" en la calculadora. También podrá descargar en ella los ejemplos que hay para probarla.
Para salir de BBC BASIC al SO de la calculadora, entrar el siguiente comenado: "*QUIT". Dado que el teclado de BBC BASIC por defecto es el alfanumérico(letras), para acceder al *, pulsar , y sin soltarlo la tecla .
COMPILADOR AXE: Compilador de un BASIC muy parecido al TI BASIC, aunque con las diferencias que analizamos a continuación.
En el siguiente enlace encontrará todo lo necesario para utilizar el compilador AXE en su TI-83 Plus: Pulsar para descargar aquí.
En el fichero ZIP encontrará la aplicación, ejemplos, documentación e información adicional. Para instalarla descargue el fichero "Axe.8xk" en la calculadora. También podrá descargar en ella los ejemplos que hay para probar el compilador.
Programación en código de máquina.
En el apartado anterior hemos visto que la calculadora, después de haberle instalado el BBC BASIC, se puede programar en código de máquina del Z80 mediante el ensamblador que esta versión de BASIC tiene incorporado. Pero esto es muy tedioso, por no decir imposible de hacer en la calculadora. Hay una forma directa de programar en código de máquina, que tampoco es muy apropiada. Consiste en introducir en un programa directamente los códigos de instrucciones en hexadecimal. Esta solución no es cómoda ni eficaz porque habría que depurar el programa en alguna otra máquina, y luego introducir una secuencia de números que de por sí no dicen nada, con la consiguiente probabilidad de equivocación. Estos ficheros de código, se ejecutan como cualquier otro programa, pero anteponiendo la directiva ASMprgm al inicio del programa.
La posibilidad más apropiada consiste en programar en ensamblador en un PC, donde posteriormete se compila el programa. Es muy cómodo por poder utilizar toda la pantalla del PC, y su gran teclado. Para mayor comodidad, luego se importa el programa generado, en un emulador de la TI-83+ para PC con lo que la comodidad es máxima, ya que podemos probar los programas sin la incomodidad de tener que transferirlos una y otra vez a la calculadora después de cada prueba, y si nuestro código tiene errores y la calculadora se "cuelga", reiniciamos el emulador y asunto solucionado. Una vez terminado todo el proceso de programación, depuración y pruebas de nuestro programa, ya estaremos en disposición de exportarlo a la máquina real, con la absoluta certeza de que funcionará perfectamente.
Este proceso se puede hacer con varios programas ensambladores de Z80 para PC. Nosotros hemos elegido el ensamblador "Spencer's Assembler", también llamado SPASM.
Antes de continuar, decir que los programas ensablados para la TI-83+ no son compatibles con la TI-83 por tener diferentes direcciones de las funciones de la ROM. Para solucionar esto hay que compilar el mismo programa para cada una de las máquinas con el fichero include adecuado (para la TI-83 #include "ti83asm.inc"), o modificando nosotros directamente las direcciones de las funciones, pero es mejor dejárselo al fichero include.
Para facilitar su empleo, adjuntamos, mediante el siguiente link un paquete compuesto de (pulsar aquí para descargarlo):
A continuación mostramos el código completo de nuestro programa contador, el que está en "prueba.asm", a modo de ejemplo, con explicación de cada línea de código.
Este mismo programa en ensamblador de Z80 lo hemos programado en el Amstrad NC-100 y en las calculadoras Sharp G801, G8320 y G850V, siendo en este caso mucho más sencillo ya que la rutina de ROM DispHL imprime en pantalla el contenido de HL; no siendo necesario codificar como en las máquinas mencionadas una rutina que convierta el contenido del contador a una cadena decimal de caracteres.
Una vez compilador el programa, ejecutando "compilar.bat" en el PC:
No obstante, para los amantes del ensamblador en Z80, y dado que programar en el PC es muy cómodo, tienen aquí otra posibilidad.
Teclado. La calculadora dispone de una forma y tiene distribución del teclado típico de la serie del procesador Z80 que se inicia con la TI-81.
En la parte superior hay 5 teclas de función fundamentalmente para la gestión de los gráficos de ecuaciones. Posterioremente dispone de un bloque de teclas de función entre las que caben destacar las siguientes:
Memoria. Trae de fábrica 32KBs de RAM y 512KBs de memoria Flash, de las que están disponible para el usuario 24KBs de RAM y 160KBs de Flash. No dispone de posibilidad de ampliación; aunque se han programado aplicaciones de terceros para poder leer y escribir lápices de memoria.
Para obtener información de la memoria libre disponible, pulsar la tecla amarilla 2ND + "+"(MEM) y la opción 2 del menú "2:Mem Mgmt/Del.".
Pantalla. Dispone de 8 líneas de 16 caracteres en el modo texto, o de 96x64 píxeles en modo gráfico. La lectura en modo texto es muy agradable ya que los caracteres son grandes. Es de resaltar la nitidez de esta pantalla LCD, así como su claridad y contraste, mejorando mucho las pantallas de modelos anteriores. La resolución es de tamaño medio para la época, en la que Casio ya tenía pantallas de 128x64, pero parece adecuada y la verdad es que las aplicaciones le sacan muy buen partido.
En la imagen de la derecha se ve el juego Donkey Kong, portado para esta calculadora, sacándole el jugo al máximo de pantalla. Se pueden visualizar juegos con 4 niveles de grises, e incluso más, como se observa.
Modelo de almacenamiento de programas. El almacenamiento de programas es el típico de esta serie TI Z80. Tras pulsar la tecla PRGM, se accede a un menú donde se puede optar a ejecutar los programas ya almacenados, editarlos, o crear uno nuevo. Para movernos por el menú bastará utilizar las flechas izquierda o derecha para seleccionar alternativamente EXEC-EDIT-NEW.
Interfaces de usuario.
Dado que las calculadoras son cada vez más complejas y que pueden contener gran cantidad y variedad de programas, no sólo en TI-BASIC, sino también en ensamblador, se siente la necesidad de utilizar algún tipo de interfaz para poder ordenarlos y sobre todo, hacerlos más accesibles. Por esta razón dedicamos este apartado, en el que vamos a incluir un interfaz muy común y utilizado, y que además, es de los más compatibles con los programas incluso creados para otros interfaces. El interfaz de usuario elegido es MirageOS, que se puede descargar pulsando aquí. En el fichero ZIP encontrará, además de la aplicación, otra información de utilidad para conocer su funcionamiento a fondo. Para instalarlo, símplemente transfiera el fichero MIRAGEOS.8xk, y podrá ejecutarlo como una aplicación más, acediendo a ella tras pulsar el botón APPS de la calculadora.
La razón de utilizar MirageOS, además de por su compatibilidad, es porque otros interfaces, como por ejemplo ION, no funcionan bien en todas la calculadoras de las familias TI-83+ y TI-84+ y además sólo ejecuta los programas ensamblados para él, y éste si lo hace en todas y ejecuta tanto los programas ensamblados para él como los de ION y otros. Entre sus características sobresalientes está el poder ejecutar programas ASM almacenados en la FLASH ROM con lo que no ocupa la RAM.
Un par de apuntes para facilitar el empleo de MirageOS: Con la tecla se sale del interfaz al SO normal de la calculadora. Con la tecla aparecerá abajo en la pantalla un menú para acceder a diferentes funciones que se activan con las 5 teclas superiores de función.
Información técnica de utilidad para usuarios avanzados.
A continuación exponemos 4 enlaces a sendas páginas de "Merthsoft Creations" con información técnica para programadores avanzados. La razón de no incluirla en la sección habitual de enlaces se debe a la gran utilidad de esta información y a su nivel de detalle.
Circuitos principales.
La arquitectura interna de la TI-83+ es muy similar a la de otros productos de Texas Instruments que no tienen por qué ser todos calculadoras, y que es común en toda la serie TI Z80, es decir, las calculadoras que montan un procesador compatible con el Z80, las que van desde la TI-81 hasta ésta. El procesador, como ya se ha comentado es uno compatible con la familia Z80, además, incluye un chip de 32KBs de S-RAM, otro de 512KBs de memoria flash, y por último, un chip controlador de la pantalla LCD.
En cuanto a la designación de los chips, hay que decir que fueron variando desde la introducción de este modelo en 1999, hasta su fase final de producción ya finalizando la decada, por lo que podremos encontrar diferentes tipos de encapsulados y fabricantes de memoria RAM, FLASH ROM, etc. Inicialmente, esta máquina tenía dos placas base, una para la circuitería general y una específica para montar la pantalla, que fue suprimida en 2006, quedando una sola placa.
En la imagen de la derecha se puede observar el procesador Z80 perfectamente identificable por su designación en el centro, que ha sido fabricado en el año 2003. También se observa el chip específico ASIC Texas Instruments TI REF 9815455 del año 2003 que complementa la labor del Z80. En otras máquinas de Texas, ambos chips van fundidos en uno único.
El chip de memoria RAM es un Hynix HY62WT08IE fabricado en 2003, aunque puede haber de otros fabricantes (como el EPSON SRM2B256, u otros). La ROM es un chip FLASH, arriba a la izquierda, en este caso de Macronix International MX 29F400, el cual es compatible con la serie AMD AM29F400 que hemos visto en otras TI-83+.
Finalmente, se puede observar en la segunda placa base, arriba del todo en el centro, el pequeño chip driver de la pantalla LCD, sin ningún tipo de impresión sobre él.
Características no documentadas y trucos.
Es una máquina muy avanzada con muchas posibilidades de programación en código de máquina, compiladores en la propia máquina y compiladores cruzados en PC de muchos lenguajes de programación, por lo que tiene mucho sentido hablar de características no documentadas y trucos, dado que las posibilidades son infinitas.
- Para comprobar la versión del firmware de la ROM de la máquina pulsar [2ND] [MEM] [1].
Se conocen las siguientes ROMs: 1.03, 1.06, 1.08, 1.10, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19.
Enlaces a páginas de interés.
A continuación te mostramos los enlaces más interesantes sobre esta calculadora gráfica programable. Debido a sus posibilidades y a la gran comercialización de este ordenador, es una de las máquinas de las que más información hay disponible en Internet.
Página Datamath, un sitio con información técnica muy valiosa sobre diferentes calculadoras: http://www.datamath.org/Graphing/TI-83PLUS.htm
Página de Wikipedia sobre el TI-BASIC: https://es.wikipedia.org/wiki/TI-Basic
Página TI-BASIC developer. Muchos recursos de programación para la TI-83+ y TI-84+: http://tibasicdev.wikidot.com/home
Guía de unificación de programación en código de máquina para las TI-82, TI-83 y TI-83+. Guía.
Página TI-BASIC developer: Guía de programación TI-BASIC.
Ticalc.org Repositorio de programas para las calculadoras de TI.
TIWIZARD, gran cantidad de aplizaciones para calculadoras TI, fundamentalmente TI-83+ y TI-84+: http://tiwizard.com/
TIWIZARD, Los mejores juegos para las TI-83+ y TI-84+: http://tiwizard.com/the-best-games-for-your-new-calculator/
CalculatorTI, página de recopilatoria de programas y otros recursos: https://www.calculatorti.com/ti-games/ti-83-plus-ti-84-plus/
Calc.games, página de recopilatoria de programas para casi todos los modelos de TI: http://calc.games/
Página oficial de BBCBASIC para la TI-83+: http://www.benryves.com/products/bbcbasic
Página de Wikipedia con comparativa de Calculadoras gráficas de Texas Instruments: Comparativa
Cómo desmontar la TI-83+: Desmontaje
Dicho esto, y si la comparamos con los modelos de la casa PSION contemporáneos, hay que hacer notar que las TEXAS INSTRUMENTS se quedan bastante alejadas en cuanto prestaciones, potencia y rendimiento. Fundamentalmente estas máquinas están orientadas al campo matemático para su aplicación en enseñanza o ciencia, no estando pensadas para su posible utilización como ordenadores personales de mano.
Todas las calculadoras de esta línea de TI, empezando por la TI-81 y acabando con la TI-89 Titanium o la Voyage 2000, son máquinas diseñadas casi en exclusividad para la enseñanza, focalizadas en sus aplicaciones científicas, ya sean matemáticas, estadísticas, económicas o de cualquier otra ciencia. Esto las hace bastante potentes en ese campo, pero a nuestro entender se ha deja de aprovechar un hardware increíble al que no se le puede sacar todo el partido que se podría. Así, y a pesar de esa pantalla gráfica, poco más que gráficos estáticos se pueden obtener, que por otro lado no es poco, y es uno de los puntos fuertes de estas máquinas. No obstante, de manera nativa, y con el único lenguaje de programación presente en la máquina, el TI-BASIC, no se pueden programar aplicaciones con presentaciones gráficas medianamente potentes, ni rápidas. Tampoco dispone de dos elementos esenciales, como son sonido, o un reloj que se pudiera controlar desde la programación. Recordar que la Sharp PC-1500 ya disponía de reloj en 1981, 18 años antes, o los PSION I, en 1984.
Como aspecto positivo decir, que admite otros lenguajes de programación desarrollados por terceros, utilizables desde la propia máquina, aumentando su potencia exponencialmente, bien sea en el caso del BBC BASIC por ser una de las versiones BASIC más potentes y desarrolladas que existen, o en el caso del compilador de BASIC AXE, por generar programas a partir de un lenguaje parecido al TI-BASIC, que corren a mucha más velocidad que el TI-BASIC interpretado nativo. Esto es posible a que se pueden introducir los programas con el editor normal de la máquina y posteriormente compilar el programa para transformarlo en código de máquina. EL compilador AXE puede generar tanto programas en código de máquina como aplicaciones para su almacenamiento en la memoria Flash.
Progr. cálculo rendimiento. ClrHome 100⥤N Lbl U 10⥤L Lbl D L⥤X X+1⥤X X-4.567E4⥤X X+70⥤X X-69⥤X X*7⥤X X/11⥤X L-1⥤L If L⥤0 Goto D ln(X⥤X sin(X⥤X v(X⥤X v(X⥤X N-1⥤N If N⥤0 Goto U Output(1,1,"RES. INDICE:" Output(2,1,X |
La TI-83 plus monta el conocido procesador Z-80 de 8 bits que como hemos comentado se puede programar en código de máquina, corriendo a una velocidad modesta para su época de 6 MHz. Este procesador a esta velocidad ya lo montaba la TI-82 6 años antes. Tendremos que esperar a una reedición de 2001, la TI-83+ SILVER EDITION para que la velocidad se incremente hasta los 15 MHz, es decir, la nada desdeñable cifra de un 250%. Hablando de la velocidad del procesador, comentar que hay páginas en Internet que muestran la posibilidad de duplicar la velocidad, eso sí, a costa de consumo de las baterías, cambiando el capacitador C7 de 27pf por otro de 15pf. En ese caso, el procesador correrá entre 2 y 2,5 veces su velocidad normal. En esta página puede encontrase esa información.
Otro aspecto muy positivo y que supone un gran salto en prestaciones respecto a su predecesora y todas las anteriores, es que se añada una memoria FLASH de 512KBs, de los que quedan disponibles para el usuario unos 160. Esta memoria permitirá cargar en la calculadora potentes aplicaciones Flash tanto de TEXAS INSTRUMENTS como de terceros desarrolladores. La memoria Flash permanece a diferencia de la RAM en ausencia de alimentación. Gracias a este nuevo sistema, se pueden encontrar en Internet gran cantidad de aplicaciones profesionales y de todo tipo, muchas de ellas en la propia página oficial de TI.
En cuanto a la alimentación, utiliza como fuente principal 4 baterías corrientes tipo AAA de fácil adquisición, así como una batería de respaldo de datos CR1616 o CR1620. Sin duda, otro aspecto práctico y eficaz a la hora de mantener y respaldar los datos en esta máquina. También, como ya se ha comentado, se pueden almacenar los programas que hagamos TI-BASIC en la memoria Flash que se mantiene incluso cuando no hay ningún tipo de alimentación, pero por el contrario no se podrán ejecutar directamente. Para ejecutarlos deberemos volver a pasarlos a la RAM.
¡¡¡ BASIC, BASIC, BASIC !!! Destacamos lo que ya hemos hecho con máquinas de otros fabricantes, este sitio Web trata precisamente de los ordenadores de bolsillo de los 80-90 programables sobre todo en BASIC, aunque por supuesto incluimos los que tienen otros lenguajes. A la TI-83+, se le pueden instalar varias versiones adicionales de BASIC que superan con creces sus capacidades. Hemos encontrado dos, cada una con sus especificidades, enormemente potentes.
BBC BASIC: La primera, es la posibilidad de instalar una versión completa y totalmente funcional del BBC BASIC, no de las más potentes que jamás se hayan desarrollado. Con ella, podremos programar en la TI-83+ la práctica totalidad de los comandos de BASIC BBC, que ya no sólo presenta un BASIC mucho más completo; sino que además podremos aprovechar características no disponibles en la máquina de manera normal. Las destacamos porque son muy interesantes:
- Emplear tipo de letra mucho mayor al normal, con solo cambiar el modo de pantalla mediante el comando MODE. Ver la pantalla de ejemplo en la imagen animada de la derecha.
- Utilizar un reloj interno de la máquina mediante el comando TIME, que si bien no presenta un reloj en tiempo real, sí nos permite el control del tiempo. El reloj interno se pone a cero cuando iniciamos el BBC BASIC y mediante la ejecución de x=TIME, obtendremos la cantidad de centésimas de segundo que hayan transcurrido desde su puesta a cero.
- Recordar que esta versión de BASIC contiene un completo y potente ensamblador que permite incluir código de máquina directamente en ensamblador en los programas BBC BASIC. El comando '[' entra en el MODO ensamblador y ']' vuelve al modo BASIC normal. Para ejecutar el código Z80 ensamblado, se utilizan los comandos CALL o USR.
Mode | Píxeles lógicos | Resolución lóg. | Resolución texto. | Resolución caracteres | Caracteres definidos usuario | |
---|---|---|---|---|---|---|
Horizontal | Vertical | |||||
MODE 0 | 4 | 5 | 384×320 | 24×10 | 4×6 | No |
MODE 3 | 4 | 4 | 384×256 | 24×10 | 4×6 | No |
MODE 4 | 4 | 4 | 384×256 | 12×8 | 8×8 | Sí |
100 DIM free -1, code HIMEM-free-1000 110 PROC_ass(0) 120 L%=P%-code 130 CLEAR 140 DIM code L% 150 PROC_ass(0) 160 PROC_ass(2) - - - Poner el resto del código del programa aquí. - - - 1000 DEF PROC_ass(opt) 10010 P%=code 10020 [OPT opt - - - Código de programa en Ensamblador (ASM). - - - 11000 ] 11010 ENDPROCPara explotar al máximo las capacidades del BBC BASIC implementado en las calculadoras TI-83+ y TI-84+ en cualquiera de sus versiones visitar la página específica: http://www.benryves.com/products/bbcbasic.
En el siguiente enlace encontrará todo lo necesario para utilizar el BBCBASIC en su TI-83 Plus: Pulsar para descargar aquí.
En el fichero ZIP encontrará la aplicación, ejemplos e información. Para instalarla descargue el fichero "BBC BASIC.8xk" en la calculadora. También podrá descargar en ella los ejemplos que hay para probarla.
Para salir de BBC BASIC al SO de la calculadora, entrar el siguiente comenado: "*QUIT". Dado que el teclado de BBC BASIC por defecto es el alfanumérico(letras), para acceder al *, pulsar , y sin soltarlo la tecla .
COMPILADOR AXE: Compilador de un BASIC muy parecido al TI BASIC, aunque con las diferencias que analizamos a continuación.
- La ganancia en velocidad es muy, muy significativa, lo que permite el desarrollo de programas y aplicaciones que la necesiten.
- Esta versión de BASIC compilado está orientada a sacar el máximo rendimiento de los gráfico. Así dispone de un juego de comandos para el tratamiento de sprites, tanto en pantalla, como para almacenarlos/recuperarlos.
- En cuanto a números, emplea principalmente enteros de 2 bytes con signo (-32767 a 32768), pero puede recuperar algunos cálculos realizados en coma flotante con el sistema operativo normal.
En el siguiente enlace encontrará todo lo necesario para utilizar el compilador AXE en su TI-83 Plus: Pulsar para descargar aquí.
En el fichero ZIP encontrará la aplicación, ejemplos, documentación e información adicional. Para instalarla descargue el fichero "Axe.8xk" en la calculadora. También podrá descargar en ella los ejemplos que hay para probar el compilador.
Programación en código de máquina.
En el apartado anterior hemos visto que la calculadora, después de haberle instalado el BBC BASIC, se puede programar en código de máquina del Z80 mediante el ensamblador que esta versión de BASIC tiene incorporado. Pero esto es muy tedioso, por no decir imposible de hacer en la calculadora. Hay una forma directa de programar en código de máquina, que tampoco es muy apropiada. Consiste en introducir en un programa directamente los códigos de instrucciones en hexadecimal. Esta solución no es cómoda ni eficaz porque habría que depurar el programa en alguna otra máquina, y luego introducir una secuencia de números que de por sí no dicen nada, con la consiguiente probabilidad de equivocación. Estos ficheros de código, se ejecutan como cualquier otro programa, pero anteponiendo la directiva ASMprgm al inicio del programa.
La posibilidad más apropiada consiste en programar en ensamblador en un PC, donde posteriormete se compila el programa. Es muy cómodo por poder utilizar toda la pantalla del PC, y su gran teclado. Para mayor comodidad, luego se importa el programa generado, en un emulador de la TI-83+ para PC con lo que la comodidad es máxima, ya que podemos probar los programas sin la incomodidad de tener que transferirlos una y otra vez a la calculadora después de cada prueba, y si nuestro código tiene errores y la calculadora se "cuelga", reiniciamos el emulador y asunto solucionado. Una vez terminado todo el proceso de programación, depuración y pruebas de nuestro programa, ya estaremos en disposición de exportarlo a la máquina real, con la absoluta certeza de que funcionará perfectamente.
Este proceso se puede hacer con varios programas ensambladores de Z80 para PC. Nosotros hemos elegido el ensamblador "Spencer's Assembler", también llamado SPASM.
Antes de continuar, decir que los programas ensablados para la TI-83+ no son compatibles con la TI-83 por tener diferentes direcciones de las funciones de la ROM. Para solucionar esto hay que compilar el mismo programa para cada una de las máquinas con el fichero include adecuado (para la TI-83 #include "ti83asm.inc"), o modificando nosotros directamente las direcciones de las funciones, pero es mejor dejárselo al fichero include.
Para facilitar su empleo, adjuntamos, mediante el siguiente link un paquete compuesto de (pulsar aquí para descargarlo):
- Obviamente el ensamblador para PC de Z80 "SPASM".
- El archivo "ti83plus.inc" para incorporar al código, con el que cargaremos en el ensamblador todos los códigos y llamadas a las direcciones de la ROM de la TI-83+ que harán que el ensamblador tenga toda esta información para generar el código final necesario para esta máquina.
- Un cursillo básico de 12 lecciones para los que quieran profundizar en la programación tanto del Z80 como del empleo del ensamblador orientado a la TI-83+.
- Nos hemos tomado la libertad de incluir un archivo de proceso por lotes "compilar.bat" que compilará el programa que hayamos introducido en el fichero "prueba.asm" y se detendrá al final para mostrarlo el resultado de la compilación. Ya sea positiva, o que se hayan producido errores, en cuyo caso nos dirá cuales y en qué línea. Para cerrarlo, bastará con pulsar una tecla después de haber cisto el resultado.
- El fichero "prueba.asm" con nuestro famoso programa contador de 1 a 10.000 de prueba de rendimiento. Bastará con ejecutar el programa "compilar.bat" para que se genere el primer programa "prueba.8xp" que podrá importar directamente en el emulador de la TI-83+, o en la propia calculadora, porque ya es totalmente ejecutable por ella.
- El emulador de TI-83+ para PC "WABBIEMU".
A continuación mostramos el código completo de nuestro programa contador, el que está en "prueba.asm", a modo de ejemplo, con explicación de cada línea de código.
Este mismo programa en ensamblador de Z80 lo hemos programado en el Amstrad NC-100 y en las calculadoras Sharp G801, G8320 y G850V, siendo en este caso mucho más sencillo ya que la rutina de ROM DispHL imprime en pantalla el contenido de HL; no siendo necesario codificar como en las máquinas mencionadas una rutina que convierta el contenido del contador a una cadena decimal de caracteres.
PROGRAMA "CONTADOR" DE EJEMPLO. ----------------------- #include "ti83plus.inc" .org $9d93 .db 0BBh, 06Dh bcall(_ClrLCDFull) ;borra pantalla ld bc,1 ;BC guarda el contador Uno: ld hl,0 ld (CurRow),hl ;LOCATE 0,0 ld h,b ld l,c bcall(_DispHL) ;destruye DE inc bc ld hl,10002 sbc hl,bc jr nz,Uno ret |
Comentarios: ------------------------------ Le decimos al compilador que incorpore el código con toda la info para programar la TI-83+ En esta dirección de memoria se inician siempre los programas en código de máquina de la TI-83+ Debemos incorporar al inicio estos 2 códigos que le dirán a la TI-83+ que es un programa ASM Estas 3 primeras líneas es obligatorio ponerlas para programar para esta máquina. Borramos la pantalla con esta llamada a la ROM (Dirección _ClrLCDFull) Inicializamos el contador en BC a 1. El ";" inicia un comentario en el código Etiqueta de inicio del bucle contador. Cargamos en HL 0, o lo que es lo mismo en H=0 y L=0 Colocamos el cursor en 0,0, que es el contenido de HL Cargamos en HL el contenido del contador, que está en BC Como no existe LD HL, BC, tenemos que hacerlo por separado Llamamos a la rutina de la ROM que imprime en pantalla el contenido de HL Incrementamos el contador Cargamos HL con 10.002 Restamos BC a HL Si no es 0, ejecutamos otra vez el bucle. Vuelve a "Uno" Si ha sido cero, es que el contador ha llegado a 10.000 y el programa finaliza |
- Aparecerá en el directorio donde está SPASM un fichero llamado prueba.8xp.
- Lo importamos al emulador o a la propia calculadora, y en el área de programas aparecera un programa llamado "PRUEBA". Para importarlo en el emulador, simplemente abrimos el menú FILE>OPEN y lo seleccionamos en la ventana correspondiente, y en la carpeta donde lo hayamos compilado.
- Para ejecutarlo, vamos a CATALOG ([2ND]+0), bajamos en el menú hasta ASM(, pulsamos enter y tendremos en la pantalla limpia "ASM(". Pulsamos la tecla "PRGM", seleccionamos el programa "PRUEBA", pulsamos ENTER hasta que aparezca "ASM(prgmPRUEBA", pulsamos ENTER, y se ejecutará nuestro programa contador mucho má rápido que si lo hubieramos programado en TI-BASIC, evidentemente. (No hace falta cerrar el paréntesis)
No obstante, para los amantes del ensamblador en Z80, y dado que programar en el PC es muy cómodo, tienen aquí otra posibilidad.
Teclado. La calculadora dispone de una forma y tiene distribución del teclado típico de la serie del procesador Z80 que se inicia con la TI-81.
En la parte superior hay 5 teclas de función fundamentalmente para la gestión de los gráficos de ecuaciones. Posterioremente dispone de un bloque de teclas de función entre las que caben destacar las siguientes:
- Tecla para activar la segunda función de la teclas.
- Tecla para activar el teclado alfabético.
- Tecla para acceder al menú de las aplicaciones Flash instaladas.
- Tecla para acceder al menú de programación desde el que podremos ejecutar programas, crearlos nuevos, o editarlos.
- A la derecha, las teclas de cursor para movernos por la pantalla, o variar el contraste.
Memoria. Trae de fábrica 32KBs de RAM y 512KBs de memoria Flash, de las que están disponible para el usuario 24KBs de RAM y 160KBs de Flash. No dispone de posibilidad de ampliación; aunque se han programado aplicaciones de terceros para poder leer y escribir lápices de memoria.
Para obtener información de la memoria libre disponible, pulsar la tecla amarilla 2ND + "+"(MEM) y la opción 2 del menú "2:Mem Mgmt/Del.".
Pantalla. Dispone de 8 líneas de 16 caracteres en el modo texto, o de 96x64 píxeles en modo gráfico. La lectura en modo texto es muy agradable ya que los caracteres son grandes. Es de resaltar la nitidez de esta pantalla LCD, así como su claridad y contraste, mejorando mucho las pantallas de modelos anteriores. La resolución es de tamaño medio para la época, en la que Casio ya tenía pantallas de 128x64, pero parece adecuada y la verdad es que las aplicaciones le sacan muy buen partido.
En la imagen de la derecha se ve el juego Donkey Kong, portado para esta calculadora, sacándole el jugo al máximo de pantalla. Se pueden visualizar juegos con 4 niveles de grises, e incluso más, como se observa.
Modelo de almacenamiento de programas. El almacenamiento de programas es el típico de esta serie TI Z80. Tras pulsar la tecla PRGM, se accede a un menú donde se puede optar a ejecutar los programas ya almacenados, editarlos, o crear uno nuevo. Para movernos por el menú bastará utilizar las flechas izquierda o derecha para seleccionar alternativamente EXEC-EDIT-NEW.
- En el primer caso, EXEC, cuando lo seleccionemos, aparecerán debajo un listado de programas a ejecutar, que son tanto los que programemos en TI-BASIC, como los que hayamos compilado en Código de máquina. Bastará posicionarnos sobre el que queremos ejecutar, pulsar ENTER, aperecemos en la pantalla de inicio del sistema con el texto prgmPONG donde "PONG" es el nombre del programa seleccionado, pulsamos de nuevo ENTER, y el programa se ejecutará.
- Para editar, seleccionamos EDIT, debajo aparecerá un listado de los programas que podemos editar, seleccionamos el que deseemos modificar, pulsamos ENTER, y entraremos en el editor. Tras la modificaciones oportunas, bastará con pulsar la tecla 2nd, seguida de MODE(QUIT) para salir del editor. Los cambios se habrán salvado.
- Para crear un nuevo programa, es tan sencillo como seleccionar NEW, debajo aparecerá una sola línea "1:Create New", pulsamos enter, introducimos el nombre del nuevo programa, ENTER y a programar.
- Para parar la ejecución de un programa, pulsar la tecla "ON". Aparecerá un menú doble: "1: GOTO" para ir directamente a la edición del programa, o "2: QUIT", para simplemente parar la ejecución y quedarse en la pantalla de inicio de la calculadora.
Interfaces de usuario.
Dado que las calculadoras son cada vez más complejas y que pueden contener gran cantidad y variedad de programas, no sólo en TI-BASIC, sino también en ensamblador, se siente la necesidad de utilizar algún tipo de interfaz para poder ordenarlos y sobre todo, hacerlos más accesibles. Por esta razón dedicamos este apartado, en el que vamos a incluir un interfaz muy común y utilizado, y que además, es de los más compatibles con los programas incluso creados para otros interfaces. El interfaz de usuario elegido es MirageOS, que se puede descargar pulsando aquí. En el fichero ZIP encontrará, además de la aplicación, otra información de utilidad para conocer su funcionamiento a fondo. Para instalarlo, símplemente transfiera el fichero MIRAGEOS.8xk, y podrá ejecutarlo como una aplicación más, acediendo a ella tras pulsar el botón APPS de la calculadora.
La razón de utilizar MirageOS, además de por su compatibilidad, es porque otros interfaces, como por ejemplo ION, no funcionan bien en todas la calculadoras de las familias TI-83+ y TI-84+ y además sólo ejecuta los programas ensamblados para él, y éste si lo hace en todas y ejecuta tanto los programas ensamblados para él como los de ION y otros. Entre sus características sobresalientes está el poder ejecutar programas ASM almacenados en la FLASH ROM con lo que no ocupa la RAM.
Un par de apuntes para facilitar el empleo de MirageOS: Con la tecla se sale del interfaz al SO normal de la calculadora. Con la tecla aparecerá abajo en la pantalla un menú para acceder a diferentes funciones que se activan con las 5 teclas superiores de función.
Información técnica de utilidad para usuarios avanzados.
A continuación exponemos 4 enlaces a sendas páginas de "Merthsoft Creations" con información técnica para programadores avanzados. La razón de no incluirla en la sección habitual de enlaces se debe a la gran utilidad de esta información y a su nivel de detalle.
- Protocolos de comunicación.
- Modelo de almacenamiento de variables: reales, listas, complejos, imágenes, etc.
- Modelo de almacenamiento de ficheros.
- Códigos TI-BASIC y tablas de caracteres.
Formato tipo calculadora tradicional compacto y portátil. Muy agradable de sostener en una mano. | No disponer de un teclado alfanumérico QUERTY hace muy tediosa la programación. |
Gran cantidad de aplicaciones existentes en Internet de todo tipo que aumentan la potencia de la máquina. | No dispone ni de reloj ni del sonido más simple. |
Pantalla de tamaño medio tanto de caracteres como gráfica, muy nítida y fácil de leer. | Quizás la pantalla gráfica se queda un poco pequeña de resolución. |
Posibilidad de programarla en código máquina, tanto directamente como con compiladores en la propia calculadora. | Velocidad del reloj del procesador lenta |
Memoria disponible para el usuario adecuada. Existencia de una buena cantidad de memoria FLASH | |
Utiliza baterías de muy fácil adquisición. | |
Buen tratamiento de gráficos matemáticos de manera nativa. |
La arquitectura interna de la TI-83+ es muy similar a la de otros productos de Texas Instruments que no tienen por qué ser todos calculadoras, y que es común en toda la serie TI Z80, es decir, las calculadoras que montan un procesador compatible con el Z80, las que van desde la TI-81 hasta ésta. El procesador, como ya se ha comentado es uno compatible con la familia Z80, además, incluye un chip de 32KBs de S-RAM, otro de 512KBs de memoria flash, y por último, un chip controlador de la pantalla LCD.
En cuanto a la designación de los chips, hay que decir que fueron variando desde la introducción de este modelo en 1999, hasta su fase final de producción ya finalizando la decada, por lo que podremos encontrar diferentes tipos de encapsulados y fabricantes de memoria RAM, FLASH ROM, etc. Inicialmente, esta máquina tenía dos placas base, una para la circuitería general y una específica para montar la pantalla, que fue suprimida en 2006, quedando una sola placa.
En la imagen de la derecha se puede observar el procesador Z80 perfectamente identificable por su designación en el centro, que ha sido fabricado en el año 2003. También se observa el chip específico ASIC Texas Instruments TI REF 9815455 del año 2003 que complementa la labor del Z80. En otras máquinas de Texas, ambos chips van fundidos en uno único.
El chip de memoria RAM es un Hynix HY62WT08IE fabricado en 2003, aunque puede haber de otros fabricantes (como el EPSON SRM2B256, u otros). La ROM es un chip FLASH, arriba a la izquierda, en este caso de Macronix International MX 29F400, el cual es compatible con la serie AMD AM29F400 que hemos visto en otras TI-83+.
Finalmente, se puede observar en la segunda placa base, arriba del todo en el centro, el pequeño chip driver de la pantalla LCD, sin ningún tipo de impresión sobre él.
Características no documentadas y trucos.
Es una máquina muy avanzada con muchas posibilidades de programación en código de máquina, compiladores en la propia máquina y compiladores cruzados en PC de muchos lenguajes de programación, por lo que tiene mucho sentido hablar de características no documentadas y trucos, dado que las posibilidades son infinitas.
- Para comprobar la versión del firmware de la ROM de la máquina pulsar [2ND] [MEM] [1].
Se conocen las siguientes ROMs: 1.03, 1.06, 1.08, 1.10, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19.
Enlaces a páginas de interés.
A continuación te mostramos los enlaces más interesantes sobre esta calculadora gráfica programable. Debido a sus posibilidades y a la gran comercialización de este ordenador, es una de las máquinas de las que más información hay disponible en Internet.
Página Datamath, un sitio con información técnica muy valiosa sobre diferentes calculadoras: http://www.datamath.org/Graphing/TI-83PLUS.htm
Página de Wikipedia sobre el TI-BASIC: https://es.wikipedia.org/wiki/TI-Basic
Página TI-BASIC developer. Muchos recursos de programación para la TI-83+ y TI-84+: http://tibasicdev.wikidot.com/home
Guía de unificación de programación en código de máquina para las TI-82, TI-83 y TI-83+. Guía.
Página TI-BASIC developer: Guía de programación TI-BASIC.
Ticalc.org Repositorio de programas para las calculadoras de TI.
TIWIZARD, gran cantidad de aplizaciones para calculadoras TI, fundamentalmente TI-83+ y TI-84+: http://tiwizard.com/
TIWIZARD, Los mejores juegos para las TI-83+ y TI-84+: http://tiwizard.com/the-best-games-for-your-new-calculator/
CalculatorTI, página de recopilatoria de programas y otros recursos: https://www.calculatorti.com/ti-games/ti-83-plus-ti-84-plus/
Calc.games, página de recopilatoria de programas para casi todos los modelos de TI: http://calc.games/
Página oficial de BBCBASIC para la TI-83+: http://www.benryves.com/products/bbcbasic
Página de Wikipedia con comparativa de Calculadoras gráficas de Texas Instruments: Comparativa
Cómo desmontar la TI-83+: Desmontaje