示例#1
0
文件: pc1512.c 项目: risico/jsmess
void pc1640_state::machine_start()
{
	// register CPU IRQ callback
	device_set_irq_callback(m_maincpu, pc1512_irq_callback);

	// state saving
	save_item(NAME(m_pit1));
	save_item(NAME(m_pit2));
	save_item(NAME(m_status1));
	save_item(NAME(m_status2));
	save_item(NAME(m_port61));
	save_item(NAME(m_nmi_enable));
	save_item(NAME(m_kbd));
	save_item(NAME(m_kb_bits));
	save_item(NAME(m_kbclk));
	save_item(NAME(m_kbdata));
	save_item(NAME(m_mouse_x));
	save_item(NAME(m_mouse_y));
	save_item(NAME(m_dma_page));
	save_item(NAME(m_dma_channel));
	save_item(NAME(m_dreq0));
	save_item(NAME(m_nden));
	save_item(NAME(m_dint));
	save_item(NAME(m_ddrq));
	save_item(NAME(m_fdc_dsr));
	save_item(NAME(m_neop));
	save_item(NAME(m_ack_int_enable));
	save_item(NAME(m_ack));
	save_item(NAME(m_printer_data));
	save_item(NAME(m_printer_control));
	save_item(NAME(m_speaker_drive));
}
示例#2
0
文件: vixen.c 项目: cdenix/psmame
void vixen_state::machine_start()
{
	// interrupt callback
	device_set_irq_callback(m_maincpu, vixen_int_ack);

	// configure memory banking
	UINT8 *ram = ram_get_ptr(m_ram);

	memory_configure_bank(m_machine, "bank1", 0, 1, ram, 0);
	memory_configure_bank(m_machine, "bank1", 1, 1, m_machine.region(Z8400A_TAG)->base(), 0);

	memory_configure_bank(m_machine, "bank2", 0, 1, ram, 0);
	memory_configure_bank(m_machine, "bank2", 1, 1, m_video_ram, 0);

	memory_configure_bank(m_machine, "bank3", 0, 1, m_video_ram, 0);
	memory_configure_bank(m_machine, "bank3", 1, 1, m_machine.region(Z8400A_TAG)->base(), 0);

	memory_configure_bank(m_machine, "bank4", 0, 1, m_video_ram, 0);

	// register for state saving
	state_save_register_global(m_machine, m_reset);
	state_save_register_global(m_machine, m_col);
	state_save_register_global(m_machine, m_cmd_d0);
	state_save_register_global(m_machine, m_cmd_d1);
	state_save_register_global(m_machine, m_fdint);
}
示例#3
0
文件: su2000.c 项目: risico/jsmess
static MACHINE_START( su2000 )
{
	su2000_state *state = machine.driver_data<su2000_state>();
	address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);

	state->m_pit8254 = machine.device("pit8254");
	state->m_pic8259_1 = machine.device("pic8259_1");
	state->m_pic8259_2 = machine.device("pic8259_2");
	state->m_dma8237_1 = machine.device("dma8237_1");
	state->m_dma8237_2 = machine.device("dma8237_2");

	/* Configure RAM */
	state->m_pc_ram = auto_alloc_array_clear(machine, UINT32, PC_RAM_SIZE);

	/* Conventional memory */
	state->membank("mem_bank")->set_base(state->m_pc_ram);

	/* HMA */
	offs_t ram_limit = 0x100000 + PC_RAM_SIZE - 0x0a0000;
	space->install_read_bank(0x100000, ram_limit - 1, "hma_bank");
	space->install_write_bank(0x100000, ram_limit - 1, "hma_bank");
	state->membank("hma_bank")->set_base(state->m_pc_ram + 0xa0000);

	device_set_irq_callback(machine.device("maincpu"), pc_irq_callback);

	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, su2000_set_keyb_int);

	kbdc8042_init(machine, &at8042);

	pc_vga_init(machine, vga_setting, NULL);
	pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
}
示例#4
0
文件: quakeat.c 项目: risico/jsmess
static MACHINE_START(quakeat)
{
	quakeat_state *state = machine.driver_data<quakeat_state>();
	device_set_irq_callback(machine.device("maincpu"), irq_callback);

	state->m_pic8259_1 = machine.device( "pic8259_1" );
	state->m_pic8259_2 = machine.device( "pic8259_2" );
}
示例#5
0
static MACHINE_START(multi16)
{
	multi16_state *state = machine.driver_data<multi16_state>();

	state->m_mc6845 = machine.device<mc6845_device>("crtc");

	device_set_irq_callback(machine.device("maincpu"), multi16_irq_callback);
}
示例#6
0
static MACHINE_RESET( galaxygame )
{
	galaxygame_state *state = machine.driver_data<galaxygame_state>();
	state->m_clk = 0x00;
	state->m_point_work_list_index = 0;
	state->m_point_display_list_index = 0;
	state->m_interrupt = 0;

	device_set_irq_callback(machine.device("maincpu"), galaxygame_irq_callback);
}
示例#7
0
static MACHINE_START( streetg2 )
{
	device_set_irq_callback(machine.device("maincpu"), pcat_irq_callback);

	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);

	memory_configure_bank(machine, "rombank", 0, 0x80, machine.region("game_prg")->base(), 0x8000 );
	memory_set_bank(machine, "rombank", 0);

	microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
}
static MACHINE_START( streetg2 )
{
	device_set_irq_callback(machine.device("maincpu"), pcat_irq_callback);

	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);

	machine.root_device().membank("rombank")->configure_entries(0, 0x80, machine.root_device().memregion("game_prg")->base(), 0x8000 );
	machine.root_device().membank("rombank")->set_entry(0);

	//microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
}
示例#9
0
static MACHINE_START(taitowlf)
{
	taitowlf_state *state = machine.driver_data<taitowlf_state>();
	device_set_irq_callback(machine.device("maincpu"), irq_callback);

	state->m_pit8254 = machine.device( "pit8254" );
	state->m_pic8259_1 = machine.device( "pic8259_1" );
	state->m_pic8259_2 = machine.device( "pic8259_2" );
	state->m_dma8237_1 = machine.device( "dma8237_1" );
	state->m_dma8237_2 = machine.device( "dma8237_2" );
}
示例#10
0
文件: trs80m2.c 项目: risico/jsmess
void trs80m16_state::machine_start()
{
	trs80m2_state::machine_start();

	// register CPU IRQ callback
	device_set_irq_callback(m_maincpu, trs80m16_irq_callback);

	// register for state saving
	save_item(NAME(m_ual));
	save_item(NAME(m_limit));
	save_item(NAME(m_offset));
}
示例#11
0
文件: photoply.c 项目: risico/jsmess
static MACHINE_START( photoply )
{
    photoply_state *state = machine.driver_data<photoply_state>();
    device_set_irq_callback(machine.device("maincpu"), irq_callback);
    state->m_pit8253 = machine.device( "pit8254" );
    state->m_pic8259_1 = machine.device( "pic8259_1" );
    state->m_pic8259_2 = machine.device( "pic8259_2" );
    state->m_dma8237_1 = machine.device( "dma8237_1" );
    state->m_dma8237_2 = machine.device( "dma8237_2" );

    init_pc_common(machine, PCCOMMON_KEYBOARD_AT, photoply_set_keyb_int);
}
示例#12
0
文件: fk1.c 项目: cdenix/psmame
static MACHINE_RESET(fk1)
{
	address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
	UINT8 *ram = ram_get_ptr(machine.device(RAM_TAG));

	space->unmap_write(0x0000, 0x3fff);
	memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base()); // ROM
	memory_set_bankptr(machine, "bank2", ram + 0x10000); // VRAM
	memory_set_bankptr(machine, "bank3", ram + 0x8000);
	memory_set_bankptr(machine, "bank4", ram + 0xc000);

	device_set_irq_callback(machine.device("maincpu"), fk1_irq_callback);
}
示例#13
0
文件: pc1512.c 项目: risico/jsmess
void pc1512_state::machine_start()
{
	// register CPU IRQ callback
	device_set_irq_callback(m_maincpu, pc1512_irq_callback);

	// set RAM size
	size_t ram_size = m_ram->size();

	if (ram_size < 640 * 1024)
	{
		address_space *program = m_maincpu->memory().space(AS_PROGRAM);
		program->unmap_readwrite(ram_size, 0x9ffff);
	}

	// state saving
	save_item(NAME(m_pit1));
	save_item(NAME(m_pit2));
	save_item(NAME(m_status1));
	save_item(NAME(m_status2));
	save_item(NAME(m_port61));
	save_item(NAME(m_nmi_enable));
	save_item(NAME(m_kbd));
	save_item(NAME(m_kb_bits));
	save_item(NAME(m_kbclk));
	save_item(NAME(m_kbdata));
	save_item(NAME(m_mouse_x));
	save_item(NAME(m_mouse_y));
	save_item(NAME(m_dma_page));
	save_item(NAME(m_dma_channel));
	save_item(NAME(m_dreq0));
	save_item(NAME(m_nden));
	save_item(NAME(m_dint));
	save_item(NAME(m_ddrq));
	save_item(NAME(m_fdc_dsr));
	save_item(NAME(m_neop));
	save_item(NAME(m_ack_int_enable));
	save_item(NAME(m_ack));
	save_item(NAME(m_printer_data));
	save_item(NAME(m_printer_control));
	save_item(NAME(m_toggle));
	save_item(NAME(m_lpen));
	save_item(NAME(m_blink));
	save_item(NAME(m_cursor));
	save_item(NAME(m_blink_ctr));
	save_item(NAME(m_vdu_mode));
	save_item(NAME(m_vdu_color));
	save_item(NAME(m_vdu_plane));
	save_item(NAME(m_vdu_rdsel));
	save_item(NAME(m_vdu_border));
	save_item(NAME(m_speaker_drive));
}
示例#14
0
文件: savquest.c 项目: risico/jsmess
static MACHINE_START( savquest )
{
	savquest_state *state = machine.driver_data<savquest_state>();
	state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x20000/4);

	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, savquest_set_keyb_int);

	device_set_irq_callback(state->m_maincpu, irq_callback);
	intel82439tx_init(machine);

	kbdc8042_init(machine, &at8042);
	pc_vga_init(machine, vga_setting, NULL);
	pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
}
示例#15
0
static MACHINE_START( dcheese )
{
    dcheese_state *state = machine.driver_data<dcheese_state>();

    state->m_maincpu = machine.device("maincpu");
    state->m_audiocpu = machine.device("audiocpu");
    state->m_bsmt = machine.device("bsmt");

    device_set_irq_callback(state->m_maincpu, irq_callback);

    state->save_item(NAME(state->m_irq_state));
    state->save_item(NAME(state->m_soundlatch_full));
    state->save_item(NAME(state->m_sound_control));
    state->save_item(NAME(state->m_sound_msb_latch));
}
static MACHINE_START( funkball )
{
	funkball_state *state = machine.driver_data<funkball_state>();

	state->m_bios_ram = auto_alloc_array(machine, UINT8, 0x20000);

	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, funkball_set_keyb_int);

	device_set_irq_callback(state->m_maincpu, irq_callback);

	kbdc8042_init(machine, &at8042);

	/* defaults, otherwise it won't boot */
	state->m_unk_ram[0x010/4] = 0x2f8d85ff;
	state->m_unk_ram[0x018/4] = 0x000018c5;
}
示例#17
0
文件: jaguar.c 项目: cdenix/psmame
static MACHINE_RESET( jaguar )
{
	device_set_irq_callback(machine.device("maincpu"), jaguar_irq_callback);

	protection_check = 0;

	/* Set up pointers for Jaguar logo */
	memcpy(jaguar_shared_ram, rom_base, 0x400);	// do not increase, or Doom breaks
	cpu_set_reg(machine.device("maincpu"), STATE_GENPC, rom_base[1]);

#if 0
	/* set up main CPU RAM/ROM banks */
	memory_set_bankptr(machine, 3, jaguar_gpu_ram);

	/* set up DSP RAM/ROM banks */
	memory_set_bankptr(machine, 10, jaguar_shared_ram);
	memory_set_bankptr(machine, 11, jaguar_gpu_clut);
	memory_set_bankptr(machine, 12, jaguar_gpu_ram);
	memory_set_bankptr(machine, 13, jaguar_dsp_ram);
	memory_set_bankptr(machine, 14, jaguar_shared_ram);
	memory_set_bankptr(machine, 15, cart_base);
	memory_set_bankptr(machine, 16, rom_base);
	memory_set_bankptr(machine, 17, jaguar_gpu_ram);
#endif

	/* clear any spinuntil stuff */
	jaguar_gpu_resume(machine);
	jaguar_dsp_resume(machine);

	/* halt the CPUs */
	jaguargpu_ctrl_w(machine.device("gpu"), G_CTRL, 0, 0xffffffff);
	jaguardsp_ctrl_w(machine.device("audiocpu"), D_CTRL, 0, 0xffffffff);

	joystick_data = 0xffffffff;
	eeprom_bit_count = 0;
	blitter_status = 1;
	if ((using_cart) && (input_port_read(machine, "CONFIG") & 2))
	{
		cart_base[0x102] = 1;
		using_cart = 0;
	}
}
示例#18
0
static DRIVER_INIT( apricot )
{
	apricot_state *state = machine.driver_data<apricot_state>();
	device_t *maincpu = machine.device("maincpu");
	address_space *prg = maincpu->memory().space(AS_PROGRAM);

	UINT8 *ram = ram_get_ptr(machine.device(RAM_TAG));
	UINT32 ram_size = ram_get_size(machine.device(RAM_TAG));

	prg->unmap_readwrite(0x40000, 0xeffff);
	prg->install_ram(0x00000, ram_size - 1, ram);

	device_set_irq_callback(maincpu, apricot_irq_ack);

	state->m_pic8259 = machine.device("ic31");
	state->m_wd2793 = machine.device("ic68");
	state->m_mc6845 = machine.device<mc6845_device>("ic30");

	state->m_video_mode = 0;
	state->m_display_on = 1;
}
示例#19
0
static MACHINE_START(multi16)
{
	device_set_irq_callback(machine.device("maincpu"), multi16_irq_callback);
}
示例#20
0
文件: pangofun.c 项目: esn3s/mame-rr
static MACHINE_START( pangofun )
{
	device_set_irq_callback(machine.device("maincpu"), pcat_irq_callback);
	init_pc_common(machine, PCCOMMON_KEYBOARD_AT, pangofun_set_keyb_int);
	kbdc8042_init(machine, &at8042);
}