Rewritten 808x CPU emulation core based on reenigne's XTCE, VisiOn, SnatchIt, and 8088 MPH now work correctly;
Fixed PC speaker sound volume in PIT mode 0; A few CPU emulation clean-ups; Hard disk controller changing redone in a less messy way; Re-added the long-missing key send delay handling to the XT keyboard handler; Fixed a bug that was causing SLiRP not to work when compiled with MingW/GCC 7.3.0-2 or newer; Some serial mouse and port fixes; A lot of changes to printer emulation, mostly based on DOSBox-X; Printer PNG writer now uses statically linked libpng; Added support for the HxC MFM floppy image format and upped 86F format version to 2.12; Ported various things from PCem and some from VARCem; Added the S3 86c801/805 emulation (patch from TheCollector1995); Fixed and renamed the EGA monitor options; Better synchronized the 808x to the PIT and the CGA; Fixed the CGA wait state calculation; Cleaned up some things in mem.c; Fixed some things in the floppy emulation to make VisiOn get the correct errors from the copy protection disk; Fixed several renderer-related bugs, including the SDL2 renderer's failure to take screenshots; The Jenkins builds are now compiled with MingW/GCC 7.4.0-1 and include all the required DLL's.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
* 1 - BT-545S ISA;
|
||||
* 2 - BT-958D PCI
|
||||
*
|
||||
* Version: @(#)scsi_buslogic.c 1.0.43 2018/10/28
|
||||
* Version: @(#)scsi_buslogic.c 1.0.44 2018/11/11
|
||||
*
|
||||
* Authors: TheCollector1995, <mariogplayer@gmail.com>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -1575,6 +1575,7 @@ buslogic_init(const device_t *info)
|
||||
has_scam_rom = 0;
|
||||
dev->fw_rev = "AA335";
|
||||
dev->ha_bps = 5000000.0; /* normal SCSI */
|
||||
dev->max_id = 15; /* wide SCSI */
|
||||
break;
|
||||
case CHIP_BUSLOGIC_ISA:
|
||||
default:
|
||||
@@ -1588,6 +1589,7 @@ buslogic_init(const device_t *info)
|
||||
has_scam_rom = 0;
|
||||
dev->fw_rev = "AA421E";
|
||||
dev->ha_bps = 10000000.0; /* fast SCSI */
|
||||
dev->max_id = 15; /* wide SCSI */
|
||||
break;
|
||||
case CHIP_BUSLOGIC_MCA:
|
||||
strcpy(dev->name, "BT-640A");
|
||||
@@ -1602,6 +1604,7 @@ buslogic_init(const device_t *info)
|
||||
dev->pos_regs[1] = 0x07;
|
||||
mca_add(buslogic_mca_read, buslogic_mca_write, dev);
|
||||
dev->ha_bps = 5000000.0; /* normal SCSI */
|
||||
dev->max_id = 15; /* wide SCSI */
|
||||
break;
|
||||
case CHIP_BUSLOGIC_VLB:
|
||||
strcpy(dev->name, "BT-445S");
|
||||
@@ -1610,11 +1613,14 @@ buslogic_init(const device_t *info)
|
||||
bios_rom_mask = 0x3fff;
|
||||
has_autoscsi_rom = 1;
|
||||
autoscsi_rom_name = L"roms/scsi/buslogic/BT-445S_AutoSCSI.rom";
|
||||
autoscsi_rom_size = 0x4000;
|
||||
has_scam_rom = 0;
|
||||
dev->fw_rev = "AA421E";
|
||||
autoscsi_rom_size = 0x8000;
|
||||
has_scam_rom = 1;
|
||||
scam_rom_name = L"roms/scsi/buslogic/BT-445S_SCAM.rom";
|
||||
scam_rom_size = 0x0200;
|
||||
dev->fw_rev = "AA507B";
|
||||
dev->bit32 = 1;
|
||||
dev->ha_bps = 10000000.0; /* fast SCSI */
|
||||
dev->max_id = 15; /* wide SCSI */
|
||||
break;
|
||||
case CHIP_BUSLOGIC_PCI:
|
||||
strcpy(dev->name, "BT-958D");
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Implementation of the CD-ROM drive with SCSI(-like)
|
||||
* commands, for both ATAPI and SCSI usage.
|
||||
*
|
||||
* Version: @(#)scsi_cdrom.c 1.0.68 2018/11/02
|
||||
* Version: @(#)scsi_cdrom.c 1.0.69 2018/11/11
|
||||
*
|
||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
@@ -2025,6 +2025,8 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case GPCMD_PLAY_AUDIO_TRACK_INDEX:
|
||||
case GPCMD_PLAY_AUDIO_TRACK_RELATIVE_10:
|
||||
case GPCMD_PLAY_AUDIO_TRACK_RELATIVE_12:
|
||||
len = 0;
|
||||
|
||||
scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS);
|
||||
|
||||
switch(cdb[0]) {
|
||||
@@ -2168,7 +2170,7 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
if (ret) {
|
||||
scsi_cdrom_set_buf_len(dev, BufLen, &alloc_length);
|
||||
scsi_cdrom_data_command_finish(dev, alloc_length, alloc_length,
|
||||
len, 0);
|
||||
alloc_length, 0);
|
||||
} else
|
||||
scsi_cdrom_buf_free(dev);
|
||||
return;
|
||||
|
||||
@@ -2652,6 +2652,7 @@ ncr53c8xx_init(const device_t *info)
|
||||
if (dev->has_bios)
|
||||
rom_init(&dev->bios, NCR53C8XX_ROM, 0xc8000, 0x4000, 0x3fff, 0, MEM_MAPPING_EXTERNAL);
|
||||
if (dev->chip >= CHIP_825) {
|
||||
|
||||
if (dev->chip == CHIP_875) {
|
||||
dev->chip_rev = 0x04;
|
||||
dev->nvr_path = L"ncr53c875.nvr";
|
||||
|
||||
Reference in New Issue
Block a user