Linux/Plugins: Use spu2ghz's noise rng in ZeroSPU2, clean various plugins before compiling them, put in better default values for the Linux port when configuring, and go into pcsx2 after configuring for the first time, rather then quitting. Oh, and disable the debugger for the moment in Linux.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@485 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-02-13 09:57:15 +00:00
parent e131e22ea6
commit a0da3ee37a
11 changed files with 63 additions and 10 deletions

View File

@ -6,11 +6,11 @@
# Uncomment if building by itself, rather then with all the plugins # Uncomment if building by itself, rather then with all the plugins
#Normal #Normal
export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --prefix `pwd`" #export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --prefix `pwd`"
#Optimized, but a devbuild #Optimized, but a devbuild
#export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --enable-devbuild --prefix `pwd`" export PCSX2OPTIONS="--enable-sse3 --enable-sse4 --enable-devbuild --prefix `pwd`"
#Debug / Devbuild version #Debug / Devbuild version
#export PCSX2OPTIONS="--enable-debug --enable-devbuild --enable-sse3 --prefix `pwd`" #export PCSX2OPTIONS="--enable-debug --enable-devbuild --enable-sse3 --prefix `pwd`"

View File

@ -180,15 +180,18 @@ int main(int argc, char *argv[])
memset(&Config, 0, sizeof(Config)); memset(&Config, 0, sizeof(Config));
strcpy(Config.BiosDir, DEFAULT_BIOS_DIR "/"); strcpy(Config.BiosDir, DEFAULT_BIOS_DIR "/");
strcpy(Config.PluginsDir, DEFAULT_PLUGINS_DIR "/"); strcpy(Config.PluginsDir, DEFAULT_PLUGINS_DIR "/");
Config.Patch = 1; Config.Patch = 0;
Config.Options = PCSX2_EEREC | PCSX2_VU0REC | PCSX2_VU1REC; Config.PsxOut = 1;
Config.Options = PCSX2_EEREC | PCSX2_VU0REC | PCSX2_VU1REC | PCSX2_FRAMELIMIT_LIMIT;
Config.sseMXCSR = DEFAULT_sseMXCSR; Config.sseMXCSR = DEFAULT_sseMXCSR;
Config.sseVUMXCSR = DEFAULT_sseVUMXCSR; Config.sseVUMXCSR = DEFAULT_sseVUMXCSR;
Config.eeOptions = DEFAULT_eeOptions;
Config.vuOptions = DEFAULT_vuOptions;
Msgbox::Alert("Pcsx2 needs to be configured"); Msgbox::Alert("Pcsx2 needs to be configured");
Pcsx2Configure(); Pcsx2Configure();
return 0; LoadConfig();
} }
InitLanguages(); InitLanguages();

View File

@ -2686,6 +2686,7 @@ create_MainWindow (void)
GtkMenuItem_EnterDebugger = gtk_menu_item_new_with_mnemonic (_("Enter Debugger ...")); GtkMenuItem_EnterDebugger = gtk_menu_item_new_with_mnemonic (_("Enter Debugger ..."));
gtk_widget_show (GtkMenuItem_EnterDebugger); gtk_widget_show (GtkMenuItem_EnterDebugger);
gtk_container_add (GTK_CONTAINER (GtkMenuItem_Debug_menu), GtkMenuItem_EnterDebugger); gtk_container_add (GTK_CONTAINER (GtkMenuItem_Debug_menu), GtkMenuItem_EnterDebugger);
gtk_widget_set_sensitive (GtkMenuItem_EnterDebugger, FALSE);
GtkMenuItem_Logging = gtk_menu_item_new_with_mnemonic (_("Logging")); GtkMenuItem_Logging = gtk_menu_item_new_with_mnemonic (_("Logging"));
gtk_widget_show (GtkMenuItem_Logging); gtk_widget_show (GtkMenuItem_Logging);

View File

@ -5188,6 +5188,7 @@ Version x.x</property>
<child> <child>
<widget class="GtkMenuItem" id="GtkMenuItem_EnterDebugger"> <widget class="GtkMenuItem" id="GtkMenuItem_EnterDebugger">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="label" translatable="yes">Enter Debugger ...</property> <property name="label" translatable="yes">Enter Debugger ...</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<signal name="activate" handler="OnDebug_Debugger"/> <signal name="activate" handler="OnDebug_Debugger"/>

View File

@ -7,6 +7,7 @@ echo Building CDVDiso
echo ---------------- echo ----------------
cd ${curdir}/src/Linux cd ${curdir}/src/Linux
make clean
make $@ make $@
# copy the files # copy the files

View File

@ -6,6 +6,7 @@ echo -----------------
echo Building CDVDnull echo Building CDVDnull
echo ----------------- echo -----------------
cd ${curdir}/Src cd ${curdir}/Src
make clean
make $@ make $@
# copy the files # copy the files

View File

@ -7,6 +7,7 @@ echo ---------------
curdir=`pwd` curdir=`pwd`
cd ${curdir}/Linux cd ${curdir}/Linux
make clean
make $@ make $@
if [ -s cfgFWnull ] && [ -s libFWnull.so ] if [ -s cfgFWnull ] && [ -s libFWnull.so ]

View File

@ -7,6 +7,7 @@ echo Building SPU2null
echo ----------------- echo -----------------
cd ${curdir}/Src cd ${curdir}/Src
make clean
make $@ make $@
cp libSPU2null.so ${PCSX2PLUGINS} cp libSPU2null.so ${PCSX2PLUGINS}

View File

@ -1,9 +1,13 @@
#!/bin/sh #!/bin/sh
echo Building dev9null... echo -----------------
echo Building dev9null
echo -----------------
curdir=`pwd` curdir=`pwd`
cd ${curdir}/src cd ${curdir}/src
make clean
make $@ make $@
cp libDEV9null.so ${PCSX2PLUGINS} cp libDEV9null.so ${PCSX2PLUGINS}

View File

@ -182,6 +182,45 @@ void VOICE_PROCESSED::FModChangeFrequency(int ns)
iFMod[ns]=0; iFMod[ns]=0;
} }
static void __forceinline GetNoiseValues(s32& VD)
{
static s32 Seed = 0x41595321;
if(Seed&0x100)
VD = (s32)((Seed&0xff)<<8);
else if(!(Seed&0xffff))
VD = (s32)0x8000;
else
VD = (s32)0x7fff;
#ifdef _WIN32
__asm {
MOV eax,Seed
ROR eax,5
XOR eax,0x9a
MOV ebx,eax
ROL eax,2
ADD eax,ebx
XOR eax,ebx
ROR eax,3
MOV Seed,eax
}
#else
__asm__ (
".intel_syntax\n"
"MOV %%eax,%0\n"
"ROR %%eax,5\n"
"XOR %%eax,0x9a\n"
"MOV %%ebx,%%eax\n"
"ROL %%eax,2\n"
"ADD %%eax,%%ebx\n"
"XOR %%eax,%%ebx\n"
"ROR %%eax,3\n"
"MOV %0,%%eax\n"
".att_syntax\n" : :"r"(Seed));
#endif
}
// fixme - noise handler... just produces some noise data // fixme - noise handler... just produces some noise data
// surely wrong... and no noise frequency (spuCtrl&0x3f00) will be used... // surely wrong... and no noise frequency (spuCtrl&0x3f00) will be used...
// and sometimes the noise will be used as fmod modulation... pfff // and sometimes the noise will be used as fmod modulation... pfff
@ -189,14 +228,15 @@ int VOICE_PROCESSED::iGetNoiseVal()
{ {
int fa; int fa;
if ((dwNoiseVal<<=1)&0x80000000L) /*if ((dwNoiseVal<<=1)&0x80000000L)
{ {
dwNoiseVal^=0x0040001L; dwNoiseVal^=0x0040001L;
fa = ((dwNoiseVal>>2)&0x7fff); fa = ((dwNoiseVal>>2)&0x7fff);
fa = -fa; fa = -fa;
} }
else else
fa=(dwNoiseVal>>2)&0x7fff; fa=(dwNoiseVal>>2)&0x7fff;*/
GetNoiseValues(fa);
// mmm... depending on the noise freq we allow bigger/smaller changes to the previous val // mmm... depending on the noise freq we allow bigger/smaller changes to the previous val
fa=iOldNoise + ((fa - iOldNoise) / ((0x001f - (GetCtrl()->noiseFreq)) + 1)); fa=iOldNoise + ((fa - iOldNoise) / ((0x001f - (GetCtrl()->noiseFreq)) + 1));

View File

@ -78,6 +78,8 @@ extern FILE *spu2Log;
#define NSFRAMES 16 // gather at least NSFRAMES of NSSIZE before submitting #define NSFRAMES 16 // gather at least NSFRAMES of NSSIZE before submitting
#define NSPACKETS 24 #define NSPACKETS 24
#define SPU_NUMBER_VOICES 48
#define SAMPLE_RATE 48000L #define SAMPLE_RATE 48000L
#define RECORD_FILENAME "zerospu2.wav" #define RECORD_FILENAME "zerospu2.wav"
@ -211,8 +213,6 @@ static __forceinline void C_SPUADDR_SET(u32 value, int c)
C1_SPUADDR_SET(value); C1_SPUADDR_SET(value);
} }
#define SPU_NUMBER_VOICES 48
struct SPU_CONTROL_ struct SPU_CONTROL_
{ {
u16 extCd : 1; u16 extCd : 1;