Vous n'êtes pas identifié.
Depuis que je suis en grayscale en mode CB, les fonctions peek et poke font planter la calto, et je ne comprends pas pourquoi...
Si quelqu'un pouvait me montrer une alternative ou m'expliquer pourquoi ce serait pas mal...
Hors ligne
Ben c pas compliqué en asm tu px le faire:
unsigned char peekb(int segment,int offset)
{
int rvalue;
asm mov rvalue,[segment:offset]
return rvalue;
}
void pokeb(int segment,int offset, int value)
{
asm [segment:offset],value
}
Ca devrais marcher comme ca :-)
Hors ligne
ne serait-ce pas plutot:
int peek(int segment,int offset) { int rvalue; asm mov rvalue,[segment:offset] return rvalue; } void poke(int segment,int offset, int value) { asm [segment:offset],value }
*
??
bref je vais essayer!
Merci
++
Hors ligne
peek et poke sont des macro asm, ce'est sûrement pas de leur faute.
Hors ligne
Oui ben pour les noms des fonctions c'est comme tu veux.
Mais ya une autre erreur :
int peek(int segment,int offset)
{
int rvalue;
asm mov rvalue,[segment:offset]
return rvalue;
}
void poke(int segment,int offset, int value)
{
asm mov [segment:offset],value
}
j'avais oublié mov à l'avant derniere ligne lol !!
Hors ligne
Ouais bon c t pour le int que je parlais, mais quel nifle! J'avais même pas remarqué que t'avais oublié un mov...
Bref j'essaye ça tt de suite avec le correctif!
PS: 2072, c pê à cose de ça que les libs basic ne marchent pas...
Hors ligne
Dsl, mais cela ne marche tjrs pas à la compilations, je pense que je dois mettre les adresses directement, sans passer par [segment:offset]
Bref il faut que j'essaye ça.
Hors ligne
En fait j'ai Tasm 5. Et il me dit que le symbole offset n'est pas défini. Il faudra que j'essaye de libérer les ports utilisés par le mode CB et tester ça après... car je n'y comprends rien.
Hors ligne
PS: 2072, c pê à cose de ça que les libs basic ne marchent pas...
Dans ce cas TOUCHE et PLATINIUM ne devrait pas fonctionner du tout sur ta calto (TOUCHE utilise je sais pas combien de dizaine de fois peek et poke sans aucun problèmes)
Et Platinium utilise mes lib basics sans aucun problèmes non plus.
Tu es le seul à avoir des problèmes avec mes lib basics, Patrick n'en a jamais eu lui.
PS: en principe TC à son propre assembleur, t'as pas besoin de TASM.
Hors ligne
Mais moi aussi dans g-ex j'utilise peek et poke des dizaines de fois sans aucun problème, mais là ça fait planter la calto.
Pour Platinum, g regardé et Pad utilise je pense le mode DB, et quand il utilise tes libs basic il est en monochrome.
En plus lorsque j'ai utilisé write_toBfile sans sortir du mode CB cela ne marchait pas, alors que quand j'ai inséré un delgray() là g pu écrire...
Enfin c bizarre.
Hors ligne
@ Casiomax: pour le pb de offset dans ma routine je crois savoir: offset est une comande ASM qui retourne l'offset d'une variable. Il faut donc ne pas l'utiliser comme nom de variable. Essaye de remplacer les "offset" par des "off" p. ex et tiens moi au courant ;-)
Hors ligne
:mrgreen: C'est pour ça que ça marchait pas! Bon ben je change le nom de variable et je test!
Si ça marche, eh ben ça va être génial!
++
Hors ligne