sa méthode de détection de VTI qui exploite un vrai bogue de VTI me semble plus sûre.
C'est d'autant plus sûr qu'il ne s'agit pas vraiment d'un bug. L'opposé BCD d'un nombre hexadécimal, moi je connais pas. Le comportement est tout simplement indéfini et je me base sur cette différence. Si par hasard, quelqu'un veut supprimer tous les bugs de VTI, il ne touchera pas à ça.
Je trouve que c'est quand-même un bogue parce que VTI ne se comporte pas de la même manière qu'un vrai 68k.
Moi y'en a pas comprendre ! Comment tu fais "l'opposé BCD d'un nombre hexadécimal" ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
On commence par le début :
BCD =
Binary
Coded
Decimal
...
Tu veux la suite now ?

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Ben
tu prend ton chiffre en BCD
tu peut l'avoir en hexa nan ?
Genre si tu obtien
0b10111101
sa fait en hexa
0xBD
Et l'inverse, je pense qu'il parle du pbm de Big et Little endian
Donc sur le 68K sa te fait 0xBD en meme
et sur les x86 sa fait 0xDB
(si j'ai bien pigé se qu'il raconte)

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Ce qu'il veut dire que:
0x12345678 est un nombre BCD valide (correspondant à 12345678 tout simplement)
0xABCDEF12 ne l'est pas (as-tu déjà vu un nombre décimal noté ABCDEF12?)
Et ce qu'il utilise pour détecter VTI, c'est prendre l'opposé d'un nombre BCD invalide (de style 0xABCDEF12) avec l'instruction nbcd. VTI se comporte différemment qu'un vrai 68k dans ce cas.
Et il dit que faire l'ooposé d'un nombre BCD est impossible sur vrai 68k.
Comment il fait sur 68k émulé ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
C'est l'opposé d'un nombre BCD invalide (style 0xABCDEF12) qui est mathématiquement impossible! Le processeur renvoie donc une connerie ("garbage in, garbage out").
Le 68k donne le résultat qu'il a envie de donner, VTI en donne un autre qu'il a envie de donner, lui. La différence permet de détecter VTI.
C'est ce qu'il voulait dire par "hexadécimal".
Ha bon. C'est quoi le rapport ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Que ABCDEF12 n'est pas un nombre décimal (mais en base >=16, donc au moins hexadécimal). C'est pour ça que 0xABCDEF12 n'est pas un nombre BCD valide.
Ce qu'il veut dire par "hexadécimal" est que le nombre contient des chiffres qui n'existent qu'en hexa, pas en décimal (A, B, C, D, E, F).
Or, un nombre BCD ne peut contenir que les chiffres hexa qui existent aussi en décimal, par sa nature:
0x12345678 est la représentation BCD de 12345678 décimal.
0xABCDEF12 ne représente rien du tout en décimal.
au passage quelle est la routine officielle?
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
C'est celle conseillée maintenant par TIGCC:
1. On vérifie si FL_hardwareParmBlock est disponible. Si c'est non, c'est HW1 (TI-92+ AMS 1.00 - ça ne marche pas sur HW2).
2. On appelle FL_hardwareParmBlock.
(Remarque: La bêta la plus récente de TIGCC fait automatiquement les étapes 1 et 2 si on appelle FL_hardwareParmBlock.)
3. On vérifie si le champ hardwareRevision est présent. Sinon, c'est HW1.
4. On lit le champ hardwareRevision et on ajoute 1.
Alternativement, on peut aussi faire ça:
3. On vérifie si le champ gateArray est présent. Sinon, c'est HW1.
4. On lit le champ gateArray.
mais selon Scott Noveck, ce n'est pas la méthode officielle.
Donc si j'ai bien pigé la routine officielle (celle du post #1) retourne en d0
1: si c'est HW1
2: si c'est HW2
???
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
J'ai un doute là.
On ne palrait pas de la détection de VTI plutôt ?
Maintenant on fait des films, et on les envoie par ondes. Par ondes ? par waves ! par radio-waves !
Euh comment on l’envoie ? Par des feeling ! Electricité ! (...) Mais dans une compression tout à fait plate !
Ca devient du feeling ! Et le feeling c’est l’amour ! Et l’amour se dit aware !
Jean-Claude Van Damme
À moi?
Oui, la routine retourne 1 pour HW1 et 2 pour HW2.