Fixed bug #24, XT286 cannot add hard disk.
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
* NOTES: OpenAT wip for 286-class machine with open BIOS.
|
* NOTES: OpenAT wip for 286-class machine with open BIOS.
|
||||||
* PS2_M80-486 wip, pending receipt of TRM's for machine.
|
* PS2_M80-486 wip, pending receipt of TRM's for machine.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_table.c 1.0.16 2018/04/03
|
* Version: @(#)machine_table.c 1.0.17 2018/04/10
|
||||||
*
|
*
|
||||||
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
@@ -95,7 +95,7 @@ const machine_t machines[] = {
|
|||||||
{ "[286 ISA] IBM AT", ROM_IBMAT, "ibm_at", L"ibm/at", {{"", cpus_ibmat}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT, 256,15872, 128, 64, machine_at_ibm_init, NULL, NULL },
|
{ "[286 ISA] IBM AT", ROM_IBMAT, "ibm_at", L"ibm/at", {{"", cpus_ibmat}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT, 256,15872, 128, 64, machine_at_ibm_init, NULL, NULL },
|
||||||
{ "[286 ISA] IBM PS/1 model 2011", ROM_IBMPS1_2011, "ibm_ps1_2011", L"ibm/ps1_2011", {{"", cpus_ps1_m2011}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC_PS2, 512,16384, 512, 128, machine_ps1_m2011_init, NULL, NULL },
|
{ "[286 ISA] IBM PS/1 model 2011", ROM_IBMPS1_2011, "ibm_ps1_2011", L"ibm/ps1_2011", {{"", cpus_ps1_m2011}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC_PS2, 512,16384, 512, 128, machine_ps1_m2011_init, NULL, NULL },
|
||||||
{ "[286 ISA] IBM PS/2 model 30-286", ROM_IBMPS2_M30_286, "ibm_ps2_m30_286", L"ibm/ps2_m30_286", {{"", cpus_ps2_m30_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC_PS2, 1, 16, 1, 128, machine_ps2_m30_286_init, NULL, NULL },
|
{ "[286 ISA] IBM PS/2 model 30-286", ROM_IBMPS2_M30_286, "ibm_ps2_m30_286", L"ibm/ps2_m30_286", {{"", cpus_ps2_m30_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC_PS2, 1, 16, 1, 128, machine_ps2_m30_286_init, NULL, NULL },
|
||||||
{ "[286 ISA] IBM XT Model 286", ROM_IBMXT286, "ibm_xt286", L"ibm/xt286", {{"", cpus_ibmxt286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT, 256,15872, 128, 64, machine_at_ibm_init, NULL, NULL },
|
{ "[286 ISA] IBM XT Model 286", ROM_IBMXT286, "ibm_xt286", L"ibm/xt286", {{"", cpus_ibmxt286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT, 256,15872, 128, 128, machine_at_ibm_init, NULL, NULL },
|
||||||
{ "[286 ISA] Samsung SPC-4200P", ROM_SPC4200P, "samsung_spc4200p", L"samsung/spc4200p", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT | MACHINE_PS2, 512, 2048, 128, 128, machine_at_scat_init, NULL, NULL },
|
{ "[286 ISA] Samsung SPC-4200P", ROM_SPC4200P, "samsung_spc4200p", L"samsung/spc4200p", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT | MACHINE_PS2, 512, 2048, 128, 128, machine_at_scat_init, NULL, NULL },
|
||||||
{ "[286 ISA] Samsung SPC-4216P", ROM_SPC4216P, "samsung_spc4216p", L"samsung/spc4216p", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT | MACHINE_PS2, 1, 5, 1, 128, machine_at_scat_init, NULL, NULL },
|
{ "[286 ISA] Samsung SPC-4216P", ROM_SPC4216P, "samsung_spc4216p", L"samsung/spc4216p", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 0, MACHINE_ISA | MACHINE_AT | MACHINE_PS2, 1, 5, 1, 128, machine_at_scat_init, NULL, NULL },
|
||||||
{ "[286 ISA] Toshiba 3100e", ROM_T3100E, "toshiba_t3100e", L"toshiba/t3100e", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_HDC, 1024, 5120, 256, 64, machine_at_t3100e_init, NULL, NULL },
|
{ "[286 ISA] Toshiba 3100e", ROM_T3100E, "toshiba_t3100e", L"toshiba/t3100e", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, 1, MACHINE_ISA | MACHINE_AT | MACHINE_HDC, 1024, 5120, 256, 64, machine_at_t3100e_init, NULL, NULL },
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Status Bar module.
|
* Implementation of the Status Bar module.
|
||||||
*
|
*
|
||||||
* Version: @(#)win_stbar.c 1.0.7 2018/04/08
|
* Version: @(#)win_stbar.c 1.0.8 2018/04/10
|
||||||
*
|
*
|
||||||
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
@@ -617,6 +617,7 @@ ui_sb_update_panes(void)
|
|||||||
int c_mfm, c_esdi, c_scsi;
|
int c_mfm, c_esdi, c_scsi;
|
||||||
int c_xtide, c_ide_pio, c_ide_dma;
|
int c_xtide, c_ide_pio, c_ide_dma;
|
||||||
int do_net;
|
int do_net;
|
||||||
|
const char *hdc;
|
||||||
|
|
||||||
sb_ready = 0;
|
sb_ready = 0;
|
||||||
|
|
||||||
@@ -659,11 +660,15 @@ ui_sb_update_panes(void)
|
|||||||
if (fdd_get_type(i) != 0)
|
if (fdd_get_type(i) != 0)
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Get name of current HDC. */
|
||||||
|
hdc = hdc_get_internal_name(hdc_type);
|
||||||
|
|
||||||
for (i=0; i<CDROM_NUM; i++) {
|
for (i=0; i<CDROM_NUM; i++) {
|
||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if (((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_ONLY) &&
|
if (((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_ONLY) &&
|
||||||
(cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_AND_DMA)) &&
|
(cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_AND_DMA)) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -680,7 +685,7 @@ ui_sb_update_panes(void)
|
|||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if (((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_ONLY) &&
|
if (((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_ONLY) &&
|
||||||
(zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_AND_DMA)) &&
|
(zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_AND_DMA)) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -698,22 +703,22 @@ ui_sb_update_panes(void)
|
|||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (c_mfm && (hdint || (hdc_type == hdc_get_from_internal_name("mfm")))) {
|
if (c_mfm && (hdint || !strncmp(hdc, "mfm", 3))) {
|
||||||
/* MFM drives, and MFM or Internal controller. */
|
/* MFM drives, and MFM or Internal controller. */
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_esdi && (hdint || (hdc_type == hdc_get_from_internal_name("esdi")))) {
|
if (c_esdi && (hdint || !strncmp(hdc, "esdi", 4))) {
|
||||||
/* ESDI drives, and ESDI or Internal controller. */
|
/* ESDI drives, and ESDI or Internal controller. */
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_xtide && (hdc_type == hdc_get_from_internal_name("ide"))) {
|
if (c_xtide && !strncmp(hdc, "ide", 3)) {
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_ide_pio && (hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
if (c_ide_pio && (hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
/* IDE_PIO drives, and IDE or Internal controller. */
|
/* IDE_PIO drives, and IDE or Internal controller. */
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_ide_dma && (hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
if (c_ide_dma && (hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
/* IDE_DMA drives, and IDE or Internal controller. */
|
/* IDE_DMA drives, and IDE or Internal controller. */
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
@@ -747,15 +752,16 @@ ui_sb_update_panes(void)
|
|||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=0; i<CDROM_NUM; i++) {
|
for (i=0; i<CDROM_NUM; i++) {
|
||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if ((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_ONLY) &&
|
if ((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_ONLY) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if ((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_AND_DMA) &&
|
if ((cdrom_drives[i].bus_type==CDROM_BUS_ATAPI_PIO_AND_DMA) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((cdrom_drives[i].bus_type == CDROM_BUS_SCSI) && (scsi_card_current == 0)) {
|
if ((cdrom_drives[i].bus_type == CDROM_BUS_SCSI) && (scsi_card_current == 0)) {
|
||||||
@@ -768,15 +774,16 @@ ui_sb_update_panes(void)
|
|||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=0; i<ZIP_NUM; i++) {
|
for (i=0; i<ZIP_NUM; i++) {
|
||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if ((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_ONLY) &&
|
if ((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_ONLY) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
/* Could be Internal or External IDE.. */
|
/* Could be Internal or External IDE.. */
|
||||||
if ((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_AND_DMA) &&
|
if ((zip_drives[i].bus_type==ZIP_BUS_ATAPI_PIO_AND_DMA) &&
|
||||||
!(hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
!(hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((zip_drives[i].bus_type == ZIP_BUS_SCSI) && (scsi_card_current == 0)) {
|
if ((zip_drives[i].bus_type == ZIP_BUS_SCSI) && (scsi_card_current == 0)) {
|
||||||
@@ -789,6 +796,7 @@ ui_sb_update_panes(void)
|
|||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=0; i<HDD_NUM; i++) {
|
for (i=0; i<HDD_NUM; i++) {
|
||||||
if ((hdd[i].bus==HDD_BUS_SCSI_REMOVABLE) && (scsi_card_current != 0)) {
|
if ((hdd[i].bus==HDD_BUS_SCSI_REMOVABLE) && (scsi_card_current != 0)) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
@@ -797,31 +805,31 @@ ui_sb_update_panes(void)
|
|||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (c_mfm && (hdint || (hdc_type == hdc_get_from_internal_name("mfm")))) {
|
if (c_mfm && (hdint || !strncmp(hdc, "mfm", 3))) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
iStatusWidths[sb_parts] = edge;
|
iStatusWidths[sb_parts] = edge;
|
||||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_MFM;
|
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_MFM;
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_esdi && (hdint || (hdc_type == hdc_get_from_internal_name("esdi")))) {
|
if (c_esdi && (hdint || !strncmp(hdc, "esdi", 4))) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
iStatusWidths[sb_parts] = edge;
|
iStatusWidths[sb_parts] = edge;
|
||||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_ESDI;
|
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_ESDI;
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_xtide && (hdc_type == hdc_get_from_internal_name("xtide"))) {
|
if (c_xtide && !strncmp(hdc, "xtide", 5)) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
iStatusWidths[sb_parts] = edge;
|
iStatusWidths[sb_parts] = edge;
|
||||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_XTIDE;
|
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_XTIDE;
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_ide_pio && (hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
if (c_ide_pio && (hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
iStatusWidths[sb_parts] = edge;
|
iStatusWidths[sb_parts] = edge;
|
||||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_IDE_PIO_ONLY;
|
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_IDE_PIO_ONLY;
|
||||||
sb_parts++;
|
sb_parts++;
|
||||||
}
|
}
|
||||||
if (c_ide_dma && (hdint || (hdc_type == hdc_get_from_internal_name("ide")))) {
|
if (c_ide_dma && (hdint || !strncmp(hdc, "ide", 3))) {
|
||||||
edge += SB_ICON_WIDTH;
|
edge += SB_ICON_WIDTH;
|
||||||
iStatusWidths[sb_parts] = edge;
|
iStatusWidths[sb_parts] = edge;
|
||||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_IDE_PIO_AND_DMA;
|
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_IDE_PIO_AND_DMA;
|
||||||
|
|||||||
Reference in New Issue
Block a user