Added the Toshiba T1200 version of the V86P JVC/Ricoh hard disk controller, fixes #2738.
This commit is contained in:
@@ -821,7 +821,7 @@ st506_callback(void *priv)
|
||||
/* For a 615/4/26 we get 666/2/31 geometry. */
|
||||
st506_xt_log("ST506: drive%i: cyls=%i, heads=%i\n",
|
||||
dev->drive_sel, drive->cfg_cyl, drive->cfg_hpc);
|
||||
if (dev->type == 23 && drive->cfg_hpc == 2) {
|
||||
if ((dev->type >= 23) && (drive->cfg_hpc == 2)) {
|
||||
/*
|
||||
* On Victor V86P, there's a disagreement between
|
||||
* the physical geometry, what the controller
|
||||
@@ -975,7 +975,7 @@ st506_callback(void *priv)
|
||||
break;
|
||||
|
||||
case CMD_V86P_POWEROFF:
|
||||
if (dev->type == 23) {
|
||||
if (dev->type >= 23) {
|
||||
/*
|
||||
* Main BIOS (not the option ROM on disk) issues this.
|
||||
* Not much we can do, since we don't have a physical disk
|
||||
@@ -1538,9 +1538,16 @@ st506_init(const device_t *info)
|
||||
dev->switches |= 0x40;
|
||||
dev->bios_addr = device_get_config_hex20("bios_addr");
|
||||
break;
|
||||
|
||||
case 23: /* Victor V86P (RLL) */
|
||||
fn = VICTOR_V86P_BIOS_FILE;
|
||||
break;
|
||||
|
||||
case 24: /* Toshiba T1200 */
|
||||
fn = NULL;
|
||||
dev->base = 0x01f0;
|
||||
dev->switches = 0x0c;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Load the ROM BIOS. */
|
||||
@@ -2112,3 +2119,17 @@ const device_t st506_xt_victor_v86p_device = {
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t st506_xt_toshiba_t1200_device = {
|
||||
.name = "Toshiba T1200 RLL Fixed Disk Adapter",
|
||||
.internal_name = "st506_xt_toshiba_t1200",
|
||||
.flags = DEVICE_ISA,
|
||||
.local = (HDD_BUS_MFM << 8) | 24,
|
||||
.init = st506_init,
|
||||
.close = st506_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
@@ -30,17 +30,18 @@
|
||||
|
||||
extern int hdc_current;
|
||||
|
||||
extern const device_t st506_xt_xebec_device; /* st506_xt_xebec */
|
||||
extern const device_t st506_xt_dtc5150x_device; /* st506_xt_dtc */
|
||||
extern const device_t st506_xt_st11_m_device; /* st506_xt_st11_m */
|
||||
extern const device_t st506_xt_st11_r_device; /* st506_xt_st11_m */
|
||||
extern const device_t st506_xt_wd1002a_wx1_device; /* st506_xt_wd1002a_wx1 */
|
||||
extern const device_t st506_xt_wd1002a_27x_device; /* st506_xt_wd1002a_27x */
|
||||
extern const device_t st506_at_wd1003_device; /* st506_at_wd1003 */
|
||||
extern const device_t st506_xt_wd1004a_wx1_device; /* st506_xt_wd1004a_wx1 */
|
||||
extern const device_t st506_xt_wd1004_27x_device; /* st506_xt_wd1004_27x */
|
||||
extern const device_t st506_xt_wd1004a_27x_device; /* st506_xt_wd1004a_27x */
|
||||
extern const device_t st506_xt_victor_v86p_device; /* st506_xt_victor_v86p */
|
||||
extern const device_t st506_xt_xebec_device; /* st506_xt_xebec */
|
||||
extern const device_t st506_xt_dtc5150x_device; /* st506_xt_dtc */
|
||||
extern const device_t st506_xt_st11_m_device; /* st506_xt_st11_m */
|
||||
extern const device_t st506_xt_st11_r_device; /* st506_xt_st11_m */
|
||||
extern const device_t st506_xt_wd1002a_wx1_device; /* st506_xt_wd1002a_wx1 */
|
||||
extern const device_t st506_xt_wd1002a_27x_device; /* st506_xt_wd1002a_27x */
|
||||
extern const device_t st506_at_wd1003_device; /* st506_at_wd1003 */
|
||||
extern const device_t st506_xt_wd1004a_wx1_device; /* st506_xt_wd1004a_wx1 */
|
||||
extern const device_t st506_xt_wd1004_27x_device; /* st506_xt_wd1004_27x */
|
||||
extern const device_t st506_xt_wd1004a_27x_device; /* st506_xt_wd1004a_27x */
|
||||
extern const device_t st506_xt_victor_v86p_device; /* st506_xt_victor_v86p */
|
||||
extern const device_t st506_xt_toshiba_t1200_device; /* st506_xt_toshiba_t1200 */
|
||||
|
||||
extern const device_t esdi_at_wd1007vse1_device; /* esdi_at */
|
||||
extern const device_t esdi_ps2_device; /* esdi_mca */
|
||||
|
@@ -961,7 +961,7 @@ machine_xt_t1200_init(const machine_t *model)
|
||||
device_add(&t1200_video_device);
|
||||
|
||||
if (hdc_current <= 1)
|
||||
device_add(&st506_xt_victor_v86p_device);
|
||||
device_add(&st506_xt_toshiba_t1200_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user