Ps3-dev

mohasi mohasi
Dépôt créer le : 04/08/2026
Release du : 31/08/2026 174-a5dd795
Forks: 0 Watcher: 0 19
Choisir une liste...
FR

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 essuiebin/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.

Contributeurs GitHub

mohasi
mohasi
187 contributions