On Mon, 2011-11-07 at 09:48 +0100, Eugenio Ciceri wrote: > Temo che dovrò aspettare il prossimo weekend per metterci mano, ma ora > incornicio il tuo post e lo metto in laboratorio ;-) Onorato :-) > Non sarebbe nemmeno male l'idea del programmino diagnostico da mettere in ROM. > Ci penso su. In effetti la zxmmc+ si presta particolarmente bene, perche' grazie alla ram onboard puo' far girare un programma diagnostico senza utilizzare nemmeno un byte della ram di sistema, cosa abbastanza significativa se il programma in questione e' un memory-test :-) Siccome tutto cio' mi ricordava qualcosa, sono andato a controllare ed in effetti nel sorgente c'e' gia' una sorta di procedura orientata a questo argomento. Infatti, devi sapere che al fine di avere la propria area variabili, la bootrom per prima cosa si copia nell'ultimo banco di ram che viene poi attivato ed un'area e' quella delle variabili. Dato che il n. di banco rom (0) e ram (15) non coincidono, viene usata la ram dello spectrum come buffer intermedio. Cio' presuppone che la ram funzioni, altrimenti ovviamente la copia non va a buon fine. Se pero' tieni chiuso l'ingresso FIRE del joystick mentre accendi, attivi una modalita' 'diagnostica' in cui viene perso il banco zero (la copia da rom (0) a ram (0) non richiede buffer intermedi, perche' e' possibile attivare contemporaneamente la ROM in sola lettura e la RAM in sola scrittura, per cui la copia avviene con un semplice LDIR su se stesso) con conseguente distruzione di eventuale residos, ma poco male. Il risultato e' che la bootrom riesce a partire anche senza ram di sistema: solo in questo modo potrai poi avvalerti della comunicazione seriale per visionare la ram. Se per caso decidi di fare qualche routine di test, sappi quindi che hai gia' una sorta di scheletro e, nel caso, mi raccomando modifica l'ultima versione del sorgente: http://www.zxbada.bbk.org/zxmmcp/software/bootrom_v2.21e.zip Tieni anche presente che questo sorgente e' un po' un casino, ma sai com'e'... e' una importazione di quello del badaloc. Ciao!