Pissing about with TZX support
This commit is contained in:
@@ -51,5 +51,65 @@ namespace Core.Io
|
||||
public int DataLength { get; set; }
|
||||
|
||||
public byte[] Data { get; set; } = Array.Empty<byte>();
|
||||
// ID 0x30: Text Description
|
||||
public class TextDescriptionBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x30;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
// ID 0x20: Pause / Stop the Tape
|
||||
public class PauseBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x20;
|
||||
public ushort PauseDurationMs { get; set; } // 0 means "Stop the tape"
|
||||
}
|
||||
|
||||
// ID 0x21: Group Start (Used to group blocks in UI tape browsers)
|
||||
public class GroupStartBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x21;
|
||||
public string GroupName { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
// ID 0x22: Group End
|
||||
public class GroupEndBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x22;
|
||||
}
|
||||
|
||||
// ID 0x12: Pure Tone Block
|
||||
public class PureToneBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x12;
|
||||
public ushort PulseLength { get; set; }
|
||||
public ushort PulseCount { get; set; }
|
||||
}
|
||||
// ID 0x13: Pulse Sequence Block
|
||||
public class PulseSequenceBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x13;
|
||||
|
||||
// Number of pulses (1 to 255)
|
||||
public int PulseCount { get; set; }
|
||||
|
||||
// The exact T-State lengths of each pulse
|
||||
public ushort[] Pulses { get; set; } = Array.Empty<ushort>();
|
||||
}
|
||||
// ID 0x14: Pure Data Block
|
||||
public class PureDataBlock : TzxBlock
|
||||
{
|
||||
public override int BlockId => 0x14;
|
||||
|
||||
public ushort ZeroBitPulseLength { get; set; }
|
||||
public ushort OneBitPulseLength { get; set; }
|
||||
public byte UsedBitsInLastByte { get; set; }
|
||||
public ushort PauseAfterMs { get; set; }
|
||||
|
||||
// The return of the 24-bit integer!
|
||||
public int DataLength { get; set; }
|
||||
|
||||
public byte[] Data { get; set; } = Array.Empty<byte>();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user