Autore Topic: colorare caratteri in assembler  (Letto 1200 volte)

giuseppe

  • Neo-iscritto
  • *
  • Post: 9
  • Gioco Preferito: Dragon's Lair
colorare caratteri in assembler
« il: 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

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Re:colorare caratteri in assembler
« Risposta #1 il: 28 Agosto 2017, 23:52:34 »
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.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

giuseppe

  • Neo-iscritto
  • *
  • Post: 9
  • Gioco Preferito: Dragon's Lair
Re:colorare caratteri in assembler
« Risposta #2 il: 29 Agosto 2017, 15:24:47 »
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.




giuseppe

  • Neo-iscritto
  • *
  • Post: 9
  • Gioco Preferito: Dragon's Lair
Re:colorare caratteri in assembler
« Risposta #3 il: 29 Agosto 2017, 15:44:01 »
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

giuseppe

  • Neo-iscritto
  • *
  • Post: 9
  • Gioco Preferito: Dragon's Lair
Re:colorare caratteri in assembler
« Risposta #4 il: 29 Agosto 2017, 23:39:58 »
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