Texas Instruments TI-84 Plus.
Leng | Año | Gráf. | Medidas | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Z80 | 6-15Mhz | TI BASIC | 2004 | 48Kb-1MbF | 24Kb-480F | 8x16 Car | 96x64 | No | No | 208 gr | 190x84x22 | 4xAAA | ES EN FR EN |
SR44 | *72 | *206 | *78s | XX | 45 € | 70 € | 90 € |
La Texas Instruments TI-84 plus es una evolución de la TI-83 Plus, calculadora esta última considerada una de
las mejores de las producidad por Texas Instruments. La TI-84 Plus presenta la misma arquitectura, y por tanto,
casi todo el software de la anterior, que es mucho, es válido para ella. Y estamos hablando de muchísimo software, tanto
programado en TI-BASIC, como en aplicaciones, ensamblador o en cualquiera de los compiladores existentes como
AXE o GRAMMER.
Las mejoras respecto al modelo anterior son:
Por contra, y aunque no lo comprendemos, ha aumentado el tamaño de la calculadora, convirtiéndose ya, en un
monstruo un poco inmanejable debido a su tamaño. No lo entendemos porque no es una cuestión tecnológica; sino de
diseño, y ahí, creemos que TI se ha equivocado.
Como hemos comentado, en las últimas revisiones del sistema operativo, incorpora la característica MATHPRINT, con la que se pueden escribir expresiones matemáticas como en los libros. Esto es especialmente útil para las fracciones, las integrales y los sumatorios, entre otras funciones. No obstante, esto ralentiza un poco la calculadora cuando presenta datos en pantalla, aunque asumimos y comprendemos que una nueva función tan potente, interesante y útil pueda reducir el rendimiento. Como dato bueno decir, que se puede habilitar esta nueva característica o desabilitarla cuando queramos en el MENÚ MODE seleccionando MATHPRINT o CLASSIC; según nos convenga. Nuestro programa "Contador simple" para calcular el rendimiento arroja un dato de 78 segundos con la función desabilitada, y baja a 345 segundos cuando la habilitamos (ejecutando exactamente el mismo programa). Esto es debido a que imprime contando los 10.000 primeros números. Sin embargo el programa "Índice de rendimiento" no se ve afectado, ya que sólo realiza cálculos e imprime un único resultado al final.
Como mejora de la TI-83 Plus, presenta todas sus posibilidades, por lo que las reproduciremos en este artículo.
A modo de ejemplo, si pulsa sobre el manual de rutinas de la ROM para poder emplearlas en sus programas en
código de máquina (manual con icono en rojo en la parte superior de esta página), mostraremos el de la TI-83Plus,
porque son las mismas.
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. Esta es una de las mejoras. Esta pantalla es aún más clara y nítida.
Esta máquina sigue sin presentar ningún tipo de sonido.
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-84 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 mejorada de 15 MHz, que ya se había alcanzado con la TI-82 Plus Silver Edition.
Mantiene la memoria FLASH, pero amplidada a 1MB, de los que quedan disponibles para el usuario unos 480, el triple que en la TI-83+. 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 SR44. Entendiendo que podrán utilizarse también las compatibles, aunque de menor rendimiento LR44 y AG13. 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 (Salvo que utilicemos una interfaz de usuario que nos permita ejecutarlos incluso archivados, como por ejemplo MirageOS) .
¡¡¡ 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-84+, 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-84 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.
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 128 ó 48KBs de RAM según versión hardware y 1MB de memoria Flash, de las que están disponible para el usuario 24KBs de RAM y 480KBs 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. Para la TI-84+ es necesario al menos la versión 1.2 para disponer de total compatibilidad que es la proporcionada en el enlace del párrafo anterior.
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.
El desmontaje de la máquina es bastante sencillo.
La arquitectura interna de la TI-84+ es similar a la de otras calculadoras de Texas Instruments, y que es común en toda la serie TI Z80, es decir, las calculadoras que montan un procesador compatible con el Z80, que van desde la TI-81 hasta ésta. El procesador, como ya se ha comentado es uno compatible con la familia Z80 que va encapsulado en un chip ASIC que contiene además los 32KBs de S-RAM. El otro es un chip de 1Mb 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 2004, hasta su fase final de producción, por lo que podremos encontrar diferentes tipos de encapsulados y fabricantes de memoria RAM, FLASH ROM, etc.
En la imagen de la derecha, en el centro se puede observar el chip ASIC U01A que contiene el procesador Z80 y la RAM. Tiene la designación TI-REF 84PLCR/TA1 y es de 25x25 patillas.
La ROM es un chip FLASH, un poco más abajo y a la izquierda, es el típico chip de memoria FLASH de 1Mb 29LV800 con un tiempo de acceso de 70ns que fabrican marcas como AMD, MACRONIX, etc. En este caso el fabricante es AMIC y aquí podrá encontrar su hoja técnica.
Finalmente, arriba del todo en el centro, el pequeño chip driver de la pantalla LCD está oculto baja la lámina brillante negra.
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 .
Se conocen las siguientes ROMs: 2.21, 2.22, 2.30, 2.40, , 2.41, 2.43, 2.53, 2.55.
- Para ejecutar el test de autocomprobación, que incluye el test del LED pulsar (¡¡¡cuidado: borra la memoria!!!) .
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-84PLUS.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+ y TI-84+: http://www.benryves.com/products/bbcbasic
Página de Wikipedia con comparativa de Calculadoras gráficas de Texas Instruments: Comparativa
Las mejoras respecto al modelo anterior son:
|
Como hemos comentado, en las últimas revisiones del sistema operativo, incorpora la característica MATHPRINT, con la que se pueden escribir expresiones matemáticas como en los libros. Esto es especialmente útil para las fracciones, las integrales y los sumatorios, entre otras funciones. No obstante, esto ralentiza un poco la calculadora cuando presenta datos en pantalla, aunque asumimos y comprendemos que una nueva función tan potente, interesante y útil pueda reducir el rendimiento. Como dato bueno decir, que se puede habilitar esta nueva característica o desabilitarla cuando queramos en el MENÚ MODE seleccionando MATHPRINT o CLASSIC; según nos convenga. Nuestro programa "Contador simple" para calcular el rendimiento arroja un dato de 78 segundos con la función desabilitada, y baja a 345 segundos cuando la habilitamos (ejecutando exactamente el mismo programa). Esto es debido a que imprime contando los 10.000 primeros números. Sin embargo el programa "Índice de rendimiento" no se ve afectado, ya que sólo realiza cálculos e imprime un único resultado al final.
Progr. cálculo rendimiento. ClrHome startTmr⥤T 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 Output(3,1,"TIEMPO: " Output(4,1,checkTmr(T |
Test "Contador Simple". ClrHome startTmr⥤T For(A,1,10000 Output(1,1,A End Output(3,1,"FIN PROGRAMA" Output(4,1,checkTmr(T |
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. Esta es una de las mejoras. Esta pantalla es aún más clara y nítida.
Esta máquina sigue sin presentar ningún tipo de sonido.
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-84 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 mejorada de 15 MHz, que ya se había alcanzado con la TI-82 Plus Silver Edition.
Mantiene la memoria FLASH, pero amplidada a 1MB, de los que quedan disponibles para el usuario unos 480, el triple que en la TI-83+. 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 SR44. Entendiendo que podrán utilizarse también las compatibles, aunque de menor rendimiento LR44 y AG13. 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 (Salvo que utilicemos una interfaz de usuario que nos permita ejecutarlos incluso archivados, como por ejemplo MirageOS) .
¡¡¡ 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-84+, 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.
- 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-84 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.
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. Como hemos dicho, es totalmente aplicable a la TI-84+.
- 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+, TI-84+ y otras TI 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 negra con impresión púrpura 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 128 ó 48KBs de RAM según versión hardware y 1MB de memoria Flash, de las que están disponible para el usuario 24KBs de RAM y 480KBs 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. Para la TI-84+ es necesario al menos la versión 1.2 para disponer de total compatibilidad que es la proporcionada en el enlace del párrafo anterior.
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. | 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 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. | El tamaño de la calculadora es muy voluminoso. |
Memoria disponible para el usuario. 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. | |
Presenta los cálculos como en un libro con MATHPRINT. |
El desmontaje de la máquina es bastante sencillo.
- Quitamos la tapa de las baterías y las retiramos.
- Retiramos con un destornillador pequeño de estrella la tapa de la pila de resguardo y ésta.
- Posteriormente hay que retirar los 6 tornillos de la parte trasera con un destornillador "Torx" de cabeza T6.
- Seguidamente y para desmontar la carcasa posterior es necesario meter una palanca de plástico para no dañarla en la parte inferior de la calculadora, e ir abriendo primero hacia un lado, y después hacia el otro.
- Ahora ya se puede retirar la lámina de papel metálico para ver la parte posterior de la placa base, que es donde están los circuitos principales.
- Si se desea retirar del todo esa lámina, quitar los tornillos que van en los huecos marcados en rojo en la imagen. Éstos son con cabeza de estrella normal.
La arquitectura interna de la TI-84+ es similar a la de otras calculadoras de Texas Instruments, y que es común en toda la serie TI Z80, es decir, las calculadoras que montan un procesador compatible con el Z80, que van desde la TI-81 hasta ésta. El procesador, como ya se ha comentado es uno compatible con la familia Z80 que va encapsulado en un chip ASIC que contiene además los 32KBs de S-RAM. El otro es un chip de 1Mb 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 2004, hasta su fase final de producción, por lo que podremos encontrar diferentes tipos de encapsulados y fabricantes de memoria RAM, FLASH ROM, etc.
En la imagen de la derecha, en el centro se puede observar el chip ASIC U01A que contiene el procesador Z80 y la RAM. Tiene la designación TI-REF 84PLCR/TA1 y es de 25x25 patillas.
La ROM es un chip FLASH, un poco más abajo y a la izquierda, es el típico chip de memoria FLASH de 1Mb 29LV800 con un tiempo de acceso de 70ns que fabrican marcas como AMD, MACRONIX, etc. En este caso el fabricante es AMIC y aquí podrá encontrar su hoja técnica.
Finalmente, arriba del todo en el centro, el pequeño chip driver de la pantalla LCD está oculto baja la lámina brillante negra.
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 .
Se conocen las siguientes ROMs: 2.21, 2.22, 2.30, 2.40, , 2.41, 2.43, 2.53, 2.55.
- Para ejecutar el test de autocomprobación, que incluye el test del LED pulsar (¡¡¡cuidado: borra la memoria!!!) .
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-84PLUS.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+ y TI-84+: http://www.benryves.com/products/bbcbasic
Página de Wikipedia con comparativa de Calculadoras gráficas de Texas Instruments: Comparativa