SL-A300でスペシャルカーネル相当を使う

足stantさんがスペシャカーネル相当のSL-A300カーネルを公開してくれたので、早速入れてみる。ちなみにSL-A300ではカーネル入れ替えすると初期化(完全消去)しなきゃならなくなるので、予めバックアップを取っておく。

準備

「書きもの」→「○設定なんかを忘れないようにメモメモ!」のページ内に「カーネルのひ・み・つ参」って項目が出来てるので、ここから「メモリ16M高速浮動小数点、筆圧感知付き」をダウンロード。
http://ashist.hp.infoseek.co.jp/A300/tips.html
ダウンロードした「zImage16f.zip」を解凍して出てきた「zImage16」を空のSDメモリーカードに「zimage.bin」の名前でコピー。さらにザウルスかWindowsのメモ帳で下記の内容を作成してSDメモリーカードに「updater.pro」の名前で保存する。

ZIMAGE ,BIN,0x00060000,1024

カーネル入れ替え

このSDメモリーカードSL-A300に差し込んで、ACアダプタを繋いで、電源が切れた状態にする。
Homeキーを押しながら、背面のRESETボタンをペンで押す。Homeキーは押し続けておき、上部のランプが緑に点灯した後、点滅し始めたら離す。これでアップデートが始まる。しばらくランプが点滅した後、点灯に変わり、消えたらアップデート終了。この間、約40秒弱。
メモリ容量が変わるので完全消去を行う必要がある。背面のRESETボタンをペンで15秒以上押してから離すと電源が入って初期化が始まる。
初期化が終了したら、システム情報でメモリーが約46MBに増大、ユーザーエリアが約15MBに減少、ROMバージョンが「--.--」になっていることを確認する。

元に戻したくなったら

標準のカーネル(ROMバージョン:1.50J)に相当するものは公開されていないので、元に戻したくなったらシャープの本体システムアップデートサービスをダウンロードして元に戻す。ただし、パソコンか32MB以上のSDメモリーカードが必要なので注意。
http://support.ezaurus.com/sl-a300/update/a300update/a300update.asp

クロックアップ

足stantさんとこの「書きもの」→「△SL-A300改を作ろう(2)」にはクロックを変更したい場合、付属のlibclockapplet.so.1.0.0アプレットを必ずインストールしてくださいとあるんですが、どうやら基本キットに含まれるようで単品では置いていないみたい。
http://ashist.hp.infoseek.co.jp/A300/arom2.html
基本キットのリンクからzaua3002.tar.gzをダウンロードして、settings2フォルダに含まれるlibclockapplet.so.1.0.0を、SDメモリーカードにコピーするなりして、SL-A300に持っていき、/home/QtPalmtop/plugins/applets/libclockapplet.so.1.0.0に上書きする。Tree!Explorerやターミナルでやるといいと思う。あ、実行属性も付けておくこと。SDメモリーカードに入れた場合のターミナルでの作業手順は以下の通り。

cd /home/QtPalmtop/plugins/applets/
cp -f /mnt/card/libclockapplet.so.1.0.0 libclockapplet.so.1.0.0 
chmod +x libclockapplet.so.1.0.0 

これで再起動すれば、右下の時計をペンでタップすることでクロックアップのスライダーが出てくる。標準は真ん中で「Hi」と「Low」の3段階に変更できる。電源をON/OFFすると標準(真ん中)に戻る。

不具合?

  • ターミナル qpe-terminal 1.5.0-2(ザウルス宝箱Proより)
  • 動画・音楽再生 mplayer-bvdd 1.1.5-1
  • 動画・音楽再生フロントエンド zplayer 0.1.0
  • 画面キャプチャ screenshotapplet 0.1(ザウルス宝箱Proより)
  • SDLライブラリ libsdl 1.2.5-slzaurus20031202
  • ファミコンエミュレータ znester 7.1-1
  • キーカスタマイズ keyhelper 1.2.2-1
  • エミュレータフロントエンド zemufe 0.1.1-3ex
  • ファイル操作 treeexplorer 1.7.6
  • エディタ zeditor 3.3.0

SDメモリーカードに入れた上記パッケージを、ファイルのホーム画面から1つずつ本体メモリーにインストール。
が、screenshotappletとkeyhelperはインストール直後に突然強制再起動(汗)起動後、特に怪しい動きは無かったけどインストールする時は注意せにゃあかんかも。
http://d.hatena.ne.jp/nyanonon/20050420(参考)

効果

毎度の如く、352×240(24fps)なビデオCD相当のMPEG1をZPlayer再生。Hiにクロックアップすると明らかにコマ落ちが減って再生がスムーズになる。
ファミコンエミュレータもかなり厳しかったのが一応遊べるレベルに何とかなった。

クロックの確認

スペシャカーネルと同等のようで、ターミナルなどから/proc/zaurus/CCCRを見ると標準は141(200MHz)、Hiは142(240MHz)、Lowは121(100MHz)が設定されている模様。
http://tetsu.homelinux.org/zaurus/kernel/index.html
もっと上げられるのかな〜?と思って「echo 143 > /proc/zaurus/CCCR」とかしてみたけど、どうやらCCCRは142、141、121以外を受け付けてくれないっぽい。残念!まあ、end.さんも142(ベース120MHz×2倍)以上は厳しいと思うって言われてるし、SL-C700〜C860でもベース120MHz以上は厳しいみたいだから素直にあきらめとくか(苦笑)
http://www.suhami.net/zaurus/index.cgi?PastRecord%2F2003-11#i1

     --NN NMML LLLL  N   M  L      N    M  L
142=0001 0100 0010=010 10 00010=1.0×2×32×3.6864MHz=約240MHz
141=0001 0100 0001=010 10 00001=1.0×2×27×3.6864MHz=約200MHz
121=0001 0010 0001=010 01 00001=1.0×1×27×3.6864MHz=約100MHz
※N(ターボモード)010→1、011→1.5、100→2、110→3
※M(通常クロック)01→1、10→2、11→4
※L(メモリ速度)00001→27、00010→32、00011→36、00100→40、00101→45

筆圧感知

PetitePeinture 1.0-2を入れて筆圧感知が動いているか試してみる。Petite Peintureを立ち上げたら最上部のカラーバーの下にあるアイコン群の左から2番目(メニュー)をタップ。メニューバーが出てくるので、「Other」から「Pen Pressure...」を選択。
Touchscreen Config.のダイアログが表示されるので、min、mid、maxが0になってることを確認して(なってなければ0を入力して)、ダイアログ上部の白い部分をペンで適当になぞるとmin、mid、maxが624、1093、1250とminとmaxに違う値が入ったので、ちゃんと筆圧感知は動作している模様。細かい設定は後にして、早速ペンで何か描いてみる。
ダイアログ上部の「OK」をペンでタップしてダイアログを閉じたら、「Other」から「Hide Menubar」でメニューバーを非表示にする。
最上部のカラーバーの下にあるアイコン群の左から9番目(鉛筆)をペンで押さえたまま、液晶の上下半分の位置くらいまでペンで押さえたまま真下へずらす。まだ、ペンで押さえたまま今度は液晶の端くらいまでペンで左にずらすと、鉛筆のアイコンの左半分が反転する。これで筆圧有効となる。ややこしい操作だけど、PetitePeintureのマニュアルページにある「ドラッグによる各種設定」が判りやすかった。
http://sun.dhis.portside.net/~sakira/wiki/hiki.cgi?LinuxZaurus.PetitePeinture.Manual
あとは鉛筆アイコンの左半分と右半分でペンの太さを変えられる。現在のペンの大きさは鉛筆アイコンのすぐ右隣に表示される。
これで白いキャンバス部分をペンで適当になぞれば、ペンの筆圧で線が描かれる。ううっ、素晴らしい〜。