[zxspectrum] Re: Mie routine per i microdrive

  • From: Enrico Maria Giordano <e.m.giordano@xxxxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 01 Oct 2004 12:02:54 +0200


BODRATO Stefano wrote:
> 
> Condivido i miei successi negli esperimenti con i Microdrive (!!!)
> Mi è costata una fatica mostruosa, che mi ha rimesso un po' in
> allenamento  :o)
> 
> In sintesi:

Mi complimento con te ma... francamente mi sfugge il punto. Che cosa
volevi ottenere esattamente? La lettura/scrittura del singolo settore
utilizzando non gli hook codes ma comunque solo chiamate a routine della
ROM ombra (cioè niente accesso diretto alle porte)? Se è così, dato che
comunque non sono programmi portabili, perché non accedere direttamente
alle porte, cosa che ti avrebbe permesso il pieno controllo?

> - Una funzione "a monte" fa l'autodetect della ROM, inizializza una
> jump table e, dopo aver "aggiustato" la stack (pasticciata dall'IF
> stessa) ritorna con la shadow ROM attiva.

Pasticciata in che senso? A me non risulta che la IF1 pasticci alcunché.
Come potrebbe funzionare altrimenti?

> - Due differenti meccanismi di ricerca caricano un settore in base al
> numero di settore o all'abbinata nome file/numero record.  Una
> struttura in C permette di referenziarne le parti con la sintassi
> "myrecord->item".

Ottimo! Questo comunque è già un livello abbastanza più alto.

> - Il settore può a questo punto essere modificato e salvato (anche in
> un'altra posizione)... anche se a scrittura avvenuta per ora mi becco
> un'errore dall'Interface 1 (RamTop error, o similare), probabilmente
> dovuto al fatto che non correggo le checksum.
> 
> L'effetto risultante è che caricando lo stesso programma 2 volte posso
> trovarmi 2 programmi diversi tra loro.

Uhm... non credo di aver capito bene cosa ti succede. Non legge i dati
dal settore sempre allo stesso modo (cioè hai degli errori in lettura)
oppure legge dati corretti ma da settori sempre diversi?

> Ogni settore contiene il nome del cartridge, quindi sarebbe
> ipotizzabile la gestione di "partizioni" identificate con quel campo.

Oppure subdirectory.

> Farò delle prove, perchè voglio vedere come risponde il comando "CAT"
> a un trattamento simile  :o)

Potrebbe continuare a funzionare esattamente come prima. Non penso che
tenga conto del nome della cartuccia. Non ricordo se lo visualizza
insieme alla directory. Se sì, non credo comunque che lo vada a
controllare per ogni settore.

> Non so ancora fino a che punto posso stravolgere il settore,

Se poi non usi le routine standard, puoi farci quello che vuoi.
Altrimenti hai certo dei vincoli da rispettare. Ma in effetti non ho
idea di quali siano.

> P.S.  Ho perso un sacco di tempo per un errore stupido (calcolo
> a=10-a), risolto poi con "NEG A/ADD 10"  ...che vergogna !

Figurati, è più che normale.

EMG

--
EMAG Software Homepage:     http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg

Other related posts: