Пример #1
0
	FLOPPY_OPTION( c1551, "d64", "Commodore 1551 Disk Image", d64_dsk_identify, d64_dsk_construct, NULL )
FLOPPY_OPTIONS_END

/*-------------------------------------------------
    floppy_config c1551_floppy_config
-------------------------------------------------*/

static const floppy_config c1551_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_SSDD,
	FLOPPY_OPTIONS_NAME(c1551),
	NULL
};

/*-------------------------------------------------
    MACHINE_DRIVER( c1551 )
-------------------------------------------------*/

static MACHINE_CONFIG_FRAGMENT( c1551 )
	MCFG_CPU_ADD(M6510T_TAG, M6510T, XTAL_16MHz/8)
	MCFG_CPU_PROGRAM_MAP(c1551_map)
	MCFG_CPU_CONFIG(m6510t_intf)

	MCFG_TPI6525_ADD(M6523_0_TAG, tpi0_intf) // 6523
	MCFG_TPI6525_ADD(M6523_1_TAG, tpi1_intf) // 6523
Пример #2
0
	MCFG_SOFTWARE_LIST_ADD("cart_list","aquarius")
MACHINE_CONFIG_END

static FLOPPY_OPTIONS_START(aquarius)
	/* 128K images, 64K/side */
FLOPPY_OPTIONS_END

static const floppy_config aquarius_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(aquarius),
	NULL
};

static MACHINE_CONFIG_DERIVED( aquarius_qd, aquarius )

	MCFG_CPU_MODIFY("maincpu")
	MCFG_CPU_IO_MAP(aquarius_qd_io)

	MCFG_DEVICE_REMOVE("cart")

	MCFG_FLOPPY_2_DRIVES_ADD(aquarius_floppy_config)
MACHINE_CONFIG_END


/***************************************************************************
Пример #3
0
        case MESS_DEVINFO_STR_DESCRIPTION+1:                    strcpy(info->s = device_temp_str(), "Slot 6 Disk #2"); break;

        default:                                        apple525_device_getinfo(devclass, state, info); break;
    }
}
#endif

static const floppy_config apple3_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(apple2),
	NULL
};

static MACHINE_CONFIG_START( apple3, apple3_state )
	/* basic machine hardware */
	MCFG_CPU_ADD("maincpu", M6502, 2000000)        /* 2 MHz */
	MCFG_CPU_PROGRAM_MAP(apple3_map)
	MCFG_CPU_CONFIG( apple3_m6502_interface )
	MCFG_CPU_PERIODIC_INT(apple3_interrupt, 192)
	MCFG_QUANTUM_TIME(attotime::from_hz(60))

	MCFG_MACHINE_RESET( apple3 )

	/* video hardware */
	MCFG_SCREEN_ADD("screen", RASTER)
Пример #4
0
		HEADS([2])
		TRACKS([40])
		SECTORS([10])
		SECTOR_LENGTH([256])
		FIRST_SECTOR_ID([1]))
FLOPPY_OPTIONS_END

static const floppy_config cgenie_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(cgenie),
	NULL
};

static MACHINE_CONFIG_START( cgenie_common, cgenie_state )
	/* basic machine hardware */
	MCFG_CPU_ADD("maincpu", Z80, XTAL_17_73447MHz/8)        /* 2,2168 MHz */
	MCFG_CPU_PROGRAM_MAP(cgenie_mem)
	MCFG_CPU_IO_MAP(cgenie_io)
	MCFG_CPU_VBLANK_INT("screen", cgenie_frame_interrupt)
	MCFG_CPU_PERIODIC_INT(cgenie_timer_interrupt, 40)
	MCFG_QUANTUM_TIME(attotime::from_hz(240))

	MCFG_MACHINE_START( cgenie )
	MCFG_MACHINE_RESET( cgenie )
Пример #5
0
{
	svi_cassette_formats,
	NULL,
	(cassette_state)(CASSETTE_PLAY),
	"svi318_cass"
};

static const floppy_config svi318_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(svi318),
	"floppy_5_25"
};

static MACHINE_CONFIG_FRAGMENT( svi318_cartslot )
	MCFG_CARTSLOT_ADD("cart")
	MCFG_CARTSLOT_EXTENSION_LIST("rom")
	MCFG_CARTSLOT_NOT_MANDATORY
	MCFG_CARTSLOT_INTERFACE("svi318_cart")
	MCFG_CARTSLOT_START(svi318_cart)
	MCFG_CARTSLOT_LOAD(svi318_cart)
	MCFG_CARTSLOT_UNLOAD(svi318_cart)

	/* Software lists */
	MCFG_SOFTWARE_LIST_ADD("cart_list","svi318_cart")
MACHINE_CONFIG_END
Пример #6
0
		HEADS([2])
		TRACKS([80])
		SECTORS([5])
		SECTOR_LENGTH([1024])
		FIRST_SECTOR_ID([1]))
FLOPPY_OPTIONS_END

static const floppy_config partner_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(partner),
	NULL
};

/* F4 Character Displayer */
static const gfx_layout partner_charlayout =
{
	8, 8,					/* 8 x 8 characters */
	512,					/* 512 characters */
	1,					/* 1 bits per pixel */
	{ 0 },					/* no bitplanes */
	/* x offsets */
	{ 0, 1, 2, 3, 4, 5, 6, 7 },
	/* y offsets */
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
	8*8					/* every char takes 8 bytes */
Пример #7
0
    { 0x00,0x80,0x80 },		 /* cyan */
	{ 0x80,0x00,0x00 },		 /* red */
    { 0x80,0x00,0x80 },		 /* magenta */
	{ 0x80,0x80,0x00 },		 /* yellow */
	{ 0x80,0x80,0x80 },		 /* light grey */
};

static const floppy_config mbc55x_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSSD_35,
	FLOPPY_OPTIONS_NAME(pc),
	NULL
};

static ADDRESS_MAP_START(mbc55x_mem, AS_PROGRAM, 8)
    AM_RANGE( 0x00000, 0x0FFFF ) AM_RAMBANK(RAM_BANK00_TAG)
    AM_RANGE( 0x10000, 0x1FFFF ) AM_RAMBANK(RAM_BANK01_TAG)
    AM_RANGE( 0x20000, 0x2FFFF ) AM_RAMBANK(RAM_BANK02_TAG)
    AM_RANGE( 0x30000, 0x3FFFF ) AM_RAMBANK(RAM_BANK03_TAG)
    AM_RANGE( 0x40000, 0x4FFFF ) AM_RAMBANK(RAM_BANK04_TAG)
    AM_RANGE( 0x50000, 0x5FFFF ) AM_RAMBANK(RAM_BANK05_TAG)
    AM_RANGE( 0x60000, 0x6FFFF ) AM_RAMBANK(RAM_BANK06_TAG)
    AM_RANGE( 0x70000, 0x7FFFF ) AM_RAMBANK(RAM_BANK07_TAG)
    AM_RANGE( 0x80000, 0x8FFFF ) AM_RAMBANK(RAM_BANK08_TAG)
    AM_RANGE( 0x90000, 0x9FFFF ) AM_RAMBANK(RAM_BANK09_TAG)
    AM_RANGE( 0xA0000, 0xAFFFF ) AM_RAMBANK(RAM_BANK0A_TAG)
Пример #8
0
	rks_cassette_formats,
	NULL,
	(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
	NULL,
	NULL
};

static const floppy_interface specimx_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(specimx),
	NULL,
	NULL
};

/* Machine driver */
static MACHINE_CONFIG_START( special, special_state )
    /* basic machine hardware */
    MCFG_CPU_ADD("maincpu", I8080, 2000000)
    MCFG_CPU_PROGRAM_MAP(specialist_mem)
    MCFG_MACHINE_RESET( special )

	MCFG_PIT8253_ADD( "pit8253", specimx_pit8253_intf )

	MCFG_I8255_ADD( "ppi8255", specialist_ppi8255_interface )
Пример #9
0
		TRACKS(70/[80])
		SECTORS([9]/18)
		SECTOR_LENGTH([512])
		FIRST_SECTOR_ID([1])
	)
FLOPPY_OPTIONS_END

static const floppy_interface apricot_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_SSDD_40,
	FLOPPY_OPTIONS_NAME(apricot),
	NULL,
	NULL
};

static MACHINE_CONFIG_START( apricot, apricot_state )

	/* basic machine hardware */
	MCFG_CPU_ADD("maincpu", I8086, XTAL_15MHz / 3)
	MCFG_CPU_PROGRAM_MAP(apricot_mem)
	MCFG_CPU_IO_MAP(apricot_io)

//  MCFG_CPU_ADD("ic71", I8089, XTAL_15MHz / 3)

	/* video hardware */
	MCFG_SCREEN_ADD("screen", RASTER)
Пример #10
0
static FLOPPY_OPTIONS_START( c8280 )
FLOPPY_OPTIONS_END

/*-------------------------------------------------
    floppy_config c8280_floppy_config
-------------------------------------------------*/

static const floppy_config c8280_floppy_config =
{
    DEVCB_NULL,
    DEVCB_NULL,
    DEVCB_NULL,
    DEVCB_NULL,
    DEVCB_NULL,
    FLOPPY_STANDARD_5_25_DSHD,
    FLOPPY_OPTIONS_NAME(c8280),
    NULL
};

/*-------------------------------------------------
    MACHINE_DRIVER( c8280 )
-------------------------------------------------*/

static MACHINE_CONFIG_FRAGMENT( c8280 )
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, 1000000)
MCFG_CPU_PROGRAM_MAP(c8280_dos_map)

MCFG_RIOT6532_ADD(M6532_0_TAG, 1000000, riot0_intf)
MCFG_RIOT6532_ADD(M6532_1_TAG, 1000000, riot1_intf)

MCFG_CPU_ADD(M6502_FDC_TAG, M6502, 1000000)
Пример #11
0
		FIRST_SECTOR_ID([0]))
FLOPPY_OPTIONS_END

/*-------------------------------------------------
    floppy_interface atom_floppy_interface
-------------------------------------------------*/

static const floppy_interface atom_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_SSDD_40,
	FLOPPY_OPTIONS_NAME(atom),
	"floppy_5_25",
	NULL
};

/*-------------------------------------------------
    cassette_interface atom_cassette_interface
-------------------------------------------------*/

static TIMER_DEVICE_CALLBACK( cassette_output_tick )
{
	atom_state *state = timer.machine().driver_data<atom_state>();

	int level = !(!(!state->m_hz2400 & state->m_pc1) & state->m_pc0);

	state->m_cassette->output(level ? -1.0 : +1.0);
Пример #12
0
		HEADS([2])
		TRACKS([40])
		SECTORS([18])
		SECTOR_LENGTH([256])
		FIRST_SECTOR_ID([1]))
FLOPPY_OPTIONS_END

static const floppy_interface m5_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSDD_40,
	FLOPPY_OPTIONS_NAME(m5),
	NULL,
	NULL
};

static const struct upd765_interface fdc_intf =
{
	DEVCB_CPU_INPUT_LINE(Z80_FD5_TAG, INPUT_LINE_IRQ0),
	DEVCB_NULL,
	NULL,
	UPD765_RDY_PIN_CONNECTED,
	{ FLOPPY_0, NULL, NULL, NULL }
};


//-------------------------------------------------
Пример #13
0
	driver_state->m_fdc_index = state;
}

/*-------------------------------------------------
    floppy_interface sf7000_floppy_interface
-------------------------------------------------*/

static const floppy_interface sf7000_floppy_interface =
{
	DEVCB_LINE(sf7000_fdc_index_callback),
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(sf7000),
	NULL,
	NULL
};

/***************************************************************************
    MACHINE INITIALIZATION
***************************************************************************/

/*-------------------------------------------------
    TIMER_CALLBACK( lightgun_tick )
-------------------------------------------------*/

static TIMER_CALLBACK( lightgun_tick )
{
	UINT8 *rom = machine.region(Z80_TAG)->base();
Пример #14
0
{
	DEVCB_LINE_VCC,
	DEVCB_NULL,
	DEVCB_NULL,
	{ FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3 }
};

static const floppy_interface orion_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(orion),
	NULL,
	NULL
};

/* Machine driver */
static MACHINE_CONFIG_START( orion128, orion_state )
    MCFG_CPU_ADD("maincpu", I8080, 2000000)
    MCFG_CPU_PROGRAM_MAP(orion128_mem)
    MCFG_CPU_IO_MAP(orion128_io)

    MCFG_MACHINE_START( orion128 )
    MCFG_MACHINE_RESET( orion128 )

	MCFG_I8255A_ADD( "ppi8255_1", orion128_ppi8255_interface_1 )
Пример #15
0
		"Atari floppy disk image",
		atari_dsk_identify,
		atari_dsk_construct,
		NULL
	)
FLOPPY_OPTIONS_END0

static const floppy_config atari_floppy_config =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(atari_only),
	NULL
};

static MACHINE_CONFIG_FRAGMENT( atari_fdc )
	MCFG_FLOPPY_4_DRIVES_ADD(atari_floppy_config)
MACHINE_CONFIG_END

device_t *atari_floppy_get_device_child(device_t *device,int drive)
{
	switch(drive) {
		case 0 : return device->subdevice(FLOPPY_0);
		case 1 : return device->subdevice(FLOPPY_1);
		case 2 : return device->subdevice(FLOPPY_2);
		case 3 : return device->subdevice(FLOPPY_3);
	}
Пример #16
0
    TYPE DEFINITIONS
***************************************************************************/

/***************************************************************************
    LOCAL VARIABLES
***************************************************************************/

static const floppy_interface coco_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(coco),
	NULL,
	NULL
};


/***************************************************************************
    IMPLEMENTATION
***************************************************************************/
/*-------------------------------------------------
    real_time_clock
-------------------------------------------------*/

coco_rtc_type_t coco_fdc_device::real_time_clock()
{
	coco_rtc_type_t result = (coco_rtc_type_t) input_port_read_safe(machine(), "real_time_clock", RTC_NONE);
Пример #17
0
		HEADS([2])
		TRACKS([40])
		SECTORS([18])
		SECTOR_LENGTH([512])
		FIRST_SECTOR_ID([1]))
FLOPPY_OPTIONS_END

static const floppy_interface mm1_floppy_interface =
{
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_NULL,
	FLOPPY_STANDARD_5_25_DSHD,
	FLOPPY_OPTIONS_NAME(mm1),
	NULL,
	NULL
};

/* Machine Initialization */

void mm1_state::machine_start()
{
	address_space *program = m_maincpu->memory().space(AS_PROGRAM);

	/* find memory regions */
	m_key_rom = machine().region("keyboard")->base();

	/* setup memory banking */
	program->install_read_bank(0x0000, 0x0fff, "bank1");