Commit Graph

91 Commits

Author SHA1 Message Date
OBattler
455622492b All the required fixes - the Dell OptiPlex Gn+ now works correctly. 2025-05-21 20:49:54 +02:00
OBattler
d7529d4f5e Reverted the fix because it turned out I had actually misread the code. 2025-03-25 06:32:12 +01:00
OBattler
8da843bb0a DMA: Fix a long-standing nasty bug in bus master transfers that was potentially causing memory corruption. 2025-03-25 06:29:11 +01:00
TC1995
17f9ed66da DMA change of the day (December 31st, 2024)
Actually add DMA PS/2 (MCA) XFER commands 0x9 (Set DMA Mask), 0xa (Reset DMA mask) and 0xb to addr 0x1a in both r/w parts.
2024-12-31 20:43:02 +01:00
OBattler
2afa424261 Sound Blaster / ESS: DSP reset now properly disables DMA, fixes the OS/2 ESS ES688 driver. 2024-09-22 14:39:50 +02:00
Jasmine Iwanek
7ffcf545cd Compile fix for dma.c logging 2024-08-07 01:07:49 -04:00
OBattler
5b8bf02399 Fix a bug in dma_advance(). 2024-06-11 02:35:38 +02:00
OBattler
0561f65592 Sound Blaster: automatic DRQ clearing. 2024-05-17 01:28:16 +02: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
d290de418d Significantly reworked the Pro Audio Spectrum 16 and implemented a lot of missing stuff, and added the Pro Audio Spectrum Plus. 2024-03-27 23:56:55 +01:00
OBattler
ff5ea614ee DMA: Change the MegaPC 0528h to 0580h. 2024-02-02 19:56:55 +01:00
OBattler
9e7fc6a60d DMA ports 81h and 82h workaround for proper CPU speed detection on the MegaPC BIOS and limited the MegaPC CPU speeds to >= 16 MHz and <= 25 MHz. 2024-02-02 17:52:00 +01:00
Jasmine Iwanek
b8c4dee3bf More linting in src 2023-08-23 04:15:58 -04: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
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
TC1995
02874f2ed2 DMA: Implemented autoinit mode in the PS/2 MCA side (although the bit is undocumented in said side, but documented in the ISA/PCI side).
Networking: Added the WD8013EP/A MCA nic, which is more supported than the WD80x3ET/A plus an initial ram size configuration before POS configuration.
Sound: Added the Reply MCA OEM of SB16 with its own MCA POS ID and properly implemented the IRQ's and DMA's of the AdLib Gold in its EEPROM plus an initial configurable setting for them and an initial DRQ implementation into said card.
2022-07-23 23:54:42 +02:00
TC1995
bfc05e7db2 Revert the rest of autoinit on PS/2. 2022-07-19 20:44:25 +02:00
TC1995
b7c1e9ad33 Revert the DMA auto-init hack on PS/2. 2022-07-19 20:05:34 +02:00
Miran Grča
bed47f94d0 Merge pull request #2482 from 86Box/mca_dma_fix
Actually fix the fixed dma.
2022-07-19 19:24:43 +02:00
TC1995
af1c898201 (NW) 2022-07-19 19:23:07 +02:00
TC1995
2df92dc7f3 Actually fix the fixed dma. 2022-07-19 19:21:15 +02:00
TC1995
8767bb5894 Made reg 0x53 (read only) default temp val to 0x70 to satisfy xgaaidos.sys's detection.
Apparently MCA Audio cards always want auto-init enabled.
2022-07-19 17:25:17 +02:00
RichardG867
219129f97e CMI8x38: Implement Sound Blaster emulation 2022-03-06 19:59:14 -03:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
linear cannon
8b511fa9b9 dma.c: dma_page_write: don't call update_tsc() if DYNAREC=Off 2022-01-29 05:29:01 -08:00
OBattler
4d2ed33ff2 Fixed the emulator. 2021-12-19 23:41:23 +01:00
OBattler
bc90f99350 Finally got rid of the AT and PCI global variables. 2021-12-19 20:00:27 +01: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
345a61fa7c Removed the redundant mem_write_null* functions (the few mappings that use them, now use NULL pointers instead) and made the _phys function used by DMA not write to the exec buffer if the address has no write mapping (as in that case, it's clearly not intended to be writable), fixes #1332. 2021-03-30 02:16:01 +02:00
OBattler
1a643ab040 Reworked some memory and CPU parts to fix bugs, improve performance by getting rid of excess calls to mmutranslate(), and properly invalidate page bytes on page invalidation on new recompiler. 2021-03-24 19:52:44 +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
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
OBattler
685dfbb24e Fixed 16-bit DMA reads, fixes error 10482 on MCA IBM PS/2's with IBM ESDI controller. 2020-06-15 22:40:45 +02:00
OBattler
60ba71cb4b Renamed the three CPU folders to their final names. 2020-06-13 10:54:05 +02:00
OBattler
98b57912b3 Removed excess DMA logging. 2020-06-11 13:50:35 +02:00
OBattler
464a6da62f Intel SIO overhaul, slight DMA clean-ups and SIO-related additions, made the PIIX/SMSC series of southbridges aware of CPU speed changes, and fixed a bug in the 86F loading code. 2020-06-11 12:52:50 +02:00
OBattler
59822c6c0e Overhauled DMA bus master reads and writes and cleaned up the AMD PCnet code a bit (network queue implementation is pending). 2020-04-28 01:01:39 +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
OBattler
b8b198a56a Fixed SMM, overhauled the emulation of the VIA northbridges, and added the Via Apollo VP3. 2020-04-01 08:59:29 +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
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00