mirror of
https://github.com/copy/v86.git
synced 2025-12-31 04:23:15 +00:00
set "CD Not Ready" condition in ATAPI commands as specified in MMC-3
A few ATAPI commands did not return an error (CD Not Ready condition) with ejected medium as specified in MMC-3 (https://www.t10.org/ftp/t10/document.97/97-108r0.pdf). Adding these to our subset of ATAPI commands improved the FreeDOS 1.4 situation around eject/insert a bit (the problem really is eject, insert always works given the medium is ejected). Waiting around 20-30 sec after eject seems to work reliably.
This commit is contained in:
parent
ef0b306732
commit
50945b3d16
1 changed files with 5 additions and 4 deletions
|
|
@ -184,6 +184,7 @@ const ATAPI_CF_NONE = 0x00; // no flags
|
|||
const ATAPI_CF_NEEDS_DISK = 0x01; // command needs inserted disk
|
||||
const ATAPI_CF_UNIT_ATTN = 0x02; // bounce command if unit attention condition is active
|
||||
|
||||
// ATAPI commands, for flags see [MMC-3] 4.2.6
|
||||
const ATAPI_CMD =
|
||||
{
|
||||
[ATAPI_CMD_GET_CONFIGURATION]: {name: "GET CONFIGURATION", flags: ATAPI_CF_NONE},
|
||||
|
|
@ -192,17 +193,17 @@ const ATAPI_CMD =
|
|||
[ATAPI_CMD_MECHANISM_STATUS]: {name: "MECHANISM STATUS", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_MODE_SENSE_6]: {name: "MODE SENSE (6)", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_MODE_SENSE_10]: {name: "MODE SENSE (10)", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_PAUSE]: {name: "PAUSE", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_PAUSE]: {name: "PAUSE", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL]: {name: "PREVENT ALLOW MEDIUM REMOVAL", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_READ]: {name: "READ", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_CAPACITY]: {name: "READ CAPACITY", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_CD]: {name: "READ CD", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_READ_CD]: {name: "READ CD", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_DISK_INFORMATION]: {name: "READ DISK INFORMATION", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_SUBCHANNEL]: {name: "READ SUBCHANNEL", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_TOC_PMA_ATIP]: {name: "READ TOC PMA ATIP", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_READ_TRACK_INFORMATION]: {name: "READ TRACK INFORMATION", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_READ_TRACK_INFORMATION]: {name: "READ TRACK INFORMATION", flags: ATAPI_CF_NEEDS_DISK},
|
||||
[ATAPI_CMD_REQUEST_SENSE]: {name: "REQUEST SENSE", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_TEST_UNIT_READY]: {name: "TEST UNIT READY", flags: ATAPI_CF_NONE},
|
||||
[ATAPI_CMD_TEST_UNIT_READY]: {name: "TEST UNIT READY", flags: ATAPI_CF_NEEDS_DISK},
|
||||
};
|
||||
|
||||
// ATAPI device signature
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue