Linux Zaurusとは
2017年6月、10年以上も昔に使用していたシャープ製のPDA Linux Zaurus SL-C760が引き出しの中にありました。SL-C760は、リナザウという愛称で呼ばれた Linuxを搭載した「リナックス・ザウルス」というモバイル情報端末です。
NTT DoCoMoのP-in Free 2PWLというPHS/W-LANが使えるCFカードを装着して、外出先からPHSでインターネットに接続してメールやWEBサイト閲覧に使用していました。
クラムシェル型筐体で、ノートパソコンのようにキーボードで操作することや、液晶ディスプレイを180度回転してタブレットのようにタッチパネルで操作することができました。
その当時は、携帯電話(ガラケイ)の時代でiPhoneやAndroidスマートフォンなど存在しない時代です。Linux ZaurusとPHSカードでモバイル通信を楽しんでいました。
- OS : Linux OpenPDA
- CPU : Intel XScale (PXA255 400MHz)
- 表示 : 640×480ドット 3.7型 65,536色 透過型システム液晶
- メモリー : Flash ROM 128MB + SDRAM 64MB
NTT DoCoMoのPHSサービスは終了して解約しています。W-LANが使用できるか試してみるとIEEE802.11b(2.4GHz帯、最大11Mbps)の無線LAN親機に接続することができました。
ブラウザは、こんな感じで使用できます。
『ある計算機屋さんの手帳』サイトも、こんな感じで見ることができました。
「Fn + Shift + C」で、スクリーンショットが撮れ、SDカードの「 Screen_Files 」 に保存されます。
Linuxが使えるZaurus
Linux Zaurusは、PDA(Personal Digital Assistant)で、次のようなアプリケーションが使用できました。
- メール
- ブラウザ (NetFront)
- ミュージック プレーヤー
- ムービー プレーヤー
- 表計算 (HancomSheet)
- ワードプロセッサ (HancomWord)
- プレゼンテーション
- イメージノート
- 電子辞書
- ボイスレコーダー
- 電卓
- 時計
ビジネスマンが普通に使用するだけなら、Linuxをプラットフォームとしていることを意識することはありません。Linuxを搭載しているメリットは、スマートフォンのように自分でアプリケーションをインストールできることです。
組み込みLinux OpenPDA Ver1.0を搭載し、Linux Kernel 2.4.18で動作しています。
添付のCD-ROMから、ターミナルソフトをインストールすると、Linuxコマンドを使うことができます。unameコマンドでシステム情報を確認します。
uname -a
Linux ZaurusでCP/Mを起動する
最近、懐かしいCP/MをWindows10パソコンで使用することができました。
「Altair 8800 simulator」を公開しているWEBサイトに、Zaurus用のシミュレータを公開していましたので、Zaurusにインストールします。
「QUICK START FOR RUNNING CP/M」から、simulator (altairz80.tar.gz)をダウンロードして展開します。
PDFドキュメントとシミュレータ(altairz80)、CP/M環境が入っています。
CP/M環境一式をコピーしたSDカードをLinux Zaurusに装着します。
root権限でSDカード(/mnt/card)のCP/M環境をホームディレクトリにコピーします。
su cp -pr /mnt/card/cpm .
/home/zaurus/cpm にCP/M環境を作成しました。
ディレクトリを確認すると、オーナーとグループがrootになってるので、オーナーをzaurus、グループをqpeに変更します。また、CP/Mのディスクイメージ(.DSK)に書き込み権を付与します。
chmod +w * chown zaurus * chgrp qpe *
シミュレータ altairz80 を実行します。
./altairz80 cpm2
librt.so.1 という shared libraries が存在しないというエラーが発生しました。
lddコマンドで、使用する共有ライブラリを確認します。
ldd ./altairz80
librt.so.1 以外は、そろっています。
ネットを検索すると、SIMH for Zaurus というページで librt.so.1 を公開していました。
‘tosa-lib.tar.gz’ contains the ‘librt’ shared library, which you will need.
Place this in a dir and set LD_LIBRARY_PATH to the dir name, and export it.
An alternative is to move the shared library file to your /lib or /usr/lib, but I don’t recommend this.
LD_LIBRARY_PATH の値は、/home/QtPalmtop/lib です。
‘tosa-lib.tar.gz’ をダウンロードし解凍して librt.so.1 を/home/QtPalmtop/libにコピーします。
lddコマンドで、使用する共有ライブラリを確認します。
ldd ./altairz80
使用する共有ライブラリがそろいました。
シミュレータ altairz80 を実行します。
./altairz80 cpm2
正常にCP/Mが起動しました。
halt quit
haltコマンドで、CP/Mを停止させます。
quitコマンドで、シミュレータを終了します。
Linux ZaurusでCP/Mを使う
8080アセンブラを書いてみます。
このブログで作成した keycd.asm をLinux Zaurusで実行します。このプログラムは、キーボードから入力したキーコードを16進数で表示するプログラムです。
SDカードに アセンブラソース keycd.asm を入れます。
CP/Mを起動して、R拡張コマンドでSIMH環境からファイルを読み込みます。
r /mnt/card/keycd.asm
ファイルが存在しないというエラーが発生します。
調べてみると Lオプションに use lower case for name という説明があります。CP/Mは大文字/小文字を区別しませんが、ホストのLinuxは大文字/小文字を区別しますので、小文字を指定するために Lオプションを付けます。
r /mnt/card/keycd.asm L
CP/Mに keycd.asm を読み込むことができました。
keycd.asm をビルドします。
asm keycd.asm load keycd
実行します。
keycd
パソコンでCP/Mを実行したのと同じ結果となりました。
数字の’0′ : 16進数で0x30
数字の’1′ : 16進数で0x31
アルファベットの’A’ : 16進数で0x41
アルファベットの’O’ : 16進数で0x4F
アルファベットの’P’ : 16進数で0x50
SL-C760は、キートップが少ないので 一部のキーは、Fnキーとの同時押しで入力します。
キートップに刻印されていないバック・クォート、左中括弧、右中括弧も組み合わせキーで入力できました。
` | バック・クォート | SHIFT+ -(マイナス) | 60H |
{ | 左中括弧 | Fn+SHIFT+ ,(カンマ) | 7BH |
} | 右中括弧 | Fn+SHIFT+ .(ドット) | 7DH |
最後に
Linux ZaurusでAltair 8800 simulatorを走らせて、懐かしのCP/Mが動作しました。Linux Zaurusは、小さな魔法のパソコンなのかもしれません。もっと遊んでみましょうか。
ピンバック: Linux ZaurusにC/C++セルフ開発環境を作成 | ある計算機屋さんの手帳