static void state_incompatible_warn (void) { static int warned; int dowarn = 0; int i; #ifdef BSDSOCKET if (currprefs.socket_emu) dowarn = 1; #endif #ifdef UAESERIAL if (currprefs.uaeserial) dowarn = 1; #endif #ifdef SCSIEMU if (currprefs.scsi) dowarn = 1; #endif #ifdef CATWEASEL if (currprefs.catweasel) dowarn = 1; #endif #ifdef FILESYS for(i = 0; i < currprefs.mountitems; i++) { struct mountedinfo mi; int type = get_filesys_unitconfig (&currprefs, i, &mi); if (mi.ismounted && type != FILESYS_VIRTUAL && type != FILESYS_HARDFILE && type != FILESYS_HARDFILE_RDB) dowarn = 1; } #endif if (!warned && dowarn) { warned = 1; notify_user (NUMSG_STATEHD); } }
bool EditFilesysVirtual(int unit_no) { struct mountedinfo mi; struct uaedev_config_info *uci; std::string strdevname, strvolname, strroot; char tmp[32]; dialogResult = false; dialogFinished = false; InitEditFilesysVirtual(); if(unit_no >= 0) { uci = &changed_prefs.mountconfig[unit_no]; get_filesys_unitconfig(&changed_prefs, unit_no, &mi); strdevname.assign(uci->devname); txtDevice->setText(strdevname); strvolname.assign(uci->volname); txtVolume->setText(strvolname); strroot.assign(uci->rootdir); txtPath->setText(strroot); chkReadWrite->setSelected(!uci->readonly); chkAutoboot->setSelected(uci->bootpri != -128); snprintf(tmp, 32, "%d", uci->bootpri >= -127 ? uci->bootpri : -127); txtBootPri->setText(tmp); } else { CreateDefaultDevicename(tmp); txtDevice->setText(tmp); txtVolume->setText(tmp); strroot.assign(currentDir); txtPath->setText(strroot); chkReadWrite->setSelected(true); txtBootPri->setText("0"); } EditFilesysVirtualLoop(); ExitEditFilesysVirtual(); if(dialogResult) { int bp = tweakbootpri(atoi(txtBootPri->getText().c_str()), chkAutoboot->isSelected() ? 1 : 0, 0); extractPath((char *) txtPath->getText().c_str(), currentDir); uci = add_filesys_config(&changed_prefs, unit_no, (char *) txtDevice->getText().c_str(), (char *) txtVolume->getText().c_str(), (char *) txtPath->getText().c_str(), !chkReadWrite->isSelected(), 0, 0, 0, 0, bp, 0, 0, 0); if (uci) filesys_media_change (uci->rootdir, 1, uci); } return dialogResult; }