Massimo Raffaele wrote:
Fammi capire una cosa: con il tuo metodo riesci a fare il dump della memoria anche se lo Spectrum è completamente piantato fin dall'accensione (es. paper nero e border
Sto facendo una prova con il terzo 48K (l'unico rimasto rotto). Questo ha delle grosse bande bianche e nere (8 in tutto, per cui larghe 4 caratteri) verticali ed e` completamente piantato.
Ho fatto una modifica alla bootrom della zxmmc+ in modo che non usi nemmeno un byte della ram sinclair, ma bensi` si auto-copi dalla flash ad un banco di ram zxmmc+. In questo modo ho sia il programma che la zona ram nello stesso banco 0-$3FFF, tutto contenuto nella ram della zxmmc+. Ho dovuto fare cosi` perche` non posso mappare un misto di rom e ram. O uno, o l'altra.
Ho messo due loop che cambiano il colore del border. Uno lento (mostro sul border i 3 bit MSB del contatore del loop, che e` BC) come primissima cosa subito dopo il reset, dopodiche` copio l'intero contenuto dei 16K di flash --> ram (purtroppo devo sovrascrivere il banco RAM 0, distruggendo il ResiDOS, perche` il firmware e` per forza sulla ROM 0 e posso eseguire una "copia su se stessa" solo con il banco avente lo stesso numero (l'alternativa sarebbe usare la ram sinclair come buffer, ma e` proprio quello che devo evitare)), dopodiche` eseguo un ciclo sul border veloce (mostro i 3 bit LSB di B, per cui fa una specie di multicolor). Al termine, salta nel menu` di boot classico.
Risultato con lo spectrum difettoso:Entrambi i loop vengono visualizzati sul border, per cui il processore esegue il programma e si copia correttamente da ROM a RAM. La ram video sinclair ignora completamente ogni tentativo di scrittura, mantenendo il proprio contenuto di barre.
Avendo correttamente inizializzato la cpld (anche i led dei CS delle card si spengono, come dovuto), posso entrare via seriale ed ottenere l'agognato dump della ram. Tutto il banco da 32K e` a zero (strano, perche` non dovrebbe essere stato inizializzato)... tranne le ultime locazioni.
Il primo banco, invece, ha il seguente contenuto: cicli di quattro $FF seguiti da quattro $00, eventualmente intercalati da qualche byte strano (tipo $10 o $20 al posto di uno zero). Questo corrisponde perfettamente a quello che vedo sullo schermo (le barre bianche e nere). Anche gli $FF sono talvolta "difettosi", ovvero trovo dei $DF oppure $FE, cose cosi`.
Non e` di grande aiuto, ma almeno ho visto cosa c'e' dentro. Adesso stavo pensando di integrare questa piccola diagnostica nella bootrom normale, magari attivandola se al power-on viene trovato il joystick non a riposo...
Ciao! -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6588&d=21-5