Ready64 Forum

Commodore 64 => Aiuto & Domande => Topic aperto da: pastore007 - 24 Ottobre 2020, 17:05:34

Titolo: Programma per Lista codice sorgente programmi c64
Inserito da: pastore007 - 24 Ottobre 2020, 17:05:34
Salve!

Cercherò di essere piu' chiaro che posso.
Cerco un programma che mi permetta di visualizzare il codice sorgente di programmazione di un dato gioco/programma per C64.
Dato che sono possessore di Mac, ne esiste uno che giri sul mio sitema operativo?

grazie
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: tsm_carmine - 25 Ottobre 2020, 02:47:13
Ciao, la cosa è fattibile se il programma, o parte di esso, è in CBM Basic. In questi casi si può leggere (più o meno facilmente) il sorgente della parte in Basic perché il Basic Commodore è un linguaggio interpretato.
I sorgenti dei programmi in linguaggio macchina, invece, possono essere forniti solo dagli autori dei medesimi; da questi tipi di programmi si può tutt'al più ottenere un disassemblato che è complesso sia da estrapolare (il disassemblatore quasi mai è in grado di distinguere automaticamente le aree di codice dalle aree dati) che da leggere, poiché con questa operazione non è possibile recuperare tutti quegli artifici, come simboli e macro, che rendono il programma facilmente comprensibile e quindi modificabile.
Esistono poi i programmi compilati, che sono in linguaggio macchina ma ottenuti a partire da sorgenti in linguaggi ad alto livello come Basic e C. Il reverse engineering di questi programmi può rivelarsi estremamente complesso (ad es. PetSpeed (https://www.atarimagazines.com/compute/issue30/013_1_Review_Petspeed_An_Optimizing_Compiler_For_PET-CBM.php)), ma in qualche raro caso ci sono dei decompilatori che semplificano la faccenda (vedi Blitz/Austro Decompiler (https://csdb.dk/release/?id=147419)).
Immagino che ciò che ti interessa sia sbirciare la parte Basic di qualche avventura della serie Next Strategy. A tal proposito ho fatto una prova con Le avventure di Jack Byteson: passaggio in Transilvania (https://ready64.org/giochi/scheda_gioco/id/2064/jack-byteson-passaggio-in-transilvania): è bastato sottoporre il file del gioco a una passata con Unp64 (https://csdb.dk/release/?id=173885) e poi usare petcat (https://vice-emu.sourceforge.io/vice_15.html) sul file appena generato. Su Mac non dovrebbe essere troppo difficile compilare Unp64 da sorgenti, mentre petcat viene installato insieme all'emulatore Vice. Se non era questo il tuo intento o se il procedimento descritto non funziona col gioco che ti interessa, dacci qualche dettaglio in più e cercheremo una soluzione.
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: pastore007 - 01 Febbraio 2021, 17:05:51
Si esatto Carmine ci hai azzeccato! cerco di decompilare le avventure grafiche che non riesco a terminare da piu' di 30 anni.  :mattsid:
Provero' con i programmi che mi hai descritto tu.
In Basic e' facile leggere le frasi ma decompilare i file tap. o i file .prg non sono riuscito.

Grazie per adesso.  ;)
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: GINGERINO - 16 Febbraio 2021, 13:50:42
Ciao, la cosa è fattibile se il programma, o parte di esso, è in CBM Basic. In questi casi si può leggere (più o meno facilmente) il sorgente della parte in Basic perché il Basic Commodore è un linguaggio interpretato.
I sorgenti dei programmi in linguaggio macchina, invece, possono essere forniti solo dagli autori dei medesimi; da questi tipi di programmi si può tutt'al più ottenere un disassemblato che è complesso sia da estrapolare (il disassemblatore quasi mai è in grado di distinguere automaticamente le aree di codice dalle aree dati) che da leggere, poiché con questa operazione non è possibile recuperare tutti quegli artifici, come simboli e macro, che rendono il programma facilmente comprensibile e quindi modificabile.
Esistono poi i programmi compilati, che sono in linguaggio macchina ma ottenuti a partire da sorgenti in linguaggi ad alto livello come Basic e C. Il reverse engineering di questi programmi può rivelarsi estremamente complesso (ad es. PetSpeed (https://www.atarimagazines.com/compute/issue30/013_1_Review_Petspeed_An_Optimizing_Compiler_For_PET-CBM.php)), ma in qualche raro caso ci sono dei decompilatori che semplificano la faccenda (vedi Blitz/Austro Decompiler (https://csdb.dk/release/?id=147419)).
Immagino che ciò che ti interessa sia sbirciare la parte Basic di qualche avventura della serie Next Strategy. A tal proposito ho fatto una prova con Le avventure di Jack Byteson: passaggio in Transilvania (https://ready64.org/giochi/scheda_gioco/id/2064/jack-byteson-passaggio-in-transilvania): è bastato sottoporre il file del gioco a una passata con Unp64 (https://csdb.dk/release/?id=173885) e poi usare petcat (https://vice-emu.sourceforge.io/vice_15.html) sul file appena generato. Su Mac non dovrebbe essere troppo difficile compilare Unp64 da sorgenti, mentre petcat viene installato insieme all'emulatore Vice. Se non era questo il tuo intento o se il procedimento descritto non funziona col gioco che ti interessa, dacci qualche dettaglio in più e cercheremo una soluzione.

ciao mi daresti una dritta per usare Unp64? ho letto il file readme all' interno ma non c' ho capito nulla. a parte il fatto che se lancio l'exe non succede nulla. serve anche a me per un' avventura testuale. grazie in anticipo.
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: 0scur0 - 16 Febbraio 2021, 15:10:23
In Basic e' facile leggere le frasi ma decompilare i file tap. o i file .prg non sono riuscito.
Per "decompilare" un file .tap puoi usare TAPClean (https://sourceforge.net/projects/tapclean/) e abbinarci il frontend (https://www.luigidifraia.com/software/) di Luigi di Fraia. Il codice assembly contenuto nei file .prg può essere estratto da programmi come questo (https://www.erol.name/convert-directory-prg-files-asm-windows/) o essere letto direttamente nel monitor di VICE.
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: GINGERINO - 16 Febbraio 2021, 17:03:03
grazie ho risolto usando c64 debugger, sono riuscito a visualizzare il listato con i verbi e i sostantivi che mi mancavano per terminare l' avventura.  :metal: :metal: :metal:
Titolo: Re:Programma per Lista codice sorgente programmi c64
Inserito da: pastore007 - 18 Febbraio 2021, 17:53:27
In Basic e' facile leggere le frasi ma decompilare i file tap. o i file .prg non sono riuscito.
Per "decompilare" un file .tap puoi usare TAPClean (https://sourceforge.net/projects/tapclean/) e abbinarci il frontend (https://www.luigidifraia.com/software/) di Luigi di Fraia. Il codice assembly contenuto nei file .prg può essere estratto da programmi come questo (https://www.erol.name/convert-directory-prg-files-asm-windows/) o essere letto direttamente nel monitor di VICE.

Io ho un Mac Os come faccio a vedere i file con VICE?

Grazie