QJ.NET | Videos | Forums | iPhone | MMORPG | Nintendo DS | Wii | PlayStation 3 | PSP | Xbox 360 | PC | Downloads | Contact Us
Forums | Gaming News | Videos | Downloads | Today's Posts | Mark Forums Read | Chat | FAQ | Members List | Contact

QJ.net Game Discussion - PSP, Xbox, Wii, PS3, PSP Homebrew, and PSP Guides

Go Back   QJ.net Game Discussion - PSP, Xbox, Wii, PS3, PSP Homebrew, and PSP Guides > Developers Corner > PSP Development, Hacks, and Homebrew > PSP Development Forum
The above video goes away if you are a member and logged in, so log in now!

Anyone know how to read an image from an eboot / iso / cso etc?

This is a discussion on Anyone know how to read an image from an eboot / iso / cso etc? within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; I need to be able to read the image from an Eboot, an ISO, a CSO, a JSO or a ...

Reply
 
LinkBack Thread Tools
Old 08-16-2007, 06:48 PM   #1


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default Anyone know how to read an image from an eboot / iso / cso etc?

I need to be able to read the image from an Eboot, an ISO, a CSO, a JSO or a DAX file and then populate an image object. I know there are tons of things in C that do it but I need to do it from VB.NET.

Proof of concept we managed to bytestream the Eboot but I still have two problems, 1) how to populate the bytestream to an image object and 2) how to read this info from ISO/CSO/JSO/DAX files.

Anyone got any ideas?

Thanks in advance if anyone can offer any advice on this.
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 06:59 PM   #2
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Why not search for the header then read in data from there?
That's how I read a PNG file from an eboot (the icon0.PNG).
I must admit it is a known size though. Bitmaps wouldn't be
a problem there because you can calculate the size given the
dimensions (which are in it's file header). I imagine other image
formats give similar info in their file headers?
Art.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 07:04 PM   #3


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default

That is what we are doing with the bytestreaming on the Eboots but I have no idea how to populate the results into an image short of streaming it to a file and loading the file which is extremely messy . I also have no idea how to get to the header in a CSO etc .

We can succesfuly find the PNG information in the eboot header but that is where I then get lost . I can stream it to a variable and manually take that result and paste it into a file in notepad, rename it to test.png and open it and it IS the image, Like I said though, I am stuck at that point. Just need a couple of pointers to go off and research as right now, I don't even know what I am looking for in order to be able to search for it online and learn how to do it .
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 07:25 PM   #4
 
pspballer07's Avatar
 
Join Date: Feb 2007
Posts: 315
Trader Feedback: 0
Default

Quote:
Originally Posted by bhunter
We can succesfuly find the PNG information in the eboot header but that is where I then get lost . I can stream it to a variable and manually take that result and paste it into a file in notepad, rename it to test.png and open it and it IS the image, Like I said though, I am stuck at that point. Just need a couple of pointers to go off and research as right now, I don't even know what I am looking for in order to be able to search for it online and learn how to do it .
if ur saying u wanna do it automatically, what u would do is get the offset of where the .png is located in the file and probably the length then when u load the .png, u can just fseek() it to the offset.
pspballer07 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 08:24 PM   #5
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

Once you have the image in an array (which you have) you're set. Particularly if it's a PNG.
The sample I posted at the end of this page:
http://forums.qj.net/f-developers-du...005/page3.html
demonstrates how to use it.
You need to replace your graphics.c/h with the one in the zip package
because it contains Shine's function to load images from memory (what you want to do).

Reading from a cso... dunno. Let me know if you find out.
There must be some code to read them in the forbidden leaked firmware files
so that they can be played.
Art.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 08:53 PM   #6


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default

Thanks man but here lies my problem, I am trying to do this in VB.NET, not C I found this code ages ago called ExtractPic but again, it is in C .
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 11:09 PM   #7
 
pspballer07's Avatar
 
Join Date: Feb 2007
Posts: 315
Trader Feedback: 0
Default

Quote:
Originally Posted by bhunter
Thanks man but here lies my problem, I am trying to do this in VB.NET, not C I found this code ages ago called ExtractPic but again, it is in C .
well, if u know VB.NET, I'm sure there is a File I/O function that does the same as fseek().
sorry, wasnt payin attention the first time.
pspballer07 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-16-2007, 11:21 PM   #8


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default

Tis all good, I will have a poke around the net and see what I can discover .

Thanks to both of you for your help, I at least have a starting point for my searches now .
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-28-2007, 05:46 PM   #9


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default

A little bit of headway on this:
Code:
PSPGame.Image = System.Drawing.Bitmap.FromStream(StreamVar)
Seems to be what I have been looking for for ages. Funny that I stumbled upon it whilst trying to port an arcade emu from VB5 to .NET

Next I need to work out how to read the header from a CSO
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-28-2007, 06:50 PM   #10
Art

Bush Programmer
 
Art's Avatar
 
Join Date: Nov 2005
Posts: 3,557
Trader Feedback: 0
Default

I think you would need a zip library for that.
Not sure, but I think cso are zipped.
Art is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-28-2007, 07:22 PM   #11


Developer
 
bhunter's Avatar
 
Join Date: Dec 2006
Location: Sydney, Australia
Posts: 163
Trader Feedback: 0
Default

Excelent, thankyou . If I can cover some ground on this over the weekend then maybe a new version soon
__________________
PSP History
Bought Dec 15th 2006 @ 2.6 -> 2.71 HEND -> 1.5 -> 3.02 OE-A -> 3.02 OE-B -> 3.03 OE-A -> 3.03OE-A' -> 3.03 OE-B -> 3.10 OE-A -> 3.10 OE-A' -> 3.30 OE-A.
bhunter is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-29-2007, 03:36 AM   #12
 
flatmush's Avatar
 
Join Date: Mar 2007
Location: England
Posts: 87
Trader Feedback: 0
Default

I used to be a vb6 programmer, trust me at this point it would make your life easier to just learn C/C++. VB isn't very well suited to low-ish level stuff like this.
flatmush is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Tags
cso , eboot , image , iso , read

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -8. The time now is 06:29 PM.



Use of this Web site constitutes acceptance of the TERMS & CONDITIONS and PRIVACY POLICY
Copyright © 2009, QJ.NET. All Rights Reserved.
Contact Us