IDE dword reads and writes reverted to original operation, fixes the last hard disk problems;
ATAPI CD-ROM word reads no longer incorrectly discard the upper 16 bits, fixes the CD-ROM problems; Significantly rewrote parts of the AHA-154x and BusLogic emulation, NT 3.1 RTM and MS-DOS drivers now works correctly; The function in cdrom.c to read data blocks from the disc now correctly advances the position of the sector to read in non-passthrough mode, fixes multiblock reads from directly mounted ISO's; Both ATAPI and SCSI now always check for Unit Attention and Not Ready on command execution.
This commit is contained in:
@@ -129,9 +129,6 @@ typedef struct __attribute__((__packed__))
|
||||
uint8_t bus_mode; /* Bit 0 = PIO suported;
|
||||
Bit 1 = DMA supportd. */
|
||||
|
||||
uint8_t check_on_execution; /* 0 = Not Ready/Unit Attention checkeck is performed on the controller's side before command execution;
|
||||
1 = Not Ready/Unit Attention checkeck is performed on command execution. */
|
||||
|
||||
uint8_t ide_channel;
|
||||
|
||||
uint8_t scsi_device_id;
|
||||
@@ -190,7 +187,7 @@ void build_scsi_cdrom_map();
|
||||
int cdrom_CDROM_PHASE_to_scsi(uint8_t id);
|
||||
int cdrom_atapi_phase_to_scsi(uint8_t id);
|
||||
void cdrom_command(uint8_t id, uint8_t *cdb);
|
||||
int cdrom_phase_callback(uint8_t id);
|
||||
void cdrom_phase_callback(uint8_t id);
|
||||
uint32_t cdrom_read(uint8_t channel, int length);
|
||||
void cdrom_write(uint8_t channel, uint32_t val, int length);
|
||||
int cdrom_lba_to_msf_accurate(int lba);
|
||||
|
||||
Reference in New Issue
Block a user