π
<-
Chat plein-écran
[^]

ROMs TI-81 sans fer à souder

Nouveautés, projets, mises à jour.

ROMs TI-81 sans fer à souder

Message non lude critor » 09 Aoû 2009, 18:18

La dernière fois que j'avais touché à l'émulation de la TI-81, c'était pour réaliser le pack suivant:
http://tiplanet.org/index.php?mod=ar ... oirid=1219

Ce pack permet à partir de la ROM TI-81 1.8K (trouvable sur Internet) de créer une ROM spéciale TI-86 qui contiendra la système TI-81, et sera donc émulable.


A ma connaissance, les différentes versions de ROMs TI-81 étaient:
1.0
1.1K
1.1
1.6K
1.8K
V2.0V

La TI-81 ne disposant pas de port I/O, je me voyais déjà avec le fer à souder et le programmateur d'EPROM, pour tenter de "sauver" les 5 ROMs manquantes...


Il faudra sûrement le faire un jour pour ne pas perdre ce patrimoine!
(ne jetez pas vos TI-81: envoyez-les moi! :;): )

Mais en attendant j'ai eu une autre idée qui me semble faisable...

Texas Instruments a produit 2 émulateurs TI-81 (payants à l'époque): un pour PC et un pour Mac.
Et vu qu'ils marchent tous seuls, ces émulateurs contiennent la ROM dans le fichier exécutable.

Avec un éditeur hexadécimal, j'ai pu confirmer cette hypothèse.
Par comparaison avec la ROM 1.8K, j'ai pu retrouver quelques segments de code Z80 familiers dans ces exécutables.

Sur l'émulateur PC (pour Mac je ne sais pas), le raccourci de l'écran Self Test (2nd)(Test)(Alpha)(S) ne marche pas.
Il n'est donc pas évident à priori de connaître la version ROM.

De plus, la TI-81 utilise un jeu de code ASCII non standard: aucun message système n'est visible quand on édite l'exécutable.

Il a donc fallu que je me fasse un tableau de conversion, et ensuite que je décode la chaîne de caractères du SelfTest.


Et voici mes résultats! Si le raccourci n'avait pas été truqué:

* L'émulateur PC devrait afficher:
Enter self-test?
1.1K


Comparons avec la photo DataMath pour voir:
Image
Et bien il semble que j'ai bien décodé!

Si j'arrive à extraire la ROM de l'exécutable, ça fera une recherche de calculatrice + une manip au fer à souder en moins!


* L'émulateur Mac quant à lui devrait afficher:
Self-test? 1.7D1
K


Hein? C'est quoi ce truc?
Je vous jure que j'ai vérifié le décryptage 3 fois...

Bon ben... c'est une nouvelle ROM.
Je ne sais pas si elle à un jour été incluse sur les vraies calculatrices, ni si elle a été écrite spécifiquement pour cet émulateur...


Par contre, c'est pas gagné.
Quand TI change la version d'une ROM, on trouve des similarités, mais souvent elles sont décalées, ou même inversées...

Et j'ai 3 versions ROMs différentes!
(pour les comparaisons, ça part mal...)

Il n'est pas évident dans ces exécutables, de distinguer où s'arrête le code ordi, et où commence le code Z80...

De plus, rien ne prouve que la ROM soit stockée en continu dans le fichier...
Elle est peut-être découpée en pages...
Et ils ont peut-être viré les parties vides aussi...


Bon, sinon mettons à jour - les différentes versions de ROMs TI-81 sont désormais
1.0
1.1K
1.1
1.6K
1.7D1K
1.8K
V2.0V

Et je sais pas quelle manie il leur a pris avec les K sur cette calculatrice... :#langue#:
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.6%
 
Messages: 41500
Images: 14704
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: ROMs TI-81 sans fer à souder

Message non lude ProgVal » 10 Aoû 2009, 15:57

critor2000 a écrit:(ne jetez pas vos TI-81: envoyez-les moi! :;): )
Ne jetez pas non plus les autres calculettes, envoyez les moi!
Image

Image
Avatar de l’utilisateur
ProgVal
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 60.7%
 
Messages: 2747
Inscription: 05 Juil 2007, 00:00
Localisation: Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale S SI (Sciences de l'Ingénieur)

Re: ROMs TI-81 sans fer à souder

Message non lude critor » 10 Aoû 2009, 16:01

ProgVal a écrit:
critor2000 a écrit:(ne jetez pas vos TI-81: envoyez-les moi! :;): )
Ne jetez pas non plus les autres calculettes, envoyez les moi!



Tu me laisses les TI-80/81/82/85/86, ok?


Toi t'as les autres, avec mémoire flash :;):
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.6%
 
Messages: 41500
Images: 14704
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: ROMs TI-81 sans fer à souder

Message non lude critor » 10 Aoû 2009, 17:16

Bon pour les ROMs TI-81, j'ai regardé depuis hier mais c'est pas gagné, malgré diverses tentatives d'approche...


1) Extraire la ROM du fichier avec un éditeur

D'après le système 1.8K que l'on trouve sur Internet, la taille est de 32Ko.

J'ai pu reconnaître dans les fichiers PC et MAC des parties de la ROM.
Mais au final, entre la partie la plus basse et la plus haute, il y a plus de 32Ko d'écart...

De plus, dans le fichier MAC, j'ai vu des messages de l'émulateur, entre 2 parties connues de la ROM.

Donc, soit la ROM n'est pas en continu dans les fichiers, soit elle fait plus de 32Ko, soit encore elle a été modifié pour l'émulation et contient partiellement du code non Z80...


2) Transférer la ROM

L'émulateur PC contient un utilitaire pour échanger des programmes.

Après avoir crée un programme, j'ai réussi à truquer son pointeur en RAM, pour lui donner une adresse en ROM.

Mais après en demandant de sortir le programme, ça se passe mal...
Curieusement, j'ai réussi à sortir des messages systèmes de l'émulateur (qui n'auraient rien à faire en ROM, comme RunTime Error, ou Printer not available...), mais pas de code Z80... C'est inquiétant...

Soit l'utilitaire se débarrasse des données non texte, soit les adresses ROM sont bizarre...


3) Exécuter de l'assembleur

Je pense que c'est la meilleure solution.

Il suffirait d'un code assembleur assez simple, pour recopier une zone de la ROM sur l'écran graphique (qu'il suffit ensuite d'enregistrer en TIF/BMP, l'utilitaire étant fourni).

De plus, on peut directement modifier la ROM contenue dans l'exécutable, afin d'y inclure le code.

La seule question, c'est où inclure le code?

Normalement, il faudrait écraser une des routines de la ROM, par exemple celle qui gère l'appui sur la touche CLEAR.

En pratique, ce n'est pas évident, car les routines décrites sur Internet pour la ROM 1.8K ne semblent pas du tout correspondre à ces ROMs.
Et la segmentation rend le calcul d'adresse quasi-impossible pour le moment...
En fait, elles se ressemblent assez peu...

J'ai cherché la routine d'effacement d'écran texte ou graphique, et ne l'ai pas trouvée...
Je n'ai même pas trouvé le code de démarrage d'ailleurs...

En modifiant ce que je pensais être la routine de gestion des touches, j'ai réussi à planter non pas l'écran calculatrice, mais l'émulateur au complet (affichage d'artefacts en dehors de l'écran). Normalement, ça ne devrait pas arriver...

Donc, soient ces routines ont été virées et sont gérées par l'émulateur, soit elles ont bien changé...


4) Désassemblage

Je l'ai envisagé...
Mais quand j'ai remarqué que la ROM était segmentée dans les fichiers, j'ai du abandonné cette idée...

Car les instructions assembleur était à taille variable, selon le contenu de l'espace séparant 2 segments, le deuxième sera interprété différemment...


Soit je ne suis pas passé loin de la solution, surtout avec le 3)...
Soit la ROM incluse dans les fichiers n'est pas une ROM Z80 valide (modifiée pour le logiciel l'utilisant), et ces émulateurs devraient alors plutôt s'apeller des simulateurs...



Alors en attendant mieux, pour l'histoire, voici quelques photos truquées:

Image

Image



Edit: je viens de poster les deux émulateurs, accompagnés de mes documents de travail

http://tiplanet.org/index.php?mod=ar ... oirid=1289 (MAC: 1.7D1K)
http://tiplanet.org/index.php?mod=ar ... oirid=1288 (DOS: 1.1K)

Si je peux trouver une TI-81 en version 1.1K, un programmeur d'EPROM, et un fer à (dé)souder, j'y verrai peut-être un peu plus clair... Peut-être assez pour extraire ensuite la 1.7D1K... :#roll#:
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.6%
 
Messages: 41500
Images: 14704
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 70 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1435 utilisateurs:
>1413 invités
>18 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)