Commit Graph

12239 Commits

Author SHA1 Message Date
OBattler
d8c9b7ab76 Fixed 86F read state detection, should make 86F as well as any floppy image formats proxied to the 86F handler read again. 2016-10-05 15:06:26 +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
d4f682d142 Raw floppy images with BIN and HDM extensions are now supported. 2016-10-05 00:59:04 +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
8f9bbb3679 Fixed two compile-breaking errors. 2016-10-04 18:02:15 +02:00
OBattler
6ac2526dbb The 86F handler now reads and writes .86F images correctly again;
Improved TeleDisk support;
Added support for ImageDisk (IMD) images;
Added MSR registers 186 and 570 for the Intel i686 CPU's;
Applied both mainline PCem commits.
2016-10-04 17:25:16 +02:00
OBattler
1371be8b45 Fixed a vulnerability and a buffer overflow in the TD0 loading code;
Fixed side flags when loading of double density TD0's created using a high density 5.25" drive;
GAP3 length for TD0 teacks is now calculated rather then fixed when it can not be reliably determined from data rate, sector size, and sectors per track.
2016-09-30 02:16:27 +02:00
OBattler
200c966733 Attempt to fix the hard disk size display problem. 2016-09-29 23:34:38 +02:00
OBattler
d3d26999f6 Added support for TD0 (Teledisk) floppy images;
Fixed support for Japanese HDI hard disk images;
Attempt to mix DOS 4.x DOSSHELL mouse issues.
2016-09-29 21:54:34 +02:00
OBattler
7461fbfdfd Fixed the definition of nvr_path in ibm.h. 2016-09-28 23:05:01 +02:00
OBattler
59370a57a8 Maximum length of nvr_path is now 992 bytes instead of 228. 2016-09-28 22:58:57 +02:00
OBattler
42ed2920e2 Fixed handling of 86F version 1.50 track offset table reads and writes;
Added handlers for formatting and reading/writting 86F mode 2 and 3 images that rely on sync bytes and address marks like a real FDC would.
2016-09-28 22:56:19 +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
af57860340 Fixed a compile-breaking error. 2016-09-27 03:32:56 +02:00
OBattler
d695922a77 Removed support for all 86F versions other than 1.50 and the emulator-internal 0.99. 2016-09-27 03:16:57 +02:00
OBattler
c627cf42ec 86F version 1.50 encoded format is now handled correctly. 2016-09-27 00:45:14 +02:00
OBattler
fce6d9aa48 Fixed a very stupid compile-breaking error. 2016-09-26 21:20:39 +02:00
OBattler
11fae15897 Fixed more compile-breaking errors. 2016-09-26 21:15:32 +02:00
OBattler
73dabc25f6 Fixed several compile-breaking errors. 2016-09-26 21:03:23 +02:00
OBattler
50f65e1ec0 Added support for 86F version 1.32 images;
Forced reseek on disk change is now its own function and is always performed, fixes disk changes on some machines.
2016-09-26 20:43:09 +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
807d132312 Fixed a few errors that broke compiling;
Fixed limit functionality in d86f_memset() and d86f_memcopy().
2016-09-23 01:15:29 +02:00
OBattler
b25b614e6e Removed debug fatal on data CRC error from the 86F handler;
Prepare sector function can ignore rather than wrap around if so told;
Format now tells prepare sector to not wrap around.
2016-09-23 01:06:05 +02:00
OBattler
4368256f41 Fixed the RPM slow down accounting for 86F version 1.21 images in d86f_get_raw_size();
Properly fixed serial port IRQ assignment with the National Semiconductors PC87306 Super I/O chip - DOS mouse drivers now work if mouse is set to serial.
2016-09-22 22:48:31 +02:00
OBattler
b956c5f6f5 Added missing variable declarations in pc87306.c;
Both PIIX IDE bus masters now initialize with IRQ set to 14 rather than not set.
2016-09-22 21:33:14 +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
7be9a3c9c4 Disabled more stuff in case "No joystick" is selected. 2016-09-16 03:04:05 +02:00
OBattler
ecd425a9c6 Do not initialize the gameport at all if the "No joystick" option is selected. 2016-09-16 02:46:25 +02:00
OBattler
4b5eb91e6e Fixed a compile-breaking typo in gameport.c . 2016-09-16 02:37:04 +02:00
OBattler
bd2641a033 Added a "No joystick" option. 2016-09-16 02:32:25 +02:00
OBattler
a0f6257c36 The CD-ROM now correctly identifies as supporting DMA. 2016-09-15 14:32:26 +02:00
OBattler
176f0e5f43 Merge pull request #16 from MoochMcGee/vanilla
Add busmastering DMA for ATAPI drives
2016-09-15 14:22:24 +02:00
Melissa Goad
090c4c9545 Add busmastering DMA for ATAPI drives 2016-09-15 01:08:45 -05:00
OBattler
4896dfcfb4 86F write handler now correctly only writes 1 GAP3 byte and just pulses through the rest. 2016-09-15 03:59:49 +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
264859a574 86F format handler now sets per-side flags also for 86F version 1.20. 2016-09-08 00:04:04 +02:00
OBattler
65d18aac26 Changed all dword and UINT4 data types in disc_random.c to uint32_t. 2016-09-07 21:09:45 +02:00
OBattler
2982681247 Fixed calls to d86f_poll_data() with too few parameters. 2016-09-07 21:05:19 +02:00
OBattler
abd77b0001 Added index_hole_pos to the 86F struct. 2016-09-07 21:03:46 +02:00
OBattler
c6c6fe8e2d Added support for version 1.20 of the 86F format;
Hopefully made the 86F handler for the FDC READ TRACK command work correctly.
2016-09-07 20:59:08 +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
5a2ba3b53b Sector ID check is now only processed if the bitcell period matches. 2016-09-07 01:02:21 +02:00
OBattler
2104195b13 Fixed a bug in the 86F poller when reading the sector ID. 2016-09-07 01:00:18 +02:00
OBattler
0ada60b242 d86f_get_array_size() now actually returns the size according to the hole field, should fix handling of 86F version 1.10 files;
Temporary sector ID field in 86F poller now set to invalid after transferring the value to the last found sector field.
2016-09-07 00:40:29 +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
f5e096aa12 The side_flags array is now part of the 86F struct. 2016-09-05 22:10:04 +02:00