Attention : cette antiquité n'est compatible qu'avec le fx-9860G SDK et n'est plus maintenue depuis 2015.
La bibliothèque C memory simplifie la manipulation de la mémoire. Elle permet entre autres d'utiliser des interfaces utilisateur, de charger et sauvegarder les fichiers automatiquement, d'utiliser des char * pour les adresses, tout en se passant de Bfile.
Une documentation en HTML est jointe à l'archive, très complète depuis la version 3. Celle-ci comprend quelques explications sur la mémoire, la liste des fonctions de memory et un court tutoriel pour l'utilisation de cette dernière.
N'oubliez pas d'inclure memory.h au début de votre programme et d'ajouter memory.c au projet.
Cette bibliothèque génère un code nativement compatible SH4.
Pour ceux qui utilisent encore les versions 1.1 ou 2, je les laisse dans les fichiers (données perdues...).
Fichiers
1. memory.zip : version 3.0
2. memory.zip : version 2.0
3. memory.zip : version 1.1
Les archives contiennent la source, le header, et la documentation HTML.
Changelog
Cliquer pour enrouler
13.06.2014
Ajout de la documentation de la version 3.
11.06.2014 -- Version 3.0
Compression de la transformation de l'adresse char * en FONTCHARACTER.
Ajout de l'affichage des erreurs et causes pour les développeurs.
29.05.2014
Correction de bugs détectés au niveau de l'allocation, qui généraient parfois une adresse FONTCHARACTER fausse et provoquaient systématiquement une erreur.
24.05.2014 -- Version 2.0
Ajout des fonctions d'interfacage et des fonctions automatisées.
Définition par define des fonctions basiques.
15.03.2014 -- Version 1.1
Ajouté un header à la bibliothèque.
La fonction memory_seekfile() (alias de Bfile_SeekFile) a été ajoutée.
Les doubles inclusions de headers sont évitées.
01.03.2014
Quelques bugs corrigé (inclusions de headers)
fxlib a écrit : Mais dans la mémoire de stockage, si on fait plusieurs appels à Bfile_WriteFile() consécutifs, seul le premier aura une action. Si le fichier existe déjà et qu'on essaye de surécrire, ça donne des caractères inattendus
Perso, de ce que je comprends, pour n'importe quel fichier plusieurs appel a write_file buge, et si le fichier existe déjà il y a des caractère inattendu.
Donc si on vient de le créer, il y a quand même des problème d'écriture (enfin il me semble)
Bonsoir.
Désolé pour ce qui me semble être, au-delà du simple déterrage, de la nécromancie pure et simple, mais quand j'essaye d'utiliser memory_load comme suit :
le compilateur me balance l'erreur : C2129 (E) Illegal initializer type
Alors que, a priori, l'utilisation que j'en fait est exactement la même que dans le tutoriel de la documentation.
Si quelqu'un a une piste à me proposer quant à cette erreur, je suis preneur.
De plus, j'ai une erreur bonus : C2133 (E) Multiple parameter declarations, à la 22ième ligne de memory.h (déclaration de memory_char2font())
PS : Je code sur le vieux SDK de casio tout miteux
En l'occurrence, le code complet de la fonction dans laquelle j'utilise la fonction est :
int launch_Save(){
unsigned char *map = memory_load("\\\\fls0\\last_map");
unsigned int *val = memory_load("\\\\fls0\\last_time");
gamePlay(val[0], val[1], 0, val[3], map);
free(map);
free(val);}
C'est comme si le compilateur refusait que je puisse initialiser mes pointeurs avec memory_load(). Ce problème m'interroge d'autant plus que j'avais déjà utilisé cette bibliothèque sans problème par le passé.
Je suppose que tu ne peux tenter que divers contournements comme déclarer puis initialiser, vérifier l'inclusion de l'en-tête et peut-être la présence de symboles en double ? Tout cela est parfaitement valide avec GCC (à condition que le reste du code ne contiennt pas d'erreur), il faut donc jouer avec les limites du compilateur C89 du SDK.
Mouais. Le coup de déclarer puis initialiser me donne un : C2222 (E) Type not compatible for "=", ce qui est parfaitement absurde puisque j'utilise cette méthode dans mon vieux projet qui compile toujours aussi bien.
Tout ceci me convainc un peu plus de combattre ma flemme et d'envisager de coder sous linux avec gcc. Ce SDK avec ses erreurs absurdes qui sortent des tréfonds de l'infini me court de plus en plus sur le système nerveux
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