summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/floppy.cpp
diff options
context:
space:
mode:
author Mark Garlanger <mgarlanger@users.noreply.github.com>2023-06-16 04:11:48 -0500
committer GitHub <noreply@github.com>2023-06-16 11:11:48 +0200
commit0f014596d7e343c54c1954ea18b2e57e464b344b (patch)
treec68d71b38a3ce96993ca1e4854a16c841f96819c /src/devices/imagedev/floppy.cpp
parent9b51d7e6b882f1aaaa6e07933f67b46bbccd06a1 (diff)
floppy.cpp: add Teac FD55-A and FD55-B drive types (#11342)
Diffstat (limited to 'src/devices/imagedev/floppy.cpp')
-rw-r--r--src/devices/imagedev/floppy.cpp64
1 files changed, 62 insertions, 2 deletions
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 33dd1094436..f2ba36f4cad 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -130,10 +130,8 @@ DEFINE_DEVICE_TYPE(SONY_OA_D32V, sony_oa_d32v, "sony_oa_d32v", "Sony OA-D32V Mic
DEFINE_DEVICE_TYPE(TEAC_FD_30A, teac_fd_30a, "teac_fd_30a", "TEAC FD-30A FDD")
// TEAC 5.25" drives
-#if 0
DEFINE_DEVICE_TYPE(TEAC_FD_55A, teac_fd_55a, "teac_fd_55a", "TEAC FD-55A FDD")
DEFINE_DEVICE_TYPE(TEAC_FD_55B, teac_fd_55b, "teac_fd_55b", "TEAC FD-55B FDD")
-#endif
DEFINE_DEVICE_TYPE(TEAC_FD_55E, teac_fd_55e, "teac_fd_55e", "TEAC FD-55E FDD")
DEFINE_DEVICE_TYPE(TEAC_FD_55F, teac_fd_55f, "teac_fd_55f", "TEAC FD-55F FDD")
DEFINE_DEVICE_TYPE(TEAC_FD_55G, teac_fd_55g, "teac_fd_55g", "TEAC FD-55G FDD")
@@ -2574,6 +2572,68 @@ void teac_fd_30a::setup_characteristics()
}
//-------------------------------------------------
+// TEAC FD-55A
+//
+// track to track: 6 ms
+// average: 93 ms
+// setting time: 15 ms
+// motor start time: 400 ms
+//
+//-------------------------------------------------
+
+teac_fd_55a::teac_fd_55a(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : floppy_image_device(mconfig, TEAC_FD_55A, tag, owner, clock)
+{
+}
+
+teac_fd_55a::~teac_fd_55a()
+{
+}
+
+void teac_fd_55a::setup_characteristics()
+{
+ form_factor = floppy_image::FF_525;
+ tracks = 40;
+ sides = 1;
+ set_rpm(300);
+
+ variants.push_back(floppy_image::SSSD);
+ variants.push_back(floppy_image::SSDD);
+}
+
+//-------------------------------------------------
+// TEAC FD-55B
+//
+// track to track: 6 ms
+// average: 93 ms
+// setting time: 15 ms
+// motor start time: 400 ms
+//
+//-------------------------------------------------
+
+teac_fd_55b::teac_fd_55b(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : floppy_image_device(mconfig, TEAC_FD_55B, tag, owner, clock)
+{
+}
+
+teac_fd_55b::~teac_fd_55b()
+{
+}
+
+void teac_fd_55b::setup_characteristics()
+{
+ form_factor = floppy_image::FF_525;
+ tracks = 40;
+ sides = 2;
+ set_rpm(300);
+
+ variants.push_back(floppy_image::SSSD);
+ variants.push_back(floppy_image::SSDD);
+ variants.push_back(floppy_image::DSSD);
+ variants.push_back(floppy_image::DSDD);
+}
+
+//-------------------------------------------------
// TEAC FD-55E
//
// track to track: 3 ms