Commit Graph

95 Commits

Author SHA1 Message Date
OBattler
b01f312472 Slow PIT: Fix a regression introduced in the previous commit and the logging. 2025-07-09 04:38:55 +02:00
OBattler
e662f27f5f Slow PIT: Fix mode 3 (square wave) operation, fixes Night Hunter sound effects, fixes #4704. 2025-07-09 04:08:18 +02:00
OBattler
283ba78090 Slow PIT: convert BCD counts to binary when passing them to the speaker. 2025-07-08 09:19:02 +02:00
Jasmine Iwanek
81b8038bc5 Clean up .available & .poll 2025-02-01 03:38:52 -05:00
Jasmine Iwanek
837c16f546 Less magic numbers in PIT code 2024-08-06 20:12:18 -04:00
OBattler
2acb11d37c Implemented the Pro Audio Spectrum Plus serial mixer, Pro Audio Spectrum 16 parallel mixer, Pro Audio Spectrum Plus/16 SCSI, ESS ES688, all three ESS PnP AudioDrives, made the wavetables use a separate 44.1 kHz source, and made the Sound Blaster 16 PNP use a proper PNP ROM dump. 2024-05-03 17:02:13 +02:00
OBattler
f93692a045 More Pro Audio Spectrum 16 work, closes #4313. 2024-04-04 03:09:35 +02:00
OBattler
f48b710206 Some changes in preparation for the not yet committable PAS16 changes. 2024-03-27 19:55:34 +01:00
OBattler
1d2a7e3bca Set pit constant after PIT reset. 2024-03-23 06:48:53 +01:00
OBattler
4884f8664c Set PIT constant on PIT init. 2024-03-23 06:18:11 +01:00
OBattler
2466da2161 Prepared the API to set the PIT constant. 2024-03-23 06:15:34 +01:00
TC1995
778cd2bc46 Refactor PAS16 code (Audio/MIDI/PIT)
This should make it work once and for all after many years of being broken/not working.
2024-03-21 22:00:48 +01:00
TC1995
27e78da4ec WIP: PAS16.
See above, currently very WIP.
2024-03-18 17:10:36 +01:00
OBattler
2722ae1d68 PIT: Change assignments to OR's. 2024-01-04 09:00:29 +01:00
OBattler
2aa7c1f3de Added the LG IBM Multinet i x7G (MSI MS-6119), fixed the ASUS P2B-LS, and some SiS 551x fixes. 2024-01-03 23:48:27 +01:00
OBattler
88934ab0ca IDE fixes and finished the SiS 5511. 2023-10-20 02:57:50 +02:00
Jasmine Iwanek
f6a5229a98 Future support for higher clocked CPU's 2023-10-13 17:55:18 -04:00
Jasmine Iwanek
b8c4dee3bf More linting in src 2023-08-23 04:15:58 -04:00
OBattler
33471594f4 First batch of video fixes, also fixes the MDA timings. 2023-08-12 01:16:49 +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
90d85af304 Fixed an accidentally introduced PIT timer mode 0 regression, fixes #3376. 2023-06-09 15:09:14 +02:00
OBattler
ab733b7f6c Implemented some undocumented PIT behavior. 2023-05-24 22:14:57 +02:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04: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
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
Adrien Moulin
2ed8ad907c ACPI: replace 3.58MHz timer with an overflow timer 2022-07-15 23:42:40 +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
6fd2cfaf90 Fixed a PIT bug. 2021-12-09 23:59:45 +01:00
OBattler
dc33476e0d Fixed the PIT BCD counter for signedness (bug again found by clang). 2021-09-03 00:45:47 +02:00
OBattler
827065c0bc Ported the cassette emulation from PCE, closes #835. 2021-07-27 06:12:09 +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
76f3f08d78 The Intel SIO and PIIX* southbridges now have the undocumented (by the datasheets, but fully documented by the Intel motherboard technical specifications) second PIT on ports 48h-4Bh. 2021-04-13 03:47:46 +02:00
OBattler
c4fd9e7753 Added a comment to that piece of code in pit.c to avoid future confusion. 2021-04-10 19:49:07 +02:00
OBattler
8aae3f6163 Reverted the inappropriate PIT "fix" by qeggers that actually broke PIT readouts while writing the counts (so yes, the wm was intended, not rm), fixes several machines. 2021-04-10 19:46:06 +02:00
OBattler
b931e81485 Fixed a PIT bug (reported by qeggers). 2021-04-10 07:23:36 +02:00
OBattler
4dae3c7338 Slight PIT fixes and optimizations and the forgotten updated Super I/O chip include. 2021-04-06 07:35:03 +02:00
RichardG867
dfee1165ea Add custom ISA/PCI/AGP clock facility, and fix PIT clock calculation oversight for CPU clocks ending in (but not equal to) 33 and 66 MHz 2021-03-14 19:42:21 -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
RichardG867
8fff49d5c5 Merge branch 'master' of https://github.com/86Box/86Box
# Conflicts:
#	src/win/win_settings.c
2020-11-18 01:12:32 -03:00
RichardG867
dbd767437b Programmatic CPU table 2020-11-18 01:09:17 -03:00
OBattler
dc7973d2e2 Reverted build 2263's commit as it's no longer needed, fixes #1050. 2020-11-16 23:48:46 +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
eff0d4dea8 The PIT now decreases the latched count by 1 if the counter's count is latched when the count is set to a new mode, fixes Mortal Kombat 1 for DOS hanging when attempting to play music on the OPL. 2020-08-04 04:18:39 +02:00
OBattler
72c1c36ec6 OPTi 5x7 no longer does excess logging, running of timers on the recompiler is now done on every fourth AT KBC port 61h read instead of every 3F4h read, added some safety precautions to io.c to handle the cases where a handler removes itself, implmented the STPC ELCR and refresh control, and fixed the messed up register reading in the PC87307 and PC87309 implementations. 2020-07-10 02:05:49 +02:00
OBattler
96228bc41d Overhauled the SiS 496/497 chipset emulation (and added the DRB locking to it) (later Zida Tomato 4DPS BIOS'es now work, and we now use the actual 1.72), fixed the W83787F and FDC37C932FR Super I/O chips, removed the no longer needed Acer M3A registers (that's now correctly handled as FDC37C932FR GPIO), and a number of bugfixes here and there. 2020-06-29 01:10:20 +02:00