Commit Graph

408 Commits

Author SHA1 Message Date
OBattler
69f76176fe Removed unncessary files. 2023-05-07 03:30:42 +02:00
OBattler
ecb8091d41 Fixed Cacodemon345's OHCI mess and implemented proper OHCI IRQ updating, fixes the Gigabyte GA-5AX POST. 2023-05-07 02:53:04 +02:00
OBattler
f16f7a2464 Some minor Logitech serial mouse bug fixes and implemented the auto baud rate mode. 2023-05-02 21:53:42 +02:00
Cacodemon345
29ca01d290 mouse_wacom_tablet.c: fix warnings 2023-05-01 12:12:59 +06:00
OBattler
125315ee61 Fixed the KBC PCI flag, fixes the logo on the TriGem HAWK. 2023-04-30 18:24:14 +02:00
OBattler
1057722efc Command A5 is in fact the IBM PS/2 Load Security command, fixes the AMI Excalibur PCI Pentium. 2023-04-30 18:21:17 +02:00
OBattler
1eaa3830d3 KBC command output is now correctly two-phased like in the M&KB branch, fixes keyboard input on the Intel Advanced/EV with no PS/2 mouse. 2023-04-30 17:13:03 +02:00
OBattler
78a897f07a Some minor fixes, the PS/2 mouse command F0h (set remote mode) is now implemented, the PS/2 mouse command F3h (set sample rate) now actually changes the host mouse polling rate, and the Intel SIO IB and ZB now forcibly initialize a keyboard and mouse IRQ latch if the board has a PS/2 keyboard controller, to simulate the presence of a latch external to the chip. 2023-04-26 01:42:23 +02:00
OBattler
3b54cb085e Some minor bugfixes. 2023-04-24 02:47:17 +02:00
OBattler
8d6181de50 A small change in device/keyboard_at.c so the keyboard no longer loses track of what command a parameter is intended for when interrupted by another command. 2023-04-22 08:38:15 +02:00
OBattler
5d9de974ee More keyboard controller clean-ups and fixes to mem/mem.c and port_92.c - OS/2 1.3 now works on IBM PS/2 MCA machines. 2023-04-22 03:48:50 +02:00
OBattler
041e916472 AS small optimization. 2023-04-20 15:05:51 +02:00
OBattler
634ecfeab9 More clean-ups. 2023-04-20 14:50:44 +02:00
OBattler
0458034cbf Some clean-ups. 2023-04-20 14:28:37 +02:00
OBattler
06fc5e9d0d Committed the two missing files. 2023-04-19 23:46:33 +02:00
OBattler
19d155cdd7 Keyboard controller file split and assorted clean-ups and fixes 2023-04-19 23:34:32 +02:00
OBattler
436382a147 The BAT enables scanning. 2023-04-16 17:46:09 +02:00
OBattler
5b850c053a Some fixes and preparations for the split of keyboard_at.c. 2023-04-16 17:16:04 +02:00
OBattler
df24b4be0f Reverted the previous approach and switched to the new, non-hacky approach of getting rid of the accelerator and instead handling enter full screen the same way exit full screen is handled. 2023-04-13 22:47:42 +02:00
OBattler
72951cab95 Removed the reset delay workaround as the latest Xi8088 BIOS (0.9.8) no longer requires it. 2023-04-12 21:05:51 +02:00
OBattler
b753c675fb Fixed the PS/2 keyboard and mouse latch initialization - now the mouse latch actually works, fixes mouse in AMI WinBios Setup and 8603 errors on MCA IBM PS/2's. 2023-04-12 20:23:31 +02:00
OBattler
ec09ce3eb8 Some clean-ups in src/device/keyboard_at.c - keyboard_mode is now only used for the scan code set. 2023-04-12 04:19:26 +02:00
OBattler
f948df0415 Re-enabled AT / PS/2 keyboard scan code set 1 support - fixes DG/UX, but somehow does not break TSX32. 2023-04-12 02:31:09 +02:00
OBattler
ef17003f1b Fixed the "minor bug fix" in the AT / PS/2 keyboard controller, reworked PS/2 keyboard controller IRQ latches, and correctly disabled memory top remaps if there's more than (16 MB - remap size) RAM (fixes segmentation faults on some machines with 16+ MB of RAM). 2023-04-11 23:21:52 +02:00
OBattler
5da3e78fc1 Save SavedKbd before resetting the queues, fixes the segmentation fault. 2023-04-10 19:18:39 +02:00
OBattler
e33ae8a2af Preparations for splitting keyboard_at.c into multiple files. 2023-04-10 18:59:38 +02:00
OBattler
d3bd8fb1ae Moved scan code translation to the keyboard controller's side where it should be and removed an excessive keyboard command queue add function. 2023-04-10 14:08:36 +02:00
OBattler
c614efa075 Fixed scan code translation skip checking (fixes missing break code on Alt+Print Screen / SysRq) and actually committed the Acer V10 fix. 2023-04-10 13:45:55 +02:00
OBattler
1c4afad095 The keyboard controller now waits for the keyboard or mouse to process a command, hopefully fixes the remaining 301 errors on the IBM PS/2 models. 2023-04-09 23:24:03 +02:00
OBattler
4eb902d853 More keyboard controller fixes. 2023-04-09 19:44:15 +02:00
OBattler
af8575b47b Made keyboard_input() correctly translate 0xe11d into the 0x0100 special case. 2023-04-09 04:57:48 +02:00
OBattler
7b76b2af27 The PS/2 mouse poll is now also a state machine and fixed output port writes on AMI PS/2 keyboard controllers - fixes PS/2 mouse in Windows 3.1 on some machines. 2023-04-09 04:36:28 +02:00
OBattler
4471849891 The keyboard now is now also a state machine. 2023-04-09 00:59:10 +02:00
OBattler
d4b57298ad Fixed the keyboard controller reset state, fixes Xi8088. 2023-04-08 03:11:53 +02:00
OBattler
c786eb0924 Fixed input port intialization, fixes the logo on the Epson Action PC. 2023-04-08 01:42:09 +02:00
OBattler
289962319f Rewritten the PS/2 poll (without the password security state, that is yet to be done) and enabled the PS/2 KBC IRQ latch on all PCI machines as well (it is present at the very least on Intel SIO and PIIX), fixes Windows for Workgroups 3.11 input, and reduced mouse polling to 255 Hz (the maximums supported by PS/2 mice). 2023-04-08 00:40:57 +02:00
OBattler
1c8fd2c7fc Rewritten the AT KBC polling, PS/2 is coming soon. 2023-04-07 23:36:02 +02:00
OBattler
9ea3014c59 The keyboard controller now correctly processes IBF even if OBF is set, fixes AMIBIOS 6.x machines such as the Supermicro P6SBA. 2023-04-07 15:23:09 +02:00
OBattler
c4a0d77623 Continued keyboard controller work - the controller part of the poll is now a state machine and the PS/2 MCA IRQ latch (cleared on port 0x60 read) is back - fixes #3238. 2023-04-07 00:52:26 +02:00
OBattler
c2499f7a37 Fixed a compile-breaking mistake. 2023-04-05 22:14:48 +02:00
OBattler
0d7997f802 Current state of the keyboard and mouse work. 2023-04-05 22:13:16 +02:00
OBattler
a41935301b Process command D1 (write output port) instantly, required for Windows 95 to work correctly on some chipsets such as SiS 50x. 2023-04-02 23:21:20 +02:00
OBattler
1c2100da5a Turns out reading always the same value on port 60h is in fact correct. 2023-04-02 23:00:14 +02:00
OBattler
aab8eb809d More keyboard controller improvements - fixes IBM AT boot, CTRL and ALT getting stuck on pressing CTRL+ALT+ESC on Acer BIOS'es, Norton Commander behaving strangely after pressing ALT+Print Screen, and also moved PS/2 mouse command responses to their own queue to simulate the fact that on real hardware, PS/2 mouse commands, like keyboard commands, bypass the FIFO. 2023-04-02 04:17:33 +02:00
OBattler
21d31bb839 More AT / PS/2 keyboard controller bugfixes - implemented AMI command A5h (get extended controller RAM), moved command byte to the correct memory byte 0x20, fixed the IBM AT ACh command (diagnostic dump), increased keyboard controller queue to 64 bytes (to accomodate the ACh command), and made port 60h return 0xFF if OBF is clear (fixes the mess on AMI BIOS'es, and makes pressing INS actually work to get those BIOS'es into debug and CMOS bypass mode). 2023-04-01 01:58:38 +02:00
OBattler
542f8477e7 Fully cleaned up the AT keyboard controller add data mess. 2023-03-30 23:50:14 +02:00
OBattler
1cf4f95836 The host mouse is now polled at 3600 Hz (the individual guest mouse types then run at their own rates), making the mouse consideraly smoother. 2023-03-30 01:39:00 +02:00
OBattler
f4f9926004 AT / PS/2 keyboard controller status byte is no longer updated when bytes are added to the keyboard or mouse FIFO, fixes loss of input after some time of PS/2 mouse movement. 2023-03-29 23:15:53 +02:00
Cacodemon345
9b3626e88c wacom: Fix settings reporting 2023-03-04 12:24:35 +06:00
Cacodemon345
ff0a39bbaa Add and enable Wacom ArtPad emulation 2023-03-04 11:35:10 +06:00