Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: giovfr - 30 Settembre 2009, 18:10:09

Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 30 Settembre 2009, 18:10:09
 ciao a tutti! che bello vedere che ci sono ancora tanti appassionati del commodore 64!
bando alle ciance, ho da poco iniziato a leggere qualcosina sulla programmazzione assembly (un testo che avevo da tanti anni di un tale ian sinclair(!!!):"commodore 64 codice macchina") ed ho iniziato a scrivere del minimo codice con il programma "mikro", un pacchetto che allora veniva venduto in cartuccia e che io mi sono scaricato dalla rete, passato su floppy e caricato sul mio fido 64. Ho provato a salvare quello che ho scritto in codice macchina, ma posso caricarlo solo utilizzando l'apposito comando del monitor TIM del MIKRO. Ora mi chiedo e VI chiedo: come posso caricare i programmi indipendentemente dal software assemblatore? grazie!!!!!!!
giò
Titolo: Come Salvare In Codice Macchina?
Inserito da: iAN CooG - 10 Ottobre 2009, 18:50:33
 Non si capisce cosa vuoi chiedere. Vuoi caricare un SORGENTE di un tuo programma o il CODICE OGGETTO assemblato da Mikroassembler?
Per caricare un programma gia' assemblato, LOAD"programma",8,1 e poi la sys relativa, se non hai scritto nel sorgente anche la riga basic.
Posta qualche esempio per farti capire.
Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 26 Ottobre 2009, 15:50:08
 Ciao, grazie per la risposta che ho letto solo oggi! hai ragione, mi sono spiegato male. Quello che dici tu è proprio quello che pensavo dovessi fare. Ho un listato già assemblato che ho chiamato"salto", un mini giochino con due sprite. bene, il listato parte dalla locazione 28000:se salvo tramite il monitor e poi spengo il c64, all'accensione, caricando il programma e scrivendo sys28000 non succede nulla. se però carico il programma dall'apposito comando del monitor e lancio con sys28000, il gioco parte!!! perchè????
spero di essere stato più chiaro: i miei programmi assemblati e registrati su floppy, partono solo se caricati tramite il monitor!!

grazie
giò
Titolo: Come Salvare In Codice Macchina?
Inserito da: fab - 26 Ottobre 2009, 15:51:58
 In memoria ci sono o no? Se hai l'emulatore VICE, dal monitor scrivi

m +28000

Su un vero C64, controlla con delle PEEK se il programma c'e' alla locazione 28000
Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 26 Ottobre 2009, 16:02:00
 si, è un c64 vero
controllo subito,grazie mille
Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 26 Ottobre 2009, 17:42:56
 i valori presenti con le peek all'accensione non cambiano dopo il caricamento dell'assemblato! come è possibile? non carica nulla in memoria!
Titolo: Come Salvare In Codice Macchina?
Inserito da: mces - 26 Ottobre 2009, 18:22:15
 Il buon iAN CooG ti ha dato un comando basic ben specifico:
LOAD"programma",8,1
dove MOLTO importante è il ,8,1 che sono indipensabili per dire:"carica il 'programma' lì da dove l'ai preso", e non (necessariamente) nell'area dei programmi basic.
Importante è pure aver salvato il programma con le stesse opzioni ,8,1 dopo aver puntato i puntatori di inizio e fine basic al byte precedente all'inizio del programma e a quello successivo alla fine, se ben ricordo.
Su come posizionare i puntatori rimando a chi ha una memoria più fresca sulla questione.....
Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 26 Ottobre 2009, 20:11:04
 GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNZIONA!!!!!
Non so come ringraziarvi, siete eccezionali!!!!
a buon rendere:))


Giò
 
Titolo: Come Salvare In Codice Macchina?
Inserito da: mces - 26 Ottobre 2009, 21:04:33
 però ora lo devi dire: cosa diavolo non facevi che ora fai e tutto funziona?
Dai, che di soddisfazioni si vive!! :metal:  
Titolo: Come Salvare In Codice Macchina?
Inserito da: giovfr - 26 Ottobre 2009, 22:49:45
 davo il comando load"nome",8 omettendo l'1. con 8,1 invece funziona tutto!
Titolo: Come Salvare In Codice Macchina?
Inserito da: mces - 27 Ottobre 2009, 17:46:14
  :doh: Quando i particolari fanno la differenza...... :fagiano: