예제 #1
0
        public OricProgram LoadFile()
        {
            OricProgram oricProgram = new OricProgram();

            oricProgram.New();

            if (MediaType == ConstantsAndEnums.MediaType.TapeFile)
            {
                OricTape oricTape = new OricTape();
                oricProgram = oricTape.Load(Path.Combine(Folder, ParentName), ProgramName, ProgramIndex);
            }
            else
            {
                OricDisk oricDisk = new OricDisk();
                oricDisk.LoadDisk(ParentName);

                switch (oricDisk.DOSFormat())
                {
                case OricDisk.DOSFormats.OricDOS:
                {
                    OricDos oricDisc = new OricDos();
                    oricProgram = oricDisc.LoadFile(ParentName, this);
                }
                break;

                case OricDisk.DOSFormats.SedOric:
                {
                    SedOric oricDisc = new SedOric();
                    oricProgram = oricDisc.LoadFile(ParentName, this);
                }
                break;

                case OricDisk.DOSFormats.StratSed:
                {
                    StratSed oricDisc = new StratSed();
                    oricProgram = oricDisc.LoadFile(ParentName, this);
                }
                break;

                case OricDisk.DOSFormats.TDOS:
                {
                    FTDos oricDisc = new FTDos();
                    oricProgram = oricDisc.LoadFile(ParentName, this);
                }
                break;

                default:
                    break;
                }
            }

            return(oricProgram);
        }
예제 #2
0
        public void BuildSectorMap()
        {
            switch (dosFormat)
            {
            case OricDisk.DOSFormats.OricDOS:
            {
                OricDos oricDisc = new OricDos();
                oricDisc.GetDiskInfo(fullName);

                diskSectorMap = oricDisc.BuildSectorMap(fullName);
            }
            break;

            case OricDisk.DOSFormats.SedOric:
            {
                SedOric oricDisc = new SedOric();
                oricDisc.GetDiskInfo(fullName);

                diskSectorMap = oricDisc.BuildSectorMap(fullName);
            }
            break;

            case OricDisk.DOSFormats.StratSed:
            {
                StratSed oricDisc = new StratSed();
                oricDisc.GetDiskInfo(fullName);

                diskSectorMap = oricDisc.BuildSectorMap(fullName);
            }
            break;

            case OricDisk.DOSFormats.TDOS:
            {
                FTDos oricDisc = new FTDos();
                oricDisc.GetDiskInfo(fullName);

                diskSectorMap = oricDisc.BuildSectorMap(fullName);
            }
            break;

            default:
                break;
            }
        }
예제 #3
0
        public OricFileInfo[] GetFiles()
        {
            OricFileInfo[] files = null;

            switch (dosFormat)
            {
            case OricDisk.DOSFormats.OricDOS:
            {
                OricDos oricDisc = new OricDos();
                files = oricDisc.ReadDirectory(fullName);
            }
            break;

            case OricDisk.DOSFormats.SedOric:
            {
                SedOric oricDisc = new SedOric();
                files = oricDisc.ReadDirectory(fullName);
            }
            break;

            case OricDisk.DOSFormats.StratSed:
            {
                StratSed oricDisc = new StratSed();
                files = oricDisc.ReadDirectory(fullName);
            }
            break;

            case OricDisk.DOSFormats.TDOS:
            {
                FTDos oricDisc = new FTDos();
                files = oricDisc.ReadDirectory(fullName);
            }
            break;

            default:
                files = new OricFileInfo[0];
                break;
            }

            return(files);
        }