Novedades acerca del ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Novedades acerca del ZX-Uno

Mensajepor mcleod_ideafix » 21 Abr 2014, 21:18

Mientras tanto, en un universo paralelo...
z80_plugin_for_zxuno.jpg
z80_plugin_for_zxuno.jpg (158.45 KiB) Visto 6678 veces


Una pequeña ayuda para depurar errores de timming del ZX-Uno, buscar inconsistencias con instrucciones que hacen que algunos tests fallen, además de por supuesto, ahorrarme cantidad de tiempo de síntesis y place & route al no tener que incluir tooodo el Z80 dentro de la FPGA :) Sirva como ejemplo de cosas que se le pueden pinchar al clon.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

JULIO
Commodore 128
Commodore 128
Mensajes: 121
Registrado: 22 Feb 2013, 18:58
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: TV Games/Pong Clone

Re: Novedades acerca del ZX-Uno

Mensajepor JULIO » 22 Abr 2014, 00:12

Creo que he seguido todos los pasos bien, he pillado el mcs de a.villena y generado el machine.wav y este es el resultado:
Imagen
Imagen


he realizado ultracargas de varios taps, incluido mi androide2 y han funcionado bien, en cambio abu simbel al pasarlo a wav
se queda enganchado como si estuviera el joystick presente, es la version española con 10 vidas y carga normal (si no, no funcionaria el cgleches)
mcleod_ideafix escribió:Mientras tanto, en un universo paralelo..
Una pequeña ayuda para depurar errores de timming del ZX-Uno, buscar inconsistencias con instrucciones que hacen que algunos tests fallen,...... Sirva como ejemplo de cosas que se le pueden pinchar al clon.

Y si tuvieramos eso conectado ¿podriamos tener en la FPGA un transtape o multiface para meter pokes directamente sin tener que modificar las cabeceras de los cargadores de los taps?
Porque yo quiero hacer trampa y meter pokes de vez en cuando :santo:

saludos
Julio.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Novedades acerca del ZX-Uno

Mensajepor mcleod_ideafix » 22 Abr 2014, 00:31

JULIO escribió:he realizado ultracargas de varios taps, incluido mi androide2 y han funcionado bien, en cambio abu simbel al pasarlo a wav
se queda enganchado como si estuviera el joystick presente, es la version española con 10 vidas y carga normal (si no, no funcionaria el cgleches)

Abu Simbel Profanation necesita que el teclado esté en modo issue 2, y me temo que la emulación issue 2 aún no funciona tan bien como yo quisiera. Más que nada porque no tengo claro en qué se diferencia con el issue 3. ¿Sólo en el estado del bit EAR?

JULIO escribió:Y si tuvieramos eso conectado ¿podriamos tener en la FPGA un transtape o multiface para meter pokes directamente sin tener que modificar las cabeceras de los cargadores de los taps?

Para meter en la FPGA un transtape o pokeador no necesitas pinchar nada externo, sino incluir el core de un transtape dentro de la FPGA, cosa que es bastante sencillo. Esto no es más que un Z80 físico. Dentro de la FPGA hay un Z80 (se llama T80), pero tiene algunas inconsistencias respecto a un Z80 real, y hay cosas que funcionan bien y otras no tanto. Este pequeño plugin me permitirá aislar qué fallos son culpa del T80, y qué fallos son culpa de otras partes del clon.

Cuando hagan pública la API para trastear con ESXDOS será posible escribir un módulo NMI que se encargue de meter pokes en juegos ya funcionando (si no existe ya).

JULIO escribió:Porque yo quiero hacer trampa y meter pokes de vez en cuando :santo:

¿No hay alguna opción de ese estilo en el menú NMI del DIVMMC? Al menos con el Fatware en DivIDE podías cargar archivos .POK con el juego ya funcionando. A lo mejor también funciona con el DIVMMC y ESXDOS.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
aowen
Commodore 128
Commodore 128
Mensajes: 90
Registrado: 14 Mar 2014, 14:31
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum +2
consola_favorita: Nintendo GameBoy
Primera consola: Nintendo GameBoy

Re: Novedades acerca del ZX-Uno

Mensajepor aowen » 22 Abr 2014, 00:46

mcleod_ideafix escribió:¿No hay alguna opción de ese estilo en el menú NMI del DIVMMC? Al menos con el Fatware en DivIDE podías cargar archivos .POK con el juego ya funcionando. A lo mejor también funciona con el DIVMMC y ESXDOS.

That's just the kind of handy little "app" that you could write with SE Basic IV's NMI handler. You would have to put it somewhere safe in RAM, but the former printer buffer is a good candidate.

JULIO
Commodore 128
Commodore 128
Mensajes: 121
Registrado: 22 Feb 2013, 18:58
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: TV Games/Pong Clone

Re: Novedades acerca del ZX-Uno

Mensajepor JULIO » 22 Abr 2014, 01:01

mcleod_ideafix escribió:Abu Simbel Profanation necesita que el teclado esté en modo issue 2, y me temo que la emulación issue 2 aún no funciona tan bien como yo quisiera. Más que nada porque no tengo claro en qué se diferencia con el issue 3. ¿Sólo en el estado del bit EAR?

El zx-uno está en modo issue2.

mcleod_ideafix escribió:Para meter en la FPGA un transtape o pokeador no necesitas pinchar nada externo, sino incluir el core de un transtape dentro de la FPGA, cosa que es bastante sencillo. Esto no es más que un Z80 físico. Dentro de la FPGA hay un Z80 (se llama T80), pero tiene algunas inconsistencias respecto a un Z80 real, y hay cosas que funcionan bien y otras no tanto. Este pequeño plugin me permitirá aislar qué fallos son culpa del T80, y qué fallos son culpa de otras partes del clon.

Si, de acuerdo en todo, si lo decía por la ocupación de la FPGA, que ya está casi llena.
mcleod_ideafix escribió:Cuando hagan pública la API para trastear con ESXDOS será posible escribir un módulo NMI que se encargue de meter pokes en juegos ya funcionando (si no existe ya).

Ni idea, si hay o no.
mcleod_ideafix escribió:¿No hay alguna opción de ese estilo en el menú NMI del DIVMMC? Al menos con el Fatware en DivIDE podías cargar archivos .POK con el juego ya funcionando. A lo mejor también funciona con el DIVMMC y ESXDOS.

No soy un experto del DIVMMC, y ademas quiero comentar que he escrito como 3 o 4 mensajes solicitando una pcb vacia al autor y....todavia estoy esperando (ya he desistido).
Y tanto que el divide maneja los pokes, es una gozada en ese aspecto, con archivo .pok o directamente en linea de comandos.

Otra cosilla, ¿Habrá posibilidad de grabar un snapshot a la tarjeta para retomar un juego mas adelante? Esta opción está disponible en el speccy2010.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Novedades acerca del ZX-Uno

Mensajepor antoniovillena » 22 Abr 2014, 01:02

Tengo recién salida del horno una ROM de CargandoLeches con las siguiente opciones, seleccionables independientemente:
  • Reset&Play, para no tener que teclear LOAD""
  • Escritura sin tokens
  • Pokeador por NMI

He hecho pruebas rápidas y parece que funciona bien, aunque puede tener algún fallo, si eso avisadme. Este es el código fuente:

http://sourceforge.net/p/emuscriptoria/ ... leches.asm

Adjunto la ROM compilada con todas las opciones activadas. Recordad que si Reset&Play está activa, no vale cualquier tecla para comenzar, tiene que ser Espacio ó Break.

¿Cómo funciona el pokeador? Pues aquí están las instrucciones:

http://www.zonadepruebas.com/viewtopic. ... 06&p=16776

Resumiendo, pulsáis NMI, luego una cifra de 5 dígitos (dirección), luego enter, luego una cifra de 3 ó menos dígitos (byte) y finalmente enter dos veces. Se corrompen ciertas partes de la pantalla, así que usadlos en menús o lugares donde no suponga mucha molestia. Subo sólo la ROM para que practiquéis, tendréis que pasarlo a TAP con GenRom y a la BIOS mediante el comando N.
Adjuntos
leches.zip
(12.99 KiB) Descargado 343 veces
Última edición por antoniovillena el 22 Abr 2014, 01:25, editado 1 vez en total.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Novedades acerca del ZX-Uno

Mensajepor mcleod_ideafix » 22 Abr 2014, 01:05

JULIO escribió:Otra cosilla, ¿Habrá posibilidad de grabar un snapshot a la tarjeta para retomar un juego mas adelante? Esta opción está disponible en el speccy2010.

ESXDOS permite esa opción desde el menú NMI, así que sí, esa posibilidad ya existe.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Novedades acerca del ZX-Uno

Mensajepor antoniovillena » 22 Abr 2014, 01:08

JULIO escribió:Otra cosilla, ¿Habrá posibilidad de grabar un snapshot a la tarjeta para retomar un juego mas adelante? Esta opción está disponible en el speccy2010.


Creo que ESXDOS lo soporta:

http://www.youtube.com/watch?v=S_sN4q2h7uw

-- Actualizado 22 Abr 2014, 00:12 --

mcleod_ideafix escribió:Mientras tanto, en un universo paralelo...
z80_plugin_for_zxuno.jpg



Vamos que acabas de crear el primer periférico diseñado específicamente para el ZX-Uno.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Novedades acerca del ZX-Uno

Mensajepor mcleod_ideafix » 22 Abr 2014, 02:44

Antonio, creo que sé lo que pasa con el DivMMC. La ROM de 48K... ¿en qué banco la cargas? Debería haber una copia de la misma en los 4 bancos, del 8 al 11. ESXDOS, lo primero que hace, es precisamente conmutar a la ROM 3, así que si no hay nada en el banco 11 de la SRAM, no funcionará.

Otra idea es cargar la ROM de 48K en el banco 11 y cambiar los valores que se dan a los puertos 7FFDh y 1FFDh para que apunten ya a la ROM 3 antes de hacer el salto hacia ella.

Lo que no funcionará (con el DIVMMC) es poner a una ROM de 16K sólamente en el banco 8.

Ah! Otra cosa. He probado Open SE IV con el soporte de DIVMMC y éste sí arranca (es por eso que te pregunto lo anterior). Lo curioso es que aunque desactivo el soporte de NMI para DIVMMC, al pulsar NMI, me salta siempre el browser NMI de ESXDOS.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Novedades acerca del ZX-Uno

Mensajepor antoniovillena » 22 Abr 2014, 02:55

Para copiar los 4 bancos con la misma rom de 48K hay que hacer esto:

Código: Seleccionar todo

GenRom 8 4 0 0 "'ZX Spectrum 48K'" 48.rom 48.tap


Por defecto arranca en el banco 0 de la ROM. Si quieres que arranque en el banco 3 habría que poner esto:

Código: Seleccionar todo

GenRom 8 4 4 16 "'ZX Spectrum 48K'" 48.rom 48.tap


Recuerda, el tercer valor es lo que se escribe en el puerto 1ffd (un 4) y el cuarto valor lo que va al 7ffd (un 16).


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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