Autore Topic: Modificare Simons' Basic  (Letto 1653 volte)

linus81

  • Newbie
  • *
  • Post: 4
  • Gioco Preferito: last ninja
Modificare Simons' Basic
« il: 16 Febbraio 2014, 22:11:18 »
 Salve a tutti! Ho scoperto questo meraviglioso sito da poco da quando ho riesumato il mio commodore c64c come nuovo (sembra comprato oggi :-)). Ora ho 32 anni, il commodore è in mio possesso da quando avevo 8 anni...
Ho letto che è possibile estrarre il sorgente da un file .prg...
la mia domanda è:
Posso estrarre il sorgente (presumo solo in assembly) dal .prg del simon's basic per apportare ulteriori modifiche? Uso su pc il CBM IDE per scrivere i miei programmi per poi usarli sul c64. So che sugli altri .prg funziona e tokenizza il file...e per quanto riguarda il simon's basic si può risalire al sorgente??
Grazie

MODERAZIONE - Non riesumare vecchi thread. -eregil

linus81

  • Newbie
  • *
  • Post: 4
  • Gioco Preferito: last ninja
Modificare Simons' Basic
« Risposta #1 il: 17 Febbraio 2014, 19:40:26 »
 L'unica riga basic che riesco a estrapolare è "sys2096 © 1983 commodore"...presumo che il codice assembly viene mandato in esecuzione all'indirizzo 2096. Conoscete un disassembler per 6502 più utlizzato per questo scopo? Grazie a chi mi può dare qualche informazione utile, perchè personalmente non sono riuscito a trovare nulla.  :huh:
 

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Modificare Simons' Basic
« Risposta #2 il: 18 Febbraio 2014, 13:37:59 »
Quello che vedi a partire da 2049 dopo aver caricato il prg è un decruncher, in pratica qualcosa che scompatta il Simons' Basic nelle locazioni "giuste" ($8000-9FFF, corrispondenti a quelle della cartuccia) e poi "avvia la macchina" col Simons' Basic caricato (in RAM).

Il disassemblato lo puoi vedere direttamente dal monitor del VICE quando il Simons' Basic è partito, per esportarlo (su un file di testo) non saprei dirti su due piedi, ma immagino che si possa iniziare dall'esportare un dump della memoria...

Complessivamente però, se ti sei perso prima di arrivare a questo punto, mi sa che devi studiare ancora un po' prima di pensare di modificarlo. Come sono le tue conoscenze di assembly? La sezione Libri del sito contiene alcune risorse utili per cominciare o approfondire una prima conoscenza, vedasi thread Programmazione a Basso Livello.
« Ultima modifica: 21 Febbraio 2015, 00:43:04 da eregil »
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

linus81

  • Newbie
  • *
  • Post: 4
  • Gioco Preferito: last ninja
Modificare Simons' Basic
« Risposta #3 il: 18 Febbraio 2014, 22:15:18 »
 Ciao Eregil! Si il codice assembly l'ho ricavato utilizzando l'applicazione Dasm sviluppata da Luigi Di Fraia. In assembly me la cavo abbastanza bene, peccato però su una architettura 8086 :))...ma la sostanza non cambia. Stò approfondendo i dettagli.
Dovrò solo vedere se riuscirò a rimandarlo in esecuzione con le modifiche. Grazie per la risposta!

andrea76

  • Neo-iscritto
  • *
  • Post: 14
  • Gioco Preferito: Defender Of The Crown
Modificare Simons' Basic
« Risposta #4 il: 19 Febbraio 2014, 11:01:31 »
Citazione da: "linus81"
Dovrò solo vedere se riuscirò a rimandarlo in esecuzione con le modifiche. Grazie per la risposta!
che modifiche farai? per curiosità  ;)  

linus81

  • Newbie
  • *
  • Post: 4
  • Gioco Preferito: last ninja
Modificare Simons' Basic
« Risposta #5 il: 19 Febbraio 2014, 17:50:51 »
 Ciao Andrea76! Ci mancherebbe altro...non è un segreto di stato  :lol:  Devo introdurre nuovi costrutti di programmazione strutturata e le strutture dati presenti in linguaggi più evoluti (pila, lista, hashmap, ecc.), ma dovrò cercare di limitare lo spazio di memoria.