First post, by superfury
Anyone knows what the actual meaning of bits 4/5 of the 8042 output port is?
OSdev (https://wiki.osdev.org/%228042%22_PS/2_Contro … ler_Output_Port) says it's the status of IRQ1 and output buffer full from first/second PS/2 port (so basically bits 0 and 5 of the status register in 2 bits). So setting bit 5 will set bits 0&5 of the status register and IRQ12 and clear IRQ1. Otherwise, setting bit 4 will set bit 0 of the status register and IRQ2 and clear bit 5 of the status register. If neither is set, bits 0&5 of the status register will be cleared and IRQ1 and IRQ12 lowered?
Or is what Bochs says correct? It's just an input/output buffer full status mirror? What happens when software tries setting/clearing those bits and setting them to a different value than read? Or are they ROM (so writes have no effect on them)?
UniPCemu currently uses them as a output buffer full flag for first/second PS/2 port (according to OSdev).
Anyone knows the truth?
Edit:
Re: 8042 operation and command set
Apparently they aren't the buffer full/aux bits? They're just the IRQ lines driven by the 8042? So the status register is unaffected by it, but changes in the status affects it to raise/lower IRQ lines instead?
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io