Commit Graph

117 Commits

Author SHA1 Message Date
OBattler
fdec9fa684 The BusLogic SCSI controllers now correctly return invalid status for invalid controller commands, fixes the Windows 95 BusLogic driver;
Applied PCem commits that fix the Sound Blaster Pro compatibility registers on the Sound Blaster 16, CMS/Game Blaster, and Trident TGUI9440.
2017-10-20 08:02:04 +02:00
waltje
555a14746c Merge branch 'master' of https://github.com/OBattler/86Box 2017-10-19 21:09:20 -04:00
waltje
0af26c1c3b More cleanups, also updated Makefile.local with all "user-settable" parts. 2017-10-19 21:08:41 -04:00
OBattler
b755b27304 Reworked network and SCSI thread initialization and termination;
Hard disk controller name and other related strings are now char * instead of fixed-size arrays.
2017-10-19 23:55:51 +02:00
OBattler
bcffcb4d22 SCSI controller command 0x93 is now an alias of command 0x92 on the BT-445 VLB. 2017-10-17 22:58:55 +02:00
waltje
7f24ba9fe9 Another cleanup run. 2017-10-17 02:01:03 -04:00
OBattler
bfb0093b38 Cleaned up the network and SCSI thread stuff. 2017-10-17 05:15:53 +02:00
OBattler
0d60ba731c Fixed several BT-640A bugs. 2017-10-17 03:55:06 +02:00
OBattler
f3684dba38 Fixed the BT-640A and BT-445S device local flags. 2017-10-17 03:15:29 +02:00
OBattler
95ef5eda3d Added the BusLogic BT-445S VLB. 2017-10-17 03:00:09 +02:00
OBattler
ca39d3a4c9 Added the BusLogic BT-640A MCA;
Fixed the MCA write function of the AHA-1640 MCA - the host ID is now read from the correct variable and the sync and parity check values are now read as well.
2017-10-17 02:50:54 +02:00
OBattler
6674865c56 The AHA and BusLogic controller reset now resets less things, fixes NT 3.1 Setup hanging after detecting the AHA-1542CF with BIOS enabled. 2017-10-17 01:35:41 +02:00
OBattler
52eca87ae1 The AHA and BusLogic SCSI controllers now again correctly set the INIT flag on controller hard reset, fixes their NT drivers. 2017-10-17 00:49:32 +02:00
OBattler
88ccca9f35 The AHA and BusLogic SCSI controllers now only check for ID:0 when deciding on selection timeout, the LUN handling is done by the SCSI Command Phase 0 handler and returns CHECK CONDITION status with INVALID LUN sense if nothing is on present on that LUN. 2017-10-16 20:58:43 +02:00
OBattler
cca76f55a4 Calls to SCSI command phase 0 with an ID and LUN no device is attached to now correctly end with status phase and CHECK CONDITION status, fixes the DOS Trantor CD-ROM driver. 2017-10-16 20:42:04 +02:00
OBattler
e49c411183 Fixed AHA and BusLogic software reset - fixes unnecessary stalls (mostly with BusLogic SCSI BIOS'es);
Fixed BusLogic BT-958D reset - now it actually resets again.
2017-10-16 18:40:34 +02:00
waltje
3572f7a34d Minor fixes for C/C++ inter-operation. 2017-10-16 04:54:57 -04:00
OBattler
c225724b40 The AHA and BusLogic SCSI controllers now again correctly return the sense buffer when the SCSI disk or CD-ROM command has terminated with error;
The AHA and BusLogic SCSI controllers now support the bus reset (0x81) CCB opcode;
The AHA and BusLogic SCSI controllers now terminate with the correct mailbox completion codes on invalid ID, invalid LUN, invalid opcode, or invalid direction control byte.
2017-10-16 08:37:14 +02:00
OBattler
ed865610e9 A dynamic recompiler block's validity is now separate from its starting code address, should fix most of the known recompiler fatals;
The CD-ROM buffer is now dynamically malloc'd;
Did a lot of bugfixing in cdrom.c and scsi_disk.c, Debian 8's modprobe aha1542 and the NT 3.10.404.1 Trantor 310b driver now work;
Fixed the IDE IRQ/MIRQ mess and ATAPI DMA transfer length;
Fixed the operation of mmutranslate() a bit;
Commented out several instances of excess logging;
Applied the mainline PCem commit prefetch commit;
Readded missing Sound Blaster DSP MIDI behavior and gave it the correct MPU struct;
All non-IBM 486 machines now correctly have the VLB flag set.
2017-10-16 06:19:18 +02:00
OBattler
1cfa8e2c4d The emulator can now be compiled without the recompiler by using the DYNAREC=n parameter with make;
The BIOS address is now selectable for the BusLogic ISA SCSI controllers.
2017-10-15 02:43:13 +02:00
waltje
c1abfe2362 Another cleanup. VNC now has fixed blitters, so 8bit cards (vga,mda,herc et al) work. More cleanups with the %ls stuff, cleanup of threads modules, and MOVED THE MAKEFILE to win/. 2017-10-14 20:04:42 -04:00
OBattler
e8d133fe57 Fixed AHA-154x EEPROM reads and writes. 2017-10-14 19:14:17 +02:00
OBattler
7581474aab The AHA/BusLogic reset controllers' BIOS commands now return 0x80 (no device present error) for CD-ROM drives if the device is market as not supporting CD-ROM boot, fixes sending of WRITE (10) to CD-ROM drives followed by hang;
The CD-ROM and SCSI disk REQUEST SENSE commands no longer incorrectly set the phase to status;
REQUEST SENSE with non-data direction control byte is now treated as a request to send sense bytes from the command directly to the sense buffer;
SCSI and SLiRP threads now terminate themselves again when out of the while loop;
SCSI and SLiRP mutexes are now closed when the threads terminate themselves;
Fixed a bug causing the "Press F12+F8 or middle mouse button to release" string on the title bar to get corrupt.
2017-10-14 18:52:25 +02:00
OBattler
1d3aa976ec Fixed the SLiRP and SCSI mutexes. 2017-10-14 08:34:47 +02:00
OBattler
2792da5432 Refactored AHA-154x and BusLogic emulation and made them use a common core;
Fixed AHA-154x scatter/gather transfers;
Two-phased SCSI read-direction commands;
Made scsi_bus.c use a dynamically malloc'd buffer instead of a giant fixed-size buffer;
The AHA-154x/BusLogic thread now uses mutexes;
The BusLogic BT-545C is now the BT-545S;
Added the BusLogic BT-542BH;
The AHA-1542CF now again uses the v2.11 BIOS as the CD booting now works;
Applied PCem commit that adds NMI support to the recompiler;
Applied PCem commit that adds the IBM XT 286;
Applied PCem commits that have to do with sound, including the ES1371;
Fixed the NCR5380 output data register;
Moved the SLiRP mutex stuff from win.c to the appropriate network files;
Added sanity checks to everything in win_thread.c.
2017-10-14 07:03:19 +02:00
waltje
e9bd160ad1 More general cleanups and bugfixes. 2017-10-13 02:45:04 -04:00
waltje
724e5c44df More cleanups to separate main code from platform support and UI support, plus a few bugfixes. 2017-10-12 14:26:28 -04:00
OBattler
1b3cb1b501 Fixed a compile-breaking mistake in scsi_aha154x.c. 2017-10-11 18:17:46 +02:00
OBattler
5e1a8d5c91 The AHA-154x now resets the BIOS mailbox data on controller reset. 2017-10-11 17:59:25 +02:00
waltje
c7cb446684 Another round of cleanups - the main code no longer refers to, let alone uses, anything in the platform folder - completely separated! 2017-10-11 05:43:09 -04:00
OBattler
9e487d96c0 The AHA-154x SCSI controllers now process both normal and BIOS mailboxes at the same time. 2017-10-11 03:44:41 +02:00
OBattler
af189a55da Implemented the WRITE CHANNEL 2 BUFFER and READ CHANNEL 2 BUFFER commands for the AHA-154x. 2017-10-11 01:39:12 +02:00
OBattler
4484ce9597 Two-phased SCSI write-direction commands on the AHA and BusLogic SCSI controllers, fixes residual lengths for such commands;
Cleaned up the handlers for the BusLogic Execute SCSI Command command;
Made the AHA-1542CF use version 2.01 of the BIOS;
The CD-ROM GET EVENT STATUS NOTIFICATION fix is back.
2017-10-11 01:17:41 +02:00
waltje
bd89e66b7b Separated main code from UI and PLATform support code, plus other generally small fixes here and there. 2017-10-10 03:16:59 -04:00
OBattler
e88899bb3c Fixed AHA and BusLogic mailbox processing so that an outgoing mailbox is not marked as free until it's been completely processed and correctly implemented the AHA-1542C/CF Shadow RAM - the AHA-1542C/CF should be fully working now. 2017-10-10 04:15:29 +02:00
OBattler
253ad40376 All devices now have the bus marked in their name;
The Settings dialog now correctly filters devices by bus;
Split the dual VLB/PCI graphics cards into VLB and PCI versions;
Device filtering is now done using the new device_is_valid() call that compares device flags to machine flags;
Moved the NCR-based SCSI controllers to the main branch;
Moved the NE1000 to the dev branch until it's finished.
2017-10-10 00:14:15 +02:00
waltje
efc129eb22 Fixed come crashes (AHA1542, general with SB tips) etc. 2017-10-09 03:19:10 -04:00
OBattler
329fb8ee47 Adaptec AHA-1542C/CF BIOS mailboxes now works correctly, and disabled the shadow RAM handling for both controllers, both controllers' BIOS'es now work correctly. 2017-10-09 06:16:37 +02:00
OBattler
65dca51e23 The SCSI phase is now set to status at the beginning of cdrom_command() and scsi_hd_command() as well as in scsi_device_target_command(), in order to prevent the SCSI bus being perpetually stuck in command phase in case of error; fixes the DOS Trantor SCSI CD-ROM driver. 2017-10-09 02:35:12 +02:00
OBattler
02bbfb26eb Timers are now 64-bit. 2017-10-09 01:48:36 +02:00
waltje
08bf9109d7 Cleanup of NCR5380 driver, now uses new device initialization. 2017-10-08 19:22:19 -04:00
OBattler
d72a2cc924 The RTL8029AS and BT-958D are now only available on PCI boards, and the Setting dialogs now filters PCI network and SCSI cards depending on the machine selected;
Added DEVICE_VLB and DEVICE_AGP flags.
2017-10-08 05:38:45 +02:00
OBattler
05e3dbbb48 Added three NCR5380-based SCSI controllers (in dev branch);
Two-phases SCSI disk write direction commands (needed for the NCR5380);
Renamed cdrom_ioctl.c/h to win_cdrom_ioctl.c/h and moved them to win/;
Moved some CD-ROM and floppy initialization blocks to the appropriate files.
2017-10-08 05:04:38 +02:00
waltje
ffa22a216c More general changes and cleanups, mostly in machine/ now. Also updated SCSI and Network device drivers to use new device init method. 2017-10-07 22:19:11 -04:00
waltje
97ab6234d4 Split win_about, win_stbar, merged ddraw stuff, initial cleanup of win_cdrom. 2017-10-07 04:34:57 -04:00
waltje
2b37b7fbfb Major changes to NVR, system initialization (pc.c), and what goes on in the Windows startup (win.c.) Not fully done yet, but good enough for a first commit. 2017-10-07 00:49:53 -04:00
waltje
633adc6b02 Another big change, this time to the NVR. It has been re-done, integrated with the RTC code, and is now ready to be used by other, non-AT-compatible systems, including an ISA card for PC/XT. 2017-10-03 16:28:26 -04:00
waltje
63c532d940 Even more cleanups. Also renamed hdd/ to disk/ as that makes more sense. Machines with an Internal HDC (usually IDE) can now also select an alternative one instead. 2017-10-02 02:21:38 -04:00
waltje
2dbf5409c0 Changes to allow for auto- or selectable Internal HD controller, and some other minor changes. 2017-10-01 16:29:27 -04:00
waltje
9d9f5fdd58 Separation of HDD (disks) and HDC (disk controllers) with major cleanup. IDE remains same until Kotori finishes that part. 2017-09-30 16:58:41 -04:00