diff --git a/hash/nascom_flop.xml b/hash/nascom_flop.xml new file mode 100644 index 00000000000..e4b9afd44f8 --- /dev/null +++ b/hash/nascom_flop.xml @@ -0,0 +1,72 @@ + + + + + + + Asteroids + 1985 + Richard C. Espley + + + + + + + + + AVC Demo Disk + 1982 + Lucas Logic + + + + + + + + + Tools & Toolkits + 198? + <unknown> + + + + + + + + + Nascom Disk Adventure + 1983 + Richard C. Espley + + + + + + + + + NAS-Sembler 1.5 + 1982 + Lucas Logic + + + + + + + + + NAS-DOS Utility Disk + 1982 + M F Hessey + + + + + + + + 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; #if 0 const device_type TEAC_FD_55A = &device_creator; const device_type TEAC_FD_55B = &device_creator; -const device_type TEAC_FD_55E = &device_creator; #endif +const device_type TEAC_FD_55E = &device_creator; const device_type TEAC_FD_55F = &device_creator; const device_type TEAC_FD_55G = &device_creator; @@ -1774,6 +1774,41 @@ void sony_oa_d32v::handled_variants(UINT32 *variants, int &var_count) const variants[var_count++] = floppy_image::SSDD; } +//------------------------------------------------- +// 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 // 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 + }, {} };