[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
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.
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.
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
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 ! )
Citer : Posté le 19/09/2013 18:41 | #
Essayes avec un break juste après le running = FALSE.
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é...
{
[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