Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » [Prizm] - System Error
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message

[Prizm] - System Error

Posté le 15/09/2013 11:21

Hey, bonjour à tous !

Tout d'abord, je vais me présenter rapidement : moi c'est Nemh, possesseur d'une prizm depuis une bonne année déjà. Ayant rapidement été déçu par la bien connue lenteur du basic de cette dernière, j'ai commencé à me renseigner sur les possibilités offertes par les différents SDK : Cemetech, ainsi que la doc de Simon Loathar furent donc mes "amis" durant quelques temps !

Après avoir écumé ce que l'on pouvait trouver sur le net, j'ai décidé de me lancer : rapidement, un pong tout bête vit le jour, puis j'entrepris ensuite de m'attaquer à d'autres possibilités (sprites et tout le tsointsoin); je m'abstins néanmoins de trop toucher à ce qui touchait un peu trop profondément à la machine tant que je ne le comprenais pas (overclock /et/ manipulation personnelle de syscalls, faisant plutôt confiance aux expérimentés à ce niveau là ). Enfin voila, je me retrouvais à essayer d'afficher un sprite (le joli bonhomme de doodle jump me convenait parfaitement ) et à des fins d'exercice uniquement, j'essayais de le faire sauter en décrivant une zolie trajectoire balistique, et c'est là que, au détour de l'essai d'un code, j'ai eu droit à un beau System Error ! Au début, je me suis dit qu'un reboot pourrait, comme à l'accoutumée, suffire à redémarrer correctement la bête, mais malheureusement, rien n'y fit : tout redémarrage conduisait fatalement à un Sytem Error !
Je me suis donc renseigné, et ais tenté un peu tout ce que j'ai pu : changement des piles (on sait jamais ), appel du menu de mise à jour et mise à jour, mais toujours rien. La rentrée approchant, j'ai renvoyé le tout au SAV, qui offrit un super service ! En effet je recevait une calto sous blister la semaine d'après !

Bon, pour l'instant, aucun soucis, néamoins, je suis un peu rebutant à me relancer dans la programmation en C dessus, par peur d'un nouveau soucis... C'est pourquoi j'aimerai juste vous montrer le code (en PJ), afin de voir si je n'ai pas fais une erreur bête ou un truc à absolument pas faire qui pourrait être responsable de mon soucis passé...

ATTENTION : Le programme à fait planter ma machine, je vous déconseille donc de le compiler et de le mettre dans la votre, enfin, à vos risques et périls ! À noter qu'il fait aussi planter l'émulateur et que j'ai été obligé de le réinstaller pour qu'il fonctionne à nouveau (pas trouvé les fichiers à supprimer )

Voila, enfin, vous cassez pas la tête non plus, tout ce que vous faites est déjà super, ça ne saurait être que du bonus , et en remerciant déjà les personnes qui porteront attention à ce problème, bien que pour l'instant, ça reste un problème sur le papier

Ps : le code doit sans doute être pas top, mais j'ai pour l'instant un petit niveau, ce programme étant à la base censé me faire "progresser" en comprenant telles ou telles choses !

Fichier joint


SmashmasterHors ligneAncien modérateurPoints: 4561 Défis: 253 Message

Citer : Posté le 15/09/2013 18:44 | #


Bienvenue à toi Nemhardy !
J'ai regardé vite fait ton code, pour le moment rien ne m'est sauté aux yeux.
ZiqumuHors ligneMembre d'honneurPoints: 2947 Défis: 9 Message

Citer : Posté le 16/09/2013 18:46 | #


Rien vu non plus, mais es-ce que toutes tes fonctions que tu as pris sur différents site comme cemetech étaient bien destinées à la Fxcg20 ? Car si elles étaient pour graph 75, il se peut qu'une addresse ait changé, et ça pourrait être la cause de ton problème.

Exemple, si tu as une fonction qui dessine un trait directement en VRAM, c'est à dire qu'il va prendre la mémoire à un certain endroit et qu'il va la modifier pour y ajouter ce trait. Hors si la fonction n'était aps fait pour ta calculatrice, il se peut que cet endroit en mémoire ne soit pas le même et donc tu viendrait de modifier un autre endroit de façon aléatoire. Pour faire simple, tu as peut-être modifier le système d'exploitation sans t'en rendre compte. Je peux pas t'aider vraiment plus que te donner cette piste de recherche. Tu peux eventuelement essayer de localiser le code fautif via l'emulateur (fait une copie du dossier de l'emulateur dans program file avant de le lancer et quand il plante tu le remplace par la sauvegarde). Pour le localiser, t'y va à taton, tu enlève toutes tes fonction et tu les rajoute une par une..jusqu'à ce que ça plante.
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message

Citer : Posté le 16/09/2013 19:03 | #


Plop ! Déjà, merci à vous deux
Voila, sinon, en théorie, les fonctions étaient bien destinées à une FxCG-20, mais je vais néanmoins explorer ta piste.

Voila, je vous tiens au jus !

Edit : Bien que je n’aie pas encore commencé à ajouter les fonctions au fur et à mesure, j'ai constaté que le System Error n'apparaît que lorsque l'on essaye de quitter le programme, c'est à dire que la condition

if(keydown(10))


est vraie... Une piste peut être (?), je vais expérimenter à ce sujet.

Et puis en fait, pas besoin de réinstaller l'émulateur, suffit d'aller supprimer quelques fichiers dans l'Appdata de Casio (pourquoi n'y ai-je pas pensé plus tôt ! )


N'attendez pas qu'il n'y ait plus de miel : スススススススススススススススススススススススススス養蜂家スススススススススススススススススススススススススススススススススススス蜂家
EiyeronHors ligneAncien modérateurPoints: 5513 Défis: 57 Message

Citer : Posté le 19/09/2013 18:41 | #


Essayes avec un break juste après le running = FALSE.
NemhardyHors ligneGrand maître des Traits d'EspritPoints: 1235 Défis: 54 Message

Citer : Posté le 19/09/2013 20:48 | #


J'essaierai ça, mais en fait le soucis (paradoxalement), c'est que je me retrouve avec le même code que je vous ais envoyé mais qui ne plante plus. Je préfèrerai quand même voir clairement ce qui ne va pas

Sinon, si j'arrive a refaire beuguer le code, je resterai la solution d'Eiyeron et je vous tiens au jus.

Ajouté le 12/10/2013 à 17:29 :
Hey, je risque de remonter le sujet (honte à moi ! ) mais c'est juste pour le clôturer car il finissait un peu dans le vide...
N'ayant pas obtenu pas trouvé d'explication au problème de ce programme, et étant un peu parano de briquer ma calto, j'utilise maintenant une petite routine de "safequit". Il doit y avoir un moyen plus simple et safe de quitter plus rapidement, mais n'ayant pas trop d'infos, je préfère jouer la sureté...

void safequit(void)
{
    [purple]int[/purple] key = [maroon]0[/maroon];
    [b][blue]while[/blue][/b] (1) {
    GetKey(&key);
    switch (key) {
        }
    }
}


Je pense qu'il ne peut plus y avoir de soucis comme ça non ?
Après, y'a qu'à rajouter un "écran" intermédiaire du style "appuyez sur [Menu] pour quitter ou quelque chose du style...

Désolé encore d'avoir déterré le post, mais je pense que c'est mieux que de créer un nouveau sujet.
Si quelqu'un à une remarque sur cette manière de "quitter", je prends
N'attendez pas qu'il n'y ait plus de miel : スススススススススススススススススススススススススス養蜂家スススススススススススススススススススススススススススススススススススス蜂家

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 102 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