X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FPico%2Fxpcm.c;h=da3f480c7637aecb44edd7431cb9f9a2a9011929;hb=efcba75f8a730340df6c1b679a207723f98d1ee6;hp=4e2de8b72fb58546d87757201d77c66788dbead1;hpb=ed367a3f7c2061905d40a26341abbf087a2a168f;p=picodrive.git diff --git a/Pico/Pico/xpcm.c b/Pico/Pico/xpcm.c index 4e2de8b..da3f480 100644 --- a/Pico/Pico/xpcm.c +++ b/Pico/Pico/xpcm.c @@ -4,7 +4,7 @@ * best sounding of the ones that I tried. */ -#include "../PicoInt.h" +#include "../pico_int.h" #define ADPCMSHIFT 8 #define ADFIX(f) (int) ((double)f * (double)(1<> XSHIFT; \ + int delta = quant * quant_mul[srcval] >> XSHIFT; \ + sample += delta - (delta >> 2); /* 3/4 */ \ quant = (quant * TableQuant[srcval&7]) >> ADPCMSHIFT; \ Limit(quant, 0x6000, 0x7f); \ - Limit(sample, 32767/2, -32768/2); \ + Limit(sample, 32767*3/4, -32768*3/4); \ } PICO_INTERNAL void PicoPicoPCMUpdate(short *buffer, int length, int stereo) @@ -92,13 +93,13 @@ PICO_INTERNAL void PicoPicoPCMUpdate(short *buffer, int length, int stereo) int di = lim - src; memmove(PicoPicohw.xpcm_buffer, src, di); PicoPicohw.xpcm_ptr = PicoPicohw.xpcm_buffer + di; - elprintf(EL_STATUS, "xpcm update: over %i", di); + elprintf(EL_PICOHW, "xpcm update: over %i", di); // adjust fifo PicoPicohw.fifo_bytes = di; return; } - elprintf(EL_STATUS, "xpcm update: under %i", length); + elprintf(EL_PICOHW, "xpcm update: under %i", length); PicoPicohw.xpcm_ptr = PicoPicohw.xpcm_buffer; end: