X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fspu_c64x.h;h=7c4d5659b34a8d453da927439cec5fdfa5ccf31c;hp=ba2a4c37dcdc434170705eca6845cb49adc02389;hb=8a55ebcc07d4f860633db8c77bb9e16bcfa03313;hpb=5514a050f4e936f5c333fa1271b11bf5a6a9ea39 diff --git a/plugins/dfsound/spu_c64x.h b/plugins/dfsound/spu_c64x.h index ba2a4c37..7c4d5659 100644 --- a/plugins/dfsound/spu_c64x.h +++ b/plugins/dfsound/spu_c64x.h @@ -1,9 +1,28 @@ +#define COMPONENT_NAME "pcsxr_spu" + +enum { + CCMD_INIT = 0x101, + CCMD_DOIT = 0x102, +}; struct region_mem { unsigned char spu_ram[512 * 1024]; - int RVB[NSSIZE * 2]; - int SSumLR[NSSIZE * 2]; - SPUCHAN s_chan[24 + 1]; + int SB[SB_SIZE * 24]; + // careful not to lose ARM writes by DSP overwriting + // with old data when it's writing out neighbor cachelines + int _pad1[128/4 - ((SB_SIZE * 24) & (128/4 - 1))]; + struct spu_in { + // these are not to be modified by DSP + SPUCHAN s_chan[24 + 1]; + REVERBInfo rvb; + SPUConfig spu_config; + } in; + int _pad2[128/4 - ((sizeof(struct spu_in) / 4) & (128/4 - 1))]; struct spu_worker worker; + // init/debug + int sizeof_region_mem; + int offsetof_s_chan1; + int offsetof_spos_3_20; }; +#define ACTIVE_CNT 3