Algorithme d'une ligne avec des cellules de 8x10 pixels en BASIC
;org 28672
push hl
ld hl,21000
FILL_LOOP:
LD (hl),0 ; Charger la valeur 0 dans la zone mémoire à l'adresse pointée par HL
INC hl ; Incrémenter HL pour passer à l'adresse mémoire suivante
ld a,h
cp 96 ;24800 soit 60e0 ou $96,$224
jp nz,FILL_LOOP
pop hl
ret
push hl
ld hl,_ef9345
call $00ad
_org:
ld a,31
ld (_setet),a
ld a,31
ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,41
ld (_cursory),a
ld hl,21000
_buildsetet1:
;--------------build seteT--------------------
ld a,(_setet); numero de caractere a definir
inc a
ld (_setet),a
ld a,(_setet)
;cp 0 ???????????????????????????????????????
jp z,_suite1
call $001B ; construction des incremente HL de 10
jp _buildsetet1
_suite1:
_fillx1:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx1
ld a,0
ld (_cursorx),a
ld a,42
ld (_cursory),a
_fillx2:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx2
_suite2:
ld a,0
ld (_cursorx),a
ld a,43
ld (_cursory),a
_fillx3:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx3
;ld a,31
;ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,44
ld (_cursory),a
_fillx4:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx4
;pop hl
;ret
ld a,0
ld (_cursorx),a
ld a,45
ld (_cursory),a
_fillx5:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx5
;pop hl
;ret
;ld a,31
;ld (_caractere),a
;ld a,128
;ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,46
ld (_cursory),a
_fillx6:
ld a,$80
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx6
;pop hl
;ret
ld a,31
ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,47
ld (_cursory),a
_fillx7:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx7
ld a,0
ld (_cursorx),a
ld a,48
ld (_cursory),a
_fillx8:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx8
;_suite2:
ld a,0
ld (_cursorx),a
ld a,49
ld (_cursory),a
_fillx9:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx9
;ld a,31
;ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,50
ld (_cursory),a
_fillx10:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx10
;pop hl
;ret
ld a,0
ld (_cursorx),a
ld a,51
ld (_cursory),a
_fillx11:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx11
;pop hl
;ret
;ld a,31
;ld (_caractere),a
;ld a,128
;ld (_caractere),a
ld a,0
ld (_cursorx),a
ld a,52
ld (_cursory),a
_fillx12:
ld a,$a0
ld (_mode),a
ld a,(_caractere)
inc a
ld (_caractere),a
ld a,135
ld (_color),a
ld a,(_cursorx)
inc a
ld (_cursorx),a
ld hl,_ef9345suite
call $00ad
ld a,(_cursorx)
cp 16
jp nz,_fillx12
pop hl
ret
-----------------------------------------------------------
_init:
db 24,$21,$00,$28,$81,$21,$6E,$28,$82,$21,$f7,$28,$83,$21,$13,$28,$84,$21,$08,$28,$87,$22,$38,$28,$00
_ef9345:
db 20,$21,$00,$28,$81,$21,$06,$28,$82,$21,$67
db $28,$83,$21,$13,$28,$84,$21,$28,$28,$87
_ef9345suite:
db 12,$21
_caractere:
db 31,$22
_mode: ; mode setet,seteg ou texte d8,c1,00
db $00,$23
_color:
db 135,$26
_cursory:
db 40,$27;ajouter 35 pour les coordonnés y pour ce mode graphique
_cursorx:
db 0,$28,$00
_setet:
db 32
_y:
db 39
_gate:
db 128
_counter:
db 0
_countframes:
db 1
Commentaires
Enregistrer un commentaire