Nuevo interface 007 para ZX Spectrum

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por wilco2009 »

dandare escribió:
flopping escribió:Básicamente es un interface de sustitución de rom externa, solo que en vez de sustituir toda la rom, solo sombrea 2k, pero vamos que no tiene nada especial.
Me interesa ver la gestión del momento exacto en el que hace el cambio de ROM :)
A mi tambien me interesaba el tema para ver como gestionaba el tema de la nmi.

Por lo que veo la gestión es bastante más sencilla que en otros interfaces, y solo usa mreq, no usando para nada m1.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
alvaroalea España - Asturias
Demonio segundo orden
Demonio segundo orden
Mensajes: 1092
Registrado: 25 Oct 2014, 12:49
Ubicación: Asturias, Paraiso Natural
Has thanked: 14 times
Been thanked: 52 times
Contactar:

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por alvaroalea »

Hablo desde la ignorancia, pero:
- Creo que lo de gestionar M1 es una cosa de las interfaces modernas (divide, etc...) y que en aquella época se tiraba por la calle del medio y no se hilaba tan fino.

Lo de gestionar M1 es para evitar que una NMI ocurra en mitad de dos lecturas de una instruccion y lea la primera parte de la rom original y la segunda parte de la rom del interfaz y se lie ¿no?

Entiendo que en interfaces como el pokeador de microhobby eso no se tenia en cuenta por que la rom siempre estaba paginada, aunque corrías el riesgo de que pasase lo mismo al mover el interruptor para activar la interfaz.
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por wilco2009 »

Bueno, pues después de verlo en profundidad las ecuaciones que utiliza son básicamente.

Código: Seleccionar todo

IC2A = ¡(A15+A13+A11)
IC2B = ¡(A14+A12+/MREQ)
IC2C = /ROMCS = IC4A.Q
IC3A = ¡(1)
IC3B = !(IC2A * IC2B * IC4A.Q)
always (posedge (/MREQ) or (negedge /RESET) begin
	if (!/RESET) begin 
		IC4A.Q = 0
end else begin
		IC4A.Q = IC4B.Q 
	end
end

always (negedge (S1) or (negedge /RESET) begin
	if (!/RESET) begin 
		IC4B.Q = 0
end else begin
		IC4B.Q = 1 
	end
end

// Pone a 0 /NMI (y a 1 /ROMCS) en el próximo pulso positivo de /MREQ y ya no se borra hasta el siguiente reset
/NMI  = !(IC4A.Q * IC3A) = !(IC4A.Q) = IC4A./Q

// /CE igual a 0 si se accede a los 4Kb inferiores de la memoria y se ha pulsado S1
/CE = !( ¡(A15+A13+A11)*  ¡(A14+A12+/MREQ)*IC4A.Q)
/CE=!(!A15*!A14*!A13*!A12*!A11*!MREQ)
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por dandare »

El transtape lee m1, al menos el transtape 3. El ramjet3 hace otra cosa igual de válida que es leer el bus de direcciones para la dirección 0x66, que es la de la NMI y ahí mete el cambiazo de la ROM.

Éste utiliza el pulso de MREQ, tengo que ver exactamente qué consecuencias tiene eso, pero ya de entrada no parece que buenas.

Edit: mira, Wilco ya ha destripado el funcionamiento. Gracias Wilco :).
El tema es que en una instrucción de lectura tipo LD A, (nnnn) se producen dos flancos de MREQ, uno en el fetch de la propia instrucción y otro al leer el contenido. Si ese contenido está en ROM, tenemos un fallo. Aún peor es el caso de las instrucciones con prefijo.
Última edición por dandare el 31 May 2017, 13:23, editado 1 vez en total.
Imagen
Imagen
Avatar de Usuario
wilco2009 !Sinclair 1
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 8152
Registrado: 01 Abr 2013, 23:47
Ubicación: Valencia
Has thanked: 47 times
Been thanked: 101 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por wilco2009 »

Eso estaba viendo, pero bueno, si funcionaba.......
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".

Douglas Adams. Guía del autoestopista galáctico.
Avatar de Usuario
alvaroalea España - Asturias
Demonio segundo orden
Demonio segundo orden
Mensajes: 1092
Registrado: 25 Oct 2014, 12:49
Ubicación: Asturias, Paraiso Natural
Has thanked: 14 times
Been thanked: 52 times
Contactar:

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por alvaroalea »

Bueno, creo que ya empiezo a dominar el programa, ahora vamos a empezar a hacer una version mas interesante...
Si alguien tiene interes, he puesto los archivos aqui:
https://github.com/alvaroalea/Interface007

Imagen
Avatar de Usuario
shikitin !IBM 2
Demonio segundo orden
Demonio segundo orden
Mensajes: 1337
Registrado: 04 Abr 2013, 00:52
Ubicación: En un lugar de la mancha...
Has thanked: 54 times
Been thanked: 5 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por shikitin »

Genial Alvaro!
Imagen
Imagen
Imagen
¿Vamos abriendo la lista?
:D
Avatar de Usuario
dandare
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3718
Registrado: 09 Feb 2016, 15:09
Ubicación: I Register
Been thanked: 6 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por dandare »

Alvaro, perdona que acabo de darme cuenta de que no te mandé la librería =) Sorry!
Imagen
Imagen
Avatar de Usuario
alvaroalea España - Asturias
Demonio segundo orden
Demonio segundo orden
Mensajes: 1092
Registrado: 25 Oct 2014, 12:49
Ubicación: Asturias, Paraiso Natural
Has thanked: 14 times
Been thanked: 52 times
Contactar:

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por alvaroalea »

@shikitin: Yo ahora no puedo gestionar eso, ademas esto era solo por practicar, y esta PCB es muy sencilla la puedes hacer con rotulador sin problemas.
quiero hacer una versión mas molona, esa igual si me animo a hacer una conjunta.

@dandare: Nunca es tarde si la dicha es buena, envíamelo!, quiero hacer una librería con los conectores edge macho y hembra, con los del interface II y con los del Dandanator de cartuchos, incluyendo sus modelos 3d y demas, asi que...
Avatar de Usuario
shikitin !IBM 2
Demonio segundo orden
Demonio segundo orden
Mensajes: 1337
Registrado: 04 Abr 2013, 00:52
Ubicación: En un lugar de la mancha...
Has thanked: 54 times
Been thanked: 5 times

Re: Nuevo interface 007 para ZX Spectrum

Mensaje por shikitin »

alvaroalea escribió:@shikitin: Yo ahora no puedo gestionar eso, ademas esto era solo por practicar, y esta PCB es muy sencilla la puedes hacer con rotulador sin problemas.
quiero hacer una versión mas molona, esa igual si me animo a hacer una conjunta.
Ok, esperamos a la versión molona ;)
No hay prisa.
Responder

Volver a “Proyectos de hardware abiertos”