diff --git a/src/machine/m_v86p.c b/src/machine/m_v86p.c index 4642d6b80..5f115dab3 100644 --- a/src/machine/m_v86p.c +++ b/src/machine/m_v86p.c @@ -42,6 +42,7 @@ #include <86box/fdd.h> #include <86box/fdc.h> #include <86box/fdc_ext.h> +#include <86box/hdc.h> #include <86box/keyboard.h> #include <86box/chipset.h> #include <86box/sio.h> @@ -92,5 +93,8 @@ machine_v86p_init(const machine_t *model) if (gfxcard == VID_INTERNAL) device_add(&f82c425_video_device); + if (hdc_current <= 1) + device_add(&st506_xt_victor_v86p_device); + return ret; } diff --git a/src/machine/m_xt_t1000.c b/src/machine/m_xt_t1000.c index 3b45dcdcb..52dab0f45 100644 --- a/src/machine/m_xt_t1000.c +++ b/src/machine/m_xt_t1000.c @@ -959,6 +959,9 @@ machine_xt_t1200_init(const machine_t *model) if (gfxcard == VID_INTERNAL) device_add(&t1200_video_device); + if (hdc_current <= 1) + device_add(&st506_xt_victor_v86p_device); + return ret; } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index f1ebf6629..b30bbf6d1 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -2066,7 +2066,7 @@ const machine_t machines[] = { .max_multi = 0 }, .bus_flags = MACHINE_PC, - .flags = MACHINE_VIDEO, + .flags = MACHINE_VIDEO | MACHINE_MFM, .ram = { .min = 512, .max = 1024, @@ -2109,7 +2109,7 @@ const machine_t machines[] = { .step = 1024 }, .nvrmask = 63, - .kbc = KBC_IBM_PC_XT, + .kbc = KBC_IBM_PC_XT | MACHINE_MFM, .kbc_p1 = 0xff00, .gpio = 0xffffffff, .device = &t1200_video_device,