Playstation Emulation


Sony's PSP GPU code basically renders to 320x240 (without any filtering or effects on textures) and then optionally scales that to somethign bigger afterwards. psx4pandora will render to 640x480 (or more, depending on the game) and have options to scale by how much you want in either direction. Also there will be bilinear texture filtering (which honestly I can't see why Sony would overlook) and a Scale2x filter applied on the textures beforehand as well. :)
 
Tinnus said:
Sony's PSP GPU code basically renders to 320x240 (without any filtering or effects on textures) and then optionally scales that to somethign bigger afterwards. psx4pandora will render to 640x480 (or more, depending on the game) and have options to scale by how much you want in either direction. Also there will be bilinear texture filtering (which honestly I can't see why Sony would overlook) and a Scale2x filter applied on the textures beforehand as well. :)
All optional? I know some people would bitch if they were always on! :rolleyes: Have you had a look at HQ2X or LQ2X as alternative texture scaling? I find they do a great job of resizing textures and keeping edges crisp and sharp, but not jaggy :)

This page also shows some comparisons of Scale2X, 2XSaI and HQ2X
http://www.hiend3d.com/hq2x.html
 
Last edited by a moderator:
I'm pretty well aware of all the bitmap scaling algorithms, but there are some good reasons why Scale2x is a better choice. Namely because the other anti-alias the edges and cause transparency artifacts.
 
Tinnus said:
Sony's PSP GPU code basically renders to 320x240 (without any filtering or effects on textures) and then optionally scales that to somethign bigger afterwards. psx4pandora will render to 640x480 (or more, depending on the game) and have options to scale by how much you want in either direction. Also there will be bilinear texture filtering (which honestly I can't see why Sony would overlook) and a Scale2x filter applied on the textures beforehand as well. :)
Does this scaling mean a stretched Image with the wrong aspect Ratio? Or is it possible to render the original PSX 4:3 res into the Pandora Widescreen Resolution without any horizontal stretching? Could be difficult with 2D Games but AFAIk you can render any 3D Game in any resolution...in theory... ^^""
 
Last edited by a moderator:
Repeating, the games will (optionally) be rendered to AT LEAST 640x480 according to the resolution used in the PS1 by that particular game. For example, the BIOS in the PS1 uses a 512x480 display, which means it's rendered as 1024x960 (!!!) in the double-res GPU mode. Then, after we have the PS1 framebuffer, it's bilinear-filter-scaled to any coordinates/dimensions in the Pandora screen. And I can say that 640x480 scaled to 800x480 doesn't look any bad or blurry at all because the difference is very small :)

This does mean, however, that the image will be stretched if the destination size doesn't have a 4:3 aspect. But you can then cut some screen area in the top and bottom, even some games had black borders there because the old CRT TVs actually don't display the whole image (overscan). Of course after months "smart" Sony added a "zoom" mode to the PSP emulator which filled the screen with 4:3 aspect, then cutting TOO MUCH of the top & bottom regions of the screen :p

There's no easy way to get a game that renders to, say, 320x240 and make it render at 800x480, which has a different aspect ratio, simply because we don't have access to the geometry transformation stage together with the drawing. ie: modern graphics hardware draw 3D primitives, so you can just go there and modify the perspective matrix, but the PS1 transformed the vertices from 3D to 2D (screen) coordinates in the CPU, and then the GPU only had to render 2D polygons. There is no easy way to determine what was 3D-transformed and what's actually supposed to be at a fixed 2D location (like HUDs).
 
Ah, OK, I thought the PSX 3D is working like the 3D onto PC and modern Graphic Cards. Strange way, how the PSX draws the image, was this because the Console also was a 2D gaming machine?
Well, even onto the PC there are not many 4:3 Games with correct Widescreen Mode, many games just strethc the Image and then the Aspect Ratio is wrong.
But onto the Pandora I have no problem with black Bars left and right when displaying a 4:3 image. I would like this much more than a cutted image. Good that the Emulator will have more than one option to display the Image on screen. :)
 
fusion_power said:
Ah, OK, I thought the PSX 3D is working like the 3D onto PC and modern Graphic Cards. Strange way, how the PSX draws the image, was this because the Console also was a 2D gaming machine?
To my knowledge (and do please correct me if I'm wrong, here) and the best of my understanding, the PSX used orthogonal projection for 2D games, as it didn't have any "real" 2D capability at all.
 
Last edited by a moderator:
It didn't use any kind of projection for 2D games since it had commands for drawing sprites (like formerly SNES or Genesis, but a lot more flexible) and 2D triangles and rectangles. Actually the PS1 could only draw 2D primitives, and the 3D->2D transformation (if applicable) was done in software with the help of the GTE coprocessor (which added special instructions for operating on 3D vectors and 3x3 matrices). You basically got it all reversed :p
 
I did not know that. I stand corrected, and I have learned something new today. :D
 
Prometheus said:
fusion_power said:
Ah, OK, I thought the PSX 3D is working like the 3D onto PC and modern Graphic Cards. Strange way, how the PSX draws the image, was this because the Console also was a 2D gaming machine?
To my knowledge (and do please correct me if I'm wrong, here) and the best of my understanding, the PSX used orthogonal projection for 2D games, as it didn't have any "real" 2D capability at all.

The PSX started life as the SNES CD, I would be highly surprised if it didn't have 2D functionality.
 
Last edited by a moderator:
Tinnus said:
It didn't use any kind of projection for 2D games since it had commands for drawing sprites (like formerly SNES or Genesis, but a lot more flexible) and 2D triangles and rectangles. Actually the PS1 could only draw 2D primitives, and the 3D->2D transformation (if applicable) was done in software with the help of the GTE coprocessor (which added special instructions for operating on 3D vectors and 3x3 matrices). You basically got it all reversed :p
Ah, interesting. :) Is this the reason why PSX had these wobbeling Textures without Z-correction? Because there wasn't a real Z-coordinate anymore? ^_^
Prometheus said:
I did not know that. I stand corrected, and I have learned something new today. :D
Me to. :)
 
Last edited by a moderator:
Tinnus said:
Sony's PSP GPU code basically renders to 320x240 (without any filtering or effects on textures) and then optionally scales that to somethign bigger afterwards. psx4pandora will render to 640x480 (or more, depending on the game) and have options to scale by how much you want in either direction. Also there will be bilinear texture filtering (which honestly I can't see why Sony would overlook) and a Scale2x filter applied on the textures beforehand as well. :)
WOW!!

I love this option, I do like the idea of being able to see pure 4:3 with a high quality scaling option.

I am assuming that 320x240 modes will get double rendered for no pixel splitting?

This looks so cool, thanks Tinnus :D :D :pandora1: FTW!
 
Last edited by a moderator:
QUOTE
Ah, interesting. Is this the reason why PSX had these wobbeling Textures without Z-correction? Because there wasn't a real Z-coordinate anymore?

Yes :) And that's why emulators can't render perspective correct textures, there's no way to know the original Z value of the vertices. Most we know is that the polygons are rendered back-to-front, but that's one pseudo-Z coordinate per polygon, not per vertex.

QUOTE
I am assuming that 320x240 modes will get double rendered for no pixel splitting?

Yes. There will be a "double VRAM" mode (just like Pete's plugins) that will effectively make games render at double the resolution. That means games in double mode will render AT LEAST to 512x480, because 256x240 was the lowest possible resolution for games to use. But that looks great scaled to 640x480 (320x240) because that's what used to happen in the TVs anyway--games used to render to non-4:3 ratios and then stretch them to display so they had more VRAM (and a power-of-two width). the SNES and NES also rendered to a square-ish resulution (like 256x224)--look at SMB3 emulated without scaling and you'll see the square blocks aren't square, only when scaled to proper 4:3.

That means that even the 256x240 games look pixel-perfect--they're being rendered to 480 height (native height) and 512 width--which scaled to 640, or even 800, is unnoticeable. I have RIdge Racer running at 800x480 and you can't tell it's being scaled in any direction at all.

Not to mention the games which render to more than that :) The Tomb Raider series for example render natively to 512x240, and then we have a 1024x480 pixel framebuffer which is even bigger than the Pandora screen :) Also, I'll not even start with Tekken, which IIRC renders to 512x480... :)
 
Zodttd and/or Tinnus,

Any thoughts on emulating Namco System 11 and 12 (and other PSX based arcade hardware, i.e. Capcom ZN)? IIRC they were all basically PSX with extra RAM and/or a faster clock speed. So they have slightly better visuals (i.e. Tekken 3 arcade has more detail vs. the home version).

See here for a list of games:

http://en.wikipedia.org/wiki/Namco_System_12

I'm thinking Pandora could probably emulate them nicely using Zod's code base. That would be something no other handheld can do.
 
That's a possibility, but we'd have to have some real HW specs to see (currently researching)

They seem to use another sound chip though.
 
Tinnus said:
Not to mention the games which render to more than that :) The Tomb Raider series for example render natively to 512x240, and then we have a 1024x480 pixel framebuffer which is even bigger than the Pandora screen :) Also, I'll not even start with Tekken, which IIRC renders to 512x480... :)
Maybe instead of always rendering 2x2 the integer multiplier for VRAM should be optional, per game? Rendering anything at 1024x960 on Pandora is overkill.
 
Last edited by a moderator:
Tinnus said:
That means that even the 256x240 games look pixel-perfect--they're being rendered to 480 height (native height) and 512 width--which scaled to 640, or even 800, is unnoticeable. I have RIdge Racer running at 800x480 and you can't tell it's being scaled in any direction at all.

Not to mention the games which render to more than that :) The Tomb Raider series for example render natively to 512x240, and then we have a 1024x480 pixel framebuffer which is even bigger than the Pandora screen :) Also, I'll not even start with Tekken, which IIRC renders to 512x480... :)
Hopefully there will be basic 2:1 doubling (integer scaling) too without any stretching available too. This means 256x240 will be 512x480 but NOT scaled to 640 or 800 (This would add extra pixels inserted unevenly while not noticeable to some, others will notice.) , and 320 x 240 would be 640 x 480 not 800 x 480.
 
Last edited by a moderator:
DaveC said:
Hopefully there will be basic 2:1 doubling (integer scaling) too without any stretching available too. This means 256x240 will be 512x480 but NOT scaled to 640 or 800 (This would add extra pixels inserted unevenly while not noticeable to some, others will notice.) , and 320 x 240 would be 640 x 480 not 800 x 480.
Were you on holliday?
It took you quite long to post something like this. :)



FYI, I think with scaling 256 to 320 he means somthing like Picodrive does.
I don't know if you realised, but picodrive on gp2x looks better with scaling width of 256 to 320,
cause then the REAL aspect ratio is there. You know that TV pixels aren't square, don't you?
 
Last edited by a moderator:
Yes that's why. But I swear a scale from 512x480 to 640x480 is not noticeable at all, because it's a very small difference and only in one dimension. I play Ridge Racer scaled from 512 to 800 width, and can't notice any scaling. But as I have said around 5 times in this thread, you can scale it to whatever you want.

QUOTE
Maybe instead of always rendering 2x2 the integer multiplier for VRAM should be optional, per game? Rendering anything at 1024x960 on Pandora is overkill.

Of course :p It will be optional like everything else. One could just play the games at the original resolution without any filtering if they wanted, for instance. I won't be pulling another pops with useless options and lacking what people want...
 
Tinnus said:
QUOTE
Ah, interesting. Is this the reason why PSX had these wobbeling Textures without Z-correction? Because there wasn't a real Z-coordinate anymore?

Yes :) And that's why emulators can't render perspective correct textures, there's no way to know the original Z value of the vertices. Most we know is that the polygons are rendered back-to-front, but that's one pseudo-Z coordinate per polygon, not per vertex.

Hm, but my "ePSXe" on PC can somehow. ^_^ Maybe he uses another Renderer or something like this, would be cool if the Pandora Emulator could do this to because I really hate wobbeling, deformed Textures. :lol:
 
Last edited by a moderator:
Back
Top