#include "externals.h"
#include "registers.h"
#include "out.h"
+#include "arm_features.h"
#ifdef ENABLE_NLS
#include <libintl.h>
return ret;
}
-#ifdef __arm__
+#ifdef HAVE_ARMV5
// asm code; lv and rv must be 0-3fff
extern void mix_chan(int start, int count, int lv, int rv);
extern void mix_chan_rvb(int start, int count, int lv, int rv);
int ch,d,silentch;
int bIRQReturn=0;
- while(1)
+ while(!bIRQReturn)
{
// ok, at the beginning we are looking if there is
// enuff free place in the dsound/oss buffer to
{
//printf("decoder irq %x\n", decode_pos);
do_irq();
+ bIRQReturn = 1;
}
}
decode_pos = (decode_pos + NSSIZE) & 0x1ff;