Beispiel #1
0
        //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);
        }
Beispiel #2
0
        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]);
        }
Beispiel #3
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);
        }