/* 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); }
MACHINE_RESET_MEMBER(twincobr_state,wardner) { MACHINE_RESET_CALL_MEMBER(twincobr); m_toaplan_main_cpu = 1; /* Z80 */ twincobr_display(1); }
/* 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); }
/* 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); }
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); }
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); }
MACHINE_RESET_MEMBER(cdtv_state,cdtv) { MACHINE_RESET_CALL_MEMBER( amiga ); /* initialize the cdrom controller */ MACHINE_RESET_CALL_LEGACY( amigacd ); }
INPUT_PORTS_END MACHINE_RESET_MEMBER( s11a_state, s11a ) { MACHINE_RESET_CALL_MEMBER(s11); membank("bgbank")->set_entry(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); }
MACHINE_RESET_MEMBER(freekick_state,oigas) { MACHINE_RESET_CALL_MEMBER(freekick); m_inval = 0; m_outval = 0; m_cnt = 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); }
MACHINE_CONFIG_END MACHINE_RESET_MEMBER(pushman_state,bballs) { MACHINE_RESET_CALL_MEMBER(pushman); m_latch = 0x400; }
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(); }
void wardner_state::machine_reset() { MACHINE_RESET_CALL_MEMBER(twincobr); m_toaplan_main_cpu = 1; /* Z80 */ twincobr_display(1); m_membank->set_bank(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); }
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); }
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(); }
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); }
/* 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); }
MACHINE_CONFIG_END /*************************************************************************** Zero Point ***************************************************************************/ MACHINE_RESET_MEMBER(unico_state,zeropt) { MACHINE_RESET_CALL_MEMBER(unico); }
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); }
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); }
INPUT_PORTS_END /************************************* * * Sound definitions * *************************************/ MACHINE_RESET_MEMBER(mquake_state,mquake) { MACHINE_RESET_CALL_MEMBER(amiga); }
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); }
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 }
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(); }
MACHINE_RESET_MEMBER(megadriv_radica_state, megadriv_radica) { m_bank = 0; MACHINE_RESET_CALL_MEMBER(megadriv); m_maincpu->reset(); }
MACHINE_RESET_MEMBER(blaster_state,blaster) { MACHINE_RESET_CALL_MEMBER(williams_common); }
MACHINE_RESET_MEMBER(williams_state,williams) { MACHINE_RESET_CALL_MEMBER(williams_common); }