Commit Graph

37 Commits

Author SHA1 Message Date
OBattler
e46a34a505 Fixed FDC absolute SEEK, fixes Floppy disk(s) fail (40) on Award BIOS'es. 2016-12-24 07:16:01 +01:00
OBattler
4089c33bc7 FINTR is now cleared after the interrupt issued by a FDC DOR reset. 2016-12-24 06:33:05 +01:00
OBattler
ad7c92b2c5 Fixed the FDC's behavior of the DOR register and the RECALIBRATE and SEEK command to more accurately replicate that of a real FDC, fixes Windows 98 and (hopefully) NetBSD. 2016-12-24 05:37:14 +01:00
OBattler
dc46480aa4 Applied all mainline PCem commits;
Added experimental NVidia Riva TNT2 emulation (patch from MoochMcGee);
ASUS P/I-P54TP4XE, ASUS P/I-P55T2P4, and ASUS P/I-P55TVP4 are back;
National Semiconductor PC87306 Super I/O chip now correctly reenables devices after a chip power cycle;
Several FDC improvements and the behavior is now a bit closer to real hardware (based on actual tests);
Added MR Intel Advanced/ATX with Microid Research BIOS with support for 4 floppy drives and up to 4 IDE controllers;
Added floppy drives 3 and 4, bringing the maximum to 4;
You can now connect hard disks to the tertiary IDE controller;
Correct undocumented behavior of the LEA instruction with register is back on 286 and later CPU's;
Pentium-rea models with Intel chipsets now have port 92 (with alternate reset and alternate A20 toggle);
Overhauled DMA channel read and write routines and fixed cascading;
Improved IMG detection of a bad BPB (or complete lack of a BPB);
Added preliminary emulation of PS/2 1.44 MB and PC-98 1.25 MB 3-mode drives (both have an inverted DENSEL pin);
Removed the incorrect Amstrad mouse patch from TheCollector1995;
Fixed ATAPI CD-ROM disk change detection;
Windows IOCTL CD-ROM handler now tries to use direct SCSI passthrough for more things, including obtaining CD-ROM capacity;
The Diamond Stealth32 (ET4000/W32p) now also works correctly on the two Award SiS 496/497 boxes;
The (S)VGA handler now converts 6-bit RAMDAC RGB channels to standard 8-bit RGB using a lookup table generated at emulator start, calculated using the correct intensity conversion method and treating intensity 64 as equivalent to 63;
Moved a few options from the Configuration dialog box to the menu;
SIO, PIIX, and PIIX3 now have the reset control register on port CF9 as they should;
Several bugfixes.
2016-12-23 03:16:24 +01:00
OBattler
0d6bdffa83 The "sector ID mismatch" condition reported by the READ TRACK command is now taken into account when return the status at the end of the command. 2016-11-11 03:19:39 +01:00
OBattler
beb4e7869d The FDC READ TRACK command should now operate properly. 2016-11-11 03:16:41 +01:00
OBattler
971eeedde7 Reverted floppy disk operation to what it was in build 274, with a slight cleanup;
Sound Blaster 16 and AWE32 IRQ, base address, and DMA configuration is back;
The Intel Advanced/ATX now requires version 1.00.06 of the BIOS rather than 1.00.05.
2016-11-10 21:16:24 +01:00
OBattler
02014df53a Reworked floppy handling a bit, fixes booting from floppies;
Applied mainline PCem commit that fixes Windows 3.1.
2016-11-09 00:15:43 +01:00
OBattler
e2a2815b01 Floppy poller is now per side;
Implemented head load and unload times;
Floppy drive motors now correctly start spinning when a head is loaded and stop when a head is unloaded.
2016-11-08 03:58:36 +01:00
OBattler
6e2b91c3d1 Pretty much all timer counters are now 32-bit again;
Fixed FDI stream parameters passed to the 86F handler, FDI stream images now read correctly again;
The National Semiconductors PC87306 SuperI/O chip now supports enhanced FDC mode.
2016-11-07 06:39:20 +01:00
OBattler
e280faa2d6 86F format handler updated to 86F version 2.0 and bit by bit handling;
FDI stream images are now also handled by the 86F handler;
Both floppy drives' motors now spin separately;
Added Plantronics ColorPlus emulation per patch from PCem forum;
Applied all mainline PCem commits;
Fixed several bugs.
2016-11-02 22:39:07 +01:00
OBattler
63b3f07372 Fixed the FDC DUMP REGISTERS command to dump all registers (it was dumping two foo few);
The FDC is now initialized with the correct FIFO parameters.
2016-10-06 01:59:28 +02:00
OBattler
809c0bb5ee FDC FIFO now ignored completely when FIFO length is 1 byte. 2016-10-06 01:40:23 +02:00
OBattler
e1da051f44 Added the FDC SCAN EQUAL, SCAN LOW OR EQUAL, and SCAN HIGH OR EQUAL commands. 2016-10-05 05:37:07 +02:00
OBattler
8c439a1bec Fixed a mistake with the three new FDC commands. 2016-10-05 01:42:11 +02:00
OBattler
64d9cdc665 TD0 and IMD images of DMF media are now loaded with the correct sector interleave;
Fixed several bugs in TD0 and IMD loading;
Added FDC READ DELETED DATA, WRITE DELETED DATA, and VERIFY commands;
Mismatching data address marks are now handled correctly.
2016-10-05 00:47:50 +02:00
OBattler
a3e6c4eeb3 FDC DOR handler now does a sanity check when setting drive select, fixes OS/2 Setup fataling the emulator when reading Disk 2;
FDC SEEK command now no longer incorrectly times out when seeking to the track the FDC thinks it's already at, fixes floppies in NT 3.1;
Emulator now correctly saves configuration changes to the configuration files it was loaded with rather than always the default;
Default path for NVR's can now be overridden by adding the nvr_path option to the cfg file.
2016-09-27 21:38:29 +02:00
OBattler
74aa7e486d Resetting the FDC via the DOR now correctly resets each drive's HDSEL to 0, fixes booting from OS/2 Warp 3.0 install floppies. 2016-09-26 18:43:25 +02:00
OBattler
bde171e81b Hard disk parameters dialog boxes now allow you to specify size in MB or select a predefined type from a combo box;
Japanese HDI hard disk images are now supproted;
FDC FORMAT command now CRC's the correct data, fixes formatting inserted IMG's;
FDC SEEK command now no longer incorrectly reports invalid status when HDSEL (head select) is 1, fixes booting from inserted floppies of any format on boards other than ASUS P/I-P55TVP4.
2016-09-25 21:39:21 +02:00
OBattler
6318e2bb17 Rewritten parts of the 86F handler to minimize false CRC errors and misidentification of sectors;
Replaced IMG handler with one that now proxies to the 86F handler;
Applies the remaining Mainline PCem speedup commit;
Fixed the National Semiconductors PC87306 Super I/O Chip's serial port IRQ assignment;
DMF images are now loaded with the correct sector interleave, improving read/write speed;
XDF images are now loaded in a way that emulates the real order of the sectors on the track, improving read/write speed;
Added 16-bit physical memory read/write routines (mem_phys_readw, mem_phys_writew) and modified the 16-bit DMA code to use them instead of two 8-bit reads/writes.
2016-09-22 21:22:56 +02:00
OBattler
0ae428b5f5 Fixed handling of DMF IMG images;
Fixed 3.5" 2ED XDF structure;
Applied mainline PCem big recompiler speedup (up to 20% seen) commit;
Added support for floppy drive swapping with the Winbond W3877F Super I/O chip.
2016-09-17 20:22:02 +02:00
OBattler
cdfba37ea9 Applied all mainline PCem commits;
Fixed behavior of the FDC RECALIBRATE command for FDC's on certain Super I/O chips;
Several 86F-related fixes;
Added the Intel Advanced/ML (430HX, Socket 7, currently with non-working Flash) and Intel Advanced/ATX (430FX, Socket 7, works perfectly) motherboards;
Fixed handling of DENSEL when the FDC is in National Semiconductors PC87306 mode;
Brought 440FX initialization PCI parameters in line with Bochs;
Brought PIIX3 initialization PCI parameters in line with QEMU.
2016-09-14 23:18:14 +02:00
OBattler
a43004aebe 86F and IMG handler now account for possible floppy drive swap when getting the drive's current RPM;
The RWC setting is now ignored when the FDC is not in enhanced mode.
2016-09-07 03:00:52 +02:00
OBattler
b90c7d2a68 More FDC commands now correctly set FDC head;
Fixed a big in 86F read/write find sector state handler.
2016-09-06 23:52:08 +02:00
OBattler
ad9966f27f 86F handler now only expected one side parameter byte per track for single-sided images;
FDC FORMAT command now sets drive head.
2016-09-06 02:17:05 +02:00
OBattler
23325e16a1 Added support for version 1.10 of the .86F format;
Floppy drive head now set to 0 on drive eject/load;
FDC result phase now returns head from HDSEL.
2016-09-05 21:58:28 +02:00
OBattler
19f86aa72d Rewrite of .86F handling code; Applied TheCollector1995's hardware cursor fix. 2016-09-03 18:07:46 +02:00
OBattler
1ddad56c8c Added support for the D86F floppy image format I invented that allows things not possible with IMG images;
Applied all mainline PCem commits;
Settings dialog now says 86Box instead of PCem;
Manifest renamed from PCem to 86Box.
2016-08-31 22:49:56 +02:00
OBattler
d860ea79ed Timer enable switches are 64-bit;
Floppy reads/writes now correctly finish at gaps;
Sector-based reads/writes no longer cause a delay when signaling finish.
2016-08-21 03:42:24 +02:00
OBattler
a924f37f43 Rewrote the disc sector poller again for simplified code and more accuracy;
Floppy formats are now accurately timed and also more accurately implemented;
Applied all mainline PCem commits.
2016-08-20 03:40:12 +02:00
Jackson Bryn
291ac890e2 Add copyrights for all files to comply with the GPL v2. 2016-08-14 22:27:13 -04:00
OBattler
1433d9a073 Applied both mainline PCem commits;
Fixed the RTL8029AS again (one of my "fixes" broke it);
RTL8029AS PCI register 4 is now written to;
Added incomplete (and currently commented out) emulation of the AWE64 PCI;
Replaced sector-based floppy emulation with more accurate code.
2016-08-15 01:34:46 +02:00
OBattler
f1367357b0 More RTL8029AS fixes from TheCollector1995;
FDC now updates the floppy drive's DENSEL on receiving updates from the Super I/O chip;
Commented out ASIS P/I-P55TP4XE and ASUS P/I-P55T2P4 because they are too buggy;
Completely illegal instructions now also log the second byte for purposes of prefixed instruction identification;
PIC now sets mask to 0 on reset.
2016-08-13 17:29:14 +02:00
OBattler
d57a8292ce Fixed a typo in README.md; Commented out a line of excess logging in the FDC code. 2016-08-03 23:57:23 +02:00
OBattler
b78b2fecaa Timer counters now 64-bit;
Cleaned up floppy code a lot and reverted to single poller;
Fixed segment present bit and limit checking at read/write within segment;
The ASUS boards now have memregs too;
RTC code improved based on suggestion by Sarah Walker;
Fixed SVGA odd/even emulation and added chain odd/even support;
Removed non-existent CPU's.
2016-07-19 02:44:32 +02:00
OBattler
277b3eac8c Brought CGA code in line with mainline as the patch was accepted.
Uncommented auto-setting FDC data rate to 250 kbps on non-AT machines; fixes floppies on IBM PC and XT and clones;
Removed flto flag from the makefiles, should speed up compile times and make the XT and earlier machines work again;
Removed CGA brown and color burst settings in line with mainline PCem.
2016-07-09 02:18:45 +02:00
OBattler
fd2a5bc9f5 Initial submission of the PCem-Experimental source code. 2016-06-26 00:34:39 +02:00