30

Bien sûr, je te le montre plus tard peut-être ce soir. J'ai seulement une chose à dire maintenant: tu devrais vraiment faire un CONSTANT du gbuf (#DEFINE gbuf 8e29h ou gbuf .equ 8e29h ou gbuf = 8e29h, ce que tu voudras). Ainsi tu n'auras pas à te rappeler toujours de son valeur !

31

En fait j'utilise parfois plotsscreen parce que ça sera plus facile de faire la version 83+ si je n'ai pas tout "hardcodé" partout....

J'ai voulu afficher tous les sprites d'un coup et j'ai eu un résultat surprenant (affichage de haut en bas) .

Bah du coup j'ai un peu modifié la page de titre smile

volts_m4.gif

32

Voici la première partie:
TITLE_PRINT:
    ld c,64
    ld a,$FE
    ld hl,8e29h     ;gbuf
TITLE_PRINT_LOOP1:
    ld b,12
TITLE_PRINT_LOOP2:
    ld (hl),a
    inc hl
    djnz TITLE_PRINT_LOOP2
    rlca
    dec c
    jr nz,TITLE_PRINT_LOOP1

    ld c,8
    ld de,12-5
    ld hl,$8e29 + (24*12)+3
TP_LOOP:
    ld b,5
    xor a
    ld (hl),a
    inc hl
    djnz $-2
    add hl,de
    dec c
    jr nz,TP_LOOP

    ld  a, 24
    ld  e, 24
    ld  hl, v
    call    DRWSPR
;...


La deuxième (pour faire "sauter" l'écran):
TITLE_SCROLL:

    ld  b, 64
    push bc
    call jumpy
    pop bc
    djnz $-5
    ld b,64
ts_loop:
    push    bc
    ld  hl, 37148
    ld  de, 37160
    ld  bc, 756
    lddr
    call    FASTCOPY
    pop bc
    djnz    ts_loop
    ret

jumpy:
    ld hl,changeStart
    inc (hl)
    call    FASTCOPY
    ld hl,changeStart
    ei
    halt
    halt
    di
    dec (hl)
    dec (hl)
    call    FASTCOPY
    ld hl,changeStart
    inc (hl)
    ei
    halt
    halt
    di
    ret


Et j'ai ajouté ceci à fastCopy:
fastCopy:
    di
    ld  a,$80               ; 7
    out ($10),a             ; 11
changeStart = $+1    ;<------------------------------ceci
    ld  hl,8e29h-12-(-(12*64)+1)        ; 10
    ld  a,$20               ; 7
    ld  c,a             ; 4
;...