Página 1 de 1

Parcheos varios para la ROM del +3

Publicado: 10 Mar 2018, 00:01
por javier2112
Buenas.

Basándome en unos casos en el trabajos anteriores, y con un poco de investigación, he recopilado una serie de parches que se pueden aplicar a las ROMs del +3 en español (+3e incluido) mediante un editor hexadecimal, que nos permitirá modificar y/o mejorar sus características. Vamos allá:

Inicialización de la RAM en modo 128 tras un reset
Fuente: https://foro.speccy.org/viewtopic.php?f=8&t=5205

En algunos +2A/+3, quizá porque se van haciendo viejos y pieden algunas de sus propiedades electricas, puede suceder que no arranquen bien en modo 128 tras un reset,
posiblemente debido a memorias no lo suficientemente rápidas (pese a ser las de origen). Esto ha venido pasando con las rom +3e, pero yo también lo he sufrido con las estándar.

Hay que aplicar este cambio en la ROM 0:
buscar

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


Cambio en la detección de la disquetera
Fuente: Cómo parchear una ROM +3e para que funcione en un ZX-Uno

A veces da problemas cuando no tenemos unidad de disco, como puede ser en los +2A o en los ZX Uno.

En la ROM 3:
buscar

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 3F C1 C9
reemplazar por

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 AF C1 C9


Cambio de simibolo Pt por €
Fuente: en este caso es una invención mía, pero como consecuencia de una consulta que hizo forero Zup en foro.speccy.org.

En la ROM 3:
buscar

Código: Seleccionar todo

00 F0 88 8A F7 82 83 00
reemplazar por alguna de estas opciones

Código: Seleccionar todo

1F 20 7E 40 7E 20 1F 00
1F 20 7E 20 7E 20 1F 00
00 00 1E 20 7C 20 1E 00
Cambio en el factor interleave durante formateo de discos
Fuente: https://www.secarica.ro/index.php/en/zx-zone/plus3-rom

Esto es sólo para disqueteras de 3", aunque tampoco pasa nada si se tiene una de 3,5". Basándome en la ROM de la web anterior, he investigado cómo aplicar el cambio de factor de interleave durante el formateo, para mejorar la velocidad de lectura de los sectores de disco. El cambio hace que funcione se aplique el interleave del CPC6128.

En la ROM 1:
buscar

Código: Seleccionar todo

f1 4f af 57 cd 6f 03 1e e5 06 07 21 11 ed
reemplazar por

Código: Seleccionar todo

f1 4f af 57 cd d3 3d 1e e5 06 07 21 11 ed

La rutina original salta a la dirección 036Fh, donde se especifica cómo se formatea. Con esta modificación lo que se hace es saltar a una nueva rutina en la
dirección 3DD3h, zona que está libre en las ROMs. Por tanto, hay que reemplazar esa zona vacía por la nueva rutina.

La sustitución consiste en buscar la siguiente secuencia de ceros en la en la posición 3DD3h:

Código: Seleccionar todo

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
reemplazarla por

Código: Seleccionar todo

21 34 ED 06 09 36 02 2B C5 E5 21 1D 39 48 06 00 09 46 E1 70 C1 2B 36 00 2B 72 2B 10 E8 C9

Existen otros dos parches que he tratado de averiguar, pero aún no tengo toda la información: timing de acceso más rápido para disqueteras 3,5" y comando SPECTRUM mejorado para soportar la carga de TAP (viewtopic.php?f=18&t=2519). SI consigo averiguar cómo hacer los cambios, los pondré por aquí.


Saludos.


PD. Dejo un ZIP con la última versión del +3e para Divide con los siguientes cambios: inicialización de la RAM en modo 128 tras un reset, cambio de simibolo Pt por € y cambio en el factor interleave durante formateo de discos: https://drive.google.com/open?id=1pt2As ... d5y3UUoC3f

Re: Parcheos varios para la ROM del +3

Publicado: 10 Mar 2018, 09:26
por Quickie
Muy interesante. Muchas gracias por compartirlo.

Re: Parcheos varios para la ROM del +3

Publicado: 10 Mar 2018, 13:13
por merlinkv
Hola, me parece fantástico!!!

¿Sería mucho pedir unos archivos para DIVMMC y poder grabarlos en mis EEPROM? ... Tengo un +3 con ROM Dual ... la original y +3e 1.43 ...

Re: Parcheos varios para la ROM del +3

Publicado: 10 Mar 2018, 14:20
por shikitin
Jo!, que curioso.
Gracias merlinkv!

Re: Parcheos varios para la ROM del +3

Publicado: 10 Mar 2018, 14:41
por javier2112
merlinkv escribió: 10 Mar 2018, 13:13 Hola, me parece fantástico!!!

¿Sería mucho pedir unos archivos para DIVMMC y poder grabarlos en mis EEPROM? ... Tengo un +3 con ROM Dual ... la original y +3e 1.43 ...
¿Qué características quieres cambiar?

Re: Parcheos varios para la ROM del +3

Publicado: 11 Mar 2018, 09:22
por merlinkv
Hola @javier2112

Yo uso ROMs en Inglés y me refería a:

- Inicialización de la RAM en modo 128 tras un reset.
- Cambio en la detección de la disquetera.
- Cambio en el factor interleave durante formateo de discos.

De todas formas, si me recomiendas un buen editor, igual puedo hacerlo yo y así quizá aprendo algo sobre como trastear con las ROMs del +3 ... Gracias :)

Re: Parcheos varios para la ROM del +3

Publicado: 13 Mar 2018, 22:38
por javier2112
merlinkv escribió: 11 Mar 2018, 09:22 Hola @javier2112

Yo uso ROMs en Inglés y me refería a:

- Inicialización de la RAM en modo 128 tras un reset.
- Cambio en la detección de la disquetera.
- Cambio en el factor interleave durante formateo de discos.

De todas formas, si me recomiendas un buen editor, igual puedo hacerlo yo y así quizá aprendo algo sobre como trastear con las ROMs del +3 ... Gracias :)
Hola merlinkv.

Estaba preparándote las EPROMs, cuando me he dado cuenta de que la 2ª modificación (Cambio en la detección de la disquetera) CREO que anula el funcionamiento de la disquetera; por tanto, entra en contradicción con el 3º cambio (Cambio en el factor interleave durante formateo de discos). Realmente no estoy seguro, quizá debería decir algo quien ideó ese cambio, creo que fue wilco2009.

Saludos.

PD. El programa que uso es el Bless Hex Editor, para Linux, aunque en Windows he podido usar el Notepad++ con el plugin Hex-editor.

Re: Parcheos varios para la ROM del +3

Publicado: 14 Mar 2018, 09:13
por javier2112
carmeloco escribió: 13 Mar 2018, 23:09 Una pregunta, las fuentes de "Inicialización de RAM en modo 128 tras un reset" y "Cambio de detección de disketera", ¿son este mismo post?
La fuente es un tema que abriste tú mismo. Ya lo he corregido.

Gracias.