Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Transformer Graph35+USB en Graph75
Critor Hors ligne Administrateur Points: 2687 Défis: 18 Message

Transformer Graph35+USB en Graph75

Posté le 25/12/2010 01:10



Ce tutoriel n'est plus à jour !
Nous te conseillons de lire celui-ci :
tutoriel par Dark Storm


---------------------------------------


Bonjour,


J'ai réalisé un petit tutoriel afin de transformer gratuitement et sans danger votre Graph 35+USB en une Graph 85 ou même Graph 75.

Vous disposerez alors de toutes les fonctionnalités logicielles des Graph 85/75:
* le tableur intégré
* 1,5Mo de mémoire de stockage
* le support des add-in pour Graph 85/75/85SD/95


J'ai fait le maximum pour que le tutoriel soit détaillé, clair et accessible à un publique scolaire.

Merci de me faire part de vos suggestions afin de l'améliorer.

Joyeux Noël à tous, avec vos nouvelles Graph 75!

Tutoriel format PDF

fxRemote

Télécharger un OS déjà modifié : Graph 85, Graph 95 lien.

Si vous rencontrez des problèmes, lire ce post sur UCF, Casio a depuis mis à jour l'OS.

Edit de Critor: Tutoriel mis à jour avec les nouvelles versions de l'OS.


Des problèmes? Suis ces étapes!
Cliquer pour enrouler
Quelques questions pour guider tes recherches (suit les numéros) :

1) Quelle version des logiciels utilises-tu ? fxRemote ou pfxRecover ?
- pfxRecover 5
- fxRemote 2

2) Quelle étape ne fonctionne pas ?
- Backup Flash 3
- Recover Flash 4

3) Théoriquement, tu n'as pas besoin de faire de backup. Il y en a de partout sur le site.

4) As-tu fait la manip' pour la mettre en mode "OS Error" (pour le mode "Recover Flash") ?
- Oui 6
- Non 7

5) Commence par installer fxRemote disponible ici puis réessaye. Si ça ne marche toujours pas, 2

6) As-tu vérifié à bien prendre un OS de même version que celui de ta G35+USB ? La version de l'OS se trouve dans le menu "Système" -> [F4]. Si votre OS est du type 02.00.**** ou 02.01.****, prenez une version 02.01.****. Si c'est un 02.02.****, prenez un 02.02.****. Attention, un OS contenant le mot "slim" n'est pas pour vous, il s'adresse aux anglophones possédant ce modèle. Si vous l'installez, vous aurez surement tout un tas de bugs !
- Oui 8
- Non 9

7) Met la calto en mode "OS Error". Pour cela, suis les étapes suivantes :
- Appuie sur "Restart" (avec un stylo par exemple) au dos de ta calto (NB: ça n'efface rien du tout dans la mémoire)
- Tout en appuyant sur "Restart", appuie en même temps sur "F2" - "4" - "Ac/ON"
- Relâche le bouton "Restart", mais garde pressés les autres.
- Relâche tout, et successivement, appuie sur "9" puis "X" (au dessus du "+").
Puis 10

8) Je t'invite à laisser un message sur le forum, ton cas me parait désespéré. Fais attention à bien décrire ton problème (erreur, etc.)

9) Prend le bon OS. Si tu ne sais pas comment ça marche, un OS 02.01.2020 correspond à un fichier OS_02_01_2020_SH3.fls.
Puis recommence la manipulation (à partir de Recover Flash)

10) Le message "OS Error, please update OS" s'affiche-t-il à l'écran de ta Casio ?
- Oui : branche ta casio à l'ordinateur, lance fxRemote, puis fait "Recover". Si tu as toujours un problème, 6
- Non : Recommence la manipulation du 7.
- Cela fait 3-4 fois que je refais la manip', mais je n'obtient toujours rien : courage, tu va y arriver. Essaye d'allonger un peu les temps entre l'appui sur les touches. Inutile de se presser


Dernière modification le 29/01/2014 par Dark Storm : ajout d'une note quand aux OS de Fx-9860g Slim.


Précédente 1, 2, 3 ··· 10 ··· 20 ··· 30 ··· 40 ··· 42, 43, 44, 45, 46, 47 Suivante
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 16/03/2016 23:36 | #


OS 2.05 writes exam mode information to addresses 0x250016 or 0x260016. This is within the MCS backup area (0x250000..0x26FFFF). No MCS data is backed up during exam mode. Press RESTART and your data is gone.

Possible values:
0xFF: exam mode off
0x95: exam mode on (French mode)
0x05: exam mode on (12h expiration)

In fxRemote, enable the setting "Recover Main Memory Backup Area" to overwrite the MCS area.
Ensure that the new data is either empty or does not have exam mode information included.

Prizm OS 2.02 may also store some exam information in the MCS backup.
Additionally, extra data is stored starting at address 0xB20000.
This is a new writable area within the OS image (0x20000..0xB5FFFF).
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 16/03/2016 23:37 | #


Enlève moi d'un doute, flasher l'OS ne flash pas les 4 Mio non ? Les programmes sont sauvegardés en général. Donc le ME pourrait être dans le coin.

Ajouté le 16/03/2016 à 23:38 :
Ah bah merci Teamfx

So… Thanks Teamfx
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 17/03/2016 13:42 | #


But 0x250016 is supposed to be in P0 space, right ? Where does it physically reside ?

And it's right, OS recovery only erases 2.5 Mio of memory space.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 17/03/2016 22:16 | #


But 0x250016 is supposed to be in P0 space, right? Where does it physically reside?

No, this is only a flash memory offset (0..0x3FFFFF).
Otherwise it would be virtual address space.

The upper three address bits define the address translation.
To read from the MCS area, use addresses 0xA0250000..0xA026FFFF (uncached access - slow) or 0x80250000..0x8026FFFF (cached access - fast).

And it's right, OS recovery only erases 2.5 Mio of memory space.

In fxRemote, enable the setting "Delete storage memory" to erase the storage area.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 18/03/2016 12:39 | #


I see. Does exam mode allows add-in execution ? In this case, we could possibly overwrite some memory areas, right ? There should be a way if the system does it for storage memory access or OS recovery. (I haven't found anything in the documentation, if you've got anything please share a link )

By the way, what is MCS exactly ? I've seen it everywhere in the documentation but no research could help me find out what it is.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2687 Défis: 18 Message

Citer : Posté le 18/03/2016 15:18 | #


Lephenixnoir a écrit :
I see. Does exam mode allows add-in execution ?

No add-in can be run in exam mode, not even official add-ins from Casio (Physium, Geometry...).

Diagnostics menu cannot be accessed in exam mode either (you get the exam mode popup instead of the diagnostics popup when turning on the calculator while holding the required keys).

You might be able to reset the MCS with a computer, which is not a problem - exam regulations authorities require that the exam mode cannot be disabled from the calculator itself.

You're supposed to be able to exit exam mode by sending any data from another compatible calculator which is not in exam mode.
The micro SD interface is able to send some compatible data (list of card files as a text-program) to the calculator by pressing its button.
I don't know why, but it works when the latest Graph 25+E/35+E/75+E are not in exam mode, and you get a link error when they are in exam mode.



So the Casio exam mode looks secure.
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 18/03/2016 15:38 | #


Some exam mode documentation begins at page 8:
http://support.casio.com/fr/manual/004/GRAPH75+E_35+E_25+E_Soft_FR.pdf

By the way, what is MCS exactly? I've seen it everywhere in the documentation but no research could help me find out what it is.

MCS is the Casio-internal term for the 64 KB of main memory data that can be viewed in the memory manager. Actual RAM size is 512 KB on GII models. MCS could stand for Memory Core System. Early fx-9860G OSes 1.00 up to 1.02 did not save MCS data to the flash chip. If you removed the batteries, then all your data was lost.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/03/2016 11:02 | #


Ok, so you really can't do anything while in exam mode.

So MCS only covers the main memory. Do you know a way to write directly in the ROM area without calling Bfile ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 20/03/2016 11:56 | #


Do you know a way to write directly in the ROM area without calling Bfile?

This is what I have found in some older Insight.g1a source code:

SYSCALL 01C8, _i_Flash_Read
SYSCALL 01C9, _i_Flash_Write
SYSCALL 01CA, _i_Flash_EraseSector

void i_Flash_EraseSector( int sector ); // refer to the flash chip manual
void i_Flash_Write( int address, char*buffer, int count );
void i_Flash_Read( int source, void*target, int count );

I did not use them so far.
+++ Erasing or overwriting the boot area will destroy your calculator! +++
CAUTION: These routines must not overwrite themselves!
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/03/2016 12:00 | #


Thanks, this may be useful to us

Teamfx a écrit :
+++ Erasing or overwriting the boot area will destroy your calculator! +++

According to the CPU documentation, this area is just at 0xa0000000. Is it right ?

Is there actually a possibility of accidently overwriting the boot area if you know where it is located ?

By the way, in write() and read() (I believe we won't use erase() ), what do address and source refer to exactly ?

Edit : Don't worry, we ain't going to use them randomly. I'm not even sure we will use them at all, not if it is safer to edit to OS save on the computer
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 20/03/2016 14:25 | #


According to the CPU documentation, this area is just at 0xA0000000. Is it right?

The boot area resides at addresses 0xA0000000..0xA000FFFF or 0x80000000..0x8000FFFF
Yet, there are shadow areas and writing to them may also kill the boot code.
Areas like: 0xA0400000..0xA040FFFF, 0xA0800000..0xA080FFFF, 0xA0C00000..0xA0C0FFFF, ...

Is there actually a possibility of accidently overwriting the boot area if you know where it is located?

If you are not careful enough, a stupid programming error will kill it!

By the way, in write() and read(), what do address and source refer to exactly?

READ: source is probably the flash read address, target the buffer to save the result and count the number of bytes to read.
WRITE: address is probably the flash write address, buffer the buffer to hold the write data and count the number of bytes to write.
ERASE: sector is probably the flash sector number to be erased.
+++ Be careful with low sector numbers because of the boot area! +++
CAUTION: These routines must not overwrite themselves!

Flash writing and reading is done bytewise, but erasing is always done sectorwise.
One sector appears to be 64 KB in size, but some chip areas may have different sector sizes.
Reading doesn't require a special syscall. E.g., you can use "*(unsigned long *)0xA0000000" to read the first four bytes of boot code.

I believe we won't use erase()

Flash writing can only change binary '1's to '0's, so continuous overwriting will end up with all bits being '0's.
Meaningful flash writing therefore requires a preceding sector erase which changes all '0's to '1's.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/03/2016 14:36 | #


Teamfx a écrit :
Yet, there are shadow areas and writing to them may also kill the boot code.
Areas like: 0xA0400000..0xA040FFFF, 0xA0800000..0xA080FFFF, 0xA0C00000..0xA0C0FFFF, ...

Ok, just hearing that tells me I'm not going to use them.

Teamfx a écrit :
If you are not careful enough, a stupid programming error will kill it!

Still, you could add the security that fits each version of the operating system but I understand the risks

Teamfx a écrit :
+++ Be careful with low sector numbers because of the boot area! +++

Yup, I'm not using the sector erase syscall anyway.

Teamfx a écrit :
Reading doesn't require a special syscall. E.g., you can use "*(unsigned long *)0xA0000000" to read the first four bytes of boot code.

So what is the read syscall for ?

Teamfx a écrit :
Flash writing can only change binary '1's to '0's, so continuous overwriting will end up with all bits being '0's.
Meaningful flash writing therefore requires a preceding sector erase which changes all '0's to '1's.

I should have read more documentation about the flash memory.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 20/03/2016 14:59 | #


So what is the read syscall for?

For code clarity I guess.

Flash writing and erasing is more complicated:
This requires commands (binary patterns) to be written to special flash addresses in a specific order.
Also, all interrupts should be disabled during write/erase access.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/03/2016 15:02 | #


Thanks for all this information

One last thing : I believe Kristaba had written an experimental driver for the storage memory that bypassed Bfile. Does this mean he had to use those syscalls ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 20/03/2016 15:28 | #


I believe Kristaba had written an experimental driver for the storage memory that bypassed Bfile. Does this mean he had to use those syscalls?

A read-only storage memory program might be possible if you know some parts of the file system structure or maybe some RAM file table. But writing files without Bfile syscalls would require low-level flash erase/write routines and the understanding of the entire file system characteristics.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 20/03/2016 15:32 | #


I'm pretty sure he could read and write files. I'll have a look at his sources if I can find them.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Teamfx Hors ligne Membre Points: 109 Défis: 0 Message

Citer : Posté le 20/03/2016 16:16 | #


I just remembered another important issue when it comes to flash writing:
The write/erase routines must not overwrite themselves!

Starting with fx-9860G OS 1.03 or 1.04, there is a copy of the flash write/erase routines stored in some CPU on-chip memory (SH-3: 0xA5600000, SH-4A: 0xFD800000). I don't know the exact addresses right now, but some disassembling should reveal them easily.


vivi28 Invité

Citer : Posté le 01/10/2016 15:19 | #


bonjours tout le monde,

voila mon problème, j'ai une graph 85 en 2.01 et je veut la mettre en 2.04 le soucis c'est que une fois avoir fini de charger l'image que j'ai trouver sur internet dans la calculatrice, elle redémarre mais est toujours en version 2.01 et je ne vois pas ou est le problème.
Si vous avez une solution je suis preneur
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 01/10/2016 16:00 | #


Comme indiqué en gros, en gras, en couleur en haut de ce sujet, il n'est plus à jour. Je te conseille donc de lire la version à jour : http://www.planet-casio.com/Fr/forums/topic13930-1-Ameliore_ta_Graph_35+_USB_E_en_Graph_75(+E)_!.html
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


vivi28 Invité

Citer : Posté le 01/10/2016 21:41 | #


en faite j'ai suivi la procédure au lien plus haut mais j'ai posté ma question la car j'ai vue qu'il y avait beaucoup de page de question, du coup je la repose sur l'autre page ?
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 01/10/2016 21:42 | #


C'est mieux. L'image 2.04, tu es sûr que c'est une image pour SH3 ? La Graph 85 est SH3 quoi qu'il arrive.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Précédente 1, 2, 3 ··· 10 ··· 20 ··· 30 ··· 40 ··· 42, 43, 44, 45, 46, 47 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 116 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd