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 - Autres questions


Index du Forum » Autres questions » Syscall et fichier(s) à inclure
Chris79 Hors ligne Membre Points: 46 Défis: 0 Message

Syscall et fichier(s) à inclure

Posté le 05/01/2013 11:29

Bonjour,
Je souhaite utliser des syscalls dans mon application. Quel sont les fichiers à inclure dans le .c qui contient les appels ? En vous remerciant pour votre aide.


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

Citer : Posté le 05/01/2013 11:50 | #


voila
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 !
Chris79 Hors ligne Membre Points: 46 Défis: 0 Message

Citer : Posté le 05/01/2013 12:27 | #


J'ai ajouter un include "syscall.h" et j'ai copier le fichier syscall.h dans le projet et je l'ai ajouté au projet. Mais où se trouve le code source des syscalls ? En l'état le compilateur refuse de compiler le code il bloque sur l'appel du syscall qui se trouve dans le main;c.de mon application. En vous remerciant pour votre aide. J'ai besoin d'un syscall.c où quelque chose de ce type.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 05/01/2013 12:57 | #


je pense qu'il faut aussi rajouter dans le projet le .scr (qui contient les syscall) comme un .c et qui contient le code source desdis syscall
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: 11641 Défis: 176 Message

Citer : Posté le 05/01/2013 13:03 | #


le principe d'un syscall, c'est qu'il n'y a pas de code à inclure, il est déjà présent dans l'OS
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 05/01/2013 13:10 | #


Tu as un fichier assembleur syscall.src
Chris79 Hors ligne Membre Points: 46 Défis: 0 Message

Citer : Posté le 05/01/2013 15:14 | #


Pourrais-je avoir un exemple de code qui utilise un appel d'un syscall et qui fonctionne ... Pour que je comprenne comment je dois procéder. Le source main.c donné sur le site à la rubrique concernant les syscall ne fonctionne pas en l'état. En vous remerciant ...
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 05/01/2013 15:20 | #


Le main.c fonctionne et répond à ta demande. Que veux-tu exactement ?
Chris79 Hors ligne Membre Points: 46 Défis: 0 Message

Citer : Posté le 05/01/2013 15:39 | #


Désolé mais non ça ne fonctionne pas chez moi, c'est pourquoi j'ai demandé à voir un exemple qui fonctionne ... Inutile de s'énerver ...
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 05/01/2013 15:57 | #


je vais te faire des exemples:
int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
char *vram;
int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;
vram=([red]char*[/red])((*SysCall)(0, 0, 0, 0, [red]309[/red]));

ici, vram seras le pointeur vers la vram de la calculatrice, mais ce syscall ne marche pas sur les SH4, regarde la new qui parle des adaptations d'add-in si tu veux voir comment rendre compatible ton add-in .je n'ai pas utilisé d'assembleur dans cet exemple car je ne connais pas ce langage, pour modifier le syscall, il te suffit de changer les deux parties en rouge dans le code. Par exemple, "int" et "59" te renvoie-raient le tick actuel du processeur.

Si tu utilise cette méthode, tu n'as aucun fichier a inclure dans ton projet, juste a déclarer les deux variables des syscall puis les appeler selon la méthode que je viens de te montrer. Et je le répète, cette méthode ne marche pas sur les nouvelles calculatrices SH4. Ce sujet est plus complet: http://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=11897
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 05/01/2013 16:22 | #


Je ne m'énervais pas Chris79. Si tu me connaissais tu saurais que c'est impossible de m'énerver aussi facilement
Chris79 Hors ligne Membre Points: 46 Défis: 0 Message

Citer : Posté le 05/01/2013 18:35 | #


Votre exemple à été d'une grande aide pour me permettre de comprendre la syntaxe à utilisé pour appeler un syscall. Tout seul je n'aurai jamais trouvé la façon d'opérer ...Effectivement je vois grâce à votre lien qu'il y avait un exemple disponible sur le forum. Mea culpa.
Encore merci pour votre aide.

Earth75 Hors ligne Membre Points: 53 Défis: 0 Message

Citer : Posté le 13/01/2013 19:24 | #


Ok j'ai compris moi aussi mais....
Pourquoi ceci renvoie une erreur??
On voit ton exemple avec 59 pour la RTC, et le code que je veux appeler, pour faire un GetKey comme en basic. Sauf que le deuxieme marche pas, alors que pourtant il doit me renvoyer un pointeur.... au lieu de ca la calculatrice plante et envoie TLB ERROR!!
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)(int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;

int time_getTicks()
{
     return (*SysCall)(0, 0, 0, 0, 0x3B);
}

void Keyboard_PRGM_GetKey(unsigned char* pointer)
{
      *pointer = (*SysCall)(0, 0, 0, 0, 0x6C4);
}

int PRGM_GetKey()
{
unsigned char buffer[12];
Keyboard_PRGM_GetKey( &buffer );
return ( buffer[1] & 0x0F ) * 10 + ( ( buffer[2] & 0xF0 ) >> 4 );
}
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 13/01/2013 20:24 | #


tous les syscalls ne marchent pas de la même manière, si tu connais ce syscall, tu dois aussi savoir comment le paramétrer. On te l'a sans doute donné, mais t'a-t-on expliqué comment l'utiliser? tu l'as trouvé ou ce code?
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Earth75 Hors ligne Membre Points: 53 Défis: 0 Message

Citer : Posté le 14/01/2013 16:28 | #


j'ai trouvé le syscall dans la doc, et j'ai ecrit le code moi même. a part la fonction tout en bas qui est dans la doc a peu pres telle quelle.

Ajouté le 14/01/2013 à 16:29 :
ah et le debut qui est du code que dodormaur m\'a passé pour appeler la RTC.

Ajouté le 15/01/2013 à 01:20 :
J\'ai trouve ma réponse finalement! pour se servir de cette fonction il faut mettre le pointeur en premier argument! et c\'est tout!

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 138 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