(MESS) c64: Floppy WIP. (nw)

This commit is contained in:
Curt Coder 2014-02-04 15:32:09 +00:00
parent 06b8402d65
commit 657b3018c2
4 changed files with 41 additions and 5 deletions

View File

@ -705,7 +705,7 @@ WRITE_LINE_MEMBER( base_c1541_device::byte_w )
//-------------------------------------------------
static SLOT_INTERFACE_START( c1540_floppies )
SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD )
SLOT_INTERFACE( "525ssqd", ALPS_3255190x )
SLOT_INTERFACE_END

View File

@ -87,6 +87,9 @@ const device_type SONY_OA_D31V = &device_creator<sony_oa_d31v>;
const device_type SONY_OA_D32W = &device_creator<sony_oa_d32w>;
const device_type SONY_OA_D32V = &device_creator<sony_oa_d32v>;
// ALPS 5.25" drives
const device_type ALPS_3255190x = &device_creator<alps_3255190x>;
const floppy_format_type floppy_image_device::default_floppy_formats[] = {
FLOPPY_D88_FORMAT,
@ -260,7 +263,6 @@ void floppy_image_device::device_start()
{
rpm = 0;
motor_always_on = false;
setup_characteristics();
idx = 0;
@ -276,6 +278,8 @@ void floppy_image_device::device_start()
image_dirty = false;
ready = true;
ready_counter = 0;
setup_characteristics();
}
void floppy_image_device::device_reset()
@ -1730,3 +1734,34 @@ void sony_oa_d32v::handled_variants(UINT32 *variants, int &var_count) const
variants[var_count++] = floppy_image::SSSD;
variants[var_count++] = floppy_image::SSDD;
}
//-------------------------------------------------
// ALPS 32551901 (black) / 32551902 (brown)
//
// used in the Commodoere 1541 disk drive
//-------------------------------------------------
alps_3255190x::alps_3255190x(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
floppy_image_device(mconfig, ALPS_3255190x, "ALPS 32551901/32551902 Floppy Drive", tag, owner, clock, "alps_3255190x", __FILE__)
{
}
alps_3255190x::~alps_3255190x()
{
}
void alps_3255190x::setup_characteristics()
{
form_factor = floppy_image::FF_525;
tracks = 84;
sides = 1;
set_rpm(300);
cyl = 34;
}
void alps_3255190x::handled_variants(UINT32 *variants, int &var_count) const
{
var_count = 0;
variants[var_count++] = floppy_image::SSSD;
}

View File

@ -237,6 +237,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(alps_3255190x, "floppy_5_25")
class floppy_connector: public device_t,
@ -285,5 +286,6 @@ 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 ALPS_3255190x;
#endif /* FLOPPY_H */

View File

@ -11,13 +11,12 @@
#include "emu.h"
#include "formats/d80_dsk.h"
d80_format::d80_format() : d64_format(formats)
d80_format::d80_format() : d64_format(file_formats)
{
}
d80_format::d80_format(const format *_formats)
d80_format::d80_format(const format *_formats) : d64_format(_formats)
{
formats = _formats;
}
const char *d80_format::name() const