Game Development Community

Tge On Psp?

by Jeff Loveless · in Torque Game Engine · 12/25/2006 (7:22 am) · 10 replies

I know I might be late jumping on the PSP homebrew bandwagon, but I just picked up a psp for the first time a few months ago and had no idea how much you could do with one, ie: run Linux, win95, quake 1, wardriving, listen to shoutcast radio, etc..

The quake was got me really curious, I have the source to compile quake to run on the PSP, and of course its original source code has been released for some time. If I used winmerge to get a dif of its original and its PSP source code, could I use this to make a patch to run a TGE build on my PSP?

Has this been done? Would anyone else like to contribute? I know the PSP already has its own dev platform, and a couple different engines, but not with the power or Torque ;)

#1
12/25/2006 (7:46 am)
Well, I hardly doubt many people would try, as lots of users are constantly updating their firmware to disallow anymore homebrew, and it's not officially supported by Sony which makes it even more difficult. Though, it might be fun to mess around and show others how much you know about porting Torque =)
#2
12/25/2006 (8:19 am)
Maybe I've been lucky, but it was suprisingly easy to 'downgrade' a psp from the new firmwares back to the ones that allowed homebrew, or to prepare it to be upgraded to custom firmware. As long as you havn't upgraded it to the 3.0+ versions, I dont know that they can revert back from those atm.

I would say it's about the same difficulty as upgrading your router, or mp3 player's firmware, and theres tutorials for do-it-yourselfers, and installer packs for beginners.

Anyhow, I think I'm giving it a go.

Edit: for reference I started with a psp I bought used that had 2.71 se b custom firmware, I downgraded it to 1.5 so I could upgrade it to 2.8 to play a game I bought. Then after reading into the latest info, I downgraded again to 1.5 to upgrade to the 2.71 se 'c' firmware with the newest devhook, so it can emulate any firmware from 1.5-3.02. All that isnt nescicary, you could go straight to 1.5 and then to the latest se custom firmware, but I didnt read up before I started.

Also, I figure I cant be the only game junkie around here with psp collecting dust that would enjoy seeing their build run on their psp, and be able to tote it around and show it off to the guys at work.
#3
12/25/2006 (9:10 am)
The quake source is a completely different monster than TGE. A cursory glance at the code structure (before even delving deep into the code itself) makes that apparent. A diff comparison between Quake and TGE would be useless.

What you could do, but could not legally distribute, would be to hook in a homebrew PSP platform layer using the homebrew libraries out there. You would also have to do some major memory manipulation to get the footprint low enough for use. Comparing the source build of Quake to the php source build will help you see where the culling had to be done in a Quake world to give clues on where you would have to work in TGE. At base, you would most likely have to completely rewrite the resource manager.

But, since the TGE indie license disallows console development, you could not release it. Also, you could not use any of the Quake source as it is under the GPL, which causes a license conflict. But if it is a curiosity function to see if you can get it running with homebrew libraries as a lhardware learning exercise that could not be used outside of personal growth, then licensing is in a dead zone of "never release".
#4
12/25/2006 (9:29 am)
Heh, that sounds about like what I was thinking... I know they're completely different worlds, I was just thinking the dif would show me what areas had to change.

No console development? Bummer I kind of assumed with all the torque/xbox stuff things would have been ok on that end of the spectrum. But yes I'd still do it just for personal education/enjoyment

I dont see why any quake source would have to be added, if it would just be serving as reference to help port tge, I have seen some homebrew sdk's I'll check those out and I'll definately update if i get it working, but if anyone wants to start a parallel effort please do.
#5
12/25/2006 (9:47 am)
Heh, that sounds about like what I was thinking... I know they're completely different worlds, I was just thinking the dif would show me what areas had to change.

No console development? Bummer I kind of assumed with all the torque/xbox stuff things would have been ok on that end of the spectrum. But yes I'd still do it just for personal education/enjoyment

I dont see why any quake source would have to be added, if it would just be serving as reference to help port tge, I have seen some homebrew sdk's I'll check those out and I'll definately update if i get it working, but if anyone wants to start a parallel effort please do.
#6
12/25/2006 (9:59 am)
Quote:(e) Licensee may not release Products intended for operation on Game Console Systems including the Microsoft XBox, Sony Playstation 2, Nintendo GameCube, or their successors without first obtaining a separate Torque Game Engine Console License from GarageGames.

As noted, doing a diff of the original code and its original codebase (was it straight gpl or one of the clean projects or one of the bling projects?) will help in determining management of your assets. This will provide hints on reworking the resource manager. But there will be a number of places that you will need to strip down TGE to get a useful footprint.
#7
12/25/2006 (10:44 am)
I got a fresh clean straight gpl release, none of the jazzed up builds.

..at least if something fantastic came of it a Console Liscence could be obtained. :)

I wonder, from looking at what they left out, and what was kept unchanged, and what had to be edited if TGE might be able to squeeze into the psp's 32 megs of ram, we're talking about something close to a 320x240 resolution too..
#8
12/25/2006 (10:55 am)
You would have to re-architect your code with the official sdk for the psp plus buy a torque console license since homebrew kits are massively different than the official sdk's.

Was the psp port pulled from the default gpl release? You should make sure that if it comes from a branch you are diff'ing that branch. Otherwise you will be tracking branch changes from the gpl as well. No reason to be doing unnecessary work!
#9
12/25/2006 (3:37 pm)
If you base your port on the POSIX implementations of things in the platformX86Unix branch, and use a helper lib like pspgl, you should be able to get TGB up in less than a week.

Getting TGE to run might take a bit longer.

Biggest barrier will be available RAM (both texture and otherwise), the engine can fit but the current assets we ship with target systems with more than twice the RAM.

Have fun!
#10
12/27/2006 (5:06 pm)
Wow Nice tip, thanks Ben!