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