ONScripterのコンパイルは、ogapeeさんのサイトからソースコードを入手し行う。PS3Linuxといっても通常のPC Linuxとの差違はあまりないため、ライブラリさえ揃っていればLinux設定ですんなりとMakeできるだろう。
またONScripterは、下位のメディアライブラリとしてSDLを使用している。
Linux上でのSDLは通常ビルドの場合X11を利用するようになっており、実行するとウィンドウが開きその中で動作するといった形になっている。もし、X11ではない環境であれば起動時にSDL_videoがそのことを感知し、フレームバッファコンソールを使って表示してくれる。これはSDLの働きだ。
ONScripterもSDLを使っているため、X11を使用せずにフレームバッファコンソールで実行させることができる。
このことは、CDブートLinuxにおいてX11を省けるということを意味しており、CDの容量削減やシステムの作りやすさなどの点からも有意である。その他のゲームが起動するCDブートLinuxを作成したい場合も、SDLで作成されたゲームを選択するとX11を用意しなくてすむのでお勧めだ。
フレームバッファコンソールにも絡んだ話であるが、PS3Linuxに常に気を付けておきたい要素が1つある。画面表示領域と出力画面モードである。
PS3はHDサイズの画像が出力でき、それなりの高解像度でLinuxを楽しめる。しかし、HD表示ができるテレビの普及率がどれくらいなものかという問題があり、配布を目的としたCDブートLinuxではユーザーの環境を考慮せざるを得ない。SDなら多くの人に見てもらえるだろうが、HDならばどうか。HDでしか起動しないCDを作ってしまったら、見ることができないユーザーが多いのではないだろうかということである。
そう考えると、HD解像度はオプションとして、標準ではSD解像度で起動した方が良いだろう。
ただ、ONScripterは標準画面サイズが640x480ピクセルとなっているので一見問題がなさそうに見えるが、PS3Linuxにおいては少々問題となるのだ。
画面サイズ表
規格 | 解像度(ピクセル) |
---|---|
D1 / D2 (480i/p) | 576x384 |
D3 (1080i) | 1688x964 |
D4 (740p) | 1124x644 |
上の表がPS3Linuxにおける画面解像度となる。
SDだと720x480ピクセルもしくは640x480ピクセルになると思いきや、一回り小さくなってしまうのである。
これは、テレビがPC用ディスプレイと異なり、オーバースキャンと呼ばれる画面の外にはみ出す領域を持っているからである。表示領域をめいっぱい使ってしまうと、周辺部はテレビの枠の外にはみ出し見えないということになる。
ビデオやゲームなら多少オーバースキャンではみ出してもそんなに苦にはならないが、Linuxデスクトップやコンソールなどはそういったことを考慮していないためはみ出されると非常に都合が悪い。なので、PS3Linuxにおいては逆のアンダースキャンな画面で表示している。表示領域が小さめで、周囲に何も表示されない「額縁」が付いているのはこういった理由からである。
いくらアンダースキャンだと言っても小さすぎだろうという気もしなくはないが、各家庭で使っているテレビがどういった表示をするのか分からない以上、最大公約数的に設定するしかないのだろう。
さて、ONScripterに話を戻すと、アプリケーションの方は640x480ピクセルで表示したいのに、フレームバッファが576x384ピクセルしかないので起動できないという問題に見舞われる。
これを回避するため、ONScripterのPDA_WIDTH
コンパイルオプションを用いて、横方向512ピクセルに画面縮小表示するバージョンを作成する。画面が4/5の512x384ピクセルに縮小されてしまうが、致し方ない。
SD画面の時はこの512x384ピクセルのバージョンを使うしかないのだが、それ以上の画面サイズで表示できる時のために、標準の640x480ピクセルバージョンと800x600ピクセルバージョンも作成しておく。
ちなみに、今回はSD以外の画面モード選択は未実装なので、用意はしてあるものの利用することはできない。