Tutorial 13
Utilisation de Virtual TI

Survol
   Encore une fois, ce tutorial n'est pas à proprement parler à propos de la programmation. Mais l'information qu'il contient pourrait économiser quelques plantages à votre calculatrice. Virtual TI est un émulateur de calculatrice TI fait par Rusty Wagner. Jusqu'à présent, il s'agit du seul émulateur de TI-83 Plus, sans compter toutes les autres calculatrices graphiques TI disponibles. Le fichier Readme de Virtual TI (inclus avec VTI) décrit les fonctions, touches, et informations générales à propos de Virtual TI: (NDT:La version v2.5 beta 5 de VTI est disponible, son fichier readme est identifié sur cette page par les ajouts en gris)

 

Virtual TI v2.5 beta 5
Écrit par Rusty Wagner

Exigences minimum:
* Un ordinateur Pentium tournant avec Windows 95 ou supérieur, ou Windows NT 4.0 ou  Windows 2000
NDT: il faudra avoir des droits d'administrateur sous les Windows NT ou 2000 pour faire fonctionner le programme

Cet émulateur fera fonctionner les ROMs des calculatrices  TI-82, TI-83,TI-83 Plus, TI-85, TI-86, TI-89, TI-92, TI-92 II, et/ou TI-92 Plus.

Un menu contenant les fonctions de l'émulateur est affiché lorsque l'on effectue un clic droit sur l'écran LCD virtuel.

Caractéristiques:
* Les versions des ROMs sont détectées automatiquement
* Changez de versions de ROM sans redémarrer l'émulateur
* ROM dumper intégré avec correction automatique des erreurs
* Support de la mémoire d'archive pour TI-89 et TI-92 Plus
* Envoi de fichiers à la calculatrice
* Réception de fichiers provenant de la calculatrice virtuelle
* Utilisation du câble TI Graph-link, du câble sériel pour se connecter à une véritable calculatrice
* Connexion de deux instances de l'émulateur avec un câble virtuel
* Émulation du son
* Sauvegarde et chargement de l'état de la calculatrice. Tout changement à la Flash ROM (ex. variables archivées) seront inclus dans la sauvegarde d'état.
* Support des 4 et 7 niveaux de gris
* Système de skins complet avec éditeur
* Redimensionnement de la fenêtre d'émulation à n'importe quelle taille
* Fonction de capture d'écran qui enregistre en BMP ou dans le Presse-papiers
* Option de vitesse d'émulation: soit la vitesse réelle de la calculatrice, soit le plus rapide que puisse supporter l'ordinateur.
* Les touches alphabétiques produisent leur lettres respectives. Pas besoin d'appuyer sur Alpha avant, tapez directement.
* Un débugger graphique toutes fonctions
    * Désassembleur de code. Les adresses de ROM calls sont remplacées par le nom de la fonction ROM. Les informations symboliques DB92 sont aussi utilisées lorsque disponibles .
    * Points d'arrêt de code. Ne modifient pas la mémoire, ils sont donc complètement transparents .
    * Points d'arrêt de données : on peut les mettre sur un seul octet, mot ou double mot, ou une certaine gamme d'adresses .
    * Place un point d'arrêt à l'entrée d'un programme assembleur automatiquement.
    * Visualisez et changez les valeurs des registres
    * Tableau de visualisation/édition hexadécimal de la mémoire avec fonction de recherche
    * Sur la 89/92(+), un tableau des handles qui fait une liste des handles allouées. Permet à l'utilisateur de sauter directement au début d'une handle, qu'il soit dans le tableau de désassemblage ou dans le tableau de mémoire.
    * Sur les 82 à 86, un tableau de variables qui fait la liste de toutes les variables et de leur type. Permet à l'utilisateur de sauter directement au début d'une variable, qu'il soit dans le tableau de désassemblage ou dans celui de mémoire.
    * Rafraîchissement du LCD en temps réel, même en niveaux de gris
    * Enregistre les lectures/écritures dans la mémoire ou les changements apportés à des bits individuels

Limitations:
* Les 8 niveaux de gris sur TI-86 ne fonctionnent pas encore correctement
* La redéfinition des actions des touches n'est pas encore implémentée, bien que le programme devrait maintenant fonctionner avec les claviers internationaux sans en avoir besoin
* La réception de sauvegardes à partir de la calculatrice virtuelle n'est pas implémentée.
* L'enregistrement des envois/réceptions par le port de communication n'est pas implémenté.
* Le ROM dumper de TI-82 ne fonctionne pas
* La TI-83 Plus n'a pas encore de support Flash

Cet émulateur a besoin d'une image de la ROM  d'une vraie calculatrice que vous possédez. Je ne vous enverrais aucune ROM. Vous pouvez utiliser le dumper de ROM intégré pour obtenir une image de votre calculatrice.

Si vous avez déjà un dump de la ROM, placez-le dans le même répertoire que VTI.EXE (c'est fait automatiquement si vous utilisez le dumper de ROM intégré). Assurez-vous qu'il ait l'extension .rom, .bin, ou .dmp. Le nom de fichier peut être n'importe quoi (la calculatrice et le numéro de version sont détectés automatiquement) . N'importe quelle mise à jour de la Flash ROM au format .tib sera aussi reconnue si elle est placée dans le même répertoire que VTI.EXE. La dernière version sera utilisée par défaut, mais vous pouvez repasser à une version antérieure à partir du dialogue de mode d'émulation.

Pour la TI-92, voici les touches équivalentes pour l'ordinateur qui ne sont pas évidentes :

F9 - Apps
; - Θ
Tab - Store
Ctrl gauche  - Diamant
Alt gauche  - 2nd
[ - (
] - )
Fix Maj  - Hand/Lock
` - Mode
\ - Ln
Ins - Sin
Home /
ã - Cos
PgUp - Tan
Suppr  - Clear
Défil  - On
Entrée du pavé numérique  - Enter sous le pad

Pour la TI-89 :
F6 - Catalog
F9 - Apps
Tab - Store
Ctrl gauche  - Diamant
Alt gauche  - 2nd
[ - (
] - )
Fix Maj  - Alpha
` - Mode
\ - |
Ins - EE
Del - Clear
Défil  - On
 
Sur les TI-82 et  TI-83:
F1 - Y=
F2 - Window
F3 - Zoom
F4 - Trace
F5 - Graph
Esc - Mode
Caps lock - Alpha
` - X,T,n,Θ (thêta)
= - Stat
F6 - Math
F7 - Matrx
F8 - Prgm
F9 - Vars
PgDn - Clear
Fin  - x^-1
Inser - sin
Home /
ã - cos
PgUp - tan
Num - ^
; - x^2
[ - (
] - )
' - log
\ - ln
Tab - Store
Défil  - On
 
Sur les  TI-85 et  TI-86:
Échap  - Exit
` - More
Fix Maj  - Alpha
Ctrl - x-var
F6 - Graph
F7 - Table
F8 - Prgm
F9 - Custom
PgDn - Clear
' - log
Inser - sin
Home /
ã  - cos
PgUp - tan
Num - ^
\ - ln
Fin  - EE
[ - (
] - )
; - x^2
Tab - Store
Défil  - On
 
 
Pour envoyer un fichier à la calculatrice, appuyez sur F10 ou glissez-déposez un fichier à partir de l'explorateur. Pour activer le débugger, appuyez sur F11. Pour choisir la version de la ROM émulée, appuyez sur F12.
 
Le débugger ressemble à la plupart des autres débuggers graphiques. Il faut noter que les couleurs dans le tableau de désassemblage  ont des significations différentes. Rouge signifie point d'arrêt, vert signifie, et bleu indique la sélection en cours. Si une ligne est dans plusieurs états simultanément, les couleurs seront combinées. Par exemple, un point d'arrêt sélectionné combinera le bleu et le rouge, en donnant du magenta. Aussi, appuyez sur G lorsque vous êtes dans le tableau de désassemblage ou de mémoire  pour sauter à une adresse précise. Les registres peuvent être changés en cliquant dessus .         , green means current PC, .

Le code source de l'émulateur se trouve sur la page internet de Virtual TI  http://vti.acz.org (NDT:cette adresse ne fonctionne plus...) et se compile avec C++Builder 3. Vous pouvez utiliser les noyaux d'émulation 68k et z80 et le désassembleur en autant que vous mentionniez leur origine, l'émulateur Multiple Arcade Machine, et que vous donniez l'adresse où l'on peut trouver la distribution complète (son adresse est ci-dessous) . Le code d'encodage/décodage de JPEG  est une partie de  Colosseum Builders C++ Image Library. N'importe quel autre code peut être utilisé en autant que vous indiquiez qu'il provient de ce programme.

Vous ne devez pas vendre les sources de ce programme. Elles sont gratuites et le resteront toujours. Ce programme ne peut pas être distribué avec une quelconque image de ROM protégée par copyright (les systèmes d'exploitation développés indépendamment peuvent être inclus) .

Questions?  Commentaires?  Bugs ?  Écrivez-moi à  rusty@acz.org (en anglais)

Pour des mises à jour, visitez la page de Virtual TI à  http://rusty.acz.org Visitez  la page web de Assembly Coders Zenith à  http://www.acz.org (Aucune de ces deux adresses ne fonctionne pour le moment :-(, NDT)

Les noyaux d'émulation 68K et Z80 proviennent de  Multiple Arcade Machine Emulator. Les sources et fichiers binaires de l'émulateur M.A.M.E en entier sont disponibles à  http://www.retrogames.com/mame.html Hors ligne

Remerciements spéciaux à :
Mike Heckenbach pour le codage et le test du support du câble parallèle
Michael Donn pour m'avoir prêté un  black link cable pour tester
Nick Caldwell pour son  scan de la  83 et  85
Matt Johnson pour ses infos sur la 86
Alan Bailey pour ses infos sur les ports de la 86
Pascal Bouron pour ses infos sur le protocole de transmission de la 85
Tim Singer pour ses infos sur le protocole de transmission de la 86
Per Finander pour ses infos sur les protocoles de 82 et 85
David Ellsworth pour ses infos sur la 92
 
 
Historique :

18 Mars  2000:
    Publication de la version  2.5 beta 5
    Correction du bug du bouton on de la 83+
    Correction du bug qui causait parfois des plantages lorsque l'écran de démarrage était visible
    Ajout de l'émulation des ROM 2.01/2.03 de TI89/92+
    Ajout d'un support pour les fichiers de mise à jour de Flash ROM  .89u et .9xu
    Écran de présentation à effet progressif
    Support de skin flottante avec de nouvelles skins pour  83, 83+, 85, 86, et  89
    Ajout d'information sur l'auteur aux fichiers de skin

2 Novembre 1999:
   Publication de la version 2.5 beta 4
   Correction de bugs avec le câble parallèle
   Correction de bugs avec l'Assistant de ROM
   Changement de l'écran de démarrage et de la boîte de dialogue About
   Inclus une version simple de l'éditeur de skin
   Correction du bug de dimensionnement de la fenêtre (on espère)
   Correction du bug au chargement d'état (load state) de TI-83(+)
   Correction du bug à la sauvegarde des variables listes sur TI-82/83
   Temps de latence éliminé après envoi de variables vers le disque dur
   Correction du bug de screenshot

28 Octobre  1999:
   Publication de la version 2.5 beta 3
   Le câble parallèle est maintenant supporté, même s'il est un peu lent
   Liste de ROM organisée en différents onglets pour chaque calculatrice

11 Octobre  1999:
   Publication de la version 2.5 beta 2
   Ajout d'un support pour le TI-Graph Link cable
   Correction du support pour câble sériel

26 Septembre  1999:
    Publication de la version 2.5 beta
   Correction du bug de mise à jour de TI-89 et TI-92 Plus
   Correction des dumpers de ROM de 82-86
   Ajout d'un dumper de ROM pour 83+
   Correction du bug d'envoi de fichiers pour la 83+

25 Août  1999:
   Publication de la version 2.5 alpha 3 (restreinte ).
   Correction de problèmes avec l'émulation des TI-92 et TI-92 II.
   Le programme se charge maintenant beaucoup plus vite après la première utilisation.
   Le placement d'un point d'arrêt à l'entrée d'un programme fonctionne maintenant sur toutes les calculatrices.
   Données de sortie du désassembleur améliorées pour 82-86.
   Ajout du support de la TI-83 Plus

5 Juillet  1999:
   Publication de la version 2.5 alpha 2 (restreinte).
   Correction d'un bug au redimensionnement de la fenêtre.
   Quand le lien virtuel est activé, la seconde calculatrice se mettra en pause lorsque la première entre en mode de débogage. Cela empêche la seconde calculatrice de retourner un timeout lorsqu'on débogue des routines de transmission.
   Ajout d'une fonction "Run to cursor" (F4) dans le débugger.
   Ajout d'une option de fréquence de rafraîchissement de l'écran LCD.
   Ajout du support son.

1er Juillet  1999:
   Publication de la version 2.5 alpha 1 (restreinte).
   Ajout d'un système de skinnage.
   La fenêtre peut être redimensionnée à n'importe quelle taille, pas seulement 1x et 2x.
   Ajout d'un mode plein écran.
   Ajout d'une option pour afficher le pourcentage de la vitesse réelle.
   Ajout d'une option  "stay on top" (toujours visible).
   ROM dumper intégré maintenant disponible pour 86.
   Base de temps améliorée pour 85 et 86.
   Correction de plusieurs bugs.
   L'émulation fonctionne maintenant dans un processus séparé du traitement des messages (message handling),
   ce qui permet un fonctionnement  plus efficace.
   Énorme amélioration dans le support des câbles de communication réel/virtuel.
   Ajout d'un assistant d'installation et d'un assistant de ROM.
   Ajout d'un support pour les informations symboliques DB92.
   Ajout de la capacité à faire un glisser-déposer des fichiers.

1er Mai  1999:
   Publication de la version 2.0 alpha 4.
   Correction d'un bug à l'envoi de fichier.
   Ajout d'images pour les 83 et 85, mise à jour de l'image pour 86.
   Correction du bug dans le traitement des exceptions sur 89/92(+).
   Correction de bugs avec le clavier.

18 Avril 1999:
   Publication de la version 2.0 alpha 3.
   Plus rapide que la version précédente .
   Ajout d'un support de capture d'écran.
   Ajout de la capacité à recevoir des informations à partir de la calculatrice virtuelle.
   Ajout d'un support de câble de liaison virtuel.
   Correction de bugs lorsque Windows est réglé pour utiliser de "grandes polices".

19 Février 1999:
   Publication de la version 2.0 alpha (restreinte).
   Ajout du support pour TI-82, TI-83, TI-85, et TI-86.
   N'utilise plus DirectInput (maintenant compatible avec Windows NT 4).

10 Janvier  1999:
   Publication de la version 1.01 beta.
   Correction de bugs avec le dumper de ROM sur des ports COM autres que 1.
   Ajout de la possibilité de sélectionner plusieurs éléments dans la boîte de dialogue d'envoi.
   La restriction à la vitesse réelle est maintenant une option.
   Ajout de la possibilité de redéfinition des touches pour les claviers non américains.

24 Décembre  1998:
   Première sortie publique  (version 1.0 beta).

 

Conclusion
    Virtual TI est ce qui se fait de mieux après la possession d'une calculatrice TI (NDT;). Vous pouvez envoyer vos programmes Asm assemblés à l'émulateur et les tester dedans. Si le programme contient des bugs, la calculatrice virtuelle s'éteindra et se réinitialisera, ce qui n'est vraiment pas aussi grave et ch...t que sur la vraie =)

 

Tutorial 14

    Cliquez pour revenir au menu du site... ou ici pour retourner au menu du tutorial.