12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Utilities;
- namespace DiskAccessLibrary
- {
- public class RAMDisk : Disk
- {
- public const int BytesPerRAMDiskSector = 512;
- private byte[] m_diskBytes;
-
-
-
-
- public RAMDisk(int size)
- {
- m_diskBytes = new byte[size];
- }
- public override byte[] ReadSectors(long sectorIndex, int sectorCount)
- {
- return ByteReader.ReadBytes(m_diskBytes, (int)sectorIndex * BytesPerRAMDiskSector, sectorCount * BytesPerRAMDiskSector);
- }
- public override void WriteSectors(long sectorIndex, byte[] data)
- {
- ByteWriter.WriteBytes(m_diskBytes, (int)sectorIndex * BytesPerRAMDiskSector, data);
- }
- public override int BytesPerSector
- {
- get
- {
- return BytesPerRAMDiskSector;
- }
- }
- public override long Size
- {
- get
- {
- return m_diskBytes.Length;
- }
- }
- }
- }
|