Commit Graph

94 Commits

Author SHA1 Message Date
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
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
OBattler
bc90f99350 Finally got rid of the AT and PCI global variables. 2021-12-19 20:00:27 +01:00
OBattler
6661ff5dcc Abstracted away the machine bus'es and flags in order to make the rest of the emulator agnostic as to how they're stored. 2021-12-13 01:23:06 +01:00
OBattler
bcf96bd913 Properly fixed the IBM PS/2 Model 55SX, required reverting some keyboard controller changes and changes to the implementation of the memory control POS registers. 2021-12-08 22:05:55 +01:00
OBattler
eaf7032e63 Added another Olivetti workaround to the AT keyboard controller code (the rewrite that works just fine even on the Olivetti M240 without any hacks, can't come soon enough!), fixes #1861. 2021-11-30 17:05:06 +01:00
OBattler
f7177cc27a Reverted the AMI keyboard controller revision. 2021-11-29 21:26:30 +01:00
OBattler
460cae8450 Removed excess AT keyboard controller Pulse reset logging. 2021-11-25 14:21:04 +01:00
OBattler
cb31c9a61a Do not mirror memory byte bit 4 on the keyboard controller output port on the Olivetti KBC. 2021-11-22 00:39:11 +01:00
OBattler
0c307c2058 Ported the AT keyboard reset fixes from feature/machine_and_kb. 2021-11-21 18:17:45 +01:00
OBattler
3c7cdfa0f9 Implemented more AMI KBC commands, should fix the AMI Excalibur PCI-II. 2021-11-14 20:47:08 +01:00
OBattler
78f4259129 Fixed password jumper error on the TriGem Hawk. 2021-11-14 20:31:49 +01:00
OBattler
bfb3c0c324 Fixed the intendation mess in cpu/x86seg.c, removed port 61h handling from keyboard/keyboard_at.c, and fixed a function with undeclared type in win/win.c. 2021-11-13 23:15:28 +01:00
OBattler
758d8acb63 Temporarily reverted all keyboard changes. 2021-11-13 22:57:01 +01:00
OBattler
126688fc5e Added a comment related to the PB450. 2021-10-09 16:40:47 +02:00
OBattler
5ad606a8f2 UMC HB4 shadow RAM overhaul and SMRAM fixes, slight changes to SiS 85c4xx, a fix for SiS 85c50x, fixed SMBASE on 486 (it should *NOT* zero the most significant 8 bits!), various improvements to mem.c (eg. mem_invalidate_range() is now faster), fixed resetting PCI on soft reset, and made the KBC soft reset again. 2021-09-25 15:30:06 +02:00
OBattler
b8a2fdfd0a KBC reset is now hard reset. 2021-09-17 02:55:43 +02:00
OBattler
67367798a7 Merged various SMC FDC67C6xx Super I/O chips into one file, re-added the UMC88xx 486 chipsets (and four machines for it) based on work by tiseno100 and my own work, various other fixes, and added quite a few machines (including the AOpen AP5VM which now works), also added the remaining ALi M6117 machine (Protech SBC with Award BIOS), and made the Intel Advanced/ATX's on-board S3 Trio64V+ work, as well as the on-board S3 Trio64/V2 of the two Compaq Presarios. 2021-08-21 18:19:10 +02:00
OBattler
4a6f5ed045 Disabled keyboard logging. 2021-08-10 15:55:33 +02:00
OBattler
4b1c0a1597 And back. 2021-08-10 15:49:50 +02:00
OBattler
5c8d06ab35 Temporary revert of keyboard_at.c. 2021-08-10 15:48:58 +02:00
OBattler
d0cebfdc30 Reverted a KBC change that should not have been there. 2021-08-09 09:54:49 +02:00
OBattler
c26811308a Removed excess logging. 2021-08-09 07:51:23 +02:00