Il mio sogno, ora che tempo libero ne ho da buttare (mi sono appena separato)
Bene, le donne sono solo d'impiccio.
sarebbe quello di imparare l'Assembly del Commodore 64.
Il Basic lo mastico abbastanza bene. Come strumenti ho vari libri, la guida di riferimento del programmatore e l'Action Replay MKVI,il Macro Assembler della Commodore.
Hai quasi tutto quello che serve per iniziare a programmare su un C64.
1) Quale testo mi consigliate per iniziare: Mapping the Commodore 64 o il testo di Jim Butterfield (che perarltro non so neanche dove trovarlo)?
Entrambi ovviamente, il libro di Butterfiled e' il libro di testo, mapping e' il sussidiario+tavole numeriche se vogliamo fare dei paragoni scolastici.
Gia' che ci sei prenditi anche All About Your C64 (AAY64), che e' un prontuario su TUTTO.
In Pillole di programmazione trovi alcuni puntatori.
2) che differenza passa tra Assembler, Monitor e Cross Assembler?
Assembler= programma per compilare un sorgente in assembly (lda/sta) quindi con supporto a labels e macro. Esempi: Macro assembler e Turbo assembler.
Monitor=programma per editare la memoria sia in formato esadecimale e scrivere BREVI pezzi di codice anche in assembly che vengono direttamente assemblati istruzione per istruzione man mano che scrivi. Non consente labels quindi gli indirizzi dei salti li devi calcolare a mano.
Cross Assembler=Un assembler che non gira su una macchina nativa ma su un'altra piattaforma ma che produce comunque codice per un altra piattaforma, quella nativa che nel nostro caso e' il C64. Dasm e' nato su amiga ad esempio, e' scritto in C portabile su quasi tutte le piattaforme quindi anche PC dos/linux/windows; genera codice 6502 e altri processori quindi anche per C64. La mia versione di dasm e' C64-centrica, ho tolto ogni cosa che non serve alla compilazione per altri processori e aggiunto keyword utili solo su C64.
L'indubbio vantaggio del cross assembling e' la velocita' senza dimenticare la comodita' di poter usare il tuo editor di testi preferito senza dover imparare ad usarne un altro, tass io ad esempio non lo reggo =)
3) che programma devo usare per battere il mio primo programma in Assembly ed eseguirlo?
In Macro assembler per c64 non so proprio perche' non lo conosco.
Turbo assembler e' un editor di sorgenti con tutto integrato.
Per scriverlo su pc basta un editor testo qualsiasi e poi con dasm da linea di comando lo assembli. DEVI leggere le istruzioni. Assolutamente. Non perdere nemmeno tempo a chiedere "come si fa?"