void device_rom_interface::interface_pre_start() { m_rom_direct = &space().direct(); m_bank = nullptr; m_cur_bank = -1; device().save_item(NAME(m_cur_bank)); device().save_item(NAME(m_bank_count)); device().machine().save().register_postload(save_prepost_delegate(FUNC(device_rom_interface::reset_bank), this)); if(!has_configured_map(0)) { memory_region *reg = device().memregion(DEVICE_SELF); if(reg) set_rom(reg->base(), reg->bytes()); else { UINT32 end = m_rom_config.addr_width() == 32 ? 0xffffffff : (1 << m_rom_config.addr_width()) - 1; space().unmap_read(0, end); } } }
void menu_process(void) { int k; // Z80-Bus request // MZ_Brequest(); do { k=menu(0,0,0); // Root menu switch(k){ case 0: if(view_inventory()==999) continue; break; case 3: direct_load(); break; case 7: sd_mount(); tname[0]='\0'; dname[0][0]='\0'; dname[1][0]='\0'; break; case 10: if(tname[0]!='\0'){ // if tape file is not empty tape_unmount(); } tape_mount(); break; case 11: case 12: fd_mount(k); break; case 20: tape_unmount(); break; case 21: case 22: fd_unmount(k); break; case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: set_rom(k); if(view_inventory()==999) continue; fname[0]='\0'; break; case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: clear_rom(k); if(view_inventory()==999) continue; break; case 60: case 61: default: break; } break; }while(1); keybuf_clear(); // Z80-Bus release // MZ_Brelease(); }