323 lines
9.0 KiB
C
323 lines
9.0 KiB
C
#ifndef __SD_EXT_H__
|
|
#define __SD_EXT_H__
|
|
|
|
// Do not #include this file externally! Use sd_cli.h instead.
|
|
|
|
#include <libspu.h>
|
|
#include "sd_incl.h"
|
|
|
|
#define CDLOAD_BUF_SIZE (2048 * 48)
|
|
#define SD_MAIN_STACK_SIZE (2048)
|
|
#define SD_INT_STACK_SIZE (2048)
|
|
|
|
/* sd_main.c */
|
|
void sound_main(int argc, const char *argv[]);
|
|
void sub_80081A10(int *arg0, int arg1, int arg2);
|
|
void SdMain(void);
|
|
void SdInt(void);
|
|
void sd_init(void);
|
|
void SdTerm(void);
|
|
void keyOff(unsigned int ch);
|
|
void KeyOffStr(void);
|
|
void KeyOffStr2(void);
|
|
void keyOn(unsigned int ch);
|
|
int sd_mem_alloc(void);
|
|
|
|
/* sd_str.c */
|
|
extern int str_tick_count;
|
|
extern char *dword_8009F7B8;
|
|
|
|
void StrFadeIn(unsigned int fade_speed);
|
|
int StrFadeOut(unsigned int fade_speed);
|
|
int StrFadeOutStop(unsigned int fade_speed);
|
|
int StartStream(void);
|
|
void UserSpuIRQProc(void);
|
|
void sub_8008279C(void);
|
|
void sub_800827A4(void);
|
|
int StrSpuTransWithNoLoop(void);
|
|
void StrSpuTransClose(void);
|
|
void StrSpuTrans(void);
|
|
|
|
/* sd_file.c */
|
|
int LoadSeFile(void);
|
|
int LoadWaveHeader(void);
|
|
void WaveCdLoad(void);
|
|
void WaveSpuTrans(void);
|
|
int PcmOpen(int code, int path_idx);
|
|
int PcmRead(int fd, unsigned char *buf, int size);
|
|
int PcmClose(int fd, int path_idx);
|
|
void StrFadeWkSet(void);
|
|
int StrFadeInt(void);
|
|
void code2name(unsigned int code, char *name);
|
|
char num2char(unsigned int num);
|
|
unsigned char *SD_SngDataLoadInit(unsigned short id);
|
|
void SD_80083ED4(void);
|
|
unsigned char *SD_SeDataLoadInit(unsigned short id);
|
|
void SD_80083EF8(void);
|
|
char *SD_WavDataLoadInit(unsigned short id);
|
|
int SD_80083F54(char *end);
|
|
char *SD_WavLoadBuf(char *arg0);
|
|
void SD_WavUnload(void);
|
|
|
|
/* sd_drv.c */
|
|
void IntSdMain(void);
|
|
void SngFadeIn(unsigned int mode);
|
|
int SngFadeOutP(unsigned int code);
|
|
int SngFadeOutS(unsigned int code);
|
|
int SngKaihiP(void);
|
|
void SngFadeWkSet(void);
|
|
void SngFadeInt(void);
|
|
void SngTempoInt(void);
|
|
int LoadSngData(void);
|
|
void init_sng_work(void);
|
|
void sng_adrs_set(int idx);
|
|
void se_adrs_set(int idx);
|
|
void sng_track_init(SOUND_W *ptr);
|
|
|
|
/* sd_sub1.c */
|
|
extern void (*cntl_tbl[128])(void);
|
|
extern unsigned char rdm_tbl[129]; /* char[] */
|
|
extern unsigned char VIBX_TBL[32];
|
|
|
|
int sound_sub(void);
|
|
int tx_read(void);
|
|
void note_set(void);
|
|
void adsr_reset(void);
|
|
void note_compute(void);
|
|
void vol_compute(void);
|
|
void pan_generate(void);
|
|
void key_cut_off(void);
|
|
void keych(void);
|
|
int vib_generate(int cnt);
|
|
void bendch(void);
|
|
void note_cntl(void);
|
|
unsigned int random(void);
|
|
void tempo_ch(void);
|
|
void volxset(unsigned char depth);
|
|
|
|
/* sd_sub2.c */
|
|
void rest_set(void);
|
|
void tie_set(void);
|
|
void sno_set(void);
|
|
void svl_set(void);
|
|
void svp_set(void);
|
|
void use_set(void);
|
|
void pan_set(void);
|
|
void pan_move(void);
|
|
void vib_set(void);
|
|
void vib_change(void);
|
|
void rdm_set(void);
|
|
void lp1_start(void);
|
|
void lp1_end(void);
|
|
void lp2_start(void);
|
|
void lp2_end(void);
|
|
void l3s_set(void);
|
|
void l3e_set(void);
|
|
void tempo_set(void);
|
|
void tempo_move(void);
|
|
void trans_set(void);
|
|
void tre_set(void);
|
|
void vol_chg(void);
|
|
void vol_move(void);
|
|
void por_set(void);
|
|
void sws_set(void);
|
|
void detune_set(void);
|
|
void swp_set(void);
|
|
void echo_set1(void);
|
|
void echo_set2(void);
|
|
void eon_set(void);
|
|
void eof_set(void);
|
|
void kakko_start(void);
|
|
void kakko_end(void);
|
|
void env_set(void);
|
|
void ads_set(void);
|
|
void srs_set(void);
|
|
void rrs_set(void);
|
|
void pm_set(void);
|
|
void jump_set(void);
|
|
void block_end(void);
|
|
void no_cmd(void);
|
|
|
|
/* sd_ioset.c */
|
|
extern unsigned int freq_tbl[108];
|
|
|
|
void spuwr(void);
|
|
void sound_off(void);
|
|
void sng_off(void);
|
|
void se_off(int i);
|
|
void sng_pause(void);
|
|
void sng_pause_off(void);
|
|
void keyon(void);
|
|
void keyoff(void);
|
|
void tone_set(unsigned char n);
|
|
void pan_set2(unsigned char x);
|
|
void vol_set(unsigned int vol_data);
|
|
void freq_set(unsigned int note_tune);
|
|
void drum_set(unsigned char n);
|
|
|
|
/* sd_cli.c */
|
|
int sd_task_active(void);
|
|
int sd_str_play(void);
|
|
int sd_sng_play(void);
|
|
int sd_se_play(void);
|
|
int sd_se_play2(void);
|
|
int sd_set_cli(int sound_code, int sync_mode);
|
|
void sd_set_path(const char *str);
|
|
int get_sng_code(void);
|
|
unsigned char *get_sd_buf(int size);
|
|
void start_xa_sd(void);
|
|
void stop_xa_sd(void);
|
|
int SePlay(int sound_code);
|
|
int get_str_counter(void);
|
|
void sd_set(int sound_code);
|
|
|
|
/* in se_tbl.c */
|
|
extern SETBL se_tbl[128];
|
|
|
|
/* in sd_wk.c */
|
|
extern unsigned long spu_ch_tbl[24+1];
|
|
extern unsigned char blank_data[512];
|
|
extern unsigned char dummy_data[4096];
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
#ifndef __BSSDEFINE__
|
|
|
|
extern int dword_800BEFCC;
|
|
|
|
extern int sd_debug_mode;
|
|
extern int str_pause_wait;
|
|
|
|
extern char *str_data_ptr;
|
|
extern int str_mono_offset;
|
|
extern int mute_l_r_fg;
|
|
extern int str_mute_fg;
|
|
extern unsigned int str_int_ctr;
|
|
extern int song_end_last;
|
|
|
|
extern int dword_800BEFFC;
|
|
extern int sd_print_fg;
|
|
extern int se_tracks;
|
|
|
|
extern int sng_syukan_vol;
|
|
extern unsigned int blank_data_addr; /* unsigned long */
|
|
extern char *cdload_buf; /* unsigned char * */
|
|
extern int se_fp;
|
|
extern int sd_sng_code_buf[16];
|
|
extern char *str_header;
|
|
extern int sng_fadein_time;
|
|
extern int spu_bgm_start_ptr_l;
|
|
extern int eons;
|
|
extern SEPLAYTBL se_playing[8];
|
|
extern int spu_bgm_start_ptr_r;
|
|
extern int str_fadein_time;
|
|
extern unsigned long mdata1;
|
|
extern unsigned long mdata2;
|
|
extern unsigned long mdata3;
|
|
extern unsigned long mdata4;
|
|
extern SEPLAYTBL se_request[8];
|
|
extern unsigned int spu_load_offset; /* unsigned long */
|
|
extern int vox_rev_on;
|
|
|
|
extern int vox_on_vol;
|
|
extern int sng_status;
|
|
extern unsigned int str_volume;
|
|
extern int str_vox_on;
|
|
extern int str_play_offset;
|
|
extern int str_unload_size;
|
|
extern unsigned int str_status;
|
|
extern int str_read_status;
|
|
|
|
extern int se_pan_800BF180[8];
|
|
extern int stop_jouchuu_se;
|
|
extern int dword_800BF1A4;
|
|
extern int dword_800BF1A8;
|
|
extern int str_unplay_size;
|
|
extern unsigned long key_fg;
|
|
|
|
extern int se_pan[8];
|
|
extern int sng_fp;
|
|
extern int str_mute_status;
|
|
extern WAVE_W *wave_header; /* unsigned char* */
|
|
|
|
extern int bgm_idx;
|
|
extern unsigned long mtrack;
|
|
extern int se_vol[8];
|
|
extern int eoffs;
|
|
|
|
extern SpuVoiceAttr sd_blank_attr;
|
|
extern int str_fp;
|
|
extern int sng_fout_fg;
|
|
extern unsigned long keyons;
|
|
extern int str_off_idx;
|
|
extern int str_mono_fg;
|
|
extern int str_fout_fg;
|
|
extern int dword_800BF270;
|
|
extern unsigned int wave_unload_size; /* unsigned long */
|
|
extern int str_mute_off_idx;
|
|
extern unsigned int dword_800BF27C;
|
|
extern int str_trans_offset;
|
|
extern char *se_data; /* struct SETBL* */
|
|
extern int sd_code_read;
|
|
extern unsigned int se_load_code; /* unsigned long */
|
|
extern int sng_kaihi_fg;
|
|
extern int wave_data;
|
|
extern int sng_pause_fg;
|
|
extern unsigned long keyoffs;
|
|
extern int str_read_idx;
|
|
|
|
extern SOUND_W sound_w[21];
|
|
extern int str_play_idx;
|
|
extern int dword_800C0410;
|
|
extern int str_next_idx;
|
|
extern int str_mute_ctr;
|
|
extern int sng_fadein_fg;
|
|
extern unsigned char *sng_data;
|
|
|
|
extern int sng_load_code;
|
|
|
|
extern int sng_fade_time[14];
|
|
extern char sd_path[128];
|
|
extern unsigned int song_end; /* unsigned long */
|
|
extern int str_fadein_fg;
|
|
extern int str_load_code;
|
|
extern int str_fade_time;
|
|
extern unsigned int sng_play_code;
|
|
|
|
extern int dword_800C0500;
|
|
extern int str_freq;
|
|
extern char *wave_load_ptr; /* unsigned char* */
|
|
extern int sound_mono_fg;
|
|
extern int sng_syukan_fg;
|
|
extern char *str_trans_buf;
|
|
extern int sng_fout_term;
|
|
extern int str_wave_size;
|
|
// extern unsigned char *se_header;
|
|
// extern SETBL *se_header;
|
|
extern unsigned long keyd;
|
|
extern unsigned int wave_load_code; /* unsigned long */
|
|
extern unsigned int spu_wave_start_ptr; /* unsigned long */
|
|
extern WAVE_W *voice_tbl;
|
|
|
|
extern int sng_fade_value[13];
|
|
extern unsigned char wavs;
|
|
|
|
extern unsigned char *mptr;
|
|
extern int se_rev_on;
|
|
extern unsigned long wave_save_code;
|
|
extern SOUND_W *sptr;
|
|
extern int dword_800C0580;
|
|
extern unsigned int str_fade_value;
|
|
extern char spu_malloc_rec[SPU_MALLOC_RECSIZ * (24 + 1)];
|
|
extern unsigned int wave_load_size; /* unsigned long */
|
|
extern int dword_800C0654;
|
|
extern SPU_TRACK_REG spu_tr_wk[23];
|
|
|
|
extern int sng_kaihi_time;
|
|
|
|
extern int sng_master_vol[13];
|
|
extern volatile int sd_task_status;
|
|
|
|
|
|
#endif // __BSSDEFINE__
|
|
#endif // __SD_EXT_H__
|