J'ai fait des optimisations un peu partout le programme et je l'ai changé un peu pour être compatible avec le 83 et le 83+ (je crois qu'il fonctionne encore avec le ti 83 !). Je sais pas si tu veux les voir.
Ici par exemple j'ai changé le code pour aficher le "map" (qui n'est qu'un sprite répété sur tout l'écran):
MAP_LOAD:
ld hl,gbuf+(12*8) ;sauter les premiers 8 fils
ld b,7
lm_loop:
push bc
ld c,8
ld de,block
lm_loop_out
ld b,10
lm_loop_in:
ld a,(de)
or (hl)
ld (hl),a
inc hl
djnz lm_loop_in
inc de
inc hl
inc hl
dec c
jr nz,lm_loop_out
pop bc
djnz lm_loop
lm_fin:
; Afficher le robinet (depart)
ld e, 32
ld a, 80
ld hl, robinet
call DRWSPR
ret
Si tu affichais le pointeur aprés la grille, tu pourrais effacer le "ld a,(de) \ or (hl)". Et je crois bien que tous (ou presque tous) les push/pops sont superflus.