trunk/src/emu/imagedev/floppy.c
| r22760 | r22761 | |
| 25 | 25 | const device_type FLOPPY_525_SD = &device_creator<floppy_525_sd>; |
| 26 | 26 | const device_type FLOPPY_525_SSDD = &device_creator<floppy_525_ssdd>; |
| 27 | 27 | const device_type FLOPPY_525_DD = &device_creator<floppy_525_dd>; |
| 28 | const device_type FLOPPY_525_SSQD = &device_creator<floppy_525_ssqd>; |
| 28 | 29 | const device_type FLOPPY_525_QD = &device_creator<floppy_525_qd>; |
| 29 | 30 | const device_type FLOPPY_525_HD = &device_creator<floppy_525_hd>; |
| 30 | 31 | const device_type FLOPPY_8_SSSD = &device_creator<floppy_8_sssd>; |
| r22760 | r22761 | |
| 1184 | 1185 | variants[var_count++] = floppy_image::DSDD; |
| 1185 | 1186 | } |
| 1186 | 1187 | |
| 1188 | floppy_525_ssqd::floppy_525_ssqd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 1189 | floppy_image_device(mconfig, FLOPPY_525_QD, "5.25\" single-sided quad density floppy drive", tag, owner, clock, "floppy_525_ssqd", __FILE__) |
| 1190 | { |
| 1191 | } |
| 1192 | |
| 1193 | floppy_525_ssqd::~floppy_525_ssqd() |
| 1194 | { |
| 1195 | } |
| 1196 | |
| 1197 | void floppy_525_ssqd::setup_characteristics() |
| 1198 | { |
| 1199 | form_factor = floppy_image::FF_525; |
| 1200 | tracks = 84; |
| 1201 | sides = 1; |
| 1202 | set_rpm(300); |
| 1203 | } |
| 1204 | |
| 1205 | void floppy_525_ssqd::handled_variants(UINT32 *variants, int &var_count) const |
| 1206 | { |
| 1207 | var_count = 0; |
| 1208 | variants[var_count++] = floppy_image::SSSD; |
| 1209 | variants[var_count++] = floppy_image::SSDD; |
| 1210 | variants[var_count++] = floppy_image::SSQD; |
| 1211 | } |
| 1212 | |
| 1187 | 1213 | floppy_525_qd::floppy_525_qd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 1188 | 1214 | floppy_image_device(mconfig, FLOPPY_525_QD, "5.25\" quad density floppy drive", tag, owner, clock, "floppy_525_qd", __FILE__) |
| 1189 | 1215 | { |
| r22760 | r22761 | |
| 1207 | 1233 | variants[var_count++] = floppy_image::SSSD; |
| 1208 | 1234 | variants[var_count++] = floppy_image::SSDD; |
| 1209 | 1235 | variants[var_count++] = floppy_image::SSQD; |
| 1236 | variants[var_count++] = floppy_image::DSSD; |
| 1210 | 1237 | variants[var_count++] = floppy_image::DSDD; |
| 1211 | 1238 | variants[var_count++] = floppy_image::DSQD; |
| 1212 | 1239 | } |
trunk/src/emu/imagedev/floppy.h
| r22760 | r22761 | |
| 316 | 316 | virtual void setup_characteristics(); |
| 317 | 317 | }; |
| 318 | 318 | |
| 319 | class floppy_525_ssqd : public floppy_image_device { |
| 320 | public: |
| 321 | floppy_525_ssqd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 322 | virtual ~floppy_525_ssqd(); |
| 323 | virtual void handled_variants(UINT32 *variants, int &var_count) const; |
| 324 | virtual const char *image_interface() const { return "floppy_5_25"; } |
| 325 | protected: |
| 326 | virtual void setup_characteristics(); |
| 327 | }; |
| 328 | |
| 319 | 329 | class floppy_525_qd : public floppy_image_device { |
| 320 | 330 | public: |
| 321 | 331 | floppy_525_qd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| r22760 | r22761 | |
| 409 | 419 | extern const device_type FLOPPY_525_SD; |
| 410 | 420 | extern const device_type FLOPPY_525_SSDD; |
| 411 | 421 | extern const device_type FLOPPY_525_DD; |
| 422 | extern const device_type FLOPPY_525_SSQD; |
| 412 | 423 | extern const device_type FLOPPY_525_QD; |
| 413 | 424 | extern const device_type FLOPPY_525_HD; |
| 414 | 425 | extern const device_type FLOPPY_8_SSSD; |
trunk/src/mess/drivers/v1050.c
| r22760 | r22761 | |
| 952 | 952 | } |
| 953 | 953 | |
| 954 | 954 | static SLOT_INTERFACE_START( v1050_floppies ) |
| 955 | | SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Teac FD-55F |
| 955 | SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) // Teac FD 55E-02-U |
| 956 | SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD 55-FV-35-U |
| 956 | 957 | SLOT_INTERFACE_END |
| 957 | 958 | |
| 958 | 959 | void v1050_state::fdc_intrq_w(bool state) |
| r22760 | r22761 | |
| 1087 | 1088 | MCFG_I8251_ADD(I8251A_KB_TAG, /*XTAL_16MHz/8,*/ kb_8251_intf) |
| 1088 | 1089 | MCFG_I8251_ADD(I8251A_SIO_TAG, /*XTAL_16MHz/8,*/ sio_8251_intf) |
| 1089 | 1090 | MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/16) |
| 1090 | | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", v1050_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats) |
| 1091 | | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", v1050_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats) |
| 1091 | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", v1050_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats) |
| 1092 | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", v1050_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats) |
| 1092 | 1093 | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", v1050_floppies, NULL, NULL, floppy_image_device::default_floppy_formats) |
| 1093 | 1094 | MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", v1050_floppies, NULL, NULL, floppy_image_device::default_floppy_formats) |
| 1094 | 1095 | MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_KB_TAG, v1050_state, kb_8251_tick, attotime::from_hz((double)XTAL_16MHz/4/13/8)) |