Ps3-dev
Les plugins et applications PS3 Cobra/EVILNAT VSH, construits avec le SDK officiel de Sony sur FW 4.75, plus les Windows outils qui les construisent et les...
Choisir une liste...
ps3-dev
Les plugins et applications PS3 Cobra/EVILNAT VSH, construits avec le SDK officiel de Sony sur FW 4.75, plus les Windows outils qui les construisent et les nourrissent.
Mise en page
ps3-dev/
├── common/
│ ├── ps3.targets shared MSBuild (warnings-as-errors, -O2, clean)
│ ├── npdrm.targets shared NPDRM packaging post-build for apps
│ └── prx.targets shared PRX signing post-build for plugins
├── libs/
│ ├── simple-lib-core/ cross-context primitives (printf, dbg, file, VFS + exFAT/NTFS, http, ftp, thread, wire, log-backlog, bridge-client)
│ ├── simple-lib-app/ static library for apps (gfx, font, pad, screen, anim, ui)
│ ├── simple-lib-av/ audio + H.264/AAC video playback (mixer, demux, decode, streaming source)
│ ├── simple-lib-https/ modern TLS (BearSSL) — the HTTPS transport the firmware can't do
│ ├── simple-lib-torrent/ BitTorrent: peers, magnets, trackers, piece checking and storage
│ ├── simple-lib-wireguard/ WireGuard client, with its own TCP and DNS inside the tunnel
│ ├── simple-lib-plugin/ header-only PRX-only extras (vsh NID stubs, module hook/inspect)
│ ├── libvshtask_export_stub.a
│ └── libvshmain_export_stub.a
├── apps/
│ ├── app-sample/ demo app showcasing engine features
│ ├── cell-stream/ plays a live stream of a Windows PC, and sends the pad back
│ ├── file-manager/ PS3 file browser, flat themeable UI (image/audio/video/text/hex viewers)
│ ├── renpy-player/ runs Ren'Py visual novels packaged as .rpk
│ ├── swarm/ torrent client that speaks its own WireGuard tunnel
│ ├── thermal-bench/ heat, fan and clock test tool, saves every run for comparison
│ └── yo-player/ native YouTube client (streams video + audio directly)
├── plugins/
│ ├── simple-cd-info/ puts album and track names back on the XMB for audio CDs
│ ├── simple-cheat-menu/ in-game cheat overlay, synced with the shared cheat repo
│ ├── simple-debug-bridge/ remote debug/control over TCP (port 8785)
│ ├── simple-disc-mount/ mounts ISOs from an XMB submenu
│ └── simple-ftp/ anonymous, binary-only FTP server on port 21
├── tools/
│ ├── debug-bridge-client/ Windows host app: HTTP proxy to the on-console bridge (Logs, install, mem/file)
│ ├── cell-stream-server/ PC side of cell-stream: captures, encodes, and takes the pad back
│ ├── sprite-packer/ packs sprite PNGs into atlas + C header
│ ├── xml-to-sfo/ generates PARAM.SFO from XML
│ ├── nid-dump/ dumps firmware NIDs for symbol resolution
│ ├── patch-studio/ makes texture patches from textures dumped on the console
│ ├── renpy-to-ps3/ packages Ren'Py visual novels to run on PS3
│ ├── rco-studio/ GUI for editing PS3 XMB resource files (RCOs)
│ ├── theme-studio/ GUI to author PS3 static + dynamic 3D themes (.p3t)
│ ├── pkg-custom/ builds the .pkg during an app build
│ └── scetool/ PRX signing tool + keys
├── out/ build outputs (.sprx plugins, .pkg apps)
└── README.md
Infrastructure de construction partagée
Tous les fichiers PS3 vcxproj importéscommon/ps3.targetsqui prévoit:
-O2optimisation-Wall(tous les avertissements sont activés)-Werror(avertissements comme erreurs)- Nettoyage personnalisé qui essuie
bin/etobj/sommaire
Importation supplémentaire de projets d'applicationcommon/npdrm.targetsqui gère le pipeline d'emballage NPDRM complet (make fself npdrm → copier les actifs → make package npdrm → déplacer le résultat.pkgàout/<projectname>.pkg). Le nom de fichier déterministe est cedeploy.ps1compte sur pour les installs app.
Construire et déployer
Toutes les constructions PS3 fonctionnent à l'intérieur de Windows 7 VM via SSH (dev/vmbuild.ps1).
L'hôte local Windows n'invoque jamais directement le SDK Sony.
dev/vmbuild.ps1 <plugins|apps|libs|tools> <name> [Build|Rebuild|Clean] [Release|Debug]
Construire un timbre
Chaque construction est estampillée avec<commit count>-<commit>plus-dirtyquand elle
comprend les modifications qui n'ont jamais été engagées (seulement les modifications souslibs/ou les
le nombre de dossiers du projet).vmbuild.ps1fonctionne de git — le VM a
pas de git — et le livre à msbuild, qui le passe au compilateur comme
BUILD_NAME/BUILD_STAMP. Chaque application et plugin l'enregistre au démarrage via
logBuildVersion(), doncdbg.txtdit qui construit produit, et le
commit indique quelle source. Les applications portent également le numéro de construction commeAPP_VER, qui
la console affiche dans l'écran d'information du jeu.
Une construction a commencé n'importe quel autre moyen (msbuild ou Visual Studio directement) timbres
unknown, puisque rien ne l'a tracé à un commit.
deploy.ps1est le point d'entrée unique "build + install on the live PS3".
Il détecte automatiquement si<name>est un plugin ou une application de la mise en page du dossier:
dev/deploy.ps1 simple-debug-bridge -RestartXmb # plugin: -RestartXmb when self-replacing
dev/deploy.ps1 file-manager # app: restart-xmb is automatic
dev/deploy.ps1 app-sample -NoClean # app: keep existing /dev_hdd0/game/<TID>/
Les plugins sont téléchargés commeout/<name>.sprxparvsh-plugin-install. Les applications sont
téléchargé commeout/<name>.pkgparpkg-install, qui extrait l' emballage
on-device (pas de boîte de dialogue d'installation XMB) dans/dev_hdd0/game/<TITLE_ID>/. Les deux
chemins requisdebug-bridge-client.exeen cours d'exécution sur l'hôte et le PS3
plugin de pont accessible.
Bibliothèques
simple-lib-core
Raccourcis transcontextaux partagés par les plugins PRX et les applications : drop-in
printf, l'enregistrement horodaté nivelé (dbg)/déracinéVFS(vfs)
avec manuscrit intégréexFATetNT2lecteur/rédacteur pour
USB amovible (exfat/ntfs+ le partageusb-storagecouche de l'appareil)
aide aux fichiers (file) route à travers, un transport-agnostiqueHTTP(S)client
(http, avec opt-in firmware-cellHttp ou BearSSL backends), le partage anonyme
FTPserveur (ftp), fil PPU frayer (thread) , utilitaires de chaîne , encadré TCP
Protocole additionnel (wire), anneau de log avant connexion (log-backlog) et du côté du producteur
client de pont (bridge-client). Construit avec-fno-builtin-printf -nodefaultlibsil se connecte en toute sécurité àvsh.self. Doit apparaître
avantStubs SDK dans l'ordre des liens ou le PRX en silence ne parvient pas à
chargement.
simple-lib-app
Bibliothèque statique réutilisable pour les applications. Fournit un rendu 2D, police,
entrée, cycle de vie d'écran, animation, palette de couleurs, et composants d'interface utilisateur
(étiquette, chapelure, image, tranche, case à cocher, cercle, ligne, rectangle,
triangle). Lien des applicationslibsimple-lib-app.aet inclure les en-têtes de
libs/simple-lib-app/include/. Construit sur le dessus desimple-lib-core.
simple-lib-av
Lecture audio + vidéo pour applications : mélangeur audio multi-stream (WAV / OGG / MP3 /
FLAC) et la pile vidéo H.264/AAC (enveloppes de cellules Vdec/cellAdec, MKV + MP4
demuxers comprenant MP4, une sonde d'en-tête et une source recherchée
lit à partir d'un fichier local ouhttp(s)://URL). Construit sursimple-lib-core; applications
qui dessinent la vidéo aussi besoinsimple-lib-appVoirlibs/simple-lib-av/README.md.
simple-lib-https
TLS moderne autonome (BearSSL sur les prises brutes) qui atteint les hôtes
Le TLS uniquement RSA du firmware ne peut pas (certificats ECDSA, par exemple Cloudflare). Il se branche comme le
transports modernesderrièresimple-lib-corele module http : une application appelle
initModernHttp()et chaquefetchHttp/openHttpStreamc'est le cas de BearSSL. Ajouter
~80 KB, il est donc opt-in et apps-only. Voirlibs/simple-lib-https/README.md.
simple-lib-fireguard
Un client WireGuard écrit à partir du protocole : la poignée de main, le crypto
les besoins (ChaCha20-Poly1305, BLAKE2s, X25519), et un TCP et DNS manuscrits en haut,
donc le trafic d'une application quitte la console à l'intérieur du tunnel plutôt qu'à côté.
Voirlibs/simple-lib-wireguard/README.md.
simple-lib-torrent
Les parties d'un client BitTorrent qui ne dépendent pas de la façon dont le trafic sort:
les pairs (BEP 3), les liaisons magnétiques (BEP 9/10), les traceurs UDP (BEP 15), la vérification des pièces et
stockage. L'application lui prête un réseau, qui pour Swarm signifie le tunnel.
Voirlibs/simple-lib-torrent/README.md.
simple-lib-plugin
Librairie en-tête uniquement pour les extras PRX seulement : stubs VSH NID (vsh.h) et
aide au crochet/inspection du module (module-hook.h,module-inspect.h). Aucune archive
sortie — plugins juste ajouter soninclude/chemin. Les trampolines LV2 et
tous les autres assistants non spécifiques au PRX (printf, dbg, VFS, ...)simple-lib-core.
Greffons
simple-cd-info
Remettre l'album, l'artiste et les noms de pistes sur le XMB quand un CD audio entre. Le service
console utilisée pour cela a été fermé il y a des années, donc le firmware actuel montre "Track 1, Track 2, ...".
Les noms proviennent plutôt de la base de données gnudb. Rien à configurer. Voir
plugins/simple-cd-info/README.mdpour plus de détails.
menu simple-chaleur
Dans le jeu tricher superpose. Une courte pression PS sur un jeu en cours d'exécution ouvre un panneau énumérant ce titre
tricher; basculer un patchs la mémoire du jeu en direct (cobra syscall-8) et vérifier l'écriture
atterri. Les cheats sont téléchargés par titre depuis le partage
game-cheatsrepo, et les joueurs peuvent marquer un travail de triche ou
échoué — ces votes deviennent un score de foule plus un verdict par construction "est-ce que ce travail sur votre copie".
Voirplugins/simple-cheat-menu/README.mdpour plus de détails.
simple disque
Ajoute un sous-menu "Mount Disc Image" sous "Package Manager" dans les jeux XMB
colonne, liste de chaque.isodans/dev_hdd0/PS3ISO. Sélection d'un élément de montage
c'est un disque Blu-ray virtuel via des syscalls Cobra. Utilise Sonywebrender_plugincomme point d'entrée pour déclencher le montage depuis le menu XMB. Voir
plugins/simple-disc-mount/README.mdpour plus de détails.
simple-ftp
Serveur FTP minimal: PASV-seulement, binaire-seulement, anonyme. Écoute sur :21 une fois
XMB est prêt. Jusqu'à deux sessions simultanées. Accès complet au système de fichiers, y compris
lecteurs USB exFAT (montés via le VFS partagé et/exfat0...). Voir
plugins/simple-ftp/README.mdpour plus de détails.
Applications
app-échantillon
App de démonstration montrant les caractéristiques du moteur: RSX 2D, polices système, audio,
animation, entrée et cycle de vie écran/overlay. Voir
apps/app-sample/README.mdpour plus de détails.
flux cellulaire
Jouer un flux live d'un PC Windows sur la console: image et son vers le bas, le pad back up, dans le
mode de jeu à distance Steam. 720p60 sur WiFi avec environ 25 ms de l'encodeur à l'écran, donc
les jeux sont jouables. Le pad arrive sur le PC soit comme souris et clavier, soit comme Xbox
contrôleur. Le côté PC esttools/cell-stream-serverVoirapps/cell-stream/README.mdpour plus de détails.
gestionnaire de fichiers
Navigateur de fichiers PS3 avec une interface utilisateur à thème. Fonctions répertoire listing avec type de fichier
icônes, cases à cocher, navigation de la chapelure, hold-to-scroll, recherche, visionneuses d'images/audio/vidéo,
un éditeur de texte et visionneur hexagonal, accès lecture/écriture àlecteurs USB exFAT et NTFS(par
VFS partagé, avec hotplug), un serveur FTP intégré, et un système de thème d'exécution (Original Blue /
Lumière / Dark, interrupteur avec R1, editable par l'utilisateurthemes.txt). Voir
apps/file-manager/README.mdpour plus de détails.
lecteur renpy
Exécute des romans visuels Ren'Py sur la console. Il lit le.rpkle paquet quetools/renpy-to-ps3produit et joue le script lui-même: scènes, choix, sauvegardes et histoire, avec le texte de la machine à écrire
et les menus de jeu les originaux ont.
essaim
Client Torrent qui gère son propre VPN : le tunnel WireGuard est parlé par l'application, donc
trackers et pairs voient l'adresse du VPN et jamais celle de la console. Rechercher les sites
listé dans son dossier source, téléchargements sur le disque dur, et peut écrire sur le contenu
avant de le supprimer. Voirapps/swarm/README.mdpour plus de détails.
banc thermique
Outil de contrôle de la chaleur, du ventilateur et de l'horloge. Il montre ce que la console fait thermiquement, le met sous une
charge contrôlée, et enregistre chaque course, donc deux courses peuvent être comparées: avant contre après un repassage,
ou horloges de stock contre une overclock. Voirapps/thermal-bench/README.mdpour plus de détails.
yo-joueur
Client YouTube natif — parcourir les flux, rechercher, ouvrir les canaux et jouer jusqu'à 1080p
avec son, en streaming comme il joue (pas de PSN, pas d'annonces). Parler à YouTube directement, flux
H.264/AAC adaptative sur le module http (transport BearSSL), et saute la communauté
SponsorBlocksegments. Construit sursimple-lib-av+simple-lib-appVoir
apps/yo-player/README.mdpour plus de détails.
Outils
debug-bridge-client
Application hôte Windows qui se jumele avec la consolesimple-debug-bridgeplugin. Accueille une
proxy HTTP local àhttp://localhost:8786que tous les déploiements et les outils de pont Ps3 MCP
parler à, et fournit un onglet Logs (la source de vérité pour les journaux de console transmis),
Installer & Lancer, et transfert de mémoire/fichier. Voirtools/debug-bridge-client/README.md.
serveur de flux cellulaire
Côté Windowscell-streamapp. Capture le bureau, le code à H.264 sur les graphiques
carte, l'envoie à la console sur UDP, et transforme les paquets de pad en Xbox virtuelle
Contrôleur 360 (ViGEmBus) ou dans la souris et le clavier. Voirtools/cell-stream-server/README.md.
emballeur sprite
Deux modes.Mode Spriteemballe un répertoire de PNGs dans un atlas de puissance de 2 et
génère un en-tête C (sprite-regions.h) du nomSpriteRegioncoordonnées (utilisées
par la main-curseur de renpy-player).Mode icônestourne un Fontello TTF +config.jsondans un tableau d'octets intégré (icon-data.c) et un en-tête name→codepoint
(icon-ids.h) — la police d'icônes partagée par l'application simple-lib et ses applications.
xml-à-sfo
GénérationPARAM.SFOd'une source XML lisible par l'homme. Chaque application build l'exécute
(voircommon/npdrm.targets), en tapant le numéro de construction dansAPP_VERdonc
PARAM.SFOest une sortie de build plutôt qu'un fichier engagé.
nid-dump
Dumps firmware NIDs (symbol IDs) de modules PS3, pour résoudre les symboles VSH/système.
Voirtools/nid-dump/README.md.
patch-studio
Outil Windows pour faire des patchs de texture PS3. Les textures sont éliminées d'un jeu en cours d'exécution sur la console,
édité sur le PC, et renvoyé comme un patch quisimple-cheat-menus'applique dans le jeu. Rien n'est
injecté dans le jeu: textures sont échangées dans la mémoire vidéo et assortis par le contenu, donc un patch garde
travailler sur les remises et recharges. Voirtools/patch-studio/README.md.
renpy-to-ps3
Dark-theme WPF GUI qui convertit les jeux de Ren'Py en un seul.rpkbundle pour le lecteur renpy sur la console. Voirtools/renpy-to-ps3/README.md.
rco-studio
Thème sombre WPF GUI pour l'édition des fichiers de ressources PS3 XMB (RCO). Disques groupés rcomage +
GimConv pour supprimer les RCO pour modifier png/wav/xml, ajouter ou modifier des ressources, et recompiler avec
byte-exact vérifier. Non destructif (copies vierges + retour), avec jeux et partage
.rcopatchpatchs pour les workflows à thème entier, migration en un clic des mods pré-4.89
firmware courant, et FTP déployer directement sur la console dev aveugle. Voir
tools/rco-studio/README.md.
thème-studio
Éditeur WPF pour les thèmes PS3, y compris truethèmes 3D dynamiques— modèles, mouvements et lumières scénarisés
dans le PSJS de Sony — que le propre créateur de thème de Sony n'a jamais supporté. Construit des fonds personnalisés, des icônes,
curseurs et menu sonne dans un.p3t, avec un aperçu en direct qui joue la scène comme vous tapez,
projets autonomes, exemples de scripts travaillés et déploiement FTP. Voir
tools/theme-studio/README.md.
Licence
Licence Apache 2.0 — voirLICENSEetNOTICE. Composants tiers fournisseurs (BearSSL, Ogg Vorbis) conservent leurs propres licences.