Erf en déboguant mon propre code je me suis rendu compte qu'il faut se méfier des rom calls
_setxxop1 et
_dispop1a (du moins pour s'en servir comme un "_vdispA"

) :
_vdispa:
bcall _setxxop1
ld a,3 ; (ou plus)
bjump _dispop1a
Apparemment il faut mettre le nombre de "digits" à afficher dans l'accumulateur avant d'appeler
_dispop1a (ce qui est débile, il ne peut y en avoir que 3 au maximum de toute façons, non ?), sinon il est possible de tout faire bugger ( cf
http://www.cemetech.net/projects/uti/viewtopic.php?p=129413#129413 ), et en plus de ça d'après mes tests ces rom calls buggent de toute façons sur certaines ROM (notamment TI 84+ 2.41 et supérieures)... Ou alors je m'y prend mal (mais bon elle n'est pas documentée sur le wikiti...) :/
D'autres avis (chickendude, contra) ?
Autrement il y a une autre version tirée de
Bubble Bobble (de Dwedit), peut être pas plus optimisée mais plus sûre :
_vdispa:
ld h,0
ld l,a
_vdisphl:
push de
push hl
ld de,op1+5
xor a
ld (de),a
_vdisphl_loop:
bcall _divhlby10
add a,'0'
dec de
ld (de),a
ld a,h
or l
jr nz,_vdisphl_loop
ex de,hl
bcall _vputs
pop hl
pop de
ret
D'ailleurs je viens de me rendre compte qu'il y a du link dans ce jeu, ça vaudrait peut être le coup d’œil...
edit : Autrement quelqu'un sait pourquoi "bjump _vputmap" bug complètement ? Ça m'a pris la tête pendant 30min
