Articles

Algorithme d'une ligne avec des cellules de 8x10 pixels en BASIC

Image
  Download programme ;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 $00a
 Pour dessiner un pixel sur vg5000 en Basic  00 setet 65,"00000000010000000000": redéfini le caractere "A" 10 seteg 65,"00000000010000000000": redéfini le caractere "A" 20 ET 1,0,0: rem initialise la couleur du caractere graphique setet en rouge 30print "A": rem affiche le caractere redefini  50 EG 4,6,0: rem initialise la couleur du caractere graphique seteg en bleu 60print "A": rem affiche le caractere redefini 
Image
 routine d'affichage de caractères sur vg5000 ;org 28672 push bc push de ld bc,16384 ld de,20480 loop: ld a,(de) cp 59 jp z,fin inc de ld (bc),a ld a,2 inc bc ld (bc),a inc bc jp loop fin: pop bc pop de ret Download

Dessiner en quatre couleurs sur VG5000

Image
  Download Touche 1=rouge touche 2=vert touche 3=blanc touche A=stylo levé touche Z=efface touches direction pour ce déplacer source ;org 28672 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)                       jp z,_suite1           call $001B ; construction des incremente HL de 10           jp _buildsetet1 _suite1: _fillx1: ld a,$d8 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,$d8 ld (_mode),a  ld a,(_caractere)  inc a  ld (_caractere),a ld a,135 ld (_color),a   ld a,(_cursorx)  inc a  ld

dessiner en haute resolution sur vg5000 128x120 en deux couleurs

Image
  Download   source en assembler z80 ;org 28672 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)                       jp z,_suite1           call $001B ; construction des incremente HL de 10           jp _buildsetet1 _suite1: _fillx1: ld a,$d8 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,$d8 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
Image
Sprites on VG5000