FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 30 Ago 2019 11:51

Último mensaje de la página anterior:

Xtro escribió:@zx81 ¿Podrías colgar un pack con el software que usas para testear el Spectrum? Quiero probarlo con el core Spectrum de MiST o MiSTer, por lo que leo la implementación es totalmente diferente a la del ZXuno, incluso el núcleo T80 está más pulido ya que en el Z80testfull solo da dos fallos (SCF y CCF) aunque esos dos por lo visto no piensan arreglarlos de momento, ya que supone mucho esfuerzo.


Los test de CPU los puedes bajar de aquí: New Z80 emulation tests. Para los interesados en las tripas de la Z80 es interesante no solo el test, sino el hilo entero y el hilo al que hace referencia Patrik en su primer mensaje.

Quiero resaltar especialmente que esos tests están hechos para ser comprobados contra una CPU Zilog pata negra, y que alguno de los tests fallará en un Spectrum real si tienes una CPU NEC o clónica, sin que eso signifique que haya nada mal.

Por eso no son muy importantes los dos fallos de SCF/CCF, ya que está bien establecido lo que hace Zilog con los bits 3 y 5 del registro F, pero no así con otras CPU, que parecen valores más aleatorios (obviamente, una CPU no es una máquina aleatoria, todo lo contrario), al menos hasta ahora no se ha encontrado una lógica a lo que hace, que la tendrá.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 30 Ago 2019 11:55

Radastan escribió:
zx81 escribió:Anonadado me hallo, ¿el Spectrum tiene modo real y no real?. En un emulador, podría entender eso, especialmente en las máquinas de hace 15 años. Pero hoy en día y en FPGA me descoloca, sinceramente...


Es lo que tiene meter en el core extensiones por un tubo. Porque resulta que el 99% de la gente desea su interfaz para cargar los juegos desde SD, por ejemplo. Para aumentar la compatibilidad se habilitó una forma de arrancar como si fuera un ZX Spectrum 100% real (sin extensiones). En ese modo verás que muchos de esos "glitchs" que mencionas desaparecen.

Igual que pasa con un Spectrum real, que si metes la interfaz Kempston hay muchos juegos que se reinician al terminar de cargar.


Ok, eso tiene lógica y no lo sabía. Lo que no conozco es ningún juego que se resetee al tener un Kempston. ¿Podrías decirme alguno para que pueda probarlo?.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 30 Ago 2019 11:57

Radastan escribió:Te dejo unos apuntes que creo que te vendrán bien y que me parece que se te han pasado:

Modo rooted es un modo que ofrece todos los recursos restringidos en una ROM normal, que son básicamente paginación de toda la SRAM y acceso lectura/escritura a la flash. Normalmente se usa este modo para ejecutar algún comando que lee o escribe de la flash, como es el .COREBIOS (actualiza core y bios a la vez).

Modo real es arrancar como si fuese un spectrum real sin añadidos (sin DivMMC ni modos gráficos extendidos). Este modo viene bien si quieres arrancar el menú de 128K, que de otra forma no verías (ya que DivMMC lo oculta).

Pulsando / al arranque se activa modo root.
Pulsando r al arranque se activa modo real (DivMMC, modos timex, radastan y ULAplus desactivados).


Muchas gracias, es evidente que conocía el modo de arrancar una rooted para poder actualizar el core. Pero no sabía lo de la 'r'.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 30 Ago 2019 12:27

Para todos los interesados en una batería más extensa de tests con que evaluar un emulador o implementación de FPGA, tanto a nivel Z80 como Spectrum, en el repositorio de César, el autor de ZesarUX, teneis un montón: ZesarUX tests.

Por resumir, pongo los interesantes de los que conozco:

IR_Contention.tap: solo para 48k, evalúa la contención sobre el registro IR cuando I tiene un valor entre 0x40 y 0x7f. En una máquina real, se verá también efecto snow.

z80tests.tap: es un test de Z80, más sencillo que el de Patrik, pero que cogió como base una Z80 de NEC.

ulatest3.tap: forma parte de los tests de Jan Bobrowsky, el autor de QAOP y QAOP/JS, que ya no puedo encontrar en la red, su página original no existe. Otros tests eran el btime.tap, el stime.tap, el ptime.tap y el minfo.tap. Este test evalúa la contención de memoria y el bus flotante. Hubo una primera versión que solo servía para 48k, luego sacó versiones para todos los modelos, no sé cual de las dos es esa.

fusetest.tap: va con el emulador fuse, junto al iocontention.tap y alguno más. Es sencillo, pero si ya da errores aquí, mal empezamos.

Creo que para empezar ya tenéis para entreteneros un buen rato... :D
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 30 Ago 2019 13:23

desUBIKado escribió:Para ver los textos en el borde en "The Sentinel" en el zx-uno debes arrancar el core en modo "real" (pulsa R en la pantalla de Boot y el borde se verá cyan) y luego elige la rom 48K. Una vez arrancado carga el juego por audio como harías con un ZX Spectrum real


Efectivamente, el The Sentinel se ve bien cuando se desactivan todas las features no-Spectrum. Pero el IR_Contention sigue saliendo igual de mal y, evidentemente, el core Z80 no tiene nada que ver en esa guerra y sigue sacando sus 23 errores. El fusetest falla igual y el ulatest3 sigue mostrando la contención desplazada.

Algo se gana, y quitando la featuritis está un poco más cerca del Spectrum...
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

palewiki
Mensajes: 47
Registrado: 23 May 2019 20:48
Agradecido : 13 veces
Agradecimiento recibido: 10 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor palewiki » 31 Ago 2019 23:31

Desviando un poco el tema:

En los últimos comentarios he percibido un pesimismo y un fatalismo respecto a la emulación de sistemas antiguos/obsoletos que no tiene correspondencia con otras situaciones análogas de otras áreas de la producción cultural humana.

Me refiero a los que parece que comentan que cuando el hardware original vaya "muriendo" (figuradamente) y los que vivimos el nacimiento, uso y disfrute de dicho hardware vayamos muriendo (no tan figuradamente) todo se irá a pique y salvo cuatro gatos frikis no quedará nadie interesado en este mundillo y la historia de la informática y los videojuegos se perderá en la noche de los tiempos.

¿Qué pasa entonces, por ejemplo, con las obras músicales medievales o pre-clásicas, o con la misma música clásica?
¿Que pasa entonces, por ejemplo, con el cine en blanco y negro Y MUDO de Chaplin, Lloyd, Keaton, etc...?

¿No interesa a nadie? ¿Sólo a cuatro gatos melómanos o a cinéfilos gafapastas?

Os recuerdo que ni el cine clásico en blanco y negro se ve ahora como se veía con los proyectores del año la polka y el tío en la pianola, ni las obras musicales antiguas suenan como realmente sonaban cuando las compusieron, con instrumentos que ya no se usan o fabrican o con criterios de ritmo que no son los de ahora. Por lo tanto, el no lograr una emulación o recreación perfecta tampoco es tan dramático (y en última instancia me parece bastante más factible técnicamente que lograr escuchar la quinta de Beethoven exactamente como sonaba cuando la interpretaban en su época o cómo eran realmente los gorgoritos de Farinelli).

Los sistemas antiguos y su emulación (o recreación) seguirán teniendo aficionados. Al igual que hay aficionados a las máquinas de vapor y siguen construyendo cacharros o resucitando los que aún se pueden resucitar.

Obsoleto no significa olvidado ni abandonado. Minoritario, tampoco.

Avatar de Usuario
Jinks
Mensajes: 2034
Registrado: 09 Oct 2013 16:47
Agradecido : 196 veces
Agradecimiento recibido: 263 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Jinks » 01 Sep 2019 10:48

No lo veo. No creo que dentro de 3 siglos se ponga a la venta "Obras completas del Spectrum", con 7.000 juegos (o los que sean) y un clon perfecto o adaptado a las tecnologías de turno. Como mucho, en los libros de historia una pequeña foto con el siguiente pie de página: "Pong, el primer videojuego", y un par de fotos más mostrando la evolución hasta el momento de la publicación.

Bueno, si es que tampoco habrá "libros"...

BlackHole
Mensajes: 1198
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 13 veces
Agradecimiento recibido: 269 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor BlackHole » 01 Sep 2019 11:08

Cierto... fíjate que apenas han pasado 40 años desde su creación, desarrollo y salida a la venta, y ya estamos teniendo todos estos problemas. En su día nadie se imaginaría que la tecnología iba a avanzar tan rápido y se consideraría chatarra obsoleta en poco tiempo. Porque aunque le tengamos cariño y nos moleste llamarlo "chatarra", es lo que ha pasado: se han tirado miles a la basura, las fábricas de componentes han desaparecido, las técnicas de producción para integrados especiales (la ULA, el SID, el VIC-II, Paula, Agnus, Denise, etc) han cambiado, la propiedad intelectual del propio fabricante no ha sido preservada. Sinclair desapareció, su comprador Amstrad casi lo mismo, Commodore también desapareció y el mar de compañías que tengan los derechos de su IP se va diluyendo en un culebrón venezolano. Zilog supongo que mantendrá derechos sobre Z80 aunque ya solo lo fabrique para ascensores y lavadoras, la todopoderosa Motorola también desaparecida, su subsidiaria Freescale no fabricó siquiera clones de 68000, ahora ni sé quien sigue con ello. No han liberado las IP para modelarse en FPGA. Yo soy ampliamente pesimista sobre el tema.

Avatar de Usuario
Radastan
Mensajes: 154
Registrado: 09 Sep 2016 11:32
Agradecido : 6 veces
Agradecimiento recibido: 41 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Radastan » 02 Sep 2019 11:44

zx81 escribió:Lo que no conozco es ningún juego que se resetee al tener un Kempston. ¿Podrías decirme alguno para que pueda probarlo?.


Pues tendría que probar, porque de eso hace ya demasiado tiempo. Me acuerdo perfectamente porque recuerdo los cabreos con ciertos juegos que se reseteaban tras cargar y recordabas que tal o cual era por no poner el Spectrum en modo 48K (como el Rambo, o el Bruce Lee) o por el puñetero Kempston.

Ahora mismo ya no me acuerdo.

Avatar de Usuario
kikems
Mensajes: 4043
Registrado: 30 May 2013 19:23
Agradecido : 1391 veces
Agradecimiento recibido: 1782 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor kikems » 02 Sep 2019 11:47

Radastan escribió:
zx81 escribió:Lo que no conozco es ningún juego que se resetee al tener un Kempston. ¿Podrías decirme alguno para que pueda probarlo?.


Pues tendría que probar, porque de eso hace ya demasiado tiempo. Me acuerdo perfectamente porque recuerdo los cabreos con ciertos juegos que se reseteaban tras cargar y recordabas que tal o cual era por no poner el Spectrum en modo 48K (como el Rambo, o el Bruce Lee) o por el puñetero Kempston.

Ahora mismo ya no me acuerdo.


Si no recuerdo mal el Rambo en los ZX128 de Amstrad no funcionaba por un cambio en la rom, ni en modo 48k, ni 128k, ni nada. Había una versión pirata parcheada y una oficial de un pack de +3 que sí funcionaban.
Ese cambio en la rom creo que también afectaba a la música en el Renegade de 128 Kb y al Platoon de 128 Kb.

Avatar de Usuario
kikems
Mensajes: 4043
Registrado: 30 May 2013 19:23
Agradecido : 1391 veces
Agradecimiento recibido: 1782 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor kikems » 02 Sep 2019 11:56

En esta web de este italiano están todos detallados.

https://www.alessandrogrussu.it/plus2A-en.html

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 02 Sep 2019 14:19

kikems escribió:En esta web de este italiano están todos detallados.

https://www.alessandrogrussu.it/plus2A-en.html


Esos programas tienen problemas en el +2a/+3 por cambios en las ROMs, sistema de paginado, falta de bus flotante o diferente esquema de contención de la memoria, pero juraría que ninguno por tener un Kempston

Por cierto, cada juego de esos que carga y funciona sin problemas en el +2 del ZX-Uno pone en evidencia la implementación de ese modelo.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
Radastan
Mensajes: 154
Registrado: 09 Sep 2016 11:32
Agradecido : 6 veces
Agradecimiento recibido: 41 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Radastan » 16 Sep 2019 08:11

zx81 escribió:Por cierto, cada juego de esos que carga y funciona sin problemas en el +2 del ZX-Uno pone en evidencia la implementación de ese modelo.


Tengo buenas noticias para ti:
https://twitter.com/zxprojects/status/1173226621840572416?s=20

McLeod está avanzando en la implementación del ULA Snow. Pasito a pasito, pero con paso firme.

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 16 Sep 2019 08:37

Es una buena noticia, más que nada porque quizá se consiga entender qué pasa exactamente y documentarlo. Pero vamos, además de algunos programas de test, que yo conozca, el Vectron es el único juego comercial que hace uso del efecto snow.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
desUBIKado
Mensajes: 168
Registrado: 15 Dic 2017 19:50
Agradecido : 20 veces
Agradecimiento recibido: 148 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor desUBIKado » 16 Sep 2019 21:19

Radastan escribió:
zx81 escribió:Por cierto, cada juego de esos que carga y funciona sin problemas en el +2 del ZX-Uno pone en evidencia la implementación de ese modelo.


Tengo buenas noticias para ti:
https://twitter.com/zxprojects/status/1173226621840572416?s=20

McLeod está avanzando en la implementación del ULA Snow. Pasito a pasito, pero con paso firme.


No es que esté avanzando, es que ya tiene implementado el efecto snow de la ULA en el modo 48K en la última revisión del core EXP27 que publico ayer, la EXP27-150919.

Lo puedes descargar aquí: http://svn.zxuno.com/svn/zxuno/cores/sp ... /zxuno_v4/ (user:guest password: zxuno)

SPECTRUM.ZX1 si lo quieres instalar como core principal (el primero)
COREx.ZX1 si lo quieres instalar como core secundario (a partir del segundo)

Además a este core le he pasado el Z80 Full test de RAXSOFT (que viene en los extras del ZesarUX o aquí https://www.worldofspectrum.org/forums/ ... ion/41834/ ) y ahora solo saca 2 fallos CRC de 152 test (001 SCF y 002 CCF), los mismos que el core de MiST. Sin embargo el core de MiST no implementa el efecto snow.

Imagen
TEST-Z80-EXP27.jpg
TEST-Z80-EXP27.jpg (47.76 KiB) Visto 188 veces


Archivo para probar el efecto snow:
snow.zip
(2.43 KiB) Descargado 33 veces


Video con el efecto en funcionamiento: https://www.youtube.com/watch?v=Ix9Wy2jhDwI

A partir de aquí comentarios de McLeod en el grupo de Telegram del ZX-Uno

El efecto "snow" es un efecto propio de la ULA del Spectrum que no aplica correctamente la contención cuando hay un ciclo de refresco del procesador, y lo interpreta erróneamente como un ciclo de lectura, o realmente un medio ciclo de lectura para ser más exactos, porque no se lee ni se escribe nada. Si le pilla cuando la ULA no está parando al procesador, entonces lo para. Si le pilla cuando la ULA piensa que el procesador no la va a molestar y no le para el reloj, pues ocurre que la ULA se vuelve loca y en lugar de enviar ella la dirección de memoria de donde leer datos de pantalla, deja que sea la CPU quien ponga la dirección (los 6 bits menos significativos), y por tanto lo que se lee de la memoria es basurilla. Bueno, en realidad no es cualquier basurilla, sino que, como todo o casi todo en el Spectrum, haciendo las cosas en el ciclo de reloj oportuno, puedes conseguir cosas aparentemente imposibles tal como conseguir que "por hardware" se replique una columna de 8 pixeles en pantalla a la columna anterior, o mejor dicho, que se replique una columna a la siguiente, para ser más exactos. Un programa normal se cuidará muy mucho de provocar la situación en la que aparece la ULA snow, que es cuando el registro I tiene un valor comprendido entre 64 y 127

Si tienes a mano un Spectrum 48K de Sinclair (no un Harlequin), escribe este programa:

10 DATA 62,64,237,71,201
20 FOR n=40000 TO 40004: READ a: POKE n,a: NEXT n
30 RANDOMIZE USR 40000

Y a partir de ahí, nieve en la pantalla

El programa lo que hace es:

LD A,64
LD I,A
RET

Este efecto "snow" está implementado en emuladores como el ZesarUX o el Retro Virtual Machine.

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 16 Sep 2019 21:27

Voy a probarlo *YA* porque mañana me marcho de viaje y estaré bastante inoperativo hasta el miércoles de la semana que viene, especialmente a partir del domingo, y no resistiría tantos días sin saber... :D
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
zx81
Mensajes: 333
Registrado: 23 Feb 2013 21:31
Agradecido : 26 veces
Agradecimiento recibido: 91 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 16 Sep 2019 22:06

Bueno, probado está. La sintetización de la Z80 ha mejorado MUCHO, tal y como dice desUBIKado solo saca dos errores a los que les concedo importancia casi cero. De hecho, esos dos tests fallarán igualmente en cualquier Spectrum real que no lleve CPU de Zilog. El efecto SNOW tiene buena pinta, siempre es difícil decidir si se hace bien o mal, es una cosa tan peculiar.... supongo que si mcleod lo ha investigado, lo habrá implementado con lo que él ha visto.

Respecto al resto, continuamos igual. Contención desplazada, el test IR_Contention mal, el fusetest saca errores en floating bus y en LDIR, pero habría que ver qué prueba exactamente en LDIR, porque los otros tests de CPU van bien.

A ver si tenemos suerte y al mcleod le ha vuelto a entrar el gusanillo por mejorar los cores de Spectrum, arregla las cosillas que faltan y mete ese Z80 en los cores de 128k, que ya sería un puntazo.

Definitivamente, hemos mejorado. :)
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator


Volver a “Placas FPGA”

¿Quién está conectado?

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