//ROMを開く. public static bool LoadROM(string fullfilename, string forceversion) { //キャッシュスレッドが動いていたら止める if (AsmMapFileAsmCache != null) { AsmMapFileAsmCache.Join(); } //必ず絶対パスに直します. 相対パスがあると後で参照するときに都合が悪い. fullfilename = Path.GetFullPath(fullfilename); if (!File.Exists(fullfilename)) { return(false); } //最後に利用したファイルを記録する機能を初期化. 何度もリテイクするだろうからしやすいようにする. LastSelectedFilename = new LastSelectedFilename(fullfilename); try { bool r = LoadROMLow(fullfilename, forceversion); if (!r) { return(false); } } catch (Exception e) { R.ShowStopError(R.ExceptionToString(e)); return(false); } InitSystem(fullfilename); return(true); }
public static string OpenROMDialog() { string title = R._("編集するROMを選択してください"); string filter = R._("ROMs|*.gba;*.ups|GBA ROMs|*.gba|UPS files|*.ups|GBA.7Z|*.gba.7z|ROMRebuild|*.rebuild|Binary files|*.bin|All files|*"); OpenFileDialog open = new OpenFileDialog(); open.Title = title; open.Filter = filter; if (LastSelectedFilename != null) { LastSelectedFilename.Load(null, "rom", open); } DialogResult dr = open.ShowDialog(); if (dr != DialogResult.OK) { return(""); } if (!U.CanReadFileRetry(open)) { return(""); } return(open.FileNames[0]); }
//仮想ROMを開く. public static bool LoadVirtualROM(ROM rom, string srcfilename) { //キャッシュスレッドが動いていたら止める if (AsmMapFileAsmCache != null) { AsmMapFileAsmCache.Join(); } //最後に利用したファイルを記録する機能を初期化. 何度もリテイクするだろうからしやすいようにする. LastSelectedFilename = new LastSelectedFilename(srcfilename); ROM = rom; rom.SetVirtualROMFlag(srcfilename); InitSystem(""); return(true); }