mirror of https://github.com/zeldaret/tp.git
JASAramStream OK (#2937)
This commit is contained in:
parent
cfded01caa
commit
26f4c5a0fe
|
|
@ -1028,7 +1028,7 @@ config.libs = [
|
|||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASSeqCtrl.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASSeqParser.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASSeqReader.cpp"),
|
||||
Object(NonMatching, "JSystem/JAudio2/JASAramStream.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASAramStream.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASBank.cpp"),
|
||||
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASBasicBank.cpp"),
|
||||
Object(MatchingFor(ALL_GCN, "ShieldD"), "JSystem/JAudio2/JASVoiceBank.cpp"),
|
||||
|
|
|
|||
|
|
@ -144,8 +144,8 @@ public:
|
|||
/* 0x0B8 */ u32 field_0x0b8;
|
||||
/* 0x0BC */ int field_0x0bc;
|
||||
/* 0x0C0 */ bool field_0x0c0;
|
||||
/* 0x0C4 */ u32 field_0x0c4;
|
||||
/* 0x0C8 */ f32 field_0x0c8;
|
||||
/* 0x0C4 */ volatile u32 field_0x0c4;
|
||||
/* 0x0C8 */ volatile f32 field_0x0c8;
|
||||
/* 0x0CC */ DVDFileInfo mDvdFileInfo;
|
||||
/* 0x108 */ u32 field_0x108;
|
||||
/* 0x10C */ int field_0x10c;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ void JASAramStream::initSystem(u32 i_blockSize, u32 i_channelMax) {
|
|||
}
|
||||
}
|
||||
|
||||
// NONMATCHING missing load
|
||||
JASAramStream::JASAramStream() {
|
||||
field_0x0a8 = NULL;
|
||||
field_0x0ac = false;
|
||||
|
|
@ -85,7 +84,6 @@ JASAramStream::JASAramStream() {
|
|||
}
|
||||
}
|
||||
|
||||
// NONMATCHING missing load
|
||||
void JASAramStream::init(u32 param_0, u32 param_1, StreamCallback i_callback, void* i_callbackData) {
|
||||
field_0x148 = param_0;
|
||||
field_0x14c = param_1;
|
||||
|
|
@ -258,7 +256,6 @@ bool JASAramStream::headerLoad(u32 param_0, int param_1) {
|
|||
}
|
||||
|
||||
|
||||
// NONMATCHING regalloc and one instruction swap
|
||||
bool JASAramStream::load() {
|
||||
{
|
||||
JASCriticalSection cs;
|
||||
|
|
@ -293,7 +290,9 @@ bool JASAramStream::load() {
|
|||
u32 sp08 = field_0x148 + field_0x10c * sBlockSize;
|
||||
for (int i = 0; i < mChannelNum; i++) {
|
||||
(void)i;
|
||||
if (!JKRMainRamToAram(sReadBuffer + bhead->field_0x4 * i + sizeof(BlockHeader),
|
||||
// Fakematch? It seems the only way to get the bhead->field_0x4 load in the right order is
|
||||
// with a pointer cast on its address in one of the two places it is read, but not both.
|
||||
if (!JKRMainRamToAram(sReadBuffer + *(u32*)&bhead->field_0x4 * i + sizeof(BlockHeader),
|
||||
sp08 + sBlockSize * field_0x160 * i,
|
||||
bhead->field_0x4, EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1, NULL)) {
|
||||
JUT_WARN(522, "%s", "JKRMainRamToAram Failed");
|
||||
|
|
@ -363,7 +362,6 @@ void JASAramStream::channelCallback(u32 i_callbackType, JASChannel* i_channel,
|
|||
((JASAramStream*)i_this)->updateChannel(i_callbackType, i_channel, i_dspChannel);
|
||||
}
|
||||
|
||||
// NONMATCHING missing extra loads of field_0x0c4
|
||||
void JASAramStream::updateChannel(u32 i_callbackType, JASChannel* i_channel,
|
||||
JASDsp::TChannel* i_dspChannel) {
|
||||
u32 block_samples = getBlockSamples();
|
||||
|
|
|
|||
Loading…
Reference in New Issue