Casio fx-7000G - Trucs et astuces.

Obtenir 630 pas de programmation
Obtenir 1265 pas de programmation
Encodage utilisé sur la Casio FX 7000g

Obtenir 630 pas de programmation

Suivez la procédure suivante pour passer de 422 pas de programmation à 630:
1- retirer les piles
2- attendre 5 minutes
3- remettre les piles, NE PAS FAIRE DE RESET
4- allumer la calculatrice (régler le contratse si nécessaire avec MODE et les touches fléchées droite ou gauche)
5- faire [MODE 3] et regarder. Normalement, les 10 emplacements de programmes sont notés comme occupés, et le nombre de pas de programmation est fantaisiste (supérieur à la normale, souvent dans les 700 pas pour ma machine).
6- effacer tous les programmes avec [SHIFT DEL]
7- si vous avez directement 630 pas de programmation, et que tous les programmes sont bien effacés, passez au point 11
8- si vous avez un nombre de pas de programmation fantaisiste (dans les 40000, voire 60000), mettez vous en [MODE 2]

après avoir retiré les piles valeurs fantaisistes après effacement des programmes
après avoir retiré les piles valeurs fantaisistes après effacement des programmes

9- entrez dans le programme 0 (positionnez vous sur le premier "_" à l'écran, et appuyez sur la touche [EXE]), puis effacez une partie du programme (touche [DEL] plusieurs fois) jusqu'à obtenir une erreur.
10- éteignez alors la machine, rallumez-la. Vous pouvez alors recommencer la manipulation à partir du point 5. Il se peut que vous ayez à faire ces manipulations plusieurs fois de suite, que vous ayez des "erreurs système". Il faut persister jusqu'à obtention de 630 pas. En général, si vous arrivez à avoir 4095 pas de programmation et les 10 programmes occupés, vous touchez au but, l'effacement suivant donne les fameux 630 pas.
valeurs fantaisistes après effacement des programmes 630 pas, enfin !
encore des valeurs fantaisistes après effacement des programmes, mais on approche ! 630 pas, enfin !

11- A ce stade, vous avez "hacké" la machine. La mémoire réservée aux variables (de A à Z, soit 26 lettres, chacune occupant 8 octets) a été convertie en mémoire programmable. On a bien:
  422 (octets de base)
+ 26*8 (octets occupés par les variables en mémoire)
= 630.
La commande DEFM (appelée par [MODE .], voir manuel français p.111) affiche bien 0 mémoires restantes.
Vous pouvez utiliser votre machine ainsi. Attention toutefois, si vous utilisez des mémoires dans vos programmes (A, B, C, tableaux...), veillez à ce que la somme de l'espace mémoire utilisé et du nombre de pas de votre programme n'excède pas 630. Faute de quoi vous aurez de sérieux problèmes, vous predrez votre programme.
A priori, la mémoire A correspond à l'espace mémoire haut (elle occupe donc les octets 623 à 630), alors que votre programme lui part de 0. Utilisez donc en priorité les mémoires A, B, C, D, ...
mémoire:
0                          422                       630   
[programmes ................ mémoires Z Y X W ... C B A]
Mais cet inconvénient a ouvert la porte à un autre "hack" intéressant, qui consiste à avoir encore plus de mémoire !

Obtenir 1265 pas de programmation.

Vous devez avant tout avoir réalisé le hack "630 pas de programmation".
Voici la suite:

1- tous les programmes doivent être vides et les 630 pas disponibles. Mettez vous en [MODE 2], mode de programmation
2- entrez dans le programme 0 (se positionner sur "0" à l'écran, et appuyer sur la touche [EXE]), et tapez le programme suivant:

0->A~Z:Prog1:"    ...(entrez ici une chaine pour totaliser 600 caractères) ...          "
Puis sortez ([MODE 2]).
Faites en sorte que le programme 0 fasse 600 octets. Il doit rester 30 octets.
Ce programme déborde allègrement dans l'espace réservé aux mémoires, et s'amuse à les utiliser en même temps. Tout ce qu'il ne faut pas faire, normalement ;-)
3- entrez dans le programme 1 (se positionner sur "1" à l'écran, et appuyer sur la touche [EXE]), et tapez le programme suivant:
PlotA,B
4- Revenir en [MODE 1]
5- Exécuter le programme 0 avec l'ordre suivant: Prog0
6- Vous devriez obtenir une "Syn ERROR Step P1-0". Appuyer sur [AC]
7- Mettez vous en [MODE 2], mode de programmation
8- Positionnez vous sur le "_" du programme 1, entrez dedans avec [EXE], puis pressez exactement quatre fois [DEL].
9- Remettez vous en [MODE 2], mode de programmation. Normalement, le programme 1 a été entièrement effacé, vous ne devriez plus voir que le programme 0 occupé (soit "_123456789")
10- Entrez dans le programme 0. Et là, vous pouvez pressez la touche [DEL] exactement... 1235 fois ! Ne faites pas attention au "bazar" que vous pourriez voir à l'écran, continuez consciencieusement. Vous pouvez régulièrement contrôler où vous en êtes en repassant en [MODE 2]. Arrêtez vous lorsque vous aurez totalisé 1265 pas de programmation libres (affichés par le [MODE 2]).
1265 pas, enfin ! Programme visible sur l'écran graphique.
1265 pas, enfin ! Programme visible sur l'écran graphique.

Explications:
Nous venons, par cette manipulation, de convertir la mémoire graphique de la casio FX 7000g en mémoire programmable. Les conséquences de cette manipulation sont les suivantes:
- le programme 0 n'est plus utilisable. Il faut aussi éviter de toucher au programme 1, si ma mémoire est bonne.
- comme pour le "hack" des 630 octets, méfiez-vous de l'utilisation des mémoires si vos programmes sont grands.
- le mode graphique devient inutilisable. Si vous passez en mode graphique (touche [G<->T]), vous aurez une erreur si aucun programme n'existe "Ma ERROR Step 0"). Si vous avez entré un programme, vous verrez s'afficher sur l'écran graphique sous forme binaire (8 pixels verticaux) chaque caractère ou chaque commande de votre programme. Toute altération de l'écran graphique modifiera votre programme !
Ceci a permis de déterminer l'encodage utilisé sur la Casio FX 7000g. L'autre conséquence est de vous permettre d'utiliser, dans vos programmes, des minuscules, ou toute autre commande, non accessible à partir du clavier mais que vous pourrez coder à partir de l'écran graphique avec la commande PLOT X,Y. Pour un valeur de RANGE graphique standard (-4,7;4,7 et -3,1;3,1), le premier octet du Programme 2 sera affiché sur l'écran graphique en coordonnées X=0,8 et Y=-2,3; sur une hauteur de 8 pixels.
- pourquoi précisément 1265 ? C'est un constat: je n'ai jamais eu de problèmes avec cette valeur. Il doit être possible de gagner encore quelques dizaines d'octets, mais à vos risques et périls. Il suffit de voir, sur l'écran graphique, qu'il reste quelques pixels à droite du "début" du programme. Il reste également une ligne entière en bas de l'écran, à vous de vérifier si elle peut être utilisée.

Pour revenir à 630 pas de programmation, se mettre en [MODE 3] et effacer tous les programmes avec [SHIFT DEL].



Simon Guyart 2005.