Yesterday night I pulled out my oscilloscope and tweaked the timings used by the software serial implementation. I noticed some bits getting lost and tracked it down to the "edge delay" used to sync up with the start bit.
Now data transmission is much more reliable than before. Nonetheless, it is recommended to employ a protocol with checksums and re-transmit to ensure binary proof data transmission.
So, what should we do with it?
Maybe... allow the CP/M BDOS to load files via serial from a computer?
python bdos_companion.py /dev/ttyUSB0 ZORK1.COM Ready.
...and then on the Genius Leader 4000:
32K VGL CP/M 0.0.4 2019-11-14 by HotKey >SERIALLOAD LOADING... OK >RUN
I think we're on-track to playing ZORK during the holidays! :-)