Probando el TSXDuino MEGA

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
Valfac Isle of Man
Demonio tercer orden
Demonio tercer orden
Mensajes: 500
Registrado: 26 Ene 2019, 20:31
Has thanked: 10 times
Been thanked: 15 times

Re: Probando el TSXDuino MEGA

Mensaje por Valfac »

Hola,

Te dejo el enlace de la librería que te hace falta:

https://github.com/adafruit/Adafruit_VS ... /master?q=

Saludos,

F.
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6381
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

Popopo

En mi Github, tienes las librerías necesarias para la 1.30M. -> Github MerlinKV

De todas formas, tras las últimas actualizaciones de Arduino y del MaxDuino, esas librerías ya no son necesarias. De hecho en la 1.54M ya no las uso para OLEDS SH1106 y SD1306.
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
capsule5000
Le gustan las llamas
Le gustan las llamas
Mensajes: 97
Registrado: 01 Oct 2018, 21:52
Been thanked: 5 times

Re: Probando el TSXDuino MEGA

Mensaje por capsule5000 »

Popopo escribió: 01 Mar 2020, 22:25
capsule5000 escribió: 01 Mar 2020, 22:08
Exacto, lo que sería interesante, ( y siempre lo sugiero como idea, haber que le parece a @rcmolina) es la de sintetizar 100% las funciones de cassette de los ordenadores de 8 bits. Lo que hay hasta el momento y funciona muy bien, es la reproducción de diferentes extensiones como los TZX, CAS,TSX y quizá alguno más, subir la velocidad de reproducción de los archivos hasta 3850bpm, retroceder bloques en aquellos juegos que son multicarga, y alguna opción más, que no la utilizo.... Otra función que disponía los cassettes era la de grabar y que sería una opción interesante que tuviera en un futuro el maxduino.
Oki doki boss!
Me pongo entonces a ello, si todo va ok, con los trabajos que debo entregar, igual para final de semana si tengo acceso a las librerías que usas (buscaré por la Internet), te lo preparo para tenerla disponible. :)
La parte audio no será problema. Porque de hecho ya la tienes en cuanto eres capaz de sacar el audio para cargar en un Spectrum original a través del Jack de Audio, ese mismo audio te vale para meterlo al Record de un casete.

La de grabar tu propio software, podría tener una emulación rápida si quieres... es la de grabarlo en formato digital como me imagino ya lo tienes en el SD y luego emular la grabación "reproduciendo" el audio del fichero almacenado en el SD, es decir, la carga del fichero, solo que esta vez... sin mandar a mostrar en pantalla la carga del Screen o cabecera, ni la ejecución del mismo. Tal y como hubiera sido la reproducción.

Osea, lo que se haría es emular la grabación en cinta, mediante la grabación normal de datos en SD (un segundo o menos imagino) y luego reproducir su carga sin mostrar nada por pantalla excepto las líneas de carga == con las líneas de grabación.

Con todo, para lo que te he indicado, voy a implementar lo que acabamos de hablar, es decir, no la simulación sino la salida a audio directo a través del JACK sin almacenaje previo en SD).
La verdad... es que el resultado es el mismo... emular de una u otra forma...

Guardar datos en SD -> reproducir audio de carga
Reproducir audio de grabación -> guardar en SD.

En cambio, si lo que deseas, es grabar desde el Spectrum con el Save "nombre" ... lo que se haría es leer los bits que entran por el Jack (pienso ahora que esto es lo que tratabas) y guardarlos en el SD como programa con el nombre pasado por parámetro en el formato que usas para leer los programas desde el SD. ¿era esto?
Exacto, hasta donde llegan mis conocimientos, con la placa VS1053 y el programa que te pasé, como montaje totalmente independiente a maxduino, pude grabar un pequeño programa hecho en BASIC y guardado en la propia SD de la placa VS1053, con una extensión OGG. Luego ese propio archivo al reproducirlo, el MSX lo leía y lo cargaba correctamente. Todo ello, conectado al MEGA2560, que controla la placa VS1053. Lo ideal........ no utilizar nuevo hardware, como mucho añadir un nuevo jack de REC......., pero mis conocimiento ya no llegan a tanto ;)
Última edición por capsule5000 el 02 Mar 2020, 09:34, editado 1 vez en total.
Avatar de Usuario
capsule5000
Le gustan las llamas
Le gustan las llamas
Mensajes: 97
Registrado: 01 Oct 2018, 21:52
Been thanked: 5 times

Re: Probando el TSXDuino MEGA

Mensaje por capsule5000 »

Hola @Popopo, a la hora de probar algo sobre alguna firm, tal como dice @merlinkv, lo mejor es la última firm que es maxduino 1.54M, que tiene muchas mejoras respecto a la 1.30M. La versión 1.30M lo único que tiene respecto a la 1.54M, es solo la función de borrado de archivos. No tiene sentido dedicarle tiempo a la 1.30M
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

merlinkv escribió: 02 Mar 2020, 08:44 Popopo

En mi Github, tienes las librerías necesarias para la 1.30M. -> Github MerlinKV

De todas formas, tras las últimas actualizaciones de Arduino y del MaxDuino, esas librerías ya no son necesarias. De hecho en la 1.54M ya no las uso para OLEDS SH1106 y SD1306.
Hola merlinkv,
Gracias por el link, por lo que veo no es tanto los drivers de las pantallas sino de los controladores de SD
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

Valfac escribió: 02 Mar 2020, 08:13 Hola,

Te dejo el enlace de la librería que te hace falta:

https://github.com/adafruit/Adafruit_VS ... /master?q=

Saludos,

F.
genial! gracias
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

capsule5000 escribió: 02 Mar 2020, 08:47 Exacto, hasta donde llegan mis conocimientos, con la placa VS1053 y el programa que te pasé, como montaje totalmente independiente a maxduino, pude grabar un pequeño programa hecho en BASIC y guardado en la propia SD de la placa VS1053, con una extensión OGG. Luego ese propio archivo al reproducirlo, el MSX lo leía y lo cargaba correctamente. Todo ello, conectado al MEGA2560, que controla la placa VS1053. Lo ideal........ no utilizar nuevo hardware, como mucho añadir un nuevo jack de REC......., pero mis conocimiento ya no llegan a tanto ;)
Buenos días boss!

Claramente si ya lo has logrado, no necesitas hardware adicional. De hecho, como usas un Jack estero, puedes tener salida a dos cables mono. :) de tal forma que:

Cargar => usa canal izq (o ambos).
Grabar => usa canal derecho o izquierdo (pero solo uno).

De esa forma con un solo jack puedes enganchar ambas salidas a un casete que tenga salida audio y micro. :) ¿no? :)
Osea... ya lo has logrado pero no te das cuenta de que lo has conseguido lo que querías.

Como el Spectrum no realiza carga y grabación al mismo tiempo, al igual que los casetes, pues... ya lo tenías logrado lo que pensabas!!!
¿me entiendes?
Ahora voy a probar la librerías que me habéis pasado a ver si el IDE no me da problemas.

Capsule... estoy con la versión que me pasaste del archivo, pero si hay versiones nuevas y ahora que has visto mi remodelación de la estructura por donde va ¿piensas que debería usar la última versión?
Añadido para MerlinKV: si puedes en la próxima placa meter un potenciometro a una entrada analógica sería genial ¿razón? como en los casetes... poder controlar la salida de audio. (que tras análisis sería a nivel interno del ATMEGA que se bajara el audio de los canales según la entrada del potenciómetro).

Sería un extra plus... y casi casi ya... sólo faltaría el diseño o adaptación de un tipo de casete de los de antes sustituyendo los pulsadores internos (o dejándolos) por la botonera que hiciera la vez de pulsadores o interruptores.

Esto esto me emociona!!! :)
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6381
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

Pues no sé, en la 1.30M para la SD se utiliza SdFat.h
...
#include <SdFat.h>
#include <TimerOne.h>
#include <EEPROM.h>
#include "MaxDuino.h"
...
Y para las pantallas SH1106 usaba las de Adafruit.
...
#ifdef OLEDSH1106
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>
#define OLED_RESET 4
Adafruit_SH1106 display(OLED_RESET);
char indicators[] = {'|', '/', '-',92};
#define SCREENSIZE 16
#define maxblock 10
#endif
...
Quizá sea cosa del emulador que usas ya que en los sketchs de la 1.30M no consta ninguna librería de Adafruit para controlar la SD.

Edito: Otra vez "solapados" escribiendo .... :)
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6381
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

@Popopo,

La verdad es que no entra en mis planes hacer un remake de una unidad de cassette. Quizá lo que me plantee en un futuro, siguiendo la idea de @capsule5000, es cambiar el tipo de amplificador por uno de otro tipo que produzca menos ruido de fondo a niveles altos y que me permita conectar un pequeño altavoz. Pero no creo que yo vaya a ir más allá con ésto.

Me gusta el sabor retro de poner unas cuantas "cintas" de vez en cuando y cargar juegos "a la vieja usanza", pero no creo que quiera grabar nada en formato cinta. Pero bueno, cada uno tiene sus gustos y preferencias. :)
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

merlinkv escribió: 02 Mar 2020, 08:44 En mi Github, tienes las librerías necesarias para la 1.30M. -> Github MerlinKV
De todas formas, tras las últimas actualizaciones de Arduino y del MaxDuino, esas librerías ya no son necesarias. De hecho en la 1.54M ya no las uso para OLEDS SH1106 y SD1306.
Hola,
te estoy siguiendo en el Github, veo diferentes versiones, no he entrado en detalle de cada una, si he mirado por encima la 1.5x.
Como tengo el archivo que me ha pasado Capsule5000 para trastear y modificar, pues no he tocado otra (al principio no entendía bien las ramificaciones de versiones o en que andaba metiendo mano) ahora lo tengo claro, pero entiendo que el archivo que me pasó el, es con el que desea hacer pruebas de integración con el resto de módulos.

Si hay otra cosa, yo encantado de hacer las implementaciones o cambios en la versión que sea compatible con lo que el esta intentando (que es muy muy cercano a lo que también quería hacer). Lo que no se merlinKV es si uso la de la versión 1.54M, el módulo será compatible con la versión que capsule5000 tiene implementada en su MaxDuino o MSXDuino...

lo ideal es tender a la misma versión todos, para hacerlo lo más portable posible. De forma que si se varía el código de menús, o de controles de las pantallas, esto sea directamente portable a cualquier versión del MDuino.

Una duda al respecto... estamos reproduciendo sistemas de carga y grabación para las diferentes plataformas Amstrand, Commodore, MSX, Spectrum, etc... el sistema es completamente independiente de la plataforma excepto en protocolo de grabación o empaquetado de los datos, o quizás las frecuencias de audio o los bauds, en algo es diferente porque suenan diferente. ¿se podrían unificar todas con un selector tipo perilla? de esta manera, con un único diseño se puede abarcar cualquier sistema.

Y una mucho más técnica. No he mirado como es la cabecera de carga de un archivo en el Spectrum o MSX, pero entiendo que podría leerse la cabecera en el ATMEGA y sacar la información de la cabecera de alguna forma. ¿es esto correcto? ¿por? porque quiero que cuando le demos al SAVE"nombre" desde el equipo, el MEGA primero lea esa cabecera, obtenga el nombre y con dicho nombre guarde el archivo. ¿me explico? Pero mis conocimientos sobre esta parte del MEGA y sus opciones de poder desentrañar una lectura de cabecera son nulos.

Un saludo
Responder

Volver a “Proyectos de hardware abiertos”