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 

newbie question

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



Joined: 29 Feb 2004
Posts: 4

PostPosted: Sun Feb 29, 2004 3:38 am    Post subject: newbie question Reply with quote

Hi folks,

since a while I look to the ps2-homebrew scene, and its very interesting and often i thought about participating, so I tried to find some information regarding the architecture of the ps2-homebrew-software..

The most interesting for me I want to know is, if there is some kind of kernel. You always use the standard libraries for network, access to devices, like hdd or pads, some kind of glibc-pendant (which i use in linux) and so on, do this libraries for itself make some syscalls to the kernel?
or do they access the hardware directly?

When I looked through the sources, i couldnt find any hints to a kernel. I looked to sjeeps pgen, and in the file open area there seemed to be some device descriptors, like mc0, mc1, cdrom0, hd... or so
is this stuff provided from a kind of kernel? or just provided from a kind of direct-hardware-accessing-device-framework-implemted in a library, which was linked to the executable?

I am not very experienced with that stuff, but I am curious, so i would be happy to find someone who could answer me that question.

thanks in advance,
crispie.

p.s. sorry for my english, its not my native language..
Back to top
View user's profile Send private message
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Sun Feb 29, 2004 6:16 am    Post subject: Reply with quote

If you have the ps2lib source, then ee/libkernel/ contains calls into the kernel that runs on the EE. kernel.S contains system calls - these are direct entrypoints into the kernel API. A large portion of libkernel is an API that is used to communicate with the PS2's I/O Processor (IOP). The devices that you see (mc0;, cdrom0:, etc.) are written to run on the IOP, but accessed through fileio.c and other portions of libkernel on the EE.

The IOP also runs a kernel, but it doesn't use system calls, but instead a library system that is somewhat simliar to shared libraries under Unix or DLLs under Win32. You can see how that's implemented by reading the source in the iop/ directory of the ps2drv project.

If you have more specific questions, let us know.
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 -> PS2 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