Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Quest » 01 Ago 2016, 12:14

Para poder facilitar el testeo de roms en el ZX-UNO durante el desarrollo, me hice un programita para crear o modificar fácilmente archivos ROMS.ZX1, usando una GUI intuitiva. Pero he visto que podría ser muy útil para todos, y he decidido meterle unas cuantas mejoras y ponerlo para descarga (ya está disponible en el repositorio SVN, carpeta /software/ZX1RomPack: http://guest:zxuno@svn.zxuno.com/svn/zx ... X1RomPack/). Unicamente Para Windows. Por favor, notificad bugs que pueda haber en el hilo.

A modo de resumen, sobre el archivo ROMS.ZX1, es un archivo donde se almacenan en pack todas las roms de Spectrum que lleva la Flash del ZX-UNO, sus settings, orden y cual es la rom de arranque por defecto, y se graba en la flash mediante el comando ESXDOS .ROMSUPGR, habiendo grabado el archivo ROMS.ZX1 en la SD previamente y se pueden descargar backups de las roms de la flash con .ROMSBACK. Ambos disponibles en el SVN en /software/upgrade.
NOTA: Sólo es posible usar estas utilidades si has arrancado con una rom "Rooted" (Por ejemplo la Rooted ZX Spectrum 48K"). Una rom Rooted, tiene la particularidad de que da acceso a la memoria flash del ZX-UNO desde el Spectrum. Cualquier otra rom, no lo permite, y estas utilidades no funcionarán.

Como la mayoría sabéis, para poder añadir, modificar, quitar ROMs de Spectrum del ZX-UNO, sólo puede hacerse en BIOS mediante carga por cinta (EAR), o bien mediante el mencionado ROMS.ZX1 previamente "cocinado", a través de la SD, el cual sustituye todas las que tuvieras del tirón.

Ya sabéis a que lista de ROMs nos estamos refiriendo:
bootroms.png
bootroms.png (4.62 KiB) Visto 14694 veces
Para "cocinar" ese archivo, bien partiendo de cero (crearlo entero con las ROMs a tu gusto), o modificar uno existente, cambiando, añadiendo, editando roms, cambiando sus settings, su orden y elegir la rom de arranque por defecto, os presento la utilidad que os comentaba al principio: ZX-UNO RomPack Tool:
advanced.png
advanced.png (3.16 KiB) Visto 14694 veces
Es bastante sencilla de manejar. Abajo destaco las funcionas básicas. Si tenéis preguntas, hacedlas en el hilo y os echo una mano. La utilidad la he escrito en inglés, pero creo que nadie tendrá problemas en manejarla.

En resumen:

- Menú file: Crear un nuevo pack desde cero, abrir uno existente y guardar el que ya hayamos preparado

- Lista: Saldrá la lista de roms del archivo abierto o las que ya estéis insertando. Las columnas que no entendáis, no les hagáis caso.
** Leyenda de la lista: En negrita: Rom por defecto al arraque. Si tiene un asterisco (*) en los Parameters, es una rom Rooted. Color rojo: Una Rom añadida a la lista a la que aún no se le han rellenado los detalles (no se le ha añadido un fichero ROM, nombre, etc). Verde: Se ha editado la línea y se han guardado los cambios.
** Al pulsar un elemento de la lista: Se abrirá a la derecha el panel de información y edición de la rom seleccionada.

- Botones: Se explican por si solos, pero bueno:
** Añadir ROM (se añadirá al final de la lista, si hay slots suficientes, esperando a que el usuario rellene sus datos y le asigne un archivo rom). Una vez rellenados los datos de la rom a la derecha, se pulsa "Submit changes" para aceptar los cambios de esa linea y actualizar la lista.
** Delete ROM: Pues eso, borra una rom de la lista. No recomiendo usarlo demasiado, sobre todo en ROMs que no estén al final, porque de momento, esos huecos que ha dejado, esta utilidad no los rellena cuando añades después otra rom, salvo que las que hayas eliminado estén al final de la lista de slots.
** Default boot ROM: Claro clarinete. Hace que la rom seleccionada de la lista sea la rom por defecto al arrancar el ZX-UNO
** Flechas Move Up y Move Down: Bastante claro, mueve la rom seleccionada arriba o abajo en la lista para variar su posición.

- Panel "ROM details": Es donde vemos la información de la rom seleccionada de la lista, y además poder editarla. Se puede poner/cambiar nombre a la ROM, el archivo ROM (formato raw, extension .rom, disponibles muchas en /firmware/roms del SVN), y los settings, o "config". Hay dos pestañas.
**Pestaña Basic config: Para elegir el timing, keyboard issue, contención de memoria, y habilitar DivMMC y menú NMI.
**Pestaña Advanced config: Para elegir si deshabilitar en el core el puerto SD, rom alta y baja (1ffd bit 2 y 7ffd bit 4), el paginado de memoria (puertos 1ffd y 7ffd), los chips Ay y activar la MMU horizontal Timex.
Estas opciones son muy importantes, porque cada ROM va a necesitar unas diferentes, si no pueden incluso no funcionar. Si por ejemplo añades una ROM de un Spectrum 128K radiador, y no desabilitas el paginado de +2A/+3, la rom no va a arrancar. También es importante para que determinados modelos de Spectrum funcionen fieles al original. Por ejemplo para hacer funcionar correctamente algunos juegos de Ultimate como Atic Atac por ejemplo, es necesario que usemos la rom de un 48K desactivando high y low bit rom, 1ffd y 7ffd. Para dudas con este tema de compatibilidades, preguntad a Antonio o Mcleod.
zx1rompack.png
**(NUEVO en v0.30) Pestaña Extra: los modos Radastan, Timex y ULAPlus (sólo funcional si tienes BIOS de v0.55 en adelante)
ZX1Rompack030_extra.png
ZX1Rompack030_extra.png (1.74 KiB) Visto 14476 veces

- Carencias de la versión actual:

- No rellena huecos si se han borrado ROMs que estén en slots de enmedio (no el último/últimos).
- No calcula el Checksum/CRC de las ROMs añadidas o cambiadas. Para que no de error al arrancar en BIOS, desactivad la comprobación CRC en BIOS anteriores a la 0.46 <- añadido en v0.25

- TO-DO:
- Admitir importar también archivos de rom en formato .tap, ya que están "precocinadas" y ya vienen con las settings adecuadas y el nombre puestos.
- Añadir CRC <- añadido en v0.25
- Exportar archivos .rom individuales de un pack <- aádido en v0.30
- opción de extraer TAP


En el SVN, en /software/ZX1RomPack , además del ejecutable, también he dejado un ROMS.ZX1 de ejemplo por si queréis trastear con él.

Ejecución del EXE: Si al ajecutarlo os da error pidiendo alguna DLL, ejecultarlo la primera vez con permisos de administrador, y las siguientes veces ya debería ir bien.

Más adelante si tengo tiempo tengo pensado hacer alguna utilidad más, como por ejemplo una para crear archivos FLASH.ZX1 eligiendo fácilmente con un GUI los cores que van a ir en la flash, su orden y arranque, inyectar ROMS.ZX1, etc.

------------------- ACTUALIZACIONES -------------------------

01/08/2016: Subida primera version pública (v0.23)

03/08/2016: Subida nueva versión v0.25 que implementa el cálculo de CRC compatible con la nueva BIOS v0.48

25/09/2016: Subida nueva versión v0.30. Añade soporte para las nuevas funciones de desactivar los modos Radastan, Timex y ULAPlus (sólo funcional si tienes BIOS de v0.55 en adelante). Añade opción de extraer roms individiales de un pack. Corrige algunos bugs en el guardado. Añadido nuevo ROMS.ZX1 de ejemplo.
Adjuntos
ZX1Rompack.zip
(624.95 KiB) Descargado 2442 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Haplo » 01 Ago 2016, 15:03

Fantástico!
Todo lo que sea hacer más amigable las partes "hardcore" del proyecto siempre será bienvenido y agradecido :okidoki;
Gracias!

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por antoniovillena » 01 Ago 2016, 15:48

Me da error, componente COMDLG32.OCX no registrado. Me lo bajo de internet, lo copio en C:\Windows\System32 y lo intento registrar con regsvr32 y no me deja.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Quest » 01 Ago 2016, 15:58

antoniovillena escribió:Me da error, componente COMDLG32.OCX no registrado. Me lo bajo de internet, lo copio en C:\Windows\System32 y lo intento registrar con regsvr32 y no me deja.
Ejecutalo con privilegios de administrador. Eso instalará los archivos necesarios en el sistema, y luego ya lo puedes abrir normal.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por antoniovillena » 01 Ago 2016, 17:41

Quest escribió:
antoniovillena escribió:Me da error, componente COMDLG32.OCX no registrado. Me lo bajo de internet, lo copio en C:\Windows\System32 y lo intento registrar con regsvr32 y no me deja.
Ejecutalo con privilegios de administrador. Eso instalará los archivos necesarios en el sistema, y luego ya lo puedes abrir normal.
Perfecto. Ya funciona. Por cierto ya he arreglado el bug CRC de la BIOS y he actualizado a v0.47. Los que tengáis la v0.46 no es necesario que actualicéis, puesto que es un bug menor.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Quest » 03 Ago 2016, 20:06

Nueva versión v0.25:

- Implementado el cálculo de CRC (CRC16-CCITT).
Sólo compatible con BIOS v0.48 o superior. Si generas un ROMS.ZX1 y lo cargas en el ZX-UNO en una BIOS anterior, podrás usarlo igualmente si deshabilitas la comprobación CRC en BIOS (viene por defecto deshabilidada de todos modos, para ganar velocidad de arranque).

- Subido nuevo ROMS.ZX1 de ejemplo con alguna ROM más y con los CRCs correctos ya calculados.

Ya disponible para descagar en el repositorio.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Quest » 25 Sep 2016, 16:51

Nueva versión v0.30

- Añade las nuevas funciones de desactivar los modos Radastan, Timex y ULAPlus (sólo funcional si tienes BIOS de v0.55 en adelante).
- Añade opción de extraer roms individuales de un pack.
- Corrige algunos bugs en el guardado. En versiones anteriores cuando dabas a "guardar como" aunque dieras a "cancelar", guardaba el archivo igualmente sin preguntar. Ahora ya no lo hace.
- Añadido nuevo ROMS.ZX1 de ejemplo con más roms configuradas. Ahora hay varias roms de ejemplo en las que he puesto al final "(Real)", las cuales están configuradas para tener desactivado todo lo que no estuviese nativamente en la máquina (DivMMC, Radastan, Timex, UlaPlus, etc...), o por ejemplo una de +2A Español sólo con la UlaPlus desactivada, para usar con juegos como Mad Mix Game que daban problemas con ese modo, etc. Corregida la del Inves, que antiguamente estaba puesta con timings de 48 y con contención, cuando realmente esta máquina usaba timings de 128 y no tiene contención de memoria.

Ya disponible, como siempre, en http://www.atc.us.es/svn/zxuno/software/ZX1RomPack/
(user: guest , pass: zxuno)

Para aprovechar las nuevas funciones de las roms, conviene actualizar la BIOS a v0.55: http://www.atc.us.es/svn/zxuno/stable/binaries/BIOS/
ZX1Rompack030.png
ZX1Rompack030_extra.png
ZX1Rompack030_extra.png (1.74 KiB) Visto 14476 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por carmeloco » 25 Sep 2016, 18:23

No puedo sincronizar el SVN porque dice que el archivo contiene un virus.

Código: Seleccionar todo

Failed to run the WC DB work queue associated with
 'C:\Users\Jose\Desktop\ZX-Uno repositorio\software\ZX1RomPack', work item 830
  (file-install software/ZX1RomPack/ZX1Rompack.exe 1 0 1 1)
  Can't open file 'C:\Users\Jose\Desktop\ZX-Uno
   repositorio\.svn\pristine\20\204f7644ad913fb5b7df025a60b6571758a2a24b.svn-base':
    La operación no se completó correctamente porque el archivo contenía un virus.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por Quest » 25 Sep 2016, 18:39

carmeloco escribió:No puedo sincronizar el SVN porque dice que el archivo contiene un virus.
He añadido un nuevo exe (ZX1Rompack_Lite.exe), prueba con ese.

Ninguno tiene virus, pero con el exe original puede que algún antivirus te de un falso positivo dado que incluye las librerías necesarias y las instala en la carpeta de sistema de windows cuando lo ejecutas en modo administrador. Cuando algunas aplicaciones hacen eso, algunos antivirus saltan. el "Lite" no lleva las librerías, y funcionará correctamente si ya ejecutaste una versión anterior que las instalase.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: Nueva utilidad para creación y edición de ROMS.ZX1 (ZX1RomPack)

Mensaje por carmeloco » 25 Sep 2016, 18:46

Quest escribió:
carmeloco escribió:No puedo sincronizar el SVN porque dice que el archivo contiene un virus.
He añadido un nuevo exe (ZX1Rompack_Lite.exe), prueba con ese.

Ninguno tiene virus, pero con el exe original puede que algún antivirus te de un falso positivo dado que incluye las librerías necesarias y las instala en la carpeta de sistema de windows cuando lo ejecutas en modo administrador. Cuando algunas aplicaciones hacen eso, algunos antivirus saltan. el "Lite" no lleva las librerías, y funcionará correctamente si ya ejecutaste una versión anterior que las instalase.
El problema es que el error me lo da svn, no el antivirus.

Responder