Commit Graph

29 Commits

Author SHA1 Message Date
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