Ready64 Forum
Commodore 64 => Aiuto & Domande => Topic aperto da: giuseppe - 28 Agosto 2017, 01:22:44
-
salve ragazzi, volevo sapere come faccio a stampare 10 caratteri di colore rosso, i caratteri sono riusciuto a stamparli, ( 10 g) ma non riesco a dargli il colore. questo à il listato assembler, grazie anticipatamente
*= 1000
lda #$07
ldx #$00
loop1 sta $0400,x
sta $d800,x
inx
cpx #$0a
bcc loop1
rts
-
A parte qualche tecnicalità, stai facendo STA dello stesso valore (#$07) come codice carattere e codice colore, e tale codice non corrisponde al rosso. Puoi risolvere in più modi. Ad esempio fai due cicli distinti: uno per i caratteri e uno per i colori, impostando i valori giusti.
Visto che stai imparando, fai anche degli esperimenti svolgendo il ciclo alla rovescia.
-
scusa, ho provato a fare due cicli distinti, come sottoriportato , ma non funziona , quando do l invio esce dall'assembler e torna al basic con la schernata blu
in basic questa procedura funziona, anche altre maniere , ma quando li trsscrivo in assembler non funzionano, sicuramente c'e un passaggio che mi sfugge
lda #$07
ldx #$00
loop sta $0400,x
inx
cpx #$0a
bcc loop
lda #$05
ldx #$00
loop2 sta $d800,x
inx
cpx #$0a
bcc loop2
rts
compattata
1 print"S"
10 a=07
20 x=0
30 poke 55296+x,5
40 poke1024+x,7
45 x=x+1
50 if x<>10 then goto30
ready.
Doppio ciclo
10 a=07
20 x=0
40 poke1024+x,7
45 x=x+1
50 if x<>10 then goto40
70 a=7:x=0
80 poke 55296+x,5
90 x=x+1
95 if x<>10 then goto80
ready.
-
adesso funziona, molto strano, alcune volte funziona, altre volte no, forse il vice che non funziona bene, molto grazie eregil, ho provato anche i tuoi consigli, sto facendo esperimenti, vado alla grande grazie di nuovo
-
hurra , perfetto sono riusciuto a farlo come volevo io senza doppio ciclo
*= 1000
ldx #$00
loop lda #$07
sta $0400,x
lda #$08
sta $d800,x
inx
cpx #$0a
bcc loop
rts