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 - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Programmer en C pour la Prizm, bis
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Programmer en C pour la Prizm, bis

Posté le 14/02/2012 13:01

Salut à tous! Dans la suite du précédent topic, voici la démarche pour installer le PrizmSDK et l'utiliser.
Honnêtement, je préfère le PrizmSDK (je l'appelle généralement PSDK), il est basé sur GCC, est portable et ne dépend pas du compilateur de Casio/Renesas. Je m'en sers pour tous mes projets sur Prizm. Voyons un peu comment on le configure.

1. Téléchargez le zip du PrizmSDK sur le site de Cemetech [ici].
2. Dézippez le PSDK dans un dossier vide de préférence pour éviter d'écraser tout fichier personnel/important.
3. Voilà ! Il est prêt à être utilisé.

Une fois le PSDK installé, on peut commencer à programmer. Voyons comment on crée un nouveau projet.

1. Dans le dossier project, copier le dossier default, et renommer ladite copie en le nom du projet (par exemple j'ai nommé mon dossier Bust-A-Move)
2. Dans le makefile, remplacer toutes les occurences du mot "defauflt" par le nom du dossier/projet.
3. Le projet est prêt à être codé, compilé et transféré.

Le Makefile est nécéssaire pour le PSDK pour lui indiquer quoi compiler et comment compiler. Observons-le de plus près

TARGET        :=    $(notdir $(CURDIR))
BUILD        :=    build
SOURCES        :=    src
DATA        :=    data  
INCLUDES    :=

On définit ici le dossier de destination du projet (le TARGET), le dossier où l'on stocke les binaires temporaires par code source (le BUILD), le/les dossiers contenant les sources (le SRC) et le data (je sais pas ce que c'est, j'ai pas fait attention pour le moment)

MKG3AFLAGS := -n basic:Bust-a-Move -i uns:../unselected.bmp -i sel:../selected.bmp

Ici, on indique au programme qui va compiler le .bin en .g3a de nommer l'addin "Bust-a-Move", d'utiliser les icônes unselected.bmp et selected.bmp pour afficher l'addin dans le menu principal (unselected quand l'addin n'est pas survolé et selected quand il l'est.)

On peut nommer l'addin en fonction de la langue désirée, ainsi

-n basic:Bust-a-Move -n fr:Puzzle-Bobble

Va nommer l'addin Puzzle-Bobble quand la calto est en français et Bust-a-Move autrement. On la la possiblité de choisir un nom pour chaque langue ci-dessous

en - Anglais
es - Espagnol
de - Allemand
fr - Cocorico
pt - Portugais
zh - Chinois (bonne chance pour nommer l'addin en idéogrammes, j'ai pas testé).

Une dernière ligne? Le reste n'est pas modifiable sauf si vous voulez casser le Makefile.
CFLAGS    = -Os -std=c99 -Wall $(MACHDEP) $(INCLUDE)

Ici, on indique quelques options pour le compilateur lui-même :

-Os = optimiser la taille du programme au détriment des éventuelles optimisations de performance
-std=c99 = utiliser le langage C en version 1999, on peut ainsi utiliser les rajouts faits pour le C99 (comme déclarer une variable plus ou moins partout).
-Wall = je l'appelle le mur mais ça veut dire Warning ALL. Affiche [b]tous[/b] les warnings. Je considère cette option comme [b]OBLIGATOIRE[/b] car elle montre toute portion de code pouvant être relativement trouble pour le compilateur.

Compiler et nettoyer.

Pour compiler, lancez le make.bat. Il va lancer la procédure de compilation en utilisant le Makefile. Ca permet par exemple de ne recompiler que les fichiers sources qui ont été modifiés. Si, pour des raisons diverses (utilisation de clé usb, changement de dossier...) ça ne compile plus, essayez d'abord de lancer clean.bat, puis make.bat


Transférer automatiquement le g3a à la Prizm.
Prérequis : On va renommer le stockage de la Prizm en "PRIZM". Pour ce faire, branchez la Prizm et entrez en mode USB. Son stockage devrait s'afficher dans l'Ordinateur/Poste de travail. Clic-droit dessus puis renommez en "PRIZM". Ca permettra ensuite à mon outil de reconnaître la calto.

J'ai conçu un petit batch windows qui permet de trouver la calto par le nom de son stockage, créez dans votre dossier de projet un fichier "copy.bat" et collez-y ce code-ci
@echo off
SET /A ligneCourante=0

for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
    if exist "%%i:" (
        FOR /F "usebackq tokens=7* delims= " %%A in (`VOL %%i:`) DO (
          IF %ligneCourante%==0 (

            if "%%B" == "PRIZM" (echo Prizm trouvée!
            echo Elle etait en %%i:
            xcopy  *.g3a %%i:\ /Y /Q
            pause
            echo "-Fin-"
            exit
            )
          
          SET /A ligneCourante+=1
        )
    )
)

echo Prizm au Nom de PRIZM introuvable. Verifiez le branchement et le nom du sotckage de la Prizm.
pause


Quand vous voudrez transférer, vous n'aurez qu'à brancher la calto et une fois qu'elle est reconnue, double-clic sur le batch pour lancer la copie!

Et voilà, vous savez le nécessaire pour créer un projet et transférer un addin automatiquement. Amusez-vous bien!


Précédente 1, 2, 3, 4, 5, 6, 7 Suivante
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 21/10/2013 15:48 | #


En effet, ça ne me dit rien comme erreur... Au niveau du code, t'as fait quoi de plus avant que ce bug arrive ?
Il se produit à toute les compilations ?

Ca à l'air de mettre en jeu un fichier temporaire : en redémarrant ton pc, ça le fait toujours ?
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 21/10/2013 15:56 | #


C'est bon elle a disparu

j'ai une erreur récurrente car il me manque un morceau de code lors de la déclaration de la fonction:
void CL_CopySpriteNbitMaskedAlpha(const unsigned char* data, int x, int y, int width, int height, const color_t* palette, color_t maskColor, unsigned int bitwidth,int alpha);

.

Il ne dit "error: unknown type name 'color_t'"
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 21/10/2013 15:59 | #


C'est défini dans color.h : on peut se passer de l'include en faisant

typedef unsigned short color_t;


Après a voir, car à un moment ou a un autre, sauf si les gens utilisent des couleurs persos, il devront bien inclure color.h ... donc à réfléchir .
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 21/10/2013 16:05 | #


ça ira plus vite avec color.h

Ajouté le 21/10/2013 à 17:08 :
euh oui encore un problème: je ne m'en sort plus avec les problème de vram , quelqu'un peut m'aider ?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 21/10/2013 17:09 | # | Fichier joint


fichiers

Ajouté le 21/10/2013 à 17:13 :
Le veut-tu le voilà
il n'est pas petit
sh3eb-elf-gcc -MMD -MP -MF C:/PrizmSDK-0.3/projects/colorlib1/build/colorlib1.d -Os -Wall -mb -m4a-nofpu -mhitachi -nostdlib   -IC:/PrizmSDK-0.3/projects/colorlib1/build -IC:/PrizmSDK-0.3/include -c C:/PrizmSDK
-0.3/projects/colorlib1/src/colorlib1.c -o colorlib1.o
C:/PrizmSDK-0.3/projects/colorlib1/src/colorlib1.c:3:6: warning: [b][blue]return[/blue][/b] type of [gray]'main' is not 'int'[/gray] [-Wmain]
C:/PrizmSDK-0.3/projects/colorlib1/src/colorlib1.c: In function [gray]'main'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/colorlib1.c:7:9: warning: implicit declaration of function [gray]'GetKey'[/gray] [-Wimplicit-function-declaration]
sh3eb-elf-gcc -MMD -MP -MF C:/PrizmSDK-0.3/projects/colorlib1/build/ColorLib2.d -Os -Wall -mb -m4a-nofpu -mhitachi -nostdlib   -IC:/PrizmSDK-0.3/projects/colorlib1/build -IC:/PrizmSDK-0.3/include -c C:/PrizmSDK
-0.3/projects/colorlib1/src/ColorLib2.c -o ColorLib2.o
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:129:1: warning: initialization discards [gray]'const'[/gray] qualifier from pointer target type [enabled by default]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_text_drawPoint'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:161:12: warning: operation on [gray]'vram_'[/gray] may be [red]$1[/red] [-Wsequence-point]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:161:12: warning: operation on [gray]'vram_'[/gray] may be $1[b][brown]$2[/brown][/b] [-Wsequence-point]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_text_widthC'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:267:7: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_text_width'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:288:2: warning: implicit declaration of function [gray]'text_widthC'[/gray] [-Wimplicit-function-declaration]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_CopySpriteNbitMasked'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:488:13: warning: statement with no effect [-Wunused-value]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_drawFilledCircle'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:523:14: warning: implicit declaration of function [gray]'pow'[/gray] [-Wimplicit-function-declaration]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:523:17: warning: incompatible implicit declaration of built-in function [gray]'pow'[/gray] [enabled by default]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_drawFilledCircleAlpha'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:543:17: warning: incompatible implicit declaration of built-in function [gray]'pow'[/gray] [enabled by default]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_drawPointAlpha'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:569:26: warning: operation on [gray]'vram_'[/gray] may be $1[brown]$2[/brown] [-Wsequence-point]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:569:26: warning: operation on [gray]'vram_'[/gray] may be undefined [-Wsequence-point]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_Filled_polygon'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:619:6: warning: implicit declaration of function [gray]'malloc'[/gray] [-Wimplicit-function-declaration]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:619:20: warning: incompatible implicit declaration of built-in function [gray]'malloc'[/gray] [enabled by default]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:659:6: warning: implicit declaration of function [gray]'free'[/gray] [-Wimplicit-function-declaration]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:659:6: warning: incompatible implicit declaration of built-in function [gray]'free'[/gray] [enabled by default]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'GetVRAMAdress'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:685:2: warning: control reaches end of non-void function [-Wreturn-type]
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c: In function [gray]'CL_CopySpriteNbitMasked'[/gray]:
C:/PrizmSDK-0.3/projects/colorlib1/src/ColorLib2.c:481:32: warning: [gray]'buf'[/gray] may be used uninitialized in this function [-Wuninitialized]
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s: Assembler messages:
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:9: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:104: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:139: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:156: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:200: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:227: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:242: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:337: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:751: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:763: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:778: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:798: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:801: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:804: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:807: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:823: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:826: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:829: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:832: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:835: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:838: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:841: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:844: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:858: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:868: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1282: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1669: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1734: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1744: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1763: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1766: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1769: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1772: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1775: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1778: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1781: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1784: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1828: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1838: Error: invalid operands [b][blue]for[/blue][/b] opcode
C:\Users\Enfant\AppData\Local\Temp\ccUHVPf1.s:1850: Error: invalid operands [b][blue]for[/blue][/b] opcode
make[1]: *** [ColorLib2.o] Error 1
make: *** [build] Error 2
Appuyez sur une touche pour continuer...


Ajouté le 21/10/2013 à 17:14 :
il est où le message de dodormeur ?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 21/10/2013 17:36 | #


C'est quand même bizarre ces problèmes de fichiers temporaires.... je regarde le code si tu veux .
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 21/10/2013 17:38 | #


oui merci
essaye de la compiler chez toi pour voir
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 21/10/2013 17:44 | #


Tiens, un truc vachement intéressant ! Bien que ça ne résolve pas du tout le problème, enfin, pas pour l'instant .

Pendant la compilation, y'a un fichier temporaire désassemblé d'office qui se génère ! Ca aide pas vraiment là tout de suite, mais perso, ça m’intéresse ! (on avait pas réellement de map des fonctions avec gcc, donc pour se retrouver dans le bin ....) Mais là plus de problèmes, enfin, je pense ! (je sais pas si c'était connu ). Enfin, je dis ça de mon petit niveau peu expérimenté...


/*Nemh part relire le tuto de ziq sur l'assembleur */

Ajouté le 21/10/2013 à 17:55 :
Au début quand je l'ai compilé, y'avait un problème avec le makefile, et après j'ai eu les mêmes erreurs que toi...
En gros, j'ai chopé l'espèce de fichier temporaire et c'est ça le fichier décompilé ! Par contre à récupérer c'est pas pratique car il reste "vivant" qu'une seconde plus ou moins...
Si quelqu'un à une astuce pour les récupérer facilement...
Je continue à regarder !
Dark storm En ligne Labélisateur Points: 11640 Défis: 176 Message

Citer : Posté le 21/10/2013 18:03 | #


Pour le récupérer, il doit y avoir des logiciels qui font des sauvegardes automatiques sur des DDE. Si tu arrive à en chopper un qui copie le fichier dès qu'il est créé, c'est dans la poche
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 21/10/2013 22:56 | #


Pour Lancelot : j'ai réussi à avoir un "build" qui fonctionne; apparemment c'est le GetVRAMAdress() "maison" qui plante : je l'ai enlevé et suis repassé en déclaration manuelle de l'adresse et pouf ! Ca fonctionne... Je me demande pourquoi, je vais encore faire quelques tests...

Pour Dark-Storm : Le soucis, c'est que le fichier crée est vide au départ et se remplit au fur et à mesure de la compilation avant de se supprimer à la fin de celle-ci; d'où la difficulté : pour avoir un fichier exploitable, il faut l'avoir laissé assez longtemps pour qu'il se "remplisse", mais l'avoir pris assez vite pour l'avoir avant qu'il ne soit supprimé (comme la vente à la criée !). Ma touche F5 le sent passer !
Sinon, je pense qu'il doit y avoir moyen de modifier dans les options du makefile pour avoir un .s en sortie aussi, je vais faire des essais .
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 22/10/2013 11:30 | #


ok

Ajouté le 03/11/2013 à 20:54 :
Salut, je ne remet plus la main sur une fonction permettant de mettre en pause la prizm(la fonction Sleep pour les monochromes) . Quelqu'un l'aurait ?

Ajouté le 06/11/2013 à 17:28 :
Personne n'a d'idée de réponse ?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Dark storm En ligne Labélisateur Points: 11640 Défis: 176 Message

Citer : Posté le 06/11/2013 17:39 | #


Wait(); ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 06/11/2013 18:09 | #


Perso, j'utilise OS_InnerWait_ms(); (défini dans system.h au moins) je ne sais pas si wait(); existe, ou du moins je ne l'ai pas trouvé dans les libs de base...

Pour l'utiliser, fais attention à prendre des valeur inférieures à 1000ms, et si tu veux stopper plus longtemps, cumule les :
OS_InnerWait_ms(1000);
   OS_InnerWait_ms(1000);
   OS_InnerWait_ms(500);
pour bloquer 2.5s par exemple .
Y'a quand même une petite marge d'imprécision, mais rien de bien méchant.

Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 06/11/2013 18:22 | #


Nemhardy a écrit :
Perso, j'utilise OS_InnerWait_ms(); (défini dans system.h au moins) je ne sais pas si wait(); existe, ou du moins je ne l'ai pas trouvé dans les libs de base...

Pour l'utiliser, fais attention à prendre des valeur inférieures à 1000ms, et si tu veux stopper plus longtemps, cumule les :
OS_InnerWait_ms(1000);
   OS_InnerWait_ms(1000);
   OS_InnerWait_ms(500);
pour bloquer 2.5s par exemple .
Y'a quand même une petite marge d'imprécision, mais rien de bien méchant.


pourquoi il faudrait cumuler les wait? la fonction ne veut pas prendre des arguments plus grand que 1000?
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 06/11/2013 18:30 | #


D'après ce que j'ai compris, au delà de 1000 (ce serait plutôt 1024, mais se donner 1000 me semble plus clair), soit la calto commence à être imprécise à hauteur de 5ms, soit elle n'attend pas le nombre de milliseconde attendu, mais plutôt quelque-chose de l'ordre de 5ms (je ne sais pas ce qu'il fallait comprendre du post en anglais... ) Après, je n'ai jamais testé car j'étais tombé là-dessus assez rapidement, et m'étais tenu à ce principe .

Ashbad (sur Cemetech) a écrit :
Also, just for fun documentation (not sure if anyone knew yet), but the OS_InnerWait_ms routine can only work with values under ~1000 (maybe up to 1024 or something, but something like 1100 doesn't work); any higher values don't pause for the milliseconds given, but rather for more like ~5 milliseconds.


Après ça ne coûte rien faire des tests .
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 06/11/2013 18:34 | #


a bon ok.

de toute facon, vu les performances de la PRIZM, personne ne risque de demander une pause d'une seconde
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 07/11/2013 19:27 | #


merci pour cette réponse
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Dark storm En ligne Labélisateur Points: 11640 Défis: 176 Message

Citer : Posté le 07/11/2013 20:25 | #


Dodormeur a écrit :
de toute facon, vu les performances de la PRIZM, personne ne risque de demander une pause d'une seconde

J'en viens à me demande si Fruit Ninja sur la Prizm ne serai pas relativement lent...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 07/11/2013 20:28 | #


darky a écrit :
J'en viens à me demande si Fruit Ninja sur la Prizm ne serai pas relativement lent...


ben au pire tu baisse un peu les FPS, mais tu augmente la vitesse des fruits (tu compte l'adapter?)
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Dark storm En ligne Labélisateur Points: 11640 Défis: 176 Message

Citer : Posté le 07/11/2013 20:38 | #


Dès que j'ai une Prizm
(C'est à dire, dans un temps relativement indéterminé...)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 07/11/2013 20:40 | #


par contre fait gaffe, il faut aussi qu'elle tienne assez longtemps pour que tu puisse en faire quelque chose
(RIP ma prizm que je n'ai toujours pas envoyé au SAV )
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Précédente 1, 2, 3, 4, 5, 6, 7 Suivante

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | 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