Today PlayStation 3 homebrew developer BigBoss has released PS3Dev Builder with OSX Mountain Lion alongside some details below from the included ReadMe file.
Download: https://github.com/bigboss-ps3dev/ps3dev-mountain-lion/archive/master.zip / https://github.com/bigboss-ps3dev/ps3dev-mountain-lion
To quote from his blog (linked above): I have just released a tool to let you build under Osx Mountain Lion:What does this do?
- Sony binutils and toolchain gcc 4.1.1 for SDK 3.60. Don't ask about how to get SDK 3.60
- ps3dev binutils, toolchain, psl1ght and ps3libraries
This program will automatically build and install a compiler and other tools official and homebrew used in the creation of official and homebrew software for the Sony PlayStation 3 videogame system using Osx Mountain Lion
What do I need ?
You will need a few tool installed before:
1) Your mac with Osx Mountain Lion. All was tested with mac mini late 2012
2) Enable root account. Ref support.apple.com/kb/PH11331
3) Install xquartz (x11) Ref xquartz.macosforge.org/landing/
4) Install xcode from app store.
After install it, open it and install command line tools. You must go yo Downloads section of Xcode's preferences to do it
5) Install macport distfiles.macports.org/MacPorts/MacPorts-2.1.3-10.8-MountainLion.pkg
6) Update macport and enable +universal
it will ask you root password, after finish it execute the following line:Code:sudo port -v selfupdate
7) Install port utils (I installed these, you can have other requirements)Code:if [ \`sysctl -n hw.cpu64bit_capable\` -eq 1 ] ; then echo "+universal" | sudo tee -a /opt/local/etc/macports/variants.conf; else echo "not 64bit capable"; fi
8) Install wine port i use it when some Sony tools are not availables in osxCode:sudo port install autoconf automake bison flex texinfo ncurses wget libelf zlib libtool git-core gmp openssl mpfr libmpc unrar subversion bzip2
after finish it open a new terminal and runCode:sudo port install wine
it will create basic wine configuration needed laterCode:winecfg
Run these commands from terminal
9) Create /usr/local/cell and /usr/local/ps3dev folder:Code:sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
I am using my own user and group, use your own configuration as you likeCode:su - it will ask you root password mkdir -p /usr/local/cell mkdir -p /usr/local/ps3dev
10) Go to /usr/local/cell and get my repositoryCode:chown -R bigboss:staff /usr/local/cell chown -R bigboss:staff /usr/local/ps3dev
11) Install a good and light editorCode:mkdir /usr/local/cell/work cd /usr/local/cell/work git clone https://github.com/bigboss-ps3dev/ps3dev-mountain-lion.git
I am using one of the best editor ever made Textmate you can get it from github.com/textmate/textmate there are prebuilt binaries
How do I use it to build Sony toolchain?
1) Get Sony SDK 3.60 full - google for it or if you are a Sony PlayStation licensee get it from scedev.net as usual
2) You will need to put some files on /usr/local/cell/work/sdk this directory is not in my repo, don't upload illegal stuff to github please.
These files are mandatory put on /usr/local/cell/work/sdk if you have other names change the script build_sony.sh or change
filenames:These files are optional put on /usr/local/cell/work/sdk
- [159]-PS3_SDK-360_002.zip
- [166]-PS3_SDK_Samples-360_001.zip
- [78]-PS3_SDK-360_001.zip
- toolchain-src-3.6.0-GCC411.zip
These files are not needed to build toolchain but you can use them with wine to work with your PlayStation 3 DEX
- [28]-PS3_SDKDoc-360_01-CHM-English.zip
- [29]-PS3_SDKDoc-360_01-Help2-English.zip
- [30]-PS3_SDKDoc-360_01-HTML-English.zip
- [31]-PS3_SDKDoc-360_01-Latest-English.zip
3) Open a new terminal and go to work directory
- [84]-SNCPPUToolchainforPlayStation3v360.1.zip
- [85]-ProDGforPlayStation3v360.2.0.exe
- [86]-TargetManagerForPlayStation3v360.2.0.exe
- [87]-TunerforPS3v360.2.0.exe
4) Run build.sh script for sonyCode:cd /usr/local/cell/work
You must overwrite some files choosing A option asked with promptCode:./build.sh sony
5) Wait until finish
You can test your new toolchain compiling some sample for example
You will need profile variablesCode:cd /usr/local/cell/work
This sample is compiled natively in osx, only when elf is linked it will call ppu-lv2-prx-fixup wine wrapper.Code:. ./sce_profile cd $CELL_SDK/samples/sdk/usbd/usbdesc make
This tool is used to fix lib stub counts and some other things (you have a source example of this part for elf files and - stub-fix-only option implemented if you like to know what is Sony doing when it is calling this tool from linker, i lose some time making it but prx use other options that i have not implemented yet so for this, wrapper is enabled)
Making fself for DEX is using a wine wrapper if you have a legal native solution for osx share sources for it
Sample output:
How do I use it to build homebrew toolchain?Code:bigmini:usbdesc bigboss$ pwd /usr/local/cell/samples/sdk/usbd/usbdesc bigmini:usbdesc bigboss$ ls Makefile main.c readme_e.txt readme_j.txt usbdesc.vcproj bigmini:usbdesc bigboss$ make /usr/local/cell/host-osx/ppu/bin/ppu-lv2-gcc -c -g -O2 -std=c99 -W -Wall -Wuninitialized -Wcomment -Wchar-subscripts - Wdeprecated-declarations -Wendif-labels -Wformat=2 -Wformat-extra-args -Wimplicit -Wimport -Winline -Wmissing-braces - Wparentheses -Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wsign-compare -Wswitch -Wunknown-pragmas -Wunused - Wwrite-strings -Wmain -Wbad-function-cast -Wmissing-declarations -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -I/usr/local/cell/target/ppu/include/cell/usbd -DCELL_DATA_DIR=\"/usr/local/cell/sample_data\" -Wp,-MMD,objs/main.ppu.d,- MT,objs/main.ppu.o -o objs/main.ppu.o main.c /usr/local/cell/host-osx/ppu/bin/ppu-lv2-g++ -mno-sn-ld objs/main.ppu.o -lusbd_stub -lsysmodule_stub -lsysutil_stub -o sample.elf calling ppu-lv2-prx-fixup with --stub-fix-only sample.elf finished ppu-lv2-prx-fixup process with 0 /usr/local/cell/host-osx/bin/make_fself sample.elf sample.self calling make_fself with sample.elf sample.self fixme:msvcrt:MSVCRT__sopen_s : pmode 0x01c0 ignored finished make_fself process with 0 bigmini:usbdesc bigboss$ ls Makefile objs readme_j.txt sample.self main.c readme_e.txt sample.elf usbdesc.vcproj
1) Open a new terminal
2) Run build.sh for ps3devCode:cd /usr/local/cell/work
3) Wait until finish ignore errors in last lib NoRSXCode:./build.sh ps3dev
How to load samples to PS3 CEX and DEX?
TODO
More PlayStation 3 News...
13250 HeyManHRU
13207 PS3 News
11287 elser1
11119 oVERSoLDiER
9248 GrandpaHomer
8578 Tidusnake666
7968 saviour07
7340 condorstrike
7258 deank
6858 OGroteKoning
24993 PS3 News
5279 Starlight
2965 HeyManHRU
2173 CJPC
2129 elser1
1818 cfwprophet
1756 her0
1572 oVERSoLDiER
1291 GrandpaHomer
1080 barrybarryk





