pspdev / pspdev/pspdev.github.io

Add PRX/Stub Library Example/Guide

Open
#103 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
13
Forks
11
Avg merge
8h 12m
Merged PRs (30d)
1

Description

Dynamic Link is an essential part in PSP Programming. It's also the foundation of PSPSDK and CFW. However, current website doesn't include such guide on how to write export table, generate .S stub etc. One has to dive into Makefiles to figure out the complete process.

I'd like to add a guide to the current website that includes:

  • How to build PRX for others to use

    • How to write C code for PRX program (module_start/module_stop)
    • How to write export table
    • How to use psp-build-exports -b to convert export table into C code
    • How to write correct Makefile (-nostartfiles flags etc)
    • How to generate .S file using psp-build-exports -k
    • How to generate .a Stub Library using psp-ar
  • How to load PRX dynamically

    • System Calls such as sceKernelLoadModule, sceKernelFindModuleByUID, sceKernelStartModule (? Not quite familiar with this part)
    • What .S file does and how psp-fixup-imports works
  • Other Topics

    • Kernel Module / User Module(?) Calling Constraints(?)

Looking forward to your suggestions!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by surveying the current website and the existing Makefiles that the issue says readers must inspect. Research the PRX build and dynamic-loading workflow around psp-build-exports, psp-ar, psp-fixup-imports, and the listed system calls. Done means the website has a coherent guide covering the requested build, loading, stub-library, and module-constraint topics.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.