Ha, da werden schon viele originelle Vermutungen geäussert:

2 Listen für die übersetzung zu verwenden, ist unsinnig. Man verwendet auch sicher keine Liste mit den Bitmustern. Also: KEINE Codelisten durchlaufen.
Wenn du alfanumerische Ausgabe hast, verwendest du eine einzige Liste und die enthält die Characters, die ausgegeben werden sollen. Wenn du das empfangene ohne alfanumerische Ausgabe einfach im Programm weiter verarbeiten willst, dann verwendet man eine Liste mit Unterprogrammadressen oder GAR KEINE Liste.

Der übliche Algo ist auch kein Gefrickel sondern ein recht elegantes Ding ohne Listen und ohne komplizierte Verzweigungen.

Die Programme passen sich sehr einfach den wechselnden Gebegeschwindigkeiten an, die bei normaler Handtastung vorkommen. Das geht automatisch und fliessend. Erst bei abrupten Temposprüngen aufs 2- oder 0.5 fache von einem Zeichenelement aufs nächste gibt es Aussetzer und dann funktionierts wieder normal auf der neuen Geschwindigkeit. Sowas kann man aber ausschliessen.

Bei der Erkennung von Ton und Pause per Software, kann ich dir aber nicht helfen, da ich das immer mit einer selektiven Transistorschaltstufe gelöst habe.

v.