117119Fermer
deephLe 18/10/2012 à 20:32
mathieu41 (./117) :
" _dispop1a" est une romcall faite pour afficher un flottant, donc pouvant aller jusqu'à 14 chiffre, donc quand il y a des virgules, c'est pratique de pouvoir donner la précision de l'affichage avec a

Oui en lisant le sdk ça a tout de suite plus de sens. Du coup vérifie bien que a > 2 (au minimum), si c'est pour afficher des scores, autrement ça peut expliquer certains "ram clear".
mathieu41 (./117) :
(Au passage, j'ai remarqué que la routine que j'ai créé pour savoir où on commence est inutile: quand on utilise bell_connect, ça appelle bell_sync, et le numéro de la calto (0 ou 1) est stocké dans bell_calcId, il suffit donc de faire ld a,(bell_calcId) ) wink.gif

C'est ce qui me semblais mais c'était pas indiqué dans la doc.

Pour ta routine, pourquoi ne pas simplement faire :

bell_swapByte:
	push af
	ld a,(bell_calcId)
	or a
	jp z,_bell_sendFirst

_bell_recvFirst:
	call bell_recvByte
	jp nz,_bell_recvFirst_skip	; on vide la pile avant de quitter
	ld b,a
	pop af
	push bc
	call bell_sendByte

_bell_recvFirst_skip:
	pop af
	ret

_bell_sendFirst:
	pop af
	call bell_sendByte
	ret nz
	jp bell_recvByte	; petite optimisation