blob: 935d54c17f664cde86d4bbce0059171a03289e34 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
High bit(s) sometimes set high on rcvd serial bytes when char size < 8 bits
I *believe* (not confirmed) that the old standard PC serial ports, when configured with a character size of 7 bits or less, should set non-data bits to 0 when the CPU reads received chars from the read register. qemu doesn't do this.
Windows 1.01 will not make use of a serial mouse when bit 7 is 1. The ID byte that the mouse sends on reset is ignored. I added a temporary hack to set bit 7 to 0 on all incoming bytes, and this convinced windows 1.01 to use the mouse.
note 1: This was using a real serial mouse through a passed-through serial port. The emulated msmouse doesn't work for other reasons.
note 2: The USB serial port I am passing through to the guest sets non-data bits to 1. Not sure if this is the USB hardware or linux.
note 3: I also needed to add an -icount line to slow down the guest CPU, so that certain cpu-sensitive timing code in the guest didn't give up too quickly.
|