Previous Page | Next Page
- JaiSeq's name and functions by unknownfile at 9:36 PM EST on December 24, 2006
- JaiSeq is officially known as JAudio.
A list of its functions can be found here.
From what it looks, it was written in C and C++ and assembled with GCC.
Stay tuned for more stuff.
- by valiant at 8:00 AM EST on December 25, 2006
- They didn't leave the source code for JaiSeqs in Pikmin, did they?
- The obvious by unknownfile at 10:36 AM EST on December 25, 2006
- no
- Bad news by unknownfile at 11:51 PM EST on January 2, 2007
- The jaudio library is used only in games that Nintendo EAD has had involvement in, with the possible exception being Pac-Man Vs., which was developed elsewhere in the Nintendo labs.
See the list here (courtesy Wikipedia).
As we don't know who compiled the US build of Pikmin, we cannot determine who has the library, and even asking them about it would result in no response.
We can, however, wait for a Gamecube emulator with sound and debugging features that works so that we can analyze the format from there. Who knows, we even might be able to make 3sf rips...
- by valiant at 4:00 PM EST on January 13, 2007
- I've seen in the DSP distribution thread that you're working on a BMS ripper for ARC files. So you just want to extract files from ARC archives?
thakis programmed some tools for GC files a whole while ago, among them an ARC archive dumper. If your ripper has a different purpose I apologise for the useless information. :-)
3sf? What's that an acronym for?
- by unknownfile at 5:27 PM EST on January 26, 2007
- Found this crap in Mario Kart Double Dash. This was compiled by Yoji Inagaki, who was one of the sound programmers for many games using the library. The syntax seems to derrive from C.
Comments written in Japanese have been removed
//***********************************************************
//
// Project: GC KART
// Author: Yoji Inagaki
// Date: 2003.5.8(THU)
//***********************************************************
#define baac 'b', 'a', 'a', 'c', long, long
#include"GCKart.def"
begin_audio_arc
bst, _BEGIN_BST, _END_BST
// bstn, _BEGIN_BSTN, _END_BSTN
ws, 0, NINTENDO_LOGO_MARIO_WS_START, 0xffffffff
ws, 1, SE_WS_START, 0 //0xffffffff
ws, 5, TANAKA_BGM_WS_START, 0 //0xffffffff
bnk, 1, SE_BANK_START
bnk, 0, NINTENDO_LOGO_MARIO_BANK_START
bnk, 5, TANAKA_BGM_BANK_START
bsft, _BEGIN_SFT
bsc, _BEGIN_BSC, _END_BSC
bms, JA_BGM_TITLE, _BEGIN_BMS_0001, _END_BMS_0001
bms, JA_BGM_SELECT, _BEGIN_BMS_0002, _END_BMS_0002
bms, JA_BGM_OPTION, _BEGIN_BMS_0003, _END_BMS_0003
bms, JA_BGM_RECORD, _BEGIN_BMS_0004, _END_BMS_0004
bms, JA_BGM_START_FANFARE, _BEGIN_BMS_0005, _END_BMS_0005
bms, JA_BGM_START_FANFARE2, _BEGIN_BMS_0006, _END_BMS_0006
bms, JA_BGM_START_FANFARE4, _BEGIN_BMS_0008, _END_BMS_0008
bms, JA_BGM_START_FANFARE5, _BEGIN_BMS_0009, _END_BMS_0009
bms, JA_BGM_START_FANFARE6, _BEGIN_BMS_0010, _END_BMS_0010
bms, JA_BGM_STAR, _BEGIN_BMS_0011, _END_BMS_0011
bms, JA_BGM_FINALLAP_FANFARE, _BEGIN_BMS_0012, _END_BMS_0012
bms, JA_BGM_WANWAN, _BEGIN_BMS_0013, _END_BMS_0013
baac, _BEGIN_BAAC, _END_BAAC
end_audio_arc
_BEGIN_BST
#incbin "GCKart.bst"
_END_BST
//_BEGIN_BSTN
//#incbin "GCKart.bstn"
//_END_BSTN
_BEGIN_SFT
#incbin "GCKart.bsft"
_END_SFT
SE_BANK_START
#incbin"SE/Banks/se00.bnk"
#evencl
SE_BANK_END
SE_WS_START
#incbin"SE/Banks/se00.ws"
#evencl
SE_WS_END
TANAKA_BGM_BANK_START
#incbin"BGM/Tanaka/Banks/bgm.bnk"
#evencl
TANAKA_BGM_BANK_END
TANAKA_BGM_WS_START
#incbin"BGM/Tanaka/Banks/bgm.ws"
#evencl
TANAKA_BGM_WS_END
NINTENDO_LOGO_MARIO_BANK_START
#incbin"SE/Banks/NintendoLogoMario.bnk"
#evencl
NINTENDO_LOGO_MARIO_BANK_END
NINTENDO_LOGO_MARIO_WS_START
#incbin"SE/Banks/NintendoLogoMario.ws"
#evencl
NINTENDO_LOGO_MARIO_WS_END
_BEGIN_BSC
#incbin "SE/Seqs/GCKartSe.bsc"
_END_BSC
_BEGIN_BAAC
#incbin "SceneJPN.baac"
_END_BAAC
_BEGIN_BMS_0001
#incbin "Bms/0001.bms"
_END_BMS_0001
_BEGIN_BMS_0002
#incbin "Bms/0002.bms"
_END_BMS_0002
_BEGIN_BMS_0003
#incbin "Bms/0003.bms"
_END_BMS_0003
_BEGIN_BMS_0004
#incbin "Bms/0004.bms"
_END_BMS_0004
_BEGIN_BMS_0005
#incbin "Bms/0005.bms"
_END_BMS_0005
_BEGIN_BMS_0006
#incbin "Bms/0006.bms"
_END_BMS_0006
_BEGIN_BMS_0008
#incbin "Bms/0008.bms"
_END_BMS_0008
_BEGIN_BMS_0009
#incbin "Bms/0009.bms"
_END_BMS_0009
_BEGIN_BMS_0010
#incbin "Bms/0010.bms"
_END_BMS_0010
_BEGIN_BMS_0011
#incbin "Bms/0011.bms"
_END_BMS_0011
_BEGIN_BMS_0012
#incbin "Bms/0012.bms"
_END_BMS_0012
_BEGIN_BMS_0013
#incbin "Bms/0013.bms"
_END_BMS_0013
- by unknownfile at 5:56 PM EST on January 26, 2007
- Here's some converted audio I got from ye royale ModPlugTracker. AW seems to just be 8-bit signed PCM.
Forest_0 from Pikmin
wScene_1.aw from Mario Sunshine
Sorry for the static.
- code by unknownfile at 12:46 AM EST on January 27, 2007
- I have some code that rather crappily decodes the samplebanks.
Decoding is done thus:
outbin=*(long*)inbin - 128;
idx = (outbin)&0xf;
outbin=((outbin-16)+afccoef[idx][1]);
outbin=(outbin << 8)^0x8000; // convert to 16-bit signed pcm
Samples should be decoded at 18000 Hz
This uses some code from the AFC decoder, and I must admit that it works quite nicely, though not accurately.
...
What, you're still here?
Fine, take these wavs and leave me alone!
Wavs from Super Mario Sunshine and Luigi's Mansion
This is on megaupload as the ftp uploads here are slow and I am collapsing from drowsiness atm, so get it while its hot.
- by unknownfile at 12:36 PM EST on January 27, 2007
- Tweaked the code a bit, it is now easier to hear samples. The playback rate is a bit slow, but whatever.
Decoding is now done thus:
for (int i=0;i<2;i++) {
outbin=*(long*)inbin + 128;
idx = (outbin)&0xf;
delta = 1<<(((outbin)>>4)&0xf); // currently unused.
outbin=outbin^afccoef[idx][i];
outbin=(outbin << 8)^0x8000;
// output the audio here...
}
and the samplerate is 36000 Hz.
The way decoding is done is pretty much the same as before, but at least it's easier to hear now.
I'm also doing analysis on the BMS format as well. Setting up the instruments seems to be done thus
SET_INSTRUMENT(long instrument,long offset)
C1 0000 00E2
- by unknownfile at 9:00 PM EST on February 1, 2007
- Here's another flowchart, outlining Super Mario Sunshine:
In theory, to get to the function that handles music, we could xref DVD-related functions until we land at the jaudio sequence subroutines.
Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Search this thread
Show all threads
Reply to this thread:
HCS Forum Index
Halley's Comet Software
forum source