Exemple #1
0
static MACHINE_INIT( exidy )
{
	hd6402_init();
	hd6402_set_callback(exidy_hd6402_callback);
	hd6402_reset();

	centronics_config(0, exidy_cent_config);
	/* assumption: select is tied low */
	centronics_write_handshake(0, CENTRONICS_SELECT | CENTRONICS_NO_RESET, CENTRONICS_SELECT| CENTRONICS_NO_RESET);

	serial_timer = timer_alloc(exidy_serial_timer_callback);
	cassette_timer = timer_alloc(exidy_cassette_timer_callback);

	serial_connection_init(&cassette_serial_connection);
	serial_connection_set_in_callback(&cassette_serial_connection, cassette_serial_in);
	
	exidy_fe_port_w(0,0);

	timer_set(TIME_NOW, 0, exidy_reset_timer_callback);
	
	wd179x_init(WD_TYPE_179X,NULL);

	floppy_drive_set_geometry(image_from_devtype_and_index(IO_FLOPPY, 0), FLOPPY_DRIVE_DS_80);

	/* this is temporary. Normally when a Z80 is reset, it will
	execute address 0. The exidy starts executing from 0x0e000 */
/*	memory_set_opbase_handler(0, exidy_opbaseoverride); */
	
/*	cpunum_write_byte(0,0,0x0c3); */
/*	cpunum_write_byte(0,1,0x000); */
/*	cpunum_write_byte(0,2,0x0e0); */

}
Exemple #2
0
static void pmd85_common_driver_init (running_machine &machine)
{
	pmd85_state *state = machine.driver_data<pmd85_state>();
	state->m_previous_level = 0;
	state->m_clk_level = state->m_clk_level_tape = 1;
	state->m_cassette_timer = machine.scheduler().timer_alloc(FUNC(pmd85_cassette_timer_callback));
	state->m_cassette_timer->adjust(attotime::zero, 0, attotime::from_hz(2400));

	serial_connection_init(machine, &state->m_cassette_serial_connection);
	serial_connection_set_in_callback(machine, &state->m_cassette_serial_connection, pmd85_cassette_write);
}