Ghosts'n Goblins

Cores de placas Arcade / Arcade board cores
Avatar de Usuario
jotego
Mensajes: 138
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Ghosts'n Goblins

Mensajepor jotego » 14 Abr 2018, 17:10

Saque por navidades un core de Ghosts'n Goblins para MiST. Esperaba poder acabarlo algún día pero tal y como pinta el trabajo en la oficina me parece que en lo que queda de año no voy a tener ganas de sentarme a escribir verilog en casa. Así que he publicado el código fuente en GitHub.

Es posible portar todo menos el sonido a ZX-UNO. Es una réplica exacta, siguiendo los esquemáticos y tratando de ser fiel al límite de la tecnología. Si alguien quiere pasarlo a ZX-UNO, ¡adelante!

Quizá sea posible añadir sonido usando dos ZX-UNO con comunicación serie. En un único ZX-UNO cabe la parte gráfica y de la CPU principal sobradamente, pero el chip de sonido no. De todas formas, el chip de sonido (YM2203) no lo tengo terminado y ahora sólo se oye un churro en MiST.

Alexey Melnikov está haciendo un port para MiSTer.

Avatar de Usuario
Radastan
Mensajes: 347
Registrado: 05 Oct 2015, 14:39

Re: Ghosts'n Goblins

Mensajepor Radastan » 02 May 2018, 11:40

Buah, aún sin sonido sería la repera tener el Ghost 'n' Goblins en ZX Uno.

Vanfanel
Mensajes: 251
Registrado: 16 Oct 2016, 15:50

Re: Ghosts'n Goblins

Mensajepor Vanfanel » 03 May 2018, 15:42

Yo compraría la extensión que hiciera falta para tener el Ghosts'n Goblins con sonido en el ZX-UNO.... Y con sumo gusto.

Avatar de Usuario
desUBIKado
Mensajes: 595
Registrado: 05 Ago 2016, 22:33

Re: Ghosts'n Goblins

Mensajepor desUBIKado » 03 May 2018, 15:55

Vanfanel escribió:Yo compraría la extensión que hiciera falta para tener el Ghosts'n Goblins con sonido en el ZX-UNO.... Y con sumo gusto.

Por lo que dice jotego, una forma sería con dos ZX-Uno conectados por el bus de expansión, cosa que ya se ha hecho anteriormente en algún experimento, pero ahora no encuentro la foto o o el enlace.

Vanfanel
Mensajes: 251
Registrado: 16 Oct 2016, 15:50

Re: Ghosts'n Goblins

Mensajepor Vanfanel » 03 May 2018, 17:36

Pues a mi me vale. Tengo varios ZX-UNO a mano :D

Avatar de Usuario
jotego
Mensajes: 138
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: Ghosts'n Goblins

Mensajepor jotego » 04 May 2018, 12:07

Me alegra mucho ver interés en esto. Es mi arcade favorito y tenerlo en FPGA fidedigno es exactamente como tener la placa original. Me habéis hecho pensar en lo del sonido.

Las versiones de los chips de Yamaha que he hecho siguen la estrategia del original: segmentación (pipeline) a ~1MHz. Esto ahorra área de silicio (espacio en la FPGA) comparado con no tener segmentación y hacer cada canal por separado pero requiere muchos, muchos flip flops. Pero muchos. Y eso hace que los core de Yamaha JTxx sean grandes. Otra forma de hacerlos es respetar el cálculo de la síntesis de sonido pero montarlo para que use RAM en vez de flip flops y subir en MHz. Tendría que pensarlo bien pero quizá subiendo a 40MHz sería posible reducir el área de FPGA bastante.

¿Cabría en el ZX-UNO? Bueno, tiene que caber eso, más el Z80, más la parte de vídeo con la CPU principal. Así que no sé... Si alguien se anima a meter la parte de vídeo y nos dice lo que sobra nos iremos haciendo una idea. El ZX-UNO tiene la ventaja sobre MiST de esa maravillosa SRAM externa que no necesita controladores sofisticados. Lo más difícil del jt_gng es ese controlador de memoria. Si eso desaparece se aprovecha espacio, se evita cualquier posibilidad de parpádeo en los gráficos y la vida es más bonita :-D

A ver si Quest o alguien se anima.

PD: ¿Que por qué Yamaha no trató de ahorrar más área de silicio originalmente subiendo los MHz? Porque no podían. En la época hacer un chip por encima de 4MHz ya era bastante proeza como para subir a 40MHz. Además de otras sutilezas de hacer esto con las herramientas CAD de la época.

Avatar de Usuario
spark2k06
Mensajes: 1051
Registrado: 12 Feb 2016, 13:58

Re: Ghosts'n Goblins

Mensajepor spark2k06 » 04 May 2018, 13:46

Magnífico juego que sería toda una delicia poder disfrutarlo en un ZX-Uno. Aprovecho la ocasión para enviaros un vídeo del amigo Nestor, friki del arcade por antonomasia pasándoselo entero (las dos pasadas que hay que realizar para ello) con un solo crédito:

phpBB [media]

Avatar de Usuario
jotego
Mensajes: 138
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Ghosts'n Goblins

Mensajepor jotego » 07 May 2018, 08:02

He estado pensando este fin de semana sobre cómo meter un sintetizador FM en la FPGA del ZX-UNO ocupando muy poco sitio. Es un tema muy técnico pero muy interesante también para entender por qué en los 80 y 90 era habitual que hubiera un chip de sonido aparte y todos compráramos tarjetas de sonido para el ordenador. Creo que escribiré un artículo en retrónica explicándolo. Pero mientras os dejo unos números:

El JT51 (YM2151) ocupa alrededor de 1200 slices de una Spartan 6. La Spartan 6 del ZX-UNO tiene 1430 slices así que viene tan justo que a mí el sintentizador me falla al intentar meterlo. El G&G usa dos YM2203, que combinados es algo similar a un YM2151 (menos canales FM pero tiene canales PSG). Así que en principio no cabe haciéndolo de forma puramente hardware con segmentación a 1MHz.

Pero hay un procesador minúsculo hecho por Xilinx: el PicoBlaze. Esta es una CPU minimalista de 8 bits que ocupa sólo 26 slices en una Spartan 6. Esto quiere decir que podemos meter muchos PicoBlazes en una FPGA, pero muchos. Además puedes llegar a correrlos a 125MHz según la documentación. ¿Da una CPU de 8 bits a 125MHz para hacer síntesis FM? Pues no, para hacer 3 canales no. Para hacer 1 tampoco lo tengo muy claro... Pero estoy viendo si es posible dividir el problema entre varias CPUs. Si con 2 CPUs pudiera hacer un canal, un YM2203 necesitaría unas 6 CPUs (o sea unas 156 slices más 3 bloques de RAM -hay 32 en total-). Y dos YM2203 -o sea el G&G- el doble (312 slices y al menos 6 bloques de RAM). ¿Cabría esto en el ZX-UNO y además el Z80 y además el 6809 y además el vídeo del G&G y además el mínimo de interfaz SD? Pues no lo sé aun. Pero al menos bajamos ya un factor 4 en cuanto a espacio del sintentizador.

Vanfanel
Mensajes: 251
Registrado: 16 Oct 2016, 15:50

Re: Ghosts'n Goblins

Mensajepor Vanfanel » 07 May 2018, 16:26

@jotego: por aportar algo (porque me flipa la idea de este core en el UNO, el Ghosts'n Goblins es un juego del que he visto partidacas épicas aquí en Salamanca, es un icono), se me ocurre que igual se pueden "embutir" las ROMs en el core como pasa con los cores arcade de Neuro y Antonio, y así la parte de interface a la SD te la ahorras e igual cabe.
O igual son ROMs demasiado grandes y no caben como en el resto de los arcades y estoy diciendo una chorrada, la ignorancia a veces es muy osada. :tepego:


Volver a “Arcades”

¿Quién está conectado?

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