24Fermer26
chickendudeLe 11/06/2011 à 17:33
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.