En busca del bug en el superupgrade

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
Scooter !!Va-de-Retro
Demonio tercer orden
Demonio tercer orden
Mensajes: 969
Registrado: 27 Feb 2014, 11:33
Ubicación: Alicates
Has thanked: 1 time
Been thanked: 12 times

Re: En busca del bug en el superupgrade

Mensaje por Scooter »

Si se añade controladora, se por e la ROM adecuada y listo.
Al margen de que a lo mejor el problema es otro, no le veo sentido inializar el loquesea si no hay un loquesea

Anbiao ende mi parato usando catacrak
Solo se que no se nada (algunos no saben eso)
Avatar de Usuario
Sinclair
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3101
Registrado: 04 Jul 2013, 23:42

Re: En busca del bug en el superupgrade

Mensaje por Sinclair »

El sentido que tiene es la libertad de poder usar cualquier ROM original del +3 y que funcione sin tener que modificar previamente esta. A mi por ejemplo me gusta la version inglesa, y con +3e la version para el IDE de 8 bits. Pero bueno, parece que esto no va a ser posible a no ser que se añada "algo" que rellene el hueco del gate array o ULA.
Imagen
Avatar de Usuario
Scooter !!Va-de-Retro
Demonio tercer orden
Demonio tercer orden
Mensajes: 969
Registrado: 27 Feb 2014, 11:33
Ubicación: Alicates
Has thanked: 1 time
Been thanked: 12 times

Re: En busca del bug en el superupgrade

Mensaje por Scooter »

Bueno, si se localiza el tema a lo mejor basta con un buffer triestado y ocho resistencias de pullup o algo así

Anbiao ende mi parato usando catacrak
Solo se que no se nada (algunos no saben eso)
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8156
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 107 times

Re: En busca del bug en el superupgrade

Mensaje por wilco2009 »

Compañeros, éxito total con las ROMs del +3. :D :D :D :D :D :D :D :D :D

Modificando 2 bytes de la ROM se salta única y exclusivamente la inicialización de los floppies, pero el resto del +3DOS funciona a las mil maravillas, apareciendo la unidad M: y pudiendo utilizarla como unidad de disco.

Ahora toca buscar la modificación equivalente para las ROMs del +3e.
Espero que sea la misma posición para todas las versiones. Si no sacaremos versión parcheada de las más importantes.

De momento, para el que quiera ir probando, solo debe editar con un editor hexadecimal el archivo ROMSET de ejemplo que os dejé el otro día en el manual de montaje y poner a cero las posiciones $16459 y $1645A.

Si lo que queréis es modificar la ROM original sólamente hay que poner a cero las direcciones $2459 y $245A.
Aquí tenéis el enlace a la ROM del +3 parcheada para el superupgrade:
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
Sinclair
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3101
Registrado: 04 Jul 2013, 23:42

Re: En busca del bug en el superupgrade

Mensaje por Sinclair »

Muy buena noticia.

Ahora a por las del +3e que estoy deseando ver funcionar el interface IDE de 8 bits en el gomas :D
Imagen
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: En busca del bug en el superupgrade

Mensaje por antoniovillena »

Enhorabuena por encontrar el error. Desgraciadamente no es la misma dirección, en cada ROM cambia.

Código: Seleccionar todo

        call    m2b64           ; page in page 0
        jr      c,m2463         ; move on if interface present
        ld      hl,m24c4
        call    m24b5           ; display " M:" if no interface
        jr      m24ae           ; move on
m2463   ld      a,'A'           ; set "A:" as default load/save drive
Por lo que veo cambias el jr c por dos nop, anulando lo devuelto por la rutina DD_INTERFACE. Te puedo enviar las 4 ROMs oficiales parcheadas, más la del +3e ZXMMC. El resto de las +3e es que no las tengo desensambladas.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: En busca del bug en el superupgrade

Mensaje por antoniovillena »

En la ROM se hacen más llamadas a DD_INTERFACE, que es esta simple rutina.

Código: Seleccionar todo

; DD_INTERFACE

n1f27   push    bc
        ld      bc,$2ffd
        in      a,(c)           ; read FD status register ($ff if no i/f)
        add     a,$01
        ccf                     ; carry not set if no i/f
        pop     bc
        ret
Si necesitas devolver lo mismo en todas las llamadas, puedes cambiar el ccf por un xor a.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: En busca del bug en el superupgrade

Mensaje por antoniovillena »

Ya he visto la explicación en speccy.org. Si también te vale el cambio de ccf a xor a, te sería más fácil parchear las ROMs del +3e. Para ello haces una búsqueda de la rutina entera (sería esta secuencia) en un editor hexadecimal.

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 3F C1 C9
Y cambias el 3F por AF.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8156
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 107 times

Re: En busca del bug en el superupgrade

Mensaje por wilco2009 »

Gracias Antonio. Efectivamente es una solución más general ya que incluye cualquier llamada que se haga desde cualquier otro lado.

Entiendo que esa búsqueda de secuencia te sirve para cualquier ROM del +3e ¿no?

Es de suponer que la rutina DD_INTERFACE no es necesario cambiarla ya que corresponde al floppy y no al IDE, por lo que únicamente puede haber cambiado de sitio pero no de contenido.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: En busca del bug en el superupgrade

Mensaje por antoniovillena »

Sí, sirve para cualquier +3e y el contenido es siempre el mismo puesto que no tiene llamadas a subrutinas ni saltos absolutos.
Responder

Volver a “Proyectos de hardware abiertos”