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 - Discussions


Index du Forum » Discussions » fx-9750GIII Storage Memory Crash
Calcloverhk En ligne Membre Points: 328 Défis: 10 Message

fx-9750GIII Storage Memory Crash

Posté le 26/10/2020 10:10

Updated in 2023-12-7 UTC+8

Introduction
In August 2020, I encountered the problem on my fx-9750GIII where I couldn't use my storage memory. Later, I found that a file with impossible name "僂ASSE.g1m" appeared in my calculator stoarge and couldn't delete it in any available ways. After investigation it's confirmed that this file was originally "-CASSE.g1m" from Calcraft. The reason of having a Chinese character is that the hex code of "僂" is the combination of the hex codes of "-" and "C".

Affected models
Possibly all USB Power Graphic 3 models
- fx-9750GIII: CalcLoverHK, PhantomOverrideAlpha, laomo, 0070, zhuchaokn
- fx-9860GIII: yukki410
- Graph 35+E II: yet to be seen

Characteristics
- Unable to modify the storage memory (even "Initialize All" won't work)
- LINK app shows error "Data conversion failed."
- Windows reports error 0X8007045D (I/O device error) when attempting to modify the storage content
- (Uncertain, happened once) A file with impossible name (e.g. 僂ASSE.g1m)

Possible procedures
1. Install C.Basic for FX (important as while it's possibly the main cause, it's also used to execute the workaround syscall below)
2. Create a new program file in SMEM mode and save it without typing anything, then re-open the file OR open an existing file in SMEM mode
3. Type something randomly and delete what you've exactly typed (even typing and then deleting a single letter works, just make sure the final modified file is exactly the same as the original one)
4. Save the file by pressing [EXIT]
5. The moment when you get a "Can't delete file" error pop-up with error code -6 is where this bug is triggered

At first it seems like nothing happened after the error, but as the time passes under normal use, C.Basic starts to pop up the same error more frequently and eventually even a modified program with a single letter added can't be saved.

Reasons
Deducing from the error description ("Can't delete file"), it appears that C.Basic saves a file by deleting the original file first and creating another one with exactly the same content as the modified one. If there is no actual change in the latter one however, C.Basic may confuse between both files and thus being unable to delete the proper file, while forgetting to change the Bfile status from "file opened" state to "ready" state.

However, such problem also appears in other users' GIII calculators without C.Basic, and the reasons for them are unclear.

Workaround
Warning! This method can only be used on the USB Power Graphic 3 models!
Kudos to yukki410 for discovering this method!
Execute Syscall(0x205) in C.Basic and restart the calculator.

Edit (2023-12-7):
I did more tests on this bug after Sentaro21's return on C.Basic development. Unfortunately, the SMEM on my fx-9750GIII is now permanently unusable without C.Basic after initializaing. Somehow it successfully deleted the whole memory while keeping the SMEM in the locked state. Nevertheless, it confirmed a few things.

> This bug can happen even under C.Basic's default settings.
> You may notice a significantly slower speed of saving program while repeating the procedures.
> Suprisingly Syscall(0x205) becomes one of the main causes of this bug. If you manage to trigger the bug using the workaround/still fail to access SMEM after doing it, DO NOT initialize the whole calculator and keep it as is. C.Basic is probably your last resort to dodge this problem.

If you have any other method to solve this problem, feel free to post it here! Thanks for your help and also @Lephenixnoir @Yatis for helping me tackle the problem ever since the encounter of this bug


Précédente 1, 2, 3, 4, 5, 6
Fries Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 07/12/2023 21:19 | #


Calcloverhk a écrit :
Updated the thread on the current situation of my fx-9750GIII.

@Lephenixnoir
Thanks for the months of your research once again
all hail lephen
Fries Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 10/12/2023 21:28 | #


i noticed that the "Save F" folder in the calculator is missing when i plug it into my pc
Fries Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 10/12/2023 21:40 | #


idk why i tried it again and expected it to might not be broken 😂
Mexischillax Hors ligne Membre Points: 13 Défis: 0 Message

Citer : Posté le 29/12/2023 20:42 | #


Been a while since I last checked (had work). Back now
hm, this must be a complicated problem
Mexischillax Hors ligne Membre Points: 13 Défis: 0 Message

Citer : Posté le 29/12/2023 20:42 | #


still hasn't been solved.
Mexischillax Hors ligne Membre Points: 13 Défis: 0 Message

Citer : Posté le 31/12/2023 04:15 | #


it has been 6 months since i last added a game to my calculator
Mexischillax Hors ligne Membre Points: 13 Défis: 0 Message

Citer : Posté le 31/12/2023 04:22 | #


Fries a écrit :
idk why i tried it again and expected it to might not be broken 😂
same here bro, all we can do is wait for lephenix...
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 12/01/2024 00:57 | #


Alright, well new update but no good news yet.

I successfully located the function that invokes test menu when a certain key combination is pressed. Turns out, the key combination has not changed. Instead, the function is now called with a different parameter which causes the key combination to be ignored entirely...

I have another lead which is to use the OS-update program to call the test menu. I will go on a research trip to see if this is feasible.
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 12/01/2024 22:24 | #


I have started my attempts to open the test mode menu using the OS update mechanism with p7os and a so-called UpdateExe program.

Long story short, I was able to make the program in question and it mostly works on an old G-II. But on the G-III the Protocol 7 exchange fails rather badly, suggesting either the function is ignored or the protocol is different. I have observed this with both the OS update function of the SYSTEM app (F6, F5) and the OS ERROR mode.

I fear I'm mostly out of leads now. How difficult can it be to get into that menu?
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 13/01/2024 00:10 | #


Update: All hope is not lost. After debugging with Cake I identified a bug in Lailouezzz's p7os fork. The protocol is indeed different for the G-III but it's mostly a wrapper (SCSI) around the original protocol (Protocol 7). After fixing a bug in the wrapper I am now able to continue.

Currently, I was able to send my custom "test-menu-opener" to a G-III using the OS update mechanism. The program runs a bit weirdly; the test menu closes immediately and then the program continues (showing a black screen). I will now investigate further.
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 13/01/2024 11:44 | #


To save time later, could you please both confirm which OS version you have? I'll probably have to try calling functions by their absolute address and these change with every version.
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Calcloverhk En ligne Membre Points: 328 Défis: 10 Message

Citer : Posté le 13/01/2024 11:59 | #


fx-9750GIII with OS 03.70.3200
Calculators (MyCalcs profile) fx-50FH II, fx-991ES PLUS-2, fx-3650P II, fx-9750G III, fx-9860G Slim, fx-9860G II SD, fx-9860G II SD-2, fx-CG20 CN, fx-CG50

C.Basic Wiki Project progress as of 2024/2/12
   30%
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 13/01/2024 12:06 | #


Wait is your calculator also locked at the moment?!
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Calcloverhk En ligne Membre Points: 328 Défis: 10 Message

Citer : Posté le 13/01/2024 12:32 | #


Yes, and locked without C.Basic after initializing.

Calcloverhk a écrit :

Edit (2023-12-7):
I did more tests on this bug after Sentaro21's return on C.Basic development. Unfortunately, the SMEM on my fx-9750GIII is now permanently unusable without C.Basic after initializaing. Somehow it successfully deleted the whole memory while keeping the SMEM in the locked state. Nevertheless, it confirmed a few things.

> This bug can happen even under C.Basic's default settings.
> You may notice a significantly slower speed of saving program while repeating the procedures.
> Suprisingly Syscall(0x205) becomes one of the main causes of this bug. If you manage to trigger the bug using the workaround/still fail to access SMEM after doing it, DO NOT initialize the whole calculator and keep it as is. C.Basic is probably your last resort to dodge this problem.

I remember I told you about this situation at that day though x)
Calculators (MyCalcs profile) fx-50FH II, fx-991ES PLUS-2, fx-3650P II, fx-9750G III, fx-9860G Slim, fx-9860G II SD, fx-9860G II SD-2, fx-CG20 CN, fx-CG50

C.Basic Wiki Project progress as of 2024/2/12
   30%
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 13/01/2024 17:39 | #


Ah, that's right... but because you appeared to be working on C.Basic I thought it was fine for a moment. x)
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24068 Défis: 169 Message

Citer : Posté le 13/01/2024 20:25 | #


Back to bad news. I've disassembled the test menu code from OS 3.40 (the one that my Graph 35+E II is using). Turns out the reason the test menu closes immediately is because all the user interface code has been removed from the function. Clearly it's an intentional removal by CASIO.

If there's no user interface then I thought I could look for the long-sought "low-level Fugue format" function in the code itself. But the truth is that there is just the tiniest bit of user interface code left, and that is the list of strings normally displayed in the test menu. The array is still there, so we can look at the strings. The strings are still the same as old non-Fugue OS versions, they don't have the "File system" section that the fx-CG has which is where the low-level Fugue format function is normally located.

So if the format function is available at all then it's not from there, and I don't know from where.

The closest idea I have to a lead at the moment is to look for how this function can be reached in the fx-CG OS and somehow hope that it is available in a similar way in the G-III OS. But this is so fuzzy it's not even worth pursuing as is, in my opinion. So it's almost back to square one, I fear.
Mon graphe (25 Fév): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Mexischillax Hors ligne Membre Points: 13 Défis: 0 Message

Citer : Posté le 24/01/2024 07:52 | #


thats not good...
Précédente 1, 2, 3, 4, 5, 6

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 40 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