mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 14:07:29 -04:00
Minor fixes to match 7 JAS TUs
This commit is contained in:
+7
-7
@@ -656,7 +656,7 @@ config.libs = [
|
||||
Object(Matching, "JSystem/JAudio/JASCallback.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASRate.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASHardStream.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASHeapCtrl.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASHeapCtrl.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASResArcLoader.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASProbe.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASKernelDebug.cpp"),
|
||||
@@ -674,7 +674,7 @@ config.libs = [
|
||||
Object(Matching, "JSystem/JAudio/JASBank.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASWaveBank.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASBasicBank.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASBasicInst.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASBasicInst.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDrumSet.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASBasicWaveBank.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASSimpleWaveBank.cpp"),
|
||||
@@ -683,20 +683,20 @@ config.libs = [
|
||||
Object(NonMatching, "JSystem/JAudio/JASInstRand.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASWSParser.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASBNKParser.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASWaveArcLoader.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASWaveArcLoader.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASWaveBankMgr.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASBankMgr.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASAudioThread.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASAudioThread.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDSPBuf.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDSPChannel.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDSPInterface.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDriverIF.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASDSPInterface.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASDriverIF.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASChGlobal.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASChAllocQueue.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASChannel.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASChannelMgr.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASOscillator.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio/JASDriverTables.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/JASDriverTables.cpp"),
|
||||
Object(Matching, "JSystem/JAudio/dspproc.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(NonMatching, "JSystem/JAudio/dsptask.c", extra_cflags="-lang c++ -O4 -func_align 32"),
|
||||
Object(Matching, "JSystem/JAudio/osdsp.c", extra_cflags="-lang c++ -O4 -func_align 32 -str nopool"),
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace JASystem {
|
||||
void start(JKRSolidHeap*, u32, u32);
|
||||
|
||||
extern OSThread sAudioThread;
|
||||
extern u8 saAudioStack[4096];
|
||||
extern u8 saAudioStack[4096] __attribute__((aligned(32)));
|
||||
extern OSMessageQueue sAudioprocMQ;
|
||||
extern OSMessage saAudioMsgBuf[16];
|
||||
extern u32 sAudioprocMQInit;
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace JASystem {
|
||||
TBasicInst();
|
||||
~TBasicInst();
|
||||
bool getParam(int, int, TInstParam*) const;
|
||||
int getKeymapIndex(int) const;
|
||||
virtual int getKeymapIndex(int) const;
|
||||
void setKeyRegionCount(u32);
|
||||
void setEffectCount(u32);
|
||||
void setEffect(int, TInstEffect*);
|
||||
|
||||
@@ -8,8 +8,8 @@ namespace JASystem {
|
||||
extern f32 C5BASE_PITCHTABLE[];
|
||||
}
|
||||
namespace DSPInterface {
|
||||
extern u16 DSPADPCM_FILTER[];
|
||||
extern u16 DSPRES_FILTER[];
|
||||
extern u16 DSPADPCM_FILTER[] __attribute__((aligned(32)));
|
||||
extern u16 DSPRES_FILTER[] __attribute__((aligned(32)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ namespace JASystem {
|
||||
virtual ~TInst() {}
|
||||
virtual bool getParam(int, int, TInstParam*) const = 0;
|
||||
virtual u32 getType() const = 0;
|
||||
virtual int getKeymapIndex(int) const = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
OSThread JASystem::TAudioThread::sAudioThread;
|
||||
u8 JASystem::TAudioThread::saAudioStack[4096];
|
||||
OSMessageQueue JASystem::TAudioThread::sAudioprocMQ;
|
||||
OSMessage JASystem::TAudioThread::saAudioMsgBuf[16];
|
||||
|
||||
u32 JASystem::TAudioThread::sAudioprocMQInit;
|
||||
int JASystem::TAudioThread::sbIsPrioritySet;
|
||||
@@ -41,12 +42,10 @@ void JASystem::TAudioThread::syncAudio() {
|
||||
if (sAudioprocMQInit) {
|
||||
OSSendMessage(&sAudioprocMQ, NULL, OS_MESSAGE_NOBLOCK);
|
||||
}
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 80288F88-80289130 .text audioproc__Q28JASystem12TAudioThreadFPv */
|
||||
void* JASystem::TAudioThread::audioproc(void*) {
|
||||
/* Nonmatching */
|
||||
JKRThread thread(&sAudioThread, 0);
|
||||
i_OSInitFastCast();
|
||||
OSInitMessageQueue(&sAudioprocMQ, saAudioMsgBuf, 16);
|
||||
@@ -93,14 +92,14 @@ void* JASystem::TAudioThread::audioproc(void*) {
|
||||
|
||||
/* 80289130-802891F0 .text syncDSP__Q28JASystem12TAudioThreadFPv */
|
||||
void JASystem::TAudioThread::syncDSP(void*) {
|
||||
/* Nonmatching */
|
||||
while (!DSPCheckMailFromDSP()) {}
|
||||
u32 var1 = DSPReadMailFromDSP();
|
||||
if (var1 >> 16 != DSPInterface::JAS_DSP_PREFIX) {
|
||||
OSReport("----- syncDSP : Mail format error %x\n");
|
||||
OSReport("----- syncDSP : Mail format error %x\n", var1);
|
||||
return;
|
||||
}
|
||||
if ((var1 & 0xff00) == 0xff00) {
|
||||
switch (var1 & 0xff00) {
|
||||
case 0xff00:
|
||||
if (sAudioprocMQInit) {
|
||||
if (!OSSendMessage(&sAudioprocMQ, OSMessage(1), OS_MESSAGE_NOBLOCK)) {
|
||||
OSReport("----- syncDSP : Send Miss\n");
|
||||
@@ -108,8 +107,10 @@ void JASystem::TAudioThread::syncDSP(void*) {
|
||||
} else {
|
||||
DSPReleaseHalt();
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
default:
|
||||
DspFinishWork(var1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ JASystem::TBasicInst::~TBasicInst() {
|
||||
|
||||
/* 80284914-80284B4C .text getParam__Q28JASystem10TBasicInstCFiiPQ28JASystem10TInstParam */
|
||||
bool JASystem::TBasicInst::getParam(int key, int velo, TInstParam* param) const {
|
||||
/* Nonmatching */
|
||||
param->field_0x0 = 0;
|
||||
param->field_0x38 = 0;
|
||||
param->field_0x8 = mOsc;
|
||||
@@ -66,8 +65,8 @@ bool JASystem::TBasicInst::getParam(int key, int velo, TInstParam* param) const
|
||||
}
|
||||
const TKeymap* keymap = NULL;
|
||||
for (int i = 0; i < mKeyRegionCount; i++) {
|
||||
keymap = &mKeymap[i];
|
||||
if (key <= keymap->mBaseKey) {
|
||||
if (key <= mKeymap[i].mBaseKey) {
|
||||
keymap = &mKeymap[i];
|
||||
param->field_0x3c = i;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -133,16 +133,16 @@ void JASystem::DSPInterface::DSPBuffer::allocInit() {
|
||||
|
||||
/* 8028A574-8028A5D8 .text playStart__Q38JASystem12DSPInterface9DSPBufferFv */
|
||||
void JASystem::DSPInterface::DSPBuffer::playStart() {
|
||||
/* Nonmatching */
|
||||
field_0x10c = 0;
|
||||
field_0x60 = 0;
|
||||
field_0x8 = 1;
|
||||
field_0x66 = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int i;
|
||||
for (i = 0; i < 4; i++) {
|
||||
field_0x78[i] = 0;
|
||||
field_0xa8[i] = 0;
|
||||
}
|
||||
for (int i = 0; i < 20; i++) {
|
||||
for (i = 0; i < 20; i++) {
|
||||
field_0x80[i] = 0;
|
||||
}
|
||||
field_0x0 = 1;
|
||||
@@ -275,12 +275,12 @@ void JASystem::DSPInterface::DSPBuffer::flushChannel() {
|
||||
|
||||
/* 8028A828-8028A884 .text initFilter__Q38JASystem12DSPInterface9DSPBufferFv */
|
||||
void JASystem::DSPInterface::DSPBuffer::initFilter() {
|
||||
/* Nonmatching */
|
||||
for (int i = 0; i < 8; i++) {
|
||||
int i;
|
||||
for (i = 0; i < 8; i++) {
|
||||
field_0x120[i] = 0;
|
||||
}
|
||||
field_0x120[0] = 0x7fff;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
field_0x148[i] = 0;
|
||||
}
|
||||
field_0x148[0] = 0x7fff;
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
/* 8028A978-8028A9A0 .text init__Q28JASystem6DriverFv */
|
||||
void JASystem::Driver::init() {
|
||||
/* Nonmatching */
|
||||
DSPInterface::initBuffer();
|
||||
TDSPChannel::initAll();
|
||||
TGlobalChannel::init();
|
||||
@@ -19,9 +18,16 @@ void JASystem::Driver::init() {
|
||||
|
||||
u16 JASystem::Driver::MAX_MIXERLEVEL = 0x2ee0;
|
||||
|
||||
static void dummy() {
|
||||
OSReport("JASDriverIF.cpp");
|
||||
OSReport("(0.0 <= channel_level) && (channel_level <= 2.0)");
|
||||
OSReport("Halt");
|
||||
OSReport("(0.0 <= auto_level) && (auto_level <= 2.0)");
|
||||
OSReport("(0.0 <= dsp_level) && (dsp_level <= 8.0)");
|
||||
}
|
||||
|
||||
/* 8028A9A0-8028AAC4 .text setMixerLevel__Q28JASystem6DriverFff */
|
||||
void JASystem::Driver::setMixerLevel(f32 channel_level, f32 dsp_level) {
|
||||
/* Nonmatching */
|
||||
JUT_ASSERT(58, (0.0 <= channel_level) && (channel_level <= 2.0));
|
||||
JUT_ASSERT(59, (0.0 <= dsp_level) && (dsp_level <= 8.0));
|
||||
MAX_MIXERLEVEL = channel_level * 16383.5f;
|
||||
|
||||
@@ -94,7 +94,7 @@ u16 JASystem::DSPInterface::DSPRES_FILTER[] = {
|
||||
0x4000, 0x3800, 0x3000, 0x2800, 0x2000, 0x1800, 0x1000, 0x0800,
|
||||
0x0000, 0xF801, 0xF001, 0xE801, 0xE001, 0xD801, 0xD001, 0xC801,
|
||||
0xC001, 0xB801, 0xB001, 0xA801, 0xA001, 0x9801, 0x9001, 0x8801,
|
||||
0x0000, 0x0000, 0x9000, 0x9800, 0xA000, 0xA800, 0xB000, 0xB800,
|
||||
0x8001, 0x8800, 0x9000, 0x9800, 0xA000, 0xA800, 0xB000, 0xB800,
|
||||
0xC000, 0xC800, 0xD000, 0xD800, 0xE000, 0xE800, 0xF000, 0xF800,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
|
||||
@@ -198,14 +198,13 @@ JASystem::Kernel::TSolidHeap::TSolidHeap() {
|
||||
|
||||
/* 8027D370-8027D40C .text alloc__Q38JASystem6Kernel10TSolidHeapFl */
|
||||
void* JASystem::Kernel::TSolidHeap::alloc(s32 size) {
|
||||
/* Nonmatching */
|
||||
u32 tmp1 = OSRoundUp32B(size);
|
||||
if (field_0x0 == 0) {
|
||||
OSReport("[Nas_HeapAlloc] ヒープが取得できません(ヒープ取得元存在せず)。\n");
|
||||
return 0;
|
||||
}
|
||||
u32 tmp2 = field_0x4;
|
||||
if (tmp2 + tmp1 <= field_0x0 + field_0x8) {
|
||||
if (field_0x4 + tmp1 <= field_0x0 + field_0x8) {
|
||||
field_0x4 = tmp2 + tmp1;
|
||||
} else {
|
||||
OSReport("[Nas_HeapAlloc] ヒープが取得できません(ヒープの取得元の残りサイズ不足)。\n");
|
||||
|
||||
@@ -32,10 +32,13 @@ JASystem::Kernel::THeap* JASystem::WaveArcLoader::getRootHeap() {
|
||||
|
||||
char JASystem::WaveArcLoader::sCurrentDir[DIR_MAX] = "/Banks/";
|
||||
|
||||
namespace std {
|
||||
using ::strlen;
|
||||
};
|
||||
|
||||
/* 80287C30-80287D24 .text setCurrentDir__Q28JASystem13WaveArcLoaderFPCc */
|
||||
void JASystem::WaveArcLoader::setCurrentDir(const char* dir) {
|
||||
/* Nonmatching */
|
||||
//JUT_ASSERT(60, std::strlen(dir) < DIR_MAX);
|
||||
JUT_ASSERT(60, std::strlen(dir) < DIR_MAX);
|
||||
strcpy(sCurrentDir, dir);
|
||||
int len = strlen(sCurrentDir);
|
||||
if (sCurrentDir[len - 1] == '/') {
|
||||
|
||||
Reference in New Issue
Block a user