Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Quantité de RAM disponible sur une graph monochrome
Pontilevien Hors ligne Membre Points: 88 Défis: 0 Message

Quantité de RAM disponible sur une graph monochrome

Posté le 09/12/2018 16:32

Bonjour (ou bonsoir, qu'en sais-je )

Après maintes recherches sur ce forum, je n'ai toujours pas trouvé de chaussure intellectuelle au pied de mon questionnement concernant la RAM disponible sur les caltos monochromes (35++/75).

Du coup, je me permets de poser la question sur un sujet dédié (si quelqu'un à l'avenir se pose la même question, il pourra peut-être trouver la réponse ici ).

Je m’intéresse surtout au tas disponible, histoire de savoir ce que je peux me permettre en C.

Merci d'avance à celui (ou ceux) qui m'apportera (m'apporteront) cette réponse et comblera (combleront) ma curiosité !

Réponse (par le splendide ZeZombye, avec des précisions de Lephénixnoir) :

- Tas : 48ko
- Pile : 16ko
- Statique : 8ko

- Quelques 'petites subtilités' à côté

-> Sur sh4, 256ko de mémoire supplémentaire pourraient être obtenus, des scientifiques mènent des recherches sur le sujet


Shadow15510 Hors ligne Administrateur Points: 5089 Défis: 16 Message

Citer : Posté le 09/12/2018 16:33 | #


Bonjour,
Alors sur les Graph 35 ++ (comprend tweakée) il y a 256 Ko de RAM je crois
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Pontilevien Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 09/12/2018 16:49 | #


256 ko ? C'est beaucoup plus que je ne pensais
N'y a-t'il pas une différence entre sh3 et sh4 par hasard ?
(Personnellement, quand j'ai la prétention de demander 50ko, j'ai droit à une belle "TLB ERROR !!!")
Nonobstant toutes les apparences, je m'appelle Pontilévien
Zezombye Hors ligne Rédacteur Points: 1748 Défis: 13 Message

Citer : Posté le 09/12/2018 17:29 | #


Si je me souviens bien, 48 Ko de RAM dynamique, 16 KO de stack, et 8 KO de statique.
Sur les sh4, y'a bien 256k supplémentaires mais il faut les avoir par adresse explicite, ils sont ignorés par le système. Du coup il faut potentiellement refaire un malloc qui vient chercher dans cette zone : https://www.planet-casio.com/Fr/forums/topic15344-1-Implementer_un_malloc()_qui_tire_avantage_des_256_ko_sur_SH4.html
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Pontilevien Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 09/12/2018 17:44 | #


D'accord, ça m'a l'air de coller parfaitement aux limitations que j'avais expérimenté.

Du coup, merci infiniment, voilà une info que je ne risque pas d'oublier de sitôt
Nonobstant toutes les apparences, je m'appelle Pontilévien
Lephenixnoir Hors ligne Administrateur Points: 21329 Défis: 149 Message

Citer : Posté le 09/12/2018 19:05 | #


Zezombye a quasiment tout dit, mais voilà quelques détails de plus.

→ La RAM dynamique s'appelle tas, c'est là que travaille malloc().
→ Il y a une erreur de copie, c'est bien 16 ko comme indiqué par Zezombye et non 18 ko de pile.
→ La RAM statique est mappée au démarrage du programme et ne peut pas être exécutée (!). C'est quelle qui contient les sections B & R sous le SDK.

Le buffer de 256 ko est bien sur SH4 et non sur les Graph modifiées (désolé Shadow).

Tu peux y ajouter diverses zones dans lesquelles tu peux fureter, notamment un buffer de 32 ko que Kristaba exploitait sur SH3, dont au moins les 12 ko de fin sont safe sur SH4 ; c'est ici que gint s'installe.

Quelques détails de plus dans la doc de SimLo.

Pontilevien a écrit :
(Personnellement, quand j'ai la prétention de demander 50ko, j'ai droit à une belle "TLB ERROR !!!")

Tu as surtout un NULL en réponse de malloc(), tu ne segfault que si tu utilises le buffer sans vérifier si l'allocation a marché
Pontilevien Hors ligne Membre Points: 88 Défis: 0 Message

Citer : Posté le 09/12/2018 19:13 | #


Vu et corrigé, pour les 16ko de stack.

Lephénixnoir a écrit :
Tu as surtout un NULL en réponse de malloc(), tu ne segfault que si tu utilises le buffer sans vérifier si l'allocation a marché

Vu le programme sur lequel je travaille, c'est certainement ça.
S'agirait peut-être que je me mette à vérifier le succès de mes allocations dynamiques, moi
Nonobstant toutes les apparences, je m'appelle Pontilévien

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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 44 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