} // Offset: 0x1410, Size: 0xF0 public override byte[] ToByteArray() { var buffer = new byte[0x1500]; base.ToByteArray().CopyTo(buffer, 0); ExheaderHash.CopyTo(buffer, 0x160); BitConverter.GetBytes(AdditionalHeaderSize).CopyTo(buffer, 0x180); BitConverter.GetBytes(SectorZeroOffset).CopyTo(buffer, 0x184); BitConverter.GetBytes(PartitionFlags).CopyTo(buffer, 0x188); PartitionIdTable.CopyTo(buffer, 0x190); Reserved1.CopyTo(buffer, 0x1D0); Reserved2.CopyTo(buffer, 0x1F0); BitConverter.GetBytes(Card2SaveAddress).CopyTo(buffer, 0x200); BitConverter.GetBytes(CardInfoBitmask).CopyTo(buffer, 0x204); Reserved3.CopyTo(buffer, 0x208); BitConverter.GetBytes(TitleVersion).CopyTo(buffer, 0x310); BitConverter.GetBytes(CardRevision).CopyTo(buffer, 0x312); Reserved4.CopyTo(buffer, 0x314); CardSeedY.CopyTo(buffer, 0x1000); EncryptedCardSeed.CopyTo(buffer, 0x1010); CardSeedAESMAC.CopyTo(buffer, 0x1020); CardSeedNonce.CopyTo(buffer, 0x1030); Reserved5.CopyTo(buffer, 0x103C); FirstNcchHeader.CopyTo(buffer, 0x1100); CardDeviceReserved1.CopyTo(buffer, 0x1200); TitleKey.CopyTo(buffer, 0x1400); CardDeviceReserved2.CopyTo(buffer, 0x1410); return(buffer); }
public override void Log(TextWriter writer) { base.Log(writer); writer.Write($"Reserved1({Reserved1.ToHex()}) "); writer.Write($"RfpIv({RfpIv.ToHex()}) "); writer.Write($"Reserved2({Reserved2.ToHex()}) "); writer.Write($"OmmIv({OmmIv.ToHex()})"); }
public override void Log(TextWriter writer) { base.Log(writer); writer.Write($" Connections 01-03({BmcConnections01_03}) Connections 04-06({BmcConnections04_06}) Connections 07-09({BmcConnections07_09}) Connections 10-12({BmcConnections10_12})"); writer.Write($" DSP Chan used 01-02({BmcDspChans01_02}) DSP Chan used 03-04({BmcDspChans03_04}) DSP Chan used 05-06({BmcDspChans05_06}) DSP Chan used 07-08({BmcDspChans07_08})"); writer.Write($" Lost Connections({LostConnections})"); if (!Reserved1.Span.IsEmpty()) { writer.Write($" Reserved1({Reserved1.ToHex()})"); } writer.Write($" MAC Reset({MacReset}) Reject Dummy({RejectDummy}) Ho Timer > 150ms({HoTimer})"); if (!Reserved2.Span.IsEmpty()) { writer.Write($" Reserved2({Reserved2.ToHex()})"); } writer.Write($" Bad Frames({BadFrames}) Good Frames({GoodFrames})"); }
public override void Log(TextWriter writer) { base.Log(writer); writer.Write($"Reserved1({Reserved1:x4}) "); writer.WriteLine(); writer.WriteLine($"\tvif({Vif}ms) vad({Vad}) numCodecs({NumCodecs})"); foreach (var codec in Codecs) { writer.WriteLine($"\t{codec.Name} rate({codec.Rate}000/s) pt({codec.Pt})"); } writer.Write($"\tReserved2({Reserved2.ToHex()}) "); writer.Write($"MCEI({MCEI}) "); writer.Write($"Reserved3({Reserved3:x2}) "); writer.Write($"PPN({PPN:x4}) "); writer.Write($"Reserved4({Reserved4.ToHex()}) "); writer.Write($"Local({LocalPort1}/{LocalPort2}) "); writer.Write($"Reserved5({Reserved5.ToHex()}) "); writer.Write($"Rx({RxIpAddress}:{RxPort1}/{RxPort2}) "); writer.Write($"Tx({TxIpAddress}:{TxPort1}/{TxPort2}) "); }