Updated in 2023-12-7 UTC+8
fx-9750GIII Storage Memory Crash
Posté le 26/10/2020 10:10
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".
Possibly all USB Power Graphic 3 models
- fx-9750GIII: CalcLoverHK, PhantomOverrideAlpha
- fx-9860GIII: yukki410
- Graph 35+E II: yet to be seen
- 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)
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.
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.
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.
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