mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 09:35:32 -07:00
Fix mode sense (In progress)
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user