116Fermer118
mathieu41Le 18/10/2012 à 19:45
Coucou!
Ca fait un petit moment que je n'ai pas pu me connecter,
@deeph" _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

J'ai peut-être trouvé un pb en lisant le code d'une routine de bell, qui expliquerait les ram cleared et que le jeu quitte sans raison:

(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

Voici la routine qui me pose pb:
bell_swapByte:
	; Store data to be sent (a=registre à envoyer)
	push af
	; Should we send first or receive first?
	ld a,(bell_calcId)
	or a
	jp z,_bell_sendFirst

_bell_recvFirst:
	; Receive data
	call bell_recvByte
	; Exit on receive error
	ret nz                            ;<- 1.S'il y a eut une erreur, on ret, mais sans pop avant...
	; Store the received byte
	ld b,a
	; Get the byte to send
	pop af
	; Store the received byte even safer
	push bc
	; Send data
	call bell_sendByte
	; Retrieve the stored data
	pop af
	ret                                ;<- 2.Le code est censé renvoyer z s'il a réussi...

_bell_sendFirst:
	; Get the byte to send
	pop af
	; Send data
	call bell_sendByte
	; Exit on send error
	ret nz                           ;<-Là c'est ok
	; Receive data
	call bell_recvByte
	ret                                ;Là aussi 

Je vais modifier la première partie, et je vous tiens au courant

Voici ma petite correc': (non testée)
bell_swapByte:
	; Store data to be sent
	ld (bell_swapByte_save_a),a
	ld (bell_swapByte_save_a_3),a
	; Should we send first or receive first?
	ld a,(bell_calcId)
	or a
	jp z,_bell_sendFirst

_bell_recvFirst:
	; Receive data
	call bell_recvByte
	; Exit on receive error
	ret nz
	; Store the received byte
	ld (bell_swapByte_save_a_2),a
	; Get the byte to send
bell_swapByte_save_a = $+1
        ld a,0
	; Send data
	call bell_sendByte
	; Retrieve the stored data
bell_swapByte_save_a_2 = $+1
        ld a,0
	ret

_bell_sendFirst:
	; Get the byte to send
bell_swapByte_save_a_3 = $+1
	ld a,0
	; Send data
	call bell_sendByte
	; Exit on send error
	ret nz
	; Receive data
	call bell_recvByte
	ret

J'ai testé sur l'ému et tout m'a l'air correct (ces derniers, temps, ça c'est carrément mis à bugguer sur l'ému, donc j'espère que c'est bon signe smile )
Contra (./112) :
Bon courage Matthieu41 pour ton jeu, c'est déjà très bien bravo wink

Merci! smile