PocketSPC is a SNES sound chip emulator for the Nintendo DS. The SPC700 is capable of 8 channel stereo playback at 32,000Hz with ADSR envelope support per voice, and an 8 tap FIR filter. Currently all 8 channels are emulated in stereo, with full ADSR support. Changes:
Added SPC666 extra info display Ported to Arm7 and rewrote BRR decoding&mixing in asm Implemented EOR1/AND1/OR1/TCALL, fixes games that use them Added support for inport/outport handling – you can now see this in snesDS 🙂 Added ENVX&OUTX handling, fixes samples looping forever on some games Fixed crash bug writing to high 0x40 bytes of memory – fixes fzero Fixed DSP mirroring of address>0x7f Attack ENVX now starting at 0 (was starting at 1) Push/Pop PSW was messed up (Not using/setting DP or H flag) DSP KOFF register was broken, not setting envelope speed when setting Release state, fixes quite a few games that had infinite looping sounds. Fixed MUL YA, was not clearing Z flag when A was 0x80 Fixed DIV, was not setting V flag when Y>= X, fixes Mariokart and StarOcean! Removed ‘optimization’ that didn’t do any register checking sometimes, caused bugs Bug fixed in op (X),(Y) form instructions, didn’t take DP into account Bug fixed in op DP+reg form instructions, could access outside DP Bug fixed in SBC (X),(Y), reversed the order of the subtraction Bug fixed in op #,(X) instruction, (X) address was not using DP flag