diff --git a/homebrew/Wolf4SDL/build.sh b/homebrew/Wolf4SDL/build.sh
new file mode 100755
index 0000000..779951f
--- /dev/null
+++ b/homebrew/Wolf4SDL/build.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+# Copyright (C) 2026 John Törnblom
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING. If not see
+# .
+
+SCRIPT_PATH="$(realpath "${BASH_SOURCE[0]}")"
+SCRIPT_DIR="$(dirname "${SCRIPT_PATH}")"
+
+if [[ -z "$PS5_PAYLOAD_SDK" ]]; then
+ if [ -z "${PS5_PAYLOAD_SDK}" ]; then
+ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
+ fi
+fi
+
+source "${PS5_PAYLOAD_SDK}/toolchain/prospero.sh" || exit 1
+
+cd "${SCRIPT_DIR}"
+rm -rf shareware registered payloads
+
+if [[ "$1" == "clean" ]]; then
+ exit 0
+fi
+
+set -e
+
+mkdir shareware
+mkdir registered
+mkdir payloads
+
+# Shareware site: https://beta.wolf3d.net/games/29/downloads/4477.
+
+cp -v ${PS5_SYSROOT}/${PS5_HBROOT}/bin/wolf3d-registered payloads/wolf3d-registered.elf
+cp -v ${PS5_SYSROOT}/${PS5_HBROOT}/bin/wolf3d-shareware payloads/wolf3d-shareware.elf
+
+# Wolfenstien 3D v1.4 shareware.
+mkdir tmp
+wget -O tmp/shareware.zip "https://beta.wolf3d.net/file-download/download/private/4457"
+unzip tmp/shareware.zip -d tmp
+mv tmp/*.WL1 shareware
+rm -rf tmp
\ No newline at end of file
diff --git a/homebrew/Wolf4SDL/homebrew.js b/homebrew/Wolf4SDL/homebrew.js
new file mode 100644
index 0000000..a942033
--- /dev/null
+++ b/homebrew/Wolf4SDL/homebrew.js
@@ -0,0 +1,64 @@
+/* Copyright (C) 2026 John Törnblom
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3, or (at your option) any
+later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; see the file COPYING. If not, see
+. */
+
+
+async function main() {
+ const CWD = window.workingDir;
+
+ return {
+ mainText: "Wolf4SDL",
+ secondaryText: 'Source port for Wolfenstein 3D',
+ onclick: async () => {
+ // Assemble payloads path, so it's not cluttered with other stuff confusing the end user.
+ const payloads_path = CWD + '/' + 'payloads';
+
+ // Select elf.
+ let payload_full_path = await pickFile(payloads_path, 'Select ELF...', true);
+ // 2 sanity checks.
+ if(!payload_full_path) {
+ return;
+ }
+
+ if(!payload_full_path.startsWith('/')) {
+ payload_full_path = ApiClient.getNetworkShareHttpProxyUrl(payload_full_path);
+ }
+
+ // Extract the basename of payload at / for detection.
+ const payload_basename = payload_full_path.split('/').pop();
+
+ let game_basename = '';
+
+ if (payload_basename === 'wolf3d-registered.elf') {
+ game_basename = 'registered';
+ } else if (payload_basename === 'wolf3d-shareware.elf') {
+ game_basename = 'shareware';
+ }
+
+ // Assemble full path to be used for saves and configs, in a self contained manner.
+ const game_full_path = window.workingDir + '/' + game_basename;
+
+ const ARGS = [ '--configdir', `${game_full_path}`,
+ '--datadir', `${game_full_path}`,
+ ];
+
+ return {
+ path: payload_full_path,
+ cwd: CWD,
+ args: ARGS,
+ };
+ },
+ };
+}
diff --git a/homebrew/Wolf4SDL/sce_sys/icon0.png b/homebrew/Wolf4SDL/sce_sys/icon0.png
new file mode 100644
index 0000000..92a50da
Binary files /dev/null and b/homebrew/Wolf4SDL/sce_sys/icon0.png differ