Fix mode sense (In progress)

This commit is contained in:
Jasmine Iwanek
2025-05-11 00:23:19 -04:00
parent 1be48090c0
commit d0c941dd1a

View File

@@ -84,54 +84,103 @@ static uint64_t superdisk_240_mode_sense_page_flags = (GPMODEP_R_W_ERROR_PAGE |
GPMODEP_ALL_PAGES);
static const mode_sense_pages_t superdisk_mode_sense_pages_default = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a, 0xc8, 0x16, 0x00, 0x00, 0x00, 0x00,
0x5a, 0x00, 0x50, 0x20 },
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
[0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a, // Page Length
0x80, // Automatic Write Retry Enabled = 1
0x01, // Read Retry Count = 1
0x00, // Correction Span
0x00, // Head Offset Count
0x00, // Data Strobe Offset Count
0x00, // Reserved
0x00, // Write Retry Count (Low Byte)
0x02, // Write Retry Count = 2
0x00, // Recovery Time Limit MSB
0x00 }, // Recovery Time Limit LSB
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
};
static const mode_sense_pages_t superdisk_240_mode_sense_pages_default = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06, 0xc8, 0x64, 0x00, 0x00, 0x00, 0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0x80, 0x00, 0x40, 0x20, 0x02, 0x00,
0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0b, 0x7d, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a, 0x04, 0x00, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff },
[0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06,
0xc8,
0x64,
0x00,
0x00,
0x00,
0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0x80, 0x00, 0x40, 0x20, 0x02, 0x00,
0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0b, 0x7d, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a,
0x04,
0x00,
0xff, 0xff,
0x00, 0x00,
0xff, 0xff,
0xff, 0xff },
};
static const mode_sense_pages_t superdisk_mode_sense_pages_default_scsi = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a, 0xc8, 0x16, 0x00, 0x00, 0x00, 0x00,
0x5a, 0x00, 0x50, 0x20 },
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
[0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a,
0xc8,
0x16,
0x00,
0x00,
0x00,
0x00,
0x5a,
0x00,
0x50,
0x20 },
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
};
static const mode_sense_pages_t superdisk_240_mode_sense_pages_default_scsi = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06, 0xc8, 0x64, 0x00, 0x00, 0x00, 0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0x80, 0x00, 0x40, 0x20, 0x02, 0x00,
0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0b, 0x7d, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a, 0x04, 0x00, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff },
[0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06,
0xc8,
0x64,
0x00,
0x00,
0x00,
0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0x80, 0x00, 0x40, 0x20, 0x02, 0x00,
0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0b, 0x7d, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a, 0x04, 0x00, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff },
};
static const mode_sense_pages_t superdisk_mode_sense_pages_changeable = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
0xff, 0xff, 0xff },
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
[0x01] = { GPMODE_R_W_ERROR_PAGE, 0x0a,
0xff,
0xff,
0x00,
0x00,
0x00,
0xff,
0xff,
0xff,
0xff },
[0x02] = { GPMODE_DISCONNECT_PAGE, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
};
static const mode_sense_pages_t superdisk_240_mode_sense_pages_changeable = {
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a, 0x04, 0x00, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff },
{ [0x01] = { GPMODE_R_W_ERROR_PAGE, 0x06,
0xff,
0xff,
0x00,
0x00,
0x00,
0x00 },
[0x05] = { GPMODE_FLEXIBLE_DISK_PAGE, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 },
[0x08] = { GPMODE_CACHING_PAGE, 0x0a, 0x04, 0x00, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff },
};
// clang-format on