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