[zxspectrum] Re: HD Project 115200!
- From: Luca Alimandi <luca.alimandi@xxxxxxxxxx>
- To: zxspectrum@xxxxxxxxxxxxx
- Date: Thu, 23 Jul 2015 00:25:20 +0200
...
Sì, ma non credo che normalmente questo succeda. Quindi dev'essere
qualcosa legato a quello che faccio sul CODE. O no? Puoi fare questa
prova: carica HDBAS, lascia caricare tutto quanto fino a HDFN e, prima
di dare qualsiasi comando, prova a causare l'errore di sintassi. Se a
questo punto non funziona già più nessun comando allora vuol dire che
la cosa è indipendente dal CODE, giusto? Prova e fammi sapere.
Stasera ho avuto finalmente un po' di tempo (ogni volta che voglio usare
lo Spectrum devo fare spazio in camera, collegare tutto, fare le prove e
poi avere il tempo di sgombrare l'area... Ecco perché per me fare le
prove è molto scomodo!...)
Ho fatto la prova che hai chiesto.
Ho caricato normalmente HDBAS, HDCOD e HDFN.
Prima di dare qualunque comando HD o generato un errore BASIC dando il
comando:
PRINT z
che ha generato il seguente messaggio:
2 Variable not found, 0:1
Quindi ho dato INVIO e ho dato il comando :
RANDOMIZE FN c("")
e subito schermo nero e nessuna risposta.
Ho anche notato che dopo aver dato il comando, non viene trasmesso nulla
al PC (cioè sulla console non compare alcun comando, mentre normalmente
dovrebbe comparire "Listing..."
Ho provocato anche a generare un errore diverso, dando il comando:
LOAD ""
e poi interrompendo con CAPS + SPACE, ottenendo quindi il messaggio:
D BREAK - CONT repeats, 0:1
Anche in questo caso, dando subito dopo un comando HD (come il catalogo)
ottengo schermata nera e più nulla.
Dunque la mia ipotesi è che l'insorgere di un errore BASIC (in presenza
dell'IF1) provoca una modifica nello stack del BASIC, e probabilmente un
riassetto delle variabili, per cui, probabilmente quando poi lancio un
comando HD, il L/M cerca i valori delle variabili da passare dal BASIC
al codice macchina nella posizione sbagliata, il che comporta poi
l'errore nel codice stesso.
Un'ipotesi precedente riguardava il rientro dal codice macchina al
BASIC, ma il fatto che non compaia alcun comando sulla console mi fa
pensare che l'errore avvenga molto prima del rientro al BASIC, per cui
questa ipotesi mi sembra da scartare.
Ho provato allora a salvare l'area BASIC (spero contenga anche la parte
che immagino subisca le modifiche...), "prima" e "dopo" l'errore BASIC,
nella speranza che analizzando le eventuali differenze tu riesca a
capire cosa può essere successo. Sono file WAV, spero che tu riesca in
qualche modo a caricarli in un emulatore o sullo Spectrum per poi
analizzarne il contenuto.
(i file, per non appesantire la ML te li mando in privato)
Ok. Mi raccomando, fai la prova che ti ho appena chiesto.
EMG
Cominciamo ad analizzare questi file, e poi, se non è lì il problema,
andiamo avanti con altri test...
--
|_ /-\
Other related posts: