Hay que tener en cuenta que las rutinas de la ROM no desactivan la pantalla y permiten enviar y recibir en teoria simultaneamente, por eso no se garantiza mas de 1200 bps. La rutina que hice desactiva la pantalla y las interrupciones, y no hace chequeos de paridad o siquiera de que el bit de stop sea correcto. Ademas el tiempo necesario para incrementar el puntero para ir almacenando el byte recibido en memoria toma el tiempo suficiente como para perderse el siguiente bit de start, por lo que tengo que usar 2 bits de stop, para dar tiempo a la rutina a recibir el siguiente byte. Lo bueno es que de esta manera no es necesario un programa especial en el PC, porque el C64 esta preparado para recibir los bytes sin tiempo intermedio entre ellos, a 57600 bps. Estos tiempos criticos hacen que tenga que eliminar todos los chequeos posibles, pero teniendo en cuenta que hoy usamos cables cortos y es dificil que haya ruidos en la comunicacion, la recepcion deberia hacerse sin problemas. Tal vez tendria que hacer una suma de comprobacion y mostrarla al final, para estar seguro de que se recibio todo correctamente. Lo ideal seria que se enviara en bloques de 1 o varios KB con un minimo chequeo de errores, y el C64 le indicara al PC que debe reenviar ese bloque, pero esto requeriria un programa especial en el PC.
Lo que me va a faltar probar es el funcionamiento en un C64 PAL, ya que tanto mi C64 como mi C128 son NTSC.