π
<-
Chat plein-écran
[^]

OS & compatibilités

Nouveautés, projets, mises à jour.

Re: OS & compatibilités

Message non lude critor » 29 Juin 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
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: OS & compatibilités

Message non lude critor » 30 Juin 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
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: OS & compatibilités

Message non lude tama » 30 Juin 2009, 11:29

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

Pas de support par MP, merci.
Avatar de l’utilisateur
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 40%
 
Messages: 10994
Inscription: 19 Déc 2005, 00:00
Localisation: /dev/null mais je survis :)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: epita ING3 \o

Re: OS & compatibilités

Message non lude critor » 30 Juin 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
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: OS & compatibilités

Message non lude tama » 30 Juin 2009, 12:11

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

Pas de support par MP, merci.
Avatar de l’utilisateur
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 40%
 
Messages: 10994
Inscription: 19 Déc 2005, 00:00
Localisation: /dev/null mais je survis :)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: epita ING3 \o

Re: OS & compatibilités

Message non lude critor » 30 Juin 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
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: OS & compatibilités

Message non lude critor » 12 Juil 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
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: OS & compatibilités

Message non lude critor » 12 Juil 2009, 17:50

Dumping... 156/396 (39%)
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: OS & compatibilités

Message non lude critor » 12 Juil 2009, 19:10

Numérisation en cours... 236/396 (60%)
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: OS & compatibilités

Message non lude critor » 12 Juil 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
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

PrécédenteSuivante

Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 69 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.
1478 utilisateurs:
>1462 invités
>11 membres
>5 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)