π
<-

OS & compatibilités

Nouveautés, projets, mises à jour.

Re: OS & compatibilités

Unread postby critor » 29 Jun 2009, 20:44

Hacking backup file . . .


Bon, j'arrive à faire exécuter du code à l'aveugle à la calculette, en truquant le pointeur de gestion des touches.

Il reste maintenant à lui faire exécuter du code précis!
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby critor » 30 Jun 2009, 00:20

oh oui, la nSpire!!!! :#love#:


Bon j'ai trouvé l'endroit exact du backup où coller le code Z80.


En apparence, j'arrive à exécuter ce que je veux.
J'ai tenté des NOP, et j'ai également fait la restauration de pointeur de touches.


Donc en 3 étapes:
* B - A (écrase le pointeur de gestion de touches, par l'adresse de mon code assembleur)
* taper une touche (lance l'exécution de mon code assembleur)
* les touches suivantes sont gérées normalement (si le code assembleur a bien restauré le pointeur)



Bon ceci étant fait, j'ai tenté le changement de ROM page.
Apparemment, ça ne marche pas...

2 interprétations:
- soit ça ne marche vraiment pas (code assembleur mal tapé?...)
- soit, en sortie du programme assembleur, le ROM page initial est restauré...


Je pencherais pour la 2ème explication.
Et dans ce cas, ce sera plus dur que ce que je pensais... Car il faudra alors code la partie "dumping" dans le code assembleur, pour qu'elle soit exécutée avant la restauration...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby tama » 30 Jun 2009, 11:29

euh atta tu fais quoi là au juste ? oO
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: OS & compatibilités

Unread postby critor » 30 Jun 2009, 11:51

Je tente de dumper les ROMs 10.0 et 11.0 de la TI-82.


Et le problème, c'est que ces ROMs ne sont pas supportées par les shells/kernels existants.
(j'ai testé tous les shells et toutes leurs versions)

Les shells supportent les versions 16.0, 17.0, 18.0, 19.0, et certains 19.006.

Le problème est que beaucoup d'adresses ROM diffèrent.
Par exemple, la routine CLEAR_LCD n'est pas à la même adresse sur les 10.0 et 11.0 que sur les 16.0 et ultérieures.


Donc la seule façon de dumper ces ROMs, c'est de hacker un fichier backup à la dure, pour y inclure du code assembleur qui sera exécuté.
Dans le code assembleur, les ROM_CALLs sont interdits, puisque apparemment ces ROMs sont totalement différentes.

Pour le hack, il s'agit d'écraser temporairement l'adresse de la routine de gestion du clavier (appellée lors de l'appui sur toute touche) par l'adresse du code assembleur.

La 1ère touche frappée après le restore, exécute alors le code assembleur.


Bon, mon petit fichier backup évolue.

Il exécute le code suivant:
- mettre le curseur en colonne 10
- restaure le pointeur de gestion clavier (les touches suivantes seront traitées correctement)

(au moins avec le curseur, je vois que ça fait quelque chose)


Sur ma 19.006, parfait.
Sur ma 10.0 ou 11.0, le curseur va bien en colonne 10, mais les touches suivantes ne sont pas gérées correctement. Donc l'adresse de la routine de gestion clavier que je restaure (411B), n'est apparemment pas la même sur ces roms...

Il va falloir que je la trouve, car sinon même après l'exécution d'un dump éventuel, je n'aurais plus accès au TI-OS pour renvoyer sur l'ordi...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby tama » 30 Jun 2009, 12:11

oO technique tout ça
bonne chance en tout cas :D
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: OS & compatibilités

Unread postby critor » 30 Jun 2009, 18:59

Bon alors confirmation.

La ROM page variable (mappée entre 4000 et 7FFF) c'est bien la numéro 3.
(numéro de page lu par programme assembleur)

Je confirme que j'ai donc bien dumpées les ROM pages 0 et 3...

Bon maintenant faudrait vraiment que je trouve un moyen de mapper les pages 1, 2, 4, 5, 6 et 7...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby critor » 12 Jul 2009, 16:02

Bon, je reprends (et peut-être enfin termine) mon projet de numériser les roms TI-82 10.0 et 11.0.

Le problème est que la numérisation nécessite du code assembleur, que l'assembleur n'est pas officiellement supporté sur TI-82, et que les shells/kernels permettant de rajouter le support de l'assembleur ne supportent pas ces très vieilles roms.


J'avais déjà réalisé un fichier backup truqué pour forcer l'exécution de code assembleur Z80 (méthode expliqué précédemment).

Et bien enfin! Ce code assembleur fait tout ce qu'il faut pour dumper les roms:
  • restaure le pointeur de gestion du clavier (40F2 sur les roms 10/11, alors que c'est 411B sur les roms 16 et plus)
  • change la rom page (numéro de 0 à 7 à modifier dans le fichier backup avec un éditeur hexadécimal)
  • recopie 756 octets vers la mémoire graphique à partir de l'adresse rom (de 4000 à 7FFF à modifier dans le fichier backup avec un éditeur hexadécimal)

L'écran graphique montre alors visuellement la rom en binaire.

Après ça, il faut donc enregistrer le graphique dans une image (StorePic Pic6).
Et il faut encore envoyer l'image sur l'ordi, et bien la numéroter.


En comptant les 2 roms, ça va me faire au total 396 images à envoyer sur l'ordi...
Je ne sais pas si je terminerai ce soir, ou demain... pour l'instant j'en suis à 76 images (19%).

C'est la partie la plus rébarbative. Après, j'ai déjà un programme C pour concaténer automatiquement le tout en virant l'en-tête.

Bon, j'y retourne...


Peut-être l'été prochain je numérise la rom de la nSpire :;):
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby critor » 12 Jul 2009, 17:50

Dumping... 156/396 (39%)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby critor » 12 Jul 2009, 19:10

Numérisation en cours... 236/396 (60%)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: OS & compatibilités

Unread postby critor » 12 Jul 2009, 22:49

100%!!! :#tritop#:
Dumping terminé.

Je dois encore:

1) concaténer les images pour générer les 2 roms
2) tester la cohérence des roms (j'espère ne pas avoir interverti de fichier)
3) tester l'émulation
4) patcher un des shells/kernels disponibles pour supporter ces roms
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42493
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

PreviousNext

Return to Actualités

Who is online

Users browsing this forum: ClaudeBot [spider] and 11 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2027 utilisateurs:
>2011 invités
>9 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)