Página 1 de 3

Interface serie TTL para Spectrum- Emulador de terminal

Publicado: 21 Ene 2018, 01:54
por wilco2009
Hacia tiempo que no os enseñaba ninguna cosilla de las que llevo entre manos y ahora le ha tocado el turno a un interface serie TTL para spectrum.

Usando la misma técnica que se usa en el Dandanator para cargar las ROMs, pero añadiendole transmision, he implementado un puerto serie TTL completo para Spectrum.
¿Y para que podemos querer esto?.
Pues muy sencillo. Ademas de para comunicarse con un PC, podemos controlar cualquier cacharrillo que disponga de este tipo de interface.

Aquí os dejo un video del funcionamiento comunicando con un PC.



Y para que vayais catando un poco las posibilidades, aquí os dejo tambien la primera aplicación. Un interface reproductor de MP3 para Spectrum.



Tal y como está es totalmente funcional, pero requiere de todo el tiempo de CPU para escuchar el bus cuando estamos esperando informacion.
El proximo paso será solucionar este tema implementando un buffer a base de interponer un microcontrolador baratillo, y de esa manera que se vayan guardando los datos hasta que el spectrum vaya a escucharlos.

Espero que os guste. :-]

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 21 Ene 2018, 12:10
por Pachuquin
Me encanta.

Me parece una idea genial. Voy a buscar algún módulo ethernet que funcione por puerto serie y ponemos en marcha una BBS. :D :D :D

¿Sería posible que fuera compatible con el puerto serie del IF1? Me refiero a que use los mismos puertos para usar programas hechos para el IF1.

EDITO:
Voy pidiendo este.
https://www.aliexpress.com/item/Q00195- ... 16229.html
Más barato
https://www.ebay.es/itm/122919411211

Imagen

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 21 Ene 2018, 16:37
por wilco2009
Pachuquin escribió: 21 Ene 2018, 12:10 Me encanta.

Me parece una idea genial. Voy a buscar algún módulo ethernet que funcione por puerto serie y ponemos en marcha una BBS. :D :D :D

¿Sería posible que fuera compatible con el puerto serie del IF1? Me refiero a que use los mismos puertos para usar programas hechos para el IF1.
Habría que ver, pero depende de como se maneje esa red

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 21 Ene 2018, 16:54
por Pachuquin
Cuando puedas danos un poco más de información.

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 21 Ene 2018, 17:49
por wilco2009
Pachuquin escribió: 21 Ene 2018, 16:54 Cuando puedas danos un poco más de información.
Para que te sirva para el interface ethernet, creo que habría hacer el segundo paso de implementar el buffer, ya que ahora mismo o envias datos o recibes, pero no puedes hacer las dos cosas a la vez, y si estás enviando y te envian un dato se te escapa porque no estás escuchando.

El tema del buffer es sencillo implementarlo con un microcontrolador, ya que unicamente tengo que añadir una señal que le de permiso al microcontrolador para enviar datos, y de esa manera asegurarse que el Z80 está escuchando. Mientras tanto se van guardando los datos en el microcontrolador.

Ahora mismo, tal y como está, uso el puerto 31 tanto en lectura como en escritura.
Para enviar datos, el Z80 debe hacer outs al puerto 31 de manera sincronizada dependiendo de la tasa de baudios requerida, y todo eso está hecho a base de controlar el número de ciclos de procesador que se consumen en cada instruccion del bucle de envio, añadiendo bucles de calibracion para que tarden el tiempo requerido.

En lectura es lo mismo pero a la inversa, pero como no hay buffer tienes que estar continuamente haciendo pooling mediante INs al puerto 31.

El tema es que no se puede estar escuchando al mismo tiempo que escribiendo (no da tiempo), por lo que cuando escribes datos no puedes recibir.

Ya digo que implementando el microcontrolador esto se soluciona.

Cuando tenga terminada esa parte publicaré toda la información.

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 22 Ene 2018, 12:37
por wilco2009
Bueno, pues ya tengo completamente funcional el software de control del reproductor de mp3, completado y con errores corregidos.
Os dejo un vídeo para que lo veáis.



Por otro lado, la idea era ir incorporando gadgets al interface, por lo que creo que puede ser una buena idea hacerlo modular, de tal manera que se puedan incorporar nuevos gadgets sin cambiar la placa.

Una de las cosas que se le podrá añadir, será un arduino nano que hará las veces de buffer para liberar al z80. Imprescindible para gadgets tipo convertidor wifi o ethernet.

Voy a empezar con el diseño de esa parte y cuando la tenga a ver si hago una tirada de placas, y liberaré el software para que podáis vosotros mismos incorporarle gadgets al invento.

Tener en cuenta que si añadimos el arduino, además de tener un buffer nos va a permitir controlar desde el spectrum cosas que no se controlan por puerto serie, como son pantallas I2C, displays de 7 segmentos, motores paso a paso, etc.

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 22 Ene 2018, 13:48
por iturbez
Interesantisísisidmo...
Me apunto a ver en qué acaba esto... :o :o

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 22 Ene 2018, 23:51
por flopping
Y digo yo una cosa, si estás usando el puerto 31, ya no podemos usar joysticks kempston?, ::? , se puede usar otro puerto?, no sé si tendrá mucha importancia o no, pero estaría bien poder usar los joysticks por si se implementa alguna aplicación que los use, bueno aún tenemos los joysticks Sinclair y demás normas, pero bueno, es solo una observación.

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 23 Ene 2018, 00:00
por Spirax
controlar un arduino con el spectrum?

interesante.
me apunto.

Re: Interface serie TTL para Spectrum- con reproductor MP3!!

Publicado: 23 Ene 2018, 00:22
por wilco2009
flopping escribió: 22 Ene 2018, 23:51 Y digo yo una cosa, si estás usando el puerto 31, ya no podemos usar joysticks kempston?, ::? , se puede usar otro puerto?, no sé si tendrá mucha importancia o no, pero estaría bien poder usar los joysticks por si se implementa alguna aplicación que los use, bueno aún tenemos los joysticks Sinclair y demás normas, pero bueno, es solo una observación.
El puerto 31 lo uso solamente en las pruebas. He pedido un puerto de lectura/escritura al zxi specification team. Como la decodificacion la tengo en la CPLD y esta está infrautilizada, no hay problema en usar el puerto que sea.

Si no me responden, ya usaré otro puerto bajo mi responsabilidad, sabiendo que siempre se puede reprogramar la CPLD