[zxspectrum] R: R: Re: R: Re: R: Re: R: Re: R: Re: R: Re: R: Re: Fra

  • From: "Simone Voltolini" <simone.voltolini@xxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Mon, 1 Feb 2016 09:54:27 +0100

Intanto CAVO da SHACK in produzione ;)

 

 

 

 

 

 

 


Kora Sistemi Informatici

Via Cavour 1, 46030 San Giorgio di Mantova MN
Tel/Fax +39 0376 371059
P. IVA: 02048930206

 

 

 

Da: zxspectrum-bounce@xxxxxxxxxxxxx [mailto:zxspectrum-bounce@xxxxxxxxxxxxx]
Per conto di Stefano Bodrato
Inviato: lunedì 1 febbraio 2016 09:04
A: zxspectrum@xxxxxxxxxxxxx
Oggetto: [zxspectrum] R: Re: R: Re: R: Re: R: Re: R: Re: R: Re: R: Re: Fra

 

Allora
innanzi tutto trasferire con lo stesso principio un TAP da PC via 
seriale alla seriale della IF1 (e fin qui già Enrico l’ha fatto in 
quanto ha già creato il programma che trasferisce in memoria dello 
speccy un singolo code) ma…ma…ma…salvandolo direttamente e non passando 
dalla memoria e quindi dal Basic stesso con conseguente comando di 
salvataggio a mano di ogni parte e non automatizzazione della procedura.


Ricordo questo discorso.    Ho una parte del codice che potrebbe far comodo,
ma non vedo reali vantaggi.
Quello che continua a sfuggirti è il fatto che la Interface 1 sporca la RAM
in modo inaccettabile nella maggioranza dei casi.
Non appena la ROM entra in tiro il BASIC viene spinto in avanti di quasi 1K,
quindi a meno di non abbinare al loader una routine 
di rilocazione in grado di "dimenticare" l'estensione operata dalla
Interface 1 e di risistemare il codice al suo posto, questo non funzionerà.

In pratica, possiamo arrivare a creare un blocco CODE con l'header giusto,
che punti alla locazione prevista originariamente dall'header su cassetta,
ma appena farai  LOAD * "m";1;"styx" CODE   ...andrà tutto in crash perchè
la ROM tenterà di caricare il programma dove in quel momento c'è il buffer
temporaneo del microdrive.
 
 
Quello
che ci mancano solo le Routine che ti ha chiesto Enrico e, che, già JIM
PASS ha cominciato a scrivere per noi (ti ho mandato l’allegato via 
mail poco fa) e ti mando stralcio della sua recente mail:
 
..e qui si apre un secondo problema.   Le routine di JIM PASS si basano
sulle hook code, che nella prima issue della Interface 1 non sono
completamente funzionanti.
Siccome le Hook erano state pensate solo per i programmi esterni il BASIC
non ne risente ma tutti i tool commerciali del tempo hanno dovuto usare una
tecnica differente.
La Sinclair ha fatto uscire una seconda versione della ROM che correggeva i
problemi, ma in questo modo ha spostato le locazioni della Shadow Rom,
rendendo incompatibili
i tool scritti fino a quel momento e quindi di fatto peggiorando le cose.
Le "mie" librerie compensano il problema, ma lavorano a bassissimo livello,
quindi va ricreato il codice per la creazione di blocchi e rispettivo
header.. il che costa diversi K di memoria.

Probabilmente la strada scelta da Jim è quella maggiormente compatibile con
il lavoro di Enrico.
Suggerisco però di evitare di fare i test con Interface 1 di prima edizione.
 



Poi
vorremmo anche riuscire, e questa sarebbe il COLPO del secolo…, fare un
DUMP completo della MDV comprese protezioni come stiamo facendo con il 
QL sempre con lo stesso meccanismo di MGT: leggi da Speccy reale la MD e
la traferisce direttamente su PC via seriale creando, fi fatto, 
l’immagine MDV su PC compatibile poi con Spectaculator.

Qui invece posso essere utile, perchè posso leggere un blocco fisico alla
volta, anche se non so ancora riconoscere tutte le condizioni di errore..
Ma ..il QL non riesce a leggere i cartridge dello spectrum ?

 
Quest’ultimo
punto serve poi anche fare l’inverso: passarsi delle MDV da PC a 
Spectrum ricreando di fatto l’immagine così da poter facilmente 
trasferire qualcosa su sui abbiamo lavorato su PC (senza passare dai TAP
in sostanza).

E qui chi meglio di te ci può aiutare?
 
..e qui mi trovi in disaccordo:   se salvo il settore numero 10 su un
cartridge che ha un difetto in quella posizione,
 cosa dovrei fare ?  L'unica idea che mi viene in mente è di riformattarlo
finchè le mappe non diventano compatibili.
 

Per
cui in sostanza serve il codice richiesto da Enrico, lui lo aggiunge al
programma che ha già fatto e lo invia a me poi per i TEST.


Per come la vedo io sono due progetti distinti, e probabilmente posso fare
poco per la parte su cui state lavorando.

Il secondo progetto può essere affrontato in modo totalmente diverso, puoi
usare TransXpress per fare il backup di un cartridge su cassetta e poi usare
l'immagine TAP per creare il microdrive.
Se non ci sono protezioni o copie multiple dello stesso file otterrai un
cartridge inconfondibile dall'originale.
Questo processo funziona nelle due direzioni.

 

Other related posts: