Ready64 Forum
Commodore 64 => Off Topic => Topic aperto da: verdelfino - 02 Febbraio 2009, 10:25:26
-
Salve a tutti,
qualche giorno fa ho scaricato un emulatore di Commdore 128 per Mac OS X (una delle ultime versioni del VICE) e il relativo manuale di programmazione Basic. L'idea era quella di rimettermi - per divertimento - a programmare qualcosina con il Basic 7.0 come facevo da ragazzino... :)
Ho disegnato uno sprite con la funzione SPRDEF, ho scritto qualche riga in BASIC per muoverlo e ridefinirne il colore, poi ho creato una immagine disco, ho effettuato l'attach e ho registrato con DSAVE il programmino. Fin qui tutto OK.
Quando ho resettato il VICE e ho ricaricato il listato, le righe in codice c'erano ancora e giravano perfettamente solo che... lo sprite che avevo disegnato era stato resettato. A questo punto ho avuto un deja-vu e mi sono ricordato che un problema simile mi era capitato anche venti anni fa agli albori dei miei esperimenti con il C128. Sono anche sicuro di averlo risolto ma... non ricordo come! :doh:
Qualcuno sa aiutarmi? Grazie!
-
Gli sprite non sono memorizzati nell'area del programma BASIC, perciò il comportamento che dici tu è normale. Prova usando SPRSAV per salvare lo sprite in una variabile stringa, quindi ingegnati per fare in modo che il tuo programma ricostruisca la stringa identica (magari ricostruendola byte per byte usando CHR$ e ASC) e utilizzi SPRSAV per ripristinare lo sprite dalla stringa.