Ejemplo n.º 1
0
static VIDEO_START( common )
{
	/* allocate memory */
	midyunit_cmos_ram = auto_alloc_array(machine, UINT16, (0x2000 * 4)/2);
	local_videoram = auto_alloc_array_clear(machine, UINT16, 0x80000/2);
	pen_map = auto_alloc_array(machine, pen_t, 65536);

	/* reset all the globals */
	midyunit_cmos_page = 0;
	autoerase_enable = 0;
	yawdim_dma = 0;

	/* reset DMA state */
	memset(dma_register, 0, sizeof(dma_register));
	memset(&dma_state, 0, sizeof(dma_state));

	/* register for state saving */
	state_save_register_global(machine, autoerase_enable);
	state_save_register_global_pointer(machine, local_videoram, 0x80000/2);
	state_save_register_global_pointer(machine, midyunit_cmos_ram, (0x2000 * 4)/2);
	state_save_register_global(machine, videobank_select);
	state_save_register_global_array(machine, dma_register);
}
Ejemplo n.º 2
0
static MACHINE_START( lsasquad )
{
    lsasquad_state *state = (lsasquad_state *)machine->driver_data;
    UINT8 *ROM = memory_region(machine, "maincpu");

    memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x2000);

    state->maincpu = devtag_get_device(machine, "maincpu");
    state->audiocpu = devtag_get_device(machine, "audiocpu");
    state->mcu = devtag_get_device(machine, "mcu");

    state_save_register_global(machine, state->port_a_in);
    state_save_register_global(machine, state->port_a_out);
    state_save_register_global(machine, state->ddr_a);
    state_save_register_global(machine, state->port_b_in);
    state_save_register_global(machine, state->port_b_out);
    state_save_register_global(machine, state->ddr_b);
    state_save_register_global(machine, state->mcu_sent);
    state_save_register_global(machine, state->main_sent);
    state_save_register_global(machine, state->from_main);
    state_save_register_global(machine, state->from_mcu);

    state_save_register_global(machine, state->sound_pending);
    state_save_register_global(machine, state->sound_nmi_enable);
    state_save_register_global(machine, state->pending_nmi);
    state_save_register_global(machine, state->sound_cmd);
    state_save_register_global(machine, state->sound_result);

    state_save_register_global(machine, state->daikaiju_xor);
    state_save_register_global(machine, state->daikaiju_command);
    state_save_register_global(machine, state->daikaiju_length);
    state_save_register_global(machine, state->daikaiju_prev);
    state_save_register_global(machine, state->daikaiju_cnt);
    state_save_register_global(machine, state->daikaiju_cntr);

    state_save_register_global_array(machine, state->daikaiju_buffer);
}
Ejemplo n.º 3
0
static MACHINE_START( warriorb )
{
	warriorb_state *state = machine->driver_data<warriorb_state>();

	memory_configure_bank(machine, "bank10", 0, 8, machine->region("audiocpu")->base() + 0xc000, 0x4000);

	state->maincpu = machine->device("maincpu");
	state->audiocpu = machine->device("audiocpu");
	state->tc0140syt = machine->device("tc0140syt");
	state->tc0100scn_1 = machine->device("tc0100scn_1");
	state->tc0100scn_2 = machine->device("tc0100scn_2");

	state->lscreen = machine->device("lscreen");
	state->rscreen = machine->device("rscreen");

	state->_2610_1l = machine->device("2610.1.l");
	state->_2610_1r = machine->device("2610.1.r");
	state->_2610_2l = machine->device("2610.2.l");
	state->_2610_2r = machine->device("2610.2.r");

	state_save_register_global(machine, state->banknum);
	state_save_register_global_array(machine, state->pandata);
	state_save_register_postload(machine, warriorb_postload, NULL);
}
Ejemplo n.º 4
0
Archivo: sms.c Proyecto: clobber/UME
MACHINE_START_MEMBER(smsmfg_state,sureshot)
{
	state_save_register_global(machine(), m_communication_port_status);
	state_save_register_global_array(machine(), m_communication_port);
}
Ejemplo n.º 5
0
static void gtia_state(running_machine *machine)
{
	state_save_register_global(gtia.r.m0pf);
	state_save_register_global(gtia.r.m1pf);
	state_save_register_global(gtia.r.m2pf);
	state_save_register_global(gtia.r.m3pf);
	state_save_register_global(gtia.r.p0pf);
	state_save_register_global(gtia.r.p1pf);
	state_save_register_global(gtia.r.p2pf);
	state_save_register_global(gtia.r.p3pf);
	state_save_register_global(gtia.r.m0pl);
	state_save_register_global(gtia.r.m1pl);
	state_save_register_global(gtia.r.m2pl);
	state_save_register_global(gtia.r.m3pl);
	state_save_register_global(gtia.r.p0pl);
	state_save_register_global(gtia.r.p1pl);
	state_save_register_global(gtia.r.p2pl);
	state_save_register_global(gtia.r.p3pl);
	state_save_register_global_array(gtia.r.but);
	state_save_register_global(gtia.r.pal);
	state_save_register_global(gtia.r.gtia15);
	state_save_register_global(gtia.r.gtia16);
	state_save_register_global(gtia.r.gtia17);
	state_save_register_global(gtia.r.gtia18);
	state_save_register_global(gtia.r.gtia19);
	state_save_register_global(gtia.r.gtia1a);
	state_save_register_global(gtia.r.gtia1b);
	state_save_register_global(gtia.r.gtia1c);
	state_save_register_global(gtia.r.gtia1d);
	state_save_register_global(gtia.r.gtia1e);
	state_save_register_global(gtia.r.cons);
	state_save_register_global(gtia.w.hposp0);
	state_save_register_global(gtia.w.hposp1);
	state_save_register_global(gtia.w.hposp2);
	state_save_register_global(gtia.w.hposp3);
	state_save_register_global(gtia.w.hposm0);
	state_save_register_global(gtia.w.hposm1);
	state_save_register_global(gtia.w.hposm2);
	state_save_register_global(gtia.w.hposm3);
	state_save_register_global(gtia.w.sizep0);
	state_save_register_global(gtia.w.sizep1);
	state_save_register_global(gtia.w.sizep2);
	state_save_register_global(gtia.w.sizep3);
	state_save_register_global(gtia.w.sizem);
	state_save_register_global_array(gtia.w.grafp0);
	state_save_register_global_array(gtia.w.grafp1);
	state_save_register_global_array(gtia.w.grafp2);
	state_save_register_global_array(gtia.w.grafp3);
	state_save_register_global_array(gtia.w.grafm);
	state_save_register_global(gtia.w.colpm0);
	state_save_register_global(gtia.w.colpm1);
	state_save_register_global(gtia.w.colpm2);
	state_save_register_global(gtia.w.colpm3);
	state_save_register_global(gtia.w.colpf0);
	state_save_register_global(gtia.w.colpf1);
	state_save_register_global(gtia.w.colpf2);
	state_save_register_global(gtia.w.colpf3);
	state_save_register_global(gtia.w.colbk);
	state_save_register_global(gtia.w.prior);
	state_save_register_global(gtia.w.vdelay);
	state_save_register_global(gtia.w.gractl);
	state_save_register_global(gtia.w.hitclr);
	state_save_register_global(gtia.w.cons);
	state_save_register_postload(machine, gtia_state_postload, NULL);
}
Ejemplo n.º 6
0
int start_genesis_vdp(int screen_number)
{
	static const UINT8 vdp_init[24] =
	{
		0x04, 0x44, 0x30, 0x3C, 0x07, 0x6C, 0x00, 0x00,
		0x00, 0x00, 0xFF, 0x00, 0x01, 0x37, 0x00, 0x02,
		0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x80,
	};
	int i;

	genesis_screen_number = screen_number;

	/* allocate memory for the VDP, the lookup table, and the buffer bitmap */
	vdp_vram			= auto_malloc(VRAM_SIZE);
	vdp_vsram			= auto_malloc(VSRAM_SIZE);
	transparent_lookup	= auto_malloc(0x1000 * sizeof(UINT16));

	/* clear the VDP memory, prevents corrupt tile in Puyo Puyo 2 */
	memset(vdp_vram, 0, VRAM_SIZE);
	memset(vdp_vsram, 0, VSRAM_SIZE);

	/* init transparency table */
	for (i = 0; i < 0x1000; i++)
	{
		int orig_color = i & 0x7ff;
		int half_bright = i & 0x800;

		if (orig_color & 0x100)
			transparent_lookup[i] = orig_color;
		else if (half_bright)
			transparent_lookup[i] = orig_color | 0x800;
		else
			transparent_lookup[i] = orig_color | 0x1000;
	}

	/* reset the palettes */
	genesis_palette_base = 0;
	genesis_bg_pal_lookup[0] = genesis_sp_pal_lookup[0] = 0x00;
	genesis_bg_pal_lookup[1] = genesis_sp_pal_lookup[1] = 0x10;
	genesis_bg_pal_lookup[2] = genesis_sp_pal_lookup[2] = 0x20;
	genesis_bg_pal_lookup[3] = genesis_sp_pal_lookup[3] = 0x30;

	/* reset VDP */
    for (i = 0; i < 24; i++)
        vdp_register_w(0x8000 | (i << 8) | vdp_init[i], 1);
	vdp_cmdpart = 0;
	vdp_code    = 0;
	vdp_address = 0;

	/* Save State Stuff */
	state_save_register_global_array(genesis_vdp_regs);
	state_save_register_global_pointer(vdp_vram, 0x10000);
	state_save_register_global_pointer(vdp_vsram, 0x80);
	state_save_register_global_array(genesis_bg_pal_lookup);
	state_save_register_global_array(genesis_sp_pal_lookup);
	state_save_register_global(display_enable);
	state_save_register_global(vdp_scrollabase);
	state_save_register_global(vdp_scrollbbase);
	state_save_register_global(vdp_windowbase);
	state_save_register_global(vdp_spritebase);
	state_save_register_global(vdp_hscrollbase);
	state_save_register_global(vdp_hscrollmask);
	state_save_register_global(vdp_hscrollsize);
	state_save_register_global(vdp_vscrollmode);
	state_save_register_global(vdp_cmdpart);
	state_save_register_global(vdp_code);
	state_save_register_global(vdp_address);
	state_save_register_global(vdp_dmafill);
	state_save_register_global(scrollheight);
	state_save_register_global(scrollwidth);
	state_save_register_global(bgcol);
	state_save_register_global(window_down);
	state_save_register_global(window_vpos);

	return 0;
}
Ejemplo n.º 7
0
Archivo: ace.c Proyecto: nitrologic/emu
	/* start (must read 1 at least once to make the game run) */
	AM_RANGE(0xc016, 0xc016) AM_READ_PORT("c016")

	AM_RANGE(0xc017, 0xc017) AM_READ(unk_r)
	AM_RANGE(0xc018, 0xc018) AM_READ(unk_r)
	AM_RANGE(0xc019, 0xc019) AM_READ(unk_r)

	AM_RANGE(0xc020, 0xc020) AM_READ(unk_r)
	AM_RANGE(0xc021, 0xc021) AM_READ(unk_r)
	AM_RANGE(0xc022, 0xc022) AM_READ(unk_r)
	AM_RANGE(0xc023, 0xc023) AM_READ(unk_r)
	AM_RANGE(0xc024, 0xc024) AM_READ(unk_r)
	AM_RANGE(0xc025, 0xc025) AM_READ(unk_r)
	AM_RANGE(0xc026, 0xc026) AM_READ(unk_r)

ADDRESS_MAP_END


static INPUT_PORTS_START( ace )
	PORT_START("c008")	/* player thrust */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_NAME("P1 Thrust")

	PORT_START("c009")	/* player slowdown */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_NAME("P1 Slowdown")

	PORT_START("c00a")	/* player left */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)

	PORT_START("c00b")	/* player right */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)

	PORT_START("c00c")	/* player fire */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Fire")

	PORT_START("c00d")	/* enemy thrust */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_NAME("P2 Thrust")

	PORT_START("c00e")	/* enemy slowdown */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_NAME("P2 Slowdown")

	PORT_START("c00f")	/* enemy left  */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)

	PORT_START("c010")	/* enemy right */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)

	PORT_START("c011")	/* enemy fire */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Fire")

	//c012

	PORT_START("c014")	/* VBLANK??? */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_VBLANK )

	PORT_START("c015")	/* coin input */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )

	PORT_START("c016")	/* game start */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
INPUT_PORTS_END


static const gfx_layout charlayout =
{
	16,16,	/* 16*16 chars */
	8,	/* 8 characters */
	1,		/* 1 bit per pixel */
	{ 4 },	/* character rom is 512x4 bits (3622 type)*/
	{ 0, 1, 2, 3, 8+0, 8+1, 8+2, 8+3, 16+0, 16+1, 16+2, 16+3, 24+0, 24+1, 24+2, 24+3 },
	{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
	64*8	/* every char takes 64 consecutive bytes */
};

static const gfx_layout charlayout0 =
{
	16,16,	/* 16*16 chars */
	1,	/* 1 characters */
	1,		/* 1 bit per pixel */
	{ 7 },	/* bit 0 in character ram */
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
	{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 },
	256*8	/* every char takes 256 consecutive bytes */
};

static const gfx_layout charlayout1 =
{
	16,16,	/* 16*16 chars */
	1,	/* 1 characters */
	1,		/* 1 bit per pixel */
	{ 6 },	/* bit 1 in character ram */
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
	{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 },
	256*8	/* every char takes 256 consecutive bytes */
};

static const gfx_layout charlayout2 =
{
	16,16,	/* 16*16 chars */
	1,	/* 1 characters */
	1,		/* 1 bit per pixel */
	{ 5 },	/* bit 2 in character ram */
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
	{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 },
	256*8	/* every char takes 256 consecutive bytes */
};

static const gfx_layout scorelayout =
{
	16,16,	/* 16*16 chars */
	8,	/* 8 characters */
	1,		/* 1 bit per pixel */
	{ 0 },	/*  */
	{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
	32*8	/* every char takes 32 consecutive bytes */
};

static GFXDECODE_START( ace )
	GFXDECODE_ENTRY( "gfx1", 0     , charlayout,  0, 2 )
	GFXDECODE_ENTRY( NULL          , 0x8000, charlayout0, 0, 2 )    /* the game dynamically modifies this */
	GFXDECODE_ENTRY( NULL          , 0x8000, charlayout1, 0, 2 )    /* the game dynamically modifies this */
	GFXDECODE_ENTRY( NULL          , 0x8000, charlayout2, 0, 2 )    /* the game dynamically modifies this */
	GFXDECODE_ENTRY( NULL          , 0x8000, scorelayout, 0, 2 )    /* the game dynamically modifies this */
GFXDECODE_END

static MACHINE_START( ace )
{
    state_save_register_global_array(machine, objpos);
}
Ejemplo n.º 8
0
static void register_savestate(void)
{
	state_save_register_global_array(actfancr_control_1);
	state_save_register_global_array(actfancr_control_2);
}
Ejemplo n.º 9
0
static MACHINE_START( sureshot )
{
	state_save_register_global(machine, communication_port_status);
	state_save_register_global_array(machine, communication_port);
}