forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Interacting with XMB

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
Bicubic



Joined: 11 Jun 2008
Posts: 6

PostPosted: Wed Jun 11, 2008 5:40 am    Post subject: Interacting with XMB Reply with quote

Hi all, I'm interested in extending the XMB and have a few questions relating to it. I'm very new to psp development, so please excuse any obvious things.

I would like to perform some automated tasks while the XMB is running, add menu items to it, and possibly change the visuals. How hard are these to achieve? I was thinking about hooking the flip call to draw my own icons, but I'd also need to have the XMB shift its current icons so it comes back to modifying its memory?
How about changing the wave/whatever background in the XMB? Is there any way to hook the drawing of the background, do my own drawing, and then let the XMB go on to draw the foreground?
Back to top
View user's profile Send private message
angelo



Joined: 29 Aug 2007
Posts: 168

PostPosted: Fri Jun 13, 2008 2:12 am    Post subject: CXMB Reply with quote

To do visule effects isn't really C/C++ related.

It's more to do with HEX and image editing with the files that make up the theme in flash 0.

This really isn't the forums for help. There are forums out there that specialise in *ONLY* customizing PSP themes,

If you want to start customizing the PSP's looks, I suggest you google CXMB. It stands for Custom Xross Media Bar.

It's very easy to add custom themes to your PSP (there are thousands out there!) and make your own.

If you want to make your own, I suggest you have a good image editor that has the ability to convert image files. Infraview is a good freeware version.

I hope that solves your question!
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Bicubic



Joined: 11 Jun 2008
Posts: 6

PostPosted: Fri Jun 13, 2008 4:22 am    Post subject: Reply with quote

I am aware that you can change themes of on the psp, mine's as customised as they come.
However what I'm asking is not to fiddle with the wave texture or mesh, but to replace the wave alltogether with my own code. And more importantly, make it possible to run my own code by selecting new or modified old icons in the XMB.
Back to top
View user's profile Send private message
jean



Joined: 05 Jan 2008
Posts: 489

PostPosted: Fri Jun 13, 2008 8:09 pm    Post subject: Reply with quote

C/C++ is a programming language, so a problem can be solved by coding a math function into sourcecode being a class or what the hell you like; saying such a problem is not C++ related is like saying that a book isn't language related. The thing Bicubic asks is indeed PSP related so it deserves an answer. Unfortunately the pointed out effect is very difficult to achieve: it's not as easy as wait a vsync and add your graph just before the next. I have one or two ideas but i wouldn't know where to start. The only thing i can do for you is defend your question as reasonable. In the meanwhile you could quick-search on google for a plugin written by dark-alex to programmatically change XMB's waves speed and appearance: it would be a nice "XMB programming primer". I don't remember the name of this app but it was released after the discover of an easter-egg that makes M33 CF's XMB go wild on April's 3rd (that means March 33...M33). If you can take a glance into sourcecode, you could start from it, _i guess_.
Back to top
View user's profile Send private message
Pirata Nervo



Joined: 09 Oct 2007
Posts: 409

PostPosted: Sat Jun 14, 2008 1:20 am    Post subject: Reply with quote

the plugin was written by Red_Squirel
_________________

Upgrade your PSP
Back to top
View user's profile Send private message
jean



Joined: 05 Jan 2008
Posts: 489

PostPosted: Sat Jun 14, 2008 4:20 am    Post subject: Reply with quote

red squirrel wrote something that at each reboot sets the date to april 3rd (that's useless for what we want). Then he implemented some code by dark alex that does it without tricks. (at least that's what i read)
Back to top
View user's profile Send private message
a_noob



Joined: 17 Sep 2006
Posts: 97
Location: _start: jr 0xDEADBEEF

PostPosted: Sun Jun 15, 2008 5:46 am    Post subject: Reply with quote

Dont listen to the bullshit in this thread, it is completely 100% possible. You just need to hook some of the GU functions. Take a look at my 3D VSHPong and VSHTime.
_________________
Code:
.øOº'ºOø.
'ºOo.oOº'
Back to top
View user's profile Send private message AIM Address MSN Messenger
Bicubic



Joined: 11 Jun 2008
Posts: 6

PostPosted: Mon Jun 16, 2008 12:29 am    Post subject: Reply with quote

Thanks for the heads up a_noob, exactly what I had in mind.
Have you released the source for them, or do you mind explaining what you're hooking?

Its pretty dissapointing that I got absolutely no help here from all these posters before. If you have nothing to contribute, don't contribute.
Back to top
View user's profile Send private message
angelo



Joined: 29 Aug 2007
Posts: 168

PostPosted: Mon Jun 16, 2008 1:43 am    Post subject: Sorry... Reply with quote

I just answered as well as I could to the first post... O_o

Sorry I tried to help!
Back to top
View user's profile Send private message Send e-mail MSN Messenger
pspZorba



Joined: 22 Sep 2007
Posts: 156
Location: NY

PostPosted: Mon Jun 16, 2008 1:52 am    Post subject: Reply with quote

Quote:
Its pretty dissapointing that I got absolutely no help here from all these posters before. If you have nothing to contribute, don't contribute.


You shouldn't write things like that, people tried to help you as much as they can in giving some starting points to your search.
Otherwise your next posts won't have many anwsers.
_________________
--pspZorba--
NO to K1.5 !
Back to top
View user's profile Send private message
J.F.



Joined: 22 Feb 2004
Posts: 2906

PostPosted: Mon Jun 16, 2008 1:55 am    Post subject: Reply with quote

Bicubic wrote:
Thanks for the heads up a_noob, exactly what I had in mind.
Have you released the source for them, or do you mind explaining what you're hooking?

Its pretty dissapointing that I got absolutely no help here from all these posters before. If you have nothing to contribute, don't contribute.


Patching into a system routine to overlay a bad pong game or stamp the time over top the XMB is NOT the same thing as what you described as wanting to do in your post. He's just what his user name says - a *&%%$%^ noob. What you described in your post as what you want to do would take a major rewrite of some of the most basic XMB modules. It cannot be done by patching a couple GU functions. You'll have to give up most of the functionality you wanted if you do so, but it IS considerably easier to patch into the GU functions.
Back to top
View user's profile Send private message AIM Address
Bicubic



Joined: 11 Jun 2008
Posts: 6

PostPosted: Mon Jun 16, 2008 2:13 am    Post subject: Reply with quote

Quote:
Otherwise your next posts won't have many anwsers.

I don't want many answers. I want helpful answers. If you have nothing to offer, offer nothing. There are off-topic boards for useless chitchat.

Quote:
Patching into a system routine to overlay a bad pong game or stamp the time over top the XMB is NOT the same thing as what you described as wanting to do in your post. He's just what his user name says - a *&%%$%^ noob. What you described in your post as what you want to do would take a major rewrite of some of the most basic XMB modules. It cannot be done by patching a couple GU functions. You'll have to give up most of the functionality you wanted if you do so, but it IS considerably easier to patch into the GU functions.

After examining his plugin more closely I realized that it actually draws over the entire XMB frame instead of at the correct moment - between the wave and the foreground. So I guess no it doesn't do what I want, but its something.
I also noticed that for things like audio streaming, content on the memory stick determines icons in the XNB in that context. This is promising as it may mean there is some functionality exposed to alter icons - the inserted UMD can also add new content like updates, although this may be limited to updates only. Was this looked into by anyone?

I guess if nothing else, I'd have to resort to decompiling and modifying the modules responsible for rendering the wave to invoke a prx compiled from c++? I've worked with MIPS before, but never on the scale of altering existing complex code.
Back to top
View user's profile Send private message
Pirata Nervo



Joined: 09 Oct 2007
Posts: 409

PostPosted: Mon Jun 16, 2008 3:21 am    Post subject: Reply with quote

What has the umd icons to do with what you want ?
They only show if there is a umd inserted and that check is made by the system.
instead of blitting the xmb without the umd update and umd icons, the xmb is blitted with the umd update/umd icons if the check returns true.

And not by patches.

This is what I think the system does. I can be wrong of course.
I may be misunderstanding you
_________________

Upgrade your PSP
Back to top
View user's profile Send private message
Bicubic



Joined: 11 Jun 2008
Posts: 6

PostPosted: Mon Jun 16, 2008 4:09 am    Post subject: Reply with quote

Well its not quite that simple. If my UMD can offer an icon to update to firmware 2.00, perhaps its also capable of offering an icon to 'dance', or whatever the code asks for. Of course this may be limited, such as only the game title and update, the code for both could be fixed to doing two preset actions so they'd be useless.
I guess I should clarify what I want. An example might be a decent RSS reader. I would like to 1: have a background thread that connects to the 1st wifi network and downloads all my feeds at 5am each day, and 2: add an icon to my XMB menu somewhere (not in the depths of game>memory stick) called 'rss reader' which launches my reader eboot.

The other part is pretty clear: I don't like the wave, I'd like to do my own drawing on top of it. Better yet, I'd like to replace it with my own drawing so its not wasting cpu cycles.

PS: 'blit' is the action of shifting image data from system memory to the screen. In the context of gu, it has no place. The joys of hardware 3d acceleration!
Back to top
View user's profile Send private message
Pirata Nervo



Joined: 09 Oct 2007
Posts: 409

PostPosted: Mon Jun 16, 2008 4:34 am    Post subject: Reply with quote

you didn't understand me but ok lol. (in the blitting part) I am not english so some times I don't know the exact words to to use.

As far As I know all umd's offer the update thing.
At least all my umd's do.
_________________

Upgrade your PSP
Back to top
View user's profile Send private message
jas0nuk



Joined: 27 Apr 2006
Posts: 137

PostPosted: Mon Jun 16, 2008 5:00 am    Post subject: Reply with quote

The VSH checks for the presence of an UPDATE folder in the SYSDIR directory of the disc; if it is there and the update files are present, an update icon is displayed. There is no other check of that kind.

If you want to literally add icons to the XMB/VSH you'll need to look into the RCO format and how vshmain.prx processes it to determine which icons to add. Doing it by hooking a vshmain.prx function might work, though none of their names are known.

And replacing the wave is possible*, but probably not with an image. There is a wallpaper function built into the firmware which does that, and disables the waves while it is enabled.

* http://forums.qj.net/f-psp-development-forum-11/t-releasetgawave-creative-studio-97755.html


Last edited by jas0nuk on Mon Jun 16, 2008 5:08 am; edited 1 time in total
Back to top
View user's profile Send private message
jas0nuk



Joined: 27 Apr 2006
Posts: 137

PostPosted: Mon Jun 16, 2008 5:07 am    Post subject: Reply with quote

AHH damn, delete this please. >_>
Back to top
View user's profile Send private message
Pirata Nervo



Joined: 09 Oct 2007
Posts: 409

PostPosted: Mon Jun 16, 2008 8:30 am    Post subject: Reply with quote

then it's what I thought.
The firmware checks for the update and displays it and does not add an icon to the vsh, the only thing is it is not being displayed. (I think)

delete what?
the thread ??
_________________

Upgrade your PSP
Back to top
View user's profile Send private message
jas0nuk



Joined: 27 Apr 2006
Posts: 137

PostPosted: Tue Jun 17, 2008 1:48 am    Post subject: Reply with quote

I double posted by quoting myself when I actually meant to click the edit button.
Back to top
View user's profile Send private message
Pirata Nervo



Joined: 09 Oct 2007
Posts: 409

PostPosted: Tue Jun 17, 2008 2:16 am    Post subject: Reply with quote

oh lol xD
that happens to me on other forums when I am used to different forum systems
_________________

Upgrade your PSP
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group