Autore Topic: Mini Programmino In Assembly Per Inserire Un Chars  (Letto 1646 volte)

COMMODORO

  • Utente
  • **
  • Post: 160
  • Gioco Preferito: Bomberman C64
Mini Programmino In Assembly Per Inserire Un Chars
« il: 28 Settembre 2013, 16:22:45 »
Ho provato a scrivere un programmino più semplice e ristretto possibile che cambia il charset standard.
Scaricando vari charset pronti noto che ci sono dei bug che non so se dipendono dal programma o dai charset. Per esempio se si prova a stampare le virgolette ""
lo schermo si riempie di caratteri.
Comunque ecco il micro listato:

Codice: [Seleziona]
      *=    $1000

                        

                        lda #$18;setta l'indirizzo di memoria del
                        sta $d018;video e dei caratteri

write
                        
                        jsr $ff9f; chiama routine del Kernal che fa lo scan della tastiera
                        jsr $ffe4; prende il carattere digitato e lo mette nell'accumulatore
                        jsr $ffd2;stampa il carattere memorizzato dall'accumulatore

                        jmp write; loop



        *=    $2000  ; indirizzo di memoria in cui viene memorizzato la mappa dei caratteri
        INCBIN "arcadia.64c"



Allego anche il charset in questione

Lo so che il programmino può sembrare banale, ma non per un niubbo come me!  ;)

P.S. Aspetto suggerimenti o risposte sul perché dei bugs!
« Ultima modifica: 22 Gennaio 2015, 00:31:11 da eregil »

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Mini Programmino In Assembly Per Inserire Un Chars
« Risposta #1 il: 28 Settembre 2013, 18:50:14 »
 Il charset non c'entra, stai mescolando clamorosamente il minestrone.

Non è una routine particolarmente "intelligente", ma puramente per scopi didattici provo ad indirizzarti almeno per farti capire cosa sta succedendo e, forse, come "migliorare" il loop: stai stampando una sfilza di CHR$(0).
 
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.

COMMODORO

  • Utente
  • **
  • Post: 160
  • Gioco Preferito: Bomberman C64
Mini Programmino In Assembly Per Inserire Un Chars
« Risposta #2 il: 29 Settembre 2013, 02:00:13 »
 Ciao Eregil e grazie della critica!
Questo codice é già meglio?
Funziona tutto mi sembra!

Codice: [Seleziona]
       *=    $1000 ;sys4096 per far partire il programmino

                        lda $d018;setta l'indirizzo di memoria del
                        ora #$0e;video e dei caratteri
                        sta $d018

                        rts

        *=    $3800  ; indirizzo di memoria in cui viene memorizzato la mappa dei caratteri
        INCBIN "arcadia.64c"

Per favore puoi spiegarmi meglio cosa avevo fatto prima che non andava?  :lol: