mirror of
https://github.com/par274/sharpemu.git
synced 2026-08-02 16:09:47 +08:00
Quake (PPSA01880, Kex Engine) crashes at startup because sceVideoOutIsOutputSupported (NID Nv8c-Kb+DUM) is unimplemented. The game calls it to check video output capabilities before initializing rendering. Add HLE export stub: returns 1 (supported) for SceVideoOutBusTypeMain, 0 otherwise. The emulator renders via Vulkan and supports any pixel format or aspect ratio on the main bus. NID verified via Ps5Nid.Compute SHA1 algorithm. Export name confirmed in scripts/ps5_names.txt.
This commit is contained in:
@@ -259,6 +259,22 @@ public static class VideoOutExports
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SysAbiExport(
|
||||||
|
Nid = "Nv8c-Kb+DUM",
|
||||||
|
ExportName = "sceVideoOutIsOutputSupported",
|
||||||
|
Target = Generation.Gen4 | Generation.Gen5,
|
||||||
|
LibraryName = "libSceVideoOut")]
|
||||||
|
public static int VideoOutIsOutputSupported(CpuContext ctx)
|
||||||
|
{
|
||||||
|
var busType = unchecked((int)ctx[CpuRegister.Rdi]);
|
||||||
|
_ = ctx[CpuRegister.Rsi]; // pixelFormat
|
||||||
|
_ = ctx[CpuRegister.Rdx]; // aspectRatio
|
||||||
|
|
||||||
|
// The emulator supports any output configuration on the main bus.
|
||||||
|
// Return 1 (supported) for SceVideoOutBusTypeMain, 0 otherwise.
|
||||||
|
return busType == SceVideoOutBusTypeMain ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
[SysAbiExport(
|
[SysAbiExport(
|
||||||
Nid = "uquVH4-Du78",
|
Nid = "uquVH4-Du78",
|
||||||
ExportName = "sceVideoOutClose",
|
ExportName = "sceVideoOutClose",
|
||||||
|
|||||||
Reference in New Issue
Block a user