Next Generation Emulation banner
121 - 140 of 625 Posts
Discussion starter · #121 ·
shalma:
I noticed that SPU2-X uses DMA IRQs for R/W. I'd imagine this would work the same for SPU1 - sounds right.

Doesn't fix anything I'm aware of but I don't want someone to find a '1 in 10000 game' a year later that requires this. Ideally this should be hw-tested of course.
> Change #1 for unk1 build


The async timing engine works well enough that the SPU IRQ Wait hack should be much less (rarely) needed - I'm not mucking around with the output packet stretching because of this.
> Valkyrie Profile works to Chapter 3 start so far (w/out IRQ hacks)
> Misadventures of Tron Bonne works so far (Hopkat tested about 20 minutes of stage 1 gameplay, few other stages)
> Turbo fast-forwarding in emus can still mysteriously glitch out (less often but possible)


adsr.c - you'll see a notaz note for TronBonne (above). If you need it, you can activate the source. I'm thinking this might be right also - plays silently regardless of voice state.
> Included as dll notaz
> Change #2 for unk1 build


This doesn't count as alpha/beta/rc. Some untitled build that won't be archived if a new one comes out.

If it fails, use R16 or R17 RC1. :)
> Don't expect any official updates
 
Discussion starter · #123 · (Edited)
Initial feedback is positive all-around.


We've been collecting opinions and going to try expanding some of your options. This one is the aggressive change (testing purposes).

You need a monster cpu to run this version- 1 apu cycle updates. And you'll need an emulator that can run it - pcsxr-shalma.

(pcsx_hacks.ini - async_cycles = 1)
(plugins folder has dsound test version already)
(best use bin/img for this)

Download pcsx-test.7z from Sendspace.com - send big files the easy way
pcsx-test.7z

Why the test? This will clear out whether some sound problems are emu or plugin related.

Also this might hold the output drain, giving a relatively stable latency. Compared to the messy stretching method earlier (set latency very low to minimize the output sync generator)


What to expect for RC2
- Volume options in 0.1x increments
- CDDA filter strength (1-16)
- Optional XA filter strength (0 = normal, 1-16)
- Control apu cycle update amounts (1,10,22,45)
- Turn off async packet stretching (pure raw output)
- Some extra precise async timing engine
- Investigate the latency again
- Possible bug fixes
 
At least you're not using the abortive megaupload. That place is pure bullocks.
 
Discussion starter · #129 · (Edited)
Just looking for strange off-key notes. Something odd. Something too scratchy. Unusual popping.


> Heard that breath of fire (3? maybe 4) has some 'echo' sound in the intro.

> And Mortal Kombat Trilogy intro has some scratchy.

> Tomb Raider 1 has some popping still - have an idea to push on this.

> Valkyrie sounded a little odd until the decay fix (short strange tempos)


Nothing really in particular though now.
- Just want to make sure it's stable and didn't do something unexpected


edit:
I should remind everyone, use Eternal when it works better for your games. :)
 
I should remind everyone, use Eternal when it works better for your games. :)
From the games I've tested, all of them, including FFVII, sound like the real thing.
 
MTV Music Generator => Trance, Melody, Ambient Piano/2 sounds crackly.
MTV Music Generator => House, Melody, Maj Offbeat 1/2 and Rhode Bell (any) have some cracks&pops.

That's all what I could find so far. Other riffs also had some cracks or pops, but sometimes did and sometimes didn't. And sometimes those crackly go way overboard, then almost nothing at next play.
 
Discussion starter · #132 · (Edited)
Thanks for all these reports.

Popping controlled with Tomb Raider 1.
> Use 15-bit max volume + 1-sign bit (voice max + adsr)
> Clamp to 15-bit + 1-sign at every possible moment (.....)
> 20 apu cycle adsr start delay (.....)

Remaining issues
> Need to test MTV Music later

General checking
- Emulator set to PCSX-reloaded (or ePSXe)
- Latency set higher (if scratchy sounds)
- Async mode + Gaussian (less pops)

Recommended to use new load/save states
alpha3.7z
Download alpha3.7z from Sendspace.com - send big files the easy way


edit:
If something sounds funny compared to alpha2, it's likely over-clamping :eek:


edit2:
If the problem still hangs around whether you use async or "high compatibility mode", then it could be the plugin


edit3:
Seems good enough. Here's the current source
peopsspu109a.7z
Download peopsspu109a.7z from Sendspace.com - send big files the easy way
 
Discussion starter · #133 ·
One more alpha release for awhile

Fix volume mistakes
alpha4.7z
Download alpha4.7z from Sendspace.com - send big files the easy way

Source code available again
> If you want 1 apu cycle updates, externals.h - NSSIZE = 1


Note that this isn't the same as PCSX-reloaded dfsound (for various reasons)
> DSound 1.09a is a compatibility plugin (not accuracy plugin)
>
> PCSX-reloaded SVN uses long apu cycle update times (better compile it yourself and enable the async patch)
>
> ePSXe uses ~45 apu cycles (....?) so that's okay for (almost?) all games
 
Discussion starter · #134 ·
If you get scratchy, stuttery, crackly
---> Keep changing latency higher or lower (mine is at #7)
---> Check emu speed

Beware that Eternal -> DSound load states may give strange errors (sound corruption)


One last round of experimental core patching
> More clamping (possibly what the hw engineers would do anyway)
> Fix 'external loop address' hack
(set the $4 loop when VAG is beginning decoding, not after it's finished playing)
> Fast-forward sound recording works

Final Fantasy Tactics - monastery thunder now seems to rumble right (varying pitch depths timing - 10 apu)

This could break something. So it's going to be a longer test phase.


alpha5.7z


Did check out Music Generator. Doesn't seem broken as someone outside claimed.
> KrossX samples seem okay now
> Comparable to Eternal quality
> Load and Save -> Load file -> #1 -> Song track -> Play

music generator - demo1 (Gaussian - normal volume)
PEOPS.rar


Thanks for all the continual help.
 
No difference here, so I recorded a sample. This is Maj Offbeat 1/2 and Rhode Bell X/Y from the previous report, in that order. There's async and high compatibility recordings.

PEOPS_spu Alpha5 Samples.rar

The "boing" or skewed distortion at the end of sample1 in the async record, does happen but rarely. So it's quite lucky that it got into the recording. The recording was done with 0.5x volume otherwise it would clip, then volume maximized. I probably have a high recording volume somewhere, irrelevant to normal playback anyway.

Using the plugin from the alpha5 package, the recording settings are the following:
  • Using PCSX-R-Shalma from the previous Alphapackage.
  • Async and high compat respectively.
  • Volume 0.5x (1.0x in normal usage).
  • PSX reverb.
  • Gaussian interpolation.
  • PCSX / PCSX-R.
  • XA and XA changes enabled.
  • Other switches disabled.
  • Latency 8: 90-105ms
  • Everything else in normal.

I was previously using a NSSIZE = 1 build of Alpha5, with an SVN build of PCSX-R. The settings were a little bit different, just with cat-mul interpolation and Latency 0: 10-25ms.
 
Discussion starter · #136 · (Edited)
Compared to Eternal. Yeah, that's a bad one.

How to fix? Hmm.

Even with reverb off + no interpolation for Maj Offbeat, it still has that fuzzy sound. :|

Either it's the changing volume or vag decoder needs more work. Or neither. :)

And the vocal for demo1 "Back Again" has that voice pop (the way they stored the sample is weird; their use of volume spiking to make it work is even stranger)


Off-topic:
alpha5a alt - only clamp during interpolation
alpha5a.7z

(doesn't fix anything, just alternative for people who like it. Or might be right thing to do)


edit:
Likely we might not be able to solve the MTV Music problems.

Best use Eternal.

Or wait for psxAuthor's MAME work to be openly released and make a plugin out of that one. :) :)
 
Discussion starter · #137 ·
MTV Music
> Problems could be 'strict timing' related


pcsx-r dfsound (dsound near-clone for cross-platforms)
DFSound.7z
> No vocal clicks on "Back Again"
> Maj Offbeat sounds much better

dfsound runs faster than DSound 1.09a (likely needs IRQ hacks for others)
Eternal runs faster than DSound 1.09a (needs IRQ hacks for other games)
DSound 1.09a runs slower than the expected speed (demo1 vocal click)


So you may need a pSX or Xebra to play this one properly. But the faster plugins work better here than ours.

Is this fixable? I wouldn't break my back over it. :(
 
Discussion starter · #138 ·
Went through the plugin again :eyemove:
> Tightened output engine (faster updates)
- should be able to choose lower latencies now
- latency engine works for modes 0-1, better for modes 2-3

> Tightened async engine (better timing)
- MTV Music - demo1 vocal no longer pops
- tries to run a little faster than the emu and keep pace

> Clamp only at interpolation, output
- Popping gone
- Other clamping is unknown (not needed?)

> Remove voice init delay
- MTV Music wants 0 cycles
- real init may only be 0.25 cycles anyways

> More main volume choices
- 0.10x increments

> Async smooth
- Better latency, high quality (no stretch)
- Runs faster than normal, possibly less compatible

> Async stretch
- Best timing, play with latency options
- Pads output to keep drain stable

> Async on-demand
- Best quality possible (no stretch)
- No control over playback speed (you're on your own with this mode)


Are the MTV samples cured? Don't really know.

Listening to Eternal with reverb off, there's still that muffle (not sure).
> DSound should muffle less than alpha5

alpha6.7z
Download alpha6.7z from Sendspace.com - send big files the easy way
 
Discussion starter · #139 · (Edited)
If you're not getting tired of these builds, then you may like this one (esp. if you're a psxdev) :)

Fix VAG $4
> Jungle Book (now working again)
> Xenogears (now working again)

> Xenogears - Anima Relic dungeons (exp gain) (**** new ****)
- This gave a terrible screechy buzz for a long time. Had no idea why - thought we'd never fix this.


Dev notes:
> Decode 28 blocks of VAG as normal
> Update $4 loop address
> Update $1 / $2 jump flags (do not jump yet!! - new code)
> Give time for loop address to be changed externally (key to anima relic dungeon)
> When new block is ready to play, -now- do the jump and silence chop
(jump = anima relic dungeon fix)
(silence = Xenogears water drops, underground sand cave with Fei / Bart)

I'm happy right now. Don't care if Enix's VP has some extra nasty coding that buggered up my disc kit again (4th round). :) :)


alpha7.7z
Download alpha7.7z from Sendspace.com - send big files the easy way


edit:
You better use fresh save states starting with alpha7.

(delete)


edit2:
This'll still let you hear some audio when fast-forward is on

alpha7a.7z
Download alpha7a.7z from Sendspace.com - send big files the easy way


edit3:
Fast-forward sound - repaired
- works like before alpha6 repair

Async smooth - repaired
- controlled latency, working mostly intended

Async stretch - repaired
- controllable latency, working much better

CD/XA/Voices volume in 0.10x steps


Compatibility plugin (claiming zero accuracy) :)
alpha7b.7z
Download alpha7b.7z from Sendspace.com - send big files the easy way
 
Discussion starter · #140 · (Edited)
Fix decoded buffer usage
- Vib Ribbon / Crash Team Racing (cdxa)
- Tales of Phantasia (fix buffer cursor)
- Voice 1/3 added

alpha8.7z
Download alpha8.7z from Sendspace.com - send big files the easy way



Some problems with ePSXe may not show up with a faster apu update
- ex. Plugin now works if emu supports cdxa features (Vib = basic gameplay, Crash Team Racing = speech motion rate)
- ex. Some odd Xenogears screeches

pcsx-reloaded test emulator (if ePSXe fails)
pcsx-test.7z
Download pcsx-test.7z from Sendspace.com - send big files the easy way


edit:
No other emu or plugin seems to suffer from this fast 'output drain' => crackly problem (buffer keeps dropping to zero).

I'm becoming convinced by others that DSound 1.09a is fundamentally broken.
 
121 - 140 of 625 Posts