Programando firmware DIVIDE
Moderador: Sir Cilve Sinclair
- Rafa
- Jack The Nipper
- Mensajes: 181
- Registrado: Lun May 07, 2007 11:59 am
Programando firmware DIVIDE
Hola, quería saber si conoceis algún tipo de manual técnico o página donde se relate el uso interno a nivel de software del Divide, quiero decir, cómo acceder a él, cómo intercambia la ROM, etc.
Intento programar variaciones de su firmware, porque veo que tiene mucho potencial.
Gracias.
Intento programar variaciones de su firmware, porque veo que tiene mucho potencial.
Gracias.
RANDOMIZE USR 0
- Rafa
- Jack The Nipper
- Mensajes: 181
- Registrado: Lun May 07, 2007 11:59 am
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Programando firmware DIVIDE
En la web de velesoft tienes los fuentes del FATware 0.14. Es lo más parecido a algo de información que he visto:
http://velesoft.speccy.cz/zx/divide/divide-fatware.htm
Al final de la página hay un ZIP con los fuentes.
Los del esxdos no son públicos de momento.
http://velesoft.speccy.cz/zx/divide/divide-fatware.htm
Al final de la página hay un ZIP con los fuentes.
Los del esxdos no son públicos de momento.
- Rafa
- Jack The Nipper
- Mensajes: 181
- Registrado: Lun May 07, 2007 11:59 am
Re: Programando firmware DIVIDE
Gracias. A estudiar toca.
En los ESXDOS será parecido el control del puerto de acceso, paginación de RAM, etc.
Desensamblando el ESXDOS compruebo que todo el control lo lleva el puerto 227, dependiendo del valor que se meta, se puede hacer una cosa u otra.
En los ESXDOS será parecido el control del puerto de acceso, paginación de RAM, etc.
Desensamblando el ESXDOS compruebo que todo el control lo lleva el puerto 227, dependiendo del valor que se meta, se puede hacer una cosa u otra.
RANDOMIZE USR 0
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Programando firmware DIVIDE
Yo no me he metido a ver como funciona el ROM del DivIDE pero si he investigado el hardware para implementarlo en una FPGA para mi clon ZXpp.
Esto es lo que he deducido por el momento. No es seguro al 100%.
Efectivamente, puerto de control parece ser el 227 (E3).
Los 16K de ROM se dividen en dos páginas de 8. La primera mapea los 8K de ROM (fatware o esxdos) y en la segunda se mapean páginas de RAM.
Los bits 0 a 3 seleccionan la página. Dependiendo de si es un DivIDE (¿32K?) o un DivMMC (¿128K?) tienes más o menos páginas.
Al bit 6 le llaman mapram_mode y al 7 conmem. No se muy bien que hacen.
La lógica de la placa mapea la ROM/RAM en el sigiente ciclo cuando se lee una instrucción (M1 = 0) en las direcciones 0000, 0008, 0038, 0066, 04C6 y 0562 (reset, error, nmi, load, save... ???).
Si se lee una instrucción en la dirección 3Dxx se mapea inmediatamente.
Se desmapea en el ciclo siguiente tras leer una instrucción en la dirección 03FF.
Cuéntanos tus progresos
Esto es lo que he deducido por el momento. No es seguro al 100%.
Efectivamente, puerto de control parece ser el 227 (E3).
Los 16K de ROM se dividen en dos páginas de 8. La primera mapea los 8K de ROM (fatware o esxdos) y en la segunda se mapean páginas de RAM.
Los bits 0 a 3 seleccionan la página. Dependiendo de si es un DivIDE (¿32K?) o un DivMMC (¿128K?) tienes más o menos páginas.
Al bit 6 le llaman mapram_mode y al 7 conmem. No se muy bien que hacen.
La lógica de la placa mapea la ROM/RAM en el sigiente ciclo cuando se lee una instrucción (M1 = 0) en las direcciones 0000, 0008, 0038, 0066, 04C6 y 0562 (reset, error, nmi, load, save... ???).
Si se lee una instrucción en la dirección 3Dxx se mapea inmediatamente.
Se desmapea en el ciclo siguiente tras leer una instrucción en la dirección 03FF.
Cuéntanos tus progresos
- mcleod_ideafix
- Johnny Jones
- Mensajes: 3985
- Registrado: Vie Sep 21, 2007 1:26 am
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Programando firmware DIVIDE
El modelo de programación está perfectamente documentado. Tanto los puertos de control de paginación, autopaginación y acceso a la RAM, como los puertos para manejar la interface IDE.Rafa escribió:¿ De verdad nadie sabe nada ?
http://www.divide.cz/files/info/pgm_model.txt
Web: ZX Projects | Twitter: @zxprojects
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Programando firmware DIVIDE
Muy interesante, muchas gracias
Precisamente lo que había escrito en mi anterior mensaje lo había 'deducido' examinando el core del ZX-Uno
Precisamente lo que había escrito en mi anterior mensaje lo había 'deducido' examinando el core del ZX-Uno
- mcleod_ideafix
- Johnny Jones
- Mensajes: 3985
- Registrado: Vie Sep 21, 2007 1:26 am
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Programando firmware DIVIDE
El cuál escribí (la parte que maneja DivMMC) precisamente leyendo el documento que os he puestoKyp escribió:Muy interesante, muchas gracias
Precisamente lo que había escrito en mi anterior mensaje lo había 'deducido' examinando el core del ZX-Uno
Web: ZX Projects | Twitter: @zxprojects
- Goody
- Freddy Hardest
- Mensajes: 563
- Registrado: Mar Ago 27, 2013 6:59 pm
Re: Programando firmware DIVIDE
Tios, no entiendo de electrónica ni programación...
El caso es que tengo un Div-MMC y bueno, por algún motivo me da fallos en los gráficos y hay juegos que no parecen funcionar bien.
¿Recuerdan las pantallas de carga de los juegos que cuando había un error aparecían con colores cambiados y cuadros parpadeando? Pues eso es lo que me ocurra con el Div-MMC pero a mitad de partida.
Otras veces el juego se bloquea al perder una vida, me pasa con el Renegade, lo gracioso es que el juego venía, entre otros, con la tarjeta SD que traía el aparato cuando lo compré. Quiero decir que el aparato debe estar mas que probado con dichos juegos ¿No?
Otros juegos reinician en ordenador tal como se cargan. Tengo un +2B
¿Que puede ser?
¿Avería del Div-MMC o el Spectrum? No consigo cargar juegos por cinta para poder descartar problemas del ordenador.
También os digo que no sé muy bien cómo poner los interruptores de Div-MMC.
Torpe que es uno.
El caso es que tengo un Div-MMC y bueno, por algún motivo me da fallos en los gráficos y hay juegos que no parecen funcionar bien.
¿Recuerdan las pantallas de carga de los juegos que cuando había un error aparecían con colores cambiados y cuadros parpadeando? Pues eso es lo que me ocurra con el Div-MMC pero a mitad de partida.
Otras veces el juego se bloquea al perder una vida, me pasa con el Renegade, lo gracioso es que el juego venía, entre otros, con la tarjeta SD que traía el aparato cuando lo compré. Quiero decir que el aparato debe estar mas que probado con dichos juegos ¿No?
Otros juegos reinician en ordenador tal como se cargan. Tengo un +2B
¿Que puede ser?
¿Avería del Div-MMC o el Spectrum? No consigo cargar juegos por cinta para poder descartar problemas del ordenador.
También os digo que no sé muy bien cómo poner los interruptores de Div-MMC.
Torpe que es uno.
Última edición por Goody el Jue Ene 21, 2016 1:32 pm, editado 1 vez en total.
En los 80 España fue potencia mundial en la creación de videojuegos compitiendo con Reino Unido que contaba con mucha mayor infraestructura.
-
- Sabreman
- Mensajes: 437
- Registrado: Vie Mar 21, 2008 8:24 pm
Re: Programando firmware DIVIDE
Yo diría que parece más una avería del Spectrum. Probar el DIVMMC en otro spectrum confirmaría o descartaría esto.
- Goody
- Freddy Hardest
- Mensajes: 563
- Registrado: Mar Ago 27, 2013 6:59 pm
Re: Programando firmware DIVIDE
carmeloco escribió:Yo diría que parece más una avería del Spectrum. Probar el DIVMMC en otro spectrum confirmaría o descartaría esto.
Si, imagino, pero me temo que sólo tengo un Spectrum.
Ya que los compañeros del foro parecen controlar bastante de programación...
¿Exite la posibilidad de ejecutar alguna orden que me haga un test de hardware???
A todo esto: Gracias por responder.
En los 80 España fue potencia mundial en la creación de videojuegos compitiendo con Reino Unido que contaba con mucha mayor infraestructura.
-
- Freddy Hardest
- Mensajes: 666
- Registrado: Vie Ago 15, 2008 2:43 pm
Re: Programando firmware DIVIDE
Hay alguna ROM para IF2 que puede hacerlo, lo que no sé es si está disponible para ejecutarla en el divide.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...
-
- Sabreman
- Mensajes: 437
- Registrado: Vie Mar 21, 2008 8:24 pm
Re: Programando firmware DIVIDE
Yo ahora ando liado haciendo unos interface rom externos, precisamente con roms de diagnostico. He intentado hacer un snapshot .Z80 (para cargarlo con el DIVMMC) con una rom cargada en un emulador, pero el resultado no es bueno.
Si no recuerdo mal, el +2B, lleva un test interno. He leido por ahí que, tras sacar la carta de ajuste (reset+break) pulsando simultáneamente QAZPLM sale el test, pero no consigo hacerlo en un emulador.
Si no recuerdo mal, el +2B, lleva un test interno. He leido por ahí que, tras sacar la carta de ajuste (reset+break) pulsando simultáneamente QAZPLM sale el test, pero no consigo hacerlo en un emulador.
- Kyp
- Sabreman
- Mensajes: 444
- Registrado: Lun Dic 16, 2013 6:16 pm
Re: Programando firmware DIVIDE
No te funciona en el emulador porque la mayoría de los teclados de PC no permiten pulsar a la vez todas esas teclas. Pruébalo en el Spectrum que funcionará.
- Goody
- Freddy Hardest
- Mensajes: 563
- Registrado: Mar Ago 27, 2013 6:59 pm
Re: Programando firmware DIVIDE
Mmm
Suena interesante, lo probaré este finde.
Espero que no se haya estropeado algo, de todas formas los chips de este Spectrum creo que son desmontables por lo tanto, imagino que será relativamente fácil de reparar si fuese el caso.
Pero lo primero es ver qué falla.
A todo esto:
En el menú de opciones característico de este modelo de Spectrum, al pulsar los cursores la barra de selección se desplaza haciendo un sonido típico.
Pues bien, resulta que dejando el ordenador tal cual, sin tocar nada, de vez en cuando se oye ese sonido sin venir a cuento de nada.
Cuando esto ocurre la barra de selección se queda en su sitio, quiero decir que no es que se haya quedado una tecla pulsada ni nada de parecido. El teclado responde bien.
Y ya por último, pesnsaba que el problema del caset era debido a que el azimut (O como se llame) no debía estar bienajustado pero visto lo visto no sé qué pensar.
El caso es que me he pegado bastante tiempo sin usar mi Spectrum y ahora que lo he vuelto a usar me he encontrado con estos problemas.
Suena interesante, lo probaré este finde.
Espero que no se haya estropeado algo, de todas formas los chips de este Spectrum creo que son desmontables por lo tanto, imagino que será relativamente fácil de reparar si fuese el caso.
Pero lo primero es ver qué falla.
A todo esto:
En el menú de opciones característico de este modelo de Spectrum, al pulsar los cursores la barra de selección se desplaza haciendo un sonido típico.
Pues bien, resulta que dejando el ordenador tal cual, sin tocar nada, de vez en cuando se oye ese sonido sin venir a cuento de nada.
Cuando esto ocurre la barra de selección se queda en su sitio, quiero decir que no es que se haya quedado una tecla pulsada ni nada de parecido. El teclado responde bien.
Y ya por último, pesnsaba que el problema del caset era debido a que el azimut (O como se llame) no debía estar bienajustado pero visto lo visto no sé qué pensar.
El caso es que me he pegado bastante tiempo sin usar mi Spectrum y ahora que lo he vuelto a usar me he encontrado con estos problemas.
En los 80 España fue potencia mundial en la creación de videojuegos compitiendo con Reino Unido que contaba con mucha mayor infraestructura.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados