J'essaie de faire marcher la commande KRF sur vg5000 en mode repeat pour ne pas demander au Z80 de calculer toutes des adresses de l'écran. Je voudrais juste remplir l'écran avec le même caractère. Mais ça ne fonctionne pas.
Voici un exemple qui fonctionne correctement avec la commande KRF à 0 -> affiche un A en (0,0).
Quand je passe le KRF à 5 (bit a et i à 1), ça n'affiche rien.
Il doit y avoir une astuce que je ne voie pas ou bien mame émule mal ce mode.
Est-ce que qq'un a déjà réussi à faire fonctionner cette commande ?
Code : Tout sélectionner
ld d, $21; r1 = car
ld e, 65; car 65
call EF9345
ld d, $26 ; r6 = ligne (0 pour 0 et n+7 pour [1 <= n <= 24])
ld e, 00
call EF9345
ld d, $27 ; r7 = colonne entre 0 et 39
ld e, 00
call EF9345
ld d, $28 ; d=40 (registre r0 + 8 execution)
ld e, $05 ; et e=0 krf repeat (ne marche pas, si $00 affiche un A)
call EF9345
; wait -> c'est marque dans la doc
ld bc, 1000h ;loads bc with hex 1000
outer:
ld de, 0010h ;loads de with hex 1000
inner:
dec de ;decrements de
ld a, d ;copies d into a
or e ;bitwise or of e with a (now, a = d | e)
jp nz, inner ;jumps back to inner: label if a is not zero
dec bc ;decrements bc
ld a, b ;copies b into a
or c ;bitwise or of c with a (now, a = b | c)
jp nz, outer ;jumps back to outer: label if a is not zero
ld d, $28 ; d=40 (registre r0 + 8 pour l execution)
ld e, $91 ; et e=145 nop (pour arrêter le repeat)
call EF9345