A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 9033|回复: 39

PS2自制软件开发 (Hello, World.)

[复制链接]

精华
0
帖子
438
威望
0 点
积分
501 点
种子
26 点
注册时间
2009-11-23
最后登录
2024-5-10
 楼主| 发表于 2011-7-27 14:59  ·  重庆 | 显示全部楼层 |阅读模式
本帖最后由 fujingdcn 于 2011-7-30 14:45 编辑

想研究一下PS2的自制软件开发

苦于没有资料,无从入手。

求一下PS2开发的相关网站,关于SDK、OPL源码等、、

---------------------------------------------------------------------------------

首先感谢毛利提供技术资料、、

下面介绍一下从安装虚拟机、搭建PS2开发环境、编译OPL.

一、准备工作
1. 安装virtualbox http://download.virtualbox.org/v ... 4.1.0-73009-Win.exe

2. 下载ubuntu镜像
thunder://QUFodHRwOi8vd3d3Lm95a3NvZnQuY29tL295a3NvZnQvMzc3Mi8xL2h0dHAlM0ElN0MlN0NmdHAlMkV0aWNrbGVycyUyRW9yZyU3Q3JlbGVhc2VzJTJFdWJ1bnR1JTJFb3JnJTdDcmVsZWFzZXMlN0NuYXR0eSU3Qy91YnVudHUlMkQxMSUyRTA0JTJEZGVza3RvcCUyRGkzODYlMkVpc29aWg==

3. 安装ubuntu到virtualbox中

4. 安装svn  http://tortoisesvn.net/downloads.html

5. 获取ps2sdk http://psp.jim.sh/svn/ps2/trunk(使用svn checkout),复制到ubuntu系统 /usr/local/ps2dev

6. 获取opl https://bitbucket.org/ifcaro/open-ps2-loader/downloads/,复制到ubuntu系统任意位置(我的就在XP系统中,直接挂载到ubuntu  mount -t vboxsf ps2dev /xp)

二、搭建开发环境
1. 终端执行 /usr/local/ps2dev/ps2toolchain/toolchain-sudo.sh
(注意. 再执行此命令前,需要修改/usr/local/ps2dev/ps2toolchain/scripts 里面的
005-ps2sdk.sh
#!/bin/sh
# ps2sdk.sh by Dan Peori (danpeori@oopo.net)

## Download the source code. by Greg 2011.07.27
if test ! -d "../ps2sdk"; then
svn checkout http://psp.jim.sh/svn/ps2/trunk/ps2sdk/ ../ps2sdk || { exit 1; }
else
svn update ../ps2sdk || { exit 1; }
fi

## Enter the source directory.
cd ../ps2sdk || { exit 1; }

## Build and install.
make clean && make -j 2 && make release && make clean || { exit 1; }

## Replace newlib's crt0 with the one in ps2sdk.
ln -sf "$PS2SDK/ee/startup/crt0.o" "$PS2DEV/ee/lib/gcc-lib/ee/3.2.2/crt0.o" || { exit 1; }
ln -sf "$PS2SDK/ee/startup/crt0.o" "$PS2DEV/ee/ee/lib/crt0.o" || { exit 1; }

006-ps2client.sh
#!/bin/sh
# ps2client.sh by Dan Peori (danpeori@oopo.net)

## Download the source code. by Greg 2011.07.27
if test ! -d "../ps2client"; then
svn checkout http://psp.jim.sh/svn/ps2/trunk/ps2client ../ps2client || { exit 1; }
else
svn update ../ps2client || { exit 1; }
fi

## Enter the source directory.
cd ../ps2client || { exit 1; }

## Build and install.
make clean && make && make install && make clean || { exit 1; }
)
然后耐心等待SDK编译完成。

2. 在/etc/profile***加入如下内容
export PS2DEV=/usr/local/ps2dev
export PATH=$PATH:$PS2DEV/bin
export PATH=$PATH:$PS2DEV/ee/bin
export PATH=$PATH:$PS2DEV/iop/bin
export PATH=$PATH:$PS2DEV/dvp/bin
export PS2SDK=$PS2DEV/ps2sdk
export GSKIT=$PS2DEV/gsKit
export GSKITSRC=$GSKIT
export PATH=$PATH:$PS2SDK/bin
export PS2SDKSRC=$PS2SDK

3. 重启ubuntu,自此开发环境搭建完毕
测试一下,输入ee-gcc -v 将显示版本号

三、编译OPL
1. 编译gsKit, /usr/local/ps2dev/gsKit  make 即可

2. 编译libjpg /usr/local/ps2dev/ps2sdk-ports/libjpeg

3. 编译libpng /usr/local/ps2dev/ps2sdk-ports/libpng

4. 编译zlib /usr/local/ps2dev/ps2sdk-ports/zlib

5. 编译ps2-packer /usr/local/ps2dev/ps2-packer
首先编译zlib /usr/local/ps2dev/ps2-packer/stub/zlib
修改ps2-packer 的 Makefile
LIBZA = $(PS2DEV)/ps2-packer/stub/zlib/zlib.a

6. 修改opl 的Makefile
在 FT_LIBDIR = $(FT_DIR)/objs 后加入以下语句
LIBJPG_DIR = $(PS2DEV)/ps2sdk-ports/libjpeg
LIBPNG_DIR = $(PS2DEV)/ps2sdk-ports/libpng
ZLIB_DIR = $(PS2DEV)/ps2sdk-ports/zlib
EE_INCS 加上 -I$(LIBJPG_DIR)/include -I$(LIBPNG_DIR)/include -I$(ZLIB_DIR)/include

7. make即可得到OPNPS2LD.ELF

----------------------------------------------------------------------------

SDK函数说明不是太全,手头没有相应的资料,谁有这方面资料的谢谢提供、

第一个程序 HelloWorld,没有任何使用意义,只是测试学习之用(在10K型机器上测试成功),希望有这方面兴趣的朋友一起学习进步

main.c
// helloworld by Greg 2011.07.30

#include <tamtypes.h>
#include <sifrpc.h>
#include <debug.h>

int main()
{   
   SifInitRpc(0);

   init_scr();
   scr_printf("Hello, world. \n");

   return 0;
}

Makefile
# ps2 helloworld by Greg 2011.07.30

EE_BIN = hw.elf
EE_OBJS = main.o
EE_LIBS = -ldebug
EE_INCS =

all: $(EE_BIN)
        ee-strip $(EE_BIN)
        ps2-packer $(EE_BIN) hw-p.elf > /dev/null

clean:
        rm -f *.o *.elf

include $(PS2SDK)/samples/Makefile.pref
include $(PS2SDK)/samples/Makefile.eeglobal

make 后生成hw-p.elf用LuanchELF运行。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
发表于 2011-7-27 15:14  ·  辽宁 | 显示全部楼层
http://forums.ps2dev.org/
http://psx-scene.com/
http://bitbucket.org/ifcaro/open-ps2-loader/src/
编译环境用这贴里的虚拟机就可以 https://bbs.a9vg.com/thread-1514286-1-3.html ,虚拟机里含ps2sdk,如果了解msys也可以用msys+mingw,语言就是c、c++

精华
0
帖子
438
威望
0 点
积分
501 点
种子
26 点
注册时间
2009-11-23
最后登录
2024-5-10
 楼主| 发表于 2011-7-27 15:21  ·  美国 | 显示全部楼层
能不能上传VITRUAL BOX的配置好SDK的Ubuntu到115啊

http://dl.dropbox.com/u/3873935/vm-20100625.7z要***,相当慢

另外最新的SDK哪儿里下载呢,最好是TOOL-CHAIN的

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
发表于 2011-7-27 15:27  ·  辽宁 | 显示全部楼层
最新的ps2sdk:https://github.com/ps2dev/ps2sdk,其他编译环境的配置等到http://psx-scene.com/查找相关的内容。

精华
0
帖子
438
威望
0 点
积分
501 点
种子
26 点
注册时间
2009-11-23
最后登录
2024-5-10
 楼主| 发表于 2011-7-27 15:30  ·  重庆 | 显示全部楼层
毛利强呀,

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
发表于 2011-7-27 15:35  ·  辽宁 | 显示全部楼层
最好在 http://svn.ps2dev.org 上下载完整的ps2dev,然后更新最新的ps2sdk使用。

精华
0
帖子
438
威望
0 点
积分
501 点
种子
26 点
注册时间
2009-11-23
最后登录
2024-5-10
 楼主| 发表于 2011-7-27 15:38  ·  重庆 | 显示全部楼层
ps2dev 和 ps2sdk之间的关系是什么呢?

挂版VIP

目若朗星

精华
1
帖子
34772
威望
21 点
积分
37057 点
种子
388 点
注册时间
2005-8-11
最后登录
2024-11-14
发表于 2011-7-27 15:48  ·  福建 | 显示全部楼层
LZ精神可嘉,不过从您问的问题来看,开发完全木有头绪啊。

精华
0
帖子
438
威望
0 点
积分
501 点
种子
26 点
注册时间
2009-11-23
最后登录
2024-5-10
 楼主| 发表于 2011-7-27 16:08  ·  重庆 | 显示全部楼层
多少知道一些交叉编译的知识,以开发过PSP上运行的FC模拟器(很初级的版本)

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
发表于 2011-7-27 16:14  ·  辽宁 | 显示全部楼层
ps2dev和ps2sdk的关系就好比是devkitpro和pspsdk的关系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-14 21:04 , Processed in 0.184522 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部