Autore Topic: Il Mio Primo Programma In Lm  (Letto 1583 volte)

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
Il Mio Primo Programma In Lm
« il: 23 Giugno 2004, 10:13:39 »
 Volevo sperimentare un semplice programma che facesse cambiare il colore dello schermo a nero. Dando una lettura alle guide recentemente linkate ho appreso (credo male) alcuni comandi. E ho fatto quanto segue:

Codice: [Seleziona]
* = 16500 'Entry Point? Cioè digitando SYS 16500 dovrebbe eseguire?
LDA $0 'Carica nell'accumulatore A il valore 0?
STA $D021 'D021 (HEX) - > 53281. Quindi POKE 53281,0?


 :huh: Non funziona... In fase di compilazione mi restituisce un errore che non ricordo (sto utilizzando una postazione lontana da casa, quindi senza emulatore)
Credo che il problema sia nello STA, forse il valore D021 dovrebbe essere suddiviso in più parti?

Per assemblare il tutto ho usato il programma linkato da IAN, il c64ASM e utilizzo il Vice come emulatore..
Ho capito di odiare le firme...

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2411
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Il Mio Primo Programma In Lm
« Risposta #1 il: 23 Giugno 2004, 10:37:58 »
 Non hai messo i punti e virgola prima dei commenti, e quindi il C64ASM si ferma alla prima parola che non "conosce".
Ad occhio e croce direi che ci sono anche errori nel programma però. Lascio a chi ne sa più di me il compito di approfondire :)
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
Il Mio Primo Programma In Lm
« Risposta #2 il: 23 Giugno 2004, 10:40:37 »
Citazione da: "Ready64"
Non hai messo i punti e virgola prima dei commenti, prima di tutto.
Ad occhio e croce direi che ci sono anche errori nel programma però. Lascio a chi ne sa più di me il compito di approfondire :)
Beh si.. ma nel sorgente originale non c'erano i commenti  :P
Era solo per fare un "dump" di cosa io penso circa quella linea!
Ho capito di odiare le firme...

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Il Mio Primo Programma In Lm
« Risposta #3 il: 23 Giugno 2004, 11:32:35 »
 
Codice: [Seleziona]
*=679    ;inizia dalla locazione 679
LDA #$00  
STA 53281      ;=poke 53281,0
RTS            ; torna da routine,altrimenti esegue un BRK
                ; interrupt resettando lo sfondo
Così funge  :)
Un consiglio:quando scrivi un programma in LM,se ti è possibile,mettilo in una zona di memoria inutilizzata dal Basic,tipo una di queste

- RAM libera di pagina 2 ( locazioni 679-767 )
- buffer di cassetta ( locazioni 820-1023 )
- RAM libera inutilizzata dal Basic ( locazioni 49152-53247 )

Altrimenti,se proprio vuoi usare la RAM destinata al Basic,abbassa i puntatori alla fine del Basic (locazioni 55-56) e alla crescita delle stringhe temporanee (locazioni
51-52).
Qualche info a proposito la trovi nel mio ultimo articolo. :maximo:  :overkiller:

Bye :ciauz:

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
Il Mio Primo Programma In Lm
« Risposta #4 il: 23 Giugno 2004, 11:48:12 »
Citazione da: "Alberto"

Qualche info a proposito la trovi nel mio ultimo articolo. :maximo:  :overkiller:
 
Grazie.. L'ho letto ieri e devo dire che un bell'articolo! Appena torno a casa lo provo.. Di nuovo grazie  :ciauz:  
Ho capito di odiare le firme...