Garry Lancaster (sempre sia lodato) :-) ha aggiunto il comando %SPEED al
ResiDOS. Accetta come parametro un numero fra 0 e 3 che corrisponde a 3.5 /
7 / 14 / 21MHz. Si puo` rendere l'impostazione "statica" mediante un '+' in
coda, alla stregua dei vari comandi per mappare le lettere di unita` alle
partizioni. In questo modo, anche dopo uno spegnimento, il residos parte con
la velocita` selezionata.
Abbiamo concordato una piccola area di variabili comuni nella ram tamponata
fra il mio firmware di power-on ed il residos, nel banco da 16K che
normalmente uso come "shadow" per il debug, cosa che consente al primo di
rilevare la presenza di una installazione funzionante del secondo. Nel caso,
appare una voce di menu` che serve a saltare nel residos (con i relativi
task sospesi ancora tutti li`).
Mi sono preso l'impegno di valutare la fattibilita` di una "zxmmc+" con
anche 512K di ram a bordo, che darebbe come risultato un'interfaccia
particolarmente economica (Garry sta facendo delle prove con una SD da 2GB
comprata su ebay per 10 sterline, compresa spedizione da hongkong) in grado
di far girare il residos su qualsiasi spectrum.
Nel valutare gli indirizzi da assegnare all'ipotetica zxmmc+, e` saltato
fuori che il $2F che usavo sul Badaloc andrebbe in conflitto con il $EF
della IF1 (che decodifica solo A5 basso, A4 alto). Le porte della cpld I/O
che erano $0F, $1F, $2F, $3F sono ora diventate $1F, $3F, $5F, $7F. Sempre
nell'ambito di una ipotetica IF1 innestata sul badaloc, Lancaster mi faceva
notare come il fatto che essa mappi la propria ROM su opcode fetch $0008
rende impossibile il funzionamento del residos.
Il Lancaster medesimo ha avuto una trovata abbastanza geniale nel proporre
di alterare il MREQ sul pettine di espansione, in modo che la cpld
principale possa decidere di non asserirlo mai. In questo modo, la IF1 (e
qualsiasi altra interfaccia che mappa una ROM) se ne starebbe buona in
quanto non le risulterebbe alcun accesso in memoria. Questo dovrebbe essere
attivabile mediante un bit di controllo in qualche registro, che
contestualmente dovrebbe ignorare l'asserzione del ROMCS sul pettine stesso
in modo che la ROM/RAM a bordo del badaloc rimanga attiva. Questo e` utile
perche`, ad esempio, l'interfaccia sandy usa il MREQ semplicemente sul OE
della eprom, mentre asserisce in ogni caso il ROMCS. In questo contesto, se
il ROMCS non venisse ignorato, nessuna memoria risponderebbe piu` nello
spazio 0 - $3FFF (il che` non e` bello).
Ho anche ordinato una campionatura di 15 pcb della zxmmc attuale, cosi`
saro` in grado di fornirli a chi vorra` cimentarsi nel montaggio oppure
montarne qualcuna io.