Files
griches--PS5_DevTools/payload/Makefile
T
Gary Riches e225e02256 PS5 DevTools: crash reports and memory graphs for PS5 homebrew
A resident payload that attaches to homebrew titles as their debugger,
writes a crash report (registers, every thread's backtrace, stack,
modules, code at the fault, memory before the crash) and shows a TV
notification, then hands the signal back. It samples every title's
memory (direct/GPU, heap, other), CPU and threads, and serves a
dashboard on port 9113. The host tool symbolicates reports against the
matching build's ELF, including reports a player sends as JSON.

Tested on firmware 13.60 with Super Mario Sunshine and SwitchWaker.

Claude-Session: https://claude.ai/code/session_016xMYBaR9GfxtETyVf6er1P
2026-10-14 15:50:36 +01:00

34 lines
823 B
Makefile

# PS5 DevTools - resident crash reporter and memory monitor.
# Copyright (C) 2026 Gary Riches
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Builds build/ps5devtools.elf, with web/dashboard.html inside it. Run
# tools/build.sh, which resolves PS5_PAYLOAD_SDK.
ifndef PS5_PAYLOAD_SDK
$(error PS5_PAYLOAD_SDK is undefined; run tools/build.sh)
endif
include $(PS5_PAYLOAD_SDK)/toolchain/prospero.mk
ROOT := $(abspath $(CURDIR)/..)
OUTPUT := $(ROOT)/build
ELF := $(OUTPUT)/ps5devtools.elf
DASHBOARD := $(ROOT)/web/dashboard.html
CFLAGS := -std=gnu11 -O2 -g -Wall -Wextra -Werror -Wno-unused-parameter -DDASHBOARD_PATH='"$(DASHBOARD)"'
LDLIBS := -lpthread
all: $(ELF)
$(ELF): main.c $(DASHBOARD) | $(OUTPUT)
$(CC) $(CFLAGS) -o $@ main.c $(LDLIBS)
$(OUTPUT):
mkdir -p $(OUTPUT)
clean:
rm -f $(ELF)
.PHONY: all clean