示例#1
0
        public void InitialDisplay()
        {
            hexBoxSectorView.BackColor            = hexBoxDiskData.BackColor = Configuration.Persistent.PageBackground;
            hexBoxSectorView.InfoForeColor        = hexBoxDiskData.InfoForeColor = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpHeadersStyle].ForeBrush).Color;
            hexBoxSectorView.ForeColor            = hexBoxDiskData.ForeColor = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpHexStyle].ForeBrush).Color;
            hexBoxSectorView.StringViewColour     = hexBoxDiskData.StringViewColour = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpAsciiStyle].ForeBrush).Color;
            hexBoxSectorView.SelectionBackColor   = hexBoxDiskData.SelectionBackColor = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpMainSelectionBackStyle].ForeBrush).Color;
            hexBoxSectorView.SelectionForeColor   = hexBoxDiskData.SelectionForeColor = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpMainSelectionFrontStyle].ForeBrush).Color;
            hexBoxDiskData.ShadowSelectionColor   = ((SolidBrush)Configuration.Persistent.SyntaxHighlightingStyles[ConstantsAndEnums.SyntaxHighlightingItems.DumpSecondarySelectionBackStyle].ForeBrush).Color;
            hexBoxSectorView.ShadowSelectionColor = hexBoxDiskData.ShadowSelectionColor = Color.FromArgb(100, hexBoxDiskData.ShadowSelectionColor.R, hexBoxDiskData.ShadowSelectionColor.G, hexBoxDiskData.ShadowSelectionColor.B);

            FileStream fs = new FileStream(diskInfo.FullName, FileMode.Open, FileAccess.Read);

            BinaryReader br = new BinaryReader(fs);

            long numBytes = new FileInfo(diskInfo.FullName).Length;

            byte[] diskData = br.ReadBytes((int)numBytes);

            byte[] signature = new byte[8];
            Array.Copy(diskData, 0, signature, 0, 8);
            infoBoxSignature.Text = Encoding.UTF8.GetString(signature);

            byte[] diskFormat = new byte[4];
            Array.Copy(diskData, 8, diskFormat, 0, 4);
            uint noOfSides = BitConverter.ToUInt32(diskFormat, 0);

            Array.Copy(diskData, 12, diskFormat, 0, 4);
            uint noOfTracks = BitConverter.ToUInt32(diskFormat, 0);

            Array.Copy(diskData, 16, diskFormat, 0, 4);
            uint geometryType = BitConverter.ToUInt32(diskFormat, 0);

            infoBoxNoOfSides.Text  = string.Format("{0}", noOfSides);
            infoBoxNoOfTracks.Text = string.Format("{0}", noOfTracks);

            byte[] binaryData = File.ReadAllBytes(diskInfo.FullName);
            DynamicByteProvider dynamicByteProvider;

            dynamicByteProvider = new DynamicByteProvider(binaryData);

            hexBoxDiskData.ByteProvider   = dynamicByteProvider;
            hexBoxDiskData.LineInfoOffset = 0x0000;
            hexBoxDiskData.ReadOnly       = true;

            OricDisk oricDisk = new OricDisk();

            oricDisk.LoadDisk(diskInfo.FullName);
            noOfSectors = oricDisk.CalculateNoOfSectors();

            infoBoxSectorsPerTrack.Text = noOfSectors.ToString();

            trackBarTracks.Minimum = 0;
            trackBarTracks.Maximum = (int)(noOfTracks - 1);
            trackBarTracks.Value   = 0;

            trackBarSectors.Minimum = 1;
            trackBarSectors.Maximum = noOfSectors;
            trackBarSectors.Value   = 1;

            radioButton1.Checked = true;

            if (noOfSides == 1)
            {
                radioButton1.Enabled = false;
                radioButton2.Enabled = false;
            }

            UpdateDisplay();
        }
示例#2
0
        public void InitialDisplay()
        {
            FileStream fs = new FileStream(diskInfo.FullName, FileMode.Open, FileAccess.Read);

            BinaryReader br = new BinaryReader(fs);

            long numBytes = new FileInfo(diskInfo.FullName).Length;

            Byte[] diskData = br.ReadBytes((int)numBytes);

            Byte[] signature = new Byte[8];
            Array.Copy(diskData, 0, signature, 0, 8);
            infoBoxSignature.Text = Encoding.UTF8.GetString(signature);

            Byte[] diskFormat = new Byte[4];
            Array.Copy(diskData, 8, diskFormat, 0, 4);
            UInt32 noOfSides = BitConverter.ToUInt32(diskFormat, 0);

            Array.Copy(diskData, 12, diskFormat, 0, 4);
            UInt32 noOfTracks = BitConverter.ToUInt32(diskFormat, 0);

            Array.Copy(diskData, 16, diskFormat, 0, 4);
            UInt32 geometryType = BitConverter.ToUInt32(diskFormat, 0);

            infoBoxNoOfSides.Text  = String.Format("{0}", noOfSides);
            infoBoxNoOfTracks.Text = String.Format("{0}", noOfTracks);

            Byte[] binaryData = File.ReadAllBytes(diskInfo.FullName);
            DynamicByteProvider dynamicByteProvider;

            dynamicByteProvider = new DynamicByteProvider(binaryData);

            hexBoxDiskData.ByteProvider   = dynamicByteProvider;
            hexBoxDiskData.LineInfoOffset = 0x0000;
            hexBoxDiskData.ReadOnly       = true;

            OricDisk oricDisk = new OricDisk();

            oricDisk.LoadDisk(diskInfo.FullName);
            noOfSectors = oricDisk.CalculateNoOfSectors();

            infoBoxSectorsPerTrack.Text = noOfSectors.ToString();

            trackBarTracks.Minimum = 0;
            trackBarTracks.Maximum = (int)(noOfTracks - 1);
            trackBarTracks.Value   = 0;

            trackBarSectors.Minimum = 1;
            trackBarSectors.Maximum = noOfSectors;
            trackBarSectors.Value   = 1;

            radioButton1.Checked = true;

            if (noOfSides == 1)
            {
                radioButton1.Enabled = false;
                radioButton2.Enabled = false;
            }

            UpdateDisplay();
        }