Veo que no actualice este hilo. Aca hice una prueba de la nueva placa con la version 1.2, corriendo la aventura conversacional que ya esta adaptada para usar la salida MIC.
http://www.retrocomputacion.com/e107_plugins/forum/forum_viewtopic.php?94733.60#post_106770Y el sintetizador es publico pero es una version alfa, por lo que el que quiera armarse una placa me puede pedir el archivo .hex y se lo mando.
Por otro lado, estuve probando la aventura en la Timex Sinclair 2068 y carga perfectamente, hay compatibilidad total con la Spectrum, pero sigue dando el mismo problema que antes, habla unas palabras y despues no responde mas.
Hice un monton de pruebas y llegue a la conclusion de que es un problema de hard.
Unas fotos de la prueba:
Digo que parece ser problema de hard, porque en un momento deja de responder, y si uno desconecta el cable de MIC, espera unos segundos, vuelve a conectarlo y a enviar datos, el sintetizador responde bien.
Mirando los circuitos de la Spectrum 48K y de la TS2068, veo que la parte de cassette es diferente en las dos maquinas, en la Spectrum estan interconectados MIC y EAR, en la TS2068 no, y la salida MIC es similar, en la Spectrum termina en un capacitor en serie con la salida, en la TS pasado ese punto hay 2 o 3 capacitores en paralelo, es decir sosteniendo el voltaje que haya en la salida.
Supuse que lo que ocurre es que eso sostiene los unos y que necesitaba una resistencia a masa para descargarlo, ya que probablemente la entrada de microfono del grabador cumple esa funcion, y mi circuito, que funciona en la Spectrum, no.
Hice pruebas con resistencias, un poco probando valores y otro poco agregando presets para ir variando, enviando siempre un texto corto. Si enviaba una palabra, por ejemplo "saludos", lo que ocurria es que la primera vez la hablaba completa, la siguiente vez decia por ejemplo "salu" o "sal", despues "sa", luego "s", y al final ya no respondia mas o decia "s". Eso es sin agregarle una resistencia a masa en la salida MIC (la entrada del sintetizador), si le agregaba la resistencia, a medida que aumentaba el valor hablaba cada vez mas caracteres. Con un valor de alrededor de 100K ya hablaba la palabra completa siempre, y probando con frases largas el valor ideal tiene que estar cerca de 200K.
Tambien parece que en algun momento cuelga al sintetizador porque los datos deben llegar mal y excede el buffer, esto tengo que revisarlo ya que hasta ahora nunca paso eso cuando se envian mas datos de los que el PIC puede manejar, siempre se perdieron datos pero no dejaba de responder. Puede ser que justo la basura que le llega al PIC coincida con espacios o algo que le haga emitir silencio por un tiempo largo, aparentando que se cuelga. En uno de esos "cuelgues" le envie el comando para vaciar el buffer, y volvio a responder.
Asi que por lo visto hay una combinacion de cosas que se dan, lo mejor que pude lograr hasta ahora, con una resistencia de 200K a masa en la entrada del sintetizador, es que la aventura corra bien pero perdiendo palabras, parece que hay problemas cuando las frases son largas, pero esto en la Spectrum funciona perfectamente, asi que debe deberse a alguna interferencia entre MIC y el sintetizador, voy a tener que capturar lo que le llega al PIC para deducir que puede estar pasando.