Hello, I have a PS2 TOOL, an external PS2 dev HDD and a copy of the official SDK on DVD. I realise I can just sit down and write a game/app for my PS2 TOOL 'for fun' but I find it hard to be motivated if there isn't any way of showing this to people. What dev tools/libraries etc. are you guys using and how are you planning on distributing any work? (Ie. to people without modchips/mcboot) Or if you were going to distribute your work is requiring the end-user to have FreeMcBoot or a modchip the only means of doing so? I'm looking forward to getting involved, I've been looking in for too long.
Based on what I've seen online, some people use the leaked official SDK that's been floating around, or the free PS2SDK (not sure if there ever was another alternative re: libraries, etc), As for distributing, some people setup a website, others post their creation in forums. Some release it as the ELF file alone, others as an ISO ready to burn and use, or both. In the end it's always up to the developer. The options for running homebrew are: modchip, Swap Magic (or similar), FreeMCB/ESR/uLaunchELF... I hope I didn't forget any BTW: out of curiosity: which SDK version do you have in DVD?
I'll have to check when I get home. What kind of thing are you personally working on? Is there a method yet of booting a disc on a retail (non-modded) PS2? How low-level are we able to go? Is there any information on the thin kernel that gets loaded by the PS2 at boot? (That's correct isn't it?)
I haven't done any development yet, though I'd love to... If you're talking about booting a non-original PS2 game disc, you always need one of the things I mentioned before. If the PS2 doesn't have a modchip, you can always use Swap Magic/CogSwap, or FreeMCB/ESR to run the disc. If the homebrew is just a small app, you could even use a pendrive+FreeMCBoot/uLaunchElf, avoiding the usage of a disc. About how low-level, I have no idea... but I'm sure someone else could answer that (sp193, SilverBull, l_olveira, maybe?).
@Pool7 can it be possible to actually run FreeMcboot installer with a USB flash drive? Im trying to use it on a PS2 slim, Thanks if so
Although you can't directly run it from the USB, you can do one of the following: -If your console is modded, you can burn a disc with the installer and boot that (or burn a disc with the uLaunchElf, boot it, then run the installer from the USB flashdrive) else (if your console has no modchip) -Use a swap method to start the installer from a disc -Use an Action Replay/Game Shark/Swap Magic to start the installer from a disc or USB flash/hard drive -Use USBeXtreme or similar to start the installer from a USB flash/hard drive These are all the methods I can think of. If your console is not modded and you don't have access to any of the pressed discs mentioned before, you may have a friend with a modded console, or you may ask someone to install it for you (IIRC the official FMCB forum in psx-scene has this service for free). Let me know if you'd like instructions for any of these methods, though they're easily found in the interwebs (probably the best place to get the needed files and the instructions are psx-scene and sksapps).
Alright! Thanks! So about the USBeXtreme, is it a pressed disc right? Also if the services are free do they send me the memory card with freeMcboot installed?
Yes, USBeXtreme is a pressed disc, like Swap Magic, Action Replaty/Game Shark, etc. IIRC you send them the memory card, they install FMCB and ship it back to you. You only pay shipping (both for sending it and to get it back). Maybe some of them will include the memory card for a small fee; not sure though.
Oh alright thanks, another i was thinking is it possible to make a copy of any of those press discs to use on one of the official PS2SDK to work on a blank disc via unmodded PS2?
What do you want to know about it? There are two kernels stored in the boot ROM, and the same boot ROM is shared by both processors (The EE and IOP). The EE kernel is resident, and gets loaded from the boot ROM into RAM after power-up. The function names are mostly self-explainatory. I don't know what you mean by "thin kernel", but the EE's kernel is a complete kernel that provides some Operating System services like hardware interrupt, DMA channel, timer and semaphore management functions. It also provides functions for exiting your program and booting the OSD browser, much like the PSP does (But nearly no games use that). And... it contains one function that is used to configure the PS2's GS to operate in the desired video mode. You cannot clone a pressed Playstation 2 disc and expect the burned disc to boot on an unmodified retail console. The pressed Playstation 2 discs have copy protection. Those 3rd party, unlicensed manufacturers use a special method of producing their own pressed discs that boot on retail consoles.
I have failed to read the discs 1:1 (they have some kind of protection or something, you can still copy the files and create your own disc though); however that would still be useless. The PS2 (like the PS1) reads data in an area of the disc that cannot be written by regular CD/DVD writers. No matter how hard you try, you won't be able to boot a CD-R/DVD+-R in a PS1/PS1 without a modchip or softmod.
Where can I get information about the kernel functions, how to call them, parameters, expected exit codes to inform the kernel what's going on etc.? EDIT: Oh and thanks for your really helpful reply - this is exactly the kind of information I need!
There's lots of kernel information in the SDK documentation; not sure if you'll find the information you're looking for though. You may want to look at the following documents: PS2_EE-Overview-Kernel-3.0.2.pdf and PS2_EE-Reference-Kernel-3.0.2.pdf. There may also be other documents with additional information.