LiMo BBS System


日記更新一覧
Wiki トピック一覧
カレンダー
トピックリストビュー
タイトルツリービュー
ると's メタファビュー
ると's オーサービュー
携帯電話用ビュー
新規トピック記事の作成

最新記事表示数 [ 5/10/15/25/50/100 ]

No.000574 GP2Xdev:SDKAbstruct
Date : Jan.06.2006 20:48'24
Edit history : Jan.07.2006 05:48'47
GP2Xdev:TOP
*SDK概要
GP2X のソフトウェア開発には SDL が提供されていてそれが基本的な API となる。

**ソフト開発インターフェース
gp2x は Linux カーネルが動作しており、その上で Linux アプリケーションを走らせる。
画面、音、入力いったインターフェース部分のアプリケーション SDK は SDL を利用する。
SDK と呼ばれているのは、arm-linux のクロスコンパイル環境と、gp2x 用の SDL のセットになる。

SDL で開発できると聞いていたので、おそらくファウンデーションライブラリが 1層あって、その上に SDL をインターフェースラッパーとして使っているのだろうとか思っていたのだけれどもそれは間違い。本当に SDL しかなくてほとんどがその上で作られていた。

SDL の VIDEO 周りは fbvideo を改良した物(そりゃそうか)。なので基本 software surface。
なんか accelerator FIFO に投げているところが一部あったような気もする。そこは /dev 経由でのアクセスだったので、あーなるほどと思ったり。

JOYSTICK 周りは /dev/gpio から読み込み。

SDK 自体は GP2X dev wiki に詳しい解説等があるのでそれを参考に。
http://wiki.gp2x.org/wiki/Main_Page

**SDLソースコード
情報がとっちらかっているので集めるのも大変なんだけれども、カーネルやライブラリのソースコードはちゃんと入手できます。
http://wiki.gp2x.org/wiki/Setting_up_a_development_environment_%28Linux%29
私は、ココ経由で ftp.gp32spain.com から入手した。

カーネルやライブラリ(システムも?)をもっとオープンなものに差し替えて完全フリーにしてしまおうというのが Open2x というプロジェクトらしい。現在進行中。
http://www.distant-earth.com/open2x/
物自体は見えないけれども、ソースはぱらぱらと見かける。

表示
修正
返信

No.000573 GP2Xdev:HardAbstruct
Date : Jan.06.2006 20:45'35
Edit history : Jan.07.2006 06:45'38
GP2Xdev:TOP
*ハードウェア概要
スペックシート等を斜め読みして得たおおまかな GP2X に対する知識

**チップ概要
gp2x に使われているプロセッサは MAGICEYES の MMSP2 こと MP2520F。
gp2x が ARM のデュアル CPU とされているのは、このチップの中に 2つの ARM プロセッサを持っているから。ARM を 2個積んでアプリケーションプロセッサとメディアプロセッサとする構成は、世界で最も成功したメディアチップである PortalPlayer のそれ(iPod のチップ)に習ったのかもしれない。
MP2520F はオールラウンドなワンチップで、プロセッサ、(簡単な)グラフィックアクセラレータ、MPEGエンコード/デコードエンジン、ビデオプロセッサ、ビデオポストプロセッサ(動画のフィルタ等)、LCDドライバ、ストレージコントローラ、各種I/Oなどなんでもこの中におさまっている。
というのも、この MP2520F は最近流行のポータブルメディアデバイスを作るためのチップなのである。
このチップに LCD とハードディスクを付ければ、HDD ビデオプレイヤーの出来上がり。DVD ドライブを付ければ DVD プレイヤーの出来上がり。といった具合。
なので、メディア系リファレンスが存在しているはずなので gp2x が容易に各種メディアプレイヤーとなり得ているのも頷ける。
汎用チップなのでそんなに高額にならずにこれだけの機能を納められているのだろう。
ただし、そういった素性のチップなので「ゲーム機」としてデザインされたものではない。ポータブルメディアチップにボタンを付けてゲームも遊べるようにしましたといった風情である。

このへんデータシートやリファレンスコード、開発キットがいくらでも手にはいるのでそれを眺めて楽しむ事ができる。
http://www.mesdigital.com/english/Products/product_mmsp2.asp

**ソフトウェア開発に関わる部分
2Dアクセラレーションがあるにはあるけど、WinCE GDI と Direct2D とかで大した機能は無し。まあ、このへん(特定の) PDA を狙って実装されている向きがあるのだけれども。
Direct2D と書いてあるけれども、アルファブレンディングが無いので超しょんぼり。単なる矩形転送やマスク付き矩形転送が CPU パワー無しで行えるといった程度。
実際 SDK である SDL ではあまり使われていなさそうだったし。
でも、逆にこのチップで PDA を作ったら結構楽しそうではある。全体としてはそれなりにパワーがあると思うし。

本体のボタンと方向キーは GPIO 経由で読み込み。方向キーもボタンとして扱われ、合計 19個のボタンとして取得する。
方向キーが斜め方向も含め 8個キーを持っているので、16方向の検出が可能というのはちょっと面白いぞ。ゲームインターフェースとしては異質かも。

メモリは 64MB 載っているけれどもソフトで使えるのは半分の 32MB だそうで。
後の 32MB は主にフレームバッファとムービー再生の際に大量に使うバッファ。
64MB だから PSP より多いかと思ったけれども、結局同じくらいなのね。
http://wiki.gp2x.org/wiki/Development_FAQ#Memory_Layout
メモリマップを見ると微妙に空いているところがあるので技を駆使して使うことも可能か。
色々危険だけれども。ああ、でもそのへんにテクスチャーを置いておきたい。

サウンドは AC97 互換(ただしモデムは除く)とか書いてあって、そのへん詳しくないのだけれども、DMA 5ch まで使用可能とあるから最大 5ストリームはいけるのだろうか。
表示
修正
返信

No.000572 GP2Xdev:TOP
Date : Jan.06.2006 20:42'05
*DP2X 開発メモ
RIGHT:Linux萌え萌え大作戦
RIGHT:http://www.limo.fumi2kick.com/

**GP2Xとは
GP2X は韓国 Gamepark Holdings 社の「パーソナルエンターテインメントプレイヤー」です。

一応ゲーム機なのですが、Linux カーネルで動いていて SDK は SDL になっているというオープンソースっぷり。
ユーザーがアプリを開発し放題という、日本ではちょいと考えられないアイテムなのですよ。

**開発メモ
GP2Xdev:Backup - ファームウェアのバックアップで構造を知る
GP2Xdev:HardAbstruct - スペックシートが入手し放題
GP2Xdev:SDKAbstruct - ソフトウェアの作りかた序論
GP2Xdev:DevelopEnvironment - クロスコンパイル環境の入手
GP2Xdev:SDLPrograming - プログラミングで気をつけた方が良い事メモ等

**リンク
rerofumi が作成したアプリケーションは以下のページで公開しています。
http://www.fumi2kick.com/gp2x/

**情報源
gp2x 開発関連の情報メモ

日本語での情報、輸入代理を行ってくれている MELONCOKE さん。
http://gp32blu.hp.infoseek.co.jp/

gp2x でのソフトウェア開発周りの情報は GP2X dev wiki に集まっている。
http://wiki.gp2x.org/wiki/Main_Page
情報入手の取っ掛かりとしては FAQ あたりから手を伸ばしていくと良い。

gp2x のアプリケーションを探すときは gp2x File Archive。
http://archive.gp2x.de/cgi-bin/cfiles.cgi
ニュースやコミュニティはこちら。
http://www.gp32x.com/
新しいアプリケーションの情報は dcemu が早いっぽい。
http://gp2x-emulation.dcemu.co.uk/

自作アプリを動作させる前に必ず gp2x SDL Libraries をユーティリティー経由でインストールしておくこと。
http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,31,869
gp2x SDL Libraries に含まれているのは
libfreetype
libSDL_mixer
libSDL_ttf
libstdc++
といったあたり。
SDL や SDL_image は最初からシステムに入っているので、ユーザーアプリに便利なところを追加する為のアイテムといったところか。
表示
修正
返信

No.000571 - Administrator elimination -

No.000570 - Wiki Edit -
Date : Dec.27.2005 00:35'46
Topic : mod_sslの設定

最新ページを表示
次のページを表示
前のページを表示


LiMo BBS System - NewArticle
$Id: lmbbs.rhtml,v 1.17 2003/05/17 17:19:11 rero2 Exp $