Hola Kyp, gracias por la idea. Me interesa que me cuentes más detalles. Qué quieres decir exactamente con interfaz paralelo?
Una tarjeta sd funciona mediante un protocolo serie full duplex- SPI. Puede funcionar en modo extendido SD, con 4 líneas en paralelo, pero eso necesita licencias.
Te refieres a programar en el Z80 el protocolo de comunicación con la SD?
Te cuento como lo tengo pensado ahora y por qué:
- tener una RAM externa mapeable como ROM me permite no necesitar una ROM para el sw llamable por La NMI y el arranque inicial, poder poner cualquier ROM en el spectrum sin un grabador (simplemente copiándolo a una SD) y disponer de una RAM para ejecutar programas desde el z80 sin machacar ni un byte de su contenido (por ejemplo al grabar). Y por supuesto me permite cargar el shadow of the unicorn
y a los estupendos programadores que hay les permitiría hacer juegos con 32k mas (en 2 bancos de 16)
- el acceso DMA sólo lo voy a usar para la memoria alta, para la baja es un lío y no creo que merezca la pena. La velocidad no es un factor decisivo, ya que la SD es "lentita" en comparación y mi sistema de crear direcciones en el bus, aún más. (Registros de desplazamiento). Hoy he medido y tardo unos 93ms en presentar 32k direcciones en el bus. En cualquier caso, voy a hacer transferencias "cortitas" para dejar que el Z80 haga el refresh de la DRAM, he estado mirando las specs de las 4116 y hay que refrescar las 128 filas cada 2ms tope.
- Para la memoria baja, voy a hacer un "engendro" al sustituir la ROM por la sram y utilizar los 8kb superiores como scratchpad de intercambio entre el Z80 y el PIC. Por tanto, en un load, el PIC carga la sram con un programa de gestion que va leyendo de 0x2000 a 0x3FFF y copiando en la rm baja (esos datos los va modificando el PIC cuando sea necesario). Al grabar, justo al revés.
Estoy intentando investigar y avanzar en la integración Spectrum-PIC porque Me parece que abre bastantes posibilidades.
Ciertamente no he mirado como funciona el divide, entre otras cosas para no caer en la tentación de "copiar" cosas, no por no replicar, que es bueno si las cosas funcionan, si no porque hago esto para aprender y prefiero ir pegándome contra las paredes
.
En cualquier caso, insisto, me interesa tu idea y te agradecería que profundizaras en ella.