Class MemoryBlock
MemoryBlock class. Used to read and write to memory blocks.
Inheritance
Inherited Members
Namespace: Cosmos.Core
Assembly: Cosmos.Core.dll
Syntax
public class MemoryBlock
Constructors
| Improve this Doc View SourceMemoryBlock(UInt32, UInt32)
Create new instance of the MemoryBlock class.
Declaration
public MemoryBlock(uint aBase, uint aByteSize)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aBase | A base. |
System.UInt32 | aByteSize | A size. |
Fields
| Improve this Doc View SourceBase
Memory block base address.
Declaration
public readonly uint Base
Field Value
Type | Description |
---|---|
System.UInt32 |
Bytes
Bytes memory block.
Declaration
public readonly MemoryBlock08 Bytes
Field Value
Type | Description |
---|---|
MemoryBlock08 |
DWords
DWords memory block.
Declaration
public readonly MemoryBlock32 DWords
Field Value
Type | Description |
---|---|
MemoryBlock32 |
Size
Memory block size.
Declaration
public readonly uint Size
Field Value
Type | Description |
---|---|
System.UInt32 |
Words
Words memory block.
Declaration
public readonly MemoryBlock16 Words
Field Value
Type | Description |
---|---|
MemoryBlock16 |
Properties
| Improve this Doc View SourceItem[UInt32]
Get and set memory block.
Declaration
public uint this[uint aByteOffset] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aByteOffset | A byte offset. |
Property Value
Type | Description |
---|---|
System.UInt32 | uint value. |
Exceptions
Type | Condition |
---|---|
System.Exception | Thrown on memory access violation. |
Methods
| Improve this Doc View SourceCopy(ManagedMemoryBlock)
Copy ManagedMemoryBlock into MemoryBlock
Declaration
public void Copy(ManagedMemoryBlock block)
Parameters
Type | Name | Description |
---|---|---|
ManagedMemoryBlock | block | ManagedMemoryBlock to copy. |
Copy(Byte[])
Copy data from the buffer to the start of the memory block.
Declaration
public void Copy(byte[] aData)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | aData | A data buffer array. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aData length in greater then Int32.MaxValue. |
Copy(Int32, Byte[], Int32, Int32)
Copy data from the buffer array to the memory block.
Declaration
public void Copy(int aByteOffset, byte[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aByteOffset | Starting point offset in bytes |
System.Byte[] | aData | A data buffer array. |
System.Int32 | aIndex | A staring index in the source data buffer array. |
System.Int32 | aCount | Number of bytes to copy. |
Copy(Int32, Int32[], Int32, Int32)
Copy data from the buffer array to the memory block.
Declaration
public void Copy(int aByteOffset, int[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aByteOffset | Starting point offset in bytes |
System.Int32[] | aData | A data buffer array. |
System.Int32 | aIndex | A staring index in the source data buffer array. |
System.Int32 | aCount | Number of integers to copy. |
Copy(Int32[])
Copy data from the buffer to the start of the memory block.
Declaration
public void Copy(int[] aData)
Parameters
Type | Name | Description |
---|---|---|
System.Int32[] | aData | A data buffer array. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aData length in greater then Int32.MaxValue. |
Copy(Int32[], Int32, Int32)
Copy data from the buffer array to the start of the memory block.
Declaration
public void Copy(int[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32[] | aData | A data buffer array. |
System.Int32 | aIndex | A staring index in the source data buffer array. |
System.Int32 | aCount | Number of integers to copy. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aData length in greater then Int32.MaxValue. |
Copy(UInt32, UInt32[], Int32, Int32)
Copy data from the buffer array to the memory block.
Declaration
public void Copy(uint aByteOffset, uint[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aByteOffset | Starting point offset in bytes |
System.UInt32[] | aData | A data buffer array. |
System.Int32 | aIndex | A staring index in the source data buffer array. |
System.Int32 | aCount | Number of bytes to copy. |
Copy(UInt32[])
Copy data from the buffer to the start of the memory block.
Declaration
public void Copy(uint[] aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32[] | aData | A data buffer array. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aData length in greater then Int32.MaxValue. |
Fill(Byte)
Fill data to memory block.
Declaration
public void Fill(byte aData)
Parameters
Type | Name | Description |
---|---|---|
System.Byte | aData | Data to fill the memory block with. |
Fill(Int32, Int32, Int32)
Fill memory block with a value. The filling is integer aligned
Declaration
public void Fill(int aByteOffset, int aCount, int aData)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aByteOffset | Byte offset from Base |
System.Int32 | aCount | Number of integers to fill |
System.Int32 | aData | Value to fill memory block with |
Fill(UInt16)
Fill data to memory block.
Declaration
public void Fill(ushort aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt16 | aData | Data to fill the memory block with. |
Fill(UInt32)
Fill memory block.
Declaration
public void Fill(uint aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aData | A data to fill. |
Fill(UInt32, UInt32, Byte)
Fill data to memory block.
Declaration
public void Fill(uint aByteOffset, uint aCount, byte aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aByteOffset | Starting point offset in bytes |
System.UInt32 | aCount | Data size. |
System.Byte | aData | A data to fill memory block with. |
Fill(UInt32, UInt32, UInt16)
Fill data to memory block.
Declaration
public void Fill(uint aByteOffset, uint aCount, ushort aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aByteOffset | Starting point offset in bytes |
System.UInt32 | aCount | Data size. |
System.UInt16 | aData | A data to fill memory block with. |
Fill(UInt32, UInt32, UInt32)
Fill memory block.
Declaration
public void Fill(uint aByteOffset, uint aCount, uint aData)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aByteOffset | A start. |
System.UInt32 | aCount | A count. |
System.UInt32 | aData | A data. |
Get(Int32, Byte[], Int32, Int32)
Copies a specified number of bytes from the memory block into an array.
Declaration
public void Get(int aByteOffset, byte[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aByteOffset | The byte offset in the memory block from where the copy starts. |
System.Byte[] | aData | The array where the data will be copied to. |
System.Int32 | aIndex | The starting index in the destination array. |
System.Int32 | aCount | The number of bytes to copy. |
Get(Int32, Int32[], Int32, Int32)
Copies data from the memory block to the specified array.
Declaration
public void Get(int aByteOffset, int[] aData, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aByteOffset | The byte offset in the memory block from which to start copying. |
System.Int32[] | aData | The array into which data will be copied. |
System.Int32 | aIndex | The starting index in the array where data will be copied. |
System.Int32 | aCount | The number of elements to copy. |
MoveDown(UInt32, UInt32, UInt32)
Move bytes array down the memory block.
Declaration
public void MoveDown(uint aDest, uint aSrc, uint aCount)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aDest | Destination location. |
System.UInt32 | aSrc | Sourcs location. |
System.UInt32 | aCount | Number of bytes to move. |
MoveUp(UInt32, UInt32, UInt32)
Move data inside the block. Undone.
Declaration
public void MoveUp(uint aDest, uint aSrc, uint aCount)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32 | aDest | A destination address. |
System.UInt32 | aSrc | A source address. |
System.UInt32 | aCount | Number of bytes to move. |
Remarks
Always throw. Yet to be done.
Exceptions
Type | Condition |
---|---|
System.Exception | Thrown always. |
Read16(UInt16[])
Read 16-bit from the memory block.
Declaration
public void Read16(ushort[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.UInt16[] | aBuffer | A buffer to write the data to. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |
Read32(UInt32[])
Read 32-bit from the memory block.
Declaration
public void Read32(uint[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32[] | aBuffer | A buffer to write the data to. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |
Read8(Byte[])
Read 8-bit from the memory block.
Declaration
public void Read8(byte[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | aBuffer | A buffer to write the data to. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |
ToArray()
Convert the memory block to array.
Declaration
public uint[] ToArray()
Returns
Type | Description |
---|---|
System.UInt32[] | uint array. |
ToArray(Int32, Int32, Int32)
Convert part for the memory block to array.
Declaration
public uint[] ToArray(int aStart, int aIndex, int aCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | aStart | A starting position of the data at the source memory block. |
System.Int32 | aIndex | A index to be the staring index at the destination array. |
System.Int32 | aCount | Number of bytes to get. |
Returns
Type | Description |
---|---|
System.UInt32[] | uint array. |
Write16(UInt16[])
Write 16-bit to the memory block.
Declaration
public void Write16(ushort[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.UInt16[] | aBuffer | A buffer to be written to the memory block. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |
Write32(UInt32[])
Write 32-bit to the memory block.
Declaration
public void Write32(uint[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.UInt32[] | aBuffer | A buffer to be written to the memory block. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |
Write8(Byte[])
Write 8-bit to the memory block.
Declaration
public void Write8(byte[] aBuffer)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | aBuffer | A buffer to be written to the memory block. |
Exceptions
Type | Condition |
---|---|
System.OverflowException | Thrown if aBuffer length in greater then Int32.MaxValue. |
System.Exception | Thrown on memory access violation. |