Core SMS TEST2 listo

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

Core SMS TEST2 listo

Mensaje por Quest » 10 Oct 2015, 01:54

Ya está listo y subido a repositorio lo que he llamado "Test2" del core de Sega Master System.

Mejoras en el core:
  • Añadida salida de vídeo compuesto / RGB SCART, con sincro PAL (50Hz). Además los juegos van ahora a la velocidad real de juegos PAL
  • Arreglado problema en el sonido que hacía que tuviera un pitch incorrecto. Ahora suena en el mismo tono que una SMS real.
  • Arreglado problema en el sonido que causaba artefactos muy agudos incluso en silencio. (mejorada frecuencia del DAC)
  • Mejorada aún más la velocidad de carga de las ROMs (ahora las de 512k cargan en poco más de 3 segundos), gracias a un Z80 más rápido.
  • Mejor centrado de la imagen con respecto a los bordes de la pantalla.
  • Eliminado el soporte de dithering sin utilidad, para aliviar recursos de la FPGA.
Mejoras en el bootloader:
  • Añadido soporte para tarjetas SDHC y MMC
  • Añadido soporte para 2 subtipos más de FAT
  • Añadido soporte de joypad mejorado, avance y retroceso rápido, control de repetición.
  • Acceso a ROMs más rápido
  • Eliminadas opciones sin utilidad para el ZX-UNO, en consecuencia funciona más rápido. Si la SD/MMC es detectada correctamente, aparece directamente el listado de directorios/ROMs.
  • Ligeros cambios en los textos para mejorar la interfaz.
Por comentar algún detalle, el soporte de salida RGB / vídeo compuesto ha costado lo suyo, y aun no se muy bien cómo ha funcionado bien al final (muchas horas de pruebas), usando 2 relojes diferentes para el píxel y para los sincros y VDP. Ahora saca sincro compuesta y se puede usar perfectamente en una TV si te construyes el cable ZX-UNO -> Euroconector (SCART) o si conectas por RCA. Lo he probado en mis TVs LCD de casa y va bien tanto con ese cable como con el de vídeo compuesto.

Lo he fijado con timings PAL, 50Hz, con lo cual ahora los juegos (que en su mayoría son PAL, y así los recuerdo cuando juego a mi SMS real) van a la velocidad correcta. Antes en la versión VGA, los juegos iban a 60Hz (bueno, y siguen yendo a 60 si sintetizáis la versión VGA, compatible con todos los monitores).

El tema del sonido me traía de cabeza porque se notaba (en el test1) que las notas estaban casi 2 octavas por encima de lo normal, luego vi que dejé en el test1 un reloj mal puesto (Que usaba temporalmente para acelerar cargas) en 20Mhz en vez de 8 que era el original del core. Pero aun corrigiéndolo, el sonido entonces estaba más de 1 octava por debajo del sonido de una SMS real (conecté mi SMS real para comparar), así que ajustando el reloj principal y el divisor que usa el PSG, consigo un pitch exacto al de la SMS real. El problema que vino después era que el DAC no parecía trabajar bien con la frecuencia actual (salía un pitido muyyy agudo, casi inaudible incluso sin rom puesta), así que ajustándolo se solucionaba también.

Notas:

Ahora en el proyecto ISE hay 2 ramas principales: sms_rgb (activa como Top Level por defecto ahora) que es la nueva con la salida RGB / vídeo compuesto PAL, y sms_vga. Si se quiere sintetizar la versión VGA, hay que cambiar esta rama a Top Level primero. Luego inyectar el bootloader con el BAT correspondiente a esa versión.

He incluido ya listos para usar en la carpeta del test2, 2 bitstreams: sms_rgb_final.bit y sms_vga_final.bit

Fotillo con el bootloader arrancado en mi TV LG LCD de 37" conectada por vídeo compuesto:
SMS_Test2_video_compuesto.jpg
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Core SMS TEST2 listo

Mensaje por jepalza » 10 Oct 2015, 06:48

Lo pruebo ipso-facto...

Probando.... lo primero que veo, es lo que ya comentas claramente, y es la velocidad la primera vez que enciendes, es instantáneo. Lo segundo el sonido, mejorado. El resto no son cosas que se noten, pero funcionar funciona, y lo hace bien.

La pega: la versión VGA no funciona!! algo ha ocurrido, pero mis monitores (tengo dos para pruebas, una TV y uno de PC) y ambos muestras "no hay señal". He querido mirar el core para ver si le has hecho algún cambio grande que afecte, pero lo has hecho en la 14.x y yo esa la he borrado para no tener dos versiones, y trabajo solo con la 12.4 para el ZXUNO (es mas, los cores que ya tenía de antes en la 14.7 los he pasado a la 12.4, con el trabajo que lleva, pero al menos, no necesito tener dos xilinx diferentes).

Se me ocurre, que no esté bien incrustado el bootloader, y no llega a arrancar, pero no tengo forma de compilar el original e inyectarle el bootloader, que no sea creando un proyecto nuevo desde "0" y da pereza.

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

Re: Core SMS TEST2 listo

Mensaje por Quest » 10 Oct 2015, 09:38

Peobablemente no funcione porque no la probé y algo me dejaria. Mi prototipo v2 tiene el puerto jtag petado y me resulta costoso ir grabando la flash a mano quitandola y poniendola, y solo probe el de rgb. Las pruebas rapidas las hago en un prototipo v3 que monté recientemente, pero como el pineado es diferente y usa otra Sram no vale para la v2. Esa la sintetizo aparte, con el ucf correcto.

Luego cuando tenga un rato lo pruebo. Sera una tonteria. Creo que los tiros pueden ir por el ucf, que cuando cambias de top level no se cambia de rama, puede ser un bug del ISE.

PD: truquito para abrir proyectos de ISE 14.7 en 12.4 (yo lo uso mucho): edita con el bloc de notas el archivo del proyecto .xise y cambia donde ponga 14.7 por 12.4. Se abrira sin problemas.
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: Core SMS TEST2 listo

Mensaje por Quest » 10 Oct 2015, 10:49

Ya está arreglado y subido lo de la versión VGA.

Efectivamente era que se perdía el binding con el .ucf y el .bmm al cambiar de top level module. He subido el .bit funcional y también el .xise modificado para que ambos archivos estén linkados a ambas ramas del proyecto.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Core SMS TEST2 listo

Mensaje por jepalza » 10 Oct 2015, 14:12

Quest escribió: PD: truquito para abrir proyectos de ISE 14.7 en 12.4 (yo lo uso mucho): edita con el bloc de notas el archivo del proyecto .xise y cambia donde ponga 14.7 por 12.4. Se abrira sin problemas.
:shock: conyó!! tengo que probarlo.
Luego pruebo todo, incluído el core sms, que ahora me obligan a salir a la calle a que me de el aire... :lol:

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Core SMS TEST2 listo

Mensaje por jepalza » 12 Oct 2015, 08:41

Perdona si no lo he probado hasta ahora, pero he estado liado con la VGA y el HDMI.
Ya he probado la versión VGA y va de perlas. He notado fallos en "sprites" en algunos juegos, como el "fantasy zone", que no hace trasparencias en las naves nodriza, y se el cuadrado completo del fondo, pero eso no es cosa tuya, es evidente.
Quest escribió: PD: truquito para abrir proyectos de ISE 14.7 en 12.4 (yo lo uso mucho): edita con el bloc de notas el archivo del proyecto .xise y cambia donde ponga 14.7 por 12.4. Se abrira sin problemas.

Ya he probado esto que dices, y me entra la risa al saber que es tan simple. ¿por qué xilinx no permite su carga automática? manda "webs"...

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

Re: Core SMS TEST2 listo

Mensaje por Haplo » 10 Mar 2016, 18:09

Estoy probando el core pero me sale la imagen en blanco y negro, como si estuviera en NTSC ¿hay que configurar algo?

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

Re: Core SMS TEST2 listo

Mensaje por Quest » 10 Mar 2016, 18:51

Haplo escribió:Estoy probando el core pero me sale la imagen en blanco y negro, como si estuviera en NTSC ¿hay que configurar algo?
En que prototipo lo estas probando?

Que .bit has grabado?

Tengo una version mas avanzada para las v4+ que aun no he subido, por faltarle algunos detalles, pero esta el bit en el Drive.
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: Core SMS TEST2 listo

Mensaje por Haplo » 10 Mar 2016, 19:04

Es la v4, el .bit no lo sé, estaba probando los cores que vienen cargados en la Bios (0.312)

Estoy algo pez en esto de quitar y poner cosas en la bios, miraré los hilos a ver si me aclaro un poco.

Imagino que necesito tener un mando o joystick conectado para jugar :) , ¿tiene que ser de master system o vale cualquier norma? ¿hay que configurar los jumpers del puerto joystick?

No quiero mezclar cosas pero mi idea era aprovechar y llevar el prototipo a la RunZX para que la gente pudiera ver y probar cuantas más cosas mejor, no estoy seguro de qué cores están "presentables". Es decir, si fuérais vosotros, ¿qué le pondríais para tenerlo en exposición?

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

Re: Core SMS TEST2 listo

Mensaje por Quest » 10 Mar 2016, 19:12

Haplo escribió:Es la v4, el .bit no lo sé, estaba probando los cores que vienen cargados en la Bios (0.312)

Estoy algo pez en esto de quitar y poner cosas en la bios, miraré los hilos a ver si me aclaro un poco.

Imagino que necesito tener un mando o joystick conectado para jugar :) , ¿tiene que ser de master system o vale cualquier norma? ¿hay que configurar los jumpers del puerto joystick?

No quiero mezclar cosas pero mi idea era aprovechar y llevar el prototipo a la RunZX para que la gente pudiera ver y probar cuantas más cosas mejor, no estoy seguro de qué cores están "presentables". Es decir, si fuérais vosotros, ¿qué le pondríais para tenerlo en exposición?
No se a qué te refieres con los cores que vienen cargados en la Bios. La Bios no trae ningún core, lo que trae cores inyectados es el .mcs , la cuestión es cual exactamente has grabado en tu zxuno? es esencial saber cual, si no... ;)

Respecto al joystick en este core: si tienes grabada la versión experimental del core (que si no recuerdo mal subimos al Drive en el mcs que hay para v4+), no te hará falta, porque ya le incluí soporte de teclado. Hice dos mapeados: O,P,Q,A para las direciones y Z,X para los 2 botones, y también cursores para las direcciones y alt,ctrl para los botones. ENTER también es el botón 1 (para facilitar la elección de rom por ejemplo).

En cualquier caso, un joystick norma atari te funcionará perfectamente, eso sí, si no tiene dos botones, no podrás jugar a la mayoría de los juegos. Un pad de SMS te irá perfecto, y uno de Megadrive también funcionará (aunque puede que no vaya fino sin los jumpers). En principio no hacen falta jumpers para estos joysticks. Para que los de megadrive (3 y 6 botones) funcionen correctamente (solo con 2 botones funcionales, B y C), hay que instalar los jumpers, tal como se indica en el PDF de conexionado.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder