• win64-main-e1cf5b1 e1cf5b13ef

    Ghost released this 2026-07-11 17:22:48 -04:00 | 531 commits to 1016_part3 since this release

    • [agc] WAIT_REG_MEM suspend/resume, draw packet fixes, new HLE exports, debug cleanup

    Rebased onto upstream 79a7437 (par274/sharpemu, rewritten history).

    • GpuWaitRegistry: DCBs suspended on unsatisfied WAIT_REG_MEM are re-polled
      against guest memory on every submit; fixed 64-bit and standard packet parse
      offsets, apply the mask, treat PM4 compare function 0 as "always".
    • TryReadSubmittedDrawCount: accept the 5-dword ItDrawIndex2 form emitted by
      DcbDrawIndex (count at +4); menu draws were silently discarded before.
    • sceAgcDriverSubmitMultiDcbs: reversed ABI (rdi=address array, rsi=dword
      sizes, rdx=count).
    • VideoOut: vblank events, sceVideoOutGetFlipStatus, buffers registered via
      sceVideoOutRegisterBuffers are valid flip targets.
    • New HLE: libc stdio (fopen/fread/fseek/ftell/fclose/fgets), Dinkumware
      _Getpctype ctype table, NpTrophy2 stubs, AMPR PAK sequential-read tracker,
      MsgDialog lifecycle, NGS2 alt NIDs + dummy vtable for handle objects,
      guarded memset intrinsic, abort()/strcasecmp null-arg recovery.
    • Removed investigation-only code (INT3 breakpoints, qfont/mcpp dumps,
      error-candidate printf traces, unconditional debug logs).

    First rendered frame: Quake (PPSA01880) presents a 1920x1080 guest frame.

    • Implemented a guarded native intrinsic (rep movsb) in DirectExecutionBackend to bypass HLE dispatch overhead, while preserving memory safety checks.
    Downloads