Posté le 17/07/2011 à 19:35 Membre depuis le 25/03/2011, 207 messages
Bonjour/bonsoir,

Est-ce que quelcun pourrait m'indiquer comment en ASM pour ION sur TI82stats.fr, je peux savoir si un pixel est allumé ou éteint (sans avoir à mémoriser quels pixels sont allumés et lequels non?

Merci d'avance
Sandro
Posté le 17/07/2011 à 19:59 Membre depuis le 15/03/2005, 3470 messages
Il existe la routine ionGetPixel, qui prend comme paramètre "a" comme coordonnée x, "e" comme y et qui te sort dans "a" l'état du pixel (0: éteint, 1:allumé je suppose) et dans "hl" son adresse.

Il existe une autre routine disponible sur Wikiti : http://wikiti.brandonw.net/index.php?title=Z80_Routines:Graphic:getPixel , la seule chose qui change c'est que tu dois spécifier y dans "l" au lieu de "e".

Par contre je ne sais pas laquelle est la plus optimisée mais bon, puisque tu utilises déjà Ion pas la peine de chercher plus loin.
Posté le 17/07/2011 à 20:03 Membre depuis le 25/03/2011, 207 messages
Merci beaucoup.

Sandro
Posté le 17/07/2011 à 20:24 Membre depuis le 25/03/2011, 207 messages
Désolé du double post, mais je ne m'y retrouve vraiment pas avec les valeures retournées, j'ai l'impression qu "a" est une puissance de 2 et qu'à chaque fois "a" est divisé ou multiplié par 2.

Merci d'avnce
Sandro
Posté le 17/07/2011 à 21:00 Membre depuis le 15/03/2005, 3470 messages
Erf j'étais en train de me prendre la tête avec les valeurs retournées jusqu'à ce que je me souvienne que les routines Ion doivent toujours être appelée avec "call" embarrassed

Bref enfaite IonGuru me dit que l'accumulateur a la valeur du "mask" du pixel, et que "hl" pointe vers l'octet du graphbuffer. Donc un simple :
	ld a,1
	ld e,1
	call ionGetPixel
	ld a,(hl)
	or a ; équivalent à "cp 0" mais en plus rapide
	call z,PixelOff
	call nz,PixelOn
	etc...

Devrait marcher smile
Posté le 17/07/2011 à 21:09 Membre depuis le 25/03/2011, 207 messages
Merci beaucoup
Sandro