Solucitud de cambios

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

Re: Solucitud de cambios

Mensaje por carmeloco » 03 Ago 2016, 13:14

Hola, ¿qué cambios hay en el firmware V 0.48? He visto que es el que hay actualmente en el repositorio.

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

Re: Solucitud de cambios

Mensaje por Quest » 03 Ago 2016, 13:19

carmeloco escribió:Hola, ¿qué cambios hay en el firmware V 0.48? He visto que es el que hay actualmente en el repositorio.
Te respondo yo (no obstante lo lo pone también en los comentarios del commit de SVN), se ha arreglado la implementación del checksum CRC a CRC16-CCITT (la anterior no era correcta). Me di cuenta cuando estaba intentando implementarlo en mi utilidad ZX1RomPack y no coincidían los CRC. En breve la sacaré actualizada.

Es una corrección menor. No obstante, si actualizais a v0.48 y mantenéis las ROMs que tenéis en flash, si tenéis activada en BIOS la comprobación CRC, os dará errores CRC al arrancar (aunque arrancará igualmente). Basta con deshabilitar la opción, o generar nuevas roms con la nueva versión de Genrom o con la próxima versión de ZX1RomPack.
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: Solucitud de cambios

Mensaje por carmeloco » 03 Ago 2016, 14:56

Quest escribió:
carmeloco escribió:Hola, ¿qué cambios hay en el firmware V 0.48? He visto que es el que hay actualmente en el repositorio.
Te respondo yo (no obstante lo lo pone también en los comentarios del commit de SVN), se ha arreglado la implementación del checksum CRC a CRC16-CCITT (la anterior no era correcta). Me di cuenta cuando estaba intentando implementarlo en mi utilidad ZX1RomPack y no coincidían los CRC. En breve la sacaré actualizada.

Es una corrección menor. No obstante, si actualizais a v0.48 y mantenéis las ROMs que tenéis en flash, si tenéis activada en BIOS la comprobación CRC, os dará errores CRC al arrancar (aunque arrancará igualmente). Basta con deshabilitar la opción, o generar nuevas roms con la nueva versión de Genrom o con la próxima versión de ZX1RomPack.
Muchas gracias Quest. No sabía lo de los mensajes de SVN. Ahora lo estoy viendo en la parte de logs, y la verdad es que es fantástico.

Edito: Esto de la CRC me plantea unas preguntas. Entiendo que la nueva versión de ZX1RomPack, ya soportará lo de los CRC, pero ¿Cómo se generan exactamente los CRC? Es decir, yo veo que hay una lista de roms, en la cual, aparecen una serie de CRC, entonces, genrom y ZX1RomPak, ¿tienen una lista igual o lo calculan en el momento de generar el .tap y el roms.zx1 respectivamente?

Lo digo porque he modificado la rom del +3e con soporte ZXMMC, desactivando la rutina de la disketera, ya que si no, tarda más en detectar las unidades y a veces se queda colgado al arrancar/reset, y lógicamente, el CRC de esa rom modificada, no está en la lista.

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

Re: Solucitud de cambios

Mensaje por antoniovillena » 03 Ago 2016, 18:34

Yo tengo los fuentes del +3e desensamblados. Si me dices el cambio lo añado a los fuentes y genero binario en el repositorio

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

Re: Solucitud de cambios

Mensaje por carmeloco » 03 Ago 2016, 19:28

antoniovillena escribió:Yo tengo los fuentes del +3e desensamblados. Si me dices el cambio lo añado a los fuentes y genero binario en el repositorio
La verdad es que son unos cambios, que me dijeron cuando estaba liado ampliando el Harlequin a 128K. Los cambios se hacen directamente en el binario, y son muy sencillos. Lo primero que hay que hacer es, abriendo el binario con un editor hexadecimal, vamos a 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
Y debemos substituir todo eso 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
También podemos llegar a la posición correcta, haciendo una búsqueda de la cadena original, y después, substituirla por la nueva. Una vez hecho esto, haremos una nueva búsqueda. Buscaremos la siguiente cadena de datos:

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 3F C1 C9
Y la substituimos por:

Código: Seleccionar todo

C5 01 FD 2F ED 78 C6 01 AF C1 C9
Ya de paso, adjunto el binario modificado.

No tengo fuentes de estas modificaciones, solamente las cadenas HEX a modificar.
Adjuntos
plus3en40zxmmc.zip
(42.06 KiB) Descargado 298 veces

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

Re: Solucitud de cambios

Mensaje por Quest » 03 Ago 2016, 19:40

carmeloco escribió: Edito: Esto de la CRC me plantea unas preguntas. Entiendo que la nueva versión de ZX1RomPack, ya soportará lo de los CRC, pero ¿Cómo se generan exactamente los CRC? Es decir, yo veo que hay una lista de roms, en la cual, aparecen una serie de CRC, entonces, genrom y ZX1RomPak, ¿tienen una lista igual o lo calculan en el momento de generar el .tap y el roms.zx1 respectivamente?
El CRC se calcula mediante un algoritmo, en concreto nosotros usamos el CRC16-CCIT. Tanto en Genrom como en la próxima versión de ZX1RomPack (que está casi lista para subir), se generan automáticamente en el momento en cuanto cargas el fichero rom (se pasa todo el binario por el algoritmo), y el fichero resultante ya tendrá generados y guardados los CRC correctos, así que no debes preocuparte.
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: Solucitud de cambios

Mensaje por antoniovillena » 04 Ago 2016, 15:38

He hecho los cambios que indicas pero no me coincide con tu ROM. La subo por si a alguien le interesa.
Adjuntos
plus3en40divmmc.zip
(42.18 KiB) Descargado 267 veces

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

Re: Solucitud de cambios

Mensaje por carmeloco » 04 Ago 2016, 20:27

Yo subí una rom con los cambios ya realizados, pero tengo una duda, ¿cual deberíamos usar con el :zxuno: la divmmc o la zxmmc?

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

Re: Solucitud de cambios

Mensaje por antoniovillena » 04 Ago 2016, 20:32

Valen las dos

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

Re: Solucitud de cambios

Mensaje por antoniovillena » 11 Ago 2016, 09:40

Como el CRC se utiliza para comprobar la carga en cinta, los nuevos TAPs que se generen con el nuevo GenRom no funcionarán en firmwares antiguos. Por esa razón he subido el archivo cores_v4\core_taps\FIRMWARE_048.TAP a la cuenta de Google Drive. Con este TAP podéis actualizar desde una versión más antigua, a la versión 0.48. Si más adelante sacamos otra versión de firmware, el upgrade (mediante cinta) desde versiones más antiguas habría que hacerlo en dos pasos: primero actualizamos a 0.48 con ese TAP, y luego desde 0.48 a la nueva con el FIRMWARE.TAP

Responder