Bonjour,
J'utilise la routine LIPTR en $F419 pour afficher un nombre.
J'ai trouvé comment positionner les coordonnées avec $3280 et $3281.
Mais je parviens pas à trouver l'adresse où changer la couleur de fond et de forme ?
[Alice] changer couleur caractère
Modérateurs : Papy.G, fneck, Carl
Re: [Alice] changer couleur caractère
Tu es en 40 colonnes, Jeu G0 ?
Regarde le registre R3, Page 128 des Astuces d'Alice
Sur le site de Daniel,
http://alice32.free.fr/documentation/le ... index.html
Regarde le registre R3, Page 128 des Astuces d'Alice
Sur le site de Daniel,
http://alice32.free.fr/documentation/le ... index.html
Re: [Alice] changer couleur caractère
Salut,
Je fais comme ceci : (on peut aussi afficher un caractère en double hauteur, double largeur et même clignotant)
Je débute donc je ne sais pas si c'est la meilleure façon de faire ni la plus rapide, mais si ça peut aider,
(Programmation en Assembleur, Fagot-Barraly)
Je fais comme ceci : (on peut aussi afficher un caractère en double hauteur, double largeur et même clignotant)
Je débute donc je ne sais pas si c'est la meilleure façon de faire ni la plus rapide, mais si ça peut aider,
(Programmation en Assembleur, Fagot-Barraly)
Re: [Alice] changer couleur caractère
Non on peut pas modifier la couleur en agissant sur R3 et en dialoguant directement avec EF9345.
J'utilise une fonction du système qui me permet d'afficher un nombre entre 0 et 65535.
Donc elle a ses propres paramètres pour gérer la couleur et le positionnement.
J'ai trouvé cette fonction dans le livre "Les astuces d'Alice " p 14
Il faut pour ça positionner le curseur en Y et X avec les adresse $3280 et $ 3281
puis mettre le nombre dans D
et lancer la fonction en $F419
Or la couleur est celle utilisé par le système.
En regardant des listings basic j'ai vu qu'il faisait un poke en 251, et c'est ici qu'il faut placer la valeur de R3
donc c'est résolu, l'adresse où mettre la couleur est en $FB (251)
Entre temps j'avais codé ma propre routine
Voilà un exemple de code avec la fonction du système
J'utilise une fonction du système qui me permet d'afficher un nombre entre 0 et 65535.
Donc elle a ses propres paramètres pour gérer la couleur et le positionnement.
J'ai trouvé cette fonction dans le livre "Les astuces d'Alice " p 14
Il faut pour ça positionner le curseur en Y et X avec les adresse $3280 et $ 3281
puis mettre le nombre dans D
et lancer la fonction en $F419
Or la couleur est celle utilisé par le système.
En regardant des listings basic j'ai vu qu'il faisait un poke en 251, et c'est ici qu'il faut placer la valeur de R3
donc c'est résolu, l'adresse où mettre la couleur est en $FB (251)
Entre temps j'avais codé ma propre routine
Voilà un exemple de code avec la fonction du système
Code : Tout sélectionner
ldaa #%01000101 ; la couleur forme=bleu et fond = magenta
staa $FB
ldd #$0A10 ; les coordonnées Y et X du curseur
std $3280
ldd #1234 ; on veut ecrire le nombre 1234
jsr $F419
rts
Re: [Alice] changer couleur caractère
Salut Duruti,
ta routine est sympa et fonctionne très bien en mode 40 colonnes mais ne fonctionnera pas en mode 80 colonnes ni sur un autre ordinateur.
Cela te suffit je suppose pour faire des jeux pour Alice en mode 40 colonnes, donc c'est très bien je trouve, mais le mieux est de ne pas utiliser la routine système $F419.
Sur un Amstrad CPC par exemple, tu ne pourras pas le faire car il n'y a pas de routine $F419.
Regarde mon prog SECTEDIT, tu verras que j'affiche en 80 colonnes, 3 couleurs et même en hexadecimal base 16.
Donc pour tes scores de jeux tu dois juste savoir afficher chaque chiffre du nombre.
Cela te sera utile si tu portes ton jeu sur une autre machine.
Tout est dans le bouquin de Fagot-Barraly
ta routine est sympa et fonctionne très bien en mode 40 colonnes mais ne fonctionnera pas en mode 80 colonnes ni sur un autre ordinateur.
Cela te suffit je suppose pour faire des jeux pour Alice en mode 40 colonnes, donc c'est très bien je trouve, mais le mieux est de ne pas utiliser la routine système $F419.
Sur un Amstrad CPC par exemple, tu ne pourras pas le faire car il n'y a pas de routine $F419.
Regarde mon prog SECTEDIT, tu verras que j'affiche en 80 colonnes, 3 couleurs et même en hexadecimal base 16.
Donc pour tes scores de jeux tu dois juste savoir afficher chaque chiffre du nombre.
Cela te sera utile si tu portes ton jeu sur une autre machine.
Tout est dans le bouquin de Fagot-Barraly
Re: [Alice] changer couleur caractère
Salut
Oui le mieux est de ne pas utiliser les routines systèmes, c'est d'ailleurs ce que j'avais fait avant de trouver le moyen de changer la couleur.
Pour le mode 80 c'est encore autre choses pour gérer les couleurs
Tu parles du CPC, qui lui à par contre des routines système qui gerent les différents mode.
Je compte pas le porter sur d'autres machines en tout cas, et pour le CPC j'ai un jeu à finir qui lui est codé 100% asm sans routine du système
Oui le mieux est de ne pas utiliser les routines systèmes, c'est d'ailleurs ce que j'avais fait avant de trouver le moyen de changer la couleur.
Pour le mode 80 c'est encore autre choses pour gérer les couleurs
Tu parles du CPC, qui lui à par contre des routines système qui gerent les différents mode.
Je compte pas le porter sur d'autres machines en tout cas, et pour le CPC j'ai un jeu à finir qui lui est codé 100% asm sans routine du système