Montaje del prototipo 2 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: Montaje del prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 09 Dic 2014, 02:10

antoniovillena escribió:Ya lo he cambiado, por defecto todos los parámetros con 3 posibles valores están en Auto. Por cierto McLeod si puedes hacer la correspondencia F10 -> Graph en el teclado, sería más cómodo para salir guardando cambios.

Ah! Y... por qué no usas la posibilidad de poder leer todos los scancodes del teclado? Te recuerdo que hay un registro en el que puedes consultar el último scancode que se ha pulsado o soltado. Con eso puedes usar F10, F11 o la tecla que te dé la gana dentro de la BIOS, sin necesidad de mapearla al teclado del Spectrum.

Es el registro $04 de los que hay mapeados para ZX-Uno. Para leer un scancode harías algo así:

Código: Seleccionar todo

ld bc,$fc3b     ;Puerto para establecer el número de registro a usar
ld a,4          ;Registro $04 (SCANCODE)
out (c),a       ;Se selecciona. A partir de ahora, cualquier acceso a $FD3B está usando SCANCODE
inc b           ;Puerto de acceso al registro ($FD3B, basta con incrementar B)
in a,(c)        ;Lee en A un scancode del teclado.


Según esta web:
http://www.computer-engineering.org/ps2 ... odes2.html

El scancode (make code en realidad) de F10 es el 09

Una pulsación completa (presionar y soltar F10) sería:
- Leer registro $04 hasta encontrar el valor $09
- Leer registro $04 hasta encontrar el valor $F0 (comienzo de tecla soltada)
- Leer registro $04 hasta encontrar el valor $09 (la tecla soltada es la $09, o sea, F10)

O bien te bastaría sólo con detectar la lectura del valor $09 (no esperas a que lo suelte)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor TallerSeverino » 09 Dic 2014, 09:51

mcleod_ideafix escribió:
TallerSeverino escribió:La cosa es que he metido en una SD las carpetas del esxdos805, pero al arrancar sigo sin poder modificar el "enable" del mmc. Ahora ya no sale "basura", lo cual es un avance. Al seleccionar la rom del "+3 divmmc) tarda porque lee de la SD y me aparece detectada 1 unidad MMC. Peero ctrl-alt-f5 no hace absolutamente nada, en la v1 creo que la pantalla esxdos salía antes de iniciar la rom que estuviera activa (pone +3 en el menú pero a mí me dice +2e), y los comandos .vdisk no los entiende, seguiré revisando.

A ver, que es que son dos cosas diferentes:
- El DivMMC necesita que se activen dos cosas en la BIOS: el soporte de DivMMC y la NMI del DivMMC. Entonces y solo entonces te funcionará el Ctrl-Alt-F5 (que lo que hace es disparar una NMI). Cuando arranca, debe aparecerte la pantalla de inicio de ESXDOS diciendo que está cargando los componentes (unos ficheros .SYS). La tarjeta debe estar formateada en FAT16: nada de FAT32 o exFAT.
- Si no activas el DivMMC y en cambio usas la ROM del +3e "a pelo", el +3e trae en la ROM el soporte para MMC, pero no funciona con Ctrl-Alt-F5, sino que va con los comandos de disco del +3 BASIC. En este caso, la tarjeta debe estar formateada dentro del propio +3e en formato IDEDOS. Tampoco funcionarán los comandos con puntito delante.


Jepalza lo tuvo que formatear en fat32 porque en 16 no le reconocía nada, (Por cierto fat16 tiene un límite de 4Gb si no recuerdo mal) lo intentaré, formatear en fat16 usando windows, porque he usado linux en los formateos y eso puede tener alguna relación (algo he leído sobre este último punto en algunas webs) efectivamente en +3 basic intenté "cat" (torpe de mi parte) y me dijo que el disco estaba vacío, obviamente. Volveré a repasarlo todo, instalando el 13.1 de ISE hace lo mismo que con el 12.2, tiene que ser algo de soldaduras en la línea de 1.2v.
La cosa es que no puedo activar soporte divmmc en la bios, por defecto el soporte nmi está activado. Ah, y voy a darle con aire comprimido hasta que salga todo el flux de debajo de los chips.
Un saludo.

Avatar de Usuario
yombo
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 190
Registrado: 01 Ago 2014, 22:52
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: TV Games/Pong Clone
Primera consola: TV Games/Pong Clone

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor yombo » 09 Dic 2014, 12:03

antoniovillena escribió:
yombo escribió:Esto es un poco off-topic pero... Me hice un "visor" de juegos de Spectrum en World Of Spectrum.org. Originalmente estaba pensado para ejecutar un emulador con el .tap bajado, pero como es configurable le he puesto que ejecute un script que convierte el TAP a WAV de cargandoleches, espera 5 segundos y lo reproduce, mientras a mí me da tiempo a cambiar el monitor a la entrada A/V. Cómodamente se carga un tap en la ZX-Uno con un solo click.

Esta es la pinta que tiene el GUI (Lo llamo ZXLoader):
Si os interesa lo subo a algún sitio.


Tiene muy buena pinta. Claro que interesa, lo suyo es que esté en el repositorio. Dile a McLeod que te dé una cuenta de escritura (si no lo hace directamente al leer este mensaje).

Para probar juegos es mucho más cómodo cargarlos mediante cinta (con CargandoLeches es menos de medio minuto) que copiarlos a SD. Con esta utilidad de yombo se agilizaría mucho más. A veces es un coñazo extraer la SD sólo para copiar un .TAP en él, se me ocurre que se podría hacer una utilidad que copiase un archivo desde cinta a la SD. No sé, ¿qué os parece?


Una cosa a tener en cuenta es que el visor este (ZXLoader) necesita Java.
Si me haces la cuenta mcleod, lo subo esta tarde.

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

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 09 Dic 2014, 12:31

TallerSeverino escribió:
mcleod_ideafix escribió:
TallerSeverino escribió:La cosa es que he metido en una SD las carpetas del esxdos805, pero al arrancar sigo sin poder modificar el "enable" del mmc. Ahora ya no sale "basura", lo cual es un avance. Al seleccionar la rom del "+3 divmmc) tarda porque lee de la SD y me aparece detectada 1 unidad MMC. Peero ctrl-alt-f5 no hace absolutamente nada, en la v1 creo que la pantalla esxdos salía antes de iniciar la rom que estuviera activa (pone +3 en el menú pero a mí me dice +2e), y los comandos .vdisk no los entiende, seguiré revisando.

A ver, que es que son dos cosas diferentes:
- El DivMMC necesita que se activen dos cosas en la BIOS: el soporte de DivMMC y la NMI del DivMMC. Entonces y solo entonces te funcionará el Ctrl-Alt-F5 (que lo que hace es disparar una NMI). Cuando arranca, debe aparecerte la pantalla de inicio de ESXDOS diciendo que está cargando los componentes (unos ficheros .SYS). La tarjeta debe estar formateada en FAT16: nada de FAT32 o exFAT.
- Si no activas el DivMMC y en cambio usas la ROM del +3e "a pelo", el +3e trae en la ROM el soporte para MMC, pero no funciona con Ctrl-Alt-F5, sino que va con los comandos de disco del +3 BASIC. En este caso, la tarjeta debe estar formateada dentro del propio +3e en formato IDEDOS. Tampoco funcionarán los comandos con puntito delante.


Si te bajas la última versión no tienes que activar nada.

yombo escribió:Una cosa a tener en cuenta es que el visor este (ZXLoader) necesita Java.
Si me haces la cuenta mcleod, lo subo esta tarde.


Si el programa lo merece habrá que instalarse el Java (yo creo que lo tengo instalado).

-- Actualizado 09 Dic 2014, 12:35 --

mcleod_ideafix escribió:

Código: Seleccionar todo

ld bc,$fc3b     ;Puerto para establecer el número de registro a usar
ld a,4          ;Registro $04 (SCANCODE)
out (c),a       ;Se selecciona. A partir de ahora, cualquier acceso a $FD3B está usando SCANCODE
inc b           ;Puerto de acceso al registro ($FD3B, basta con incrementar B)
in a,(c)        ;Lee en A un scancode del teclado.


Según esta web:
http://www.computer-engineering.org/ps2 ... odes2.html

El scancode (make code en realidad) de F10 es el 09

Una pulsación completa (presionar y soltar F10) sería:
- Leer registro $04 hasta encontrar el valor $09
- Leer registro $04 hasta encontrar el valor $F0 (comienzo de tecla soltada)
- Leer registro $04 hasta encontrar el valor $09 (la tecla soltada es la $09, o sea, F10)

O bien te bastaría sólo con detectar la lectura del valor $09 (no esperas a que lo suelte)


El problema es que no veo una forma sencilla de integrarlo en la ROM. Sé que así es mejor porque no perdemos recursos en la FPGA.

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor TallerSeverino » 09 Dic 2014, 12:40

antoniovillena escribió:
mcleod_ideafix escribió:A ver, que es que son dos cosas diferentes:
- El DivMMC necesita que se activen dos cosas en la BIOS: el soporte de DivMMC y la NMI del DivMMC. Entonces y solo entonces te funcionará el Ctrl-Alt-F5 (que lo que hace es disparar una NMI). Cuando arranca, debe aparecerte la pantalla de inicio de ESXDOS diciendo que está cargando los componentes (unos ficheros .SYS). La tarjeta debe estar formateada en FAT16: nada de FAT32 o exFAT.
- Si no activas el DivMMC y en cambio usas la ROM del +3e "a pelo", el +3e trae en la ROM el soporte para MMC, pero no funciona con Ctrl-Alt-F5, sino que va con los comandos de disco del +3 BASIC. En este caso, la tarjeta debe estar formateada dentro del propio +3e en formato IDEDOS. Tampoco funcionarán los comandos con puntito delante.

antoniovillena escribió:Si te bajas la última versión no tienes que activar nada.


¿En la carpeta firmware/roms? el último prom.mcs?

yombo escribió:Una cosa a tener en cuenta es que el visor este (ZXLoader) necesita Java.
Si me haces la cuenta mcleod, lo subo esta tarde.

antoniovillena escribió:Si el programa lo merece habrá que instalarse el Java (yo creo que lo tengo instalado).


Pues tiene muy buena pinta el navegador, la verdad. Voy al taller a probar algunas cosillas.
Un saludo.

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

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 09 Dic 2014, 14:02

TallerSeverino escribió:¿En la carpeta firmware/roms? el último prom.mcs?


Exacto

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Montaje del prototipo 2 del ZX-Uno

Mensajepor TallerSeverino » 09 Dic 2014, 14:10

antoniovillena escribió:
TallerSeverino escribió:¿En la carpeta firmware/roms? el último prom.mcs?


Exacto


Pues ahora va perfectamente (con ese mcs), he probado con dos tarjetas SD, una en fat32 (la que usé en la v1) y otra en fat16 y va perfecto, ahora sí puedo toquetear en el "main" de la bios y todo correcto, el NMI, el esxdos, todo :D , he intentado cargar algo desde audio normal pero ahí no se entera, será el volumen, pero lo dejo para más tarde, por otra parte probaré los tests recomendados, de momento cargando un juego de 128k funciona, el dibujo del gato de shrek no va muy bien, probaré el resto... en cuanto a porqué ahora sí y antes no.. habrá que atribuirlo a los "duendes" :mrgreen:, también a un repaso a la fpga y a todos los componentes en general, aire comprimido y otra limpieza con isopropílico, en fin, que ESTÁ VIVO!!!
:gamer:

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: Montaje del prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 09 Dic 2014, 14:17

antoniovillena escribió:El problema es que no veo una forma sencilla de integrarlo en la ROM. Sé que así es mejor porque no perdemos recursos en la FPGA.

No entiendo... como que no se puede integrar en la ROM? O es que no he entendido lo que necesitas.
¿No necesitas acaso alguna forma de saber que se ha pulsado la tecla F10 porque es la que quieres usar para señalizar que quieres salir de BIOS? Si no es eso, ¿qué es lo que necesitas?
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: Montaje del prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 09 Dic 2014, 14:26

mcleod_ideafix escribió:
antoniovillena escribió:El problema es que no veo una forma sencilla de integrarlo en la ROM. Sé que así es mejor porque no perdemos recursos en la FPGA.

No entiendo... como que no se puede integrar en la ROM? O es que no he entendido lo que necesitas.
¿No necesitas acaso alguna forma de saber que se ha pulsado la tecla F10 porque es la que quieres usar para señalizar que quieres salir de BIOS? Si no es eso, ¿qué es lo que necesitas?


Sí se puede integrar, pero requiere un montón de cambios, no es algo sencillo. El cambio en el VHDL del teclado es más sencillo, lo malo es que gasta un poco más de espacio en la FPGA. Lo que necesito es que F10 se comporte igual que AltGr (simule la tecla Graph).

Por otro lado he visto un commit tuyo del core pero no has puesto los cambios para manejar los cristales.

Imagen

-- Actualizado 09 Dic 2014, 14:28 --

También tienes que regenerar "bootloader_hex.txt" puesto que firmware/bootloader.rom ha cambiado un byte.

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: Montaje del prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 09 Dic 2014, 14:31

yombo escribió:Una cosa a tener en cuenta es que el visor este (ZXLoader) necesita Java.

Imagino que basta con tener el runtime (JRE) instalado, ¿no? No creo que haga falta todo el SDK.

yombo escribió:Si me haces la cuenta mcleod, lo subo esta tarde.

Tienes un privado.

-- Actualizado 09 Dic 2014, 14:34 --

antoniovillena escribió:Sí se puede integrar, pero requiere un montón de cambios, no es algo sencillo. El cambio en el VHDL del teclado es más sencillo, lo malo es que gasta un poco más de espacio en la FPGA. Lo que necesito es que F10 se comporte igual que AltGr (simule la tecla Graph).

Ok. Va a quedar una combinación un tanto rara, pero es posible. Sigo sin entender la complicación, de todas formas, porque entiendo que quieres cambiar esto:

Código: Seleccionar todo

ld bc,0eeffh  ;leer a la vez semifilas CS a V, y 6 a 0
in a,(c)
and 1fh
cp 1ch  ;pulsadas teclas en posiciones 0 (CS) y 1 (9)
jr z,GraphPulsada


Por esto:

Código: Seleccionar todo

ld bc,0fc3bh
ld a,4
out (c),a
inc b
in a,(c)
cp 09h
jr z,F10Pulsada


antoniovillena escribió:Por otro lado he visto un commit tuyo del core pero no has puesto los cambios para manejar los cristales.

Ese commit es muy antiguo. De hecho no estoy tocando ultimamente la descripción de la Spartan 6, hasta no tener yo el prototipo completamente soldado. Sigo haciendo cambios y pruebas en el test15 de la parte de la Spartan 3E.

antoniovillena escribió:También tienes que regenerar "bootloader_hex.txt" puesto que firmware/bootloader.rom ha cambiado un byte.

Ah! ok!
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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