Commit Graph

117 Commits

Author SHA1 Message Date
OBattler
87c5c59646 Some copyright header fixes. 2023-08-14 21:13:37 +02:00
Jasmine Iwanek
922c4335ae Next round of sonarlint cleanups 2023-06-27 21:17:13 -04:00
Jasmine Iwanek
21adfd4d50 Next round of sonarlint cleanups 2023-06-26 18:28:13 -04:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04:00
OBattler
194918b86a Some minor keyboard and keyboard controller fixes and three-phased the keyboard and PS/2 mouse BAT. 2023-05-16 00:20:09 +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
0458034cbf Some clean-ups. 2023-04-20 14:28:37 +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
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
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
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
Jasmine Iwanek
a7236a9022 Make dual video card code use array 2023-02-06 07:29:18 -05:00
luennix
4085e4c928 PR for 86Box 2023-01-09 16:31:36 +03:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
Jasmine Iwanek
5def97d138 Port code related to coreboot BIOS from MTRR
Only used if MACHINE_COREBOOT is set in machine flags, so this is a pretty safe one
2022-11-05 21:43:09 -04:00
OBattler
fb8dcab3bd Fixed the handling of the Toshiba Fn keys, fixes #2778. 2022-10-31 04:04:47 +01:00
Jasmine Iwanek
9a3cabbe85 clang-format in src/device/ 2022-09-18 17:19:21 -04:00
OBattler
ef4cb33259 Reverted the old AMIkeyboard controller fix and implemented proper fixes to some AMI keyboard controller commands to make the Vi15G work with a 'F' keyboard controller. 2022-08-03 00:19:13 +02:00
OBattler
039b9e7662 Non-PS/2 AMI keyboard controller again identifies as 'H' instead of 'F', fixes #2545 as the AOpen Vi15G absolutely demands a 'H' keyboard controller. 2022-08-01 03:28:34 +02:00
OBattler
f9dbb5ea9f Fixes. 2022-07-23 16:31:29 +02:00
OBattler
bcd8f7e75a Added the ALi M5123 keyboard controller. 2022-07-23 16:29:50 +02:00
Jasmine Iwanek
a7edaf0608 src/device 2022-03-13 09:28:28 -04:00