Commit Graph

58 Commits

Author SHA1 Message Date
OBattler
c30d5d90b7 PCI and IRQ rework, pci.c rewritten from ground up, fixes numerous issues such as the bridge being added when the number of normal PCI devices equals the number of normal PCI slots, Windows 95 PCI operation on Intel 430NX, sharing of PCI IRQ's with non-PCI level-triggered devices, having both configuration mechanisms operating at the same time (ALi M1435), etc., and makes the code much more readable. 2023-08-07 03:04:52 +02:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
OBattler
a62b484a81 Fixed a warning in usb.c. 2023-06-11 14:10:47 +02:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04:00
OBattler
7343b7972c Conflict resolution. 2023-05-16 00:52:39 +02:00
Cacodemon345
8893925396 usb: Return early on invalid directions 2023-05-10 17:28:40 +06:00
Cacodemon345
98ebfce460 usb: Revert usage of uchar.h 2023-05-10 17:19:35 +06:00
Cacodemon345
d0845ccade usb: Infrastructure changes
Make OHCI OwnershipChange work properly
2023-05-10 17:09:13 +06:00
Cacodemon345
8f7752e63c usb: Add a bit of logging 2023-05-09 00:14:15 +06:00
Cacodemon345
50b0fe4990 usb: Add ability to attach and detach devices for real 2023-05-08 22:30:28 +06:00
Cacodemon345
2fac3e5dc5 usb: don't process EOF on very first SOF 2023-05-08 17:13:34 +06:00
Cacodemon345
9c09d4260e usb: Finish work on OHCI 2023-05-08 16:51:16 +06:00
Cacodemon345
a6086c451e usb: Start finalizing work on OHCI 2023-05-08 00:50:00 +06:00
Cacodemon345
9ce81ac275 usb: Start implementing Endpoint/Transfer descriptor parsing 2023-05-07 23:07:15 +06:00
OBattler
66de82370f Remove the last hardcoded memset from the USB code. 2023-05-07 14:09:48 +02:00
Cacodemon345
708f00699b usb: Transfer and endpoint descriptor structure 2023-05-07 17:29:06 +06:00
Cacodemon345
ae123f1f38 usb: Implement HCCA reads and writes 2023-05-07 16:55:15 +06:00
OBattler
a395a5bae8 Removed some excess code from usb.c. 2023-05-07 12:42:39 +02:00
OBattler
ecb8091d41 Fixed Cacodemon345's OHCI mess and implemented proper OHCI IRQ updating, fixes the Gigabyte GA-5AX POST. 2023-05-07 02:53:04 +02:00
Cacodemon345
d0efb0079f usb: include dma.h header for future busmastering usage 2023-05-07 01:16:18 +06:00
Cacodemon345
81114030bd usb: Increment HcFmNumber in EOF function 2023-05-07 01:05:35 +06:00
Cacodemon345
04e440e608 usb: Start implementing end-of-frame and start-of-frame signals 2023-05-07 00:33:15 +06:00
Cacodemon345
41f26b57c2 usb: Start work on SOF generation and frame counting 2023-05-06 23:19:55 +06:00
Cacodemon345
3ed7c4da76 usb: interrupt setting function (OHCI) 2023-05-06 00:08:21 +06:00
Cacodemon345
b987e7dacb usb: Partially implement HcInterruptEnable/Disable registers 2023-05-05 23:50:50 +06:00
Cacodemon345
6ec563984c usb: OHCI HcInterruptEnable bits 2023-05-05 23:26:41 +06:00
Cacodemon345
1d0c18c3a9 usb: USB device attach/detach infrastructure 2023-05-05 22:46:18 +06:00
Cacodemon345
b8fb1754d9 usb: OHCI HcInterruptDisable reads return HcInterruptEnable registers 2023-05-05 22:32:20 +06:00
Cacodemon345
331b579d44 usb: Make ports appear always powered on 2023-05-05 22:19:04 +06:00
Cacodemon345
af3bc0412c usb: fix port reset logic 2023-05-05 22:09:08 +06:00
Cacodemon345
3f461afeeb usb: start hooking up USB interrupts to chipsets 2023-05-05 00:28:08 +06:00
Cacodemon345
6a20e17ee9 usb: Add infrastructure for interrupt descriptor polling 2023-05-03 16:14:15 +06:00
Cacodemon345
ea5b9cdbf8 usb: Port reset logic is now on a timer 2023-05-01 16:55:49 +06:00
Cacodemon345
91ccfa3344 usb: Set up infrastructure for system interrupts from OHCI 2023-04-30 23:01:15 +06:00
Cacodemon345
7e90e9215a OHCI: HcHCCA's lower 8 bits are always zero
Start of work on USB endpoint device infrastructure
2023-04-30 00:59:11 +06:00
Cacodemon345
61c0999d57 OHCI: Replace magic numbers with named enums 2023-04-29 22:43:29 +06:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
e6dbaefeb1 clang-format in src/ 2022-09-18 17:19:21 -04:00
OBattler
d68121ae89 ACPI, APM, PIC, and USB. 2022-07-16 02:54:49 +02:00
Jasmine Iwanek
66a687d68d src/ 2022-03-13 09:15:11 -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
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
15279e4964 Finished the ALi M15xx and removed from Dev branch. 2021-07-01 01:43:59 +02: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
0faf6692c9 WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
RichardG867
5b9d953f3b Clear UHCI status register, fixing a flood of "PCI problems?" errors on Linux 2020-10-13 19:25:40 -03:00
OBattler
d4f6a91e0a Overhauled USB OHCI emulation, fixes NT 5.x Setup on the Atrend. 2020-05-15 07:23:52 +02:00