PDA

View Full Version : 720x480 and 1080p psp slim games!!!



edepot
September 22nd, 2007, 13:00
Here is a cut and paste of 1080p info...

1920x1080x4(rgba) = 8MB

Just take 8MB from the 32MB extra memory of the slim.

Manually take over the outputing to the component lines in assembly
if possible.

Or trick the processor (if it uses one) by filling the video ram from the
8MB of memory and remove the "end of the horizontal" signal before
it gets output to the TV, and put it back in at the end of the 1920 line.
If it is not fast enough you can do it interlaced.

The psp slim can output dvd quality display at 720x480 progressive. (That is the output for umd video and xmb by the way). Even the psp games output at this resolution (but only 480x272 is the game screen with a surrounding static filler border)
Since the PSP slim can manage 720x480 progressive at a minimum, you know it can at least manage 720x960 interlaced.

For 1080p, fill up the 1920x1080p in blocks. Should not take more than 16 passes to fill up the 1920x1080 (480x4=1920 and 272x4=1088). Just time it right and you get about 3.75fps with 16 flickers per frame. Because 720x480 is supported, you actually can use this resolution to fill up the 1920x1080p, so it is actually 6x (6 720x480 screens fit into 1920x1080 pixels), so you only see 6 flickers per frame and it comes out to be 10fps (frames per second). And if you use interlace mode (720x960) it is EXACTLY 3x at 20fps (frames per second).

20 frames per second is approaching 24fps of dvd movies, so this is
not bad. This is assuming the video chip or cpu chip cannot catch up with
the extra bandwidth. If the chip can handle it, then you don't even have
to worry about it, just do a quick hardware blit of the corresponding
screen data from the 8MB and you are all set, no flickers. Of course this is assuming you can trick the chip (maybe it even supports the mode natively?) or do it manually by coding a special prx and use assembly. Hope everything is not hardwired and is programmable. I believe the
psp slim chip related to tv ouput is the Sharp LR388A1.
It not then it is probably for the 1-seg over the air digital tv display
feature in japan (pretty small at 320x240 resolution though).


But if in the end 1080p cannot be made to work it is still feasible to squeeze everything into 720x480. In this case when the PSP is
drawing the black borders, you can actually force it to draw stuff from
memory. Then you can program apps or games using the full 720x480
display. But if it can do 720x480p then it might be possible to do
something like that game Sonic 2 for Genesis (two player split screen
mode) and use interlace to get 720x960i resolution. Of course if it is hardwired and not changeable then the small fonts will come in handy for 480x272 native display.

If everything comes down to being hardwired, then
there is a possibility of putting the psp slim in umd video mode (with
the 720x480p display), and instead of giving video data, give it
game frame buffers. Then you get to program apps and games in 720x480p
(might have to skip a few frames if your code doesn't keep up).

Can the 3d graphics engine can render 720x480 screens? If not you
can always split the screen into 4 blocks and feed each to the 3d
accellerator and merge the final screen for the output.

But I doubt that is the end of the line. The video chip must support more
modes, and you just need to enable it via some undocumented flags.
I think the 2MB embedded ram might limit the resolution to something just greater than 800x600 (4bytes per pixel). This is assuming the slim still
has that limited 2MB video ram (from combined 4MB shared with the main cpu). Could they have added more embedded ram this time around?
Can the 2MB for the other processor be used for the video processing?

In any case at least the 720x480p for homebrew games and apps is
finally a reality. All you need are some modified prx and homebrew
programs to take advantage of it. I think using remotejoy you can even up it to 1020x768 but requiring a separate program running on the pc side will hinder the adoption rate. (not to mention the difficulty compiling and setting it up).


Step by step

The first step is to get the 720x480p display mode up because that is
the easiest to do. The psp slim can handle that natively for many of
its normal display modes. We know for a fact that it can display
all the pixels for 720x480p because if you plug in a umd disc and
output it to the external display ALL 720x480 pixels are displayed.
So we just take that mode and instead of reading from the umd disc
(or iso if you have put it on the memory stick), feed it data from
a game. Perhaps a function call to a user mode function that in turn calls
a custom kernel prx that tricks the psp slim to accept the new 720x480p
mode. All the programmer has to worry about is putting appropriate
graphics data in the 720x480 address space and maybe a flipbuffer call to do doublebuffering. (the flipbuffer would of course end up calling that
special prx, to make it simple). 3d accelerated stuff is optional at this
stage, but if the prx can handle this as well even better (if difficult, maybe
provide an x,y offset for accellerated 480x272 3d processing inside the 720x480 so you can at least do 3d stuff in small stages). 720x480p
fits inside 2MB, so this is the easiest to do.

The next step (after people can do 720x480 programs and games and
3d accelerated ones too) is to test the limits of the tv-output to see if it
can accept undocumented modes built inside the chip (if it uses one?).
HDTV accepts all types of weird modes. I think it only has 3 lines. 2 for
red and blue and the green contains both horizontal and vertical sync.
So as long as the tv can accept the sync you can experiment with all
sorts of display sizes and frames per second.

After these experimentations you can try to do what was outlined in the above post (tricking it so it can do 1920x1080) after knowing the
limitations of speeds and modes.


For people stuck at 480x272, I think the smallest fixed sized font that looks normal is 6x8 pixels.
The 6 pixels are needed horizontally for m and w character. The 8
vertical is needed for dropdowns like gjqy. Maybe someone can make
semi-fixed font system with 4x8 pixels (using two font cells for w and m).
Or better yet a proportional font system with 2 to 6 horizontal pixels (i for thinnest and m and w for widest). I think this is needed because of the many people who are currently interested in making the touchscreen attachment a reality for the psp fat and slim. You can take power from the ports at the headphone jack or from the usb power jack. Getting it to output signals to the ubs is probably challenging (emulate a gps mode to send the serial information?). Maybe doing it via the new slim headphone
port is easier with the extra 6 pins there must be better serial support
(higher speed).

So if 6x8 pixel font is possible then you get 80x34 character display which is better than the standard 80x25 display for old displays. If you use
just one line of the display at the bottom you can fill it with all 26
alphabet plus capitals and 10 digits and you still have used only 62
characters of that line. Leaving 18 characters for punctuations and
entering other character modes for international text entry. Using just
8 pixels on the bottom of the PSP for touchscreen text entry would be
great. But if it is too small to touch then maybe a standard keyboard
layout of 5-6 lines, which would reach near the top of the analog nub
on the psp, and would not take up the whole length of the screen,
just a small little box on the right or left bottom corner. Maybe the
pspsdk can incorporate this, or some homebrew coder up to the
challenge? It is not too difficult, given all the technical info needed
for implementation has been given above.

Cloudhunter
September 22nd, 2007, 13:54
Pasting it here won't do any better than you did at PS2DEV.ORG.

Cloudy

cloud_952
September 23rd, 2007, 00:52
o_o Also, the point it using higher resolutions is that devs can have more detailed textures. This doesn't do that at all.. it'd just blow up ugly textures. w00t. Yay! LARGER textures.

splodger15
September 23rd, 2007, 19:31
Pasting it here won't do any better than you did at PS2DEV.ORG.

Cloudy

lol you caught him out there