Página 1 de 5

Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 12:15
por Fermars
Hola a todos,

He visto esto:
http://www.ebay.co.uk/itm/PIO-Interface ... 19fb3cea52

Le he echado un vistazo y parece que la placa habilita un puerto externo con el fin de poder, desde él, controlar dispositivos al más puro estilo GPIO de una Raspberry o las salidas analógicas/digitales de un Arduino (por ejemplo). No hay que navegar mucho para encontrar que esa placa se parece mucho a la información contenida aquí: http://bneven.com/zxio.html, o sea, que es copiable.

La pregunta es ¿Qué utilidad le véis?¿Cómo se controla? Si es como he descrito, tendríamos un Spectrum preparado para mover cualquier trasto conectado a esta placa....

A ver qué opináis.

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 12:17
por Ben-kenobi
En la revista resistor , habia publicados varios montajes para controlar electrodemesticos con el spectrum , seguramente esto seri algo similar.

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 12:22
por Fermars
Se que también había algún trasto comercial que permitía el control de dispositivos (creo que de indescomp), pero me gustaría saber si este se controla desde Basic de una forma sencilla porque desde luego sería curioso hacer algo con un Spectrum de forma similar a como se trabaja con una Raspberry o un Arduino.
Quisiera no obstante que alguien con más vistas que yo ;), pueda echarle un vistazo y decirme las posibilidades que tiene antes de tomar alguna decisión para materializar la placa...a lo mejor ni siquiera merece la pena, no lo se.

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 13:15
por wilco2009
El de la revista Resistor creo recordar que iba con relés, por lo que no creo que pueda controlar cosas rápidas, aunque sí te permite activar/desactivar elemento con un alto consumo.
Este lleva un 8255, que se puede usar para comunicaciones, por ejemplo con una impresora u otro ordenador. El tema es que estas señales son de +5v voltios y sin mucha potencia, por lo que necesitas circuiteria adicional (un relé) para activar o desactivar un motor.

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 13:38
por Fermars
wilco2009 escribió:El de la revista Resistor creo recordar que iba con relés, por lo que no creo que pueda controlar cosas rápidas, aunque sí te permite activar/desactivar elemento con un alto consumo.
Este lleva un 8255, que se puede usar para comunicaciones, por ejemplo con una impresora u otro ordenador. El tema es que estas señales son de +5v voltios y sin mucha potencia, por lo que necesitas circuiteria adicional (un relé) para activar o desactivar un motor.
O sea, la respuesta a mi pregunta es sí. Este dispositivo sirve para controlar hardware externo ¿no?. Con la Raspberry pasa igual, los pines no son capaces de controlar nada que tenga un consumo mucho mayor que un LED...Lo de usar hardware externo es lo habitual en estos casos, pero sería muy fácil, hay relés muy baratos (yo compré varios) que se activan con una tensión/intensidad baja y permiten controlar casi cualquier cosa.

Si lo anterior es cierto ¿alguna idea de cómo se activan/desactivan los pines de salida por software?

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 14:54
por yombo
Habría que ver la decodificación exacta que hace de la dirección. Y luego mirar la especificación del 8255, pero por el segundo enlace que pones parece que se puede escribir y leer (WR y RD) en tres puertos (A1 y A0 lo indican junto con PA, PB, PC)

Respecto a controlar cosas, en vez de usar relés yo usaría transistores MOSFET, son muy eficientes y basta poner una resistencia de 10K para hacerlos funcionar, soportan cientos de amperios y el rango de voltajes es bueno. Ah y hace falta poner un diodo si la carga es inductiva (como un motor), e incluso se puede hacer un "puente H", que puede controlar un motor en ambas direcciones.
Los MOSFET que tengo yo: http://es.rs-online.com/web/p/transisto ... et/7259325

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 15:06
por Fermars
Solamente me plantearía probar este hardware más adelante si se que sería capaz de controlar esas salidas, aunque sean solo 3. ¿Crees que se puede hacer fácilmente con comandos de BASIC o que habría que desarrollar algún software específico para ello? Si es el segundo caso estonces me olvido, no tendría tiempo para dedicarle...

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 15:15
por yombo
No son solo tres señales, son tres puertos de 8 bits cada uno, o sea 24 entradas/salidas :)

Para controlarlos en principio tendría que bastar con un POKE o un OUT desde basic, dependiendo si lo ha implementado en memoria o en un puerto I/O (lo más lógico)

Edit: Ah, en el esquema de tu segundo enlace usa IORQ, o sea que usa puertos. De ese esquema se puede deducir cuales son.

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 15:19
por stratotrasto
Que estarás tramando, me apunto...

Re: Un I/O para ZX Spectrum

Publicado: 06 Feb 2015, 15:30
por yombo
He mirado el esquema y la decodificación es muy facil, solo usa A0 en positivo, o sea se activa con todas las direcciones impares.

Y A2A1 forman la dirección del registro (esto es un ejemplo, hay que mirarlo en el datasheet pero seguramente sería algo así):

Código: Seleccionar todo

A2A1
00    Registro A
01    Registro B
10    Registro C
11    No usado
por lo que:

Código: Seleccionar todo

OUT 1, 34
Activaría y desactivaría (según los bits a 1 del valor 34) las salidas del registro A, y:

Código: Seleccionar todo

LET a = IN 3
Leería las 8 entradas del puerto B. Fácil, no?