Sony PSP reprogramming
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Sony PSP reprogramming
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. More READING!!!
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. More READING!!!
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: Sony PSP reprogramming
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...
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
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)holypanl wrote:32 MB ram,
My hero, is Mel.
Re: Sony PSP reprogramming
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.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.
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
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!)xDDunce wrote: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.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.
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
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 ?.
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: Sony PSP reprogramming
DEFINITELY. I'm so itchy to try to program a small device right now...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 ?.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: Sony PSP reprogramming
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:
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
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
Links
A good gba dev forum:
http://forum.gbadev.org/
gba asm tut:
http://patater.com/gbaguy/gbaasm.htm
- Firestryke31
- Member
- Posts: 550
- Joined: Sat Nov 29, 2008 1:07 pm
- Location: Throw a dart at central Texas
- Contact:
Re: Sony PSP reprogramming
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).
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: Sony PSP reprogramming
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.
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.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
- Firestryke31
- Member
- Posts: 550
- Joined: Sat Nov 29, 2008 1:07 pm
- Location: Throw a dart at central Texas
- Contact:
Re: Sony PSP reprogramming
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).
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?