Già. Sono decisamente in fase "Commodore 64", negli ultimi giorni. Che ve lo dico a fare? ;)
Piuttosto, voi altri debosciati siete per caso curiosi di conoscere le mirabolanti imprese nelle quali mi sono cimentato dall'ultima volta che ci siamo sentiti? NO??? Come "no"... Che impudenti! Allora sapete che c'è?! Ve le racconto lo stesso, che il "blog" è mio e faccio un po' come cazzo mi pare!!! :D
L'ultima volta che ci siamo sentiti, stavo smanettando con i "files" delle "ROMs" dei "drives" del "C64" e con un "kernel" customizzato noto con il nome di "JiffyDOS". Approfondendo la questione, ho appreso che i creatori della suddetta "ROM" l'hanno realizzata a partire dall'originale (e ci mancherebbe altro... :P ), inserendo il loro codice di "turbizzazione" dei "drives" al posto delle istruzioni preposte al controllo del registratore a cassette (che così non è più supportato dall'"hardware"...).
A questo punto, pur capendoci poco o niente di programmazione, vi confesso che mi sono un attimo appassionato alla questione «customizzazione del "C64"». In tal senso, a partire da un disassemblato della "ROM" originale della macchina e con il supporto di un paio di dritte rinvenute sul "forum" di "Lemon64" (suggerimenti preziosi per capire dove andare a parare... :P ), ho rinvenuto gli indirizzi dove risiedono i codici di controllo che determinano i colori del bordo dello schermo ($ECD9), dello sfondo ($ECDA) e del cursore ($E535) all'avvio del sistema.
A questo punto mi son detto: «Ok. Il "linguaggio macchina" è decisamente arabo per me, ma se spolvero un editor esadecimale e gli do in pasto una copia del "dump" della "ROM" del "C64" che utilizzo correntemente con il "WinVICE", magari qualcosa riesco a combinare!!!".
Detto, fatto.
"XVI32" alla mano, ho quindi aperto una copia di "backup" della suddetta "ROM" ed ho incominciato a spulciarla alla ricerca dei valori alfanumerici incriminati, confusi nel marasma dei simboli grafici più disparati... Aiutandomi con la funzione "Search" del programma e confidando nel fatto che le stringhe da me ricercate fossero univoche, provai a trovare la coppia esadecimale "A9 0E" direttamente nel codice della "ROM"; un binomio esadecimale nel quale lo specifico valore "0E" definiva il colore del cursore all'avvio...
Ed eccolo! Preciso e puntuale, all'indirizzo esadecimale "535", un bel "0E" fa bella mostra di sé! Per scrupolo, continuo la mia ricerca ma il risultato è univoco. Trovato. BINGO! :)
Ora, "Google" mi insegna che il suddetto valore si riferisce al colore "light blue". Mettiamoci un bel "0D" al suo posto, va là... ;) Mutato il valore della cella, continuo imperterrito la mia ricerca. La stringa successiva è "00 0E 06 01"; una sequenza che il disassemblato della "ROM" mi conferma contenere i due valori che controllano rispettivamente le tinte dello sfondo e del bordo dello schermo. Come volevasi dimostrare! Stringa immediatamente ed univocamente localizzata e valori alfanumerici correttamente reperibili agli indirizzi "CD9" e "CDA". :D
La coppia "0E 06", in men che non si dica viene soppiantata dal binomio "0D 05".
Il tocco finale? Una rapida ed indolore personalizzazione del messaggio d'avvio che, essendo scritto in chiaro, non è un problema da individuare e modificare... ;)
Ma non finisce qui!
Della serie: abbiamo fatto trenta? Facciamo trentuno!!! :)
Aggeggiando con "ROMs", "drives" e "files immagine" di "floppy disks" vari ed eventuali, ad un certo punto mi si presenta la necessità di trasferire un programma in formato ".PRG" dall'"hard disk" del mio computer all'interno di un ".D64", per comodità d'uso. (Sapete com'è... Un disco virtuale può essere "swappato" in qualsiasi momento! :P ).
In fondo, i "tools" ce li ho. Non è un problema...
Con il "WinVICE" creo l'immagine di un "floppy disk" vuoto e preformattato (in formato ".D64") e con "64Copy" trasferisco agevolmente all'interno del disco virtuale il ".PRG" che mi interessa. A questo punto il lavoro sarebbe terminato, sennonché un tarlo si insinua in profondità nelle meningi del vostro buon anfitrione... :)
«Ma quanto sono belli i dischetti delle demo o quelli dei giochi piratati del "Commodore 64", con la loro arzigogolata "directory" elaborata in maniera grafica utilizzando sapientemente gli altrimenti inutili "files .DEL"???».
Al grido di "ANCHE IO! ANCHE IO!!!", il buon Marte apre senza indugio "D64Editor" (perché gli strumenti ce li ha... Deve solo trovare l'occasione buona per utilizzarli!!! :P ) e si imbesuisce di brutto con "separatori" ed "ordine dei files", fino a quando il risultato finale non lo soddisfa pienamente...
"Ma perché tutto ciò?".
"Ma che cosa ne so?! ESSONCONTENTO! ESSONCONTENTO!!!", vi avrebbe risposto un Francesco Salvi d'antologa. Io, più o meno, mi sento di darvi una risposta analoga, solo che mi vien da motivarvela con la stagione invernale che imperversa... ;)
Fuori fa freddo.
In casa ci si annoia.
In televisione non fanno niente... :P
A questo punto mi son detto: «Ok. Il "linguaggio macchina" è decisamente arabo per me, ma se spolvero un editor esadecimale e gli do in pasto una copia del "dump" della "ROM" del "C64" che utilizzo correntemente con il "WinVICE", magari qualcosa riesco a combinare!!!".
Detto, fatto.
"XVI32". |
"XVI32" alla mano, ho quindi aperto una copia di "backup" della suddetta "ROM" ed ho incominciato a spulciarla alla ricerca dei valori alfanumerici incriminati, confusi nel marasma dei simboli grafici più disparati... Aiutandomi con la funzione "Search" del programma e confidando nel fatto che le stringhe da me ricercate fossero univoche, provai a trovare la coppia esadecimale "A9 0E" direttamente nel codice della "ROM"; un binomio esadecimale nel quale lo specifico valore "0E" definiva il colore del cursore all'avvio...
Ed eccolo! Preciso e puntuale, all'indirizzo esadecimale "535", un bel "0E" fa bella mostra di sé! Per scrupolo, continuo la mia ricerca ma il risultato è univoco. Trovato. BINGO! :)
Ora, "Google" mi insegna che il suddetto valore si riferisce al colore "light blue". Mettiamoci un bel "0D" al suo posto, va là... ;) Mutato il valore della cella, continuo imperterrito la mia ricerca. La stringa successiva è "00 0E 06 01"; una sequenza che il disassemblato della "ROM" mi conferma contenere i due valori che controllano rispettivamente le tinte dello sfondo e del bordo dello schermo. Come volevasi dimostrare! Stringa immediatamente ed univocamente localizzata e valori alfanumerici correttamente reperibili agli indirizzi "CD9" e "CDA". :D
La coppia "0E 06", in men che non si dica viene soppiantata dal binomio "0D 05".
Il tocco finale? Una rapida ed indolore personalizzazione del messaggio d'avvio che, essendo scritto in chiaro, non è un problema da individuare e modificare... ;)
Bello, vero? |
Ma non finisce qui!
Della serie: abbiamo fatto trenta? Facciamo trentuno!!! :)
Aggeggiando con "ROMs", "drives" e "files immagine" di "floppy disks" vari ed eventuali, ad un certo punto mi si presenta la necessità di trasferire un programma in formato ".PRG" dall'"hard disk" del mio computer all'interno di un ".D64", per comodità d'uso. (Sapete com'è... Un disco virtuale può essere "swappato" in qualsiasi momento! :P ).
In fondo, i "tools" ce li ho. Non è un problema...
"64Copy". |
Con il "WinVICE" creo l'immagine di un "floppy disk" vuoto e preformattato (in formato ".D64") e con "64Copy" trasferisco agevolmente all'interno del disco virtuale il ".PRG" che mi interessa. A questo punto il lavoro sarebbe terminato, sennonché un tarlo si insinua in profondità nelle meningi del vostro buon anfitrione... :)
«Ma quanto sono belli i dischetti delle demo o quelli dei giochi piratati del "Commodore 64", con la loro arzigogolata "directory" elaborata in maniera grafica utilizzando sapientemente gli altrimenti inutili "files .DEL"???».
Una cosuccia del genere... |
Al grido di "ANCHE IO! ANCHE IO!!!", il buon Marte apre senza indugio "D64Editor" (perché gli strumenti ce li ha... Deve solo trovare l'occasione buona per utilizzarli!!! :P ) e si imbesuisce di brutto con "separatori" ed "ordine dei files", fino a quando il risultato finale non lo soddisfa pienamente...
Si poteva senz'altro fare di meglio, ma rende comunque l'idea... ;) |
"Ma perché tutto ciò?".
"Ma che cosa ne so?! ESSONCONTENTO! ESSONCONTENTO!!!", vi avrebbe risposto un Francesco Salvi d'antologa. Io, più o meno, mi sento di darvi una risposta analoga, solo che mi vien da motivarvela con la stagione invernale che imperversa... ;)
Fuori fa freddo.
In casa ci si annoia.
In televisione non fanno niente... :P
Cos'è questo QRCode? Come l'hai realizzato? |
Nessun commento:
Posta un commento