Commit Graph

78 Commits

Author SHA1 Message Date
OBattler
8fca57aa79 Universalize the keyboard and mouse latches again, fixes #3280. 2023-05-01 01:35:16 +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
ff7c0ad45f Removed some excess logging from pic.c. 2023-04-16 17:48:14 +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
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
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
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
c06e9b35f2 Fix PIC level-triggered interrupts on IRQ's 0 to 7 (spotted by TC1995). 2023-01-26 22:29:51 +01:00
OBattler
27ebb27db7 Makefile.mingw corrections and made the code pass much stricter checks (now mandated by Makefile.mignw) to ensure GCC 14 readiness. 2022-11-17 22:44:06 +01:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
Jasmine Iwanek
e6dbaefeb1 clang-format in src/ 2022-09-18 17:19:21 -04:00
OBattler
dc38b7d950 The PIC now correctly processes slave interrupts in XT mode as well, fixes PS/2 mouse on the Xi8088, fixes #2045. 2022-08-01 03:16:44 +02:00
OBattler
69379b68b0 Implemented PIC IRQ freeze on poll mode start. 2022-07-31 04:45:26 +02:00
Adrien Moulin
2aa5d8f5b2 PIT: add alternative faster PIT
This is enabled by default on 486+ CPUs and can be forced disabled/enabled with pit_mode=0/1
2022-07-23 13:38:10 +02:00
Jasmine Iwanek
c430fbe84c Assorted cleanups I've discovered over time 2022-07-21 22:08:36 -04:00
OBattler
231afcbe11 PIC. 2022-07-16 03:23:21 +02:00
OBattler
d68121ae89 ACPI, APM, PIC, and USB. 2022-07-16 02:54:49 +02:00
OBattler
f19aaa14ae Fixed three instances of undefined behavior. 2022-02-20 20:30:20 +01:00
OBattler
1864a61b3e Fixed PIC reset on the Xi8088. 2022-02-11 00:23:57 +01:00
OBattler
bc90f99350 Finally got rid of the AT and PCI global variables. 2021-12-19 20:00:27 +01:00
OBattler
9765090991 Made pic_set_pci() also add aliases on 1120-113F and 11A0-11BF. 2021-10-04 19:52:04 +02:00
OBattler
63d208182a Fixed pic_set_pci(). 2021-10-04 15:38:43 +02:00
OBattler
114539b2b2 Added a pic_set_pci() function that adds the PIC I/O aliases. 2021-10-02 23:07:12 +02:00
OBattler
4f6df76f10 Revert "Revert "Merge branch 'feature/machine_and_kb' into master""
This reverts commit f2cd3756dd.
2021-07-04 17:40:39 +02:00
Daniel Gurney
f2cd3756dd Revert "Merge branch 'feature/machine_and_kb' into master"
This reverts commit 6604a29d7e, reversing
changes made to 1d7fca0abd.
2021-07-04 18:22:52 +03:00
OBattler
fd4817a87b All the current WIP work (warning: the PIT is currently using some temporary test rewrite that is going to be undone). 2021-06-29 19:11:19 +02:00
OBattler
edace2282a Slight PIC optimizations. 2021-04-06 07:32:24 +02:00
OBattler
80095e7a30 Two PIC fixes (implementation of freeze between the two INTA pulses for PC/XT, and find_best_interrupt() treating ISR'd cascaded slave IRQ's the same way as other IRQ's), and removed the incorrect IRQ latch reading. 2021-04-01 05:44:26 +02:00
OBattler
08c9b254e3 Enabled the new IRQ loss prevention measure in the PIC code that I left disabled the last time, seems to fix SHAMUS but I need feedback. 2021-03-31 23:57:32 +02:00
OBattler
ff5a779122 PIC reads now return IRR by default, fixes #1101. 2021-03-29 23:46:22 +02:00
RichardG867
29a0ce48e7 Merge branch 'master' of https://github.com/86Box/86Box 2020-12-03 01:46:04 -03:00
RichardG867
d9d592c336 Change is_at checks to a new IS_AT macro which allows for ISA-less PCI machines 2020-11-30 20:10:47 -03:00
OBattler
6e233f4ac8 SDL renderer improvements and fixes and added SDL OpenGL option;
Various performance improvements;
Fixed USB UHCI HCHalt;
Cirrus Logic CL-GD 5422/24 fixes and removed them from the Dev branch;
The Storage controllers sections of Settings now has its own corresponding section of the configuration file;
Fixed the AT clock divisors for some Pentium OverDrive CPU's;
Added the ACPI RTC status (no ACPI RTC alarm event yet).
2020-11-26 18:20:24 +01:00
OBattler
85679b8ecd Fixed a compile-breaking mistake in pic.c. 2020-11-17 19:44:15 +01:00
OBattler
239a84fd68 PIC interrupts are no longer latched on AT+. 2020-11-17 19:25:13 +01:00
OBattler
bf4b5b781f Implemented PIC IRQ latch and delay (per the datasheet), IBM PCjr now works without a workaround delay in cpu/808x.c which was therefore removed; also redid memory and I/O accesses in cpu/808x.c to fix word writes on 8086. 2020-11-17 00:25:28 +01:00
OBattler
cfb559de13 Made the 808x interrupts delay again, fixes PCjr (TODO: Find why exactly that's needed because it sounds like a hack to me);
Fixed compiling of the PIC code with logs enabled;
A number of bugfixes in cpu/x86seg.c, fixes OS/2 1.0.
2020-11-01 04:21:55 +01:00
OBattler
795a6017d2 PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy). 2020-10-14 23:15:01 +02:00
OBattler
ec74ffb6a5 Old recompiler improvements: limited in-block IRQ checking to floppy IRQ's only, rewrote the GPF handlers in ASM, and changed the recompiled INC and DEC instructions to actually use INC and DEC on host. Also removed the keyboard_at.c timer hack. 2020-07-15 05:03:19 +02:00
OBattler
a862bda04c Rewrote the recompiler interrupt checking in assembly (and removed it for the new dynamic compiler because the requires uops are not present), brings performance back up, and also did a number of CPU-related clean-ups (mostly removal of dead variables and associated code). 2020-07-13 19:46:19 +02:00
OBattler
d375b00c8c Added the Biostar 8500TUC (430HX AMI Hi-Flex) and fixed a PIC 2 bug. 2020-06-21 02:14:58 +02:00
OBattler
4fa8fd3dc0 Another small PIC fix. 2020-06-17 19:25:58 +02:00
OBattler
be7ab2c0cc Fixed the PIC poll mode implementation. 2020-06-17 19:21:37 +02:00
OBattler
3470bebd81 Implemented the poll mode of the PIC, 386BSD no longer hangs (but now resets the machine after a while). 2020-06-17 02:49:20 +02:00
OBattler
275dd5a2f7 ACPI, SMM, and PIIX fixes, fixes quite a few boards, also fixed the Via Apollo series northbridge ID's, some CPU instructions on both 808x and 286+, and added SMM to 486's (Intel and AMD), WinChip and WinChip 2, and VIA Cyrix III, also removed the TC430HX and the Toshiba machine from the Dev branch. 2020-04-16 21:56:19 +02:00
David Hrdlička
a505894a10 Move all include files to src/include
- 86Box's own headers go to /86box
- munt's public interface goes to /mt32emu
- all slirp headers go to /slirp (might want to consider using only its public inteface)
- single file headers from other projects go in include root
2020-03-29 19:53:29 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
81abeeb607 Fixed PIC IRQ priorities on AT+ and added some optional PIC mode/command logging. 2020-03-23 03:07:58 +01:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00