}                                                         // 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()})");
 }
Beispiel #3
0
 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})");
 }
Beispiel #4
0
 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}) ");
 }