Il 30/06/2015 20:49, Luca Alimandi ha scritto:
SVC DI LD A,"S" CALL TXDIF1_57600
e come vedi invia direttamente il comando S al quale deve
corrispondere "Saving..." sul PC.
Cosa avviene dopo? Immagino che userai le routine di trasmissione per
inviare il comando al PC tramite RS232, e siccome sulla console non
compare nulla, credo che sia proprio in questo momento che succeda
qualcosa, che impedisce la trasmissione.
Io purtroppo non sono molto ben organizzato con il software per lo
Spectrum (come sai ho ripreso in meno lo ZX solo un anno e mezzo fa,
e non ho più a disposizione tutti gli strumenti che usavo all'epoca
(inoltre sono alquanto arrugginito sul loro uso!...).
Abbi pazienza! Io ho poco tempo libero a disposizione e faccio queste
prove nei ritagli di tempo, a volte a notte fonda! Poi documentare
tutto non è così semplice, e richiede altro. tempo... Faccio quello
che posso!
Comunque ecco i risultati di altre prove:
1) senza cambiare ramtop, carico HDIF1_115200.TAP (come di consueto)
sulllo Spectrum 2) do i primi comandi FN c() ecc. e tutto va bene 3)
faccio comparire l'errore BASIC con un comando tipo PRINT z 4) senza
ridare altri comandi ricarico il solo HDCOD (secondo blocco) 5) provo
a dare un comando per HD (ad es. FN c(), ma succede anche con FN
s()...) e si pianta tutto
Dunque non sembra che si sia corrotto il codice L/M (HDCOD)...
6) riprovo il tutto ma stavolta abbasso il ramtop con CLEAR 50000. Ma
niente, tutto come prima...
7) provo a ricaricare l'ultimo blocco (il basic con le FN() ) e
FINALMENTE funziona (anche senza dare CLEAR 65535)!!!
Ma questo è abbastanza ovvio (in pratica è come se avessi ricaricato
tutto il programma),
però per lo meno conferma che il codice L/M non si è corrotto. Dunque
una prima conclusione sarebbe che l'errore BASIC va a "sporcare"
l'area delle funzioni FN.
A questo punto penso che se potessi provare a dare dei comandi
diretti (tipo RANDOMIZE USR addr...) si potrebbe appurare se la
corruzione riguarda le sole FN().
Ora devo interrompere... Continuerò più tardi (se ce la faccio!...)