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=8210e63a193820035eb23292639875ec2a0a06f8;hp=ba2a4c37dcdc434170705eca6845cb49adc02389;hb=05c7cec77522f04857f655474574469a5e66661d;hpb=5514a050f4e936f5c333fa1271b11bf5a6a9ea39 diff --git a/plugins/dfsound/spu_c64x.h b/plugins/dfsound/spu_c64x.h index ba2a4c37..8210e63a 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; + } in; + int _pad2[128/4 - ((sizeof(struct spu_in) / 4) & (128/4 - 1))]; struct spu_worker worker; + SPUConfig spu_config; + // init/debug + int sizeof_region_mem; + int offsetof_s_chan1; + int offsetof_spos_3_20; }; +#define ACTIVE_CNT 3