• This repository has been archived on 13/Oct/2019
  • Stars
    star
    1,021
  • Rank 45,070 (Top 0.9 %)
  • Language
    C
  • Created over 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source PS4 SDK

PS4 SDK

An open source PlayStation 4 SDK for writing userland applications which can be run with the PS4-playground.

Building and installing

You will need LLVM version 3.7 or later for compiling, and binutils for linking (from MinGW if you are on Windows).

Clone this repository locally, or download and extract a ZIP of the repository here.

Then create an environment variable called, PS4SDK which points to the base directory of the repository, using the Unix path style; for example:

/C/Users/Chris/Documents/GitHub/PS4-SDK

Build the libraries by running make on the libPS4 and libusbfatfs directories.

Finally, you can build examples by running make on them.

Design

At the moment, it is primarily focused on system calls.

However, using function pointers and the RESOLVE macro, we can call functions from other modules. For example, the socket functions from libSceNet.sprx.

Support

Whilst the SDK isn't capable of most basic functionality yet, such as displaying graphics, or receiving controller input, there are workarounds: rendering to an HTML5 canvas, and using third party USB controllers, or a DS/PSP wirelessly for example.

The SDK is currently in a state where projects like an FTP server, a mini Pong game, or GameBoy emulator could be developed.

Examples

hello - Load libc module and perform getpid system call

sockets - Send a message over a TCP socket

modules - Load and dump a module

threads - Create and wait for a thread to increment a variable

canvas - Render to an HTML5 canvas

camera - Initialise the PlayStation Camera and capture 10 frames

pad - Read controller input (not finished)

jit - Setting up JIT shared memory

Filesystem

directories - List the contents of a directory

files - Read a file's size, and its contents

USB

list_devices - List information about all USB devices connected

storage - Read raw image from a USB flash drive

usbfatfs - Read files from USB formatted with FAT

More Repositories

1

FreeDVDBoot

PlayStation 2 DVD Player Exploit
C
2,196
star
2

Cinoop

Multiplatform Game Boy emulator
C
493
star
3

PS4-playground

A set of PS4 experiments using the WebKit exploit
JavaScript
251
star
4

3DSController

C
214
star
5

JuSt-ROP

JavaScript ROP framework
JavaScript
133
star
6

PS2-Yabasic-Exploit

PS2 exploit for demo discs containing Yabasic that allows arbitrary code execution.
Assembly
72
star
7

GameBoy_GhidraSleigh

Ghidra Processor support for Nintendo Game Boy
60
star
8

cturt.github.io

HTML
50
star
9

shogihax

Remote code execution exploit against Morita Shogi 64 for Nintendo 64
C
47
star
10

CFW-Suite

Tools which can be used to create a custom firmware for the Nintendo DS
C
41
star
11

dsgmLib

C
36
star
12

LDFS

OpenGL Windowing System
C
26
star
13

TCP-Dump

Dumps TCP packets
C
19
star
14

NiFiCapture

Capture local wireless 802.11 traffic, 'NiFi', on Nintendo DS
C
14
star
15

WiFi-Loader

Send a file over TCP
C
12
star
16

dsgmDSWiFi

A fork of http://sourceforge.net/projects/devkitpro/files/dswifi/
C
12
star
17

PS4-Pong

Makefile
10
star
18

CTC

Lossless compression algorithm
C
9
star
19

DARA

Collection of save game exploits for FIFA games to run unsigned code on the DS
C
9
star
20

PS4-Loader

C
8
star
21

Exception

Small library for exception handling in C
C
7
star
22

HTTP

Simple HTTP server in C
C
6
star
23

CTC2

Lossless compression algorithm
C
6
star
24

IconExtractor

Extract the icon from a DS ROM
C
6
star
25

bin2u32

Makefile
5
star
26

Preoop

Experimental object orientation for C via the preprocessor
C
4
star
27

ARM-Pong

Makefile
3
star
28

HTTP-client

C
3
star
29

MD2Combiner

Combines all frames from two MD2s into one MD2
C
2
star
30

dsgmGfx

C#
1
star
31

GameOfLifeDS

Makefile
1
star