Next Generation Emulation banner

questions/ideas/conversation for Pete...

1232 Views 6 Replies 4 Participants Last post by  Captain N.
Just had some thoughts about Pete's plugins that I wanted to share, so here goes...

On the spu plugin:
Does the spu plugin output all sound at the same sampling rate or does it output the XA seporate from the synth sound etc.?

Specifically, is the XA output at 44800 khz or at the native 37100 khz (those numbers are off the top of my head, so they may not be accurate, but you know what I mean)?

It sounds like they are output at 44800khz. Is there any chance that a future version will have the option to output all of the psx sounds at there native sampling rates? I know sound card compatability is an issue, but an sbLive! supports at least the 37100 rate and I think it supports other odd rates as well. I used to play psx movies using one of the movie players that output only at the native sampling rate. On my old SB 32 it didn't output anything, but on my sbLive! it sounds great, with no hollow distortion.


On the GPU plugins:
In the software plugin it has an option to change the stretching mode with three settings
1. Scale to full window size
2. 1:1 (faster with some cards)
3. Scale to window size, keep aspect ratio

Would it be possible to see these modes added to the hardware excellerated plugins?

Here is my reasoning for this. When you enable sprite filtering in games like the Final Fantasy games or Chrono Cross etc. you get cracks in between the tiles on the backgrounds. If you stretch it in a perfect ratio (1 pixel becomes 2 pixels, 1:3,) would that help with the lines?

Also, when you strech the game to the full window and walk up and down the screen (causing scrolling) you sometimes get a window blinds looking effect (although some credit must be given, because it is hardly noticable).

Finally, I noticed that when square ported FFVII and VIII to PC they used proportional scaling, and I figure there may have been a reason (I could be wrong :) ).


Anyway, thanks for all the hard work. The playstation emu's and plugins are amazing.

Thanks for reading. I look forward to any replys.
See less See more
1 - 7 of 7 Posts
What I would like to see next are optimizations in the soft driver. This could also improve performance with Full VRAM Primitives that we're finding increasingly necessary for some games even when in 3D optimization.
I'll see how much I can answer here :)

Originally posted by Captain N.

On the spu plugin:
Does the spu plugin output all sound at the same sampling rate or does it output the XA seporate from the synth sound etc.?

Specifically, is the XA output at 44800 khz or at the native 37100 khz (those numbers are off the top of my head, so they may not be accurate, but you know what I mean)?

It sounds like they are output at 44800khz. Is there any chance that a future version will have the option to output all of the psx sounds at there native sampling rates? I know sound card compatability is an issue, but an sbLive! supports at least the 37100 rate and I think it supports other odd rates as well. I used to play psx movies using one of the movie players that output only at the native sampling rate. On my old SB 32 it didn't output anything, but on my sbLive! it sounds great, with no hollow distortion.
Just to clear it up *most* XA is in 37800hz! and the common frequencies are 11025, 22050, 32000, 44100, 48000hz! Anyway Pete just mixes it in with the normal sounds and passes it to the mix buffer as 44100hz! not sure why it wouldn't output on a SB 32, would have thought it'd still be able to handle it!


On the GPU plugins:
In the software plugin it has an option to change the stretching mode with three settings
1. Scale to full window size
2. 1:1 (faster with some cards)
3. Scale to window size, keep aspect ratio

Would it be possible to see these modes added to the hardware excellerated plugins?
Pete has said in his readme...

- SOFT plugin: a new stretch option: "scale to window, keep
aspect ratio". That one will keep the original psx
screen proportions, of course you will get black screen
borders, if the aspect ratio doesn't match your window
size. That option is much harder to do on the OGL/D3D
gpus (because many of my funcs are relying on a fully
rendered window), but maybe I will do that in a later
version... we will see :)



Here is my reasoning for this. When you enable sprite filtering in games like the Final Fantasy games or Chrono Cross etc. you get cracks in between the tiles on the backgrounds. If you stretch it in a perfect ratio (1 pixel becomes 2 pixels, 1:3,) would that help with the lines?
There is a way to get this working to a semi acceptable level, run in Window mode, and have the Window almost square (e.g. 800x750) This will reduce the errors! No full-screen workaround tho!
See less See more
If the whole screen needs to be rendered for some functions, then what if the screen was rendered at the original psx resolution (or double, or triple etc.) then streched to full screen, and then run the functions?

You would get a display that's more true to the original. It might also help with cracks and windowblind effects.

You could also add a feature using this technique that would allow the user to run games in openGL or D3D at the original psx resolution (for 2D games). That would take advantage of the hardware excellorated speed.

I think I posted someting like this months ago, but this is better explained.

Anyway, just some ideas. Let me know what you think.
The thing is, Full Screen, you are limited to the resolution sizes that the Video Card can handle! For example you cant do 320x224 (which is a PSX res) Closest is 320x240, 16 pixels out!
You can use linuzappz's D3D GPU to find out the PSX resolution! then run each game at it's size in a window! Problem is, alot of games do use more than 1 res for different parts of the game! ;)
It should be possible to detect what the res of the game is. The software gpu plugin does it. As far as what I meant was you could render the sceen at whatever res you want then strech it to fill the screen.

So let's say the game uses 480x480 and 320x224 (Chrono Cross), and the user sets his computer's resolution to 640x480.

480x480 can't fit if it is doubled so it would render at 480x480 then strech to fill the 640x480 screen.

As for 320x224, 640x448 does fit, so it would be rendered at 640x448 (or even 640x224) then streched to 640x480 or any other resolution the user sets.

You'd draw it to a buffer that is of a custom res using hardware accell then draw it to the screen and strech it (or to a streched surface?).

I'm not much of a programmer (yet) but from simple observation it seems like it should be possible. In bleem! (sorry to bring them up) you can set the renderer to draw the graphics using hardware accelaration and low res then it streches to what ever res you set it to (I forgot the name of the setting and lost my cd key, so I can't get it sorry). It looked like a playstation 2 but uglier (the textures could be filtered, and with my original factory drivers for my tnt2U the anti-aliasing worked [polygon edge], but hasn't since). Now I know bleem had plenty of other problems but this feature worked and for the purposes of explaining what I mean, Its a good example.

Anyway, I hope some of this made sense. Take care.
See less See more
1 - 7 of 7 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top