7 Commits

Author SHA1 Message Date
Jaby
4089bdbe92 Update attributes 2024-12-31 20:00:27 +01:00
Jaby
8b2ab62640 Update readme again 2024-12-31 19:54:44 +01:00
Jaby
6dfb9106e3 Update documentation 2024-12-31 19:46:15 +01:00
Jaby
42286db6b7 Update readme 2024-12-31 19:22:26 +01:00
Jaby
b612420032 Update rust versions 2024-12-31 18:57:47 +01:00
Jaby
70efef7f30 Update readme 2024-12-31 18:41:59 +01:00
Jaby
8ab478162c Update assets 2024-12-31 18:36:02 +01:00
204 changed files with 13832 additions and 13855 deletions

2
.gitattributes vendored
View File

@@ -2,5 +2,3 @@
*.wav filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.TMD filter=lfs diff=lfs merge=lfs -text
* text=auto eol=lf

6
bin/convert2cdda.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
#Made possible by Cody the white tiger
# $1 => Input file
# $2 => Output file
ffmpeg -i $1 -sample_fmt s16 -ar 44100 $2

BIN
bin/extern/32BIT.TMD (Stored with Git LFS) vendored

Binary file not shown.

9
bin/run_pop_fe.sh Normal file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
#Made possible by Cody the white tiger
BASEDIR=$(dirname "$0")
cd $BASEDIR
source extern/py3venv/bin/activate
cd extern/pop-fe/
./pop-fe.py --title=$1 --ps1-newemu --cover=$2/Icon.png --pic0=$2/Title.png --pic1=$2/Background.png --ps3-pkg="${3%.*}.pkg" $3

View File

@@ -1,6 +0,0 @@
# Known bugs
- [Known bugs](#known-bugs)
- [`psxreadmap` is not functional under Linux](#psxreadmap-is-not-functional-under-linux)
## `psxreadmap` is not functional under Linux
Key input seems not work under any version under Linux...

View File

@@ -2,7 +2,7 @@
- [JabyEngine Documentation](#jabyengine-documentation)
- [Features](#features)
- [Known limitations](#known-limitations)
- [Bugs](#bugs)
- [Observed bugs](#observed-bugs)
## Features
- [Auto LBAs](./Features/auto_lba.md)
@@ -10,6 +10,5 @@
## Known limitations
- Insufficient documentation
### Bugs
- [Known bugs](./Bugs/known_bugs.md)
## Observed bugs
- [Observed bugs](./Bugs/observed_bugs.md)

View File

@@ -11,17 +11,32 @@
{
"label": "build",
"type": "shell",
"command": "${env:JABY_ENGINE_PATH}/scripts/podman_jaby_engine.sh ${workspaceFolder}:. make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config}",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
},
"linux": {
"command": "make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config}",
},
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
},
{
"label": "read memory map",
"type": "shell",
"command": "${env:JABY_ENGINE_PATH}/bin/psxreadmap ${input:output memory map} application/bin/${input:tv format}/PSX-${input:build profile}/PoolBox.elf",
"command": "psxreadmap.exe ${input:output memory map} application/bin/${input:tv format}/PSX-${input:build profile}/PoolBox.elf",
"problemMatcher": [],
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
}
],
"inputs": [
@@ -58,7 +73,7 @@
"type": "command",
"command": "shellCommand.execute",
"args": {
"command": "echo \"|<Default>\" && ls -d */",
"command": "echo ^|^<Default^> && dir /b /a:d",
"cwd": "${env:JABY_ENGINE_PATH}/config",
"fieldSeparator": "|"
}

21
license
View File

@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2025 Jaby
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -8,7 +8,7 @@ $(CD_OUTPUT): always
$(PKG_OUTPUT): always
@mkdir -p $(REGION)
@echo "!!PKG generation is experimentel!!"
run_pop_fe.sh $(ARTIFACT) $(shell pwd)/../assets/pkg $(shell pwd)/$(REGION)/$(ARTIFACT).cue
run_pop_fe.sh $(ARTIFACT) $(PWD)/assets/pkg $(PWD)/iso/$(REGION)/$(ARTIFACT).cue
all: $(CD_OUTPUT)
clean: pkg_clean

View File

@@ -10,7 +10,7 @@ PLATFORM ?= PSX
#Build profile, possible values: release, debug, profile, coverage
BUILD_DIR ?= bin/$(PSX_TV_FORMAT)
BUILD_PROFILE ?= debug
PSX_TV_FORMAT ?= PAL
PSX_TV_FORMAT ?= PAL
CONFIG_NAME ?= $(PLATFORM)-$(BUILD_PROFILE)
OUTPUT_DIR = $(BUILD_DIR)/$(CONFIG_NAME)

View File

@@ -1,19 +0,0 @@
FROM "ubuntu:22.04"
WORKDIR /usr/scripts
ADD ["scripts/make_gcc.sh", "/usr/scripts"]
WORKDIR /tmp
RUN apt update && /usr/scripts/make_gcc.sh
WORKDIR /usr/scripts
ADD ["scripts/install_rust.sh", "/usr/scripts"]
RUN apt update && ./install_rust.sh
ADD ["scripts/install_pop-fe.sh", "scripts/run_pop_fe.sh", "/usr/scripts"]
WORKDIR /usr/jaby_engine/bin/extern
RUN apt update && /usr/scripts/install_pop-fe.sh
WORKDIR /project
ENV PATH="/jaby_engine/bin:/root/.cargo/bin:${PATH}"
ENV JABY_ENGINE_PATH=/jaby_engine
ENV JABY_ENGINE_DIR=/jaby_engine
ENV PSX_LICENSE_PATH=/psx_license

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
podman build -t jaby_engine .
if [[ -z "${JABY_ENGINE_PATH}" ]]; then
echo "Setting JABY_ENGINE_PATH to parent folder"
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
export JABY_ENGINE_PATH="$(dirname "$SCRIPT_DIR")"
if cat /etc/passwd | grep $USER | grep bash > /dev/null; then
# Bash found
echo "export JABY_ENGINE_PATH="$JABY_ENGINE_PATH"" >> ~/.bashrc
else
# No bash found
echo "Please add export JABY_ENGINE_PATH="$JABY_ENGINE_PATH" to your shell profile"
fi
fi

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
# Made possible by Cody the white tiger
echo "<<< Install pop-fe >>>"
apt-get install -y cmake python-is-python3 python3 python3-pip python3-venv pkg-config libiso9660-dev libsndfile1-dev swig libsndfile-dev ffmpeg mame-tools cmake wget unzip
git clone --recursive https://github.com/sahlberg/pop-fe
pip3 install pytubefix PyPDF2 requests pycdlib ecdsa tkinterdnd2 opencv-contrib-python rarfile scikit-learn scipy
make -C pop-fe/PSL1GHT/tools/ps3py/
cmake -B pop-fe/atracdenc/src/ -S pop-fe/atracdenc/src/
make -C pop-fe/atracdenc/src/
cd pop-fe
./pop-fe.py --install
echo "<<< Register pop-fe >>>"
ln -s /usr/scripts/run_pop_fe.sh /usr/local/bin/run_pop_fe.sh

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
echo "<<< Install Rust prerequisites >>>"
apt install -y curl
RUST_VERSION=1.78.0
echo "<<< Install Rust $RUST_VERSION >>>"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=$RUST_VERSION -y
. "$HOME/.cargo/env"
cargo install cargo-edit --locked

View File

@@ -1,65 +0,0 @@
#!/usr/bin/env bash
echo "<<< Install GCC prerequisites >>>"
apt install -y make texinfo g++ gcc git libgmp3-dev libmpfr-dev libmpc-dev flex install-info info bison
GCC_VERSION=13.1.0
echo "<<< Build GCC >>>"
mkdir -p psx-gcc
cd psx-gcc
echo "<<< clone binutils >>>"
git clone git://sourceware.org/git/binutils-gdb.git
cd binutils-gdb
mkdir -p build
cd build
echo "<<< Configure binutils >>>"
../configure --target=mipsel-linux-gnu --with-sysroot --disable-nls --disable-werror
if [ $? -ne 0 ]; then
exit 1
fi
echo "<<< Make binutils >>>"
make -j$(nproc)
if [ $? -ne 0 ]; then
exit 1
fi
echo "<<< Install binutils >>>"
make -j$(nproc) install
if [ $? -ne 0 ]; then
exit 1
fi
cd ../..
echo "<<< clone gcc >>>"
git clone --recurse-submodules git://gcc.gnu.org/git/gcc.git
cd gcc
echo "<<< checkout gcc $GCC_VERSION >>>"
git checkout "releases/gcc-$GCC_VERSION"
mkdir -p build
cd build
echo "<<< configure gcc >>>"
../configure --target=mipsel-linux-gnu --disable-nls --enable-languages=c,c++ --without-headers
if [ $? -ne 0 ]; then
exit 1
fi
echo "<<< Make gcc >>>"
make -j$(nproc) all-gcc
if [ $? -ne 0 ]; then
exit 1
fi
echo "<<< Install gcc >>>"
make -j$(nproc) install-gcc
if [ $? -ne 0 ]; then
exit 1
fi
echo "<<< Delete GCC folder >>>"
cd /tmp
rm -fr psx-gcc

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
# Made possible by Cody the white tiger
cd /usr/jaby_engine/bin/extern/pop-fe
./pop-fe.py --title=$1 --ps1-newemu --cover=$2/Icon.png --pic0=$2/Title.png --pic1=$2/Background.png --ps3-pkg="${3%.*}.pkg" $3

View File

@@ -1,52 +1,33 @@
- [JabyEngine](#jabyengine)
- [About](#about)
- [How to build](#how-to-build)
- [Building `Tools` (without VS Code)](#building-tools-without-vs-code)
- [Building `JabyEngine` (without VS Code)](#building-jabyengine-without-vs-code)
- [Building support library (without VS Code)](#building-support-library-without-vs-code)
- [Building `JabyEngine` (without VSCode)](#building-jabyengine-without-vscode)
- [Building support library (without VSCode)](#building-support-library-without-vscode)
- [`FontWriter` (without VSCode)](#fontwriter-without-vscode)
- [Building `PoolBox` (without VSCode)](#building-poolbox-without-vscode)
- [Media creators](#media-creators)
- [JabyEngine](#jabyengine-1)
- [PoolBox](#poolbox)
- [Special thanks](#special-thanks)
- [Support this project](#support-this-project)
# JabyEngine
## About
JabyEngine is my personal attempt to eventually make my own PS1 game from "ground up". Originally I didn't indented to release this code publicly but recently I decided to give it a try. If you read this, thank you!
## How to build
JabyEngine can be build with a docker image using `podman`. Simply run the `install.sh` script from the `podman` folder and you should be good to go.
`podman_jaby_engine.sh` allows you to easily run the docker image for builds:
`podman_jaby_engine.sh <project mounting folder>:<working directory relative to project mounting folder> <Command to run> <Arg1> <Args2> <...>`
JabyEngine relies on linux to be build. For Windows users it uses `wsl` instead but support for it might get dropped during further development.
The following environment variables should be set:
* `JABY_ENGINE_PATH`: The path to the root folder of this repo. If you used the `install.sh` script and the environment variable was not set, the script will have set it to the folder. Restarting the shell or VS Code might be required.
* `JABY_ENGINE_PATH`: The path to the root folder of this repo
* `PSX_LICENSE_PATH`: The path to a folder containing the PS1 licenses for generating a CD.
Additionally you can also specify the following optional environment variables:
* `JABY_ENGINE_NO_DOCKER`: Turns off the usage of `podman` for builds. This is only recommended for specific development.
VS Code has build targets set for all the projects which should be build in this order:
* `src/Tools/Tools.code-workspace`: Build all tools
* `src/Library/Library.code-workspace`: Build JabyEngine for the configurations you need
* `support/src/SupportLibrary.code-workspace` (optional): Build for using support code
* `examples/PoolBox/PoolBox.code-workspace`(optional): Build for an example "game"
### Building `Tools` (without VS Code)
`make` requires the following values to be passed:
* `CARGO_CMD`: `build`
* `BUILD_PROFILE`: `debug`/`release`
### Building `JabyEngine` (without VS Code)
### Building `JabyEngine` (without VSCode)
`make` requires the following values to be passed:
* `BUILD_PROFILE`: `debug`/`release`
* `PSX_TV_FORMAT`: `PAL`/`NTSC`
* `CUSTOM_CONFIG`: Empty or folder name under `./config`
### Building support library (without VS Code)
### Building support library (without VSCode)
These projects shall eventually turn into useful extensions for the engine. So far they are more tests then proper code. However `PoolBox` is depended on `FontWriter`.
#### `FontWriter` (without VSCode)
@@ -63,10 +44,9 @@ These projects shall eventually turn into useful extensions for the engine. So f
# Media creators
## JabyEngine
| Art | Author |
|-----------------------------------------------------------------|------------------------------------------------------------|
| `ressources\Splash_ntsc.png` <br/> `ressources\Splash_ntsc.png` | Niuka |
| `bin/extern/32BIT.TMD` | http://psx.arthus.net/homebrew/assets/boot_logos/32BIT.TMD |
| Art | Author |
|-----------------------------------------------------------------|--------|
| `ressources\Splash_ntsc.png` <br/> `ressources\Splash_ntsc.png` | Niuka |
## PoolBox
| Art | Author |
@@ -89,8 +69,3 @@ These projects shall eventually turn into useful extensions for the engine. So f
* Nicolas Noble
* Pyravia
* Sickle
# Support this project
* Try it out
* Open Issues or Pull Requests
* [Support it on KoFi](https://ko-fi.com/jabyspielkiste)

View File

@@ -1,25 +0,0 @@
#!/usr/bin/env bash
JABY_ENGINE_DOT_FOLDER="$HOME/.jaby_engine"
JABY_ENGINE_CARGO_FOLDER="$JABY_ENGINE_DOT_FOLDER/cargo/registry"
if [[ -n "${PSX_LICENSE_PATH}" ]]; then
LICENSE_MOUNT="-v ${PSX_LICENSE_PATH}:/psx_license"
else
LICENSE_MOUNT=
fi
PROJECT_PATH_ARR=(${1//:/ })
PROJECT_PATH=${PROJECT_PATH_ARR[0]}
PROJECT_WORK_DIR=${PROJECT_PATH_ARR[1]}
shift
if [[ -z "${JABY_ENGINE_NO_DOCKER}" ]]; then
mkdir -p $JABY_ENGINE_CARGO_FOLDER
podman run --rm -it -v $JABY_ENGINE_CARGO_FOLDER:/root/.cargo/registry -v ${JABY_ENGINE_PATH}:/jaby_engine -v ${PROJECT_PATH}:/project $LICENSE_MOUNT -w /project/$PROJECT_WORK_DIR jaby_engine $@
else
echo "WARNING! You are not running in podman"
export JABY_ENGINE_DIR=$JABY_ENGINE_PATH
export PATH="$JABY_ENGINE_PATH/bin:${PATH}"
cd $PROJECT_PATH/$PROJECT_WORK_DIR
$@
fi

View File

@@ -19,13 +19,23 @@
{
"label": "make",
"type": "shell",
"command": "../../scripts/podman_jaby_engine.sh ../../:src/Library make ${input:target} BUILD_PROFILE=${input:build cfg} PSX_TV_FORMAT=${input:tv format} CUSTOM_CONFIG=${input:config options}",
"windows": {
"command": "wsl make ${input:target} BUILD_PROFILE=${input:build cfg} PSX_TV_FORMAT=${input:tv format} CUSTOM_CONFIG=${input:config options}",
},
"linux": {
"command": "make ${input:target} BUILD_PROFILE=${input:build cfg} PSX_TV_FORMAT=${input:tv format} CUSTOM_CONFIG=${input:config options}",
},
"group": "build"
},
{
"label": "make_all",
"type": "shell",
"command": "../../scripts/podman_jaby_engine.sh ../../:src/Library make -f MakeAll.mk ${input:target prefix}_${input:target} BUILD_PROFILE=${input:build cfg} CUSTOM_CONFIG=${input:config options}",
"windows": {
"command": "wsl make -f MakeAll.mk ${input:target prefix}_${input:target} BUILD_PROFILE=${input:build cfg} CUSTOM_CONFIG=${input:config options}",
},
"linux": {
"command": "make -f MakeAll.mk ${input:target} BUILD_PROFILE=${input:build cfg}",
},
"group": "build"
}
],
@@ -49,7 +59,7 @@
"type": "command",
"command": "shellCommand.execute",
"args": {
"command": "echo \"|<Default>\" && ls -d */",
"command": "echo ^|^<Default^> && dir /b /a:d",
"cwd": "${workspaceFolder}/../../config",
"fieldSeparator": "|"
}
@@ -71,7 +81,7 @@
]
},
"extensions": {
"recommendations": ["augustocdias.tasks-shell-input", "cantonios.project-templates"]
"recommendations": ["augustocdias.tasks-shell-input"]
},
"settings": {
"cmake.configureOnOpen": false,

View File

@@ -31,4 +31,5 @@ define cargo_unix_default
)
endef
# Run `cargo install cargo-edit --locked`to support upgrade
# Windows build requires "rustup target add x86_64-pc-windows-gnu" and "sudo apt-get install mingw-w64"

View File

@@ -6,14 +6,23 @@
],
"settings": {
"cargo_task": [
"./ all!All",
"cpp_out all!cpp_out",
"mkoverlay all!mkoverlay",
"psxcdgen_ex all!psxcdgen_ex",
"psxcdread all!psxcdread",
"psxfileconv all!psxfileconv",
"psxreadmap all!psxreadmap",
"wslpath all!wslpath",
"./ all!Unix: All",
"cpp_out all!Unix: cpp_out",
"mkoverlay all!Unix: mkoverlay",
"psxcdgen_ex all!Unix: psxcdgen_ex",
"psxcdread all!Unix: psxcdread",
"psxfileconv all!Unix: psxfileconv",
"psxreadmap all!Unix: psxreadmap",
"wslpath all!Unix: wslpath",
"./ all-windows!Windows: All",
"cpp_out all-windows!Windows: cpp_out",
"mkoverlay all-windows!Windows: mkoverlay",
"psxcdgen_ex all-windows!Windows: psxcdgen_ex",
"psxcdread all-windows!Windows: psxcdread",
"psxfileconv all-windows!Windows: psxfileconv",
"psxreadmap all-windows!Windows: psxreadmap",
"wslpath all-windows!Windows: wslpath"
]
},
"tasks": {
@@ -25,11 +34,26 @@
"group": {
"kind": "build"
},
"command": "../../scripts/podman_jaby_engine.sh ../../:src/Tools make -C ${input:linux_cargo_task} CARGO_CMD=${input:cargo cmd} BUILD_PROFILE=${input:build cfg}",
"windows": {
"command": "wsl --shell-type login make -C ${input:windows_cargo_task} CARGO_CMD=${input:cargo cmd} BUILD_PROFILE=${input:build cfg}"
},
"linux": {
"command": "make -C ${input:linux_cargo_task} BUILD_PROFILE=${input:build cfg}"
},
"problemMatcher": []
}
],
"inputs": [
{
"id": "windows_cargo_task",
"type": "command",
"command": "shellCommand.execute",
"args": {
"command": "powershell",
"commandArgs": ["-command", "'${config:cargo_task}'.Replace(',',\"`n\")"],
"fieldSeparator": "!"
}
},
{
"id": "linux_cargo_task",
"type": "command",
@@ -49,7 +73,7 @@
{
"id": "cargo cmd",
"type":"pickString",
"options": ["build", "check", "upgrade", "clean", "run", "tree"],
"options": ["build", "check", "update", "upgrade", "clean", "run", "tree"],
"default": "build",
"description": "cargo command to run"
}

View File

@@ -1,3 +1,4 @@
JABY_ENGINE_DIR = ../../..
include $(JABY_ENGINE_DIR)/mkfile/common/RebuildTarget.mk
ARTIFACT = libFontWriter

View File

@@ -1,6 +1,6 @@
.PHONY: FontWriter
FontWriter:
FontWriter: always
$(MAKE) -C $(JABY_ENGINE_DIR)/support/src/FontWriter $(MAKECMDGOALS)
all: FontWriter
always: ;

View File

@@ -19,7 +19,15 @@
{
"label": "make",
"type": "shell",
"command": "../../scripts/podman_jaby_engine.sh ${workspaceFolder}/..:src/FontWriter make ${input:target} BUILD_PROFILE=${input:build cfg}",
"windows": {
"command": "wsl make ${input:target} BUILD_PROFILE=${input:build cfg}",
},
"linux": {
"command": "make ${input:target} BUILD_PROFILE=${input:build cfg}",
},
"options": {
"cwd": "${workspaceFolder}/FontWriter"
},
"group": "build"
}
],

View File

@@ -11,17 +11,32 @@
{
"label": "build",
"type": "shell",
"command": "${env:JABY_ENGINE_PATH}/scripts/podman_jaby_engine.sh ${workspaceFolder}:. make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config}",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
},
"linux": {
"command": "make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} REGION=${input:region} CUSTOM_CONFIG=${input:custom config}",
},
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
},
{
"label": "read memory map",
"type": "shell",
"command": "${env:JABY_ENGINE_PATH}/bin/psxreadmap ${input:output memory map} application/bin/${input:tv format}/PSX-${input:build profile}/#{ProjectName}.elf",
"command": "psxreadmap.exe ${input:output memory map} application/bin/${input:tv format}/PSX-${input:build profile}/#{ProjectName}.elf",
"problemMatcher": [],
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
}
],
"inputs": [
@@ -58,7 +73,7 @@
"type": "command",
"command": "shellCommand.execute",
"args": {
"command": "echo \"|<Default>\" && ls -d */",
"command": "echo ^|^<Default^> && dir /b /a:d",
"cwd": "${env:JABY_ENGINE_PATH}/config",
"fieldSeparator": "|"
}

6
template/install.bat Normal file
View File

@@ -0,0 +1,6 @@
echo off
set dst_name=JabyEngine-PSX_Game
set dst="%APPDATA%\Code\User\ProjectTemplates\%dst_name%"
mkdir %dst%
xcopy /s %dst_name% %dst%

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
dst="$HOME/.config/Code/User/ProjectTemplates"
mkdir -p $dst
cp -r "JabyEngine-PSX_Game" "$dst"

View File

@@ -0,0 +1,42 @@
#!/bin/bash
#Made possible by Cody the white tiger
BASEDIR=$(dirname "$0")
mkdir -p $BASEDIR/../bin/extern/
cd $BASEDIR/../bin/extern
sudo apt install -y python3 python3-pip python3-venv pkg-config libiso9660-dev libsndfile1-dev swig
if ! test -d py3venv; then
python3 -m venv py3venv
fi
source py3venv/bin/activate
pip3 install ecdsa wheel pillow rarfile PyPDF2 requests opencv-contrib-python pycryptodome pycdio pycdlib
if ! test -d pop-fe; then
git clone https://github.com/sahlberg/pop-fe
fi
if ! test -d Cue2cu2; then
git clone https://github.com/NRGDEAD/Cue2cu2
cp Cue2cu2/cue2cu2.py pop-fe
fi
cd pop-fe
if ! test -d atracdenc; then
git clone https://github.com/dcherednik/atracdenc.git
cd atracdenc/src/
cmake .
make
cd ../..
fi
if ! test -d PSL1GHT; then
git clone https://github.com/sahlberg/PSL1GHT
cd PSL1GHT/tools/ps3py
git checkout origin/use-python3
make
fi
#if ! test -f /usr/local/bin/python; then
# sudo ln -s $(which python3) /usr/local/bin/python
#fi

View File

@@ -0,0 +1,2 @@
#!/bin/bash
sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

55
wsl_scripts/make_gcc.sh Normal file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
mkdir -p psx-gcc
cd psx-gcc
echo "clone binutils"
git clone git://sourceware.org/git/binutils-gdb.git
cd binutils-gdb
mkdir -p build
cd build
echo "Configure binutils"
../configure --target=mipsel-linux-gnu --with-sysroot --disable-nls --disable-werror
if [ $? -ne 0 ]; then
exit 1
fi
echo "Make binutils"
make
if [ $? -ne 0 ]; then
exit 1
fi
echo "Install binutils"
sudo make install
if [ $? -ne 0 ]; then
exit 1
fi
cd ../..
echo "clone gcc"
git clone --recurse-submodules git://gcc.gnu.org/git/gcc.git
cd gcc
echo "checkout gcc 13.1.0"
git checkout releases/gcc-13.1.0
mkdir -p build
cd build
echo "configure gcc"
../configure --target=mipsel-linux-gnu --disable-nls --enable-languages=c,c++ --without-headers
if [ $? -ne 0 ]; then
exit 1
fi
echo "Make gcc"
make all-gcc
if [ $? -ne 0 ]; then
exit 1
fi
echo "Install gcc"
sudo make install-gcc
if [ $? -ne 0 ]; then
exit 1
fi

View File

@@ -0,0 +1,3 @@
#!/bin/bash
sudo apt update
sudo apt install make texinfo g++ gcc libgmp3-dev libmpfr-dev libmpc-dev flex install-info info bison