Snapshots a través de la red
Moderador: Sir Cilve Sinclair
- winston
- Sabreman
- Mensajes: 469
- Registrado: Mar Ago 19, 2008 4:17 pm
- Ubicación: Isla de Man
- Contactar:
Snapshots a través de la red
Esta noche he acabado con el código prototipo para grabar un snapshot (en este momento, 48K) en un sistema de ficheros de la red (usando el Spectranet, por supuesto).
Para grabar un snapshot, se pulsa el botón de NMI. Entonces, se elige la opción "grabar un snapshot", y un segundo más tarde, un fichero se llama "snapshot.sna" aparece en el sistema de ficheros He probado los snapshots con el emulador Fuse, y funcionan muy bien - ahora es fácil transferir el estado del Spectrum entre un emulador y hardware real. Por supuesto, necesito desarrollar más código para manejar los snapshots - por ejemplo, para poder elegir un nombre que no es "snapshot.sna". Lo que voy a intentar es crear un sistema similar del "Task manager" de ResiDOS, donde podemos manejar el estado del Spectrum. Es decir, todavía tengo un montón de trabajo... No obstante, la capacidad para hacer un snapshot es un hito nuevo en el desarrollo del Spectranet.
(En las semanas que vienen, voy a hacer un video que mostrará lo que he hecho con el Spectranet en los meses desde RetroEuskal).
Para grabar un snapshot, se pulsa el botón de NMI. Entonces, se elige la opción "grabar un snapshot", y un segundo más tarde, un fichero se llama "snapshot.sna" aparece en el sistema de ficheros He probado los snapshots con el emulador Fuse, y funcionan muy bien - ahora es fácil transferir el estado del Spectrum entre un emulador y hardware real. Por supuesto, necesito desarrollar más código para manejar los snapshots - por ejemplo, para poder elegir un nombre que no es "snapshot.sna". Lo que voy a intentar es crear un sistema similar del "Task manager" de ResiDOS, donde podemos manejar el estado del Spectrum. Es decir, todavía tengo un montón de trabajo... No obstante, la capacidad para hacer un snapshot es un hito nuevo en el desarrollo del Spectranet.
(En las semanas que vienen, voy a hacer un video que mostrará lo que he hecho con el Spectranet en los meses desde RetroEuskal).
- mcleod_ideafix
- Johnny Jones
- Mensajes: 3985
- Registrado: Vie Sep 21, 2007 1:26 am
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Snapshots a través de la red
Te has picado con lo del task manager del ResiDOS La verdad es que es todo un logro! Esto significa que puedo probar software en una máquina real enviándola desde el PC, y si algo falla (se cuelga por ejemplo), puedo hacer un snapshot que aparecerá directamente en mi PC y a partir de ahí, usar el emulador para realizar un análisis "post-mortem" del problema.
Web: ZX Projects | Twitter: @zxprojects
- winston
- Sabreman
- Mensajes: 469
- Registrado: Mar Ago 19, 2008 4:17 pm
- Ubicación: Isla de Man
- Contactar:
Re: Snapshots a través de la red
La verdad es que me encanta el task manager de ResiDOS
Hay más decisiones que tengo que tomar - el problema que tengo ahora es que la CPLD no tiene suficiente recursos para añadir cosas tales como la lógica que observaría los puertos de la ULA del Spectrum (ni los del 128K, por ejemplo 0x7FFD). Por eso, tengo que considerar el uso del XC95144, aunque este chip es 2 euros más caro que el XC9572. (Por otra parte, si uso este chip, puedo añadir otras cosas muy útil). Es posible que pueda hacer unas modificaciones a la CPLD para caber la lógica que captura el estado del borde... pero estoy absolutamente seguro que no puedo poner los flip-flops que necesitaría para almacenar los valores de los puertos 0x7FFD y 0x1FFD en la CPLD que tengo en este momento.
Hay más decisiones que tengo que tomar - el problema que tengo ahora es que la CPLD no tiene suficiente recursos para añadir cosas tales como la lógica que observaría los puertos de la ULA del Spectrum (ni los del 128K, por ejemplo 0x7FFD). Por eso, tengo que considerar el uso del XC95144, aunque este chip es 2 euros más caro que el XC9572. (Por otra parte, si uso este chip, puedo añadir otras cosas muy útil). Es posible que pueda hacer unas modificaciones a la CPLD para caber la lógica que captura el estado del borde... pero estoy absolutamente seguro que no puedo poner los flip-flops que necesitaría para almacenar los valores de los puertos 0x7FFD y 0x1FFD en la CPLD que tengo en este momento.
- winston
- Sabreman
- Mensajes: 469
- Registrado: Mar Ago 19, 2008 4:17 pm
- Ubicación: Isla de Man
- Contactar:
Re: Snapshots a través de la red
...y por suerte, con unas modificaciones pequeñas, he podido poner los tres flip-flops que de tipo D en la CPLD que necesito para almacenar el color del borde Pero la CPLD está absolutamente llena (es curioso - quedan 2 macrocells, pero no hay suficiente recursos para rutear más conexiones dentro de la CPLD)
- mcleod_ideafix
- Johnny Jones
- Mensajes: 3985
- Registrado: Vie Sep 21, 2007 1:26 am
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Snapshots a través de la red
winston escribió:...y por suerte, con unas modificaciones pequeñas, he podido poner los tres flip-flops que de tipo D en la CPLD que necesito para almacenar el color del borde Pero la CPLD está absolutamente llena (es curioso - quedan 2 macrocells, pero no hay suficiente recursos para rutear más conexiones dentro de la CPLD)
Las CPLD tienen ese problema... que no son tan flexibles como las FPGA a la hora de rutear.
¿La XC144 tiene el mismo patillaje que la XC72? ¿Se podría cambiar una por la otra directamente?
Web: ZX Projects | Twitter: @zxprojects
- winston
- Sabreman
- Mensajes: 469
- Registrado: Mar Ago 19, 2008 4:17 pm
- Ubicación: Isla de Man
- Contactar:
Re: Snapshots a través de la red
mcleod_ideafix escribió:Las CPLD tienen ese problema... que no son tan flexibles como las FPGA a la hora de rutear.
¿La XC144 tiene el mismo patillaje que la XC72? ¿Se podría cambiar una por la otra directamente?
Si, la '144 está disponible en un TQFP-100 con el mismo patillaje. De hecho, Chris Smith ha usado la misma plaquita que he usado para hacer un prototipo del Spectrum ULA (con la '144). El problema es que la '144 cuesta 2.50 eur más que el '72 (Pero es posible que no les importe a los que quieran un Spectranet).
- mcleod_ideafix
- Johnny Jones
- Mensajes: 3985
- Registrado: Vie Sep 21, 2007 1:26 am
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Snapshots a través de la red
winston escribió:El problema es que la '144 cuesta 2.50 eur más que el '72 (Pero es posible que no les importe a los que quieran un Spectranet).
La pregunta es: supón que comercializas el Spectranet y ofreces a los usuarios las dos versiones: con la XC72 y la XC144, y entre una y otra hay, pongamos, 3 euros de diferencia, pero con la XC144 hay nuevas características que no están en la versión con la XC72. ¿Cuánta gente crees que compraría la versión "barata"?
Web: ZX Projects | Twitter: @zxprojects
- winston
- Sabreman
- Mensajes: 469
- Registrado: Mar Ago 19, 2008 4:17 pm
- Ubicación: Isla de Man
- Contactar:
Re: Snapshots a través de la red
¡He conseguido éxito!
He podido grabar el valor de bit 3 del puerto 0x7FFD en la CPLD.
La CPLD (hasta ayer) tuvo las líneas de dirección A12-A17 para poder acceder hasta 256K en cada chip. Sin embargo, hoy día el Spectranet tiene memorias de 128K (128K de flash, 128K de SRAM - y 32K de buferes/registros de ethernet). No se usa la línea A17 (de hecho, no está en la placa). He quitado esta línea de la CPLD, que ha vaciado dos macrocelulas más - por eso, he podido caber uno más flip flop en la CPLD (y los demás que descodifica el puerto 0x7FFD etc).
Por supuesto, cuando haya versiones del Spectranet con más de 128K flash/SRAM, van a necesitar una CPLD más grande, pero en este momento me alegro de que todo pueda caber en la CPLD que tengo - y los snapshots va a ser perfecto (Pues casi, hay que añadir una entrada más en la pila cuando se pulse el botón de NMI)
He podido grabar el valor de bit 3 del puerto 0x7FFD en la CPLD.
La CPLD (hasta ayer) tuvo las líneas de dirección A12-A17 para poder acceder hasta 256K en cada chip. Sin embargo, hoy día el Spectranet tiene memorias de 128K (128K de flash, 128K de SRAM - y 32K de buferes/registros de ethernet). No se usa la línea A17 (de hecho, no está en la placa). He quitado esta línea de la CPLD, que ha vaciado dos macrocelulas más - por eso, he podido caber uno más flip flop en la CPLD (y los demás que descodifica el puerto 0x7FFD etc).
Por supuesto, cuando haya versiones del Spectranet con más de 128K flash/SRAM, van a necesitar una CPLD más grande, pero en este momento me alegro de que todo pueda caber en la CPLD que tengo - y los snapshots va a ser perfecto (Pues casi, hay que añadir una entrada más en la pila cuando se pulse el botón de NMI)
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 18 invitados