/*  the ones with an EXECUTE ONLY region of ARM space? */
static ADDRESS_MAP_START( svg_68k_mem, AS_PROGRAM, 16, pgm_arm_type3_state )
AM_IMPORT_FROM(pgm_mem)
AM_RANGE(0x100000, 0x1fffff) AM_ROMBANK("bank1")  /* Game ROM */

AM_RANGE(0x500000, 0x50ffff) AM_READWRITE(svg_m68k_ram_r, svg_m68k_ram_w)    /* ARM7 Shared RAM */
AM_RANGE(0x5c0000, 0x5c0001) AM_READWRITE(svg_68k_nmi_r, svg_68k_nmi_w)      /* ARM7 FIQ */
AM_RANGE(0x5c0300, 0x5c0301) AM_READWRITE(svg_latch_68k_r, svg_latch_68k_w) /* ARM7 Latch */
ADDRESS_MAP_END


static ADDRESS_MAP_START( 55857G_arm7_map, AS_PROGRAM, 32, pgm_arm_type3_state )
AM_RANGE(0x00000000, 0x00003fff) AM_ROM
AM_RANGE(0x08000000, 0x087fffff) AM_ROM AM_REGION("user1", 0)
AM_RANGE(0x10000000, 0x100003ff) AM_RAM AM_SHARE("arm_ram2")
AM_RANGE(0x18000000, 0x1803ffff) AM_RAM AM_SHARE("arm_ram")
AM_RANGE(0x38000000, 0x3800ffff) AM_READWRITE(svg_arm7_shareram_r, svg_arm7_shareram_w)
AM_RANGE(0x48000000, 0x48000003) AM_READWRITE(svg_latch_arm_r, svg_latch_arm_w) /* 68k Latch */
AM_RANGE(0x40000018, 0x4000001b) AM_WRITE(svg_arm7_ram_sel_w) /* RAM SEL */
AM_RANGE(0x50000000, 0x500003ff) AM_RAM
ADDRESS_MAP_END




MACHINE_RESET_MEMBER(pgm_arm_type3_state, pgm_arm_type3_reset)
{
    // internal roms aren't fully dumped
    uint16_t *temp16 = (uint16_t *)memregion("prot")->base();
    int base = -1;

    if (!strcmp(machine().system().name, "theglad")) base = 0x3316;
    if (!strcmp(machine().system().name, "theglad100")) base = 0x3316;
    if (!strcmp(machine().system().name, "theglad101")) base = 0x3316;
    if (!strcmp(machine().system().name, "happy6")) base = 0x3586;
    if (!strcmp(machine().system().name, "happy6101")) base = 0x3586;
    if (!strcmp(machine().system().name, "svgpcb")) base = 0x3a8e;
    if (!strcmp(machine().system().name, "svg")) base = 0x3c3e;
    if (!strcmp(machine().system().name, "svgtw")) base = 0x3a8e;

    if (base != -1)
    {
        int regionhack = ioport("RegionHack")->read();
        if (regionhack != 0xff)
        {
//          printf("%04x\n", temp16[(base) / 2]);
            temp16[(base) / 2] = regionhack;
            base += 2;
        }
    }
    MACHINE_RESET_CALL_MEMBER(pgm);
}
Beispiel #2
0
MACHINE_RESET_MEMBER(twincobr_state,wardner)
{
	MACHINE_RESET_CALL_MEMBER(twincobr);

	m_toaplan_main_cpu = 1;     /* Z80 */
	twincobr_display(1);
}
Beispiel #3
0
/* Untested - copied from quizrd17 */
MACHINE_RESET_MEMBER(cdi_state,quizrd18)
{
	MACHINE_RESET_CALL_MEMBER( cdi );

	m_scc->set_quizard_mcu_value(0x021f);
	m_scc->set_quizard_mcu_ack(0x5a);
}
Beispiel #4
0
/* Untested - copied from quizrd32 */
MACHINE_RESET_MEMBER(cdi_state,quizrd34)
{
	MACHINE_RESET_CALL_MEMBER( cdi );

	m_scc->set_quizard_mcu_value(0x00ae);
	m_scc->set_quizard_mcu_ack(0x58);
}
Beispiel #5
0
MACHINE_RESET_MEMBER(toaplan1_state,demonwld)
{
	MACHINE_RESET_CALL_MEMBER(toaplan1);
	m_dsp_addr_w = 0;
	m_main_ram_seg = 0;
	m_dsp_execute = 0;
}
MACHINE_RESET_MEMBER(pgm_028_025_state,olds)
{
	int region = (ioport(":Region")->read()) & 0xff;

	m_igs025->m_kb_region = region;
	m_igs025->m_kb_game_id = 0x00900000 | region;

	UINT16 *mem16 = (UINT16 *)(memregion(":user2")->base());
	int i;

	/* populate shared protection ram with data read from pcb .. */
	for (i = 0; i < 0x4000 / 2; i++)
	{
		m_sharedprotram[i] = mem16[i];
	}

	//ROM:004008B4                 .word 0xFBA5
	for(i = 0; i < 0x4000 / 2; i++)
	{
		if (m_sharedprotram[i] == (0xffff - i))
			m_sharedprotram[i] = 0x4e75;
	}

	MACHINE_RESET_CALL_MEMBER(pgm);
}
Beispiel #7
0
MACHINE_RESET_MEMBER(cdi_state,quizrr42)
{
	MACHINE_RESET_CALL_MEMBER( cdi );

	m_scc->set_quizard_mcu_value(0x01ae);
	m_scc->set_quizard_mcu_ack(0x57);
}
Beispiel #8
0
MACHINE_RESET_MEMBER(cdtv_state,cdtv)
{
	MACHINE_RESET_CALL_MEMBER( amiga );

	/* initialize the cdrom controller */
	MACHINE_RESET_CALL_LEGACY( amigacd );
}
Beispiel #9
0
INPUT_PORTS_END


MACHINE_RESET_MEMBER( s11a_state, s11a )
{
	MACHINE_RESET_CALL_MEMBER(s11);
	membank("bgbank")->set_entry(0);
}
Beispiel #10
0
MACHINE_RESET_MEMBER(williams_state,defender)
{
	address_space &space = m_maincpu->space(AS_PROGRAM);

	MACHINE_RESET_CALL_MEMBER(williams_common);

	defender_bank_select_w(space, 0, 0);
}
Beispiel #11
0
MACHINE_RESET_MEMBER(freekick_state,oigas)
{
	MACHINE_RESET_CALL_MEMBER(freekick);

	m_inval = 0;
	m_outval = 0;
	m_cnt = 0;
}
Beispiel #12
0
MACHINE_RESET_MEMBER(cdi_state,quizrr41)
{
	MACHINE_RESET_CALL_MEMBER( cdi );

	//m_scc->set_quizard_mcu_value(0x0139);
	m_scc->set_quizard_mcu_value(0x011f);
	m_scc->set_quizard_mcu_ack(0x57);
}
Beispiel #13
0
MACHINE_CONFIG_END

MACHINE_RESET_MEMBER(pushman_state,bballs)
{
	MACHINE_RESET_CALL_MEMBER(pushman);

	m_latch = 0x400;
}
Beispiel #14
0
MACHINE_RESET_MEMBER( kaypro_state,kaypro )
{
	MACHINE_RESET_CALL_MEMBER(kay_kbd);
	membank("bankr0")->set_entry(1); // point at rom
	membank("bankw0")->set_entry(0); // always write to ram
	membank("bank3")->set_entry(1); // point at video ram
	m_system_port = 0x80;
	m_maincpu->reset();
}
Beispiel #15
0
void wardner_state::machine_reset()
{
	MACHINE_RESET_CALL_MEMBER(twincobr);

	m_toaplan_main_cpu = 1;     /* Z80 */
	twincobr_display(1);

	m_membank->set_bank(0);
}
Beispiel #16
0
MACHINE_RESET_MEMBER(pgm_022_025_state, dw3)
{
	int region = (ioport(":Region")->read()) & 0xff;

	m_igs025->m_kb_region = region;
	m_igs025->m_kb_game_id = 0x00060000 | region;

	MACHINE_RESET_CALL_MEMBER(pgm);
}
Beispiel #17
0
MACHINE_RESET_MEMBER(pgm_022_025_state,killbld)
{
	int region = (ioport(":Region")->read()) & 0xff;

	m_igs025->m_kb_region = region - 0x16;
	m_igs025->m_kb_game_id = 0x89911400 | region;

	MACHINE_RESET_CALL_MEMBER(pgm);
}
Beispiel #18
0
MACHINE_RESET_MEMBER( wmg_state, wmg )
{
	address_space &space1 = m_maincpu->space(AS_PROGRAM);
	m_wmg_bank=0;
	m_wmg_def_bank=8;
	m_wmg_port_select=0;
	m_wmg_vram_bank=0;
	wmg_rombank_w( space1, 0, 0);
	MACHINE_RESET_CALL_MEMBER(williams_common);
	m_maincpu->reset();
}
Beispiel #19
0
ADDRESS_MAP_END


MACHINE_RESET_MEMBER(spectrum_state,ts2068)
{
	m_port_ff_data = 0;
	m_port_f4_data = 0;
	ts2068_update_memory();
	MACHINE_RESET_CALL_MEMBER(spectrum);

}
Beispiel #20
0
/* Untested - copied from quizrd22 */
MACHINE_RESET_MEMBER(cdi_state,quizrd23)
{
	MACHINE_RESET_CALL_MEMBER( cdi );

	// 0x2b1: Italian
	// 0x001: French
	// 0x188: German

	m_scc->set_quizard_mcu_value(0x188);
	m_scc->set_quizard_mcu_ack(0x59);
}
Beispiel #21
0
MACHINE_CONFIG_END



/***************************************************************************
                                Zero Point
***************************************************************************/

MACHINE_RESET_MEMBER(unico_state,zeropt)
{
	MACHINE_RESET_CALL_MEMBER(unico);
}
Beispiel #22
0
ADDRESS_MAP_END

MACHINE_RESET_MEMBER(spectrum_state,tc2048)
{
	UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();

	membank("bank1")->set_base(messram);
	membank("bank2")->set_base(messram);
	m_port_ff_data = 0;
	m_port_f4_data = -1;
	MACHINE_RESET_CALL_MEMBER(spectrum);
}
Beispiel #23
0
ADDRESS_MAP_END

MACHINE_RESET_MEMBER(spectrum_state,tc2048)
{
	UINT8 *messram = m_ram->pointer();

	membank("bank1")->set_base(messram);
	membank("bank2")->set_base(messram);
	m_port_ff_data = 0;
	m_port_f4_data = -1;
	MACHINE_RESET_CALL_MEMBER(spectrum);
}
Beispiel #24
0
INPUT_PORTS_END



/*************************************
 *
 *  Sound definitions
 *
 *************************************/

MACHINE_RESET_MEMBER(mquake_state,mquake)
{
	MACHINE_RESET_CALL_MEMBER(amiga);
}
Beispiel #25
0
ADDRESS_MAP_END


MACHINE_RESET_MEMBER(spectrum_state,ts2068)
{
	m_port_ff_data = 0;
	m_port_f4_data = 0;

	std::string region_tag;
	m_dock_crt = memregion(region_tag.assign(m_dock->tag()).append(GENERIC_ROM_REGION_TAG).c_str());
	m_dock_cart_type = m_dock_crt ? TIMEX_CART_DOCK : TIMEX_CART_NONE;

	ts2068_update_memory();
	MACHINE_RESET_CALL_MEMBER(spectrum);
}
Beispiel #26
0
void msisaac_state::machine_reset()
{
	MACHINE_RESET_CALL_MEMBER(ta7630);

	/* video */
	m_bg2_textbank = 0;
	/* sound */
	m_sound_nmi_enable = 0;
	m_pending_nmi = 0;
	m_snd_ctrl0 = 0;
	m_snd_ctrl1 = 0;

#ifdef USE_MCU
	m_mcu->set_input_line(0, CLEAR_LINE);
#else
	m_mcu_val = 0;
	m_direction = 0;
#endif
}
Beispiel #27
0
ADDRESS_MAP_END

MACHINE_RESET_MEMBER(spectrum_state,spectrum_128)
{
	UINT8 *messram = m_ram->pointer();

	memset(messram,0,128*1024);
	/* 0x0000-0x3fff always holds ROM */

	/* Bank 5 is always in 0x4000 - 0x7fff */
	membank("bank2")->set_base(messram + (5<<14));

	/* Bank 2 is always in 0x8000 - 0xbfff */
	membank("bank3")->set_base(messram + (2<<14));

	MACHINE_RESET_CALL_MEMBER(spectrum);

	/* set initial ram config */
	m_port_7ffd_data = 0;
	m_port_1ffd_data = -1;
	spectrum_128_update_memory();
}
Beispiel #28
0
MACHINE_RESET_MEMBER(megadriv_radica_state, megadriv_radica)
{
	m_bank = 0;
	MACHINE_RESET_CALL_MEMBER(megadriv);
	m_maincpu->reset();
}
Beispiel #29
0
MACHINE_RESET_MEMBER(blaster_state,blaster)
{
	MACHINE_RESET_CALL_MEMBER(williams_common);
}
Beispiel #30
0
MACHINE_RESET_MEMBER(williams_state,williams)
{
	MACHINE_RESET_CALL_MEMBER(williams_common);
}