summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/bus/nasbus/floppy.c14
-rw-r--r--src/emu/imagedev/floppy.c37
-rw-r--r--src/emu/imagedev/floppy.h2
-rw-r--r--src/lib/formats/nascom_dsk.c8
4 files changed, 51 insertions, 10 deletions
diff --git a/src/emu/bus/nasbus/floppy.c b/src/emu/bus/nasbus/floppy.c
index 7b0951f2e0f..5eebd9a10c6 100644
--- a/src/emu/bus/nasbus/floppy.c
+++ b/src/emu/bus/nasbus/floppy.c
@@ -21,7 +21,8 @@ FLOPPY_FORMATS_MEMBER( nascom_fdc_device::floppy_formats )
FLOPPY_FORMATS_END
static SLOT_INTERFACE_START( nascom_floppies )
- SLOT_INTERFACE("525qd", FLOPPY_525_QD)
+ SLOT_INTERFACE("55e", TEAC_FD_55E)
+ SLOT_INTERFACE("55f", TEAC_FD_55F)
SLOT_INTERFACE_END
//-------------------------------------------------
@@ -32,10 +33,12 @@ SLOT_INTERFACE_END
static MACHINE_CONFIG_FRAGMENT( nascom_fdc )
MCFG_FD1793x_ADD("fd1793", XTAL_16MHz / 4 / 4)
- MCFG_FLOPPY_DRIVE_ADD("fd1793:0", nascom_floppies, "525qd", nascom_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fd1793:1", nascom_floppies, NULL, nascom_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fd1793:2", nascom_floppies, NULL, nascom_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("fd1793:3", nascom_floppies, NULL, nascom_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:0", nascom_floppies, "55f", nascom_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:1", nascom_floppies, "55f", nascom_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:2", nascom_floppies, NULL, nascom_fdc_device::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fd1793:3", nascom_floppies, NULL, nascom_fdc_device::floppy_formats)
+
+ MCFG_SOFTWARE_LIST_ADD("floppy_list", "nascom_flop")
MACHINE_CONFIG_END
machine_config_constructor nascom_fdc_device::device_mconfig_additions() const
@@ -71,6 +74,7 @@ nascom_fdc_device::nascom_fdc_device(const machine_config &mconfig, const char *
void nascom_fdc_device::device_start()
{
+ save_item(NAME(m_select));
}
//-------------------------------------------------
diff --git a/src/emu/imagedev/floppy.c b/src/emu/imagedev/floppy.c
index 3cf4b816649..871907150ca 100644
--- a/src/emu/imagedev/floppy.c
+++ b/src/emu/imagedev/floppy.c
@@ -99,8 +99,8 @@ const device_type SONY_OA_D32V = &device_creator<sony_oa_d32v>;
#if 0
const device_type TEAC_FD_55A = &device_creator<teac_fd_55a>;
const device_type TEAC_FD_55B = &device_creator<teac_fd_55b>;
-const device_type TEAC_FD_55E = &device_creator<teac_fd_55e>;
#endif
+const device_type TEAC_FD_55E = &device_creator<teac_fd_55e>;
const device_type TEAC_FD_55F = &device_creator<teac_fd_55f>;
const device_type TEAC_FD_55G = &device_creator<teac_fd_55g>;
@@ -1775,6 +1775,41 @@ void sony_oa_d32v::handled_variants(UINT32 *variants, int &var_count) const
}
//-------------------------------------------------
+// TEAC FD-55E
+//
+// track to track: 3 ms
+// average: 94 ms
+// setting time: 15 ms
+// motor start time: 400 ms
+//
+//-------------------------------------------------
+
+teac_fd_55e::teac_fd_55e(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
+ floppy_image_device(mconfig, TEAC_FD_55F, "TEAC FD-55E FDD", tag, owner, clock, "teac_fd_55e", __FILE__)
+{
+}
+
+teac_fd_55e::~teac_fd_55e()
+{
+}
+
+void teac_fd_55e::setup_characteristics()
+{
+ form_factor = floppy_image::FF_525;
+ tracks = 80;
+ sides = 1;
+ set_rpm(300);
+}
+
+void teac_fd_55e::handled_variants(UINT32 *variants, int &var_count) const
+{
+ var_count = 0;
+ variants[var_count++] = floppy_image::SSSD;
+ variants[var_count++] = floppy_image::SSDD;
+ variants[var_count++] = floppy_image::SSQD;
+}
+
+//-------------------------------------------------
// TEAC FD-55F
//
// track to track: 3 ms
diff --git a/src/emu/imagedev/floppy.h b/src/emu/imagedev/floppy.h
index 69a67c0c260..0f36f70d7b7 100644
--- a/src/emu/imagedev/floppy.h
+++ b/src/emu/imagedev/floppy.h
@@ -242,6 +242,7 @@ DECLARE_FLOPPY_IMAGE_DEVICE(epson_sd_321, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d31v, "floppy_3_5")
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32w, "floppy_3_5")
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32v, "floppy_3_5")
+DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55e, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55f, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55g, "floppy_5_25")
DECLARE_FLOPPY_IMAGE_DEVICE(alps_3255190x, "floppy_5_25")
@@ -293,6 +294,7 @@ extern const device_type EPSON_SD_321;
extern const device_type SONY_OA_D31V;
extern const device_type SONY_OA_D32W;
extern const device_type SONY_OA_D32V;
+extern const device_type TEAC_FD_55E;
extern const device_type TEAC_FD_55F;
extern const device_type TEAC_FD_55G;
extern const device_type ALPS_3255190x;
diff --git a/src/lib/formats/nascom_dsk.c b/src/lib/formats/nascom_dsk.c
index 9d1de0dac57..60a755357d8 100644
--- a/src/lib/formats/nascom_dsk.c
+++ b/src/lib/formats/nascom_dsk.c
@@ -31,14 +31,14 @@ const char *nascom_format::extensions() const
const nascom_format::format nascom_format::formats[] =
{
- { // 360k 5 1/4 inch double density single sided
- floppy_image::FF_525, floppy_image::SSQD, floppy_image::MFM,
- 2000, 16, 80, 1, 256, {}, 1, {}, 32, 22, 54
- },
{ // 720k 5 1/4 inch double density double sided
floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM,
2000, 16, 80, 2, 256, {}, 1, {}, 32, 22, 54
},
+ { // 360k 5 1/4 inch double density single sided
+ floppy_image::FF_525, floppy_image::SSQD, floppy_image::MFM,
+ 2000, 16, 80, 1, 256, {}, 1, {}, 32, 22, 54
+ },
{}
};