7682 Commits

Author SHA1 Message Date
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
OBattler
c192c015a5 Version now part of the 86F struct, should fix compile. 2016-09-05 22:03:33 +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
0b1c2c3a6a Fixed a compile-breaking error in disc_fdi.c. 2016-09-05 20:58:30 +02:00
OBattler
21d813cc34 The side processed by poller is now correctly selected by the FDC's HDSEL parameter rather than the H field of the requested sector ID. 2016-09-05 20:53:46 +02:00
OBattler
9eb7ac74bc Floppy disk loader now only sets the disk changed flag after the seek. 2016-09-05 20:43:12 +02:00
OBattler
652a602967 Attempt to fix the floppy disk change fix. 2016-09-05 20:34:10 +02:00
OBattler
c081716668 Applied mainline PCem commit: Force re-seek on disc loading - fixes issues with disc change not seen on some models. 2016-09-04 23:28:17 +02:00