Enable PAL and NTSC build

This commit is contained in:
Jaby 2024-02-04 20:35:15 -05:00
parent d420e86d9b
commit 20e8e5d68c
13 changed files with 62 additions and 32 deletions

View File

@ -11,11 +11,11 @@
{
"label": "build",
"type": "shell",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} TV_FORMAT=${input:tv format} 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}",
"command": "make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} TV_FORMAT=${input:tv format}",
},
"group": {
"kind": "build",
@ -30,7 +30,7 @@
{
"label": "read memory map",
"type": "shell",
"command": "psxreadmap.exe ${input:output memory map} application/bin/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": {
@ -61,6 +61,13 @@
"default": "all",
"description": "the build target"
},
{
"id": "tv format",
"type": "pickString",
"options": ["PAL", "NTSC"],
"default": "PAL",
"description": "TV format to use"
},
{
"id": "output memory map",
"type": "pickString",

View File

@ -1,5 +1,3 @@
BUILD_DIR = bin
OVERLAY_CONFIG = Overlays.json
include $(JABY_ENGINE_DIR)/mkfile/Wildcard.mk

View File

@ -5,12 +5,12 @@
</Description>
<Track>
<File name = "SYSTEM.CNF">System.cnf</File>
<Main name = "XXXX_AAA.AA" lba_source = "../application/src/asset_mgr.cpp">../application/bin/PSX-release/PoolBox.psexe</Main>
<Overlay name = "CTO.BIN" lba_source = "../application/src/Overlay/ControllerTest/controller_test_assets.cpp">../application/bin/PSX-release/Overlay.controller_tests</Overlay>
<Overlay name = "GTO.BIN" lba_source = "../application/src/Overlay/GPUTest/gpu_test_assets.cpp">../application/bin/PSX-release/Overlay.gpu_tests</Overlay>
<Overlay name = "GTE.BIN">../application/bin/PSX-release/Overlay.gte_tests</Overlay>
<Overlay name = "FCO.BIN">../application/bin/PSX-release/Overlay.font_cycler</Overlay>
<Overlay name = "SCO.BIN">../application/bin/PSX-release/Overlay.screen_center</Overlay>
<Main name = "XXXX_AAA.AA" lba_source = "../application/src/asset_mgr.cpp">../application/bin/%TV_FORMAT%/PSX-release/PoolBox.psexe</Main>
<Overlay name = "CTO.BIN" lba_source = "../application/src/Overlay/ControllerTest/controller_test_assets.cpp">../application/bin/%TV_FORMAT%/PSX-release/Overlay.controller_tests</Overlay>
<Overlay name = "GTO.BIN" lba_source = "../application/src/Overlay/GPUTest/gpu_test_assets.cpp">../application/bin/%TV_FORMAT%/PSX-release/Overlay.gpu_tests</Overlay>
<Overlay name = "GTE.BIN">../application/bin/%TV_FORMAT%/PSX-release/Overlay.gte_tests</Overlay>
<Overlay name = "FCO.BIN">../application/bin/%TV_FORMAT%/PSX-release/Overlay.font_cycler</Overlay>
<Overlay name = "SCO.BIN">../application/bin/%TV_FORMAT%/PSX-release/Overlay.screen_center</Overlay>
<Directory name="ASSETS" hidden = "true">
<Directory name = "MAIN">

View File

@ -1,13 +1,18 @@
CD_OUTPUT ?= $(ARTIFACT).bin
ifndef TV_FORMAT
$(error TV_FORMAT is not set!)
endif
CD_OUTPUT ?= $(TV_FORMAT)/$(ARTIFACT).bin
$(CD_OUTPUT): always
psxcdgen_ex --list $(ARTIFACT).lba -o $(ARTIFACT) psx bin-cue Config.xml
@mkdir -p $(TV_FORMAT)
psxcdgen_ex --list $(TV_FORMAT)/$(ARTIFACT).lba -o $(TV_FORMAT)/$(ARTIFACT) psx bin-cue Config.xml
all: $(CD_OUTPUT)
clean:
rm -fr *.bin
rm -fr *.cue
rm -fr *.lba
rm -fr $(TV_FORMAT)/*.bin
rm -fr $(TV_FORMAT)/*.cue
rm -fr $(TV_FORMAT)/*.lba
always: ;

View File

@ -8,7 +8,7 @@ desubstitute = $(subst !JABYENGINEMODULES,$(JABY_ENGINE_DIR)/include/modules,$(s
PLATFORM ?= PSX
#Build profile, possible values: release, debug, profile, coverage
BUILD_DIR ?= bin
BUILD_DIR ?= bin/$(TV_FORMAT)
BUILD_PROFILE ?= debug
TV_FORMAT ?= PAL

View File

@ -20,10 +20,10 @@
"label": "make",
"type": "shell",
"windows": {
"command": "wsl make ${input:target} BUILD_PROFILE=${input:build cfg}",
"command": "wsl make ${input:target} BUILD_PROFILE=${input:build cfg} TV_FORMAT=${input:tv format}",
},
"linux": {
"command": "make ${input:target} BUILD_PROFILE=${input:build cfg}",
"command": "make ${input:target} BUILD_PROFILE=${input:build cfg} TV_FORMAT=${input:tv format}",
},
"group": "build"
}
@ -36,6 +36,13 @@
"default": "release",
"description": "build configuration"
},
{
"id": "tv format",
"type": "pickString",
"options": ["PAL", "NTSC"],
"default": "PAL",
"description": "TV format to use"
},
{
"id": "target",
"type": "pickString",

View File

@ -2,7 +2,6 @@ include ../../mkfile/RebuildTarget.mk
JABY_ENGINE_DIR = ../../
ARTIFACT = libJabyEngine_$(TV_FORMAT)
BUILD_DIR = bin
SPLASH_IMAGE = src/BootLoader/splash_image_pal_boot.hpp
SPLASH_IMAGE_NTSC = src/BootLoader/splash_image_ntsc_boot.hpp

View File

@ -11,7 +11,12 @@
{
"label": "build",
"type": "shell",
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} TV_FORMAT=${input:tv format} 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} TV_FORMAT=${input:tv format}",
},
"group": {
"kind": "build",
"isDefault": true
@ -25,7 +30,7 @@
{
"label": "read memory map",
"type": "shell",
"command": "psxreadmap.exe ${input:output memory map} application/bin/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": {
@ -56,6 +61,13 @@
"default": "all",
"description": "the build target"
},
{
"id": "tv format",
"type": "pickString",
"options": ["PAL", "NTSC"],
"default": "PAL",
"description": "TV format to use"
},
{
"id": "output memory map",
"type": "pickString",
@ -67,7 +79,8 @@
},
"settings": {
"C_Cpp.default.includePath": [
"${env:JABY_ENGINE_PATH}/include"
"${env:JABY_ENGINE_PATH}/include",
"${env:JABY_ENGINE_PATH}/Support/include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.cStandard": "c17",

View File

@ -1,7 +1,7 @@
ARTIFACT = #{ProjectName}
make_assets = $(MAKE) $(1) ARTIFACT=$(ARTIFACT) -C assets
make_application = $(MAKE) $(1) ARTIFACT=$(ARTIFACT) -C application
make_cd = $(MAKE) $(1) ARTIFACT=$(ARTIFACT) -f $(JABY_ENGINE_DIR)/lib/ISOTarget.mk -C iso
make_cd = $(MAKE) $(1) ARTIFACT=$(ARTIFACT) -C iso
all clean rebuild: |assets_$(MAKECMDGOALS) application_$(MAKECMDGOALS) cd_$(MAKECMDGOALS)

View File

@ -1,14 +1,13 @@
BUILD_DIR = bin
#OVERLAY_CONFIG = Overlays.json
include $(JABY_ENGINE_DIR)/lib/Wildcard.mk
SRCS = $(call rwildcard, src, c cpp)
INCLUDES += -I$(JABY_ENGINE_DIR)/include
#INCLUDES += -I$(JABY_ENGINE_DIR)/Support/include
#Example for using Support libs
#SUPPORT_LIBS += FontWriter
include $(JABY_ENGINE_DIR)/lib/Makefile
include $(JABY_ENGINE_DIR)/lib/PSEXETarget.mk
include $(JABY_ENGINE_DIR)/mkfile/Makefile
include $(JABY_ENGINE_DIR)/mkfile/PSEXETarget.mk

View File

@ -1,5 +1,5 @@
include $(JABY_ENGINE_DIR)/lib/ExportPath.mk
include $(JABY_ENGINE_DIR)/lib/RebuildTarget.mk
include $(JABY_ENGINE_DIR)/mkfile/ExportPath.mk
include $(JABY_ENGINE_DIR)/mkfile/RebuildTarget.mk
OUTPUT_DIR = bin

View File

@ -5,6 +5,6 @@
</Description>
<Track>
<File name="SYSTEM.CNF">System.cnf</File>
<Main name="XXXX_AAA.AA">../application/bin/PSX-release/#{ProjectName}.psexe</Main>
<Main name="XXXX_AAA.AA">../application/bin/%TV_FORMAT%/PSX-release/#{ProjectName}.psexe</Main>
</Track>
</ISO_Project>

View File

@ -0,0 +1,2 @@
include $(JABY_ENGINE_DIR)/mkfile/ISOMakefile.mk
include $(JABY_ENGINE_DIR)/mkfile/RebuildTarget.mk