Hello garryj, chassum and others,
From garryj:
I'll be darned -- your serial I/O is working fine. I just dumped a listing from 4K and 8K BASIC and the high bit of keyword characters are set as you described -- 8K BASIC sets it on the first keyword character and 4K the last. I haven't ever combed an early MS BASIC disassembly, but I'd hazard a guess that they may have used the high bit to delimit keywords because memory constraints of the day were so tight and just about all terminal equipment was 7 bit.
That's a relief, but it's a bit strange, as well. The high bit flag is common for many old BASICs - I remember looking through the Sinclair ZX81 ROM and seeing the high bit set at the end of all keywords. Why would they pass it through to the terminal, though? Very odd.
I've tested it on SIMH and it does the same thing.
To chassum:
My terminal program - being GNU Screen - doesn't mention parity settings in its manual, and doesn't appear to have any way to set them. I'll try Minicom instead. Screen's good points are its terminal emulation and multiplexing capabilities, but it isn't quite as good with serial lines. Minicom is specifically intended for dial-up links, and it has parity options.
Fixed! Setting parity to 7M1 or 7S1 fixes it. It's been a long time since I've done this basic serial stuff, but I'm guessing that it sets comms to 7-bit, with an additional parity bit set to mark or space.
I'm pleased to report that I have got the Bluetooth serial adaptor working, and I'm now wirelessly testing this stuff, over Bluetooth. I had some trouble powering the device, so I tapped into the VBAT line. This will mean a bit of extra drain on the batteries, but means that the adaptor continues to work after the Altair is switched off. I think that I did this because I couldn't find a 3.3V line, and VBAT is close. It's not an ideal solution and I should probably use VDD on the main board - anyone (Vince?), is there any way to get at this easily?
Cheers,
Lex.