So, got the latest set of bugs quashed. This insistence by python3 in keeping different types of data (ie, integer, string, bytes) all different really is a pain. Mind you, once it's programmed it is nice and forces things to be "right".
One of the nice things about doing this is that you can stick a bunch of 1 byte values into a string, convert it to a bytearray and then, instead of calling up ord() and chr() all the time to read individual bytes in the array, you just examine then with standard string splicing notation.
Mind you, if you do it in one spot ... you really need to do it everywhere ... otherwise the whole tower collapses and you wonder just what in *#(*$ is going on.
I'll try to post a new version to bang on tomorrow. It seems to be PERFECT here