Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Cursos, reparaciones, fichas, tutoriales, etc.

Moderador: Fundadores

Avatar de Usuario
carmeloco
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2526
Registrado: 28 Mar 2016, 11:26
Contactar:

Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por carmeloco » 13 Feb 2017, 16:45

Realmente, el parcheo es para que la ROM +3e, no intente detectar una disketera, en un sistema en el que no hay controlador de disketera. Esto es aplicable también a otros Spectrum. Yo por ejemplo, tengo aplicado el mismo parche en un Harlequin ampliado a 128K. Este parche, no lo he creado yo, si no que me lo pasó wilco2009 en RW2, mientras montaba mi Harlequin ampliado a 128K, así que aprovecho para agradecer a wilco2009 el parche.

Lo primero que tenemos que hacer, es bajarnos la ROM +3e: Link de descarga de las ROMS

Obtendremos un archivo .ZIP, dentro del cual, hay todas las ROMS. Para el ZX-Uno, necesitamos o la dvmen3eE.rom (en inglés) o la dvmes3eE.rom (en español).
Lo siguiente que necesitamos es un editor HEX. Yo uso el Free Hex Editor Neo, pero se puede usar cualquier otro. Cargamos el archivo de ROM que hayamos elegido según el idioma, en el editor HEX, y nos vamos hasta la posición 0x10F, a partir de la cual, nos encontraremos la siguiente secuencia de datos:

Código: Seleccionar todo

06 08 78 D9 3D 01 FD 7F ED 79 21 00 C0 11 01 C0 01 FF 3F 36 00 ED B0 D9 10 E8 AF 21 BA DC 01 FD 7F
debemos substituir todo esto por:

Código: Seleccionar todo

D9 FE 05 01 FD 7F 1E FE 21 FF 7F 28 03 ED 79 65 54 C5 01 00 40 71 ED B8 D9 C1 3C E6 07 20 E1 26 DC
Una forma rápida de hacer esto, es usando alguna opción de "buscar y reemplazar" en el editor HEX, haciéndo una búsqueda de la primera cadena, y diciéndole que la reemplace por la segunda.

Una vez hecho esto, hacemos una nueva búsqueda de la siguiente cadena:

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 3F C1 C9
y la reemplazamos por:

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 AF C1 C9
Grabamos el archivo desde el editor HEX, y ya podemos meterlo en el ZX-Uno. Si lo hacemos desde ZX-Uno RomPack, en "ROM details", hay que seleccionar el timing de 128K, y dejar todas las demás opciones deshabilitadas.

Avatar de Usuario
javier2112
Aspirante a demonio
Aspirante a demonio
Mensajes: 477
Registrado: 30 Oct 2014, 12:36
Ubicación: Málaga
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por javier2112 » 13 Feb 2017, 17:38

Tengo una duda: ¿no funcionan las roms sin modificaciones en un +2a? ¿Por que es necesario en este caso?

Avatar de Usuario
carmeloco
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2526
Registrado: 28 Mar 2016, 11:26
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por carmeloco » 13 Feb 2017, 17:45

javier2112 escribió:Tengo una duda: ¿no funcionan las roms sin modificaciones en un +2a? ¿Por que es necesario en este caso?
En un +2A, no tengo ni idea, porque no lo he probado nunca (no tengo uno), pero en los casos que comento, te puedo asegurar que no funciona bien sin parchear.

Avatar de Usuario
flopping
Fundador
Fundador
Mensajes: 8216
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por flopping » 13 Feb 2017, 17:51

javier2112 escribió:Tengo una duda: ¿no funcionan las roms sin modificaciones en un +2a? ¿Por que es necesario en este caso?
Son cosas diferentes, las roms del +2a,b y del +3 son las mismas, por lo que funcionan indistintamente en ambos ordenadores, otra cosa es que tengas un ZXUno o un harlequin ampliado, ya que como estas maquinas no son spectrum reales y el hardware no es detectado correctamente, dan problemas al usar esas roms sin parchear.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2018, 36 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Avatar de Usuario
carmeloco
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2526
Registrado: 28 Mar 2016, 11:26
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por carmeloco » 13 Feb 2017, 18:15

flopping escribió:
javier2112 escribió:Tengo una duda: ¿no funcionan las roms sin modificaciones en un +2a? ¿Por que es necesario en este caso?
Son cosas diferentes, las roms del +2a,b y del +3 son las mismas, por lo que funcionan indistintamente en ambos ordenadores, otra cosa es que tengas un ZXUno o un harlequin ampliado, ya que como estas maquinas no son spectrum reales y el hardware no es detectado correctamente, dan problemas al usar esas roms sin parchear.
En sí, wilco2009 ya me lo explicó en su día. Lo acabo de ver en el post de RW2: http://rw20.retrowiki.es/viewtopic.php? ... =30#p80273

Avatar de Usuario
elfoscuro
Demonio segundo orden
Demonio segundo orden
Mensajes: 1557
Registrado: 01 Abr 2013, 22:00
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por elfoscuro » 13 Feb 2017, 23:52

Una pregunta... ¿y ésto para que sirve? Os he visto hablar del tema en este hilo y en el del ZX-uno, pero no me aclaro... ¿Sería para usar la SD como un disco duro o para qué?

Un saludo.
Fin de impresión

Avatar de Usuario
carmeloco
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2526
Registrado: 28 Mar 2016, 11:26
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por carmeloco » 14 Feb 2017, 00:20

elfoscuro escribió:Una pregunta... ¿y ésto para que sirve? Os he visto hablar del tema en este hilo y en el del ZX-uno, pero no me aclaro... ¿Sería para usar la SD como un disco duro o para qué?

Un saludo.
Para usar el DivMMC integrado del ZX-Uno, con las funcionalidades de la ROM +3e. La SD, se formatea desde el Spectrum, y se usa como una unidad de disco, de hasta 16MB, y tantas particiones de 16MB como quepan en la tarjeta.

Avatar de Usuario
carmeloco
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2526
Registrado: 28 Mar 2016, 11:26
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por carmeloco » 14 Feb 2017, 00:26

Otra cosa intetesante es esta:

viewtopic.php?f=62&t=5605

Pero todavía no está listo el driver para DivMMC.

Avatar de Usuario
wilco2009
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 7401
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por wilco2009 » 14 Feb 2017, 01:03

El tema tiene que ver con el bus flotante, y lo que se espera que devuelva el bus cuando no tiene implementados los puertos de la disquetera. En un +2A real esos puertos de lectura devolverían $FF siempre, mientras que en un spectrum normal la respuesta es algo más aleatoria, y depende de los accesos de la ULA al bus de datos.

Como en el zx-uno se ha implementado un modelo similar al del spectrum gomas (o eso creo), pues ocurre este problema.

En mi superupograde pasaba lo mismo, por lo que había que parchear la inicialización de la disquetera para que no la hiciera.
"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
Tromponauta
Aspirante a demonio
Aspirante a demonio
Mensajes: 431
Registrado: 20 Sep 2016, 01:14
Ubicación: Moratalaz
Contactar:

Re: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

Mensaje por Tromponauta » 14 Feb 2017, 01:43

¡ Fantástico Tutorial ! Ahora mismo hago un copia y pega a un documento y a mi colección de Docus Técnicos. Voy a leerme ese enlace donde se explica. Una de las primeras cosas que he tenido en mente es meterle el CP/M en una partición, lo malo es que tengo el disco original del CP/M de Locomotive pero de momento no el DSK, lo tendré que mirar en lo que me fui bajando de WOS hace muchos años por FTP antes de que empezaran a retirar programas por el tema de licencias.

Por otra parte me esta viniendo genial todo esto, ya que tengo para montar un Harlequin revisión 2D y de no saber esto menudo disgusto me hubiera llevado al ver que no funciona, seguro que me pensaría que lo había montado mal o alguna avería de algún componente, por lo menos en esto ya estoy prevenido :)
Enviado desde mi ZX-Spectrum :D

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado