Commit Graph

125 Commits

Author SHA1 Message Date
Adrien Moulin
27d31c4d99 Enable HDD timing simulation with IDE 2022-07-07 23:38:45 +02:00
Alexander Babikov
1a6d596fea Remove the now-redundant LARGEFILE macro definitions 2022-04-14 07:10:20 +05:00
Jasmine Iwanek
c01ab374a4 src/disk 2022-04-12 17:26:06 -04:00
Jasmine Iwanek
369f6774f9 src/disk 2022-03-13 09:37:19 -04:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
OBattler
1801ddd21c Fixed a compile-breaking mistake. 2022-02-23 22:52:23 +01:00
OBattler
4730922c52 SEEK command on ATAPI devices no longer returns READY status bit set, should fix ATAPI device misdetection as hard disk on FreeBSD. 2022-02-23 22:19:39 +01:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
37c77cf0cf Added some sanity checks to IDE. 2022-02-13 23:50:27 +01:00
TC1995
971402af2f Ported the SCAMP IDE fix from PCem. 2022-02-11 22:54:54 +01:00
TC1995
74ce65183c Fixed IDE storage class identification. 2022-02-06 22:37:11 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
Alexander Babikov
e5e1bc13aa Fix the maximum PIO mode on IDE hard drives 2021-12-22 05:36:16 +05:00
Miran Grča
77a5cf6891 Merge pull request #1581 from 86Box/master
Bring the branch up to par with master.
2021-08-04 09:15:08 +02:00
RichardG867
f0176ceab6 Sound Blaster PnP/IDE overhaul, closes 86Box#1578 2021-08-03 16:44:09 -03:00
Miran Grča
8ca1328c7e Merge pull request #1571 from 86Box/master
Bring the branch up to par with master.
2021-08-02 06:58:22 +02:00
OBattler
e1837929f0 IDE no longer pulls down status bit 7 when nothing is attached - fixes delays on most AMI BIOS'es. 2021-07-19 08:49:14 +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
RichardG867
756e1dfc83 Fix quaternary IDE PnP ROM 2021-06-03 16:26:04 -03:00
OBattler
936c5bfb90 IDE PNP fixes for 64-bit builds. 2021-04-30 19:22:48 +02:00
OBattler
99ca313565 Fixed the IDE hard disk busy status setting on reset. 2021-04-07 23:55:19 +02:00
OBattler
200528443f And fixed the fix. 2021-04-07 00:52:55 +02:00
OBattler
bc2fd285c4 Made the IDE RESET BUSY status setting only apply when IDE is in ATA-3 mode. 2021-04-07 00:52:28 +02:00
Miran Grča
32205e10b8 Merge pull request #1350 from richardg867/master
More ISAPnP stuff
2021-04-04 07:29:14 +02:00
OBattler
c0a70b400b IDE drives now return BUSY status in reset mode, and AT MFM and ESDI controllers now return the READY bit in the status register set also for the first sector of the WRITE command, fixes #1281. 2021-04-03 23:26:30 +02:00
RichardG867
429d5f5c4e Add string identifier to PnP IDE controllers as mandated by spec, fixes summary hanging on AMI machines 2021-04-03 00:16:15 -03:00
RichardG867
75b2d4f6b4 Overhaul tertiary/quaternary IDE PnP ROM to try the default IRQ first, allow for I/O port flexibility, and follow the Microsoft PNP???? device ID specification 2021-04-02 00:37:01 -03:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
RichardG867
eea426a66c Add PnP tertiary/quaternary IDE controllers 2021-03-23 16:54:22 -03:00
RichardG867
a90d8d1e65 Implement VIA southbridge UDMA status bit, fixes UDMA on Windows 2020-12-02 21:58:01 -03: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
2c81a8decd Fixed IDE word 93. 2020-10-16 22:08:46 +02: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
RichardG867
124866baaa Upgrade IDE maximum to UDMA/100 and add IDENTIFY word 93 (80-conductor cable detection) 2020-10-13 19:20:14 -03:00
OBattler
0d2e69142d Fixed an IDE log line and fixed a bug in the implementation of the STPC chipsets caused by an erratum in the STPC Atlas programming manual (corrected in the other STPC chipsets' programming manuals). 2020-07-11 00:42:38 +02:00
David Hrdlička
23efba22f1 include: move version defines out to version.h 2020-06-26 13:28:10 +02:00
OBattler
d326017233 Added the Acer V30 and a number of IDE and AT keyboard changes needed to make it work, closes #367. 2020-06-19 12:02:17 +02:00
OBattler
b07807e9de Fixed ide_get_period() to correctly use shifted mode values, fixes IDE timings. 2020-05-26 05:24:55 +02:00
OBattler
e6ccbd2406 Bumped maximum UDMA mode from 2 (ATA 33) to 4 (ATA 66) so it can be used where supported. 2020-04-25 22:37:07 +02:00
OBattler
8b8ba3d5a7 IDE sector and sector count now return 0xFF (noise) on an unassigned IDE device, fixed TC430HX hanging with empty IDE channels. 2020-04-23 15:11:32 +02:00
OBattler
600bb09f17 Added PS/2 Intel AMI keyboard controller type that always returns bit 6 of the input port as 1, fixes Intel Advanced/EV and Advanced/ZP SMM errors (with high-low beeps), and also IDE not found error behavior to fix IDE with some i686 BIOS'es. 2020-04-18 18:03:02 +02:00
OBattler
44d3eb42de Slightly changed the fixes. 2020-04-17 01:45:24 +02:00
OBattler
ef42bb7e58 Some slight PIIX and IDE fixes. 2020-04-17 01:38:42 +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
937befa4e7 Fixed in IDE and 4x0 code. 2020-03-24 02:24:49 +01:00