MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Avatar de Usuario
wilco2009
Mensajes: 1618
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 38 veces
Agradecimiento recibido: 88 veces

MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor wilco2009 » 29 Ago 2014 16:56

MANUAL DE USUARIO DEL SUPERUPGRADE

Imagen

Las características del interface son las siguientes:

- Ampliación a 128/256/512Kb de RAM seleccionable por jumpers
- 2 conexiones de joystick multinorma (Kempston,Sinclair, Cursor)
- Botón de Reset
- Botón de NMI
- Memoria flash de 512Kb conteniendo hasta 32 ROMs de diferentes sistemas o juegos.
- Chip de sonido AY.
- Entrada de audio para mezclar el sonido del speaker con el del AY.
- Salida de video compuesto.
- Expansor de bus.
- Compatible con divIDE
- Posibilidad de add-on de ampliación para selección de las ROMs por software.
- Grabación de la memoria flash desde el propio Spectrum.

Como podéis ver le queda muy poquito para convertirlo en un +3. La carencia más evidente es la disquetera, pero todo se andará. ;)

La idea es que funcionen todos los juegos de 128Kb que no necesiten acceso a floppy y que no usen los modos de Shadow RAM.

Si incorporamos un interface IDE o un divIDE, podríamos ejecutar también los juegos de disco.
Con la ampliación a 512Kb es de esperar que puedan ejecutarse algunos juegos de los clones rusos tipo Pentagon.

ROM BIOS Y SELECCIÓN DE LA ROM ACTIVA

La memoria flash de nuestro interface tiene una capacidad de 512Kb. Teniendo en cuenta que las ROMs más pequeñas que existen para Spectrum ocupan 16Kb (como la original el gomas), eso hace que quepan un total de 32 ROMs de ese tamaño.

Pero claro, hay otras versiones como el 128Kb y el +2 gris que ocupan 32Kb e incluso las del +2a/+3 64Kb, por lo que depende del tipo de ROMs que tengamos en el chip la cantidad ROMs que podremos tener variará.

Para poder albergar tanto las memorias 16Kb como las más grandes de 32Kb ó 64Kb, el chip está dividido en trozos de 16Kb cada uno de los cuales podemos grabar con la ROM que deseemos.

Adicionalmente, los bloques de 16kb vienen agrupados en otros bloques más grandes de 64Kb que a partir de ahora llamaremos slots, por lo que tendremos un total de 8 slots en el chip.

A la hora de guardar una ROM de 64Kb, no podemos empezar en donde queramos, tendremos que ocupar un slot, mientras que en el caso de las ROMs de 32Kb deberemos utilizar bien las ROMs 0 y 1 de un slot concreto (semi-slot inferior) o bien las ROMs 2 y 3 del slot (semi-slot superior)

El slot activo es seleccionable con los jumpers, JP3, JP4 y JP5, mientras que para seleccionar el bloque de 16Kb dentro de un slot necesitaremos de la ayuda del software.

El sistena incorpora una ROM BIOS situada en la el primer bloque de 16Kb.
Aunque inicialmente dicha ROM BIOS estaba pensada principalmente para la selección de la ROM por software con la ayuda del add-on (que luego veremos), se han añadido algunas funciones que pueden ser empleadas perfectamente en la versión básica del interface. Entre estas están las herramientas de diagnóstico y una opción muy interesante que nos permitirá seleccionar la ROM activa dentro del slot que tengamos seleccionado con los jumpers.

El espacio quedaría distribuido como sigue:

Imagen

MANEJO DEL BIOS

Imagen

La pantalla principal del BIOS del superupgrade nos muestra un listado con las ROMs incluidas en la memoria flash.
Para arrancar una de ellas, seleccionaremos la letra correspondiente y pulsaremos "ENTER".

En la versión 0.2 del BIOS se ha añadido un submenú de utilizades, al que se accede pulsando "V" y "ENTER", desde el menú principal.

Imagen

En dicho menú disponemos de utilidades para testear nuestro interface:
- TEST DEL TECLADO: nos mostrará visualmente las teclas que estamos pulsando y los tres bits superiores de cada semifila.
Para el teclado solo se usan los bits 0 a 4, mientras que el bit 6 es usado para la entrada EAR.
Para terminar el test pulsaremos BREAK.

Imagen

- TEST DEL JOYSTICK: Nos permitirá hacer un test completo del joystick, pidiendo que pulsemos secuencialmente cada uno de los botones del joystick. Cuando lleguemos al test de Sinclair deberemos pulsar usar los dos joystick simultaneamente.
En el caso de que pulsemos "BREAK" pasaremos al siguiente botón aunque no hayamos pulsado el botón correcto.

Imagen

- TEST DE RAM: Realizará un test del paginado de la RAM, indicando cuantas páginas de memoria tenemos disponibles.
No se trata de un test completo de la integridad de la RAM, ya que solo comprueba el paginado.

Imagen

- TEST DE AUDIO: Hará sonar una escala musical por cada uno de los tres canales del AY.

Imagen

- SELECCIÓN DE PÁGINA DE ROM: Esta opción está pensada para los usuarios que no inserten el add-on.

Imagen

Recordemos que la memoria está dividida en bloques de 64Kb que son seleccionable por jumpers, y que en cada bloque de 64Kb nos caben 4 páginas de 16Kb.
Pues bien, si después de arrancar el menú cambiamos los jumpers a la ROM deseada, esta opción nos permitirá seleccionar la página de 16Kb que queremos ejecutar.
Una vez selecionada la página deseada, el sistema nos pedirá que pulsemos una tecla, tras lo que el spectrum se reiniciará ejecutando el programa contenido en la página seleccionada.

A modo de ejemplo y para clarificar un poco el tema, vamos a incluir una tabla de posición de los jumpers / rom a seleccionar del set de ejemplo que se ha mandado ya pregrabado en el kit.

Con los jumpers sólo podemos cambiar entre 8 bloques de 64Kb (a partir de ahora slots), por lo que dependiendo de la posición de los jumpers, cuando hagamos reset con los jumpers en una posición determinada, el sistema nos arrancará con la ROM 0 del slot seleccionado.
Para arrancar las otras tres ROMs del slot será necesaria la opción de selección de ROMs del menú de herramientas.

Los jumpers no están en orden por lo que igual resulta un poco confuso su manejo. Seguidamente voy a poner una tabla que intenta clarificarlo.

Imagen

Como vemos hay ROMs que ocupan varios bloques de 16Kb, por lo que en estos casos solo tendrá sentido arrancar el primer bloque de los que lo componen. Si seleccionamos por ejemplo la segunda ROM del +3 lo más normal es que se cuelgue el sistema.

En la tabla vemos, en las tres primeras columnas, la posición que tenemos que poner en los jumpers para seleccionar un slot determinado.
Por ejemplo, las ROMs del +2 gris están en el Slot 2, por lo que tendremos que poner los jumpers en las posiciones arriba, abajo, arriba, empezando a contar por el jumper superior de los tres de selección de ROM.

Para esta ROM en concreto no será necesario el selector, ya que ocupa la posición 0 de este slot. Será suficiente con poner los jumpers y pulsar reset.

En el caso de una ROM que no ocupe la posición 0 de un Slot, sí necesitaremos el selector. Ese es el caso de la ROM del spectrum, que está en la posición 1 del slot 0, por lo que con los jumpers en la posición abajo abajo arriba, seleccionaremos la opción de selección de ROMs y pulsaremos el 1, y como en este caso no nos hace falta cambiar los jumpers al pulsar una tecla aparecerá la ROM del gomas.

El caso del Planetoids es el mismo, pero en este caso deberemos seleccionar la ROM2 desde el menú de cambio de ROMs y luego de cambiar los jumpers a la posición arriba arriba arriba, pulsar una tecla.


AGREGANDO NUESTRAS PROPIAS ROMS

Las ROMs que vienen grabadas en el chip son solo un ejemplo.
Nosotros podemos sustituirlas por las que queramos, pero deberemos tener en cuenta las siguientes indicaciones.

Las ROMs deben tener exactamente 16Kb, 32Kb ó 64Kb. Si disponemos de una ROM de un juego que ocupa menos deberemos completarla hasta los 16Kb con un editor hexadecimal.

La primera posición debe siempre ocuparla la ROM BIOS.

Desde dicho BIOS tenemos un menú que nos permitirá arrancar las ROMs por soft solo sí tenemos instalado el add-on.

En el caso de que vayamos a utilizar el add-on, en la ROM 0, tenemos ciertos parámetros que deberemos modificar para cada una de las ROMs y que nos indicaran como se comportará dicho programa. Estos datos ocupan un byte por ROM y se localizan en $020E..$022D correspondiendo con las ROMs 0 a 31 (también se cuenta el propio BIOS).

Imagen

En la tabla anterior podemos ver que los bits 0 a 4 de cada uno de los bytes nos indica el número orden de la ROM (0..31), mientras los bits 5, 6 y 7 nos van a permitir definir el comportamiento de la ROM.

Los bits 5 y 6 nos permiten desactivar el paginado de la ROM total o parcialmente y están relacionados con el tamaño de la ROM en cuestión.

Por ejemplo para el caso de la ROM de un gomas que ocupa un solo bloque de 16Kb deberíamos desactivar completamente el paginado, ya que no nos interesa que se ejecute nada fuera de ese bloque de 16Kb, por lo que ambos bits deberían estar a 1.

En el caso de una ROM de 32Kb deberemos dejar activa la paginación que se realiza a través del puerto $7FFD que gestiona el cambio entre el bloque 0 y el 1, pero deberemos desactivar el cambio a las ROMs 2 y 3 que se gestionan con el puerto $1FFD. Por tanto el bit 5 lo pondremos a 0 y el 6 a 1.

Por último para el caso de las ROMs del +3 nos interesará dejar activo el paginado al completo, por lo que dejaremos ambos bits a 0.

El bit 7 nos permitirá desactivar el divIDE para los casos en que queramos arrancar una ROM incompatible con divIDE sin necesidad de conectarlo.

Pogamos como ejemplo contenido de dicho byte para las ROMs del ROMSET de ejemplo:

Imagen

Los textos que nos aparecerán en el menú se localizan en $000F..$020E y están formados por un byte $0F y el texto de 15 caracteres de longitud para cada una de las opciones.
Hay que tener cuidado no machacar ni el byte $0F ni el texto de la siguiente opción.

La siguiente tabla nos muestra la posición de comienzo de cada texto del menú.

Imagen

Una vez tengamos todos los archivos a incluir debemos juntarlos todos en el orden deseado, sumandolos con lo orden "COPY /B" o con un editor hexadecimal asegurandonos que el archivo final tiene exactamente 512Kb (524.288 bytes)

Os pongo como ejemplo el archivo bat que he utilizado yo para generar el archivo .bin a grabar.

Código: Seleccionar todo

del rom*.bin
copy /b BIOS.ROM+48.rom+inves.rom+tk90x.rom rom.bin
copy /b rom.bin+"plus3-spanish.rom" rom.bin
copy /b "rom.bin"+"plus2-spanish.rom"+"128-spanish.rom" "ROM.bin"
copy /b rom.bin+ "sm8es3eE.rom" rom.bin
Copy /b rom.bin+Ace_ROM.bin+tk95.ROM+gw03.rom+OPENSE.ROM rom.bin
Copy /b rom.bin+ZXTESTROM.BIN+backgammon.rom+testrom128.bin rom.bin
copy /b rom.bin+spaceraiders.rom+chess.rom+planetoids.rom+Popeye.rom rom.bin
copy /b rom.bin+qbert.rom+roj.rom+LocoMotion.rom+Gyruss.rom rom.bin

dir rom.bin


Si no os queréis complicar, una manera muy sencilla es utilizar como base el archivo que os he incluido yo como ejemplo y modificarlo con un editor hexadecimal.

Si utilizamos un editor hexadecimal, deberemos tener en cuenta que las ROMs deberán ir en las siguientes posiciones:

Imagen


GESTION DE LOS PUERTOS DEL INTERFACE

Para la selección de las páginas de ROM y RAM en los Spectrum de 128Kb se utilizan los puertos $7FFD (32765) y $1FFD (8189).

El cambio de página de ROM o RAM se realiza pasando el valor adecuado al puerto correspondiente mediante un OUT, teniendo en cuenta que cada bit de dicho valor tiene el siguiente significado:

Puerto $7FFD

Imagen

- Los Bits 0..2 componen un número de 3 bits que nos permite seleccionar una página de entre las 8 posibles de la RAM del 128Kb.
- El bit 3 está relacionado con la shadow RAM y permite seleccionar la pantalla que se va a visualizar. Tener el bit 3 a 0 le dirá a la ULA que se muestre la pantalla convencional, mientras que si está a 1 significará que se muestre la Shadow RAM. Esta característica no está soportada en el interface.

- El bit 4 permitirá seleccionar entre las dos ROMs posibles en el Spectrum 128K y el +2 gris. Estando a 1 se selecciona la ROM del 48Kb y a 0 la del 128Kb.
En el caso de los +2A/+3 se tendrá en cuenta también otro bit que veremos luego formando entre los dos un número de 2 bits que nos permitirá seleccionar una de las 4 ROMs disponibles.

- El bit 5 nos permitirá deshabilitar el paginado.

- Los bits 6 y 7 no se usan.

Puerto $1FFD:

Imagen

- El bit D0 nos permitirá seleccionar entre el modo de gestión de memoria del +3 o de CPM
- Si tenemos seleccionado el modo CPM Los bits D1 y D2 nos permitirán modificar la distribución de la RAM según lo siguiente (Esta característica no está soportada en el interface):

Imagen

- Si el bit 0 es igual a 0 el bit D2 será la parte alta de selección de la ROM, junto con el D4 del puerto $7FFD. Podemos ver este bit (D2 $1FFD) como selección del chip A ó B dentro del +3 y el D4 de $7FFD como el selector de la parte baja o alta del chip.

- D3 sirve para activar o desactivar el motor del disco.

- D4 es la señal de strobe del puerto paralelo.

- D5 a D7 no se usan.

Paginación en el Pentagon

En el Pentagon se añaden dos bits más para la selección de la página de RAM correspondientes a D6 y D7 del puerto $7FFD, quedando dicho puerto de la siguiente manera.

Imagen

En nuestro interface se soporta este modo de paginación disponiendo de 5 bits (32 páginas) para la selección de página.

Distribución de las páginas en el espacio de direcciones.

El espacio de direcciones ocupado por la página seleccionada es generalmente $C000-$FFFF, pero existen algunas páginas que tienen un tratamiento especial.

La distrubución exacta se resume a continuación.

Imagen

- El banco número 2 siempre estará visible en el rango $8000-$C000, pero también será accesible en $C000-$F000 si tenemos seleccionada la página 2.

- El banco número 5 corresponde con la memoria de pantalla $4000-$8000 en un +2/+3. En nuestro interface no está soportado y es un banco más. Esto podría ser implementado en el futuro según las indicaciones de mcleod_ideafix.

- El banco número 7 corresponde con la ShadowRAM y su contenido se visualizará si D3 está a uno en el puerto $7FFD. En nuestro interface no está implementado y el banco 7 es una página más. Además es imposible de implementar sin cortar bastantes pistas y modificar interiormente el Spectrum. Afortunadamente no hay muchos programas que aprovechen esta característica, por otro lado muy interesante.

Distribución de las ROMs en el +3

En el +2/+3 las 4 ROMs vienen repartidas en dos chips (A y B) almacenando dos ROMs cada uno de ellos.

Imagen

En nuestro interface almacenamos las cuatro ROMs en un solo slot distribuyendose su espacio de la siguiente manera:

Imagen

Hay que tener en cuenta que el direccionamiento de la tabla es desde el punto de vista del chip, pero la ROM seleccionada siempre se accederá mediante el rango de direcciones estándar $0000-$3FFF.

Por último un listado de qué función tiene cada ROM:

Imagen

Funcionamiento del puerto nuevo puerto del add-on $43B

Para poder realizar su función, el add-on hace uso de un nuevo puerto que ha sido solicitado al ZXI specification group.

El puerto concedido para dichas tareas es el puerto $043B.
Dicho puerto es un puerto de solo escritura y tiene como funcionlidad principal poder seleccionar activa la ROM dentro del chip de 512Kb, además de poder desactivar el divIDE y el paginado estándard a través de los puertos $1FFD y $7FFD.

En la tabla siguiente se resume la funcionalidad.

Imagen

Los bits 0..1 correspondería con la página de ROM y los bits 2..4 con el número del slot.

El cambio de página ROM a través de este puerto funcionará aún en el caso de que se haya desactivado el paginado a través de los puertos $1FFD y $7FFD.

El bit 5 nos permitirá desactivar el paginado a través del puerto $7FFD.

El bit 6 nos permitirá desactivar el paginado a través del puerto $1FFD.

El bit 7 nos permitirá desactivar el divIDE. Realmente este puerto lo que hace es filtrar las señales /MREQ y A15 no dejándolas pasar hacia el bus de expansión (poniendolas a +5V), teniendo como efecto que el divIDE nunca detecta que estamos ejecutando direcciones de la ROM, por lo que nunca se activará aunque lo tengamos conectado.

EL BUS DEL SPECCY SUPERUPGRADE

El bus del superupgrade no coincide uno a uno en su parte trasera y delantera. Esto es así debido a que hay algunas señales que son tranbsformadas para entregarlas a los demás periféricos de una manera más conveniente para el funcionamiento del interface.

Abajo dejo unas tablas descriptivas del bus del spectrum y del superupgrade, en las que podemos ver estas diferencias.

Las imágenes del bus del spectrum han sido tomadas prestadas del trastero del spectrum. :)

Imagen

Imagen

Imagen

GRABACIÓN DE LA MEMORIA FLASH DESDE EL SPECTRUM

Actualmente estamos en pleno desarrollo de una herramienta de grabación de la memoria flash desde el propio spectrum.

El siguiente programa lo ha desarrollado antoniovillena y consiste en un software de línea de comandos que, a partir de un archivo de ROM de hasta 64Kb nos generará un archivo tap listo para ejecutar en nuestro spectrum.
https://drive.google.com/file/d/0B69T2l ... sp=sharing

Dicho archivo tap puede ser convertido a wav y cargado por audio, o bien también puede ser cargado directamente desde el divIDE.
Si se decide utilizar la carga por audio, una buena idea podría ser actualizar la ROM del spectrum (que en el ejemplo está instalada en el bloque 0, rom 1) con la ROM cargandoleches como primer paso, y a partir de ese momento utilizarla siempre para cargar los taps de las roms que vamos a quemar en nuestra flash.

En la carpeta deberemos tener el archivo "SuperUpgrade.exe" y el archivo "SuperUpgrade.bin".

La sintaxis del programa es como sigue:

Código: Seleccionar todo

SuperUpgrade <outputfile> <roms> <inputfile1> <inputfile2> .. <inputfilen>

<outputfile>  Output TAP file
<roms>        4 digit number, X to preserve. 0123 full 64K, XXX3 only ROM3
<inputfileX>  Input binary file/s


Es decir, para generar un tap con las ROMs del +3 hariamos lo siguiente:

Código: Seleccionar todo

SuperUpgrade hola.tap 0123 plus3en41.rom


Una vez generado el tap, puedo pasarlo a la CF de mi divIDE o bien cargarlo por audio, y una vez cargado en el spectrum, nos aparecerá una pantalla como la siguiente:

Imagen

En el caso de que tengamos el "Add-on", simplemente deberemos pulsar una tecla entre 0 y 7 coincidiendo con el slot donde queramos grabar la/s ROM/s.

Si por el contrario no disponemos del "Add-on", deberemos cambiar los jumpers a la posición deseada y entonces pulsar una tecla.

Actualmente, nuestro compañero pachuquín, está desarrollando un frontend que en principio estaba pensada para facilitarnos la generación de ROMSETs para grabar desde una grbadora de EPROMs, pero que pronto incorporará también la utilidad de antoniovillena y nos permitirá generar los taps desde un entorno gráfico más amigable.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
wilco2009
Mensajes: 1618
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 38 veces
Agradecimiento recibido: 88 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor wilco2009 » 14 Oct 2014 12:06

Añadida utilidad de grabación de la memoria flash desde el propio spectrum, gentileza de antoniovillena
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
wilco2009
Mensajes: 1618
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 38 veces
Agradecimiento recibido: 88 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor wilco2009 » 19 Oct 2014 13:14

Como alguno de vostro sabreis, si seguis el tema en va-de-retro, la utilidad de flasheo de la rom de antonio se resiste a funcionar con el divide enchufado, lo que es una putada porque los bloques de 64kb tardan como 6 minutos por audio.
Como estoy convencido de que es un tema hardware, pues estoy peleandome con el tema.
Despues de darle bastantes vueltas y confirmar que aparentemente las lineas de direccion de la rom estan bien, que no es un problema de consumo y que el programa se que bloqueado haciendo exactamente lo mismo que si no tiene divide, en la rutina de borrado, he tomado la decision de pedir un analizador logico en ebay para ver si puedo comprobar la secuencia de señales. Con un polimetro es imposible.

Dejo este tema en stand by hasta que lo reciba.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 18:49

Estoy en fase preparatoria para reflashear mi superupgrade con las ROMS que no están parcheadas para que funcione con la controladora.

¿ Tienes tu Wilco algún TAP ya creado ?

He estado viendo el proceso del hilo y más o menos lo tengo claro, la carga evidentemente la voy a hacer por audio, sin duda, lo que tarde.

Edito:

Tengo algunas dudas más, ¿ me convendría flashear todo ? o solo algunas ROM de forma independiente ... es decir, flashear la de +3 y +3e solamente y las demás dejarlas intactas.

Avatar de Usuario
wilco2009
Mensajes: 1618
Registrado: 07 Ene 2013 16:48
Ubicación: Valencia
Agradecido : 38 veces
Agradecimiento recibido: 88 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor wilco2009 » 03 May 2015 18:50

Ok, yo te lo prepararé cuando tenga un rato.
"Nada viaja a mayor velocidad que luz con la posible excepción de las malas noticias las cuales obedecen a sus propias leyes."

Douglas Adams. Guía de autoestopista galáctico.

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 19:33

Me acaba de pasar Wilco una info interesante:

Como ya comprobamos en Parla, mi SuperUpgrade tiene las ROM +3 y +3e parcheadas para que funcionen sin la controladora. Como lo que quiero es poner la controladora en marcha, toca flashear.

Por un lado las +3e de Garry Lancaster y por otro lado las ROM originales de Amstrad. Como ya están grabadas en la flash las voy a regrabar encima de los mismos slots.

Sobre las ROM de +3 o +3e que vayamos a usar para flashear el SuperUpgrade hay que aplicar un parche que ha hecho Antonio Villena que además una vez aplicado hace que la ROM pese exactamente lo mismo.

Son 4 ROM de 16K lo que hacen un total de 64KB.

En mi caso he optado por la ROM +3e para un slot y en la ROM 4.1 para el otro.

plus3-41-0.rom Amstrad +2A/+3 v4.1 ROM 0 (128k editor)
plus3-41-1.rom Amstrad +2A/+3 v4.1 ROM 1 (128k syntax checker)
plus3-41-2.rom Amstrad +2A/+3 v4.1 ROM 2 (+3DOS)
plus3-41-3.rom Amstrad +2A/+3 v4.1 ROM 3 (48k BASIC)

Desde M$ con un copy /b y desde *nix con un cat file1 file2...> nuevo
( Esto ha de hacerse con cada conjunto de ROMS, por un lado generar una ROM de 64K con las ROM Amstrad +3 y por otro con las ROM +3e )

Una vez generado el fichero hay que parchearlo, el parche es meter la siguiente cadena en la posición 0x10F El parche sirve para todas las ROM del +3 incluidas las +3e.

texto_a_buscarhex.png


La cadena a subsituir es: 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

[tabs][tabs: ]
Por esta cadena ( parche )
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[/tabs]

De forma que el fichero resultante tenga : 65536 bytes.

Así que voy siguiendo con ello y cuando tenga novedades ya os las comento, dejo que las explicaciones técnicas del motivo del parcheo os las cuente el propio Wilco.

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 21:18

Tambien me he bajado la ROM Cargando Leches y procedo a generar un tap, ¿ pero con que opciones ?

SuperUpgrade.exe leches.tap 01?? cl-48.rom

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 22:19

Te bajas CgLeches.exe, leches.exe y leches.rom de aquí:

http://www.atc.us.es/svn/zxuno/firmware/roms/
Usuario: guest
Contraseña: zxuno

Los dos ejecutables son para generar el WAV a partir del TAP, funcionan por línea de comandos y su funcionamiento es autoexplicativo. El fichero leches.rom es el que tienes que grabar en la EEPROM. Para ajustar el volumen óptimo antes de probar las ultracargas puedes usar esta herramienta:

http://www.worldofspectrum.org/infoseek ... id=0027402

Por último, si no te importa. ¿Podrías probar el pokeador/transfer que adjunto? El pokeador está probado en máquina real pero el transfer aún no. Lo único que tendrías que hacer es grabar la ROM en EEPROM y en mitad de un juego pulsar el botón NMI, te aparecerá un recuadro azul en la esquina superior izquierda. Pulsas la tecla "s" y luego Enter, y antes del Enter le das a grabar para capturar el audio.
Adjuntos
48.zip
(12.75 KiB) Descargado 77 veces

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 22:22

Buenas, la verdad es que he probado a flashear el SLOT 1 ROM 0 con la parcheada del +3 y discreto resultado por no decir que no he conseguido nada.
El programa te indica que pongas los jumpers en la posición que vas a grabar.

Le indico 0 0 0 , que es donde ya tiene la versión parcheada. Activo el botón de SAVE en el interfaz, sale un borde verde y ahí se queda hasta la posteridad y al reiniciar, pues que la ROM ya no carga. Se queda el borde verde, con lo que tendré que repetir el proceso y asegurarme primero que se grabar bien.

100_2528.JPG


100_2530.JPG


En cuanto tenga este step claro procedo a hacer lo que me dices en el post Antonio, cuenta con ello.

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 22:24

Para grabar una ROM de 16K en el SuperUpgrade te vale cualquier slot. Es decir, cualquiera de estas 4 opciones es válida:

Código: Seleccionar todo

SuperUpgrade.exe Archivo.tap 0xxx Archivo.rom
SuperUpgrade.exe Archivo.tap x1xx Archivo.rom
SuperUpgrade.exe Archivo.tap xx2x Archivo.rom
SuperUpgrade.exe Archivo.tap xxx3 Archivo.rom

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 22:27

Gracias Antonio, ya lo tenía más o menos claro. Para grabar la +3 use 0123, para la de leches, que ya la tenía preparada use X1XX.

Como sabe el interfaz, o mejor dicho, como se le dice en que SLOT vas a grabar una ROM, cierto es que la carga tarda un huevo, se toma su tiempo y luego el programa se ejecuta y cuando activas para grabar y le das al enter , borde verde y ahí se queda... ¿ es normal ? ¿ debe tardar tanto ?

Voy a ir repitiendo la carga que se toma sus seis minutos o más ....

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 22:28

Ok. El problema es que si quieres iniciar un slot que no es el 3 no te vale con poner los jumpers y darle al reset. Te tienes que ir al menú y seleccionarlo con el consiguiente cambio de jumpers. Es un poco rollo pero para eso inventó wilco2009 el MOD, para que el "cambio de jumpers" se haga por software.

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 22:34

El problema de ese modelo de EEPROM es que los sectores son de 64K, con lo que grabar puedes elegir cualquier tamaño de bloque pero la unidad mínima que puedes borrar son 64K. La utilidad SuperUpgrade lo que hace es mezclar en RAM lo que has cargado en cinta con lo que se encuentra en la EEPROM y graba siempre 64K. Por ejemplo si quieres quemar una ROM de 16K, se concatenan esos 16K con los 48K existentes y se graban de golpe. Pero desde un punto de vista lógico sólo se han grabado 16K, ya que los 48K restantes se quedan como estaban tras el grabado.

El tiempo de grabado es variable. Una ROM de 16K tardará normalmente la cuarta parte que una de 64K, aunque si le coges el truco puedes emplear CargandoLeches y acelerar el proceso. Yo te recomiendo primero que lo hagas en carga estándar hasta dominar el proceso.

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 22:36

ron escribió:Gracias Antonio, ya lo tenía más o menos claro. Para grabar la +3 use 0123, para la de leches, que ya la tenía preparada use X1XX.

Como sabe el interfaz, o mejor dicho, como se le dice en que SLOT vas a grabar una ROM, cierto es que la carga tarda un huevo, se toma su tiempo y luego el programa se ejecuta y cuando activas para grabar y le das al enter , borde verde y ahí se queda... ¿ es normal ? ¿ debe tardar tanto ?

Voy a ir repitiendo la carga que se toma sus seis minutos o más ....


Una ROM de 16K en carga estándar debería tardar minuto y medio. Si se tira 6 minutos o más es que estás grabando una ROM de 64K en lugar de una de 16K.

Avatar de Usuario
ron
Mensajes: 17108
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 489 veces
Agradecimiento recibido: 499 veces

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor ron » 03 May 2015 22:59

Claro, estoy grabando la ROM del +3 parcheada. 64K

La posición es SLOT 1 ROM 0 jumpers en 0 0 0

Desde que posición es recomendable arrancar, estoy arrancando desde otro slot, sin duda, desde S2 R0 jumpers 101, todo esto en modo directo, sin selector de por medio.

100_2533.JPG


Aquí es donde configuro los jumpers 0 0 0 y le doy al switch de flash y se enciende el LED rojo.
Y pulso ENTER

100_2534.JPG


La pantalla se pone con el borde en verde... ahí es donde no se cuanto tiempo tarda... me pierdo.

100_2537.JPG


AL volver todo a su posición inicial sale bien el menu.

Pero al seleccionar la ROM 0 0 0 se queda así, con lo que no se ha grabado bien, igual tarda más tiempo... ¿ cuando termina el borde cambia de color o dice algo ?

100_2540.JPG

Avatar de Usuario
antoniovillena
Mensajes: 123
Registrado: 18 Ago 2012 13:06

Re: MANUAL DEL SUPERUPGRADE (UTILIDAD GRABACIÓN DE LA FLASH)

Mensajepor antoniovillena » 03 May 2015 23:16

Si se pone el borde verde es que se ha grabado bien. El tiempo de grabado es muy corto, creo recordar que un par de segundos o así desde que pulsas la tecla. El problema que tienes es que no llegas a lanzar la ROM. Una ROM de 64K sí que arranca directamente desde su slot. También lo hacen ROMs de 32K grabadas en la posición xx23 y ROMs de 16K grabadas en xxx3. En cualquier otra combinación tienes que irte a herramientas para lanzar dicha ROM y seguir las instrucciones. No es algo rápido/cómodo, normalmente requiere 2 cambios de jumper. El primero a 000 para ejecutar el menú, y el segundo a la posición donde esté la ROM.


Volver a “Desarrollos y Proyectos RW”

¿Quién está conectado?

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