System firmware installer (#791)
* firmware installer * Add directory installation option and fix 9.x support for directory * Fix missing system font error while installing for the first time * Address code style comments * Create and use InvalidFirmwarePackageException * Fix LDj3SNuD's comments * addressed alex's comments * add label to status bar to show current firmware version Co-authored-by: Thog <thog@protonmail.com>
This commit is contained in:
parent
1661ce99ca
commit
e485ee049d
8 changed files with 936 additions and 27 deletions
41
Ryujinx.HLE/FileSystem/Content/SystemVersion.cs
Normal file
41
Ryujinx.HLE/FileSystem/Content/SystemVersion.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace Ryujinx.HLE.FileSystem.Content
|
||||
{
|
||||
public class SystemVersion
|
||||
{
|
||||
public byte Major { get; }
|
||||
public byte Minor { get; }
|
||||
public byte Micro { get; }
|
||||
public byte RevisionMajor { get; }
|
||||
public byte RevisionMinor { get; }
|
||||
public string PlatformString { get; }
|
||||
public string Hex { get; }
|
||||
public string VersionString { get; }
|
||||
public string VersionTitle { get; }
|
||||
|
||||
public SystemVersion(Stream systemVersionFile)
|
||||
{
|
||||
using (BinaryReader reader = new BinaryReader(systemVersionFile))
|
||||
{
|
||||
Major = reader.ReadByte();
|
||||
Minor = reader.ReadByte();
|
||||
Micro = reader.ReadByte();
|
||||
|
||||
reader.ReadByte(); // Padding
|
||||
|
||||
RevisionMajor = reader.ReadByte();
|
||||
RevisionMinor = reader.ReadByte();
|
||||
|
||||
reader.ReadBytes(2); // Padding
|
||||
|
||||
PlatformString = Encoding.ASCII.GetString(reader.ReadBytes(0x20)).TrimEnd('\0');
|
||||
Hex = Encoding.ASCII.GetString(reader.ReadBytes(0x40)).TrimEnd('\0');
|
||||
VersionString = Encoding.ASCII.GetString(reader.ReadBytes(0x18)).TrimEnd('\0');
|
||||
VersionTitle = Encoding.ASCII.GetString(reader.ReadBytes(0x80)).TrimEnd('\0');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue