Commit graph

1751 commits

Author SHA1 Message Date
Ziemas
74e9464c2f Start reverb work, pre-renames 2020-06-08 21:36:07 +02:00
Ziemas
fb7792c6c3 Write out raw voice1 and 3 data to memory
And check for interrerupts
2020-06-08 21:36:07 +02:00
Ziemas
16cc79916e EVOL, AVOL regs 2020-06-08 21:36:07 +02:00
Ziemas
b8c1d61817 Cast ADMA input before applying volume 2020-06-08 21:36:06 +02:00
Ziemas
b813d81ae1 Simplify adpcm decoder 2020-06-08 21:36:06 +02:00
Ziemas
0ab22eca7b Move SPU to its own directory 2020-06-08 21:36:06 +02:00
Ziemas
6adde39866 Update ADSR params on register write.
Change exp decrease
2020-06-08 21:36:06 +02:00
Ziemas
b240181fcd Clean up attempt made 2020-06-08 21:36:06 +02:00
Ziemas
3c867fd60b Volume sweep mode, wanna clean this up later
Unify this with ADSR some and split it out into it's own file later I
think. (spu_envelope.cpp/hpp maybe)
2020-06-08 21:36:06 +02:00
Ziemas
41f87a278d Shift volume to the right value
Ignore sweep mode for now.
2020-06-08 21:36:06 +02:00
Ziemas
e46c7a667d Save MMIX register writes 2020-06-08 21:36:06 +02:00
Ziemas
a7e7a03921 This looks slightly cleaner at least 2020-06-08 21:36:06 +02:00
Ziemas
08604718dc Implement BVOL, make SPU's read high regs.
Thanks ref

Also check IRQs when reading back ADMA data.
2020-06-08 21:36:05 +02:00
Ziemas
2a631fcf34 Probably best to initialize these 2020-06-08 21:36:05 +02:00
Ziemas
3c1e0c23fe Write ADMA to SPU Memory and then Mix it to output
Reworks the ADMA mechanism too, let's see how badly I did...

Having to edit serialize I realised why savestates are broken because
I've never looked in there, yet another thing to return to.
2020-06-08 21:36:05 +02:00
Ziemas
aea5405a76 Actually switch phase properly on ENDX 2020-06-08 21:36:05 +02:00
Ziemas
600c100a3c Read all the bits of the asdr shift value 2020-06-08 21:36:05 +02:00
Ziemas
b305d5c017 Setting sustain level high enough caused overflow
Switch to unsigned int for target since we only deal in positive values
for envelope anyway.
2020-06-08 21:36:05 +02:00
Ziemas
279b66e8f8 Printf on volume sweep mode 2020-06-08 21:36:05 +02:00
Ziemas
d93807993a Mute voices if vmix state is off
Just kinda halfway implemented for now since we don't do effects.
2020-06-08 21:36:05 +02:00
Ziemas
e7af3fde33 Effect area regs 2020-06-08 21:36:05 +02:00
Ziemas
45dbffd785 Write regs PMON and NON. 2020-06-08 21:36:05 +02:00
Ziemas
2bba9f71ac General cleanup of adsr stuff 2020-06-08 21:36:05 +02:00
Ziemas
e9db8f8509 Turn off ADSR processing after end of release 2020-06-08 21:36:05 +02:00
Ziemas
216623ab8e Initial hacky ADSR crap 2020-06-08 21:36:05 +02:00
Ziemas
ce15660e1d Gaussian interpolation 2020-06-08 21:36:05 +02:00
Ziemas
39ea29c109 This is not correct and didn't help as a temp hack 2020-06-08 21:36:04 +02:00
Ziemas
96acb28337 Clean up leftovers 2020-06-08 21:36:04 +02:00
Ziemas
7ecfd3a55c Mix voices and output wav per SPU 2020-06-08 21:36:04 +02:00
Ziemas
0f61db3141 Tidy up interpolation, split up sample gen method. 2020-06-08 21:36:04 +02:00
Ziemas
f8a703db62 Write out voices in stereo 2020-06-08 21:36:04 +02:00
Ziemas
f39f2cda64 Add stereo wav writing 2020-06-08 21:36:04 +02:00
Ziemas
550eb64acc Remove old wav wav write function. 2020-06-08 21:36:04 +02:00
Ziemas
24523a40c2 Output audio at the right frequency
Try to apply some volume
Ignore key on/off if too fast

Generally a hacky mess.
2020-06-08 21:36:04 +02:00
Ziemas
621faa192b Restore voice dumping to working order.
Mangled it in the debug craze.
2020-06-08 21:36:04 +02:00
Ziemas
4e0cf9cd73 Also build for msvc 2020-06-08 21:36:04 +02:00
Ziemas
f2d3bd3546 Add audio files to qmake 2020-06-08 21:36:04 +02:00
Ziemas
7e2b30dc17 I'm dumb 2020-06-08 21:36:04 +02:00
Ziemas
c1bde3405f Write 48000hz into the wav header 2020-06-08 21:36:04 +02:00
Ziemas
8d5fe28658 ps-adpcm decoder with hacky per voice wav output 2020-06-08 21:36:03 +02:00
Ziemas
a64e4cf188 Add ability to dump SPU voice data to disk 2020-06-08 21:36:03 +02:00
PSISP
d8c4df59eb
Merge pull request #404 from tadanokojin/vs-fixup
vs: cleanup
2020-06-07 18:34:11 -04:00
Kojin
6fdc1676bc vs: cleanup 2020-06-07 17:47:49 -04:00
PSISP
d7eb157447
Merge pull request #401 from refractionpcsx2/gs_displaymerge
GS: Implemented tadanokojin's DISPLAY change findings
2020-06-07 16:38:43 -04:00
refractionpcsx2
c3c92804ef Rename isInDisplay function 2020-06-07 21:00:35 +01:00
PSISP
7915614393
Merge branch 'master' into gs_displaymerge 2020-06-07 15:49:58 -04:00
refractionpcsx2
cfd89b9fb8 Savestate version bump 2020-06-07 20:49:09 +01:00
refractionpcsx2
e751ba7858 Removed Calculated DISPLAY registers 2020-06-07 20:17:03 +01:00
refractionpcsx2
9e05150a75 Move render_CRT back to the end of VBLANK to resolve some threading issues 2020-06-07 18:50:32 +01:00
refractionpcsx2
2d101ce175 GS: DISPFB Framebuffer doesn't offset in FRAME mode
Cleaned up code and fixed some interlacing issues
2020-06-07 17:27:30 +01:00