la TI-84+, comme une peau de chagrin
Posted: 05 Oct 2009, 23:17
Quand vous utilisez votre TI-84+(SE), le système vous donne accès à 32Ko de mémoire RAM.
Vous ne le saviez peut-être pas, mais la TI-84+(SE) dispose en fait d'une puce RAM de 128Ko.
Que fait le système avec les 96Ko restants?
Rien!
Il ne les gère pas, il ne s'en occupe pas.
TI avait au départ annoncé qu'ils utiliseraient cet espace supplémentaire plus tard - ce qui ne s'est jamais concrétisé.
Mais plusieurs applications ont pris pour habitude de tirer avantage de cette mémoire cachée:
* TI-Boy SE, l'émulateur de Game Boy
* emu8x, émulateur de TI-82/83/85/86
* OmniCalc, pour faire une sauvegarde des premiers 32Ko de RAM en cas de plantage, et pour disposer virtuellement d'une 2ème calculatrice
Et ces dernières années, un problème est apparu avec les dernières TI-84+: les applications ci-dessus plantent.
Des programmes assembleurs montrent que sur ces calculatrices, seuls 48Ko de RAM sont accessibles.
Des tests plus poussés que j'ai réalisés ce week-end ont permis de cerner précisément le problème.
1) Le problème concerne uniquement les calculatrices TI-84+(SE) ayant un matériel en version H ou supérieure.
Pour connaître la version de votre matériel, retournez votre calculatrice et regardez tout à droite du numéro de série.
* Si ça se termine par un chiffre, vous avez la première version du matériel (aucun problème).
* Si ça se termine par une lettre de A à G, aucun problème non plus.
* Si ça se termine par une lettre H ou plus (J, K, L, M ...), vous avez une calculatrice qui a le problème.
2) D'où vient la différence?
Le matériel utilise une puce combinant le processeur, et la mémoire RAM.
Il y a eu 3 versions de la puce.
* D'abord, la TI-REF 83PLUSB/TA2, avec 36x36 broches:
* Puis, la TI-REF 84PLUSB/TA3, avec 36x36 broches, jusqu'à la version G:
* Enfin, la TI-REF 84PLCR/TA1, avec 25x25 broches, depuis la version H:
Comme vous voyez, la dernière version de la puce est bien différente des deux autres.
Elle comporte beaucoup moins de broches.
Nous avons un problème de RAM, à partir du moment où cette puce commence à être utilisée... Donc elle est certainement fautive!
2 explications sont avancées:
* soit elle contient bien 128Ko de RAM, mais le code assembleur pour y accéder a changé
* soit cette puce ne contient que 48Ko de RAM, et dans ce cas-là il n'y a aucune solution pour faire marcher les applications cités plus haut (vous ne pourrez jamais jouer à la Game Boy)
Ce n'est pas certain, mais cette dernière solution semble la plus probable...
La puce a moins de broches...
Les 128Ko de RAM n'ont jamais été utilisés officiellement (c'est-à-dire par TI)
Donc pourquoi TI ne les remplacerait-il pas par 48Ko (maintenant que ce modèle est abandonné et n'évoluera plus jamais - dernier système publié en 2007) ?
Cela permet à TI d'économiser sur la chaîne de montage.
Vous ne le saviez peut-être pas, mais la TI-84+(SE) dispose en fait d'une puce RAM de 128Ko.
Que fait le système avec les 96Ko restants?
Rien!
Il ne les gère pas, il ne s'en occupe pas.
TI avait au départ annoncé qu'ils utiliseraient cet espace supplémentaire plus tard - ce qui ne s'est jamais concrétisé.
Mais plusieurs applications ont pris pour habitude de tirer avantage de cette mémoire cachée:
* TI-Boy SE, l'émulateur de Game Boy
* emu8x, émulateur de TI-82/83/85/86
* OmniCalc, pour faire une sauvegarde des premiers 32Ko de RAM en cas de plantage, et pour disposer virtuellement d'une 2ème calculatrice
Et ces dernières années, un problème est apparu avec les dernières TI-84+: les applications ci-dessus plantent.
Des programmes assembleurs montrent que sur ces calculatrices, seuls 48Ko de RAM sont accessibles.
Des tests plus poussés que j'ai réalisés ce week-end ont permis de cerner précisément le problème.
1) Le problème concerne uniquement les calculatrices TI-84+(SE) ayant un matériel en version H ou supérieure.
Pour connaître la version de votre matériel, retournez votre calculatrice et regardez tout à droite du numéro de série.
* Si ça se termine par un chiffre, vous avez la première version du matériel (aucun problème).
* Si ça se termine par une lettre de A à G, aucun problème non plus.
* Si ça se termine par une lettre H ou plus (J, K, L, M ...), vous avez une calculatrice qui a le problème.
2) D'où vient la différence?
Le matériel utilise une puce combinant le processeur, et la mémoire RAM.
Il y a eu 3 versions de la puce.
* D'abord, la TI-REF 83PLUSB/TA2, avec 36x36 broches:
* Puis, la TI-REF 84PLUSB/TA3, avec 36x36 broches, jusqu'à la version G:
* Enfin, la TI-REF 84PLCR/TA1, avec 25x25 broches, depuis la version H:
Comme vous voyez, la dernière version de la puce est bien différente des deux autres.
Elle comporte beaucoup moins de broches.
Nous avons un problème de RAM, à partir du moment où cette puce commence à être utilisée... Donc elle est certainement fautive!
2 explications sont avancées:
* soit elle contient bien 128Ko de RAM, mais le code assembleur pour y accéder a changé
* soit cette puce ne contient que 48Ko de RAM, et dans ce cas-là il n'y a aucune solution pour faire marcher les applications cités plus haut (vous ne pourrez jamais jouer à la Game Boy)
Ce n'est pas certain, mais cette dernière solution semble la plus probable...
La puce a moins de broches...
Les 128Ko de RAM n'ont jamais été utilisés officiellement (c'est-à-dire par TI)
Donc pourquoi TI ne les remplacerait-il pas par 48Ko (maintenant que ce modèle est abandonné et n'évoluera plus jamais - dernier système publié en 2007) ?
Cela permet à TI d'économiser sur la chaîne de montage.