Interface disketera +2A/B (placa corta)

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

Responder
BCH
Jack The Nipper
Mensajes: 170
Registrado: Mié Ago 19, 2009 10:26 pm

Interface disketera +2A/B (placa corta)

Mensaje por BCH » Lun Sep 15, 2014 2:05 pm

Aqui dejo la ultima version de el proyecto hecho en eagle:
http://www.mediafire.com/download/41l16 ... rchive.zip

----------------------------------------------------------------------
Hace bastante venia pensando en hacer una interface que lleve los componentes faltantes de la controladora de diskettes en los +2A/B de placa recortada. Como saben, añadir estos en un +2 de placa completa hace que el ordenador en practica se convierta en un +3.

Ya habia leido por ahi que Amstrad tenia pensado comercializar una interface de disco externa (que nunca lo hizo) y por esa razon todas las señales necesarias estan en el puerto de expansion del +2...

Tambien he mirado esta pagina:
http://www.worldofspectrum.org/BackToThePlus3/

Pues yo me he puesto con una placa perforada y los esquematicos del +3 a tratar de recrear la parte del circuito faltante... La verdad es que no se si funcionara (ni si deberia funcionar a nivel teorico) pero voy a probar de todos modos.

Esto es lo que tengo hecho hasta ahora:
Imagen

Falta aun poner el conector de borde y cablear algunas lineas....Ya les contare que resulta...

Saludos!
Última edición por BCH el Vie Ene 30, 2015 11:10 am, editado 13 veces en total.

Avatar de Usuario
stratotrasto
Sabreman
Mensajes: 484
Registrado: Lun Ago 06, 2012 10:05 am

Re: Interface disketera +2A/B (placa corta)

Mensaje por stratotrasto » Lun Sep 15, 2014 8:21 pm

Guau, fantástico!!!!

jgilcas
Herbert
Mensajes: 76
Registrado: Mar Feb 01, 2011 8:21 am

Re: Interface disketera +2A/B (placa corta)

Mensaje por jgilcas » Lun Sep 15, 2014 9:06 pm

Suscrito al hilo, espero que funcione :)

Avatar de Usuario
Scooter
Freddy Hardest
Mensajes: 711
Registrado: Jue Nov 11, 2010 10:17 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por Scooter » Lun Sep 15, 2014 10:19 pm

Pues por lo que se ve es factible hacer un PCB de eso

Anbiao ende mi parato usando catacrak
Aquellos chalados en sus viejos cacharros...

BCH
Jack The Nipper
Mensajes: 170
Registrado: Mié Ago 19, 2009 10:26 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por BCH » Mar Sep 16, 2014 12:27 am

Scooter escribió:Pues por lo que se ve es factible hacer un PCB de eso


Si, es lo que pensaba hacer en eagle una vez que lo tenga funcionando.

Avatar de Usuario
capzo
Jack The Nipper
Mensajes: 101
Registrado: Lun Ago 17, 2009 5:18 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por capzo » Mar Sep 16, 2014 1:05 am

Pues yo estaba a punto de "repoblar" una placa de +2A grande, o sea la de +3 sin esos componentes, pero igual esto es más interesante porque lo puedo usar en cualquier +2A/B.

Avatar de Usuario
jrodriguezv
Herbert
Mensajes: 56
Registrado: Lun May 07, 2012 1:24 pm
Ubicación: Madrid

Re: Interface disketera +2A/B (placa corta)

Mensaje por jrodriguezv » Mar Sep 16, 2014 3:31 pm

Un proyecto muy interesante. Seguiré con interés el hilo. Ánimo!

zup
Freddy Hardest
Mensajes: 666
Registrado: Vie Ago 15, 2008 2:43 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por zup » Mar Sep 16, 2014 4:13 pm

BCH escribió:Ya habia leido por ahi que Amstrad tenia pensado comercializar una interface de disco externa (que nunca lo hizo) y por esa razon todas las señales necesarias estan en el puerto de expansion del +2...


En realidad, las señales están en cualquier Spectrum. Lo que hace especiales al +2A y al +3 es que llevan las ROM de disco y toda la parafernalia para paginarlas. Si conectases ese trasto a un 48k, podrías acceder al controlador de disquetera sin problemas (creo), y en un 128k quizás podrías implementar las 4 ROM de manera externa para que "atendieran" a los puertos $1FFD y $7FFD y convertirlo en un +3 (casi, te faltarían detalles como los modos all-ram y la contención estaría en los bancos equivocados).
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...

Avatar de Usuario
flopping
Nonamed
Mensajes: 1093
Registrado: Vie Jul 16, 2010 9:54 am

Re: Interface disketera +2A/B (placa corta)

Mensaje por flopping » Mar Sep 16, 2014 4:17 pm

zup escribió:
BCH escribió:Ya habia leido por ahi que Amstrad tenia pensado comercializar una interface de disco externa (que nunca lo hizo) y por esa razon todas las señales necesarias estan en el puerto de expansion del +2...


En realidad, las señales están en cualquier Spectrum. Lo que hace especiales al +2A y al +3 es que llevan las ROM de disco y toda la parafernalia para paginarlas. Si conectases ese trasto a un 48k, podrías acceder al controlador de disquetera sin problemas (creo), y en un 128k quizás podrías implementar las 4 ROM de manera externa para que "atendieran" a los puertos $1FFD y $7FFD y convertirlo en un +3 (casi, te faltarían detalles como los modos all-ram y la contención estaría en los bancos equivocados).

Eso no es así, ya que se necesitan algunas señales que no tienen los otros Spectrum, como la señal motor on, que la genera la ULA del +2a,b y +3, además de la rom del sistema DOS para manejar el disco claro, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, debido a la esquizofrenia paranoide que tengo.
(C) 1982-2016, 34 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente"

zup
Freddy Hardest
Mensajes: 666
Registrado: Vie Ago 15, 2008 2:43 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por zup » Mar Sep 16, 2014 4:31 pm

Pues tienes razón, MOTOR ON va conectado a la ULA. Hubiera jurado que eso iba al FDC, pero...

De todas formas, ¿se podría meter eso en una GAL junto con la paginación de las ROMs?
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...

Avatar de Usuario
wilco2009
Freddy Hardest
Mensajes: 543
Registrado: Lun Sep 17, 2012 9:40 am
Ubicación: Valencia

Re: Interface disketera +2A/B (placa corta)

Mensaje por wilco2009 » Mar Sep 16, 2014 4:36 pm

Básicamente haría falta implementar el hardware de los puertos $2FFD y $3FFD, además de la funcionalidad correspondiente a la disquetera del puerto $1FFD a la que hacía referencia flopping.

En resumen hay que atender:
Al puerto $1FFD para la señal del motor.
Al puerto $2FFD para activar la señal de escritura al floppy.
Al puerto $3FFD para activar la señal de lectura desde el floppy.

Por lo tanto no es trivial, pero tampoco excesivamente complejo. Ahora mismo estoy en ello, por lo que puede que en no mucho tiempo saque un interface para poder conectar a mi superupgrade y poder convertir a ese gomas en un auténtico +3 supervitaminado. :D :D :D

BCH
Jack The Nipper
Mensajes: 170
Registrado: Mié Ago 19, 2009 10:26 pm

Re: Interface disketera +2A/B (placa corta)

Mensaje por BCH » Mar Sep 16, 2014 6:26 pm

zup escribió:En realidad, las señales están en cualquier Spectrum. Lo que hace especiales al +2A y al +3 es que llevan las ROM de disco y toda la parafernalia para paginarlas. Si conectases ese trasto a un 48k, podrías acceder al controlador de disquetera sin problemas (creo), y en un 128k quizás podrías implementar las 4 ROM de manera externa para que "atendieran" a los puertos $1FFD y $7FFD y convertirlo en un +3 (casi, te faltarían detalles como los modos all-ram y la contención estaría en los bancos equivocados).


En el 48k faltan las señales de control de disco: NDRD, NDRW y NMTR (drive read, drive write y motor-on supongo), que como dice flopping, estan implementadas en la ULA de los +2a-b/+3.

http://www.zxshed.co.uk/sinclairfaq/ind ... sable_pins

Avatar de Usuario
Derdhal
Sabreman
Mensajes: 373
Registrado: Vie Abr 20, 2012 9:23 am

Re: Interface disketera +2A/B (placa corta)

Mensaje por Derdhal » Mié Sep 17, 2014 12:42 am

zup escribió:Pues tienes razón, MOTOR ON va conectado a la ULA. Hubiera jurado que eso iba al FDC, pero...

De todas formas, ¿se podría meter eso en una GAL junto con la paginación de las ROMs?


Perdon por mi ignorancia ya que no tengo ni idea, pero los 48 k saben encender y apagar el motor de un microdrive, no valdria esa señal para la disketera o algo similar?

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Interface disketera +2A/B (placa corta)

Mensaje por mcleod_ideafix » Mié Sep 17, 2014 12:45 am

Derdhal escribió:Perdon por mi ignorancia ya que no tengo ni idea, pero los 48 k saben encender y apagar el motor de un microdrive, no valdria esa señal para la disketera o algo similar?

No, me temo que no. Primero, el 48K "sabe" encender y apagar el motor del Microdrive porque quien se encarga de ello es el Interface 1. El Spectrum "pelao" no puede hacer eso.

Por otra parte, el método, protocolo y puertos usados para seleccionar y encender el motor de un microdrive no tienen nada que ver con los usados para la disquetera del +3.

Para que te hagas una idea, y simplificando un poco el tema: en el caso del Microdrive, éstos se conectan al Interface 1 en una suerte de "daisy chain", es decir, cada microdrive le pasa al siguiente sus señales. Casi todas pasan "tal cual", excepto una de ellas, que no recuerdo como se llama en el esquemático, pero es algo así como "Serial IN" y "Serial OUT". Cada Microdrive tiene un "Serial IN" en uno de sus conectores, y un "Serial OUT" en el otro conector que está enfrente del primero. Cuando conectas varios Microdrives, el Serial OUT de uno se conecta al Serial IN del siguiente. El primer microdrive se conecta al Serial OUT del Interface 1.

Estas señales están conectadas dentro del Microdrive de forma que la señal de Serial IN va a un biestable, y la salida de ese biestable va a Serial OUT. Cuando se recibe un pulso de reloj, un nuevo dato entra por Serial IN mientras el antiguo viaja por Serial OUT. Así, el conjunto de Microdrives unidos entre sí forman un registro de desplazamiento, en donde cada Microdrive alberga en su interior un bit de dicho registro.

Sólo aquel Microdrive que contenga un "1" (creo que era así, o quizás fuera al revés, da igual) encenderá su motor. Los demás contendrán un "0" y no encenderán su motor.

Por tanto, para encender el Microdrive 3 lo que se hace es que desde el Spectrum se envía mediante el Interface 1 la secuencia "100" en serie, empezando por el bit de la izquierda. En el primer ciclo, el Microdrive 1 es el que encendería su motor, pero en el siguiente pulso de reloj entra un 0 en ese Microdrive, y el 1 que tenía es "empujado" hacia el Microdrive 2. En el siguiente ciclo de reloj vuelve a entrar un 0 en Microdrive 1, que empuja su 0 a Microdrive 2, que a su vez empuja su 1 a Microdrive 3. No hay más ciclos, así que el 1 se queda en Microdrive 3 y éste comienza a girar su motor.

Si quieres apagar todos los Microdrives, envía una ristra de 0's por Serial OUT del Interface 1 y así todos quedan apagados.

Teóricamente es posible encender TODOS los Microdrives mandando una señal de tipo 11111....

En la disquetera, es un bit, el bit 3 si mal no recuerdo, del puerto 1FFDh, que es quien controla la señal MOTOR ON de la disquetera. En un ambiente con más de una disquetera, cada una de ellas tiene su propia señal de MOTOR ON. No están conectadas entre sí como en el caso del Microdrive.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Derdhal
Sabreman
Mensajes: 373
Registrado: Vie Abr 20, 2012 9:23 am

Re: Interface disketera +2A/B (placa corta)

Mensaje por Derdhal » Mié Sep 17, 2014 2:27 am

Madre mia mcleod!!!! eso es una explicacion buena de como funcionan los microdrives y lo demas son tonterias!!!! ya me gustaria saber de los spectrum todos sus entresijos como tu los conoces!!!!

Una duda que me ha quedado sobre lo que has comentado, si tenemos 3 microdrives, y le enviamos una ristra de 1s y empiezan a girar los 3 microdrives, se sabria de cual va cada dato, o entrarian todos a la vez como un batiburrillo de datos????

Responder

¿Quién está conectado?

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