PC-E500のシステムソフトウェア

今回はPC-E500についての締めくくりとなります。最後には、いつものように(?)私の個人的な思いでも語らせてもらいましょう。


PB-100の回でもお話ししたように、ポケットコンピューターは、元々プログラミング電卓から進化して来たものでした。つまり、コンピューターを小さくしたもの、というよりは、BASICでプログラムもできる電卓、という位置付けだったのです。

しかし、古くから「コンピューター ソフトなければただの箱」なんて言い回しもされるように、プログラムは「おまけ」ではなく、それ自身が主体とならなくてはいけません。PC-E500では、CPUが広大なメモリ空間をもつようになったことも相まって、システムの整備が進み、小さなパソコンとでもいえるようなソフトウェア構成がとられています。

目次

ファイルコントロールシステム IOCS シェル環境

私の思い出


ファイルコントロールシステム

PC-E500は、ポケコンですのでプログラムの保存はもっぱらカセットテープに行われます(ディスクも発売はされていましたが)。

それにもかかわらず「ファイル」の概念があります。というのも、ファイルは、ディスクドライブを接続したときは当然として、メインメモリの一部をRAMディスクにして使用することでも作れるのです。


ファイル指定時には、特殊ドライブとして、プリンタやRS-232C、画面やキーボードが指定できます。ここらへんは、MS-DOSやUNIXがファイル名としてデバイスを指定できるのと同じです。

標準入出力としては画面とキーボードが選択されていますが、これを変更することでリダイレクトも行えます。ただし、シェルに相当するものはないので、気軽には出来ませんが。


ファイルコントロールシステムは、ROMに収められたルーチン群です。

BASICからも機械語からも呼びだし可能なため、これを使えばプログラムを作る際に、入出力がRAMディスクなのかフロッピーディスクなのか、それともRS-232Cなのか、ということを考慮する必要はありません。

ファイルコントロールシステムの機能としては、ひととおりのものはそろっています。構造的にはMS-DOS Ver.2あたりを参考にしたようで、ファイルコントロールブロック(FCB)をファイルハンドルの番号で指定する形で、階層ディレクトリはサポートしていません。

ファイル名規則はMS-DOSと同じく、ドライブ名5文字+ファイル名8文字+拡張子3文字となっていますが、資料にはファイル名は「シフトJISで」指定、と書かれています。PC-E500に漢字ROMは積んでないためASCIIと同じものとなるのですが、将来の拡張を考慮にいれていたことが伺えます。


IOCS

IOCSとは、Input Output Control Systemの略です。一般にはBIOS(Basic Input Output System)と呼ばれるものと同義なのですが、シャープのコンピューターではIOCSと呼ぶようです(X68000でも同じ呼び方をしていました)。


E500のIOCSの大きな特徴は、デバイスドライバがIOCSレベルでサポートされていることでしょう。これはDOSに相当するものがなく、IOCSのすぐ上がBASICであるためにとられた方式のようです。

デバイスドライバはIOCSのROMに最初から組みこまれているもの以外にも追加可能です。先に挙げたファイルコントロールシステムでも、実際のデバイスへのアクセスはIOCSを通じて行っているため、デバイスドライバの追加はシステム全体の拡張を意味します。

(ここらへんが、PC-E500を改造する愛好家を増やす要因となっています)


IOCSでは、システムへのコマンド、共通コマンド、固有コマンドの3つのレベルに分けてデバイスドライバを扱います。

システムへのコマンドは、デバイスドライバの登録などに使われるもので、デバイスドライバの作者はプログラムをする必要がありません。

共通コマンドは、デバイスドライバとして必要最低限のものが定められています。作る側からすれば面倒ですが、使う側からすれば安心して使える機能です

固有コマンドは、デバイスドライバ毎の特殊機能を組みこみます。普通わざわざデバイスドライバを作る理由は、特殊な事がしたいから、ですので、この機能が最も中心的な役割を果たします。


組みこみのデバイスドライバとしては、以下のものがあります。

  • LCDドライバ(文字表示やグラフィック描画)
  • KEYドライバ(キーボード読みだし、オートリピート設処理、ローマ字かな変換など)
  • RS-232Cドライバ(シリアル入出力、シリアル速度設定等)
  • プリンタドライバ(プリンタ出力)
  • テープドライバ(カセットテープ入出力)
  • RAMディスクドライバ・フロッピーディスクドライバ(ファイル入出力)
  • メモリブロックドライバ(メモリ管理)
  • システムコントロールドライバ(電源制御、BASIC制御等)
  • 関数ドライバ(数学関数の評価)

システムのコントロールや数学関数までドライバにしているところが驚きですが、関数は電卓から始まったポケコンの宿命として使いやすさを求めた結果、システムコントロールは、将来の拡張に備えるためなのでしょう。

今までにユーザーが作ったデバイスドライバも多数発表されていますが、代表的なところでは漢字ドライバ(LCDドライバ、KEYドライバの拡張)、音源ドライバ(音源追加改造をした場合の制御用)、クロックドライバ(同じく時計IC追加改造用)、などがあります。

これらのドライバにより、追加機能はBASICからも気軽に使うことができます。


そして・・・ユーザー主導のシェル環境

ここまでOSを意識した作りにしておきながら、PC-E500にはOSがありません。ドライバとしてはメモリ管理があり、ディスク管理があり、標準入出力があるのに、それをまとめているのはただのBASICなのです。機能はあるのだから、それをうまくまとめるシェル(ユーザーインターフェイス)さえあれば、OSとして立派になるのに・・・


当然、ユーザーの側から、これを何とかしようという動きが起こりました。私はそのころにはE500をそれ程使わなくなっていたために詳しくは知らないのですが、ユーザーが発表したシェルは数種類あるようです。

また、プログラミング環境はアセンブラに始まって現在ではCライクなコンパイラまで作られています。アプリケーションもゲームを中心として、エディタなどもそろっています。


複雑なソフトを使うには、多くのメモリを必要とします。また、多くのソフトを使うには大きなRAMディスクが必要です。

結果として、E500のRAM増設改造や、クロックアップ改造も盛んに行われました。従来のポケコンではこのような改造を施した場合、専用のソフトしか動かせなかったり、オートパワーオフの時間が早くなってしまって使い物にならなかったりといった自己満足改造に陥ることが多かったのですが、システムをしっかりつくってあるE500ではそんなことも起こりません。

PC-E500は、すでに忘れられようとしている「ポケコン」というコンピュータです。

しかし、ユーザーの熱意が続く限り、古くなることはないのでしょう。


私とE500

最後に、読者の方が読んでも何の役にもたたない私の思い出話を。

私がE500を購入したのは高校3年の時(1989年)です。大学受験を控え、親の手前パソコンをいじることもままならなくなり、隠れて使えるポケコンを買ったという(笑)

根っからのコンピューターマニアですね。今振り返ると自分でもあきれます。


友人と一緒に買いにいき、2台買うからと値切って購入したのですが、高校生には高い買い物でした。

さっそく、当時流行っていた「テトリス」のE500版をBASICで作りました。E500を縦にして、ブロックを3×3dotにすると丁度ゲーム画面が入る大きさです。高校の友人には大ウケで、休み時間になるとポケコンをもって行かれてしまうので、授業中にプログラムを組んだりしていました。(・・・思い出してさらにあきれる)


BASICでは遅かったので、ブロック表示などのスピードを必要とする部分だけハンドアセンブルでマシン語化したりしましたが、いまではこのプログラムはどこかへ行ってしまいました。残念。


また、RS232Cを使った通信実験も行いました。ハードウェアを作るのが好きな友人がケーブルを作成したのですが、「たまたま家にあったから」という理由で、ピンク色のド派手なケーブルを使い、2台のポケコン間でチャット実験。もっとも、ケーブルの長さの都合で話しをしたほうが早い距離です。大体、このころはパソコン通信も一般的ではなかったので、チャットがどんなものか理解していなかった気もします。

通信実験は、やはり授業中にやっていたのですが、ド派手なケーブルは先生にもすぐ見つかりました。ここまで派手にやると怒る気力も失せるようで、なにも言われませんでしたが。


大学に入ってからは電卓持ち込み可の試験がある度に、BASICのリマークに公式を打ち込んでいた覚えがあります。もっとも、これはみんなやっていたことなので、ポケコンをもっていない学生と不公平にならぬよう、公式を問題の中に書いてしまう教授も多くいました。当然「公式を知っているか」よりも「公式を使いこなせるか」が重要な、難しいテストでした。


現在、プログラマーを職業にしていますが、いまでもE500は手放せない機械です。E500用の大きなプログラムを組むことはなくなりましたが、16進変換がついた電卓はプログラマーには便利ですし、複雑な式をたてるときに、BASICで気軽に動作を確認できるのもE500の利点です。

この連載で取り上げた(また、これから取り上げる)コンピューターの多くが、いまでは静かに眠っているのに対して、PC-E500は派手ではないが手放せない存在として使い続けることになりそうです。

(ページ作成 1996-12-14)
(最終更新 1999-03-31)

前記事:PC-E500 CPU     戻る
トップページへ

-- share --

0002

-- follow --




- Reverse Link -