Programando firmware DIVIDE

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

Programando firmware DIVIDE

Mensaje por Rafa » Mié Nov 04, 2015 5:02 pm

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.
RANDOMIZE USR 0

Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

Re: Programando firmware DIVIDE

Mensaje por Rafa » Jue Nov 05, 2015 8:07 pm

¿ De verdad nadie sabe nada ?
RANDOMIZE USR 0

Avatar de Usuario
Kyp
Sabreman
Mensajes: 379
Registrado: Lun Dic 16, 2013 6:16 pm

Re: Programando firmware DIVIDE

Mensaje por Kyp » Jue Nov 05, 2015 11:43 pm

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.

Avatar de Usuario
Rafa
Jack The Nipper
Mensajes: 181
Registrado: Lun May 07, 2007 11:59 am

Re: Programando firmware DIVIDE

Mensaje por Rafa » Vie Nov 06, 2015 9:48 am

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.
RANDOMIZE USR 0

Avatar de Usuario
Kyp
Sabreman
Mensajes: 379
Registrado: Lun Dic 16, 2013 6:16 pm

Re: Programando firmware DIVIDE

Mensaje por Kyp » Vie Nov 06, 2015 1:38 pm

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 :wink:

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3984
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Programando firmware DIVIDE

Mensaje por mcleod_ideafix » Vie Nov 27, 2015 12:59 am

Rafa escribió:¿ De verdad nadie sabe nada ?
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.
http://www.divide.cz/files/info/pgm_model.txt
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Kyp
Sabreman
Mensajes: 379
Registrado: Lun Dic 16, 2013 6:16 pm

Re: Programando firmware DIVIDE

Mensaje por Kyp » Lun Nov 30, 2015 10:37 am

Muy interesante, muchas gracias :) :) :)
Precisamente lo que había escrito en mi anterior mensaje lo había 'deducido' examinando el core del ZX-Uno :roll: :roll: :roll:

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3984
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Programando firmware DIVIDE

Mensaje por mcleod_ideafix » Mar Dic 01, 2015 12:26 am

Kyp 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 :roll: :roll: :roll:
El cuál escribí (la parte que maneja DivMMC) precisamente leyendo el documento que os he puesto ;)
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Goody
Freddy Hardest
Mensajes: 562
Registrado: Mar Ago 27, 2013 6:59 pm

Re: Programando firmware DIVIDE

Mensaje por Goody » Mié Ene 20, 2016 10:20 pm

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. :?
Ú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.

carmeloco
Sabreman
Mensajes: 435
Registrado: Vie Mar 21, 2008 8:24 pm

Re: Programando firmware DIVIDE

Mensaje por carmeloco » Jue Ene 21, 2016 9:02 am

Yo diría que parece más una avería del Spectrum. Probar el DIVMMC en otro spectrum confirmaría o descartaría esto.

Avatar de Usuario
Goody
Freddy Hardest
Mensajes: 562
Registrado: Mar Ago 27, 2013 6:59 pm

Re: Programando firmware DIVIDE

Mensaje por Goody » Jue Ene 21, 2016 1:35 pm

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.

zup
Freddy Hardest
Mensajes: 657
Registrado: Vie Ago 15, 2008 2:43 pm

Re: Programando firmware DIVIDE

Mensaje por zup » Jue Ene 21, 2016 2:24 pm

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...

carmeloco
Sabreman
Mensajes: 435
Registrado: Vie Mar 21, 2008 8:24 pm

Re: Programando firmware DIVIDE

Mensaje por carmeloco » Jue Ene 21, 2016 4:47 pm

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.

Avatar de Usuario
Kyp
Sabreman
Mensajes: 379
Registrado: Lun Dic 16, 2013 6:16 pm

Re: Programando firmware DIVIDE

Mensaje por Kyp » Jue Ene 21, 2016 10:38 pm

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á.

Avatar de Usuario
Goody
Freddy Hardest
Mensajes: 562
Registrado: Mar Ago 27, 2013 6:59 pm

Re: Programando firmware DIVIDE

Mensaje por Goody » Jue Ene 21, 2016 10:39 pm

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. :(
En los 80 España fue potencia mundial en la creación de videojuegos compitiendo con Reino Unido que contaba con mucha mayor infraestructura.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados