Linux Zaurusで懐かしいCP/Mを使う

Linux Zaurusとは

2017年6月、10年以上も昔に使用していたシャープ製のPDA Linux Zaurus SL-C760が引き出しの中にありました。SL-C760は、リナザウという愛称で呼ばれた Linuxを搭載した「リナックス・ザウルス」というモバイル情報端末です。

Linux Zaurus

Linux Zaurus

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コマンドでシステム情報を確認します。

システム情報

システム情報

Linux ZaurusでCP/Mを起動する

最近、懐かしいCP/MをWindows10パソコンで使用することができました。

懐かしいCP/MをSIMHシミュレータで実行

Altair 8800 simulator」を公開しているWEBサイトに、Zaurus用のシミュレータを公開していましたので、Zaurusにインストールします。

AltairシミュレータWEB

AltairシミュレータWEB

 

Zaurus用シミュレータ

Zaurus用シミュレータ

「QUICK START FOR RUNNING CP/M」から、simulator (altairz80.tar.gz)をダウンロードして展開します。

CP/M環境

CP/M環境

 

PDFドキュメントとシミュレータ(altairz80)、CP/M環境が入っています。


CP/M環境一式をコピーしたSDカードをLinux Zaurusに装着します。

root権限でSDカード(/mnt/card)のCP/M環境をホームディレクトリにコピーします。

CP/M環境のコピー

CP/M環境のコピー

/home/zaurus/cpm にCP/M環境を作成しました。

所有者の情報

所有者の情報

 

ディレクトリを確認すると、オーナーとグループがrootになってるので、オーナーをzaurus、グループをqpeに変更します。また、CP/Mのディスクイメージ(.DSK)に書き込み権を付与します。

所有者の変更

所有者の変更

シミュレータ altairz80 を実行します。

シミュレータ実行エラー

シミュレータ実行エラー

librt.so.1 という shared libraries が存在しないというエラーが発生しました。

lddコマンドで、使用する共有ライブラリを確認します。

共有ライブラリ確認 not found

共有ライブラリ確認 not found

librt.so.1 以外は、そろっています。


ネットを検索すると、SIMH for Zaurus というページで librt.so.1 を公開していました。

SIMH for Zaurus

SIMH for Zaurus

‘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コマンドで、使用する共有ライブラリを確認します。

共有ライブラリ確認

共有ライブラリ確認

使用する共有ライブラリがそろいました。


シミュレータ altairz80 を実行します。

CP/M起動

CP/M起動

正常にCP/Mが起動しました。

haltコマンドで、CP/Mを停止させます。
quitコマンドで、シミュレータを終了します。

Linux ZaurusでCP/Mを使う

8080アセンブラを書いてみます。

CP/Mシミュレータで懐かしのインテル8080アセンブラを使う

このブログで作成した keycd.asm をLinux Zaurusで実行します。このプログラムは、キーボードから入力したキーコードを16進数で表示するプログラムです。

SDカードに アセンブラソース keycd.asm を入れます。

CP/Mを起動して、R拡張コマンドでSIMH環境からファイルを読み込みます。

ファイルが存在しないというエラーが発生します。
調べてみると Lオプションに use lower case for name という説明があります。CP/Mは大文字/小文字を区別しませんが、ホストのLinuxは大文字/小文字を区別しますので、小文字を指定するために Lオプションを付けます。

CP/Mに keycd.asm を読み込むことができました。

R拡張コマンド

R拡張コマンド

 

keycd.asm をビルドします。

keycd ビルド

keycd ビルド

実行します。

パソコンでCP/Mを実行したのと同じ結果となりました。

KEYCD 実行

KEYCD 実行

数字の’0′ : 16進数で0x30
数字の’1′ : 16進数で0x31
アルファベットの’A’ : 16進数で0x41
アルファベットの’O’ : 16進数で0x4F
アルファベットの’P’ : 16進数で0x50

 

SL-C760 キーボード

SL-C760 キーボード

SL-C760は、キートップが少ないので 一部のキーは、Fnキーとの同時押しで入力します。

キートップに刻印されていないバック・クォート、左中括弧、右中括弧も組み合わせキーで入力できました。

KEYCD 実行

KEYCD 実行

` バック・クォート SHIFT+ -(マイナス) 60H
{ 左中括弧 Fn+SHIFT+ ,(カンマ) 7BH
} 右中括弧 Fn+SHIFT+ .(ドット) 7DH

最後に

Linux ZaurusでAltair 8800 simulatorを走らせて、懐かしのCP/Mが動作しました。Linux Zaurusは、小さな魔法のパソコンなのかもしれません。もっと遊んでみましょうか。