Probando el TZXDuino [y CASDuino, MaxDuino,...]
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.
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.
Re: Probando el TZXDuino
@acf76es, perdón, pensaba que lo habia contado ...
+ El Motor Mask es el control por motor. Le he cambiado el nombre porque realmente lo que se utiliza es una variable como máscara para tener en cuenta si se tiene en cuante la entrada rem de 2.5mm o no; i.e nada nuevo, sólo un cambio de nombre (el mismo que he utilizado en la versión de tapuino).
+ El pause Mask (Skip Pauses) lo que hace es volver a emular el comportamiento primitivo de Maxduino, para poder saltarse las pausas. Para los puristas y los usuarios de Amstrad es un sacrilegio.. para otros casos como en zx puedes cargar más rápido. Si está activado, pues se las salta, y también es una máscara activado/desactivado
Nuea versión Maxduino v1.22:
http://filecloud.io/h12u7jgft
+ Optimizaciones, corregido bug en la impresión del control por motor, introducido al modificar la rutina de impresión
+ Corregido rebote molesto del boton stop al volver del menu, se recuperan nombres antiguos de las opciones.
+ Ahora el scroll tiene en cuenta el tamaño de la pantalla.
+ El Motor Mask es el control por motor. Le he cambiado el nombre porque realmente lo que se utiliza es una variable como máscara para tener en cuenta si se tiene en cuante la entrada rem de 2.5mm o no; i.e nada nuevo, sólo un cambio de nombre (el mismo que he utilizado en la versión de tapuino).
+ El pause Mask (Skip Pauses) lo que hace es volver a emular el comportamiento primitivo de Maxduino, para poder saltarse las pausas. Para los puristas y los usuarios de Amstrad es un sacrilegio.. para otros casos como en zx puedes cargar más rápido. Si está activado, pues se las salta, y también es una máscara activado/desactivado
Nuea versión Maxduino v1.22:
http://filecloud.io/h12u7jgft
+ Optimizaciones, corregido bug en la impresión del control por motor, introducido al modificar la rutina de impresión
+ Corregido rebote molesto del boton stop al volver del menu, se recuperan nombres antiguos de las opciones.
+ Ahora el scroll tiene en cuenta el tamaño de la pantalla.
Última edición por rcmolina el 02 Dic 2017, 15:52, editado 1 vez en total.
- Spirax
- Demonio tercer orden
- Mensajes: 715
- Registrado: 09 Oct 2017, 17:03
- Ubicación: Leganes (Madrid)
- Has thanked: 24 times
- Been thanked: 47 times
Re: Probando el TZXDuino
genial gracias r@rcmolina .
a probar la 1.22
me di cuenta de otra tonteria a principios de esta semana pero no pude comprobar el codigo hasta ahora ....
en la funcion
void loop(void) {
donde se comprueba la longitud del nombre del fichero para hacer el sroll hay un 15 y creo que debe ser un 16
if((millis()>=scrollTime) && start==0 && (strlen(fileName)>15)) {
if((millis()>=scrollTime) && start==0 && (strlen(fileName)>16)) {
me di cuenta por que tengo varios juegos con el nombre justo de 16 caracteres que caben bien en pantalla pero que los hacia scroll.
cambiando de asunto...
una petición, y esta se que no es facil por que creo que ya esta pedida ...
poder navegar (subir bajar) entre bloques de tzx y buscar un sitio en la pantalla para poner el bloque que se esta reproduciendo.
a probar la 1.22
me di cuenta de otra tonteria a principios de esta semana pero no pude comprobar el codigo hasta ahora ....
en la funcion
void loop(void) {
donde se comprueba la longitud del nombre del fichero para hacer el sroll hay un 15 y creo que debe ser un 16
if((millis()>=scrollTime) && start==0 && (strlen(fileName)>15)) {
if((millis()>=scrollTime) && start==0 && (strlen(fileName)>16)) {
me di cuenta por que tengo varios juegos con el nombre justo de 16 caracteres que caben bien en pantalla pero que los hacia scroll.
cambiando de asunto...
una petición, y esta se que no es facil por que creo que ya esta pedida ...
poder navegar (subir bajar) entre bloques de tzx y buscar un sitio en la pantalla para poner el bloque que se esta reproduciendo.
- acf76es
- Demonio tercer orden
- Mensajes: 829
- Registrado: 03 Nov 2014, 22:48
- Ubicación: Cantabria
- Has thanked: 1 time
- Been thanked: 39 times
Re: Probando el TZXDuino
saludos:
al estar desconectado alrededor de una semana y algo mas.. igual en comentarios anteriores lo habéis hablado en relación a pause mask y no lo he visto.
me gustaría dar mi opinión personal al nombre mask control, a mi modo de ver soy mas partidario de llamarlo control remoto ó remote, debido de cara a nivel de usuario (solo es una opinión personal ya que es un proyecto que está bastante gente ayudando y aportando su parte en este proyecto no quiero que mal interprete el que se cambie la dicha.)
lo que comenta expirax en poner el nombre del bloque del que se está reproduciendo si se puede hacer.. creo que esta libre la tercera fila creo del OLED, lo que pasa es que estaría cargada la pantalla, pero seguramente con la pantalla PCD8544 quedaría mejor.
al estar desconectado alrededor de una semana y algo mas.. igual en comentarios anteriores lo habéis hablado en relación a pause mask y no lo he visto.
me gustaría dar mi opinión personal al nombre mask control, a mi modo de ver soy mas partidario de llamarlo control remoto ó remote, debido de cara a nivel de usuario (solo es una opinión personal ya que es un proyecto que está bastante gente ayudando y aportando su parte en este proyecto no quiero que mal interprete el que se cambie la dicha.)
lo que comenta expirax en poner el nombre del bloque del que se está reproduciendo si se puede hacer.. creo que esta libre la tercera fila creo del OLED, lo que pasa es que estaría cargada la pantalla, pero seguramente con la pantalla PCD8544 quedaría mejor.
- Spirax
- Demonio tercer orden
- Mensajes: 715
- Registrado: 09 Oct 2017, 17:03
- Ubicación: Leganes (Madrid)
- Has thanked: 24 times
- Been thanked: 47 times
Re: Probando el TZXDuino
Bueno realmente son dos peticones, por un lado poder cambiar de bloque mientras se reproduce, osea adelatar o atrasar, en los multicarga con niveles es imprescindible.
la segunda actualmente es opcional, el ver que bloque estamos reproduciendo. si no podemos movernos entre bloques no es realmente necesario.
y una tercera sugerencia o idea personal.
veo que se implmento un reboniando para reinciar la reproducion desde el principio.
si es muy complicado hacer la navegacion entre bloques, creo que seria mas practico dentro de las posibilidades de que se pueda hacer, hacer rewing del bloque actual en vez del fichero entero.
no se si es posible por tema de contadores y registros imagino que el rewing del fichero es reinicializarlos todos y ya esta, pero par rebobinar el bloque actual tendriamas que tener registrado donde empezaba, los bytes que llevaba en ese momento y demas y eso por lo poco que pude ver el codigo no se registra
pero seria mas practico, ya que a veces en los multicarga, no estas pendiente y cuando termina un bloque se te pasa y empieza a reproducir el siguiente y ya se arruino la carga.
ejemplo practico la abadia del crimen spectrum 128k.
un juego que tarda su ratillo en cargar y a veces no estas pendiente. en medio de la carga al finalizar uno de los bloque el juego te empieza a contar la historia y hay que parar la reproducion, si no estas delante del boton pausa para pararlo o si lo paras unos segundos despues ya la has cagao, porque se ha reproducido el tono guia del bloque siguiente y ya no puedes continuar la carga del juego por que el rewing rebobina todo.
si el rewing permitiera reiniciar el bloque en curso se podria continuar la carga
espero haberme explicado bien.
gracias
Re: Probando el TZXDuino
Actualizado de nuevo Maxduino v1.22:
http://filecloud.io/h12u7jgft
+ Optimizaciones, corregido bug en la impresión del control por motor, introducido al modificar la rutina de impresión
+ Corregido rebote molesto del boton stop al volver del menu, adicionalmente se recuperan los nombres antiguos de las entradas.
+ Ahora el scroll tiene en cuenta el tamaño de la pantalla.
- El control de bloques es un objetivo para estas Navidades-Reyes, de momento sobre tzxduino.
- He pedido ayuda a Natalia Pujol para investigar la carga de los ficheros CAS a 3600 en MSX, posiblemente algún problema de implementación (con tsx o via wav/PC convertidos con cas2wav cargan correctamente, pero con onda senoidal en vez de cuadrada)
http://filecloud.io/h12u7jgft
+ Optimizaciones, corregido bug en la impresión del control por motor, introducido al modificar la rutina de impresión
+ Corregido rebote molesto del boton stop al volver del menu, adicionalmente se recuperan los nombres antiguos de las entradas.
+ Ahora el scroll tiene en cuenta el tamaño de la pantalla.
- El control de bloques es un objetivo para estas Navidades-Reyes, de momento sobre tzxduino.
- He pedido ayuda a Natalia Pujol para investigar la carga de los ficheros CAS a 3600 en MSX, posiblemente algún problema de implementación (con tsx o via wav/PC convertidos con cas2wav cargan correctamente, pero con onda senoidal en vez de cuadrada)
- Pachuquin
- Demonio tercer orden
- Mensajes: 828
- Registrado: 18 Ene 2014, 00:51
- Ubicación: Septem fratres
Re: Probando el TZXDuino
Me encanta el Maxduino. Gran trabajo.
¿Que te parece cambiar el "if" de la detección de la tarjeta por un "while" y el "return" por un "delay(250)?
¿Y cambiar las esperas de botones a nivel alto por un procedimiento? Se ganan casi 200bytes.
por
¿Que te parece cambiar el "if" de la detección de la tarjeta por un "while" y el "return" por un "delay(250)?
¿Y cambiar las esperas de botones a nivel alto por un procedimiento? Se ganan casi 200bytes.
Código: Seleccionar todo
while(digitalRead(btnPlay)==LOW) {
//prevent button repeats by waiting until the button is released.
delay(50);
}
Código: Seleccionar todo
debounce(btnPlay);
void debounce(int boton){
while(digitalRead(boton)==LOW){
delay(50);
}
}
Re: Probando el TZXDuino
@Pachuquin, ahora estoy fuera de viaje, pero todas las mejoras las incorporamos. Mi objetivo es que sea un proyecto abierto, de todos.
Llevo unos días investigando el códido fuente del cas2wav, cambiando la salida a forma cuadrada en vez de sinusoidal. Me funciona la carga a 3600 sin problema. Hay una cosa curiosa que ando detrás de una explicación lógica. Si bajo la frecuencia de muestreo a la mitad, (da igual que sea cuadrada o sinusoidal) consigo que me cargue desde el portátil si subo más el volúnen. Para los que saben de electrónica ¿Hay alguna relación entre el volumen y posible aumento de la frecuencia? ¿alguna explicación lógica?
Como sabéis el tzxduino no llega con su hw a velocidades altas de muestreo 44100Hz..
Llevo unos días investigando el códido fuente del cas2wav, cambiando la salida a forma cuadrada en vez de sinusoidal. Me funciona la carga a 3600 sin problema. Hay una cosa curiosa que ando detrás de una explicación lógica. Si bajo la frecuencia de muestreo a la mitad, (da igual que sea cuadrada o sinusoidal) consigo que me cargue desde el portátil si subo más el volúnen. Para los que saben de electrónica ¿Hay alguna relación entre el volumen y posible aumento de la frecuencia? ¿alguna explicación lógica?
Como sabéis el tzxduino no llega con su hw a velocidades altas de muestreo 44100Hz..
- acf76es
- Demonio tercer orden
- Mensajes: 829
- Registrado: 03 Nov 2014, 22:48
- Ubicación: Cantabria
- Has thanked: 1 time
- Been thanked: 39 times
Re: Probando el TZXDuino
saludos, estoy realizando pruebas con el display PCD8544 con el MAXDUINO V1.22 y tengo una duda en relación el código del fichero Display:
en el apartado PCD8544 hay dos logos, logo 1 y logo2, se puede elegir?
se puede integrar en el display PCD844 los logos que se han creado para el OLED1306?
un saludo.
en el apartado PCD8544 hay dos logos, logo 1 y logo2, se puede elegir?
se puede integrar en el display PCD844 los logos que se han creado para el OLED1306?
un saludo.
Re: Probando el TZXDuino
@acf76es,hola Alfredo la verdad es que le eché un vistazo hace unos días, el logo está dividido en dos mitades, desconozco porqué Duncan lo hace así (no le veo sentido a esta complicación). El problema es que no tengo una PCD para probar.. Si estás interesado y me ayudas a hacer unas pruebas lo dejamos también seleccionable como en la versión oled.
- acf76es
- Demonio tercer orden
- Mensajes: 829
- Registrado: 03 Nov 2014, 22:48
- Ubicación: Cantabria
- Has thanked: 1 time
- Been thanked: 39 times
Re: Probando el TZXDuino
saludos rcmolina, por mi parte no hay ningún problema en realizar los test para dejar al día dicho display PCD 8544.
Un saludo.
Un saludo.