Add MO settings UI, fix MO status bar icon

This commit is contained in:
driver1998
2020-07-15 09:03:30 +08:00
committed by David Hrdlička
parent 4cd95df959
commit 43a3eb398d
7 changed files with 612 additions and 104 deletions

View File

@@ -112,6 +112,7 @@
#define IDS_2136 2136 // "Don't Exit"
#define IDS_2137 2137 // "Reset"
#define IDS_2138 2138 // "Don't Reset"
#define IDS_2139 2139 // "CD-ROM drives"
#define IDS_4096 4096 // "Hard disk (%s)"
#define IDS_4097 4097 // "%01i:%01i"
@@ -198,7 +199,7 @@
#define IDS_LANG_ENUS IDS_7168
#define STR_NUM_2048 71
#define STR_NUM_2048 92
#define STR_NUM_3072 11
#define STR_NUM_4096 18
#define STR_NUM_4352 7

View File

@@ -59,7 +59,8 @@ typedef struct
int8_t supported_media[KNOWN_MO_TYPES];
} mo_drive_type_t;
static const mo_drive_type_t mo_drive_types[22] = {
#define KNOWN_MO_DRIVE_TYPES 22
static const mo_drive_type_t mo_drive_types[KNOWN_MO_DRIVE_TYPES] = {
{"86BOX", "MAGNETO OPTICAL", "1.00",{1, 1, 1, 1, 1, 1, 1, 1, 1, 1}},
{"FUJITSU", "M2512A", "1314",{1, 1, 0, 0, 0, 0, 0, 0, 0}},
{"FUJITSU", "M2513-MCC3064SS", "1.00",{1, 1, 1, 1, 0, 0, 0, 0, 0, 0}},
@@ -117,35 +118,31 @@ typedef struct {
} mo_drive_t;
typedef struct {
uint8_t id,
error, status,
phase,
features,
is_dma,
do_page_save,
unit_attention;
mode_sense_pages_t ms_pages_saved;
mo_drive_t *drv;
mo_drive_t *drv;
uint16_t request_length,
max_transfer_len;
uint8_t *buffer,
atapi_cdb[16],
current_cdb[16],
sense[256];
int requested_blocks, packet_status,
request_pos, old_len,
total_length;
uint8_t status, phase,
error, id,
features, pad0,
pad1, pad2;
uint32_t sector_pos, sector_len,
packet_len, pos,
seek_pos;
uint16_t request_length, max_transfer_len;
double callback;
int requested_blocks, packet_status,
total_length, do_page_save,
unit_attention, request_pos,
old_len, pad3;
mode_sense_pages_t ms_pages_saved;
uint32_t sector_pos, sector_len,
packet_len, pos;
uint8_t *buffer,
atapi_cdb[16],
current_cdb[16],
sense[256];
double callback;
} mo_t;

View File

@@ -39,7 +39,8 @@
#define DLG_CFG_HARD_DISKS 118 /* sub-dialog of config */
#define DLG_CFG_HARD_DISKS_ADD 119 /* sub-dialog of config */
#define DLG_CFG_FLOPPY_DRIVES 120 /* sub-dialog of config */
#define DLG_CFG_OTHER_REMOVABLE_DEVICES 121 /* sub-dialog of config */
#define DLG_CFG_CDROM_DRIVES 121 /* sub-dialog of config */
#define DLG_CFG_OTHER_REMOVABLE_DEVICES 122 /* sub-dialog of config */
/* Static text label IDs. */
#define IDT_1700 1700 /* Language: */
@@ -100,6 +101,11 @@
#define IDT_1766 1766 /* Board #4: */
#define IDT_1767 1767 /* ISA RTC: */
#define IDT_1768 1768 /* Ext FD Controller: */
#define IDT_1769 1769 /* MO drives: */
#define IDT_1770 1770 /* Bus: */
#define IDT_1771 1771 /* ID: */
#define IDT_1772 1772 /* Channel */
#define IDT_1773 1773 /* Type: */
/*
@@ -236,6 +242,7 @@
#define IDC_COMBO_MO_ID 1189
#define IDC_COMBO_MO_LUN 1191
#define IDC_COMBO_MO_CHANNEL_IDE 1192
#define IDC_COMBO_MO_TYPE 1193
#define IDC_SLIDER_GAIN 1190 /* sound gain dialog */

View File

@@ -164,7 +164,8 @@ extern void NewFloppyDialogCreate(HWND hwnd, int id, int part);
#define SETTINGS_PAGE_PERIPHERALS 6
#define SETTINGS_PAGE_HARD_DISKS 7
#define SETTINGS_PAGE_FLOPPY_DRIVES 8
#define SETTINGS_PAGE_OTHER_REMOVABLE_DEVICES 9
#define SETTINGS_PAGE_CDROM_DRIVES 9
#define SETTINGS_PAGE_OTHER_REMOVABLE_DEVICES 10
extern void win_settings_open(HWND hwnd);
extern void win_settings_open_ex(HWND hwnd, int category);