Page 1 of 1

Sony PSP reprogramming

Posted: Mon Jul 13, 2009 5:28 pm
by gravaera
I just saw on the Wiki project page someone who was doing an OS for the Gameboy Advance. When I saw this, I checked out his link, and there it was: he really was programming for the GBA.

Then the idea occurred to me: When I grow older and more experienced, I could buy a PSP, whose Datasheet, I assume by then, should be available.

My idea, although I probably won't have much time for it, will be to develop a full OS for it, and make myself a full, portable mini coding machine of sorts. So I could walk around, and browse the internet (the PSP has Wifi), listen to MP3s, and all kinds of stuff. It has a USB interface, and Memory Card slot. 32 MB ram, and a good enough CPU for me not to complain.

Before today, I'd never considered why I'd want to do Embedded Systems, but now I see every reason why I should. It would mean having an untraceable PC in the palm of my hands. I could be running around like one of those guys in the movies, and doing cool stuff!!

However odd this sounds, I'm very hyped up about it. I'm DEFINITELY going to make sure I get a job in embedded systems very early on. I could get all kinds of experience, and make myself a set of SUPER hacked toys.

Everyone else is boasting about their Ipod Videos and whatnot. Crap. I've got me a reprogrammed PSP that allows me to play games, do internet, listen to music, and watch vids. How's that compared to your crappy little Ipod? Huh? Yea. Feel the awesome.

Anyway: point, I'm now extremely interested in Embedded systems as well. :D More READING!!!

Re: Sony PSP reprogramming

Posted: Mon Jul 13, 2009 11:11 pm
by earlz
I'm also very interested in embedded programming, but I find that a feasible platform is difficult to come by for hobby experimentations. The PSP, unless you somehow can get one with a buggy firmware below 1.4.0, is unhackable(short of some mad hacking with a solder iron) and therefore it can not load a custom OS...

Does anyone know of that awesome perfect embedded platform that is cheap enough for hobby work? I like the OpenPandora, but it apparently is still in progress. I have a TI 84 calculator, but loading a custom OS on it can be dangerous and it can be bricked(plus those magical memory ranges of death) and I also hate the idea of programming a 16 bit processor. The GBA isn't too bad, tons of emulator support, lacks an actual keyboard though. Lacks expansion capabilities and wireless too...

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 5:41 am
by Coty
holypanl wrote:32 MB ram,
Actually that is only the older system (psp 1000 model) both the 2000 model and 3000 have 64MB of RAM witch pushes the ARM prosseser to its MAX RAM. So why buy the 1000 when the 2000 used is about the same price. (But the 1000 has a better battery and eisyer to kill its previous OS)

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 6:53 am
by xDDunce
holypanl wrote: Everyone else is boasting about their Ipod Videos and whatnot. Crap. I've got me a reprogrammed PSP that allows me to play games, do internet, listen to music, and watch vids. How's that compared to your crappy little Ipod? Huh? Yea. Feel the awesome.
All that is covered by the iPod Touch, and the iPhone covers even more. I guess the only downfall is that you don't get the satisfaction as making your own OS for a well-used device.

Good luck with it though, sounds really interesting! I might take a look at GBA programming, it sounds great!

Cheers,
James.

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 8:50 am
by earlz
xDDunce wrote:
holypanl wrote: Everyone else is boasting about their Ipod Videos and whatnot. Crap. I've got me a reprogrammed PSP that allows me to play games, do internet, listen to music, and watch vids. How's that compared to your crappy little Ipod? Huh? Yea. Feel the awesome.
All that is covered by the iPod Touch, and the iPhone covers even more. I guess the only downfall is that you don't get the satisfaction as making your own OS for a well-used device.

Good luck with it though, sounds really interesting! I might take a look at GBA programming, it sounds great!

Cheers,
James.
The Iphone works in a sandbox, so you can't actually make an OS for it without jailbreaking it. Which is quite dangerous and no one wants a $300 brick. Though it's definately possible to jail break it and put a custom OS on it... one of my friends did just that(and he isn't even a programmer!)

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 9:19 am
by Dex
Now the ? is, would any of you pay £115.00 for a ARM processor, with touch screen, with higher spec than the i-phone, that is designed for OS Dev's, plus it comes with a pdf book on coding a OS for it and a full Dev tool chain, and datasheets ?.

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 9:51 am
by Coty
Why yes I would, It sounds better than the PSP Idea,

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 11:45 am
by gravaera
Dex wrote:Now the ? is, would any of you pay £115.00 for a ARM processor, with touch screen, with higher spec than the i-phone, that is designed for OS Dev's, plus it comes with a pdf book on coding a OS for it and a full Dev tool chain, and datasheets ?.
DEFINITELY. I'm so itchy to try to program a small device right now...

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 2:21 pm
by Dex
Arm is the way to go, get your self a GBA emulator and start code for it, it will teach you alot, as the GBA is cheap to buy and are very bare bones to program for.
Here a simple starter, a GBA hello world prog.
The basic header is like this:

Code: Select all

; GBA Header and test prog by Dex,Coded with FasmARM.
; c:\fasmarm test.asm test.gba
format binary
org	0			; code starts at offset 0.
use32				; use 32-bit code.

    b    rom_start
NintendoLogo:
    db    0,0,0,0,0,0,0,0,0,0   ; Nintendo Logo space(156 bytes).
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0,0,0,0,0
    db    0,0,0,0,0,0
GameTitle:
    db    "TEAM DEXOS  "        ; Game Title (12 bytes).
GameCode:
    db    "1234"                ; Game Code (4 bytes).
MakerCode:
    db    "_$"                  ; Maker Code (2 bytes).
FixedValue:
    db    0x96                  ; Fixed value (1 byte).
MainUnit:
    db    0                     ; Main unit code (1 byte).
DeviceType:
    db    0                     ; Device Type (1 byte).
ReservedBytes: 
    db    0,0,0,0,0,0,0         ; Reserved (7 bytes)
SoftwareVersion:  
    db    0                     ; Software version (1 byte).
ComplementCheck:
    db    0                     ; Complement check (1 byte).
Reserved2:
    db    0,0                   ; Reserved (2 bytes).

align 4

;********************************;
; Rom start.                     ;
;********************************;
rom_start:  
	mov r0, 0x4000000
	mov r1, 0x400
	add r1, r1, 3
	str r1, [r0]

	mov r0, 0x6000000
	mov r1, 0xff
	mov r2, 0x9600
loop1:
	strh r1, [r0], 2
	subs r2, r2, 1
	bne loop1

LetsLoop:
	b LetsLoop

times 20000- ($-0)  db 0
The above just sets the mode and fills screen with color
Links
A good gba dev forum:
http://forum.gbadev.org/
gba asm tut:
http://patater.com/gbaguy/gbaasm.htm

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 3:31 pm
by Firestryke31
I learned C++ on the GBA, it's a nice development platform. It might not be as fancy as a PSP or a DS but it's a whole lot easier to get something working on RHW due to the simple cart validation. The one thing I don't like about the GBA is no HW floating point support, which sucks for any math-heavy graphics things. It has to be either emulated (slow) or replaced with fixed point (manually coding stuff).

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 4:51 pm
by gravaera
Well all things considered, I'd like to thank Dex for those links, and I'll be definitely looking into them now, seeing as five minutes ago I finished my last Assignment for this Semester.

About the FPU, I never need FP, since honestly, I never even see the need for them. I now sometime I'll probably need to, but wow. I'd hate it when I do. I always hated decimals, and maths having to do with any sort of intense calculations that result in decimals (e.g Quadratics, etc.).

And now i can also get back into my original OS project full swing. I have yet to implement Mem Mgmt, and a Heap.

After that, I'll just spend a nice bit of time reading out the Intel Manuals to really get the low down on the CPU. ;)

Re: Sony PSP reprogramming

Posted: Tue Jul 14, 2009 8:17 pm
by Firestryke31
You'd be surprised at how much fractional precision is useful in graphics programming even in a (mostly) integer-based system like the GBA. I think that the most common route people go on the GBA is fixed point though, since there are a couple of things in the graphics HW that use it, and any integer based math converts easily to fixed point (just a shift and you convert an int to a fixed point number, or vice-versa).