The first 32 characters in code page 437 were apparently mostly chosen in a single, four-hour “meeting” in a plane, with three people: David J. Bradley, who developed the PC ROM-BIOS, Andy Saenz, who was responsible for the PC’s video card, and Lew Eggebrecht, the IBM PC’s chief engineer. An email conversation with David J. Bradley mentions that
If you look ...
About 0.6 to 1 ms after the last one is read.
The 8042 keyboard controller does not queue scancodes; it just stops receiving bits from the keyboard until a byte is read from port 0x60. When a scancode byte is read out, the controller gets ready to receive another byte from the keyboard. But since serial communication is not instantaneous, actually receiving ...
[Caveat, this is from memory, and about a real PC-AT, with real, 16 bit BIOS and code]
When does an IBM-compatible PC keyboard controller dequeue scancodes?
(I assume this is about a PC-AT, not a PC or PC-XT)
Never, as there is no queue. At least none in hardware.
The 8042 has simply 4 registers Data In/Out, Status and Command. All synchronisation ...
Well, this is to be expected; the BIOS Data Area has only four slots for I/O addresses of serial ports, with slots for parallel ports immediately following. In the MEMORY.LST file from Ralf Brown’s, we can find the following entries0:
MEM 0040h:0000h - BASE I/O ADDRESS OF FIRST SERIAL I/O PORT
MEM 0040h:0002h - BASE I/O ADDRESS OF SECOND SERIAL I/O PORT
The BIOS list only contains addresses of up to four standard 8250-type COM ports found at boot at the standard addresses.
It will not contain more than four ports, it will not contain any non-8250 type COM ports, and COM ports at non-standard addresses, such as PCIE COM ports, and USB COM ports which don't have an IO address to begin with. It will not ...
The BIOS data area only has room for addresses of four com ports, at 40:00 through 40:07.
More serial ports would be driven by some device driver with some other place to store the address(es) and IRQ(s).