[zxspectrum] Re: AEON demo, ZXUSB, ZXMMC+, ZXPS2, ISSUE6a

On Friday, January 16, 2009 12:56 AM [GMT+1],
Eugenio Ciceri <eugenio.ciceri@xxxxxxxxx> wrote:

PPS: altro particolare, forse utile forse no. Quando la ZXMMC+ e'
collegata al PC via RS232 (ma succede anche con la ZXUSB) possono
arrivare dei segnali spuri che inchiodano la ZXMMC+.
Questo avviene per esempio quando il PC viene avviato o spento oppure
va in sospensione e a volte anche quando entra lo screen saver o lo
spegnimento del monitor per risparmio energetico.

Per poter entrare nella bootrom quando si preme il tasto 'login' su zx-com, congelando il sistema, occorre che la cpld generi un NMI sul fronte di discesa del bit di start del primo carattere trasmesso sulla rs-232.

Solo in questo modo lo Z80 fa in tempo a percorrere tutto quel casino per cambiare pagina senza perdere il carattere in arrivo, dato che tra una cosa e l'altra passa quasi mezzo bit a 19K2 (la velocita' standard della seriale, che e' completamente software come quella della IF1).

(prima di procedere, il firmware provvede a dire alla cpld di non generare piu' NMI sui fronti di discesa della linea RX 232, altrimenti e' un NMI dopo l'altro).

Per questo motivo, qualsiasi piffero che dovesse raggiungere il pin RX (lo spegnimento del pc e' un ottimo sistema) portandolo basso per qualche istante genera un NMI. Dato che pero' la ricezione del carattere non va a buon fine, il firmware assume che l'NMI sia arrivato dal pulsante.

Il risultato e' il border BLU con attesa di input dall'utente, ovvero snapshot premendo i soliti tasti Q,W,E.

Per uscire dall'empasse evitando di snappare una cagata :-) puoi solo resettare, dato che gli altri tasti presenti sul badaloc (fila di numeri da 1 a 6) non sono implementati nella zxmmc+: servono a cambiare la velocita' di clock Z80.

Volendo potremmo aggiungere un tasto 'dummy' per uscire dall'handler NMI.

Ciao!


Other related posts: