/* Driver initialization */ DRIVER_INIT_MEMBER(radio86_state,radio86) { /* set initialy ROM to be visible on first bank */ uint8_t *RAM = m_region_maincpu->base(); memset(RAM,0x0000,0x1000); // make frist page empty by default m_bank1->configure_entries(1, 2, RAM, 0x0000); m_bank1->configure_entries(0, 2, RAM, 0xf800); radio86_init_keyboard(); }
/* Driver initialization */ DRIVER_INIT_MEMBER(radio86_state,radio86) { /* set initialy ROM to be visible on first bank */ UINT8 *RAM = memregion("maincpu")->base(); memset(RAM,0x0000,0x1000); // make frist page empty by default membank("bank1")->configure_entries(1, 2, RAM, 0x0000); membank("bank1")->configure_entries(0, 2, RAM, 0xf800); radio86_init_keyboard(machine()); }
MACHINE_RESET_MEMBER(orion_state,orion128) { m_orion128_video_page = 0; m_orion128_video_mode = 0; m_orion128_memory_page = -1; m_bank1->set_base(m_region_maincpu->base() + 0xf800); m_bank2->set_base(m_ram->pointer() + 0xf000); m_orion128_video_width = SCREEN_WIDTH_384; orion_set_video_mode(384); radio86_init_keyboard(); }
MACHINE_RESET_MEMBER(orion_state,orionz80) { address_space &space = m_maincpu->space(AS_PROGRAM); space.unmap_write(0x0000, 0x3fff); space.install_write_bank(0x4000, 0xefff, "bank2"); space.install_write_bank(0xf000, 0xf3ff, "bank3"); space.install_write_handler(0xf400, 0xf4ff, write8_delegate(FUNC(orion_state::orion128_system_w),this)); space.install_write_handler(0xf500, 0xf5ff, write8_delegate(FUNC(orion_state::orion128_romdisk_w),this)); space.install_write_handler(0xf700, 0xf7ff, write8_delegate(FUNC(orion_state::orionz80_floppy_rtc_w),this)); space.install_read_handler(0xf400, 0xf4ff, read8_delegate(FUNC(orion_state::orion128_system_r),this)); space.install_read_handler(0xf500, 0xf5ff, read8_delegate(FUNC(orion_state::orion128_romdisk_r),this)); space.install_read_handler(0xf700, 0xf7ff, read8_delegate(FUNC(orion_state::orionz80_floppy_rtc_r),this)); space.install_write_handler(0xf800, 0xf8ff, write8_delegate(FUNC(orion_state::orion128_video_mode_w),this)); space.install_write_handler(0xf900, 0xf9ff, write8_delegate(FUNC(orion_state::orionz80_memory_page_w),this)); space.install_write_handler(0xfa00, 0xfaff, write8_delegate(FUNC(orion_state::orion128_video_page_w),this)); space.install_write_handler(0xfb00, 0xfbff, write8_delegate(FUNC(orion_state::orionz80_dispatcher_w),this)); space.unmap_write(0xfc00, 0xfeff); space.install_write_handler(0xff00, 0xffff, write8_delegate(FUNC(orion_state::orionz80_sound_w),this)); m_bank1->set_base(m_region_maincpu->base() + 0xf800); m_bank2->set_base(m_ram->pointer() + 0x4000); m_bank3->set_base(m_ram->pointer() + 0xf000); m_bank5->set_base(m_region_maincpu->base() + 0xf800); m_orion128_video_page = 0; m_orion128_video_mode = 0; m_orionz80_memory_page = 0; m_orionz80_dispatcher = 0; m_speaker_data = 0; m_orion128_video_width = SCREEN_WIDTH_384; orion_set_video_mode(384); radio86_init_keyboard(); }
MACHINE_RESET_MEMBER(orion_state,orionpro) { radio86_init_keyboard(); m_orion128_video_page = 0; m_orion128_video_mode = 0; m_orionpro_ram0_segment = 0; m_orionpro_ram1_segment = 0; m_orionpro_ram2_segment = 0; m_orionpro_page = 0; m_orionpro_128_page = 0; m_orionpro_rom2_segment = 0; m_orionpro_dispatcher = 0x50; orionpro_bank_switch(); m_speaker_data = 0; m_orion128_video_width = SCREEN_WIDTH_384; orion_set_video_mode(384); m_video_mode_mask = 31; m_orionpro_pseudo_color = 0; }