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 - Autres questions


Index du Forum » Autres questions » Is it possible to access "disallowed" memory?
Prgmprotogen Hors ligne Membre Points: 55 Défis: 0 Message

Is it possible to access "disallowed" memory?

Posté le 19/04/2026 09:54

Is there a way to directly access "unconventional memory" in programs compiled with the official Casio SDK? Unless I'm mistaken, I believe the calculator gives Add-In programs 8K of RAM to work with, but keeps some extra memory on hand for system functions and variables. I'm not interested in completely using every bit of the extra memory, but I'd like to access and modify specific system data like what SAVEDISP_PAGE represents, if there's any way to do so. (Specifically, I'd like to decompress fullscreen graphics and load the data directly into something like SAVEDISP_PAGE3, patching in the bytes as the decompressor runs through. That way I can worry less about having enough spare memory to hold those graphics.) If someone more knowledgeable can tell whether this is realistic or just a pipe dream, I'd greatly appreciate it
(My model is the standard fx-9860GII, or Graph 75+.)


Lephenixnoir En ligne Administrateur Points: 25781 Défis: 174 Message

Citer : Posté le 19/04/2026 10:32 | #


Programs run in privileged mode, all programs can access all memory.

For reference, you get 8 kB of statics/globals but 48 kB of heap, so start by using malloc.

You can 100% access the memory for SaveDisp (1 kB per buffer), however getting their address might be the hard part. IIRC they are OS-version-dependent. You might need some dynamic disassembly to find them.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Prgmprotogen Hors ligne Membre Points: 55 Défis: 0 Message

Citer : Posté le 19/04/2026 18:22 | #


48K of heap!?!? So I have a bonus 6 times the memory I thought I did? That’s insanity! But also really awesome, that means in my game I should be able to load in all or most level data all at once on level start.

Oh, nice! But if I have so much extra memory in the heap, I should be able to load and render fullscreen images without SaveDisp pages just fine. Then again, I do love a good challenge, so writing something that could find SaveDisp pages could be fun…

Thank you for your answer, this is unbelievably helpful

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:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
captcha
Rafraîchissez la page si vous souhaitez obtenir un nouveau CAPTCHA.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2026 | Il y a 130 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