mirror of
https://github.com/holub/mame
synced 2025-10-07 01:16:22 +03:00
c1pmf: updated to use new floppy
This commit is contained in:
parent
f32f4e5ba0
commit
4124faf73c
@ -388,7 +388,7 @@ WRITE8_MEMBER( c1p_state::osi630_sound_w )
|
|||||||
C011 ACIAIO DISK CONTROLLER ACIA I/O PORT
|
C011 ACIAIO DISK CONTROLLER ACIA I/O PORT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
WRITE_LINE_MEMBER(sb2m600_state::osi470_index_callback)
|
void sb2m600_state::floppy_index_callback(floppy_image_device *floppy, int state)
|
||||||
{
|
{
|
||||||
m_fdc_index = state;
|
m_fdc_index = state;
|
||||||
}
|
}
|
||||||
@ -686,23 +686,17 @@ void c1p_state::machine_start()
|
|||||||
void c1pmf_state::machine_start()
|
void c1pmf_state::machine_start()
|
||||||
{
|
{
|
||||||
c1p_state::machine_start();
|
c1p_state::machine_start();
|
||||||
|
|
||||||
|
// drive select logic missing
|
||||||
|
if (m_floppy0->get_device())
|
||||||
|
m_floppy0->get_device()->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(FUNC(sb2m600_state::floppy_index_callback), this));
|
||||||
}
|
}
|
||||||
|
|
||||||
static LEGACY_FLOPPY_OPTIONS_START(osi)
|
// disk format: 1 head, 36 tracks (? - manual displays a directory listing with 40 tracks),
|
||||||
LEGACY_FLOPPY_OPTION(osi, "img", "OSI disk image", basicdsk_identify_default, basicdsk_construct_default, NULL,
|
// 10 sectors, 256 byte sector length, first sector id 0
|
||||||
HEADS([1])
|
static SLOT_INTERFACE_START( osi_floppies )
|
||||||
TRACKS([36])
|
SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD)
|
||||||
SECTORS([10])
|
SLOT_INTERFACE_END
|
||||||
SECTOR_LENGTH([256])
|
|
||||||
FIRST_SECTOR_ID([0]))
|
|
||||||
LEGACY_FLOPPY_OPTIONS_END
|
|
||||||
|
|
||||||
static const floppy_interface osi_floppy_interface =
|
|
||||||
{
|
|
||||||
FLOPPY_STANDARD_5_25_SSDD_40,
|
|
||||||
LEGACY_FLOPPY_OPTIONS_NAME(osi),
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
/* F4 Character Displayer */
|
/* F4 Character Displayer */
|
||||||
static const gfx_layout osi_charlayout =
|
static const gfx_layout osi_charlayout =
|
||||||
@ -833,8 +827,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( c1pmf, c1p, c1pmf_state )
|
|||||||
MCFG_DEVICE_ADD("floppy_clock", CLOCK, XTAL_4MHz/8) // 250 kHz
|
MCFG_DEVICE_ADD("floppy_clock", CLOCK, XTAL_4MHz/8) // 250 kHz
|
||||||
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia_1", acia6850_device, write_txc))
|
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia_1", acia6850_device, write_txc))
|
||||||
|
|
||||||
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, osi_floppy_interface)
|
MCFG_FLOPPY_DRIVE_ADD("floppy0", osi_floppies, "ssdd", floppy_image_device::default_floppy_formats)
|
||||||
MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(sb2m600_state, osi470_index_callback))
|
MCFG_FLOPPY_DRIVE_ADD("floppy1", osi_floppies, NULL, floppy_image_device::default_floppy_formats)
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
MCFG_RAM_MODIFY(RAM_TAG)
|
MCFG_RAM_MODIFY(RAM_TAG)
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "formats/basicdsk.h"
|
#include "formats/basicdsk.h"
|
||||||
#include "imagedev/cassette.h"
|
#include "imagedev/cassette.h"
|
||||||
#include "imagedev/flopdrv.h"
|
#include "imagedev/floppy.h"
|
||||||
#include "machine/6850acia.h"
|
#include "machine/6850acia.h"
|
||||||
#include "machine/6821pia.h"
|
#include "machine/6821pia.h"
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
@ -60,7 +60,7 @@ public:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( cassette_tx );
|
DECLARE_WRITE_LINE_MEMBER( cassette_tx );
|
||||||
DECLARE_WRITE_LINE_MEMBER( write_cassette_clock );
|
DECLARE_WRITE_LINE_MEMBER( write_cassette_clock );
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER(osi470_index_callback);
|
void floppy_index_callback(floppy_image_device *floppy, int state);
|
||||||
|
|
||||||
DECLARE_PALETTE_INIT(osi630);
|
DECLARE_PALETTE_INIT(osi630);
|
||||||
|
|
||||||
@ -126,19 +126,23 @@ public:
|
|||||||
class c1pmf_state : public c1p_state
|
class c1pmf_state : public c1p_state
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
c1pmf_state(const machine_config &mconfig, device_type type, const char *tag)
|
c1pmf_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
: c1p_state(mconfig, type, tag),
|
c1p_state(mconfig, type, tag),
|
||||||
m_floppy(*this, FLOPPY_0)
|
m_floppy0(*this, "floppy0"),
|
||||||
|
m_floppy1(*this, "floppy1")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<legacy_floppy_image_device> m_floppy;
|
|
||||||
|
|
||||||
virtual void machine_start();
|
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( osi470_pia_pa_r );
|
DECLARE_READ8_MEMBER( osi470_pia_pa_r );
|
||||||
DECLARE_WRITE8_MEMBER( osi470_pia_pa_w );
|
DECLARE_WRITE8_MEMBER( osi470_pia_pa_w );
|
||||||
DECLARE_WRITE8_MEMBER( osi470_pia_pb_w );
|
DECLARE_WRITE8_MEMBER( osi470_pia_pb_w );
|
||||||
DECLARE_WRITE_LINE_MEMBER( osi470_pia_cb2_w );
|
DECLARE_WRITE_LINE_MEMBER( osi470_pia_cb2_w );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void machine_start();
|
||||||
|
|
||||||
|
private:
|
||||||
|
required_device<floppy_connector> m_floppy0;
|
||||||
|
required_device<floppy_connector> m_floppy1;
|
||||||
};
|
};
|
||||||
|
|
||||||
class uk101_state : public sb2m600_state
|
class uk101_state : public sb2m600_state
|
||||||
|
Loading…
Reference in New Issue
Block a user