Commit Graph

86 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
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Alexander Babikov
7c6e390c95 nvr_at: Re-add a forgotten check for VIA NVR
Fixes the GT694VA and CUV4X-LS stuck at POST C1 C0
2022-12-12 00:11:00 +05:00
OBattler
ebb73706c6 Fixe another accidental mess-up in nvr_at.c. 2022-12-04 23:26:08 +01:00
OBattler
15b2b8178b Fixed a minor accidental screw-up in nvr_at.c. 2022-12-04 23:07:39 +01:00
OBattler
60b5c5ba74 Implemented missing ALi M1543C behavior. 2022-12-04 22:59:22 +01:00
OBattler
f2ff608e34 Fixed some AT NVR flags. 2022-12-04 22:44:44 +01:00
OBattler
3a4c7e414e Initialize the ADI 386SX NVR to 0x00's instead of 0xFF's, fixes #2761. 2022-10-30 02:57:15 +02:00
Jasmine Iwanek
f49d3c7458 Correct many file headers to show 86box 2022-10-27 17:08:58 -04:00
OBattler
411f780571 NVR fixes. 2022-10-25 02:24:54 +02:00
Lubomir Rintel
b9241aff7a Add NVR on Epson Equity LT
It's a HD146818 chip mapped at 11B4h-11B5h. The century byte is at 1Ah.
The IRQ line doesn't seem to be hooked on.
2022-10-23 13:47:53 +02:00
Lubomir Rintel
1eb7478ab9 Use one more bit for AT NVR type
Use bottom 4 bits (instead of 3) for the NVR type. This will be necessary
in order to support more NVR types (the Epson Equity LT in particular).

No functional change.
2022-10-23 13:47:53 +02:00
Jasmine Iwanek
e6dbaefeb1 clang-format in src/ 2022-09-18 17:19:21 -04:00
OBattler
730af4dd53 Implemented more previously unimplemented AT NVR behavior. 2022-08-04 23:52:25 +02:00
OBattler
37bf41ec17 MegaPC NVR device. 2022-07-31 02:23:58 +02:00
OBattler
95cd9b68af The NVR no longer raises IRQ's if the IRQF flag is set. 2022-07-18 23:32:11 +02:00
OBattler
549a8544a0 Rewrote the NVR periodic timer for better performance. 2022-07-16 04:29:19 +02:00
Jasmine Iwanek
702f80e58a Backport several changes from M&K 2022-04-12 17:26:05 -04: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
df985616e0 Renamed the new variable in the nvr struct. 2021-12-20 23:06:39 +01:00
OBattler
c0a66022d4 Introduced the NVR hacks to the remaining boards with cache errors. 2021-11-30 00:25:03 +01:00
OBattler
77d73ed3c2 Finished the Intel 450KX, changes to the memory and SMRAM API's, removed the ASUS P/I-P6RP4 from the Dev branch, added the CMD646 PCI IDE controller, and fixed some bugs on the CMD640. 2021-10-26 01:54:35 +02:00
Miran Grča
c5864a46d8 Merge pull request #1676 from 86Box/master
Bring the branch up to par with master.
2021-09-08 00:08:23 +02:00
Lubomir Rintel
e641e81de7 Add possibility to change the RTC interrupt line
The 82C606 SuperIO allows reconfiguring the interrupt line used for the
RTC alarm at runtime.
2021-09-07 21:34:18 +02:00
OBattler
ccdf583b26 A slight AT NVR code clean-up. 2021-08-24 21:11:47 +02:00
OBattler
ee315970a1 Correct implementation of the VIA write-only NVR register 0D bit that is read from power management PCI register 42, fixes the FIC VA-503A. 2021-08-09 07:19:12 +02:00
OBattler
36821c2fc8 Small VIA NVR fix. 2021-07-30 06:27:21 +02:00
OBattler
803ae780ac Removed excess ACPI logging and reverted a test AT NVR change that was never supposed to be committed, fixes OS/2 2.x. 2021-07-20 05:54:37 +02:00
OBattler
00a9894821 More AT NVR and VIA fixes - the Gigabyte GA-6VX-4X AMI BIOS (machine will be added on the WIP branch) works fine now. 2021-07-18 04:52:32 +02:00
OBattler
5fc73eee7b Various VIA fixes. 2021-07-17 06:01:27 +02:00
OBattler
493867f476 Minor AT NVR fixes, fixes deep beeps on the Intel Premiere/PCI. 2021-06-06 23:57:26 +02:00
TC1995
97e6c912eb Fixed NVRAM initialization (floppies, hdd's, etc...) for the PS/1 computers. 2021-04-26 00:15:15 +02:00
OBattler
b4c2a657a1 Added a fix for newly-initialized NVR on the Lucky Star 486 and AMI Apollo. 2021-04-25 18:47:33 +02:00
Panagiotis
711bbff6ad SiS 5598 uses Generic NVR at the moment 2021-04-21 22:32:16 +03:00
Panagiotis
00db2f3714 Few NVR changes 2021-04-21 21:56:37 +03:00
Panagiotis
11d4f18cfe SiS 5598 Implementation. 2021-04-21 21:54:23 +03:00
OBattler
17c3056681 Finished fixing the VIA chipset required for the FIC VIP-IO2, added a version of the W83787F Super I/O chip with secondary IDE, fixed the W83787F IDE handler, made AT NVR initialize with 0xff rather than 0x00 by default (which is actually correct), and removed the FIC VIP-IO2 from the Dev branch. 2021-04-20 03:24:30 +02:00
OBattler
5ebb6caf3f Made nvr_close() no longer attempt to free a NULL NVR pointer. 2021-04-04 18:04:39 +02:00
David Hrdlička
10cc122925 fix Clang/WinSDK warnings 2021-03-21 03:28:37 +01: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
OBattler
5b3e13f50c Changed a part of the AT NVR code, inspired by the recent VARCem changes. 2020-10-21 16:27:31 +02:00
OBattler
ecafe017ab Improved the Lucky Star 486 and AMI Apollo NVR hacks. 2020-10-16 23:06:23 +02:00
OBattler
066f89c5a4 Added the AMI Apollo. 2020-10-16 13:05:19 +02:00