It’s OK. Problem solved and no one lost his announcer’s job as a result. Yet it’s a fascinating story (?), and I shall try to explain:
See, I’m teaching my home-built computer to speak. Morse Code, ideal for a girl with a square-wave vocal tract.
This morning in the final stages of writing the program into labourious EPROMS, I tried a first test of the ‘Sender’ module, using ‘F’ as a test letter. Not even expecting success, I was shocked to hear it proudly sending me ‘Q’ after ‘Q’ until I unplugged it so I could think(!) What on earth could have caused this odd mixup!?
Digging back into the guts of the machine and Morse-ness, I realized that it was simply substituting a Dash for a Dot and likewise. But why?
It’s ‘F’ ‘how-to’ byte contained the hex number $20. That is, in binary ‘0010-0000. The left-most digit is the highest worth; right-most the lowest.
And by feeding it #20 and telling it to see each bit in order as ”1’ = dash and ‘0’ = dot (up to a limit of 4 bits in ‘F’s case)) you can see that I was asking it to output dot dot dash dot. Which is an ‘F’.
Five minutes of head-scratching and I knew the answer: the program was somehow calling a ‘0’ a dash and a ‘1’ a dot! And that would exactly result in dash-dash-dot-dash: a ‘Q’.
Now the beauty of software fixes is that no one need know afterwards that it’s in there, and that no soldering-gun is required.
I simply left the decoder program as written and changed/ reversed all the 26 codes for the letters. Five minutes,
And now the little horsie says ‘F’ when I say ‘F’, and ‘Q’ when I say ‘Q’.
Even though I suspect that she wuz tres happier FUQing up before the fix, jus’ for the digital hell of it.
And it’s a lovely Hellen Keller moment now that she can finally talk to me.
This is how I talk to her:
JS/ 5 MAR/ 2018 already.