Esto es un poco de soft y otro de hard, y es un proyecto derivado del desarrollo del sintetizador de voz para C64.
Para poder usar el sintetizador de voz con PIC en juegos, se me ocurrio controlarlo a 57600 bps, para que el envio de un byte tomara la menor cantidad de tiempo posible y dejara tiempo para el codigo del juego. Esto lo pude hacer perfectamente, pero despues se me ocurrio ver si la C64 podia leer datos desde el sintetizador, y al haber elegido esa velocidad para el envio, no quedaba otra que experimentar para ver si era posible.
Las pruebas con el sintetizador anduvieron bien, pero en el sintetizador todo funciona con situaciones controladas, se emite un byte y luego se recibe respuesta, el sintetizador no envia nada sin que antes envie la C64.
Para probar que tan lejos se podia llegar recibiendo datos a esa velocidad, me arme una interfaz RS232 para C64, ya que no tenia una, para poder probar la comunicacion con la PC, y ahi la recepcion ya no era tan buena. La placa que arme es un poco improvisada, pero dado que nunca envio y recibo a la vez, no deberia haber problemas de interferencias entre señales. La placa es un modulo para la placa de sintetizador de voz, ya que no tengo mas conectores para el puerto del usuario, decidi reemplazar el modulo con el PIC y poner el modulo RS232 en su lugar. Hay un monton de componentes que no tenia porque justamente son los que mas uso y arme demasiadas placas con esos, asi que no pude usar un MAX232 (por falta de capacitores de 1uF), y decidi armar la adaptacion de voltajes con un 7404, 4 resistencias y un diodo 1N4148, tal como hice en la placa para PC. En este caso no se alimenta del RS232 sino del puerto del usuario.
Van unas fotos, la placa grande es la del sintetizador de voz, que es modular, en las placas chicas normalmente va el PIC con el filtro de salida de audio, el resto (leds, jumpers, cristal) esta en la placa grande, porque es comun a todas las versiones. Yo aca estoy usando de eso nada mas que el conector para el puerto del usuario, y las señales RX, TX y masa.