Commit Graph

36 Commits

Author SHA1 Message Date
OBattler
c7443b47b5 ATAPI BAD COMMAND response now correctly sets IDE sector count to 3;
ATAPI READ TOC PMA ATIP command now uses direct SCSI passthrough when using IOCtl on Windows;
ATAPI READ TOC PMA ATIP command now supports non-MSF raw mode;
ATAPI READ TOC PMA ATIP command now returns the given maximum length if the actual length of the data is above it;
ATAPI READ TOC PMA ATPI command on Windows IOCtl now returns size of data in the returned buffer's header.
2016-12-25 01:57:56 +01:00
OBattler
645efe1f7d Slightly modified CD-ROM disc change handling and behavior of the REQUEST SENSE command. 2016-12-23 21:35:39 +01:00
TC1995
abf009e541 Renamed Adaptec 154x adapter source to Buslogic as now it emulates the Buslogic BT-540B SCSI adapter.
Moved CD-ROM read data buffer declaration and definitions to SCSI source files and headers, but still applying to IDE when needed.
SCSI Read commands now return the correct sectors on callback.
DMA bug fixes.
2016-12-23 17:11:59 +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
413fba4b16 Redid the ATAPI READ CD command completely and fixed IOCTL raw sector reading;
Added the ATAPI READ CD MSF command;
UNIT ATTENTION is now a condition above the SCSI/ATAPI senses so that non-UNIT ATTENTION senses can still be reported if said condition is present, should they occur;
Applies mainline PCem commit: Added code generation for RMW versions of INC/DEC.
2016-11-17 20:41:27 +01:00
OBattler
e46631e47b Reworked the menus so they're more logically grouped;
Removed the lone Misc menu and mvoed Status to Settings;
Added a SCSI CD-ROM option to the menu;
Removed the atapi_cdrom_enabled option and replaced any usage of it with !scsi_cdrom_enabled;
Disabling/enabling the CD-ROM drive is now separate from the drive's contents;
The tertiary IDE controller now never gets enabled is the CD-ROM drive is either disabled or SCSI.
2016-11-13 05:39:21 +01:00
TC1995
0f035b42ea Added preliminary Adaptec 154x emulation, needs fixing in the Read 10 command.
Made ATAPI derived from SCSI.
Added proper S/G emulation for SCSI DMA.
Added SCSI CD-ROM emulation, preserving all the former ATAPI commands as well.
2016-11-12 15:06:38 +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
ac1a282799 IDE fixes from TheCollector1995. 2016-10-08 20:59:13 +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
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
a0f6257c36 The CD-ROM now correctly identifies as supporting DMA. 2016-09-15 14:32:26 +02:00
Melissa Goad
090c4c9545 Add busmastering DMA for ATAPI drives 2016-09-15 01:08:45 -05:00
Jackson Bryn
291ac890e2 Add copyrights for all files to comply with the GPL v2. 2016-08-14 22:27:13 -04:00
OBattler
9a4cd321d6 Moved emulator_version #define to 86box.h and #included it in all files that use that #define. 2016-08-15 04:01:36 +02:00
OBattler
929d34d4b4 Removed all references to PCem;
Added Japanese FDI support;
Added more extensions to floppy image selection.
2016-08-15 03:26:37 +02: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
bad439278d Removed ide->select , read native max now operates correctly via ide->head . 2016-08-10 06:15:52 +02:00
OBattler
ee9f6baf9a IDE selected channel is now reflected correctly in ide->select . 2016-08-10 06:01:25 +02:00
OBattler
455254064b Fixed the READ NATIVE MAX command. 2016-08-10 05:48:33 +02:00
OBattler
205ef83dcb Added IDE command F8 to writeide. 2016-08-10 01:36:17 +02:00
OBattler
b620a42901 Fixed an undeclared variable error. 2016-08-10 01:21:03 +02:00
OBattler
97856025e5 Fixed hopefully the last errors. 2016-08-10 01:19:12 +02:00
OBattler
de2347bf7c Fixed even more errors and implemented IDE command 00. 2016-08-10 01:14:22 +02:00
OBattler
43ddd78b4e Fixed more errors. 2016-08-10 01:04:08 +02:00
OBattler
8a1bc46aef Fixed errors in the code of IDE commands EF and F8. 2016-08-10 00:54:09 +02:00
OBattler
ddf1acd222 Implemented IDE comamnds E0, E5, EF, and F8. 2016-08-10 00:46:56 +02:00
OBattler
8a588dcc82 Fixed some compile-breaking bugs in the i686 instruction code; Enabled logging of bad/unimplemented IDE commands. 2016-08-09 03:02:27 +02:00
OBattler
91da80d00a Commented out the IDE command logging again. 2016-08-03 23:51:25 +02:00
OBattler
5249d5af1c Temporarily enabled IDE command logging. 2016-08-03 23:17:03 +02:00
OBattler
45f01cc67e Removed excess logging related to ATAPI and CD-ROM IOCTL. 2016-08-03 16:46:18 +02:00
OBattler
f77c53510e SVGA video RAM is no longer dumped on fatal; READ MULTIPLE command with block size 0 no longer fatals but instead aborts with Abort Command error per the official ATA reference. 2016-08-02 02:36:07 +02:00
OBattler
114bbdfc6d Applied all mainline commits; Moved all declarations to not be in the middle of code; SVGA linear reads and writes now account for linear base; Fixed a bug with the Compaq ATI 28800. 2016-08-01 19:14:54 +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
fd2a5bc9f5 Initial submission of the PCem-Experimental source code. 2016-06-26 00:34:39 +02:00