jepalza escribió:
Por cierto, edito para incuir, que el ZXEPAND, hasta donde recuerdo, Es "cerrado", los fuentes de la ROM no los soltó, al menos cuando hice este core, no sé ahora. Sino hay ROM, no hay Acceso SD
La ROM no es cerrada, el mismo autor ha hecho públicas las actualizaciones en diferentes ocasiones.
Lo que sí es cerrado, en teoria, es la implementación que utiliza, que es con un PIC (o como se diga, que me pierdo a veces con el hardware), donde se gestionan los comandos de zxpand. Esa PIC lleva un firmware cerrado, esto si
Pero la ROM , la que es abierta, es la que el dispositivo activa, en vez de la normal del zx81. Esta incluye las modificaciones para implementar los comandos CAT y demás, de acceso al zxpand. Lo que hace es "fácil": esa rom se comunica con el dispositivo mediante un puerto de I/O. En ese puerto, le pasa comandos de alto nivel como:
fread
fopen
fclose
fwrite
etc
Es decir, le dice "abre fichero 'juego.P' de la SD", o "leeme un byte de dicho archivo en la memoria"
En alguna ocasión he hablado de esto, yo contacté con el autor de zxpand para que me pasase toda esta lista de comandos y como funcionaban. Inicialmente parecía un poco reticente y no me hizo mucho caso. Estuve haciendo ingeniería inversa (gracias a que , como digo, dicha rom está disponible), y pude obtener un 75% aproximadamente de todos los comandos.
Le comenté esto a su autor, y gracias en parte a mi insistencia y a Jim Bagley, que de alguna manera intercedió por mi (pues conocía al autor gracias a haber portado Dragons Lair al zx81+zxpand), me pasó parte del código fuente de su firmware cerrado, para que yo pudiera emular completamente el zxpand
Por tanto, no hay implementación en fpga que yo sepa de esto, pero las especificaciones están todas en ZEsarUX
Saludos
César