Texas Instruments TI-83 Plus.

Leng Año
Disp.
Exp.
Gráf.
Medidas
Z80 6Mhz TI BASIC 1999 32Kb-512F 24Kb-160F 8x16 Car 96x64 No No 182 gr 182x81x20 4xAAA ES EN EN
Resg.
Valor 1
Valor 2
Valor 3
I. Rareza
Observaciones
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:
  1. 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.
  2. 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
  3. 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.
  4. 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.
Un ejemplo de código es el siguiente:
  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 ENDPROC
Para 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.

COMPILADOR AXE: Compilador de un BASIC muy parecido al TI BASIC, aunque con las diferencias que analizamos a continuación.
  1. La ganancia en velocidad es muy, muy significativa, lo que permite el desarrollo de programas y aplicaciones que la necesiten.
  2. 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.
  3. En cuanto a números, emplea principalmente enteros de 2 bytes con signo (-32767 a 32768), pero puede recuperar algunos cálculos realizados con el sistema operativo normal.
Después de leer estar características, obviamente se puede deducir que su empleo fundamental es en la programación de juegos, objetivo que consigue con creces, a tenor de los espectaculares juegos que han realizado programadores particulares. En la imagen animada de la derecha, se puede observar nuestro famoso programa contador realizado en AXE, posteriormente su compilación y finalmente su ejecución. Mientras que TI-BASIC necesita 126 segundos con un bucle FOR para realizar el conteo, AXE lo hace en 39, es decir, unas 3 veces y media más rápido.

Programación en código de máquina.
En el apartado anterior hemos visto que la calculadora, que 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 apropiada 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 cargan como cualquier otro programa, 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.

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".
La lista completa de Rutinas de la ROM con explicación de cada una de ellas se puede encontrar aquí. En este documento encontrarás precisamente, entre otras muchas, las rutinas de la ROM ClrLCDFull y DispHL que utilizamos a continuación en nuestro programa de ejemplo.

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
Ejecución de un programa de
código máquina importado
Una vez compilador el programa, ejecutando "compilar.bat" en el PC:
  • 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)
Como punto negativo, diremos que el programa "contador" tarda más o menos lo mismo que si lo programamos con el compilador AXE del que hemos hablado más arriba (unos 38 segundos), y que puede programarse directamente en la calculadora, con lo que pudiera parecer que es mucho más cómodo, y por supuesto portable, hacerlo directamente en AXE.
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 amarilla 2ND para activar la segunda función de la teclas.
  • Tecla verde ALPHA para activar el teclado alfabético.
  • Tecla azul APPS para acceder al menú de las aplicaciones Flash instaladas.
  • Tecla PRGM 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.
Un segundo bloque de teclas donde además de unas funciones matemáticas se encuentran las teclas numéricas, las funciones aritméticas principales, y la tecla de encendido/apagado.

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 64x96 píxeles en modo gráfico. Es de resaltar la nitidez de esta pantalla, así como su claridad y contraste, mejorando mucho las pantallas de modelos anteriores.

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.

Pros y contras.

PROs
CONTRAs
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.
Circuitos principales.
Parte superior: placa donde va el controlador de la pantalla
Parte inferior: placa principal con CPU, ASIC, RAM y FLASH ROM
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 [MODE] [ALPHA] [S].

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
TIWIZARD, gran cantidad de aplizaciones para calculadoras TI, fundamenlatalmente 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/
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