mirror of
https://github.com/dingusdev/dingusppc.git
synced 2026-04-20 18:17:02 +00:00
Move page numbers for MODE SENSE to scsi.h
This commit is contained in:
@@ -203,6 +203,17 @@ enum : uint8_t {
|
||||
CAP_CMD_SRST = 1 << 0, // device supports soft resets
|
||||
};
|
||||
|
||||
/** Page numbers for MODE SENSE and MODE SELECT. */
|
||||
enum ModePage {
|
||||
ERROR_RECOVERY = 0x1,
|
||||
CDROM_PARAMS = 0xD,
|
||||
CDROM_AUDIO = 0xE,
|
||||
POWER_CONDITION = 0x1A,
|
||||
CDROM_CAPABILITIES = 0x2A,
|
||||
VENDOR_PAGE_31 = 0x31,
|
||||
ALL_PAGES = 0x3F,
|
||||
};
|
||||
|
||||
/** Standard SCSI bus timing values measured in ns. */
|
||||
constexpr uint64_t BUS_SETTLE_DELAY = 400;
|
||||
constexpr uint64_t BUS_FREE_DELAY = 800;
|
||||
|
||||
@@ -135,7 +135,7 @@ uint32_t CdromDrive::mode_sense_ex(bool is_sense_6, uint8_t* cmd_ptr, uint8_t* d
|
||||
resp_ptr[0] = page_code;
|
||||
|
||||
switch (page_code) {
|
||||
case ModePage::READ_ERROR_RECOVERY:
|
||||
case ModePage::ERROR_RECOVERY:
|
||||
resp_ptr[1] = 6; // data size
|
||||
std::memset(&resp_ptr[2], 0, 6);
|
||||
data_ptr[1] += 8; // adjust overall length
|
||||
|
||||
@@ -44,16 +44,6 @@ typedef struct {
|
||||
uint32_t start_lba;
|
||||
} TrackDescriptor;
|
||||
|
||||
enum ModePage {
|
||||
READ_ERROR_RECOVERY = 1,
|
||||
CDROM_PARAMS = 0xD,
|
||||
CDROM_AUDIO = 0xE,
|
||||
POWER_CONDITION = 0x1A,
|
||||
CDROM_CAPABILITIES = 0x2A,
|
||||
VENDOR_PAGE_31 = 0x31,
|
||||
ALL_PAGES = 0x3F,
|
||||
};
|
||||
|
||||
constexpr auto CDROM_MAX_TRACKS = 100;
|
||||
constexpr auto LEAD_OUT_TRK_NUM = 0xAA;
|
||||
constexpr auto CDR_STD_DATA_SIZE = 2048;
|
||||
|
||||
Reference in New Issue
Block a user