X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdsp.cpp;h=ee1cdb79da49da268858fa88f7b3b58ca8c0dbce;hb=dadebc1a7525d196d5ee406be7b9d804d5f9945d;hp=3ab0b6246808b6885637f1b3722ad896f7fe9981;hpb=576a7bd6373a53d9cff6a7bb88334429469e0751;p=virtualjaguar diff --git a/src/dsp.cpp b/src/dsp.cpp index 3ab0b62..ee1cdb7 100644 --- a/src/dsp.cpp +++ b/src/dsp.cpp @@ -25,16 +25,10 @@ #include "jaguar.h" #include "jerry.h" #include "log.h" -#include "m68k.h" +#include "m68000/m68kinterface.h" //#include "memory.h" -#ifdef __GCCWIN32__ -// Apparently on win32, they left of the last little bits of these. So let's do this: -#define random rand -#define srandom srand -#endif - // Seems alignment in loads & stores was off... #define DSP_CORRECT_ALIGNMENT //#define DSP_CORRECT_ALIGNMENT_STORE @@ -820,6 +814,9 @@ SET32(ram2, offset, data); // IRQs on J_INT ($F10020), you don't have to run an I2S interrupt on the DSP. Also, // It seems that it's only stable for values of SCLK <= 9. +// All of the preceeding is moot now; we run the DSP in the host audio IRQ. This means +// that we don't actually need this stuff anymore. :-D +#if 0 if (data & INT_ENA1) // I2S interrupt { int freq = GetCalculatedFrequency(); @@ -834,6 +831,7 @@ SET32(ram2, offset, data); // WriteLog("DSP: Setting audio freqency to %u Hz...\n", freq); DACSetNewFrequency(freq); } +#endif /* if (IMASKCleared) // If IMASK was cleared, #ifdef DSP_DEBUG_IRQ @@ -1286,6 +1284,11 @@ DSPHandleIRQsNP(); // GPUSetIRQLine(GPUIRQ_DSP, ASSERT_LINE); } +bool DSPIsRunning(void) +{ + return (DSP_RUNNING ? true : false); +} + void DSPInit(void) { // memory_malloc_secure((void **)&dsp_ram_8, 0x2000, "DSP work RAM"); @@ -1294,7 +1297,7 @@ void DSPInit(void) dsp_build_branch_condition_table(); DSPReset(); - srandom(time(NULL)); // For randomizing local RAM + srand(time(NULL)); // For randomizing local RAM } void DSPReset(void) @@ -1325,7 +1328,7 @@ void DSPReset(void) // Contents of local RAM are quasi-stable; we simulate this by randomizing RAM contents for(uint32 i=0; i<8192; i+=4) { - *((uint32 *)(&dsp_ram_8[i])) = random(); + *((uint32 *)(&dsp_ram_8[i])) = rand(); } }