Exemple #1
0
static void apple3_via_out(running_machine &machine, UINT8 *var, UINT8 data)
{
    if (*var != data)
    {
        *var = data;
        apple3_update_memory(machine);
    }
}
Exemple #2
0
static void apple3_via_out(UINT8 *var, UINT8 data)
{
	if (*var != data)
	{
		*var = data;
		apple3_update_memory();
	}
}
Exemple #3
0
void apple3_state::apple3_via_out(uint8_t *var, uint8_t data)
{
	if (*var != data)
	{
		*var = data;
		apple3_update_memory();
	}
}
Exemple #4
0
DRIVER_INIT_MEMBER(apple3_state,apple3)
{
    /* hack to get around VIA problem */
    memregion("maincpu")->base()[0x0685] = 0x00;

    m_enable_mask = 0;
    apple3_update_drives(machine().device("fdc"));

    AY3600_init(machine());

    apple3_profile_init();

    m_flags = 0;
    m_via_0_a = ~0;
    m_via_1_a = ~0;
    m_via_1_irq = 0;
    apple3_update_memory(machine());

    machine().device("maincpu")->memory().space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(FUNC(apple3_state::apple3_opbase), this));
}
Exemple #5
0
void apple3_state::apple3_postload()
{
	apple3_update_memory();
}
Exemple #6
0
DRIVER_INIT_MEMBER(apple3_state,apple3)
{
	m_enable_mask = 0;

	m_flags = 0;
	m_acia_irq = 0;
	m_via_0_a = ~0;
	m_via_1_a = ~0;
	m_via_0_irq = 0;
	m_via_1_irq = 0;
	m_va = 0;
	m_vb = 0;
	m_vc = 0;
	m_smoothscr = 0;

	// kludge round +12v pull up resistors, which after conversion will bring this low when nothing is plugged in. issue also affects dcd/dsr but those don't affect booting.
	m_acia->write_cts(0);

	/* these are here to appease the Apple /// confidence tests */
	m_via_1->write_pa0(1);
	m_via_1->write_pa1(1);
	m_via_1->write_pa2(1);
	m_via_1->write_pa3(1);
	m_via_1->write_pa4(1);
	m_via_1->write_pa5(1);
	m_via_1->write_pa6(1);
	m_via_1->write_pa7(1);

	m_via_1->write_pb0(1);
	m_via_1->write_pb1(1);
	m_via_1->write_pb2(1);
	m_via_1->write_pb3(1);
	m_via_1->write_pb4(1);
	m_via_1->write_pb5(1);
	m_via_1->write_pb6(1);
	m_via_1->write_pb7(1);

	m_scanstart = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(apple3_state::scanstart_cb),this));
	m_scanend = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(apple3_state::scanend_cb),this));

	apple3_update_memory();

	save_item(NAME(m_acia_irq));
	save_item(NAME(m_via_0_a));
	save_item(NAME(m_via_0_b));
	save_item(NAME(m_via_1_a));
	save_item(NAME(m_via_1_b));
	save_item(NAME(m_via_0_irq));
	save_item(NAME(m_via_1_irq));
	save_item(NAME(m_zpa));
	save_item(NAME(m_last_n));
	save_item(NAME(m_sync));
	save_item(NAME(m_indir_bank));
	save_item(NAME(m_cnxx_slot));
	save_item(NAME(m_speaker_state));
	save_item(NAME(m_c040_time));
	save_item(NAME(m_lastchar));
	save_item(NAME(m_strobe));
	save_item(NAME(m_transchar));
	save_item(NAME(m_flags));
	save_item(NAME(m_char_mem));
	save_item(NAME(m_analog_sel));
	save_item(NAME(m_ramp_active));
	save_item(NAME(m_pdl_charge));
	save_item(NAME(m_va));
	save_item(NAME(m_vb));
	save_item(NAME(m_vc));
	save_item(NAME(m_smoothscr));

	machine().save().register_postload(save_prepost_delegate(FUNC(apple3_state::apple3_postload), this));
}
Exemple #7
0
void apple3_state::device_post_load()
{
	apple3_update_memory();
}