mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-28 21:55:30 +03:00
Convert all make all hex uppercase according to codestyle
This commit is contained in:
parent
e5264f7762
commit
817d37600e
@ -11,7 +11,7 @@ namespace skyline::audio {
|
|||||||
|
|
||||||
std::vector<i16> AdpcmDecoder::Decode(const std::vector<u8> &adpcmData) {
|
std::vector<i16> AdpcmDecoder::Decode(const std::vector<u8> &adpcmData) {
|
||||||
constexpr size_t BytesPerFrame = 0x8; //!< The number of bytes in a single frame
|
constexpr size_t BytesPerFrame = 0x8; //!< The number of bytes in a single frame
|
||||||
constexpr size_t SamplesPerFrame = 0xe; //!< The number of samples in a single frame
|
constexpr size_t SamplesPerFrame = 0xE; //!< The number of samples in a single frame
|
||||||
|
|
||||||
size_t remainingSamples = (adpcmData.size() / BytesPerFrame) * SamplesPerFrame;
|
size_t remainingSamples = (adpcmData.size() / BytesPerFrame) * SamplesPerFrame;
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ namespace skyline::audio {
|
|||||||
std::vector<i16> outputBuffer(outputSize);
|
std::vector<i16> outputBuffer(outputSize);
|
||||||
|
|
||||||
const std::array<skyline::audio::LutEntry, 128> &lut = [step] {
|
const std::array<skyline::audio::LutEntry, 128> &lut = [step] {
|
||||||
if (step > 0xaaaa)
|
if (step > 0xAAAA)
|
||||||
return CurveLut0;
|
return CurveLut0;
|
||||||
else if (step <= 0x8000)
|
else if (step <= 0x8000)
|
||||||
return CurveLut1;
|
return CurveLut1;
|
||||||
@ -148,7 +148,7 @@ namespace skyline::audio {
|
|||||||
|
|
||||||
auto newOffset = fraction + step;
|
auto newOffset = fraction + step;
|
||||||
inIndex += newOffset >> 15;
|
inIndex += newOffset >> 15;
|
||||||
fraction = newOffset & 0x7fff;
|
fraction = newOffset & 0x7FFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
return outputBuffer;
|
return outputBuffer;
|
||||||
|
@ -134,7 +134,7 @@ namespace skyline::gpu::engine {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MAXWELL3D_OFFSET(firmwareCall[4]):
|
case MAXWELL3D_OFFSET(firmwareCall[4]):
|
||||||
registers.raw[0xd00] = 1;
|
registers.raw[0xD00] = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
namespace skyline {
|
namespace skyline {
|
||||||
namespace constant {
|
namespace constant {
|
||||||
constexpr u32 Maxwell3DRegisterCounter = 0xe00; //!< The number of Maxwell 3D registers
|
constexpr u32 Maxwell3DRegisterCounter = 0xE00; //!< The number of Maxwell 3D registers
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace gpu::engine {
|
namespace gpu::engine {
|
||||||
@ -117,9 +117,9 @@ namespace skyline {
|
|||||||
static_assert(sizeof(Viewport) == (0x4 * sizeof(u32)));
|
static_assert(sizeof(Viewport) == (0x4 * sizeof(u32)));
|
||||||
|
|
||||||
enum class PolygonMode : u32 {
|
enum class PolygonMode : u32 {
|
||||||
Point = 0x1b00,
|
Point = 0x1B00,
|
||||||
Line = 0x1b01,
|
Line = 0x1B01,
|
||||||
Fill = 0x1b02,
|
Fill = 0x1B02,
|
||||||
};
|
};
|
||||||
|
|
||||||
union VertexAttribute {
|
union VertexAttribute {
|
||||||
@ -130,14 +130,14 @@ namespace skyline {
|
|||||||
Size_2x32 = 0x04,
|
Size_2x32 = 0x04,
|
||||||
Size_3x32 = 0x02,
|
Size_3x32 = 0x02,
|
||||||
Size_4x32 = 0x01,
|
Size_4x32 = 0x01,
|
||||||
Size_1x16 = 0x1b,
|
Size_1x16 = 0x1B,
|
||||||
Size_2x16 = 0x0f,
|
Size_2x16 = 0x0F,
|
||||||
Size_3x16 = 0x05,
|
Size_3x16 = 0x05,
|
||||||
Size_4x16 = 0x03,
|
Size_4x16 = 0x03,
|
||||||
Size_1x8 = 0x1d,
|
Size_1x8 = 0x1D,
|
||||||
Size_2x8 = 0x18,
|
Size_2x8 = 0x18,
|
||||||
Size_3x8 = 0x13,
|
Size_3x8 = 0x13,
|
||||||
Size_4x8 = 0x0a,
|
Size_4x8 = 0x0A,
|
||||||
Size_10_10_10_2 = 0x30,
|
Size_10_10_10_2 = 0x30,
|
||||||
Size_11_11_10 = 0x31,
|
Size_11_11_10 = 0x31,
|
||||||
};
|
};
|
||||||
@ -197,8 +197,8 @@ namespace skyline {
|
|||||||
AddGL = 0x8006,
|
AddGL = 0x8006,
|
||||||
SubtractGL = 0x8007,
|
SubtractGL = 0x8007,
|
||||||
ReverseSubtractGL = 0x8008,
|
ReverseSubtractGL = 0x8008,
|
||||||
MinimumGL = 0x800a,
|
MinimumGL = 0x800A,
|
||||||
MaximumGL = 0x800b
|
MaximumGL = 0x800B
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class Factor : u32 {
|
enum class Factor : u32 {
|
||||||
@ -211,8 +211,8 @@ namespace skyline {
|
|||||||
DestAlpha = 0x7,
|
DestAlpha = 0x7,
|
||||||
OneMinusDestAlpha = 0x8,
|
OneMinusDestAlpha = 0x8,
|
||||||
DestColor = 0x9,
|
DestColor = 0x9,
|
||||||
OneMinusDestColor = 0xa,
|
OneMinusDestColor = 0xA,
|
||||||
SourceAlphaSaturate = 0xb,
|
SourceAlphaSaturate = 0xB,
|
||||||
Source1Color = 0x10,
|
Source1Color = 0x10,
|
||||||
OneMinusSource1Color = 0x11,
|
OneMinusSource1Color = 0x11,
|
||||||
Source1Alpha = 0x12,
|
Source1Alpha = 0x12,
|
||||||
@ -233,14 +233,14 @@ namespace skyline {
|
|||||||
DestColorGL = 0x4306,
|
DestColorGL = 0x4306,
|
||||||
OneMinusDestColorGL = 0x4307,
|
OneMinusDestColorGL = 0x4307,
|
||||||
SourceAlphaSaturateGL = 0x4308,
|
SourceAlphaSaturateGL = 0x4308,
|
||||||
ConstantColorGL = 0xc001,
|
ConstantColorGL = 0xC001,
|
||||||
OneMinusConstantColorGL = 0xc002,
|
OneMinusConstantColorGL = 0xC002,
|
||||||
ConstantAlphaGL = 0xc003,
|
ConstantAlphaGL = 0xC003,
|
||||||
OneMinusConstantAlphaGL = 0xc004,
|
OneMinusConstantAlphaGL = 0xC004,
|
||||||
Source1ColorGL = 0xc900,
|
Source1ColorGL = 0xC900,
|
||||||
OneMinusSource1ColorGL = 0xc901,
|
OneMinusSource1ColorGL = 0xC901,
|
||||||
Source1AlphaGL = 0xc902,
|
Source1AlphaGL = 0xC902,
|
||||||
OneMinusSource1AlphaGL = 0xc903,
|
OneMinusSource1AlphaGL = 0xC903,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
@ -337,20 +337,20 @@ namespace skyline {
|
|||||||
VertexShaderInvocations = 0x5,
|
VertexShaderInvocations = 0x5,
|
||||||
GeometryShaderInvocations = 0x7,
|
GeometryShaderInvocations = 0x7,
|
||||||
GeometryShaderPrimitives = 0x9,
|
GeometryShaderPrimitives = 0x9,
|
||||||
ZcullStats0 = 0xa,
|
ZcullStats0 = 0xA,
|
||||||
TransformFeedbackPrimitivesWritten = 0xb,
|
TransformFeedbackPrimitivesWritten = 0xB,
|
||||||
ZcullStats1 = 0xc,
|
ZcullStats1 = 0xC,
|
||||||
ZcullStats2 = 0xe,
|
ZcullStats2 = 0xE,
|
||||||
ClipperInputPrimitives = 0xf,
|
ClipperInputPrimitives = 0xF,
|
||||||
ZcullStats3 = 0x10,
|
ZcullStats3 = 0x10,
|
||||||
ClipperOutputPrimitives = 0x11,
|
ClipperOutputPrimitives = 0x11,
|
||||||
PrimitivesGenerated = 0x12,
|
PrimitivesGenerated = 0x12,
|
||||||
FragmentShaderInvocations = 0x13,
|
FragmentShaderInvocations = 0x13,
|
||||||
SamplesPassed = 0x15,
|
SamplesPassed = 0x15,
|
||||||
TransformFeedbackOffset = 0x1a,
|
TransformFeedbackOffset = 0x1A,
|
||||||
TessControlShaderInvocations = 0x1b,
|
TessControlShaderInvocations = 0x1B,
|
||||||
TessEvaluationShaderInvocations = 0x1d,
|
TessEvaluationShaderInvocations = 0x1D,
|
||||||
TessEvaluationShaderPrimitives = 0x1f
|
TessEvaluationShaderPrimitives = 0x1F
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class StructureSize : u8 {
|
enum class StructureSize : u8 {
|
||||||
@ -394,7 +394,7 @@ namespace skyline {
|
|||||||
MmeShadowRamControl shadowRamControl; // 0x49
|
MmeShadowRamControl shadowRamControl; // 0x49
|
||||||
} mme;
|
} mme;
|
||||||
|
|
||||||
u32 _pad2_[0x68]; // 0x4a
|
u32 _pad2_[0x68]; // 0x4A
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u16 id : 12;
|
u16 id : 12;
|
||||||
@ -403,101 +403,101 @@ namespace skyline {
|
|||||||
u8 _pad1_ : 3;
|
u8 _pad1_ : 3;
|
||||||
bool increment : 1;
|
bool increment : 1;
|
||||||
u16 _pad2_ : 11;
|
u16 _pad2_ : 11;
|
||||||
} syncpointAction; // 0xb2
|
} syncpointAction; // 0xB2
|
||||||
|
|
||||||
u32 _pad3_[0x2c]; // 0xb3
|
u32 _pad3_[0x2C]; // 0xB3
|
||||||
u32 rasterizerEnable; // 0xdf
|
u32 rasterizerEnable; // 0xDF
|
||||||
u32 _pad4_[0x1a0]; // 0xe0
|
u32 _pad4_[0x1A0]; // 0xE0
|
||||||
std::array<ViewportTransform, 0x10> viewportTransform; // 0x280
|
std::array<ViewportTransform, 0x10> viewportTransform; // 0x280
|
||||||
std::array<Viewport, 0x10> viewport; // 0x300
|
std::array<Viewport, 0x10> viewport; // 0x300
|
||||||
u32 _pad5_[0x2b]; // 0x340
|
u32 _pad5_[0x2B]; // 0x340
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
PolygonMode front; // 0x36b
|
PolygonMode front; // 0x36B
|
||||||
PolygonMode back; // 0x36c
|
PolygonMode back; // 0x36C
|
||||||
} polygonMode;
|
} polygonMode;
|
||||||
|
|
||||||
u32 _pad6_[0x68]; // 0x36d
|
u32 _pad6_[0x68]; // 0x36D
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 compareRef; // 0x3d5
|
u32 compareRef; // 0x3D5
|
||||||
u32 writeMask; // 0x3d6
|
u32 writeMask; // 0x3D6
|
||||||
u32 compareMask; // 0x3d7
|
u32 compareMask; // 0x3D7
|
||||||
} stencilBackExtra;
|
} stencilBackExtra;
|
||||||
|
|
||||||
u32 _pad7_[0x13]; // 0x3d8
|
u32 _pad7_[0x13]; // 0x3D8
|
||||||
u32 rtSeparateFragData; // 0x3eb
|
u32 rtSeparateFragData; // 0x3EB
|
||||||
u32 _pad8_[0x6c]; // 0x3ec
|
u32 _pad8_[0x6C]; // 0x3EC
|
||||||
std::array<VertexAttribute, 0x20> vertexAttributeState; // 0x458
|
std::array<VertexAttribute, 0x20> vertexAttributeState; // 0x458
|
||||||
u32 _pad9_[0x4b]; // 0x478
|
u32 _pad9_[0x4B]; // 0x478
|
||||||
CompareOp depthTestFunc; // 0x4c3
|
CompareOp depthTestFunc; // 0x4C3
|
||||||
float alphaTestRef; // 0x4c4
|
float alphaTestRef; // 0x4C4
|
||||||
CompareOp alphaTestFunc; // 0x4c5
|
CompareOp alphaTestFunc; // 0x4C5
|
||||||
u32 drawTFBStride; // 0x4c6
|
u32 drawTFBStride; // 0x4C6
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
float r; // 0x4c7
|
float r; // 0x4C7
|
||||||
float g; // 0x4c8
|
float g; // 0x4C8
|
||||||
float b; // 0x4c9
|
float b; // 0x4C9
|
||||||
float a; // 0x4ca
|
float a; // 0x4CA
|
||||||
} blendConstant;
|
} blendConstant;
|
||||||
|
|
||||||
u32 _pad10_[0x4]; // 0x4cb
|
u32 _pad10_[0x4]; // 0x4CB
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 seperateAlpha; // 0x4cf
|
u32 seperateAlpha; // 0x4CF
|
||||||
Blend::Op colorOp; // 0x4d0
|
Blend::Op colorOp; // 0x4D0
|
||||||
Blend::Factor colorSrcFactor; // 0x4d1
|
Blend::Factor colorSrcFactor; // 0x4D1
|
||||||
Blend::Factor colorDestFactor; // 0x4d2
|
Blend::Factor colorDestFactor; // 0x4D2
|
||||||
Blend::Op alphaOp; // 0x4d3
|
Blend::Op alphaOp; // 0x4D3
|
||||||
Blend::Factor alphaSrcFactor; // 0x4d4
|
Blend::Factor alphaSrcFactor; // 0x4D4
|
||||||
u32 _pad_; // 0x4d5
|
u32 _pad_; // 0x4D5
|
||||||
Blend::Factor alphaDestFactor; // 0x4d6
|
Blend::Factor alphaDestFactor; // 0x4D6
|
||||||
|
|
||||||
u32 enableCommon; // 0x4d7
|
u32 enableCommon; // 0x4D7
|
||||||
std::array<u32, 8> enable; // 0x4d8 For each render target
|
std::array<u32, 8> enable; // 0x4D8 For each render target
|
||||||
} blend;
|
} blend;
|
||||||
|
|
||||||
u32 stencilEnable; // 0x4e0
|
u32 stencilEnable; // 0x4E0
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
StencilOp failOp; // 0x4e1
|
StencilOp failOp; // 0x4E1
|
||||||
StencilOp zFailOp; // 0x4e2
|
StencilOp zFailOp; // 0x4E2
|
||||||
StencilOp zPassOp; // 0x4e3
|
StencilOp zPassOp; // 0x4E3
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
CompareOp op; // 0x4e4
|
CompareOp op; // 0x4E4
|
||||||
i32 ref; // 0x4e5
|
i32 ref; // 0x4E5
|
||||||
u32 mask; // 0x4e6
|
u32 mask; // 0x4E6
|
||||||
} compare;
|
} compare;
|
||||||
|
|
||||||
u32 writeMask; // 0x4e7
|
u32 writeMask; // 0x4E7
|
||||||
} stencilFront;
|
} stencilFront;
|
||||||
|
|
||||||
u32 _pad11_[0x4]; // 0x4e8
|
u32 _pad11_[0x4]; // 0x4E8
|
||||||
float lineWidthSmooth; // 0x4ec
|
float lineWidthSmooth; // 0x4EC
|
||||||
float lineWidthAliased; // 0x4d
|
float lineWidthAliased; // 0x4D
|
||||||
u32 _pad12_[0x1f]; // 0x4ee
|
u32 _pad12_[0x1F]; // 0x4EE
|
||||||
u32 drawBaseVertex; // 0x50d
|
u32 drawBaseVertex; // 0x50D
|
||||||
u32 drawBaseInstance; // 0x50e
|
u32 drawBaseInstance; // 0x50E
|
||||||
u32 _pad13_[0x35]; // 0x50f
|
u32 _pad13_[0x35]; // 0x50F
|
||||||
u32 clipDistanceEnable; // 0x544
|
u32 clipDistanceEnable; // 0x544
|
||||||
u32 sampleCounterEnable; // 0x545
|
u32 sampleCounterEnable; // 0x545
|
||||||
float pointSpriteSize; // 0x546
|
float pointSpriteSize; // 0x546
|
||||||
u32 zCullStatCountersEnable; // 0x547
|
u32 zCullStatCountersEnable; // 0x547
|
||||||
u32 pointSpriteEnable; // 0x548
|
u32 pointSpriteEnable; // 0x548
|
||||||
u32 _pad14_; // 0x549
|
u32 _pad14_; // 0x549
|
||||||
u32 shaderExceptions; // 0x54a
|
u32 shaderExceptions; // 0x54A
|
||||||
u32 _pad15_[0x2]; // 0x54b
|
u32 _pad15_[0x2]; // 0x54B
|
||||||
u32 multisampleEnable; // 0x54d
|
u32 multisampleEnable; // 0x54D
|
||||||
u32 depthTargetEnable; // 0x54e
|
u32 depthTargetEnable; // 0x54E
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
bool alphaToCoverage : 1;
|
bool alphaToCoverage : 1;
|
||||||
u8 _pad0_ : 3;
|
u8 _pad0_ : 3;
|
||||||
bool alphaToOne : 1;
|
bool alphaToOne : 1;
|
||||||
u32 _pad1_ : 27;
|
u32 _pad1_ : 27;
|
||||||
} multisampleControl; // 0x54f
|
} multisampleControl; // 0x54F
|
||||||
|
|
||||||
u32 _pad16_[0x7]; // 0x550
|
u32 _pad16_[0x7]; // 0x550
|
||||||
|
|
||||||
@ -506,13 +506,13 @@ namespace skyline {
|
|||||||
u32 maximumIndex; // 0x559
|
u32 maximumIndex; // 0x559
|
||||||
} texSamplerPool;
|
} texSamplerPool;
|
||||||
|
|
||||||
u32 _pad17_; // 0x55a
|
u32 _pad17_; // 0x55A
|
||||||
u32 polygonOffsetFactor; // 0x55b
|
u32 polygonOffsetFactor; // 0x55B
|
||||||
u32 lineSmoothEnable; // 0x55c
|
u32 lineSmoothEnable; // 0x55C
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
Address address; // 0x55d
|
Address address; // 0x55D
|
||||||
u32 maximumIndex; // 0x55f
|
u32 maximumIndex; // 0x55F
|
||||||
} texHeaderPool;
|
} texHeaderPool;
|
||||||
|
|
||||||
u32 _pad18_[0x5]; // 0x560
|
u32 _pad18_[0x5]; // 0x560
|
||||||
@ -526,7 +526,7 @@ namespace skyline {
|
|||||||
CompareOp compareOp; // 0x569
|
CompareOp compareOp; // 0x569
|
||||||
} stencilBack;
|
} stencilBack;
|
||||||
|
|
||||||
u32 _pad19_[0x17]; // 0x56a
|
u32 _pad19_[0x17]; // 0x56A
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u8 _unk_ : 2;
|
u8 _unk_ : 2;
|
||||||
@ -535,27 +535,27 @@ namespace skyline {
|
|||||||
u32 _pad_ : 19;
|
u32 _pad_ : 19;
|
||||||
} pointCoordReplace; // 0x581
|
} pointCoordReplace; // 0x581
|
||||||
|
|
||||||
u32 _pad20_[0xc4]; // 0x582
|
u32 _pad20_[0xC4]; // 0x582
|
||||||
u32 cullFaceEnable; // 0x646
|
u32 cullFaceEnable; // 0x646
|
||||||
FrontFace frontFace; // 0x647
|
FrontFace frontFace; // 0x647
|
||||||
CullFace cullFace; // 0x648
|
CullFace cullFace; // 0x648
|
||||||
u32 pixelCentreImage; // 0x649
|
u32 pixelCentreImage; // 0x649
|
||||||
u32 _pad21_; // 0x64a
|
u32 _pad21_; // 0x64A
|
||||||
u32 viewportTransformEnable; // 0x64b
|
u32 viewportTransformEnable; // 0x64B
|
||||||
u32 _pad22_[0x34]; // 0x64a
|
u32 _pad22_[0x34]; // 0x64A
|
||||||
std::array<ColorWriteMask, 8> colorMask; // 0x680 For each render target
|
std::array<ColorWriteMask, 8> colorMask; // 0x680 For each render target
|
||||||
u32 _pad23_[0x38]; // 0x688
|
u32 _pad23_[0x38]; // 0x688
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
Address address; // 0x6c0
|
Address address; // 0x6C0
|
||||||
u32 payload; // 0x6c2
|
u32 payload; // 0x6C2
|
||||||
SemaphoreInfo info; // 0x6c3
|
SemaphoreInfo info; // 0x6C3
|
||||||
} semaphore;
|
} semaphore;
|
||||||
|
|
||||||
u32 _pad24_[0xbc]; // 0x6c4
|
u32 _pad24_[0xBC]; // 0x6C4
|
||||||
std::array<Blend, 8> independentBlend; // 0x780 For each render target
|
std::array<Blend, 8> independentBlend; // 0x780 For each render target
|
||||||
u32 _pad25_[0x100]; // 0x7c0
|
u32 _pad25_[0x100]; // 0x7C0
|
||||||
u32 firmwareCall[0x20]; // 0x8c0
|
u32 firmwareCall[0x20]; // 0x8C0
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
static_assert(sizeof(Registers) == (constant::Maxwell3DRegisterCounter * sizeof(u32)));
|
static_assert(sizeof(Registers) == (constant::Maxwell3DRegisterCounter * sizeof(u32)));
|
||||||
|
@ -126,13 +126,13 @@ namespace skyline::gpu {
|
|||||||
case Opcode::AluOperation::Subtract: {
|
case Opcode::AluOperation::Subtract: {
|
||||||
u64 result = static_cast<u64>(srcA) - srcB;
|
u64 result = static_cast<u64>(srcA) - srcB;
|
||||||
|
|
||||||
carryFlag = result & 0xffffffff;
|
carryFlag = result & 0xFFFFFFFF;
|
||||||
return static_cast<u32>(result);
|
return static_cast<u32>(result);
|
||||||
}
|
}
|
||||||
case Opcode::AluOperation::SubtractWithBorrow: {
|
case Opcode::AluOperation::SubtractWithBorrow: {
|
||||||
u64 result = static_cast<u64>(srcA) - srcB - !carryFlag;
|
u64 result = static_cast<u64>(srcA) - srcB - !carryFlag;
|
||||||
|
|
||||||
carryFlag = result & 0xffffffff;
|
carryFlag = result & 0xFFFFFFFF;
|
||||||
return static_cast<u32>(result);
|
return static_cast<u32>(result);
|
||||||
}
|
}
|
||||||
case Opcode::AluOperation::BitwiseXor:
|
case Opcode::AluOperation::BitwiseXor:
|
||||||
|
@ -199,12 +199,12 @@ namespace skyline {
|
|||||||
ExitProcess, // 0x07
|
ExitProcess, // 0x07
|
||||||
CreateThread, // 0x08
|
CreateThread, // 0x08
|
||||||
StartThread, // 0x09
|
StartThread, // 0x09
|
||||||
ExitThread, // 0x0a
|
ExitThread, // 0x0A
|
||||||
SleepThread, // 0x0b
|
SleepThread, // 0x0B
|
||||||
GetThreadPriority, // 0x0c
|
GetThreadPriority, // 0x0C
|
||||||
SetThreadPriority, // 0x0d
|
SetThreadPriority, // 0x0D
|
||||||
nullptr, // 0x0e
|
nullptr, // 0x0E
|
||||||
nullptr, // 0x0f
|
nullptr, // 0x0F
|
||||||
nullptr, // 0x10
|
nullptr, // 0x10
|
||||||
nullptr, // 0x11
|
nullptr, // 0x11
|
||||||
ClearEvent, // 0x12
|
ClearEvent, // 0x12
|
||||||
@ -215,12 +215,12 @@ namespace skyline {
|
|||||||
ResetSignal, // 0x17
|
ResetSignal, // 0x17
|
||||||
WaitSynchronization, // 0x18
|
WaitSynchronization, // 0x18
|
||||||
CancelSynchronization, // 0x19
|
CancelSynchronization, // 0x19
|
||||||
ArbitrateLock, // 0x1a
|
ArbitrateLock, // 0x1A
|
||||||
ArbitrateUnlock, // 0x1b
|
ArbitrateUnlock, // 0x1B
|
||||||
WaitProcessWideKeyAtomic, // 0x1c
|
WaitProcessWideKeyAtomic, // 0x1C
|
||||||
SignalProcessWideKey, // 0x1d
|
SignalProcessWideKey, // 0x1D
|
||||||
GetSystemTick, // 0x1e
|
GetSystemTick, // 0x1E
|
||||||
ConnectToNamedPort, // 0x1f
|
ConnectToNamedPort, // 0x1F
|
||||||
nullptr, // 0x20
|
nullptr, // 0x20
|
||||||
SendSyncRequest, // 0x21
|
SendSyncRequest, // 0x21
|
||||||
nullptr, // 0x22
|
nullptr, // 0x22
|
||||||
@ -231,12 +231,12 @@ namespace skyline {
|
|||||||
OutputDebugString, // 0x27
|
OutputDebugString, // 0x27
|
||||||
nullptr, // 0x28
|
nullptr, // 0x28
|
||||||
GetInfo, // 0x29
|
GetInfo, // 0x29
|
||||||
nullptr, // 0x2a
|
nullptr, // 0x2A
|
||||||
nullptr, // 0x2b
|
nullptr, // 0x2B
|
||||||
nullptr, // 0x2c
|
nullptr, // 0x2C
|
||||||
nullptr, // 0x2d
|
nullptr, // 0x2D
|
||||||
nullptr, // 0x2e
|
nullptr, // 0x2E
|
||||||
nullptr, // 0x2f
|
nullptr, // 0x2F
|
||||||
nullptr, // 0x30
|
nullptr, // 0x30
|
||||||
nullptr, // 0x31
|
nullptr, // 0x31
|
||||||
nullptr, // 0x32
|
nullptr, // 0x32
|
||||||
@ -247,12 +247,12 @@ namespace skyline {
|
|||||||
nullptr, // 0x37
|
nullptr, // 0x37
|
||||||
nullptr, // 0x38
|
nullptr, // 0x38
|
||||||
nullptr, // 0x39
|
nullptr, // 0x39
|
||||||
nullptr, // 0x3a
|
nullptr, // 0x3A
|
||||||
nullptr, // 0x3b
|
nullptr, // 0x3B
|
||||||
nullptr, // 0x3c
|
nullptr, // 0x3C
|
||||||
nullptr, // 0x3d
|
nullptr, // 0x3D
|
||||||
nullptr, // 0x3e
|
nullptr, // 0x3E
|
||||||
nullptr, // 0x3f
|
nullptr, // 0x3F
|
||||||
nullptr, // 0x40
|
nullptr, // 0x40
|
||||||
nullptr, // 0x41
|
nullptr, // 0x41
|
||||||
nullptr, // 0x42
|
nullptr, // 0x42
|
||||||
@ -263,12 +263,12 @@ namespace skyline {
|
|||||||
nullptr, // 0x47
|
nullptr, // 0x47
|
||||||
nullptr, // 0x48
|
nullptr, // 0x48
|
||||||
nullptr, // 0x49
|
nullptr, // 0x49
|
||||||
nullptr, // 0x4a
|
nullptr, // 0x4A
|
||||||
nullptr, // 0x4b
|
nullptr, // 0x4B
|
||||||
nullptr, // 0x4c
|
nullptr, // 0x4C
|
||||||
nullptr, // 0x4d
|
nullptr, // 0x4D
|
||||||
nullptr, // 0x4e
|
nullptr, // 0x4E
|
||||||
nullptr, // 0x4f
|
nullptr, // 0x4F
|
||||||
nullptr, // 0x50
|
nullptr, // 0x50
|
||||||
nullptr, // 0x51
|
nullptr, // 0x51
|
||||||
nullptr, // 0x52
|
nullptr, // 0x52
|
||||||
@ -279,12 +279,12 @@ namespace skyline {
|
|||||||
nullptr, // 0x57
|
nullptr, // 0x57
|
||||||
nullptr, // 0x58
|
nullptr, // 0x58
|
||||||
nullptr, // 0x59
|
nullptr, // 0x59
|
||||||
nullptr, // 0x5a
|
nullptr, // 0x5A
|
||||||
nullptr, // 0x5b
|
nullptr, // 0x5B
|
||||||
nullptr, // 0x5c
|
nullptr, // 0x5C
|
||||||
nullptr, // 0x5d
|
nullptr, // 0x5D
|
||||||
nullptr, // 0x5e
|
nullptr, // 0x5E
|
||||||
nullptr, // 0x5f
|
nullptr, // 0x5F
|
||||||
nullptr, // 0x60
|
nullptr, // 0x60
|
||||||
nullptr, // 0x61
|
nullptr, // 0x61
|
||||||
nullptr, // 0x62
|
nullptr, // 0x62
|
||||||
@ -295,12 +295,12 @@ namespace skyline {
|
|||||||
nullptr, // 0x67
|
nullptr, // 0x67
|
||||||
nullptr, // 0x68
|
nullptr, // 0x68
|
||||||
nullptr, // 0x69
|
nullptr, // 0x69
|
||||||
nullptr, // 0x6a
|
nullptr, // 0x6A
|
||||||
nullptr, // 0x6b
|
nullptr, // 0x6B
|
||||||
nullptr, // 0x6c
|
nullptr, // 0x6C
|
||||||
nullptr, // 0x6d
|
nullptr, // 0x6D
|
||||||
nullptr, // 0x6e
|
nullptr, // 0x6E
|
||||||
nullptr, // 0x6f
|
nullptr, // 0x6F
|
||||||
nullptr, // 0x70
|
nullptr, // 0x70
|
||||||
nullptr, // 0x71
|
nullptr, // 0x71
|
||||||
nullptr, // 0x72
|
nullptr, // 0x72
|
||||||
@ -311,12 +311,12 @@ namespace skyline {
|
|||||||
nullptr, // 0x77
|
nullptr, // 0x77
|
||||||
nullptr, // 0x78
|
nullptr, // 0x78
|
||||||
nullptr, // 0x79
|
nullptr, // 0x79
|
||||||
nullptr, // 0x7a
|
nullptr, // 0x7A
|
||||||
nullptr, // 0x7b
|
nullptr, // 0x7B
|
||||||
nullptr, // 0x7c
|
nullptr, // 0x7C
|
||||||
nullptr, // 0x7d
|
nullptr, // 0x7D
|
||||||
nullptr, // 0x7e
|
nullptr, // 0x7E
|
||||||
nullptr // 0x7f
|
nullptr // 0x7F
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ namespace skyline::loader {
|
|||||||
u32 memoryOffset; //!< The memory offset where the region should be loaded
|
u32 memoryOffset; //!< The memory offset where the region should be loaded
|
||||||
u32 decompressedSize; //!< Size of the region after decompression
|
u32 decompressedSize; //!< Size of the region after decompression
|
||||||
};
|
};
|
||||||
static_assert(sizeof(NsoSegmentHeader) == 0xc);
|
static_assert(sizeof(NsoSegmentHeader) == 0xC);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This holds the header of an NSO file
|
* @brief This holds the header of an NSO file
|
||||||
|
@ -209,7 +209,7 @@ namespace skyline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<u32> NCE::PatchCode(std::vector<u8> &code, u64 baseAddress, i64 offset) {
|
std::vector<u32> NCE::PatchCode(std::vector<u8> &code, u64 baseAddress, i64 offset) {
|
||||||
constexpr u32 TpidrEl0 = 0x5e82; // ID of TPIDR_EL0 in MRS
|
constexpr u32 TpidrEl0 = 0x5E82; // ID of TPIDR_EL0 in MRS
|
||||||
constexpr u32 TpidrroEl0 = 0x5E83; // ID of TPIDRRO_EL0 in MRS
|
constexpr u32 TpidrroEl0 = 0x5E83; // ID of TPIDRRO_EL0 in MRS
|
||||||
constexpr u32 CntfrqEl0 = 0x5F00; // ID of CNTFRQ_EL0 in MRS
|
constexpr u32 CntfrqEl0 = 0x5F00; // ID of CNTFRQ_EL0 in MRS
|
||||||
constexpr u32 CntpctEl0 = 0x5F01; // ID of CNTPCT_EL0 in MRS
|
constexpr u32 CntpctEl0 = 0x5F01; // ID of CNTPCT_EL0 in MRS
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
namespace skyline::service::am {
|
namespace skyline::service::am {
|
||||||
ILibraryAppletAccessor::ILibraryAppletAccessor(const DeviceState &state, ServiceManager &manager) : stateChangeEvent(std::make_shared<type::KEvent>(state)), BaseService(state, manager, Service::am_ILibraryAppletAccessor, "am:ILibraryAppletAccessor", {
|
ILibraryAppletAccessor::ILibraryAppletAccessor(const DeviceState &state, ServiceManager &manager) : stateChangeEvent(std::make_shared<type::KEvent>(state)), BaseService(state, manager, Service::am_ILibraryAppletAccessor, "am:ILibraryAppletAccessor", {
|
||||||
{0x0, SFUNC(ILibraryAppletAccessor::GetAppletStateChangedEvent)},
|
{0x0, SFUNC(ILibraryAppletAccessor::GetAppletStateChangedEvent)},
|
||||||
{0xa, SFUNC(ILibraryAppletAccessor::Start)},
|
{0xA, SFUNC(ILibraryAppletAccessor::Start)},
|
||||||
{0x1e, SFUNC(ILibraryAppletAccessor::GetResult)},
|
{0x1E, SFUNC(ILibraryAppletAccessor::GetResult)},
|
||||||
{0x64, SFUNC(ILibraryAppletAccessor::PushInData)},
|
{0x64, SFUNC(ILibraryAppletAccessor::PushInData)},
|
||||||
{0x65, SFUNC(ILibraryAppletAccessor::PopOutData)},
|
{0x65, SFUNC(ILibraryAppletAccessor::PopOutData)},
|
||||||
}) {}
|
}) {}
|
||||||
@ -31,7 +31,7 @@ namespace skyline::service::am {
|
|||||||
void ILibraryAppletAccessor::PushInData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
|
void ILibraryAppletAccessor::PushInData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
|
||||||
|
|
||||||
void ILibraryAppletAccessor::PopOutData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void ILibraryAppletAccessor::PopOutData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
constexpr u32 LaunchParameterMagic = 0xc79497ca; //!< This is the magic of the application launch parameters
|
constexpr u32 LaunchParameterMagic = 0xC79497CA; //!< This is the magic of the application launch parameters
|
||||||
constexpr size_t LaunchParameterSize = 0x88; //!< This is the size of the launch parameter IStorage
|
constexpr size_t LaunchParameterSize = 0x88; //!< This is the size of the launch parameter IStorage
|
||||||
|
|
||||||
auto storageService = std::make_shared<IStorage>(state, manager, LaunchParameterSize);
|
auto storageService = std::make_shared<IStorage>(state, manager, LaunchParameterSize);
|
||||||
|
@ -20,7 +20,7 @@ namespace skyline::service::am {
|
|||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void IApplicationFunctions::PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void IApplicationFunctions::PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
constexpr u32 LaunchParameterMagic = 0xc79497ca; //!< This is the magic of the application launch parameters
|
constexpr u32 LaunchParameterMagic = 0xC79497CA; //!< This is the magic of the application launch parameters
|
||||||
constexpr size_t LaunchParameterSize = 0x88; //!< This is the size of the launch parameter IStorage
|
constexpr size_t LaunchParameterSize = 0x88; //!< This is the size of the launch parameter IStorage
|
||||||
|
|
||||||
auto storageService = std::make_shared<IStorage>(state, manager, LaunchParameterSize);
|
auto storageService = std::make_shared<IStorage>(state, manager, LaunchParameterSize);
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
namespace skyline::service::am {
|
namespace skyline::service::am {
|
||||||
ILibraryAppletCreator::ILibraryAppletCreator(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::am_ILibraryAppletCreator, "am:ILibraryAppletCreator", {
|
ILibraryAppletCreator::ILibraryAppletCreator(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::am_ILibraryAppletCreator, "am:ILibraryAppletCreator", {
|
||||||
{0x0, SFUNC(ILibraryAppletCreator::CreateLibraryApplet)},
|
{0x0, SFUNC(ILibraryAppletCreator::CreateLibraryApplet)},
|
||||||
{0xa, SFUNC(ILibraryAppletCreator::CreateStorage)}
|
{0xA, SFUNC(ILibraryAppletCreator::CreateStorage)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void ILibraryAppletCreator::CreateLibraryApplet(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void ILibraryAppletCreator::CreateLibraryApplet(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
@ -17,7 +17,7 @@ namespace skyline::service::am {
|
|||||||
{0xE, SFUNC(ISelfController::SetRestartMessageEnabled)},
|
{0xE, SFUNC(ISelfController::SetRestartMessageEnabled)},
|
||||||
{0x10, SFUNC(ISelfController::SetOutOfFocusSuspendingEnabled)},
|
{0x10, SFUNC(ISelfController::SetOutOfFocusSuspendingEnabled)},
|
||||||
{0x28, SFUNC(ISelfController::CreateManagedDisplayLayer)},
|
{0x28, SFUNC(ISelfController::CreateManagedDisplayLayer)},
|
||||||
{0x5b, SFUNC(ISelfController::GetLibraryAppletLaunchableEvent)}
|
{0x5B, SFUNC(ISelfController::GetLibraryAppletLaunchableEvent)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void ISelfController::LockExit(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
|
void ISelfController::LockExit(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
namespace skyline::service::am {
|
namespace skyline::service::am {
|
||||||
IStorageAccessor::IStorageAccessor(const DeviceState &state, ServiceManager &manager, std::shared_ptr<IStorage> parent) : parent(parent), BaseService(state, manager, Service::am_IStorageAccessor, "am:IStorageAccessor", {
|
IStorageAccessor::IStorageAccessor(const DeviceState &state, ServiceManager &manager, std::shared_ptr<IStorage> parent) : parent(parent), BaseService(state, manager, Service::am_IStorageAccessor, "am:IStorageAccessor", {
|
||||||
{0x0, SFUNC(IStorageAccessor::GetSize)},
|
{0x0, SFUNC(IStorageAccessor::GetSize)},
|
||||||
{0xa, SFUNC(IStorageAccessor::Write)},
|
{0xA, SFUNC(IStorageAccessor::Write)},
|
||||||
{0xb, SFUNC(IStorageAccessor::Read)}
|
{0xB, SFUNC(IStorageAccessor::Read)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void IStorageAccessor::GetSize(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void IStorageAccessor::GetSize(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
@ -14,7 +14,7 @@ namespace skyline::service::audio {
|
|||||||
{0x5, SFUNC(IAudioDevice::GetActiveChannelCount)},
|
{0x5, SFUNC(IAudioDevice::GetActiveChannelCount)},
|
||||||
{0x6, SFUNC(IAudioDevice::ListAudioDeviceName)},
|
{0x6, SFUNC(IAudioDevice::ListAudioDeviceName)},
|
||||||
{0x7, SFUNC(IAudioDevice::SetAudioDeviceOutputVolume)},
|
{0x7, SFUNC(IAudioDevice::SetAudioDeviceOutputVolume)},
|
||||||
{0xa, SFUNC(IAudioDevice::GetActiveAudioDeviceName)}
|
{0xA, SFUNC(IAudioDevice::GetActiveAudioDeviceName)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void IAudioDevice::ListAudioDeviceName(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void IAudioDevice::ListAudioDeviceName(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
@ -85,7 +85,7 @@ namespace skyline::service::audio::IAudioRenderer {
|
|||||||
|
|
||||||
UpdateDataHeader outputHeader{
|
UpdateDataHeader outputHeader{
|
||||||
.revision = constant::RevMagic,
|
.revision = constant::RevMagic,
|
||||||
.behaviorSize = 0xb0,
|
.behaviorSize = 0xB0,
|
||||||
.memoryPoolSize = (parameters.effectCount + parameters.voiceCount * 4) * static_cast<u32>(sizeof(MemoryPoolOut)),
|
.memoryPoolSize = (parameters.effectCount + parameters.voiceCount * 4) * static_cast<u32>(sizeof(MemoryPoolOut)),
|
||||||
.voiceSize = parameters.voiceCount * static_cast<u32>(sizeof(VoiceOut)),
|
.voiceSize = parameters.voiceCount * static_cast<u32>(sizeof(VoiceOut)),
|
||||||
.effectSize = parameters.effectCount * static_cast<u32>(sizeof(EffectOut)),
|
.effectSize = parameters.effectCount * static_cast<u32>(sizeof(EffectOut)),
|
||||||
|
@ -20,9 +20,9 @@ namespace skyline::service::audio::IAudioRenderer {
|
|||||||
struct EffectIn {
|
struct EffectIn {
|
||||||
u8 _unk0_;
|
u8 _unk0_;
|
||||||
u8 isNew; //!< Whether the effect was used in the previous samples
|
u8 isNew; //!< Whether the effect was used in the previous samples
|
||||||
u8 _unk1_[0xbe];
|
u8 _unk1_[0xBE];
|
||||||
};
|
};
|
||||||
static_assert(sizeof(EffectIn) == 0xc0);
|
static_assert(sizeof(EffectIn) == 0xC0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This is returned to inform the guest of the state of an effect
|
* @brief This is returned to inform the guest of the state of an effect
|
||||||
|
@ -22,7 +22,7 @@ namespace skyline::service::audio::IAudioRenderer {
|
|||||||
u16 a1; //!< The a1 constant
|
u16 a1; //!< The a1 constant
|
||||||
u16 a2; //!< The a2 constant
|
u16 a2; //!< The a2 constant
|
||||||
};
|
};
|
||||||
static_assert(sizeof(BiquadFilter) == 0xc);
|
static_assert(sizeof(BiquadFilter) == 0xC);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This stores information of a wave buffer of samples
|
* @brief This stores information of a wave buffer of samples
|
||||||
|
@ -62,7 +62,7 @@ namespace skyline::service::audio {
|
|||||||
splitterWorkSize += util::AlignUp(4 * params.splitterDestinationDataCount, 16);
|
splitterWorkSize += util::AlignUp(4 * params.splitterDestinationDataCount, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
size = params.sinkCount * 0x170 + (params.sinkCount + params.subMixCount) * 0x280 + params.effectCount * 0x4C0 + ((size + splitterWorkSize + 0x30 * params.effectCount + (4 * params.voiceCount) + 0x8F) & ~0x3Fl) + ((params.voiceCount << 8) | 0x40);
|
size = params.sinkCount * 0x170 + (params.sinkCount + params.subMixCount) * 0x280 + params.effectCount * 0x4C0 + ((size + splitterWorkSize + 0x30 * params.effectCount + (4 * params.voiceCount) + 0x8F) & ~0x3FL) + ((params.voiceCount << 8) | 0x40);
|
||||||
|
|
||||||
if (params.performanceManagerCount > 0) {
|
if (params.performanceManagerCount > 0) {
|
||||||
i64 performanceMetricsBufferSize;
|
i64 performanceMetricsBufferSize;
|
||||||
@ -73,7 +73,7 @@ namespace skyline::service::audio {
|
|||||||
performanceMetricsBufferSize = ((static_cast<i64>((params.voiceCount + params.effectCount + totalMixCount + params.sinkCount)) << 32) >> 0x1C) + 0x658;
|
performanceMetricsBufferSize = ((static_cast<i64>((params.voiceCount + params.effectCount + totalMixCount + params.sinkCount)) << 32) >> 0x1C) + 0x658;
|
||||||
}
|
}
|
||||||
|
|
||||||
size += (performanceMetricsBufferSize * (params.performanceManagerCount + 1) + 0xFF) & ~0x3Fl;
|
size += (performanceMetricsBufferSize * (params.performanceManagerCount + 1) + 0xFF) & ~0x3FL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (revisionInfo.VaradicCommandBufferSizeSupported()) {
|
if (revisionInfo.VaradicCommandBufferSizeSupported()) {
|
||||||
|
@ -11,7 +11,7 @@ namespace skyline::service::fssrv {
|
|||||||
{0x0, SFUNC(IFileSystem::CreateFile)},
|
{0x0, SFUNC(IFileSystem::CreateFile)},
|
||||||
{0x7, SFUNC(IFileSystem::GetEntryType)},
|
{0x7, SFUNC(IFileSystem::GetEntryType)},
|
||||||
{0x8, SFUNC(IFileSystem::OpenFile)},
|
{0x8, SFUNC(IFileSystem::OpenFile)},
|
||||||
{0xa, SFUNC(IFileSystem::Commit)}
|
{0xA, SFUNC(IFileSystem::Commit)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void IFileSystem::CreateFile(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void IFileSystem::CreateFile(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
@ -12,8 +12,8 @@ namespace skyline::service::fssrv {
|
|||||||
{0x1, SFUNC(IFileSystemProxy::SetCurrentProcess)},
|
{0x1, SFUNC(IFileSystemProxy::SetCurrentProcess)},
|
||||||
{0x12, SFUNC(IFileSystemProxy::OpenSdCardFileSystem)},
|
{0x12, SFUNC(IFileSystemProxy::OpenSdCardFileSystem)},
|
||||||
{0x33, SFUNC(IFileSystemProxy::OpenSaveDataFileSystem)},
|
{0x33, SFUNC(IFileSystemProxy::OpenSaveDataFileSystem)},
|
||||||
{0xc8, SFUNC(IFileSystemProxy::OpenDataStorageByCurrentProcess)},
|
{0xC8, SFUNC(IFileSystemProxy::OpenDataStorageByCurrentProcess)},
|
||||||
{0x3ed, SFUNC(IFileSystemProxy::GetGlobalAccessLogMode)},
|
{0x3ED, SFUNC(IFileSystemProxy::GetGlobalAccessLogMode)},
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void IFileSystemProxy::SetCurrentProcess(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void IFileSystemProxy::SetCurrentProcess(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
@ -52,7 +52,7 @@ namespace skyline::service::fssrv {
|
|||||||
SaveDataType type; //!< The type of savedata
|
SaveDataType type; //!< The type of savedata
|
||||||
SaveDataRank rank; //!< The rank of the savedata
|
SaveDataRank rank; //!< The rank of the savedata
|
||||||
u16 index; //!< The index of the savedata
|
u16 index; //!< The index of the savedata
|
||||||
u8 _pad_[0x1a];
|
u8 _pad_[0x1A];
|
||||||
};
|
};
|
||||||
static_assert(sizeof(SaveDataAttribute) == 0x40);
|
static_assert(sizeof(SaveDataAttribute) == 0x40);
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ namespace skyline::service::nvdrv {
|
|||||||
{0x3, SFUNC(INvDrvServices::Initialize)},
|
{0x3, SFUNC(INvDrvServices::Initialize)},
|
||||||
{0x4, SFUNC(INvDrvServices::QueryEvent)},
|
{0x4, SFUNC(INvDrvServices::QueryEvent)},
|
||||||
{0x8, SFUNC(INvDrvServices::SetAruidByPID)},
|
{0x8, SFUNC(INvDrvServices::SetAruidByPID)},
|
||||||
{0xd, SFUNC(INvDrvServices::SetGraphicsFirmwareMemoryMarginEnabled)}
|
{0xD, SFUNC(INvDrvServices::SetGraphicsFirmwareMemoryMarginEnabled)}
|
||||||
}) {}
|
}) {}
|
||||||
|
|
||||||
void INvDrvServices::Open(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
void INvDrvServices::Open(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
@ -79,7 +79,7 @@ namespace skyline::service::nvdrv {
|
|||||||
state.logger->Debug("IOCTL on device: 0x{:X}, cmd: 0x{:X}", fd, cmd);
|
state.logger->Debug("IOCTL on device: 0x{:X}, cmd: 0x{:X}", fd, cmd);
|
||||||
|
|
||||||
// Strip the permissions from the command leaving only the ID
|
// Strip the permissions from the command leaving only the ID
|
||||||
cmd &= 0xffff;
|
cmd &= 0xFFFF;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (request.inputBuf.empty() || request.outputBuf.empty()) {
|
if (request.inputBuf.empty() || request.outputBuf.empty()) {
|
||||||
|
@ -35,8 +35,8 @@ namespace skyline::service::pl {
|
|||||||
{0x3, SFUNC(IPlatformServiceManager::GetSharedMemoryAddressOffset)},
|
{0x3, SFUNC(IPlatformServiceManager::GetSharedMemoryAddressOffset)},
|
||||||
{0x4, SFUNC(IPlatformServiceManager::GetSharedMemoryNativeHandle)}
|
{0x4, SFUNC(IPlatformServiceManager::GetSharedMemoryNativeHandle)}
|
||||||
}) {
|
}) {
|
||||||
constexpr u32 SharedFontResult = 0x7f9a0218; //!< This is the decrypted magic for a single font in the shared font data
|
constexpr u32 SharedFontResult = 0x7F9A0218; //!< This is the decrypted magic for a single font in the shared font data
|
||||||
constexpr u32 SharedFontMagic = 0x36f81a1e; //!< This is the encrypted magic for a single font in the shared font data
|
constexpr u32 SharedFontMagic = 0x36F81A1E; //!< This is the encrypted magic for a single font in the shared font data
|
||||||
constexpr u32 SharedFontKey = SharedFontMagic ^SharedFontResult; //!< This is the XOR key for encrypting the font size
|
constexpr u32 SharedFontKey = SharedFontMagic ^SharedFontResult; //!< This is the XOR key for encrypting the font size
|
||||||
|
|
||||||
auto pointer = reinterpret_cast<u32 *>(fontSharedMem->kernel.address);
|
auto pointer = reinterpret_cast<u32 *>(fontSharedMem->kernel.address);
|
||||||
|
@ -30,7 +30,7 @@ namespace skyline::vfs {
|
|||||||
std::array<ApplicationTitle, 0x10> titleEntries; //!< Title entries for each language
|
std::array<ApplicationTitle, 0x10> titleEntries; //!< Title entries for each language
|
||||||
u8 _pad0_[0x78];
|
u8 _pad0_[0x78];
|
||||||
u64 saveDataOwnerId; //!< The ID that should be used for this application's savedata
|
u64 saveDataOwnerId; //!< The ID that should be used for this application's savedata
|
||||||
u8 _pad1_[0xf80];
|
u8 _pad1_[0xF80];
|
||||||
} nacpContents{};
|
} nacpContents{};
|
||||||
static_assert(sizeof(NacpData) == 0x4000);
|
static_assert(sizeof(NacpData) == 0x4000);
|
||||||
|
|
||||||
|
@ -56,9 +56,9 @@ namespace skyline {
|
|||||||
Fw620 = 0x7, //!< 6.2.0
|
Fw620 = 0x7, //!< 6.2.0
|
||||||
Fw700 = 0x8, //!< 7.0.0
|
Fw700 = 0x8, //!< 7.0.0
|
||||||
Fw810 = 0x9, //!< 8.1.0
|
Fw810 = 0x9, //!< 8.1.0
|
||||||
Fw900 = 0xa, //!< 9.0.0
|
Fw900 = 0xA, //!< 9.0.0
|
||||||
Fw910 = 0xb, //!< 9.1.0
|
Fw910 = 0xB, //!< 9.1.0
|
||||||
Invalid = 0xff, //!< An invalid key generation type
|
Invalid = 0xFF, //!< An invalid key generation type
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -129,7 +129,7 @@ namespace skyline {
|
|||||||
std::array<u8, 0x20> masterHash; //!< The master hash of the hierarchical integrity system
|
std::array<u8, 0x20> masterHash; //!< The master hash of the hierarchical integrity system
|
||||||
u8 _pad1_[0x18];
|
u8 _pad1_[0x18];
|
||||||
};
|
};
|
||||||
static_assert(sizeof(HierarchicalIntegrityHashInfo) == 0xf8);
|
static_assert(sizeof(HierarchicalIntegrityHashInfo) == 0xF8);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This holds the hash info header of the SHA256 hashing scheme for PFS0
|
* @brief This holds the hash info header of the SHA256 hashing scheme for PFS0
|
||||||
@ -142,9 +142,9 @@ namespace skyline {
|
|||||||
u64 hashTableSize; //!< The size of the hash table
|
u64 hashTableSize; //!< The size of the hash table
|
||||||
u64 pfs0Offset; //!< The offset from the end of the section header of the PFS0
|
u64 pfs0Offset; //!< The offset from the end of the section header of the PFS0
|
||||||
u64 pfs0Size; //!< The size of the PFS0
|
u64 pfs0Size; //!< The size of the PFS0
|
||||||
u8 _pad1_[0xb0];
|
u8 _pad1_[0xB0];
|
||||||
};
|
};
|
||||||
static_assert(sizeof(HierarchicalSha256HashInfo) == 0xf8);
|
static_assert(sizeof(HierarchicalSha256HashInfo) == 0xF8);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This holds the header of each specific section in an NCA
|
* @brief This holds the header of each specific section in an NCA
|
||||||
@ -184,15 +184,15 @@ namespace skyline {
|
|||||||
u32 sdkVersion; //!< The version of the SDK the NCA was built with
|
u32 sdkVersion; //!< The version of the SDK the NCA was built with
|
||||||
NcaKeyGenerationType keyGenerationType; //!< The keyblob to use for decryption
|
NcaKeyGenerationType keyGenerationType; //!< The keyblob to use for decryption
|
||||||
u8 fixedKeyGeneration; //!< The fixed key index
|
u8 fixedKeyGeneration; //!< The fixed key index
|
||||||
u8 _pad0_[0xe];
|
u8 _pad0_[0xE];
|
||||||
std::array<u8, 0x10> rightsId; //!< The NCA's rights ID
|
std::array<u8, 0x10> rightsId; //!< The NCA's rights ID
|
||||||
std::array<NcaFsEntry, 4> fsEntries; //!< The filesystem entries for this NCA
|
std::array<NcaFsEntry, 4> fsEntries; //!< The filesystem entries for this NCA
|
||||||
std::array<std::array<u8, 0x20>, 4> sectionHashes; //!< This contains SHA-256 hashes for each filesystem header
|
std::array<std::array<u8, 0x20>, 4> sectionHashes; //!< This contains SHA-256 hashes for each filesystem header
|
||||||
std::array<std::array<u8, 0x10>, 4> encryptedKeyArea; //!< The encrypted key area for each filesystem
|
std::array<std::array<u8, 0x10>, 4> encryptedKeyArea; //!< The encrypted key area for each filesystem
|
||||||
u8 _pad1_[0xc0];
|
u8 _pad1_[0xC0];
|
||||||
std::array<NcaSectionHeader, 4> sectionHeaders;
|
std::array<NcaSectionHeader, 4> sectionHeaders;
|
||||||
} header{};
|
} header{};
|
||||||
static_assert(sizeof(NcaHeader) == 0xc00);
|
static_assert(sizeof(NcaHeader) == 0xC00);
|
||||||
|
|
||||||
std::shared_ptr<Backing> backing; //!< The backing for the NCA
|
std::shared_ptr<Backing> backing; //!< The backing for the NCA
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
namespace skyline {
|
namespace skyline {
|
||||||
namespace constant {
|
namespace constant {
|
||||||
constexpr u32 RomFsEmptyEntry = 0xffffffff; //!< The value a RomFS entry has it's offset set to if it is empty
|
constexpr u32 RomFsEmptyEntry = 0xFFFFFFFF; //!< The value a RomFS entry has it's offset set to if it is empty
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace vfs {
|
namespace vfs {
|
||||||
|
Loading…
Reference in New Issue
Block a user