Credo che la mia interfaccia sia un raro esemplare di pre-serie. Quelle che
vedo pubblicizzate non portano via 1KB di ram. Ho verificato lo schema e ci
sono molte differenze (una beta del mio schema puo` essere scaricato qui:
http://www.zxbada.bbk.org/sandy.zip insieme ad un malinconico screenshot
(tutto quello che ho ottenuto con il mio slot di espansione)).
La cosa piu` rilevante e` che la mia interfaccia NON PAGINA PROPRIO UN BEL
NIENTE. Tutto quello che fa e` swappare per intero la propria rom al momento
di boot, e magari anche dopo (durante l'eventuale funzionamento) ma non c'e'
nessuna logica basata su porzioni di indirizzo. A $3C00 posso leggere
tranquillamente la rom dello spectrum, e del resto lo schema lo conferma.
Durante le molte prove, ho voluto constatare se i registri erano leggibili:
credo proprio che il problema sia li. Il pratica, qualsiasi IN agli
indirizzi usati dal fd1791 (o quel che e`) ritorna sempre $FF, ovviamente
previa abilitazione dell'I/O interno mediante OUT su $FC,0, come gia`
stabilito. Questo funziona di sicuro perche` un OUT $FF,0 manda tutto in
crash (swap della rom FDD2 al posto di quella del basic) solo se
preventivamente si e` attivato l'I/O interno.
Guardando lo schema si puo` facilmente vedere come entrambe queste porte
siano estranee al fd1791, ed infatti funzionano regolarmente.
Anche la selezione del numero del drive e` affidato ad un latch esterno
all'fd, ed infatti se digito B: la lucina si spegne.
Per essere assolutamente certo che l'FD non risponde, ho scritto un loop in
basic che stampa l'IN 31 ($1F). Se metto una resistenza di pulldown su D0
del databus, il valore letto passa da 255 a 254, segno che il bus e`
FLOATING mentre invece l'fd1791 dovrebbe piazzarvi un dato.
Ho allora verificato il chip_select (3) e RD (4) dell'fd, che vanno
regolarmente bassi durante l'operazione di IN. Riassumendo: il chip fdd
controller ha il databus collegato regolarmente ed il CS e RD che vanno
bassi, ma il databus resta floating. Notare anche che tale databus e`
collegato direttamente, e non attraverso gli LS240 nello schema. L'integrato
resta anche completamente freddo, che non mi sembra normale per un
componente di quell'eta`. L'alimentazione e` regolare, cosi` come il suo
clock da 1MHz.
Consolazione: ho attaccato la ZX-PRINTER, che stampa perfettamente.
Ciao!