[zxspectrum] Re: zxmmc+, prime prove e prime domande

  • From: "Alessandro" <apoppi@xxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Fri, 29 Aug 2008 20:47:00 +0200

Rispondo pubblicamente ad una domanda di Pino, che chiedeva perche` la rom
dello spectrum 48K e` presente in duplice copia nei banchi 2 e 3 della
flashrom (che, ricordo, e` da 512K e dunque disponde di 32 di questi banchi.
Lo 0 e` occupato dalla bootrom e l'1 e` libero per future aggiunte alla
bootrom stessa).

Il motivo e` che la cpld intercetta un OUT $7FFD per catturare lo stato dei
bit di selezione ROM 0/1 degli spectrum 128K, cosa indispensabile per
consentire il funzionamento con dette macchine (i banchi 6 e 7 contegono
infatti la coppia di rom 0/1 del 128K).

Dato che non c'e' modo di disabilitare questa caratteristica, perche` non
c'e' piu` logica per aggiungere un ulteriore flag di controllo, se un
programma che gira a 48K esegue un out a quell'indirizzo manda in crash il
sistema in quanto commuta la rom. Dato che cmq dovevo allineare a numero
pari perche` le rom che seguono sono tutte a 'coppie' (16K+8K IF1 sui 4,5 e
128K 0/1 su 6,7) ho semplicemente copiato la rom del 48K (modificata per la
gestione del NMI) in entrambi i banchi, ottenendo anche una soluzione al
problema dell'out.

Questa informazione e` presente anche in
http://www.zxbada.bbk.org/zxmmcp/software.htm

Ciao!


Other related posts: