Commit Graph

387 Commits

Author SHA1 Message Date
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
Cacodemon345
90826277aa mouse_wacom_tablet: Make data a FIFO
Windows 3.x Wacom handwriting mode now behaves correctly
2023-03-03 22:37:59 +06:00
Cacodemon345
85ddf5db3a Merge remote-tracking branch 'origin/master' into qt-wacom-serial 2023-03-02 23:31:20 +06:00
Cacodemon345
32076a16ac mouse_wacom_tablet: Point mode is disabled when suppressed mode is enabled 2023-03-02 16:47:42 +06:00
Cacodemon345
9d1175d1d8 Prepare for ArtPad emulation 2023-03-02 16:45:47 +06:00
Cacodemon345
c68b0a416a mouse_wacom_tablet: Resets now set the mode properly 2023-03-02 14:05:38 +06:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -05:00
Cacodemon345
f9cd6c9b5f Set default tablet tool to Pen 2023-02-18 01:16:16 +06:00
Cacodemon345
cdcd5327d6 Merge remote-tracking branch 'upstream/master' into qt-wacom-serial 2023-02-17 14:26:15 +06:00
Cacodemon345
7f66f8334e mouse_wacom_tablet: Always transmit coordinates when requested in remote mode 2023-02-17 11:36:13 +06:00
Cacodemon345
29d7a7f265 mouse_wacom_tablet: Reset "always_report" to 0 as well
Fixes Windows 95 drivers
2023-02-17 11:04:24 +06:00
Cacodemon345
a96f40e5ef mouse_wacom_tablet: Change to snprintf for ID transmission 2023-02-17 01:48:29 +06:00
OBattler
7a0e52720d Merge branch 'master' of https://github.com/86Box/86Box 2023-02-16 20:10:16 +01:00
OBattler
b2f324262d Fixed more serial receiver FIFO bugs. 2023-02-16 20:10:05 +01:00
Miran Grča
6b6632e140 Merge pull request #3111 from Cacodemon345/qt-compile-fix
serial_passthrough: Allow configuration of named pipe parameter
2023-02-16 18:16:07 +01:00
Cacodemon345
3050dae395 serial_passthrough: Allow configuration of named pipe parameter 2023-02-16 17:27:04 +06:00
Cacodemon345
efaca1b106 wacom: Get rid of ID transmission hacks 2023-02-16 10:25:05 +06:00
Cacodemon345
6d0f4fc723 Merge remote-tracking branch 'upstream/master' into qt-wacom-serial 2023-02-16 10:24:28 +06:00
OBattler
f6c8080bdc Fixed MSR writability, fixes Error D on the IBM PCjr. 2023-02-16 02:43:06 +01:00
OBattler
3d480a6ffc A small fix to the serial receiver FIFO - fixes error 1101 on IBM PS/2 Models 70 and 80. 2023-02-16 00:15:04 +01:00
Cacodemon345
f4d985b3da serial: Fix compilation with Qt 2023-02-15 21:37:20 +06:00
OBattler
9d59f72f0b Rewrote the serial port receiver FIFO. 2023-02-15 16:00:46 +01:00