
SL-ZAURUS用xkazokuの作成方法 2005/02/02
0.目的
SL-ZAURUS用xkazokuはライセンスの関係でバイナリが配布されていません。
自力でビルドする場合はSL-ZAURUS用クロス開発環境を整えるところからはじめる必要があります。
そこで,SL-ZAURUSでxkazokuが動作するまでの過程を忘れないうちに置いておきます。
不具合や間違いがありましたら掲示板でお知らせください。
1.はじめに
宝箱Proにある“SL シリーズザウルス” +
“Qtopia”開発チュートリアルを読んで下さい。
qte_tutorial_030122_a300.pdf
2.LinuxOSのインストール
開発チュートリアルではRedHat7.3。
Vine2.6r4でも大丈夫でした。Vine3.2ではダメでした。理由は省略。
なんとかしてRedHat7.3かVine2.6などrpmが使えるLinuxOSを入れてください。
3.クロスコンパイラのセットアップ
ここは開発チュートリアルの内容と一緒です。
開発用PC にLinuxOS をインストールした後、gcc
のクロスコンパイラ関連のツールをインストールします。
各パッケージの入手先は、宝箱Pro の次のURL
から参照できます。
http://more.sbc.co.jp/sl_j/tool/tools.htm#Linux(宝箱Pro
Linux 関連開発ツールのページ)
gcc-cross-sa1100-2.95.2-0.i386.rpm クロスコンパイラ(gcc)
http://www.zaurus.com/dev/tools/downloads/tools/gcc-cross-sa1100-2.95.2-0.i386.rpm
glibc-arm-2.2.2-0.i386.rpm ライブラリ(glibc)
http://www.zaurus.com/dev/tools/downloads/tools/glibc-arm-2.2.2-0.i386.rpm
linux-headers-arm-sa1100-2.4.6-3.i386.rpm
ヘッダファイル
http://www.zaurus.com/dev/tools/downloads/tools/linux-headers-arm-sa1100-2.4.6-3.i386.rpm
binutils-cross-arm-2.11.2-0.i386.rpm ユーティリティ
http://www.zaurus.com/dev/tools/downloads/tools/binutils-cross-arm-2.11.2-0.i386.rpm
新しいLinux ディストリビューションには、バージョン2.95
より新しいものがインストールされていることもありますが、必ずこのバージョン2.95をインストールしてご使用ください。
全部 RPM ファイルになっているので、rpm
-Uvh *.rpm でインストール。
4.Qtopia のインストール
Zaurus に入っているのは Qtopia 1.5.0 なので、それに対応したものが必要。
なぜか、 TrolltechのサイトではWebブラウザからは1.5.0 のフリー版が見つけられないので,
ftp://ftp.trolltech.com/qtopia/sdk/SuSE7.0/からダウンロード
もしくは
・X/Qt Server Wiki>開発者向けHOWTO
http://xqt.sourceforge.jp/pukiwiki/pukiwiki.php?FrontPage
ここからいただいてください。
qtopia-free-1.5.0-1.i386.rpm
http://xqt.sourceforge.jp/bin/qtopia-free-1.5.0-1.i386.rpm
qtopia-free-1.5.0-1.src.rpm
http://xqt.sourceforge.jp/bin/qtopia-free-1.5.0-1.src.rpm
$ rpm -Uvh *.rpm でインストール。
5.シャープ用tmake 設定ファイルなど
http://www.zaurus.com/dev/tools/downloads/tools/tmake-sharp.tar.gz
開発チュートリアルの通りに作業してもコピーできません。
/opt/Qtopia/tmake/lib/qws/linux-sharp-g++
内のファイルを削除,もしくは別のフォルダに移動させてから実行してください。
その後,
$ gzip -d tmake-sharp.tar.gz[Enter]
$ tar xvf tmake-sharp.tar[Enter]
$ find linux-sharp-g++ | cpio-amp /opt/Qtopia/tmake/lib/qws[Enter]
修正ファイルなど
sharpsdk-pub-20021227.tar.gz
http://developer.ezaurus.com/sl_j/doc/reference/20021227/doc-sharp/index.html
シャープライブラリ ダウンロードのページからダウンロード。
/opt/Qtopia/ で展開する。
tar xvf sharpsdk-pub-20021227.tar.gz
qvfb上で日本語表示ができるようになります。
libqte 修正版
SLシリーズ関連 クラスライブラリリファレンスからダウンロード。
http://developer.ezaurus.com/sl_j/doc/reference.htm
gzip を/opt/Qtopia/sharp/lib/で解凍して、libqte.so.2.3.2 を上書きする。
gzip -d libqte.so.2.3.2.gz
6.シンボリックリンクを張る?
# ln -s /opt/Embedix/tools/arm-linux /opt/QtPalmtop
Zaurus 側の prefix (/opt/QtPalmtop?) とパスが一致するそうです。
いらないかも。
7.コンパイル環境設定用スクリプトファイル
ここは基本的に開発チュートリアルの内容と一緒です。
tmake,progenなどのpathが通ってないので
/opt/Qtopia/tmake/bin
をPATHの最後に追加しました。
ARMターゲット用「dev-arm-qpe.sh」をエディタで作成する。
-----ここから
#!/bin/bash
CROSSCOMPILE=/opt/Embedix/tools
QPEDIR=/opt/Qtopia/sharp
QTDIR=/opt/Qtopia/sharp
PATH=$QTDIR/bin:$QPEDIR/bin:$CROSSCOMPILE/bin:$PATH:/opt/Qtopia/tmake/bin
TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++/
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QPEDIR QTDIR PATH TMAKEPATH LD_LIBRARY_PATH
PS1
echo "Altered environment for sharp
Zaurus Development ARM"
----ここまで
X86ターゲット用「dev-x86-qpe.sh」をエディタで作成する。
xkazokuをビルドするだけなら使いません。
----ここから
#!/bin/bash
CROSSCOMPILE=/opt/Embedix/tools
QPEDIR=/opt/Qtopia
QTDIR=/opt/Qtopia
PATH=$QTDIR/bin:$QPEDIR/bin:$PATH:/opt/Embedix/tools/bin:/opt/Qtopia/tmake/bin
TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-x86-g++/
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QPEDIR QTDIR PATH TMAKEPATH LD_LIBRARY_PATH
PS1
echo "Altered environment for sharp
Zaurus Development x86"
----ここまで
実行権を付ける
$ chmod +x dev-arm-qpe.sh[Enter]
$ chmod +x dev-x86-qpe.sh[Enter]
8.ARM 用コンパイル環境の確認
ここは開発チュートリアルの内容と一緒です。
最初にユーザーのhome ディレクトリでARM
環境用スクリプトを実行し、各種環境変数の設定を行います。
$ cd [Enter]
$ . dev-arm-qpe.sh[Enter]
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$ cd /opt/Qtopia/example[Enter]
$ tmake -o Makefile example.pro[Enter]
$ make[Enter]
example(ファイル名も同様で拡張子なし)が作成される。
そのファイルをSL ザウルスにコピーしてターミナルソフトから起動。
$ ./example[Enter]
クロス開発環境の確認
ユーザーのhome ディレクトリでx86環境用スクリプトを実行し、各種環境変数の設定を行います。
$ cd [Enter]
$ . dev-x86-qpe.sh[Enter]
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$ cd /opt/Qtopia/example[Enter]
$ tmake -o Makefile example.pro[Enter]
$ make[Enter]
example(ファイル名も同様で拡張子なし)が作成される。
qbfv -depth 16 &[Enter]
$ ./example -qws [Enter]
example をコンパイルすると、エラーが発生する。
SL シリーズザウルスの開発で使用するgcc
は、バージョン2.95 です。
最新のディストリビューションにはもっと新しいgcc
があらかじめインストールされているものがありますが、2.95
以外のgcc は使用できません。
このドキュメントに記載されているgcc のバージョン2.95
をインストールしてご使用ください。
PC-Linux 用のUSB ドライバをインストールすれば、SL
ザウルスに付属のUSB 接続ケーブルを使用して、ファイルを転送することも可能です。
PC-Linux用のUSB ドライバについては、次のURL
から入手してください。
http://more.sbc.co.jp/sl_j/tool/tools.htm#Support_Tool(開発サポートツール)
http://more.sbc.co.jp/sl_j/tool/usb_driver/kernel-zaurus-2.4.18.5-4a.i386.rpm(ドライバのRPM)
9.SDL, SDL_ttf, freetypeのライブラリを入れる
関係ないですが,私はここのmakeでエラーがでて3回くらい投げ出してます。
ここは ・np2>ねこーぷろじぇくとII の内容と一緒です。
http://www.t3.rim.or.jp/~kni/sl/np2.html
¥マークは観やすくするための改行箇所をあらわしています。
¥マークの入力と改行はしなくてもOK。
SDL-1.2.5
$ cd
$. dev-arm-qpe
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$wget http://www.libsdl.org/release/SDL-1.2.5.tar.gz
$tar zxvf SDL-1.2.5.tar.gz
$cd SDL-1.2.5
$wget http://www.self-core.org/~kaoru-k/pub/libsdl_1.2.5-slzaurus20031201_arm.diff
$patch -p1 < libsdl_1.2.5-slzaurus20031201_arm.diff
$CC=arm-linux-gcc ./configure --host=i386-linux\
--target=strongarm-linux --prefix=/opt/Embedix/tools/arm-linux
\
--enable-video-qtopia --disable-video-photon
--disable-video-fbcon \
--disable-video-direct --disable-video-ggi
--disable-video-svga \
--disable-video-aalib --disable-video-dummy
--disable-video-dga --disable-arts \
--disable-esd --disable-alsa --disable-video-x11
--disable-nasm --disable-debug \
--disable-cdrom --disable-joystic --without-x
--disable-dga \
--disable-video-opengl --enable-dlopen --disable-diskaudio
--disable-mintaudio \
--disable-nas
$make
$make install
Freetype2.1.4
$ cd
$. dev-arm-qpe
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$wget ftp://ring.aist.go.jp/pub/graphics/freetype/freetype2/freetype-2.1.4.tar.gz
$tar zxvf freetype-2.1.4.tar.gz
$cd freetype-2.1.4
$wget http://wind.prohosting.com/ogapee/zaurus/freetype-2.1.3-k1.diff
$patch -p1 <freetype-2.1.3-k1.diff
$./configure --host=i386-linux --target=strongarm-linux
\
--prefix=/opt/Embedix/tools/arm-linux
$make
$make install
SDL-ttf2.0.6
$ cd
$. dev-arm-qpe
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$wget http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.6.tar.gz
$tar zxvf SDL_ttf-2.0.6.tar.gz
$cd SDL_ttf-2.0.6
$CC=arm-linux-gcc ./configure --host=i686-linux
\
--target=arm-linux --prefix=/opt/Embedix/tools/arm-linux/
--without-x \
--with-sdl-prefix=/opt/Embedix/tools/arm-linux
$make
$make install
10.ARM 用コンパイル環境の確認(SDL)
xkazokuだけほしいひとはやらなくても良いですが,np2(PC−9801エミュレータ)を得ることができます。
ここも ・np2>ねこーぷろじぇくとII の内容と一緒です。
http://www.t3.rim.or.jp/~kni/sl/np2.html
必要なライブラリのビルドが終わったらnp2のソースをCVSから取得。
$ cd
$. dev-arm-qpe
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$cvs -d :pserver:anonymous@retropc.net:/cvs
get np2
最後にビルドしてお終い。
$cd np2/sdl
$cp makefile.zau Makefile
$make
これでnp2/binにねこぷろ2 for SL-Zaurusのバイナリが出来るはず。
VGA表示で動作するねこぷろIIをビルドする為には、np2/sdl/slzaurus/compiler.h
で
#if !defined(SIZE_VGA)
#define RGB16 UINT32
#define SIZE_QVGA
#endif
と定義されている(にもかかわらず、SIZE_VGAが定義されていない)のを修正すればOK。
ここより前の適当な箇所に
#define SIZE_VGA
と入れておけば、VGAモードで動作するねこぷろIIがビルドできます。
11.xkazokuのビルド手順
xkazoku配布先からライブラリを持ってくる。
http://waffle.bunkasha.co.jp/~yui/drsmore.html
ライブラリ
DAME - ARM-Linux(SL-Zaurus)
http://waffle.bunkasha.co.jp/~yui/datas/damelib_arm_linux-0818.tar.gz
Amethyst - ARM-Linux(SL-Zaurus)
http://waffle.bunkasha.co.jp/~yui/datas/amethyst_arm_linux-1.0.5.tar.gz
$tar zxvf *.tar.gz
で解凍して
/opt/Embedix/tools/arm-linux/include/
にヘッダファイル(*.h)
/opt/Embedix/tools/arm-linux/lib/
にライブラリ(*.a)をコピーする。
ソースコードのビルド
xkzoku(SL-Zaurus) xkazokusrc130.tar.gz
$cd
$. dev-arm-qpe
スクリプトファイル名の前のドット・スペースを忘れないで下さい。
$wget http://waffle.bunkasha.co.jp/~yui/datas/xkazokusrc130.tar.gz
$tar xzf xkazokusrc130.tar.gz
$cd xkazoku/slzaurus/
$make
~/xkazoku/bin/
にxkazoku(ファイル名も同様で拡張子なし)が作成される。
お疲れ様でした。
補足 SL-ZAURUSでの実行手順
1.対応するソフトをWindowsCE あきら コンバータで変換
for WindowsCE あきら
コンバータ(Win9x) ver1.3 akiracnv130.zip
2.変換後にさらに作業
*.sufファイルの名前をsysytem.sufに変更。
変換したデータと同じフォルダにxkazokuを入れ,SDorCFメモリにコピー。
SDorCFメモリ上のデータを本体メモリ上にlnコマンドでリンクを貼る。
オリジナルのファイル名が大文字のものは大文字に変換する。
例:ln -sf /mnt/cf/Documents/kazoku/isf(半角スペース)/home/zaurus/xkazoku/ISF
以下、全てのファイルを同様にリンクを貼ります。
本体メモリ上のxkazokuをターミナルソフトから起動します。
$ ./xkazoku
3.エラー発生の場合
Error:gamecore_init:couldn't reat start script
http://www.yui.ne.jp/bbs/mg.bbsより
本体メモリ上にlnコマンドでリンクを貼ってオリジナルと同じファイル名(大文字)にして下さい。
本体メモリ上のxkazokuをターミナルソフトから起動します。
$ ./xkazoku
タイトルから先に進まない
*.sufファイルをsysytem.sufに名前を変更してください。
メッセージが途中で表示されない
http://www.yui.ne.jp/bbs/mg.bbsより
「妹魂」の件ですがおそらく半角文字関係ではないかと思われます。
gamedef.txtというファイル名で
[妹魂]
company = AngelSmile
key = SISKON
ver = EXEVER_SISKON
type = GAME_SAVEMAX30 + GAME_SAVECOM + GAME_VOICE
type = + GAME_TEXTASCII
というテキストファイルを作り、akira.exeなどの実行ファイルと同じフォルダにいれていただけば解決するかもしれません。
gamedef.txtのファイル名、および内容の英字部分は半角で試してみてください
CDDAフォルダ内のtrack*.mp3が鳴らない
まだ鳴ってません。<鳴りました。2006/02/06
単にメモリカード上のcddaフォルダにリンクするだけです。大文字にしてました。
本体メモリ上のファイル名まとめ(家族計画)
適当なフォルダ名の下に以下のファイルをリンク貼り付け
xkazoku
default.ttf (小文字)
system.suf (小文字,他のソフトでもsystem.sufに名前を変更する)
ISF (大文字)
_DATA (大文字)
_GGD (大文字)
_SE (大文字)
_WMSE (大文字)
DOLOGO.MVD (大文字,無くても可)
FAM_OP.MVD (大文字)
FAM_OPHQ.MVD (大文字)
KAZOKU.SAV (大文字,セーブファイル:PPC版,PSP版と互換性有り?リンクさせずに直接置く。)
cdda/track**.mp3(小文字,cddaフォルダをリンク貼り付け)
メッセージスキップをさせるとまれに落ちる
原因不明。こまめな保存で対処。
参考文献・サイト
・xkazoku配布元
http://waffle.bunkasha.co.jp/~yui/drs.html
おかげさまでSL-A300でxkazokuが動きました。
ありがとうございました。
・Qtopia事始め(Zaurus用クロスコンパイル環境の構築)
http://homepage2.nifty.com/ssfu/tips/qt_junkbox/qtopia_intro.html
サンプルプログラムの実行ができました。
・X/Qt Server Wiki>開発者向けHOWTO
http://xqt.sourceforge.jp/pukiwiki/pukiwiki.php?FrontPage
1.5.0 のフリー版が置いてあります。
・np2>ねこーぷろじぇくとII
http://www.t3.rim.or.jp/~kni/sl/np2.html
SDL, SDL_ttf, freetypeのライブラリが必要ということでこちらを参考にしました。
“SL シリーズザウルス” + “Qtopia”開発チュートリアル
qte_tutorial_030122_a300.pdf