Add PRX/Stub Library Example/Guide

Aberta
#103 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
32/100
Tipo de issue
Documentação
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
c
Domínio
documentation

Direção de pesquisa

Comece examinando o site atual e os Makefiles existentes que, de acordo com a issue, os leitores devem inspecionar. Pesquise o workflow de build e dynamic-loading do PRX em torno de psp-build-exports, psp-ar, psp-fixup-imports e das chamadas de sistema listadas. O trabalho estará concluído quando o site tiver um guia coerente cobrindo os tópicos solicitados sobre build, carregamento, bibliotecas stub e restrições de módulos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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!

Linguagem predominante
C
Estrelas
13
Forks
11
Merge médio
1h 26min
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de pspdev/pspdev.github.io

Todas as issues de pspdev/pspdev.github.io

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.