Ready64 Forum

Commodore 64 => Programmazione, Grafica e Musica => Topic aperto da: Koji74 - 23 Marzo 2014, 00:31:20

Titolo: Monitor Vice
Inserito da: Koji74 - 23 Marzo 2014, 00:31:20
 Ciao ragazzi!!!!

Avrei una domanda da farvi, spero di non ripetere una domanda gia' espressa da qualcun altro in passato, ma giuro che non saprei come formulare la ricerca sul forum per trovare risposta a questo mio quesito..

Premetto come sempre che sono un lameraccio analfabeta in programmazione, ma ultimamente mi sto ostinando a voler espandere la mia conoscenza del nostro fedele compagno di vita..

La domanda e' questa:

Eseguo un programma sul VICE e faccio partire il monitor (e fin qui'...)...
Come si fa a sapere (semmai e' possibile farlo) in che punto della memoria e/o qual'e' l'ultima istruzione eseguita dal c64 prima che io lanciassi il monitor???
Thank you very grazie a tutti e buona domanica!!
:)
Titolo: Monitor Vice
Inserito da: fab - 23 Marzo 2014, 09:12:14
 Quando il monitor parte, il prompt mostra qualcosa del tipo
Codice: [Seleziona]
(C:$f957). In questo caso, la prossima istruzione che verrà eseguita sarà a $f957.

Il prompt può cambiare se esegui comandi come disass o mem. In questo caso, scrivi
Codice: [Seleziona]
r. Vengono mostrati i valori dei registri: ADDR è il registro col punto della memoria dove si trova la prossima istruzione che verrà eseguita.
Titolo: Monitor Vice
Inserito da: Koji74 - 23 Marzo 2014, 10:28:02
 Intanto grazie mille per la risposta..
Occhio che ora sto per sfoderare utta la mia ignoranza..  :stordita:
Il prg caricato va da $0801 a $1A52... Facendo partire il monitor del vice la prompt mi indica invece: (C:$F140):

Come mai? Il programma non dovrebbe estendersi fino a li, no?
Titolo: Monitor Vice
Inserito da: fab - 23 Marzo 2014, 14:28:32
 
Citazione da: "Koji74"
Il prg
Quale?
Citazione da: "Koji74"
Facendo partire il monitor del vice la prompt mi indica invece: (C:$F140)
Quando hai fatto partire il monitor del VICE?
Titolo: Monitor Vice
Inserito da: tsm_carmine - 23 Marzo 2014, 15:04:22
Citazione da: "Koji74"
Il prg caricato va da $0801 a $1A52... Facendo partire il monitor del vice la prompt mi indica invece: (C:$F140):

Come mai? Il programma non dovrebbe estendersi fino a li, no?
Niente di strano, hai interrotto l'esecuzione mentre la CPU eseguiva una routine della ROM anziché del programma che hai caricato.
Titolo: Monitor Vice
Inserito da: Koji74 - 23 Marzo 2014, 17:02:17
 Carmine e come faccio a sapere qual'e' l'ultima istruzione eseguita del proframma??? C'e' modo??
Titolo: Monitor Vice
Inserito da: fab - 23 Marzo 2014, 18:21:22
 
Citazione da: "Koji74"
come faccio a sapere qual'e' l'ultima istruzione eseguita del proframma??? C'e' modo??
No. C'è modo di sapere quale sarà la prossima, e questo modo ti è già stato spiegato.

Nella maggior parte dei casi, la precedente è quella nelle locazioni di memoria precedenti, ma non è così se la precedente iistruzione era un'istruzione di salto o di ritorno, o se è appena scattato un interrupt.

EDIT Se hai una versione di VICE compilata con le opzioni di debug, puoi farlo partire dando l'opzione -trace_maincpu: in questo modo, vengono scritte su console (Linux) o nel file vice.log (Windows) tutte le istruzioni eseguite dalla CPU.
Titolo: Monitor Vice
Inserito da: Koji74 - 23 Marzo 2014, 20:00:26
 Ahime' l'opzione -trace_maincpu non e' presente :( peccato sembra una funzionalita' a dir poco geniale.. Che tu sappia da qualche parte si riesce a trovare un vice compilato con le opzioni i debug? ..oppure devo darmi da fare e vedere di compilarmene uno??? :P
Titolo: Monitor Vice
Inserito da: fab - 23 Marzo 2014, 22:07:50
 Non saprei se esiste già compilato (di solito mi scarico la sorgente da SVN e me la compilo)
Titolo: Monitor Vice
Inserito da: tsm_carmine - 24 Marzo 2014, 20:42:07
 Un po' di tempo fa ho trovato questa versione che dovrebbe fare al caso tuo. Ho provato il comando cpuhistory nel monitor e funziona.
link (http://we.tl/iOML7NLkEh)
Titolo: Monitor Vice
Inserito da: Koji74 - 26 Marzo 2014, 19:41:30
 
 EUREKA !!!!!!  :rtfm:   :lol:  :lol:

 Sapevo che solo in questo covo di mostri sacri avrei potuto trovare risposta a tutti i miei interrogativi!!!
Siete stati meravigliosi!!!
Titolo: Monitor Vice
Inserito da: fab - 26 Marzo 2014, 22:30:47
Citazione da: "tsm_carmine"
il comando cpuhistory nel monitor
link (http://we.tl/iOML7NLkEh)
Non sapevo di questo comando. Quindi, se VICE è stato compilato col supporto per questo comando, può mostrare le istruzioni eseguite in precedenza (solo le ultime).
Titolo: Monitor Vice
Inserito da: Koji74 - 28 Marzo 2014, 15:15:13
 Ho notato che i VICE delle nightly builds hanno tutti il cpuhistory abilitato!!