Commit graph

1751 commits

Author SHA1 Message Date
PSISP
861a7be195
Merge pull request #413 from Ziemas/spu-ub
SPU: init/reset more things
2020-06-14 17:20:34 -04:00
Ziemas
d325d4dc94 SPU: Move adpcm ceofs out of header
This should have been in the cpp file from the start.
2020-06-14 23:06:07 +02:00
Ziemas
a4cee92860 SPU: Reset/init more things
Cleans up some valgrind warnings.
2020-06-14 23:06:03 +02:00
PSISP
6600a351bb
Merge pull request #408 from refractionpcsx2/cop0_timer_interrupts
EE: Added COP0 Timer interrupts
2020-06-14 15:27:20 -04:00
PSISP
4f1086b21b
Merge pull request #412 from refractionpcsx2/asr_masks
DMAC: Add masks to ASR writes
2020-06-12 22:16:22 -04:00
refractionpcsx2
0eddc21a47 DMAC: Add masks to ASR writes 2020-06-13 03:13:01 +01:00
PSISP
6de37d5796
Merge pull request #411 from refractionpcsx2/read_write_asr
DMAC: Add reading/writing of ASR registers
2020-06-12 22:08:14 -04:00
refractionpcsx2
597a4c35e0 Add reading/writing of DMA ASR registers 2020-06-13 02:55:07 +01:00
PSISP
3934d00cca
Merge pull request #409 from Ziemas/binary-wav
SPU: Open WAV file as binary
2020-06-11 16:50:26 -04:00
Ziemas
bc999de142 Open wav file as binary
oops
2020-06-11 22:13:35 +02:00
refractionpcsx2
aa2098bd18 Added COP0 Timer interrupts
Cleaned up (and fixed up) PCCR counting
2020-06-11 20:53:31 +01:00
PSISP
ef527a8c74
Merge pull request #407 from tadanokojin/fix-vs-again
vs: spu fixup
2020-06-11 14:31:23 -04:00
Kojin
78cf3fb92e vs: fixup 2020-06-10 09:19:01 -04:00
PSISP
967a76db02
Merge pull request #406 from Mrlinkwii/master
EE: Comment out MFPC logging
2020-06-10 01:42:33 -04:00
PSISP
f5279f4afc
Merge pull request #333 from Ziemas/audio
SPU: Add ability to record sound into a WAV file
SPU: Add major features like ADSR, reverb, etc, many bug fixes
2020-06-09 19:52:55 -04:00
Mrlinkwii
79a52ba22a Update emotion.cpp 2020-06-09 23:57:44 +01:00
PSI-Rockin
1178c936c7 IPU: Set bit 63 in TOP when less than 32 bits are in the FIFO
Fixes FMV hangs in Spyro: A Hero's Tail, Test Drive, possibly other games
2020-06-09 02:01:05 -04:00
Ziemas
89bf52d335 Struct renames 2020-06-08 21:36:09 +02:00
Ziemas
b5da711c8a Delay wav writer file opening until we have data
Prevents creating unneeded empty files when output is disabled
2020-06-08 21:36:09 +02:00
Ziemas
1eb6ac377a Checkbox for WAV audio output
And only save save audio when checked
FIXME: still opens the files either way
2020-06-08 21:36:09 +02:00
Ziemas
066eaa996e Dr. Hell's noise generator
Supposedly perfectly accurate? Borrowed from pcsxr.
2020-06-08 21:36:09 +02:00
Ziemas
b1e6d3145c Split out decoding from sample advance loop
Previously we were not decoding the first sample until the counter had
ticked over once already, meaning we were effectively one sample behind.

Personally I find tracking position in the current block by sample index
to be less confusing than the previous block_pos method.
2020-06-08 21:36:09 +02:00
Ziemas
100610f6d3 Clarify some things with comments. 2020-06-08 21:36:09 +02:00
Ziemas
356ff67294 Update key_on/off state at the end of the next T
Might add a delay between key on and voice start later if required.
2020-06-08 21:36:09 +02:00
Ziemas
ede6c083a6 Fix some reverb stuff
Didn't think to adjust the reflection filters to account for our
addressing. Also hadn't spotted the swapped d*DIFF regs in the
reflection filters.

Sadly this doesn't really seem to fix the clipping issues and might have
actually made it worse.
2020-06-08 21:36:08 +02:00
Ziemas
37d1a25d0a Reset interpolation data on key on
Otherwise we get pops as previous data is used for the new sound
2020-06-08 21:36:08 +02:00
Ziemas
95d5ee5bc9 Unify input/output buffer management
We only need to track one current buffer/input position, all the buffers
work the same way.

We don't need to care if the adma buffer is filled either, just request
dma on buffer switch.
2020-06-08 21:36:08 +02:00
Ziemas
daff0c5f43 Errors::die on adma bit 2 being set
I want to find something that does block reads.
2020-06-08 21:36:08 +02:00
Ziemas
97deb82ec7 Support muting core output 2020-06-08 21:36:08 +02:00
Ziemas
268202a0c3 Don't alter provided reverb offsets
Pretty confident now that these are fine as is.
2020-06-08 21:36:08 +02:00
Ziemas
9cb23f6296 Add noise to savestate 2020-06-08 21:36:08 +02:00
Ziemas
0ac6740efe Make it actually sound like noise 2020-06-08 21:36:08 +02:00
Ziemas
547e7805a3 Noise generation (idk might change method later) 2020-06-08 21:36:08 +02:00
Ziemas
fc33a9c7f8 Write out the rest of the memout buffers to memory 2020-06-08 21:36:08 +02:00
Ziemas
716864f6b5 Fix more dumb mistakes 2020-06-08 21:36:08 +02:00
Ziemas
b1de75908c Support reads from ESAH/L 2020-06-08 21:36:08 +02:00
Ziemas
84517cdf31 Sort out some reg confusion 2020-06-08 21:36:08 +02:00
Ziemas
078a95a475 Fix dumb pitch mod mistake 2020-06-08 21:36:08 +02:00
Ziemas
ed56d0e339 Remove leftovers 2020-06-08 21:36:07 +02:00
Ziemas
c2664c470f Support reads from MMIX 2020-06-08 21:36:07 +02:00
Ziemas
27f0da600f Write core0 output and read it on core1
also slightly saner mixing
2020-06-08 21:36:07 +02:00
Ziemas
8474071841 Die on pitch modulation as it is untested
Clamp volume when mixing samples
2020-06-08 21:36:07 +02:00
Ziemas
78eedbceb6 test build fix 2020-06-08 21:36:07 +02:00
Ziemas
169b5d4a68 Make sure reverb samples don't overflow 2020-06-08 21:36:07 +02:00
Ziemas
760e143404 Fix up SPU save states 2020-06-08 21:36:07 +02:00
Ziemas
4e68fcf228 Wrap negative reverb buffer offsets 2020-06-08 21:36:07 +02:00
Ziemas
77ce9f732b Clear dma req when ADMA is actually finished 2020-06-08 21:36:07 +02:00
Ziemas
18539cb180 Don't skip voice crest offset 0x1FF 2020-06-08 21:36:07 +02:00
Ziemas
12030a8564 Disgusting reverb implementation
Also begin using MMIX for routing stuff (seems weird, TODO: check breath of fire)
2020-06-08 21:36:07 +02:00
Ziemas
a00831d7f2 nocash style reverb reg names 2020-06-08 21:36:07 +02:00