Zaurusでひぐらし

ONScripterZaurus版を試してみた。Zaurusフラッシュメモリの容量が少ないので画像や音声データを圧縮する必要がある。
(参考URL:月夜さんとDebian GNU/Linux)。

  • パッケージ導入

ONScripterの本家サイト(Zaurus)から以下パッケージをダウンロード&インストール

Zaurus上のrootにて以下作業を行う。フラッシュメモリを入れ直したらswaponをやり直すこと

 dd if=/dev/zero of=/mnt/card/swap bs=512 count=65536
 mkswap /mnt/card/swap
 swapon /mnt/card/swap

Zaurus上は640x480で動作するので画像のサイズは変更せずにBMPJPEG形式に変換することにする。以下コマンドにより変換出来た。(変換前220MB→変換後53MB)

nsaconv -j 640 640 arc.nsa.orig arc.nsa

ひぐらしはwavファイルとmp3ファイルが混在している。昨日書いたようにwavをmp3に変換してしまうと鳴らなくなってしまうので形式を変えないまま圧縮&リサンプリングを行うこと。mp3はlameでサンプリングレートを落として上げれば良い。wavはIMA ADPCM形式に変換すれば良い。Linux上ではsoxで変換出来る。以下、変換メモ

少ないので手作業

cd ~/higurashi
mkdir mp3
mkdir mp3/LP
mkdir mp3/MINIGAME
  • 圧縮&変換作業

以下のperlスクリプトを作成した。当初bashを使おうとしたが、bashだと空白付きのファイルをforループで処理出来ないのだよな。。(変換前224MB→変換後55MB)

#!/usr/bin/perl
# This script is used for compressing and resampling musics in Higurashi.

open(PIPE,"find WAV -type f|");

while(<PIPE>){
    chomp();
    $ofile = $ifile = $_;

    $ofile =~s/WAV\//mp3\//;

    #print $ifile;
    #print $ofile";
    print qq(ifile="$ifile" ofile="$ofile"\n);

    if($ofile =~/\.wav$/i){
	#convert to IMA ADPCM Format
	system qq(sox "$ifile" -i "$ofile");
    }
    elsif($ofile =~/\.mp3$/i){
    #resampling and compress to 24kHz , 64kbps
	system qq(lame -s 24 -b 64 "$ifile" "$ofile"); 
    }else{
	system qq(cp "$ifile" "$ofile");
    }
}

close(PIPE);

後はmp3ディレクトリとarc.nsa、及び関連ファイルを新しいひぐらしディレクトリに移して、mp3ディレクトリをWAVにリネームし、新しいひぐらしディレクトリをZaurusに転送してONScripterをコンソール上で実行するだけ。一応デモまでは動作すること確認したが、動作がもっさりしてる。。Qtopia上でなければさくさく動くという話もあるようなのでまたいずれ試してみよう。

I tried Higurashi on Zaurus. Before playing onscripter on zaurus,I needed to compress and resample graphic and music data. In compressing graphic data, I used nsaconv in ONScirpter and I used lame and sox in compressing and resampling music data. It seems to work on Zaurus. But it is rather slow on Qtopia environment. I'll try on flamebuffer environment at some time.