Commit Graph

97 Commits

Author SHA1 Message Date
TC1995
6d43f7e2df More fixes for 5380-based SCSI chips of the day (March 29th, 2025)
1. Avoid audio stops when they don't need to be.
2. And improved the MMIO-based NCR 53c400 timings to be similar to the port I/O-based one (T130B).
3. Minor timing fixes to the T128/PAS as well (especially for the hdd, when entering Windows 1.x using a SCSI HDD).
2025-03-29 14:24:20 +01:00
TC1995
9af10bdac3 More changes to the 5380 chips (January 26th, 2025)
Apparently the Trantor T130B SCSI controllers has a different way of calculating the timings and removed the scsi_bus_read() calls from the Current SCSI bus status port (Read Port+4).
Fixes NT using said controller as well as CD swapping while maintaining the correct accurate CD speed.
2025-01-26 15:42:03 +01:00
TC1995
4008010131 Big SCSI bus update of the day, NCR 5380 too (January 20th, 2025)
1. Separate the SCSI bus functions from NCR 5380 into true general purpose SCSI bus functions, allowing use of future legacy scsi controllers.
2. Corrected NCR 5380 chip period for the SCSI controllers based on that chip so that CD-ROM speed is correct enough per speed tests and no more breakage (I hope, report if they are still there, please!) on desyncs.
3. A NCR 5380 software reset involves asserting an IRQ.
2025-01-20 19:55:18 +01:00
TC1995
c9985798d3 Remove excess logs. 2025-01-13 22:04:29 +01:00
TC1995
29ec9fa9ba More NCR53c400 fixes (January 13th, 2025)
Getting on my nerves, NCR 5380...
2025-01-13 21:10:12 +01:00
TC1995
be878ede58 Okay, maybe for the 53c400 only so.
Based on my tests, the former 5380 commit will apply to the 53c400 only, for now...
2025-01-13 00:56:04 +01:00
TC1995
8dc456cce5 NCR 5380-based changes of the day (January 12, 2025)
1. Sanity check for the SCSI temp_buffer if it's allocated or not.
2. Data reads and writes in non-DMA mode should be accessible only when DMA mode is Idle (as in, no DMA at all, whereas DMA mode will go to the SCSI controllers' callbacks).
2025-01-12 20:37:50 +01:00
OBattler
71c16a4481 Remove the previous kludge and #define BUS_ACK to 0x100 so it's different from BUS_ATN. 2024-05-06 13:24:04 +02:00
OBattler
4c84cccae7 The Pro Audio Spectrum SCSI controller is now based on the Trantor T128 (which it is considerable closer to), rather than on the 53c400. 2024-05-06 13:09:08 +02:00
OBattler
2acb11d37c Implemented the Pro Audio Spectrum Plus serial mixer, Pro Audio Spectrum 16 parallel mixer, Pro Audio Spectrum Plus/16 SCSI, ESS ES688, all three ESS PnP AudioDrives, made the wavetables use a separate 44.1 kHz source, and made the Sound Blaster 16 PNP use a proper PNP ROM dump. 2024-05-03 17:02:13 +02:00
TC1995
da1ededb93 SCSI CD-ROM and 5380 fixes.
CD-ROM side: fixed a mode sense page (0x08 Sony, used by both Sony and Texel drives) as well as corrected the Toshiba specific drive speeds (bytes_per_second).
NCR 5380 side: split the work into the generic 5380 core and the ASICs into separate sources (53c400 and T128) and added the T228 MCA adapter based on the 128.
2024-04-10 17:27:30 +02:00
TC1995
ad9503ec28 More fixes to the 5380-based core.
More timer related fixes regarding the speed combinations, looking at you, Rancho (8.10R and 8.20R), but at least it should solve most problems with boots.
2024-02-06 21:09:38 +01:00
TC1995
f582e97168 Refactor 5380-based SCSI controllers
This should fix more timing issues with said SCSI controllers in various CPU/HDD/CD-ROM speeds.
2024-02-03 22:30:14 +01:00
TC1995
a4dcd74216 Small 5380 SCSI improvements.
1. The chip in question now supports the right command length for vendor unique commands, fixes crashes that use said commands.
2. Made the CD speed of said chip even closer to the real thing.
2024-01-03 23:42:24 +01:00
OBattler
40d724cf20 Fixed SCSI/ATAPI hard disk timings and IDE hard disk recalibrate command timing. 2023-10-30 04:48:29 +01:00
OBattler
5a75ce9bf2 Re-added the BIOS-less option of the Trantor T128b, this time with added sanity checks to avoid crashes, fixes #3742. 2023-10-11 18:18:02 +02:00
TC1995
6802c0593b Video, Storage and MCA changes/fixes.
1. Cirrus Logic GD54xx, Paradise/WD VGA now reset the interlace once a text mode is issued if not done automatically.
2. Paradise/WD's 15/16bpp modes using the 800x600 resolution now have the correct ma_latch, should fix most operating systems drivers using this combo.
3. More fixes (hopefully) to the accelerated pitch and rowoffset of the Trident TGUI cards (9440AGi and 96x0XGi), should fix issues with delayed displays mode changes under various operating systems (e.g.: Win3.1x).
4. Preliminary implementation of the Area Fill command of XGA, which is issued while using various painting and/or calc utilities on Win3.1x (IBM XGA updated drivers, e.g.: 2.12).
5. Preliminary (and incomplete) 4bpp XGA mode.
6. The XGA memory test for the 0xa5 using writes (used by various operating systems) no longer conflicts with DOS' XGAKIT's memory detection.
7. Small ROP fixes to both XGA and 8514/A.
8. Re-organized the mapping of the Mach32 chipset, especially when to enable the ATI mode or switching back to IBM mode, should fix LFB conflicts with various operating systems.
9. According to The OS/2 Museum, the Adaptec AHA-154xB series of SCSI cards fail the ASPI4DOS.SYS 3.36 signature check, so now make the changes accordingly.
10. Remove useless and crashy bios-less option of the Trantor T128.
11. The Image Manager 1024 card can also be used on a XT (although only if it has a V20/V30).
12. Re-organized the IBM PS/2 model 60 initialization as well as its right POS machine ID (though an update to sc.exe is still required for the POST memory amount to work normally).
2023-09-30 22:08:08 +02:00
OBattler
6c4a4be6be Timer clean-ups. 2023-08-19 05:26:49 +02:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -05:00
Jasmine Iwanek
42ceb4cfcc Fix some bits which got lost in the last merge 2023-01-08 15:25:28 -05:00
TC1995
e5496e2638 Overhauled CD-ROM selection for SCSI and ATAPI, including model and vendor specific commands.
Fixed the Spock SCSI ID selection.
Fixed CD Audio on NCR 5380-based SCSI controllers.
Added a proprietary CD-ROM controller selection (not hooked up yet).
All on qt only.
2023-01-07 23:48:45 +01:00
OBattler
bb10613c91 Sanitized some Trantor T128 code. 2022-11-24 20:52:52 +01:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
97a7459fd4 clang-format in src/scsi/ 2022-09-18 17:22:55 -04:00
TC1995
333e99113b IBM ESDI MCA, 8514/A, XGA and Rancho changes:
ESDI MCA: Increased esdi_time from 200 to 512, should fix the timeout that caused the bad attention 03 fatal.
Rancho: Added the Rancho RT1000B-MC MCA SCSI controller, it uses the 8.20R BIOS.
8514/A: Reworked the Outline command to satisfy the manual and the win2.10 (286/386) driver.
XGA: Initial rom len is set to 0x8000 (which, after being configured, is set back to 0x2000) just to not make it hang with POST code 40 25 on most configurations.
2022-07-09 23:19:18 +02:00
TC1995
6da31a5557 Make the dedicated Longshine SCSI ASPI driver work under DOS. 2022-07-03 23:09:55 +02:00
TC1995
0898913d05 Fixed the Rancho RT1000A/B aspi manager loading (rtaspi10.sys). 2022-06-27 15:35:55 +02:00
Jasmine Iwanek
0cf7bd5eb0 src/scsi 2022-04-12 17:26:07 -04:00
Jasmine Iwanek
98be04c955 src/scsi 2022-03-13 09:54:10 -04:00
TC1995
e6f5018d51 Added the Corel LS2000 53c400-based card. 2022-03-01 14:20:11 +01:00
Miran Grča
66b93597ad Merge pull request #2169 from jriwanek-forks/device_config_t
clean up device_config_t formatting
2022-02-27 17:12:09 +01:00
TC1995
04a8265bd7 Added length checks to the t128 scsi dma read/write initialization (ncr_write), fixes crashes when length is below 0. 2022-02-27 15:32:50 +01:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
6f2b93923c A lot of fixes - everything now seems to work properly. 2022-02-03 03:10:06 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
RichardG867
5af0db8075 Fix ROM filename casing 2021-11-21 13:33:22 -03:00
TC1995
6be0cbe304 Changes list 1:
Fixed errors of the Trantor T128 SCSI adapter using the CD-ROM on low speed 386/486 processors.
2021-11-18 22:02:14 +01:00
TC1995
54f8ab845b Fixed t128 timings for faster cpu's while remaining compatible with everything else. 2021-09-18 00:52:39 +02:00
TC1995
320c867ea3 Fix T128 timer initialization on reads for faster cpu's. 2021-09-02 14:36:35 +02:00
TC1995
263a8e98c2 Fixed CD Audio on the T128 and made the host buffer limit to be either 512 or less than it if the SCSI buffer length is also less than 512 (T128), same applies to the NCR 53c400, but 128 or less. 2021-08-21 14:18:49 +02:00
TC1995
29b2ac17c0 Fixed timings once again plus a Boot HDD ROM option and another option for logging purposes. 2021-08-19 19:34:28 +02:00
TC1995
62e4245679 Bug fixes to the T128 Pseudo-DMA read routine. 2021-08-17 18:46:45 +02:00
TC1995
250fd9d285 Removed one useless variable and fixed the logging. 2021-08-17 14:29:53 +02:00
TC1995
a4f2d781e8 Initial implementation of the Trantor T128 SCSI adapter, another one using the 5380 chip but with a different undocumented ASIC compared to the rest of the already implemented line of cards. 2021-08-17 14:26:47 +02:00
OBattler
729b6d5069 Added support for up to four SCSI controllers, closes #343. 2021-07-22 20:13:44 +02:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00