diff --git a/src/WIN/86Box.rc b/src/WIN/86Box.rc index fb5d56296..f8f59b460 100644 --- a/src/WIN/86Box.rc +++ b/src/WIN/86Box.rc @@ -92,6 +92,118 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Image...", IDM_CDROM_4_IMAGE END + POPUP "Removable disk 01" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_01_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_01_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_01_IMAGE + END + POPUP "Removable disk 02" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_02_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_02_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_02_IMAGE + END + POPUP "Removable disk 03" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_03_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_03_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_03_IMAGE + END + POPUP "Removable disk 04" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_04_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_04_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_04_IMAGE + END + POPUP "Removable disk 05" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_05_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_05_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_05_IMAGE + END + POPUP "Removable disk 06" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_06_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_06_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_06_IMAGE + END + POPUP "Removable disk 07" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_07_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_07_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_07_IMAGE + END + POPUP "Removable disk 08" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_08_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_08_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_08_IMAGE + END + POPUP "Removable disk 09" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_09_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_09_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_09_IMAGE + END + POPUP "Removable disk 10" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_10_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_10_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_10_IMAGE + END + POPUP "Removable disk 11" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_11_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_11_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_11_IMAGE + END + POPUP "Removable disk 12" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_12_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_12_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_12_IMAGE + END + POPUP "Removable disk 13" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_13_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_13_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_13_IMAGE + END + POPUP "Removable disk 14" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_14_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_14_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_14_IMAGE + END + POPUP "Removable disk 15" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_15_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_15_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_15_IMAGE + END + POPUP "Removable disk 16" + BEGIN + MENUITEM "E&mpty", IDM_RDISK_16_EMPTY + MENUITEM "&Reload previous disc", IDM_RDISK_16_RELOAD + MENUITEM SEPARATOR + MENUITEM "&Image...", IDM_RDISK_16_IMAGE + END END MAINMENU MENU DISCARDABLE @@ -536,14 +648,14 @@ END 163 ICON DISCARDABLE "ICONS/cdrom_atapi_dma_active.ico" 164 ICON DISCARDABLE "ICONS/cdrom_scsi.ico" 165 ICON DISCARDABLE "ICONS/cdrom_scsi_active.ico" -176 ICON DISCARDABLE "ICONS/hard_disk_mfm.ico" -177 ICON DISCARDABLE "ICONS/hard_disk_mfm_active.ico" -178 ICON DISCARDABLE "ICONS/hard_disk.ico" -179 ICON DISCARDABLE "ICONS/hard_disk_active.ico" -180 ICON DISCARDABLE "ICONS/hard_disk_ide.ico" -181 ICON DISCARDABLE "ICONS/hard_disk_ide_active.ico" -182 ICON DISCARDABLE "ICONS/hard_disk_scsi.ico" -183 ICON DISCARDABLE "ICONS/hard_disk_scsi_active.ico" +192 ICON DISCARDABLE "ICONS/hard_disk_mfm.ico" +193 ICON DISCARDABLE "ICONS/hard_disk_mfm_active.ico" +194 ICON DISCARDABLE "ICONS/hard_disk.ico" +195 ICON DISCARDABLE "ICONS/hard_disk_active.ico" +196 ICON DISCARDABLE "ICONS/hard_disk_ide.ico" +197 ICON DISCARDABLE "ICONS/hard_disk_ide_active.ico" +198 ICON DISCARDABLE "ICONS/hard_disk_scsi.ico" +199 ICON DISCARDABLE "ICONS/hard_disk_scsi_active.ico" 256 ICON DISCARDABLE "ICONS/machine.ico" 257 ICON DISCARDABLE "ICONS/video.ico" 258 ICON DISCARDABLE "ICONS/input_devices.ico" diff --git a/src/WIN/resource.h b/src/WIN/resource.h index 5364bf674..5342c8b5b 100644 --- a/src/WIN/resource.h +++ b/src/WIN/resource.h @@ -180,6 +180,55 @@ #define IDM_CDROM_4_EMPTY 40179 #define IDM_CDROM_4_REAL 40195 +#define IDM_RDISK_01_IMAGE 3200 +#define IDM_RDISK_01_RELOAD 3216 +#define IDM_RDISK_01_EMPTY 3232 +#define IDM_RDISK_02_IMAGE 3201 +#define IDM_RDISK_02_RELOAD 3217 +#define IDM_RDISK_02_EMPTY 3233 +#define IDM_RDISK_03_IMAGE 3202 +#define IDM_RDISK_03_RELOAD 3218 +#define IDM_RDISK_03_EMPTY 3234 +#define IDM_RDISK_04_IMAGE 3203 +#define IDM_RDISK_04_RELOAD 3219 +#define IDM_RDISK_04_EMPTY 3235 +#define IDM_RDISK_05_IMAGE 3204 +#define IDM_RDISK_05_RELOAD 3220 +#define IDM_RDISK_05_EMPTY 3236 +#define IDM_RDISK_06_IMAGE 3205 +#define IDM_RDISK_06_RELOAD 3221 +#define IDM_RDISK_06_EMPTY 3237 +#define IDM_RDISK_07_IMAGE 3206 +#define IDM_RDISK_07_RELOAD 3222 +#define IDM_RDISK_07_EMPTY 3238 +#define IDM_RDISK_08_IMAGE 3207 +#define IDM_RDISK_08_RELOAD 3223 +#define IDM_RDISK_08_EMPTY 3239 +#define IDM_RDISK_09_IMAGE 3208 +#define IDM_RDISK_09_RELOAD 3224 +#define IDM_RDISK_09_EMPTY 3240 +#define IDM_RDISK_10_IMAGE 3209 +#define IDM_RDISK_10_RELOAD 3225 +#define IDM_RDISK_10_EMPTY 3241 +#define IDM_RDISK_11_IMAGE 3210 +#define IDM_RDISK_11_RELOAD 3226 +#define IDM_RDISK_11_EMPTY 3242 +#define IDM_RDISK_12_IMAGE 3211 +#define IDM_RDISK_12_RELOAD 3227 +#define IDM_RDISK_12_EMPTY 3243 +#define IDM_RDISK_13_IMAGE 3212 +#define IDM_RDISK_13_RELOAD 3228 +#define IDM_RDISK_13_EMPTY 3244 +#define IDM_RDISK_14_IMAGE 3213 +#define IDM_RDISK_14_RELOAD 3229 +#define IDM_RDISK_14_EMPTY 3245 +#define IDM_RDISK_15_IMAGE 3214 +#define IDM_RDISK_15_RELOAD 3230 +#define IDM_RDISK_15_EMPTY 3246 +#define IDM_RDISK_16_IMAGE 3215 +#define IDM_RDISK_16_RELOAD 3231 +#define IDM_RDISK_16_EMPTY 3247 + #define IDM_IDE_TER_ENABLED 44000 #define IDM_IDE_TER_IRQ9 44009 #define IDM_IDE_TER_IRQ10 44010 diff --git a/src/WIN/win.c b/src/WIN/win.c index 39d31d071..010b67f61 100644 --- a/src/WIN/win.c +++ b/src/WIN/win.c @@ -696,7 +696,7 @@ void update_status_bar_icon(int tag, int active) int found = -1; int temp_flags = 0; - if ((tag & 0xf0) >= 0x30) + if ((tag & 0xf0) >= 0x40) { return; } @@ -833,7 +833,7 @@ void update_tip(int meaning) if (part != -1) { - switch(meaning & 0x30) + switch(meaning & 0xf0) { case 0x00: create_floppy_tip(part); @@ -841,7 +841,12 @@ void update_tip(int meaning) case 0x10: create_cdrom_tip(part); break; +#if 0 case 0x20: + create_removable_hd_tip(part); + break; +#endif + case 0x30: create_hd_tip(part); break; default: @@ -883,7 +888,7 @@ void status_settextw(wchar_t *wstr) for (i = 0; i < sb_parts; i++) { - if (sb_part_meanings[i] == 0x30) + if (sb_part_meanings[i] == 0x40) { part = i; } @@ -949,32 +954,44 @@ void update_status_bar_panes(HWND hwnds) sb_parts++; } } +#if 0 + for (i = 0; i < 16; i++) + { + if (hdc[i].bus == 5) + { + edge += sb_icon_width; + iStatusWidths[sb_parts] = edge; + sb_part_meanings[sb_parts] = 0x20 | i; + sb_parts++; + } + } +#endif if (c_mfm && !(models[model].flags & MODEL_HAS_IDE) && !!memcmp(hdd_controller_name, "none", 4) && !!memcmp(hdd_controller_name, "xtide", 5)) { edge += sb_icon_width; iStatusWidths[sb_parts] = edge; - sb_part_meanings[sb_parts] = 0x20; + sb_part_meanings[sb_parts] = 0x30; sb_parts++; } if (c_ide_pio && ((models[model].flags & MODEL_HAS_IDE) || !memcmp(hdd_controller_name, "xtide", 5))) { edge += sb_icon_width; iStatusWidths[sb_parts] = edge; - sb_part_meanings[sb_parts] = 0x21; + sb_part_meanings[sb_parts] = 0x31; sb_parts++; } if (c_ide_dma && ((models[model].flags & MODEL_HAS_IDE) || !memcmp(hdd_controller_name, "xtide", 5))) { edge += sb_icon_width; iStatusWidths[sb_parts] = edge; - sb_part_meanings[sb_parts] = 0x22; + sb_part_meanings[sb_parts] = 0x32; sb_parts++; } if (c_scsi) { edge += sb_icon_width; iStatusWidths[sb_parts] = edge; - sb_part_meanings[sb_parts] = 0x23; + sb_part_meanings[sb_parts] = 0x33; sb_parts++; } if (sb_parts) @@ -982,14 +999,14 @@ void update_status_bar_panes(HWND hwnds) iStatusWidths[sb_parts - 1] += (24 - sb_icon_width); } iStatusWidths[sb_parts] = -1; - sb_part_meanings[sb_parts] = 0x30; + sb_part_meanings[sb_parts] = 0x40; sb_parts++; SendMessage(hwnds, SB_SETPARTS, (WPARAM) sb_parts, (LPARAM) iStatusWidths); for (i = 0; i < sb_parts; i++) { - switch (sb_part_meanings[i] & 0x30) + switch (sb_part_meanings[i] & 0xf0) { case 0x00: /* Floppy */ @@ -1030,12 +1047,20 @@ void update_status_bar_panes(HWND hwnds) sb_part_icons[i] = j | sb_icon_flags[i]; create_cdrom_tip(i); break; +#if 0 case 0x20: + /* Removable hard disk */ + sb_icon_flags[i] = (wcslen(discfns[sb_part_meanings[i] & 0xf]) == 0) ? 256 : 0; + sb_part_icons[i] = 176 + sb_icon_flags[i]; + create_floppy_tip(i); + break; +#endif + case 0x30: /* Hard disk */ - sb_part_icons[i] = 176 + ((sb_part_meanings[i] & 0xf) << 1); + sb_part_icons[i] = 192 + ((sb_part_meanings[i] & 0xf) << 1); create_hd_tip(i); break; - case 0x30: + case 0x40: /* Status text */ SendMessage(hwnds, SB_SETTEXT, i | SBT_NOBORDERS, (LPARAM) L"Welcome to Unicode 86Box! :p"); sb_part_icons[i] = -1; @@ -1082,7 +1107,14 @@ HWND EmulatorStatusBar(HWND hwndParent, int idStatus, HINSTANCE hinst) hIcon[i] = LoadIconEx((PCTSTR) i); } - for (i = 176; i < 184; i++) +#if 0 + for (i = 176; i < 178; i++) + { + hIcon[i] = LoadIconEx((PCTSTR) i); + } +#endif + + for (i = 192; i < 200; i++) { hIcon[i] = LoadIconEx((PCTSTR) i); } @@ -1107,6 +1139,13 @@ HWND EmulatorStatusBar(HWND hwndParent, int idStatus, HINSTANCE hinst) hIcon[i] = LoadIconEx((PCTSTR) i); } +#if 0 + for (i = 432; i < 434; i++) + { + hIcon[i] = LoadIconEx((PCTSTR) i); + } +#endif + GetWindowRect(hwndParent, &rectDialog); dw = rectDialog.right - rectDialog.left; dh = rectDialog.bottom - rectDialog.top; @@ -2192,14 +2231,20 @@ VOID APIENTRY HandlePopupMenu(HWND hwnd, POINT pt, int id) pt.x = id * sb_icon_width; /* Justify to the left. */ pt.y = 0; /* Justify to the top. */ ClientToScreen(hwnd, (LPPOINT) &pt); - if ((sb_part_meanings[id] & 0x30) == 0x00) + if ((sb_part_meanings[id] & 0xf0) == 0x00) { menu_id = sb_part_meanings[id] & 0xf; } - else if ((sb_part_meanings[id] & 0x30) == 0x10) + else if ((sb_part_meanings[id] & 0xf0) == 0x10) { menu_id = (sb_part_meanings[id] & 0xf) + 4; } +#if 0 + else if ((sb_part_meanings[id] & 0xf0) == 0x20) + { + menu_id = (sb_part_meanings[id] & 0xf) + 8; + } +#endif if (menu_id != -1) { pmenu = GetSubMenu(smenu, menu_id); diff --git a/src/config.c b/src/config.c index a24772e19..a335ab55a 100644 --- a/src/config.c +++ b/src/config.c @@ -997,15 +997,7 @@ static void loadconfig_hard_disks(void) sprintf(temps, "hdd_%02i_scsi_location", c + 1); sprintf(temps2, "%02u:%02u", c, 0); p = config_get_string(cat, temps, temps2); - if (p != NULL) - { - sscanf(p, "%02u:%02u", &hdc[c].scsi_id, &hdc[c].scsi_lun); - } - else - { - /* FIXME: Can never happen, 'temps' above is non-NULL. */ - sscanf(temps2, "%02u:%02u", &hdc[c].scsi_id, &hdc[c].scsi_lun); - } + sscanf(p, "%02u:%02u", &hdc[c].scsi_id, &hdc[c].scsi_lun); if (hdc[c].scsi_id > 15) { @@ -1019,12 +1011,7 @@ static void loadconfig_hard_disks(void) memset(hdd_fn[c], 0, 1024); sprintf(temps, "hdd_%02i_fn", c + 1); wp = config_get_wstring(cat, temps, L""); - /*FIXME: wcslen(wp) instead of 512? */ - if (wp) memcpy(hdd_fn[c], wp, 512); - else { - memcpy(hdd_fn[c], L"", 2); - hdd_fn[c][0] = L'\0'; - } + memcpy(hdd_fn[c], wp, (wcslen(wp) << 1) + 2); } } @@ -1044,10 +1031,7 @@ static void loadconfig_removable_devices(void) { sprintf(temps, "fdd_%02i_type", c + 1); p = config_get_string(cat, temps, (c < 2) ? "525_2dd" : "none"); - if (p) - fdd_set_type(c, fdd_get_from_internal_name(p)); - else /*FIXME: never happens, "none" is non-NULL */ - fdd_set_type(c, (c < 2) ? 2 : 0); + fdd_set_type(c, fdd_get_from_internal_name(p)); if (fdd_get_type(c) > 13) { fdd_set_type(c, 13); @@ -1055,12 +1039,7 @@ static void loadconfig_removable_devices(void) sprintf(temps, "fdd_%02i_fn", c + 1); wp = config_get_wstring(cat, temps, L""); - /*FIXME: see above, wcslen(wp) ? */ - if (wp) memcpy(discfns[c], wp, 512); - else { - memcpy(discfns[c], L"", 2); - discfns[c][0] = L'\0'; - } + memcpy(discfns[c], wp, (wcslen(wp) << 1) + 2); printf("Floppy: %ws\n", discfns[c]); sprintf(temps, "fdd_%02i_writeprot", c + 1); ui_writeprot[c] = !!config_get_int(cat, temps, 0); @@ -1096,15 +1075,7 @@ static void loadconfig_removable_devices(void) sprintf(temps, "cdrom_%02i_scsi_location", c + 1); sprintf(temps2, "%02u:%02u", c + 2, 0); p = config_get_string(cat, temps, temps2); - if (p != NULL) - { - sscanf(p, "%02u:%02u", &cdrom_drives[c].scsi_device_id, &cdrom_drives[c].scsi_device_lun); - } - else /*FIXME: never happens, 'temps2' is non-NULL */ - { - sscanf(temps2, "%02u:%02u", &cdrom_drives[c].scsi_device_id, &cdrom_drives[c].scsi_device_lun); - } - + sscanf(p, "%02u:%02u", &cdrom_drives[c].scsi_device_id, &cdrom_drives[c].scsi_device_lun); if (cdrom_drives[c].scsi_device_id > 15) { @@ -1117,12 +1088,7 @@ static void loadconfig_removable_devices(void) sprintf(temps, "cdrom_%02i_image_path", c + 1); wp = config_get_wstring(cat, temps, L""); - /*FIXME see above, wcslen(wp) */ - if (wp != NULL) memcpy(cdrom_image[c].image_path, wp, 512); - else { - memcpy(cdrom_image[c].image_path, L"", 2); - cdrom_image[c].image_path[0] = L'\0'; - } + memcpy(cdrom_image[c].image_path, wp, (wcslen(wp) << 1) + 2); } } diff --git a/src/hdd_esdi.c b/src/hdd_esdi.c index f40345933..a6f5ce466 100644 --- a/src/hdd_esdi.c +++ b/src/hdd_esdi.c @@ -433,7 +433,7 @@ static void esdi_callback(void *p) fatal("Read past end of drive\n"); fseek(drive->hdfile, esdi->rba * 512, SEEK_SET); fread(esdi->data, 512, 1, drive->hdfile); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); } while (esdi->data_pos < 256) { @@ -522,11 +522,11 @@ static void esdi_callback(void *p) fwrite(esdi->data, 512, 1, drive->hdfile); esdi->rba++; esdi->sector_pos++; - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); esdi->data_pos = 0; } - update_status_bar_icon(0x20, 0); + update_status_bar_icon(0x30, 0); esdi->status = STATUS_CMD_IN_PROGRESS; esdi->cmd_state = 2; diff --git a/src/ide.c b/src/ide.c index 18db7d4d6..1308fcf89 100644 --- a/src/ide.c +++ b/src/ide.c @@ -1399,7 +1399,7 @@ uint32_t ide_read_data(int ide_board, int length) } else { - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 0); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 0); } } } @@ -1722,7 +1722,7 @@ void callbackide(int ide_board) ide_irq_raise(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); return; case WIN_READ_DMA: @@ -1756,12 +1756,12 @@ void callbackide(int ide_board) ide_next_sector(ide); ide->atastat = BUSY_STAT; idecallback[ide_board]=6*IDE_TIME; - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); } else { ide_irq_raise(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 0); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 0); } } } @@ -1799,7 +1799,7 @@ void callbackide(int ide_board) ide->blockcount = 0; } - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); return; case WIN_WRITE: @@ -1822,12 +1822,12 @@ void callbackide(int ide_board) ide->atastat = DRQ_STAT | READY_STAT | DSC_STAT; ide->pos=0; ide_next_sector(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); } else { ide->atastat = READY_STAT | DSC_STAT; - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 0); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 0); } return; @@ -1863,12 +1863,12 @@ void callbackide(int ide_board) ide_next_sector(ide); ide->atastat = BUSY_STAT; idecallback[ide_board]=6*IDE_TIME; - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); } else { ide_irq_raise(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 0); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 0); } } } @@ -1899,12 +1899,12 @@ void callbackide(int ide_board) ide->atastat = DRQ_STAT | READY_STAT | DSC_STAT; ide->pos=0; ide_next_sector(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); } else { ide->atastat = READY_STAT | DSC_STAT; - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 0); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 0); } return; @@ -1921,7 +1921,7 @@ void callbackide(int ide_board) ide->pos=0; ide->atastat = READY_STAT | DSC_STAT; ide_irq_raise(ide); - update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); + update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); return; case WIN_FORMAT: @@ -1943,7 +1943,7 @@ void callbackide(int ide_board) ide->atastat = READY_STAT | DSC_STAT; ide_irq_raise(ide); - /* update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x22 : 0x21, 1); */ + /* update_status_bar_icon((hdc[ide->hdc_num].bus == 3) ? 0x32 : 0x31, 1); */ return; case WIN_DRIVE_DIAGNOSTICS: diff --git a/src/mfm_at.c b/src/mfm_at.c index c4c1be484..f0dd98ed1 100644 --- a/src/mfm_at.c +++ b/src/mfm_at.c @@ -439,7 +439,7 @@ uint16_t mfm_readw(uint16_t port, void *p) } else { - update_status_bar_icon(0x20, 0); + update_status_bar_icon(0x30, 0); } } } @@ -505,7 +505,7 @@ void mfm_callback(void *p) mfm->pos = 0; mfm->status = STAT_DRQ | STAT_READY | STAT_DSC; mfm_irq_raise(mfm); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); break; case CMD_WRITE: @@ -526,12 +526,12 @@ void mfm_callback(void *p) mfm->status = STAT_DRQ | STAT_READY | STAT_DSC; mfm->pos = 0; mfm_next_sector(mfm); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); } else { mfm->status = STAT_READY | STAT_DSC; - update_status_bar_icon(0x20, 0); + update_status_bar_icon(0x30, 0); } break; @@ -540,7 +540,7 @@ void mfm_callback(void *p) mfm->pos = 0; mfm->status = STAT_READY | STAT_DSC; mfm_irq_raise(mfm); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); break; case CMD_FORMAT: @@ -560,7 +560,7 @@ void mfm_callback(void *p) } mfm->status = STAT_READY | STAT_DSC; mfm_irq_raise(mfm); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); break; case CMD_DIAGNOSE: diff --git a/src/mfm_xebec.c b/src/mfm_xebec.c index fdbe7e7b3..d7b80d831 100644 --- a/src/mfm_xebec.c +++ b/src/mfm_xebec.c @@ -374,7 +374,7 @@ static void xebec_callback(void *p) xebec_complete(xebec); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); break; default: @@ -431,7 +431,7 @@ static void xebec_callback(void *p) fseeko64(drive->hdfile, addr * 512, SEEK_SET); fread(xebec->sector_buf, 512, 1, drive->hdfile); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); } if (xebec->irq_dma_mask & DMA_ENA) xebec->callback = XEBEC_TIME; @@ -485,7 +485,7 @@ static void xebec_callback(void *p) fseeko64(drive->hdfile, addr * 512, SEEK_SET); fread(xebec->sector_buf, 512, 1, drive->hdfile); - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); xebec->state = STATE_SEND_DATA; @@ -500,7 +500,7 @@ static void xebec_callback(void *p) else { xebec_complete(xebec); - update_status_bar_icon(0x20, 0); + update_status_bar_icon(0x30, 0); } break; @@ -572,7 +572,7 @@ static void xebec_callback(void *p) fwrite(xebec->sector_buf, 512, 1, drive->hdfile); } - update_status_bar_icon(0x20, 1); + update_status_bar_icon(0x30, 1); xebec_next_sector(xebec); xebec->data_pos = 0; diff --git a/src/scsi_disk.c b/src/scsi_disk.c index 31623fbed..859a9fbbd 100644 --- a/src/scsi_disk.c +++ b/src/scsi_disk.c @@ -852,11 +852,11 @@ void scsi_hd_command(uint8_t id, uint8_t *cdb) shdc[id].all_blocks_total = shdc[id].block_total; if (shdc[id].packet_status != CDROM_PHASE_COMPLETE) { - update_status_bar_icon(0x23, 1); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 1); } else { - update_status_bar_icon(0x23, 0); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 0); } return; @@ -913,11 +913,11 @@ void scsi_hd_command(uint8_t id, uint8_t *cdb) shdc[id].all_blocks_total = shdc[id].block_total; if (shdc[id].packet_status != CDROM_PHASE_COMPLETE) { - update_status_bar_icon(0x23, 1); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 1); } else { - update_status_bar_icon(0x23, 0); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 0); } return; @@ -1129,7 +1129,7 @@ void scsi_hd_callback(uint8_t id) shdc[id].status = READY_STAT; shdc[id].phase = 3; shdc[id].packet_status = 0xFF; - update_status_bar_icon(0x23, 0); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 0); return; case CDROM_PHASE_DATA_OUT: scsi_hd_log("SCSI HD %i: PHASE_DATA_OUT\n", id); @@ -1142,7 +1142,7 @@ void scsi_hd_callback(uint8_t id) shdc[id].packet_status = CDROM_PHASE_COMPLETE; shdc[id].status = READY_STAT; shdc[id].phase = 3; - update_status_bar_icon(0x23, 0); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 0); return; case CDROM_PHASE_DATA_IN: scsi_hd_log("SCSI HD %i: PHASE_DATA_IN\n", id); @@ -1155,7 +1155,7 @@ void scsi_hd_callback(uint8_t id) shdc[id].packet_status = CDROM_PHASE_COMPLETE; shdc[id].status = READY_STAT; shdc[id].phase = 3; - update_status_bar_icon(0x23, 0); + update_status_bar_icon((hdc[id].bus == 5) ? (0x20 | id) : 0x23, 0); return; case CDROM_PHASE_ERROR: scsi_hd_log("SCSI HD %i: PHASE_ERROR\n", id);