> Eugenio Ciceri wrote: > > Ciao a tutti! > > > > Ultimamente mi sono dilettato a studiare e smanacciare un po' il firmware > > della ZXMMC+ (bootrom) e sono stato catturato dalla programmomania come ai > > vecchi tempi. > > > Attento, prevedo notti insonni... :-) Io in effetti le sto già vedendo. Già solo lo studio e la modifica dell'attuale bootrom mi ha fatto dormire otto ore in tre giorni. Per fortuna si trattava del week end scorso :-) [...] > L'unico (grosso) problema che vedo fin qui è la selezione delle immagini > dei microdrive: come si fa a dire al sistema quale cartuccia-immagine > usare con gli 8 (?) drive disponibili? Anche usando una SD da 64M ci > starebbero una valanga di immagini. In teoria ogni immagine di un microdrive sarebbe un file a sè stante (dal punto di vista della FAT) e conterrebbe diversi file (dal punto di vista dello Spectrum). Un po' come i file .TAP usati per le immagini delle cassette. E' chiaro che si presenterebbe il problema di come gestire l'enorme quantità di immagini possibilmente immagazzinate su una SD, ma implementando correttamente la gestione delle directory il problema sarebbe delegato alla capacità organizzativa dell'utente :-) Per quanto riguarda le immagini da associare ai singoli microdrive (fino a 8) si potrebbe studiare la possibilità di eseguire il mount delle immagini su dei microdrive virtuali prima di poterli usare. Detta così la cosa sembra un badalucco difficile da implementare ;-) Ma forse non troppo... In fondo ResiDOS lo fa già usando l'estensione 'tapeio'. Anche qui si potrebbe chiedere consiglio a Garry. [...] > Nessuna idea :( Enrico mi ha già inviato i sorgenti del suo 'trans express' da PlusD a floppy MSDOS. Nel w.e. gli darò un'occhiata e sicuramente troverò spunti molto utili :-) [...] > In effetti c'è ad esempio la libreria "libspectrum", usata fra l'altro > da Fuse. Ho dato un'occhiata e sembra che il formato sia una banale > concatenazione di tutti i dati presenti in una cartuccia: due header di > 15byte, più 513 byte di dati (e relativo checksum), per un totale di 543 > byte. > > Moltiplicando per 254 settori (il massimo teorico di una cartuccia) > otteniamo 137922 byte, ossia un byte in meno di un file immagine .mdr, > che credo sia il flag di protezione dalla scrittura. > > In sostanza dovrebbe essere molto semplice da gestire! Sì, lo credo anch'io. Peccato per quegli header da gestire oltre ai 512 byte contenuti nei settori. Rendono necessario l'uso di due settori sulla SD per ogni settore sul nastro. Ma non credo che sarà lo spazio il problema principale ;-) Comunque, volendosene infischiare della compatibilità con gli emulatori si potrebbero spacchettare gli header dai settori e inserirli direttamente nella File Allocation Table della SD card. In questo modo si otterrebbe una SD contenente direttamente i file spectrum visibili direttamente dal PC. Inoltre non si avrebbe più nessuna limitazione dei 137922 bytes per microdrive ma la SD stessa sarebbe un enorme microdrive. Ovviamente in questo caso il numero di microdrive disponibili saebbe davvero limitato al numero di slot SD presenti sulla ZXMMC+, ovvero due (per ora? :-) Ti dirò... forse forse la seconda soluzione è più diretta dal punto di vista tecnico e più facile da implementare. La compatibilità con gli emulatori la si potrebbe garantire eventualmente tramite qualche tool lato PC che riassembli i file pescandoli dalla SD e infilandoli in una cartuccia virtuale .MDR ricostruendo gli header leggendoli dalla FAT. Ma questa è un'altra storia... Insomma. Le idee non mancano. Ora vado a pasticciare un po' con la mia SD card sacrificale sperando di non bruciarla subito ai primi esperimenti ;-) Ciao! Eugenio