Move old setup to legacy folder for now
This commit is contained in:
54
Legacy/Library/Code/Makefile
Normal file
54
Legacy/Library/Code/Makefile
Normal file
@@ -0,0 +1,54 @@
|
||||
BINDIR ?= bin/
|
||||
PCSX_REDUX ?= ../../../../GIT/pcsx-redux/src/mips
|
||||
PSYQ_PATH ?= ../../../../PSYQ/Converted
|
||||
TARGET = JabyEngine
|
||||
TYPE = ps-exe
|
||||
BUILD = Release
|
||||
|
||||
#OVERLAYSCRIPT ?= overlay.ld
|
||||
#OVERLAYSECTION ?= .ovly0 .ovly1
|
||||
|
||||
rwildcard = $(wildcard $(addprefix $1/*.,$2)) $(foreach d,$(wildcard $1/*),$(call rwildcard,$d,$2))
|
||||
|
||||
#Source list
|
||||
SRCS = $(call rwildcard, src, c cpp)
|
||||
SRCS += $(PCSX_REDUX)/common/crt0/crt0.s
|
||||
|
||||
CPPFLAGS += -I$(PSYQ_PATH)/Include -D_WCHAR_T
|
||||
|
||||
LDFLAGS += -L$(PSYQ_PATH)/Lib
|
||||
LDFLAGS += -Wl,--start-group
|
||||
LDFLAGS += -lapi
|
||||
LDFLAGS += -lc
|
||||
LDFLAGS += -lc2
|
||||
LDFLAGS += -lcard
|
||||
LDFLAGS += -lcomb
|
||||
LDFLAGS += -lds
|
||||
LDFLAGS += -letc
|
||||
LDFLAGS += -lgpu
|
||||
LDFLAGS += -lgs
|
||||
LDFLAGS += -lgte
|
||||
LDFLAGS += -lgun
|
||||
LDFLAGS += -lhmd
|
||||
LDFLAGS += -lmath
|
||||
LDFLAGS += -lmcrd
|
||||
LDFLAGS += -lmcx
|
||||
LDFLAGS += -lpad
|
||||
LDFLAGS += -lpress
|
||||
LDFLAGS += -lsio
|
||||
LDFLAGS += -lsnd
|
||||
LDFLAGS += -lspu
|
||||
LDFLAGS += -ltap
|
||||
LDFLAGS += -lcd
|
||||
LDFLAGS += -Wl,--end-group
|
||||
|
||||
ifdef USE_JABY_MAKE
|
||||
include Wrapper.mk
|
||||
else
|
||||
include $(PCSX_REDUX)/common.mk
|
||||
endif
|
||||
|
||||
fullclean: clean
|
||||
rm -fr iso/Info/* bin/GlobalLBATable.bin
|
||||
|
||||
rebuild: fullclean all
|
||||
19
Legacy/Library/Code/Wrapper.mk
Normal file
19
Legacy/Library/Code/Wrapper.mk
Normal file
@@ -0,0 +1,19 @@
|
||||
#this makefile translates from NUGGET make to JabyMake
|
||||
ARTIFACT = JabyEngine
|
||||
|
||||
BUILD_DIR = bin
|
||||
ifeq ($(BUILD),Release)
|
||||
BUILD_PROFILE := release
|
||||
else
|
||||
BUILD_PROFILE := debug
|
||||
endif
|
||||
|
||||
CCFLAGS_all := $(CPPFLAGS)
|
||||
LIBS := $(LDFLAGS)
|
||||
|
||||
undefine CPPFLAGS
|
||||
undefine LDFLAGS
|
||||
undefine BUILD
|
||||
|
||||
#include the real make file
|
||||
include ../Makefile
|
||||
4
Legacy/Library/Code/iso/JabyEngine.cnf
Normal file
4
Legacy/Library/Code/iso/JabyEngine.cnf
Normal file
@@ -0,0 +1,4 @@
|
||||
BOOT=cdrom:\SCES_003.90;1
|
||||
TCB=4
|
||||
EVENT=10
|
||||
STACK=801FFFF0
|
||||
36
Legacy/Library/Code/iso/JabyEngineISODesc.xml
Normal file
36
Legacy/Library/Code/iso/JabyEngineISODesc.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<iso_project image_name="iso/JabyEngine.bin" cue_sheet="iso/JabyEngine.cue" no_xa="0">
|
||||
<track type="data">
|
||||
<identifiers
|
||||
system = "PLAYSTATION"
|
||||
application = "PLAYSTATION"
|
||||
volume = "MYDISC"
|
||||
volume_set = "MYDISC"
|
||||
publisher = "JABY"
|
||||
data_preparer = "MKPSXISO"
|
||||
copyright = "COPYLEFT"
|
||||
/>
|
||||
<license file="../../PSYQ/psyq/cdgen/LCNSFILE/LICENSEE.DAT"/>
|
||||
<directory_tree>
|
||||
<file name="SYSTEM.CNF" type="data" source="Library/Code/iso/JabyEngine.cnf"/>
|
||||
<file name="SCES_003.90" type="data" source="Library/Code/bin/PSX-release/JabyEngine.psexe"/>
|
||||
|
||||
<dir name="XB">
|
||||
<file name="FOX.XA" type="xa" source="Ressource/fox.xa"/>
|
||||
<file name="SHARK.XA" type="xa" source="Ressource/shark.xa"/>
|
||||
<file name="FOXSHK.XA" type="xa" source="Ressource/fox_shark_sub.xa"/>
|
||||
<file name="FXSHKT.XA" type="xa" source="Ressource/fox_shark_sub_vtx.xa"/>
|
||||
</dir>
|
||||
|
||||
<dir name="XA">
|
||||
<file name="FOX.XA" type="xa" source="Ressource/fox.xa"/>
|
||||
<file name="SHARK.XA" type="xa" source="Ressource/shark.xa"/>
|
||||
<file name="FOXSHK.XA" type="xa" source="Ressource/fox_shark_sub.xa"/>
|
||||
<file name="FXSHKT.XA" type="xa" source="Ressource/fox_shark_sub_vtx.xa"/>
|
||||
</dir>
|
||||
<!--<dummy sectors="1024"/>-->
|
||||
</directory_tree>
|
||||
</track>
|
||||
<track type="audio" source="D:\PSX\projects\NEXTGPU\data\Burg.wav"/>
|
||||
<track type="audio" source="D:\PSX\projects\VS2019\JabyPhew\JabyPhew\Ressources\shark.wav"/>
|
||||
</iso_project>
|
||||
6
Legacy/Library/Code/iso/JabyEngineLBAFile.json
Normal file
6
Legacy/Library/Code/iso/JabyEngineLBAFile.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"Output":"Library/Code/bin/GlobalLBATable.bin",
|
||||
"Input":"Library/Code/iso/Info/JabyEngine.lba",
|
||||
"Order": [
|
||||
]
|
||||
}
|
||||
94
Legacy/Library/Code/src/Audio/XAAudio.cpp
Normal file
94
Legacy/Library/Code/src/Audio/XAAudio.cpp
Normal file
@@ -0,0 +1,94 @@
|
||||
#include "XAAudio.h"
|
||||
#include <STDDEF.H>
|
||||
#include <LIBSND.H>
|
||||
|
||||
namespace XAAudio
|
||||
{
|
||||
static constexpr int BigSectorSize = 2340;
|
||||
|
||||
static CdlCB oldCallback = nullptr;
|
||||
static CdlLOC curLoc;
|
||||
static int curChannel;
|
||||
|
||||
static u_char buffer[(sizeof(u_long)*8)];
|
||||
|
||||
static u_short getChannel(u_char *buffer)
|
||||
{
|
||||
const u_short currentChannel = *((unsigned short *)(buffer + 12) + 1);
|
||||
return ((currentChannel&31744) >> 10);
|
||||
}
|
||||
|
||||
static u_short getID(u_char *buffer)
|
||||
{
|
||||
return *(u_short*)(buffer + 12);
|
||||
}
|
||||
|
||||
void cbready(int intr, u_char *result)
|
||||
{
|
||||
static const u_short VideoFrameID = 352;
|
||||
|
||||
if(intr == CdlDataReady)
|
||||
{
|
||||
CdGetSector((u_long*)buffer, 8);
|
||||
|
||||
const u_short ID = getID(buffer);
|
||||
const u_short actChannel = getChannel(buffer);
|
||||
|
||||
if((ID == VideoFrameID) && (actChannel == curChannel))
|
||||
{
|
||||
CdControlF(CdlReadS, (u_char*)&curLoc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void enable(bool doubleSpeed)
|
||||
{
|
||||
// setup the XA playback - adjust the speed as needed by your XA samples
|
||||
u_char param[4];
|
||||
|
||||
param[0] = (((doubleSpeed) ? CdlModeSpeed : 0x0)|CdlModeRT|CdlModeSF|CdlModeSize1);
|
||||
|
||||
CdControlB(CdlSetmode, param, 0);
|
||||
CdControlF(CdlPause, 0);
|
||||
|
||||
oldCallback = CdReadyCallback((CdlCB)cbready);
|
||||
}
|
||||
|
||||
void disable()
|
||||
{
|
||||
// reset any callback that we replaced
|
||||
CdControlF(CdlPause, 0);
|
||||
CdReadyCallback(oldCallback);
|
||||
|
||||
// clear XA mode
|
||||
u_char param = 0x0;
|
||||
CdControlB(CdlSetmode, ¶m, 0);
|
||||
}
|
||||
|
||||
void play(const CdlLOC &file, int channel)
|
||||
{
|
||||
CdlFILTER theFilter;
|
||||
|
||||
curLoc = file;
|
||||
curChannel = channel;
|
||||
|
||||
// set the volume to max
|
||||
SsSetSerialVol(SS_SERIAL_A, 127, 127);
|
||||
|
||||
// set up the XA filter
|
||||
theFilter.file = 1;
|
||||
theFilter.chan = channel;
|
||||
CdControlF(CdlSetfilter, (u_char*)&theFilter);
|
||||
|
||||
// begin playing
|
||||
CdControlF(CdlReadS, (u_char*)&file);
|
||||
}
|
||||
|
||||
CdlLOC locate(const char* fileName)
|
||||
{
|
||||
CdlFILE file = {0};
|
||||
|
||||
CdSearchFile(&file, const_cast<char*>(fileName));
|
||||
return file.pos;
|
||||
}
|
||||
}
|
||||
16
Legacy/Library/Code/src/Audio/XAAudio.h
Normal file
16
Legacy/Library/Code/src/Audio/XAAudio.h
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifndef XAAUDIO_H
|
||||
#define XAAUDIO_H
|
||||
#include <STDDEF.H>
|
||||
#include <LIBCD.H>
|
||||
|
||||
namespace XAAudio
|
||||
{
|
||||
void enable(bool doubleSpeed);
|
||||
void disable();
|
||||
|
||||
void play(const CdlLOC &file, int channel);
|
||||
|
||||
CdlLOC locate(const char* fileName);
|
||||
}
|
||||
|
||||
#endif // !XAAUDIO_H
|
||||
74
Legacy/Library/Code/src/JabyEngine.cpp
Normal file
74
Legacy/Library/Code/src/JabyEngine.cpp
Normal file
@@ -0,0 +1,74 @@
|
||||
#include "Audio/XAAudio.h"
|
||||
#include "JabyEngine.h"
|
||||
#include <types.h>
|
||||
#include <libcd.h>
|
||||
#include <libetc.h>
|
||||
#include <libgte.h>
|
||||
#include <libgpu.h>
|
||||
#include <libsnd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
static CdlLOC TOC[100] = {0};
|
||||
|
||||
static void setup() {
|
||||
ResetCallback();
|
||||
//ResetGraph(0);
|
||||
|
||||
CdInit();
|
||||
CdSetDebug(3);
|
||||
|
||||
SetVideoMode(MODE_PAL);
|
||||
SsSetTickMode(SS_TICK50);
|
||||
|
||||
//SetDispMask(1);
|
||||
}
|
||||
|
||||
static int fill_toc() {
|
||||
u_char param[4] = {0};
|
||||
|
||||
param[0] = CdlModeRept|CdlModeDA; // report ON / CD-DA ON
|
||||
|
||||
CdControlB(CdlSetmode, param, 0);
|
||||
return CdGetToc(TOC); // TOC
|
||||
}
|
||||
|
||||
static void play_track(int track, int track_count) {
|
||||
for(int n = 0; n < track_count; n++) {
|
||||
const auto& cur_toc = TOC[n];
|
||||
printf("Track %i.) starts at %x:%x:%x\n", n, cur_toc.minute, cur_toc.second, cur_toc.sector);
|
||||
}
|
||||
|
||||
CdControlB(CdlSetloc, reinterpret_cast<u_char*>(&TOC[track]), 0); // seek to start of track "track"
|
||||
CdControlB(CdlPlay, 0, 0); // play track
|
||||
}
|
||||
|
||||
static void play_xa_track(const char* name, int channel) {
|
||||
CdlFILE file;
|
||||
|
||||
if(CdSearchFile(&file, const_cast<char*>(name)) == nullptr)
|
||||
{
|
||||
printf("Couldn't locate file %s on disk!\n", name);
|
||||
return;
|
||||
}
|
||||
|
||||
XAAudio::enable(true);
|
||||
XAAudio::play(file.pos, 1);
|
||||
}
|
||||
|
||||
int main() {
|
||||
setup();
|
||||
const int track_count = fill_toc();
|
||||
|
||||
printf("Hello Planschi!\nI found %i tracks\n", track_count);
|
||||
|
||||
#ifdef USE_CDDA
|
||||
//Play CDDA
|
||||
play_track(2, track_count);
|
||||
#else
|
||||
//Play CDXA
|
||||
play_xa_track("\\XA\\FXSHKT.XA;1", 0);
|
||||
#endif
|
||||
|
||||
while(true);
|
||||
return 0;
|
||||
}
|
||||
4
Legacy/Library/Code/src/JabyEngine.h
Normal file
4
Legacy/Library/Code/src/JabyEngine.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#ifndef JABYENGINE_H
|
||||
#define JABYENGINE_H
|
||||
|
||||
#endif //!JABYENGINE_H
|
||||
Reference in New Issue
Block a user