----------------------------------------------------------------------- VOGUE−− for ZAURUS 構造化言語コンパイラ Version 0.14 for DB-Z,PV-F1,ZAURUS + PA-9C3,PA-9C95/96 (c)1991,92,93 by N.Kon (c)1993,94 by M.Sato ----------------------------------------------------------------------- ■まえがき  「VOGUE-- for ZAURUS」は、近 成人氏によって発表された PC-E500シ リーズ用の並列処理機構内蔵型構造化言語コンパイラ「VOGUE」を DB-Z,PV-F1,ZAURUS に並列処理機構を外して移植したものです。  残念ながら並列処理関係の機能とスクリーン構造体を使用する描画処理 関数、一部の雑関数がハードウェアの資料不足や多機種対応、メモリの制 限等の理由によりサポート出来ませんでしたが、その他の大半の組み込み 関数と各種機能はそのまま使用できます。 ■原作まえがき  VOGUEは、プロセスの並列動作機構を内蔵した構造化言語コンパイ ラです。C言語に似た感じはしますが、C言語ではありません。組み込み 関数が豊富なので、ライブラリの管理に煩わされることなく、お手軽なプ ログラミングを楽しむことができると思います。 ■パッケージの内容 VOGUE-- for ZAURUS Ver. 0.14 に含まれているものは次の通りです。 -------------------------------------------------------------------- BIN/ VMMZ … VOGUE-- for ZAURUS の実行形式 VMMZM … VOGUE-- for ZAURUS 縮小版の実行形式 KT/ VMMZ.KT … 転送用に VMMZ を ASCIIコード化したもの VMMZM.KT … 転送用に VMMZM を ASCIIコード化したもの DOC/ VMMZ.DOC … いまご覧になっているもの GRAMMER.DOC … 文法説明書 STDFUNC.DOC … 標準関数説明書 FLOAT.DOC … 浮動小数点型数値処理関数説明書 LIB.DOC … ライブラリ関数説明書 KNJLIB.DOC … 漢字文字列処理ライブラリ関数説明書 INTRO1.DOC … 入門書(基本) INTRO2.DOC … 入門書(応用) Q_A.DOC … Q&A TECH.DOC … テクニカルマニュアル KEYCODE.DOC … キーコード表 MISC/ ARGCHK.VOG … ライブラリ関数 CALCMODE.VOG … ライブラリ関数 EVAL.VOG … ライブラリ関数 F_P.VOG … ライブラリ関数 SPLIT.VOG … ライブラリ関数 STRINGS.VOG … ライブラリ関数 KNJLIB.VOG … 漢字文字列処理ライブラリ関数 GRAPH.VOG … グラフィックのサンプル SRC/ VMMZ.S … VOGUE-- for ZAURUS のソースプログラム DEF.S … VOGUE-- for ZAURUS のソースプログラム RUNTIME.S … VOGUE-- for ZAURUS のソースプログラム COMPILE.S … VOGUE-- for ZAURUS のソースプログラム MAIN.S … VOGUE-- for ZAURUS のソースプログラム DATABASE.S … VOGUE-- for ZAURUS のソースプログラム VMMZM.S … VOGUE-- for ZAURUS 縮小版のソース -------------------------------------------------------------------- ※ 便宜上ファイル名は大文字で書きましたが、アーカイブに格納されてい るファイル名は小文字になっています ■動作環境 ●電子手帳本体:DB-Zシリーズ,PV-F1,ZAURUS SHARP : PA-9500/9550/9600/9700 SHARP : PA-V1 SHARP : PV-F1 SHARP : PI-3000/4000 Panasonic : CI-P5 (PA-9500 の OEM?) HITACHI : DT-H2 (PA-9500 の OEM?) ・PA-V1 の内蔵 BASIC での動作は不明です ●ICカード(必須) SHARP : PA-9C3 SHARP : PA-9C95/96 ・PA-9C97 での動作は不明ですが多分動作すると思います ・PV-1C95 での動作は不明です ・PI-3C95 では動作しません。資料が揃ったら対応しようと思います PA-9C3 の 32K バイトのICカードメモリのみでも一応動作はしますが、 PA-9C3 での実用的なプログラミングのためには何らかの補助記憶用のデ バイスドライバを準備しておく必要があります。  私は PA-9550 と PA-9C3 を用いて開発および動作確認を行いました。 ■VOGUE-- for ZAURUS 使用するための準備 (その1:事前の準備)  VOGUE-- for ZAURUS に必要なだけのマシン語エリアを確保すると、残 りの BASIC のフリーエリアは PA-9C3 で3Kバイト未満にまで減少して しまいます。補助記憶を使用するためのデバイスドライバのなかには3K バイトより多くのフリーエリアをインストール時に必要とするものもあり ますので、マシン語エリアの確保の前にデバイスドライバをあらかじめイ ンストールしておきます。 (その2:マシン語エリアの確保)  VOGUE-- for ZAURUS は本体だけで $3A800 からの約12Kbyteを占めてお り、少なくとも $3A800 からがマシン語エリアとして確保してあることが 必要です。 $3A800 からをマシン語エリアとして確保するためには、ラム ファイル E: を INIT "E:2K" で初期化して(PA-9C3 では、これより大き いサイズで初期化するとマシン語エリアが確保できません!) (PA-9C3) OPEN "E:$"FOR OUTPUT AS #1 'E: 上のファイルは何でも良い PRINT #1,"OBJ=";HEX$ (&3F600-&3A800);CHR$ 13; CLOSE #1 COPY "E:$"TO "S1:EXEC.SYS" 'コピー先は必ず S1:EXEC.SYS KILL "E:$" (PA-9C95/96) OPEN "E:$"FOR OUTPUT AS #1 'E: 上のファイルは何でも良い PRINT #1,"OBJ=";HEX$ (&3FA00-&3A800);CHR$ 13; CLOSE #1 COPY "E:$"TO "S1:EXEC.SYS" 'コピー先は必ず S1:EXEC.SYS KILL "E:$" としておいて、電源の OFF/ON をすれば良いでしょう。 (その3:デバイスドライバの再組み込み)  機械語領域の確保によってデバイスドライバの組み込みが解除されるこ とがあります。適当なツールを用いて再組み込みをします。 (その4:オブジェクトの転送) ・PLINKDBZ がインストールしてある場合は、VMMZ を LOAD M で読み込み ます。 ・CE-70F をお持ちの場合は VOGUEDBZ を CE-70F で扱えるディスクに \VG.PAF の名前でコピーしておき、電子手帳に CE-70F を接続して LOAD M"X:VG" で読み込みます。 ・その他の場合は、KTR で転送します。  まず、KTR の BASIC の実行ファイルを電子手帳に転送します。次にパ ソコン側の RS-232C の通信条件を以下のように設定します。 通信速度 9600 送信時改行コード CR+LF ビット長 8 ストップビット 1 パリティ 無し X制御 有り EOFコード &H1A  以上の設定のうち、X制御は必ず「有り」に設定します。他のパラメ ータは KTR の OPEN 文のパラメータと一致していれば大丈夫です。  設定が終ったら、電子手帳側で RUN で KTR を起動します。電子手帳 の画面に Ready と表示されたらパソコン側から VOGUEDBZ.KT を送信し ます。KTR はファイルの終りに必ず EOF コードが必要なので、ファイル 転送時に EOF コードを送信しない通信ソフトを使うときは、送信完了後 に CTRL を押しながら Z を押して、EOF コードを送信します。 送信が終ると電子手帳の画面に BASIC のプロンプトが表示されます。 ※ この操作を行うと,デバイスドライバの組み込みが解除されるよう です。メモリ上にはデバイスドライバが残っているので適当なツール で再組み込みをして下さい。  KTR はポケット通信の ;EOFSP ボードに置いてあります。また、イン ターネットでは anonymous FTP で入手できます。 ftp.astec.co.jp [133.147.2.254, 133.147.10.254] /pub/zaurus/ktr101.lzh ■ソースプログラムの記述方法  ソースプログラムの記述方法は2つあります。1つは何らかのテキスト エディタを用いてソースファイルを作成するもので、もう1つは BASIC の テキストエディタを用いて BASIC のソースプログラムを作る要領で行番号 つきのテキストファイルを作成するものであります。後者の場合、TEXT モ ードで記述することが条件となります。  TEXT モードと通常のモード(BASIC モード)の切り替えは TEXT コマンド と BASIC コマンドで行います。 ■コンパイル方法ならびにオブジェクトの扱い  VOGUE-- for ZAURUS が既にメモリにロードしてあるものとして BASIC のコマンドラインで  PA-9C3 の場合 RESERVED &H31 &3A800  PA-9C95/96 の場合 CALL &3A800 …(A) でコンパイルを実行します。この場合、コンパイル対象となるソースファ イルは BTEXT$ で指定されたファイルであり、オブジェクトはメモリ上の コンパイラの直後に作成されます。コンパイルは1パスで全ての処理を完 了します。  コンパイルに成功すると "Compile end" の表示とともにオブジェクトプ ログラムの最終アドレスが示されます。このオブジェクトを実行するには  PA-9C3 の場合 RESERVED &H31 &3A803  PA-9C95/96 の場合 CALL &3A803 …(B) とすればよいでしょう。この RESERVED &H31 コマンドは入力を間違えると 暴走する危険があるので、メニューキーに登録しておくことをお勧めしま す。  VOGUE-- for ZAURUS では (1)コンパイラと共存するオブジェクト(メモリ上に展開) (2)コンパイラと共存しないオブジェクト(ファイル上に展開) の2つのタイプのオブジェクトを生成することができます。オブジェクト に関するオプションを指定しなかった場合は(1)のタイプのオブジェク トが生成されます。(2)のタイプのオブジェクトは、「オプションにつ いて」に示すようなオブジェクトに関するオプションを指定した場合に生 成されます。このオブジェクトの実行方法は「オプションについて」を参 照してください。  (1)のタイプのオブジェクトをファイルとして作成したい場合は、コ ンパイル後に SAVE M をします。開始アドレスは &3A800、終了アドレスは コンパイル終了時に表示される数値、そして実行開始アドレスを指定する 場合は &3A803 を、それぞれ指定します。 ■オプションについて  コンパイルする際にオプションを指定すると対象ソースファイルやオブ ジェクトの出力先を変更することができます。用意されているオプション は次の通りです。 ●S:ソースファイル(ストリーム)の指定 書式:−Sソースファイル名  対象とするソースファイルを BTEXT$ で指定されたもの以外の物に します。オプションの "S" とファイル名の間を空けてはいけません。 ソースファイルの種類としては ・(1)ファイル終端コードに $1a を、もし改行コードが使われ ているならば CR+LF($0d,$0a) を用いている、標準的なテキス トファイル ・(2)TEXT モードで作成された行番号つきテキストファイルと 同様な形式のファイル ・(3)(1)に準ずるキャラクタ・ストリーム の何れかが期待されています。(1)と(2)はファイル先頭が $ff か否かで自動的に判別されます。(3)は "KYBD:" のようなキャラク タ・デバイスからの入力も可能であることを示唆しています。これら のフォーマットに従っていないものをソースプログラムとして指定し た場合のコンパイル結果については保証できません。 ●O:オブジェクトファイル(ストリーム)の指定:その1 書式:−Oオブジェクトファイル名  オブジェクトをメモリ上ではなく、ファイルとして出力するように 指定します。オプションの "O" とファイル名の間を空けてはいけませ ん。出力されるファイルは SAVE M で生成されるファイルと同様のフ ォーマットです。LOAD M でロードできますが自動実行はしないように なっています。コンパイル中にオブジェクトファイルをランダムアク セスすることはないのでキャラクタ・ストリームも必要であれば出力 先として指定できます。  このオブジェクトを実行するためには、コンパイル後に生成された オブジェクトを LOAD M してから  PA-9C3 の場合 RESERVED &H31 &3A800 PA-9C95/96 の場合 CALL &3A800 とすればよいでしょう。  オブジェクトファイルに含まれるのはランタイムルーチンと生成さ れたオブジェクトだけであり、コンパイラ本体は含まれません。よっ てコンパクトなオブジェクトを得ることができます。 ●F:オブジェクトファイルの指定:その2 書式:−Fオブジェクトファイル名  オブジェクトをメモリ上ではなく、ファイルとして出力するように 指定します。オプションの "F" とファイル名の間を空けてはいけませ ん。出力されるファイルは SAVE M で生成されるファイルと同様のフ ォーマットです。LOAD M でロードできますが自動実行はしないように なっています。コンパイル中にオブジェクトファイルをランダムアク セスするのでブロックデバイス(クラスタ管理のデバイス)上のファ イルしか指定できません。  このオブジェクトを実行するためには、コンパイル後に生成された オブジェクトを LOAD M してから  PA-9C3 の場合 RESERVED &H31 &3A800 PA-9C95/96 の場合 CALL &3A800 とすればよいでしょう。  オブジェクトファイルに含まれるのはランタイムルーチンと生成さ れたオブジェクトだけであり、コンパイラ本体は含まれません。よっ てコンパクトなオブジェクトを得ることができます。 ※”O”オプションと”F”オプションの違いは、コンパイル中にオ ブジェクトをどこへ出力するかの違いにあります。”O”オプショ ンを指定した場合は、すべてのオブジェクトをメモリ上に展開し、 コンパイルが終了した時点で初めてファイルへの書き込みを開始し ます。そのために、出力先のファイルをランダムアクセスすること はなく、また、高速にオブジェクトを展開することが可能です。た だし、オブジェクトはコンパイラの後方に存在するフリーエリアに 展開されるので、このエリアに収まる程度の大きさのオブジェクト しか作成できません。  一方、”F”オプションを指定した場合は、オブジェクトのすべ てをコンパイル開始時点からファイルへ出力します。コンパイル中 はオブジェクトの書き換えが頻繁に発生するために、ランダムアク セスの出来るデバイスしか指定できません。また、ファイルを頻繁 にアクセスするためにコンパイル速度もあまり速くありません。し かし、作業をファイル上で行なうために、このコンパイラで実行す ることの出来る最大限の大きさを持つオブジェクトまで作成するこ とが可能です。作業内容に応じて”O”オプションと”F”オプシ ョンを使い分けると良いでしょう。  さて、オプションの利用方法ですが、BASIC のコマンドから実行する場 合には  PA-9C3 の場合 RESERVED &H31 &3A800"-sFOO.VOG PA-9C95/96 の場合 CALL &3A800"-sFOO.VOG とでもすればよいでしょう。オプションは大文字でも小文字でも構いませ ん。 ■エラーメッセージについて  コンパイル中にソースプログラムの不備を発見するとコンパイラはその 旨をユーザーに報告し、コンパイル作業を中断します。その際、コンパイ ラはエラーの発生原因をエラーメッセージとして、エラーの発生した行番 号と発生原因として疑わしいシンボルを添えて報告します。なお、ソース プログラムの不備以外によって発生したエラーの場合は疑わしいシンボル として「(file?) 」が報告されます。エラーメッセージとその詳細は以下 の通りです。 Source not opened … ソースファイルを読み込むことが できない Object not opened … オブジェクトファイルを作成する ことができない Object write error … オブジェクトファイルの書き込み に失敗した Bad option … 存在しないオプションを指定した Unexpected EOF … コンパイル途中でソースファイル の終わりまで来てしまった Too long identifier … 名前が長すぎる(最大7文字) Syntax error … 何らかの構文違反が存在する Undefined identifier … 未定義の名前を使用しようとした Duplicate identifier … 重複してはいけない名前を重複さ せようとした ';' expected … ';' が必要であると思われる Type specifier expected … "char","int","pnt" のうちのいず れかが必要であると思われる Constant number expected … 定数が必要であると思われる(配 列宣言など) Illegal type of identifier … 期待されているものとは異なるタ イプの識別子が使用されている( 左辺値であるべき所に左辺値が存 在しないなど) '(' expected … 左小カッコが必要であると思われ る ')' expected … 右小カッコが必要であると思われ る ':' expected … ':' が必要であると思われる Table overflow … ユーザー定義の名前が多すぎる Type conflict … プロトタイプ宣言で宣言された型 と、関数本体の型が一致しない Undefined function exist … プロトタイプ宣言をしておきなが ら、本体のない関数が依然として 存在する Memory exhausted … メモリが足りない Division by zero … ゼロで除算を行なおうとした User break … コンパイル中に [入] キーの押下 が生じた  また、オブジェクト走行時にも致命的なエラーが発生するとエラーメッ セージを表示して実行が中止されます。エラーメッセージとその詳細は以 下の通りです。 Memory exhausted … メモリが足りない Division by zero … ゼロで除算を行なおうとした User break … [入] キーの押下が生じた  コンパイルを一度も行なっていない場合やコンパイル中にエラーが発生 した場合には、強制的にメモリ上のオブジェクトを実行させようとしても "User break" を表示して、実行を拒否します。 ■縮小版 "VMMZM" について  試験的に縮小版を添付しました。縮小版では以下の関数が省略されてい ます。 getram,setram,atof,ftoa,_math1,_math2,itof,ftoi,clscrn math1,math2 ■Makefile について  ソースファイルの依存関係が複雑になっているため、作成には UNIX の make を使用しています。この make 用の Makefile を添付しました。 ■注意 ●コンパイラは漢字のための対策を一切講じておりません。ソースプログ ラムで文字列内に漢字を書くときには、シフトJISコードの2バイト 目が $5E である文字の後ろには必ずダミーの ^ を入れる必要がありま す。 例: printf("運^勢:%s",s); ●ファイルの取り扱いには IOCS を用いていますが、3.5インチ フロ ッピー・ディスク・ドライブ CE-70F (X:) は IOCS のサポートの実態 がよくわからないので、取り扱いが出来るかどうかはわかりません。こ れはオブジェクト実行中のファイル処理についても同様です。 ●ドキュメント中のサンプル・プログラムは、補助記憶として PLINKDBZ を用いて動作することを確認したものです。補助記憶を用いないシステ ム上ではサンプルプログラムのロードやコンパイルが出来ないことがあ るかもしれません。 ●このコンパイラを使って作ったプログラムを公の場に発表しようとする 人がいないとも限りませんが、コンパイラの生成したオブジェクトプロ グラムのみを公開することはこれを厳しく禁止します。ソースプログラ ム単体もしくはソースプログラムを付加したオブジェクトプログラムの 形で公開することを条件とします。 ●このプログラムの実行、または実行に係る取扱中に発生したいかなる損 害についても、これを免責とさせていただきます。 ■履歴 ===== VOGUE DB-Z =============== VOGUE DB-Z Ver. 0.10 (93/10/29) ・VOGUE Ver.1.01を元にして制作 VOGUE DB-Z Ver. 0.10 追加 (93/11/18) ・転送用ファイル VOGUEDBZ.KT と、受信用のプログラム KTR for DB-Z Ver.1.00 (KTR.BAS) を追加 VOGUE DB-Z Ver. 0.11 (93/11/28) ・ドキュメントに加筆 ・漢字文字列処理関数をライブラリ関数に追加(KNJLIB.VOG)。 ・テスト版ではあるが、条件付きで転載可とした ・標準関数の getc のランタイムルーチンがドキュメントと異なる仕様に なっていたため、ドキュメントと同じ仕様に戻した。Ver. 0.10 の getc のランタイムルーチンは関数名を getch に変えて残した。 VOGUE DB-Z Ver. 0.12 (94/03/10) ・KNJLIB.VOG の致命的なバグを修正 ・widtha, widthk を修正 ・並列処理がうまくいっていなかったのを修正 ・コンパイラのコードサイズを減らすための変更を多数行った ・PC-E500版のバージョンアップ(Ver. 1.01 → Ver.1.02)に伴い、関数 パラメータを直接参照するための関数として argpf を追加 ・縮小版の添付 ・UNIX 上での扱い考慮して '&' をファイルに使わないようにした ・ドキュメントの細部の修正 VOGUE DB-Z Ver. 0.13 (94/05/23) ・gets に画面タッチ対策を追加 ・画面タッチの処理を行うための関数として tcchk, tcscan を追加した ・PA-9C95/96 専用のLarge版の添付 ・KTR を別ソフトとして配布し、パッケージには含めないようにした ・アーカイブにディレクトリ構造を持たせるようにした ・通常版,縮小版,Large版の3つで同一の compile.s を用いるようにす るためにソースにマクロを使うようにした。このため、アセンブルには XASM Ver.1.30( (c) N.Kon , E.Kako) 以降が必要となった。 ・ソースのシンボル定義部を別ファイル(def.s)にした ・縮小版で getch を削らないようにした ・縮小版のソースのうち、rtimem.s, dbasem.s をそれぞれ runtime.s, database.s から機械的に生成するようにした ・ライブラリ関数 a_mode のソースが欠落していたのを補った ・fcntl でファイルコントロールシステム呼び出し後の結果がメモリに格 納されないのを直した ・コンパイラのコードサイズを減らすための変更を多数行った (これに伴い新たなバグが発生しているかもしれません) ・全ての IOCS およびファイルコントロールシステムの呼び出し時にユー ザー・スタックを一時的に本体RAMに戻すようにした ・ザウルス(PI-3000)で動作しないことが判明した ・自分の名前の英語表記を変更した ===== VOGUE-- for ZAURUS ======= VOGUE-- for ZAURUS Ver. 0.14 (94/11/09) ・ザウルスで動くようにするためスタックの仕様を Ver. 0.11 当時の物に もどした。そのかわりに並列処理が使えなくなった。 ・本家の VOGUE の売りであった並列処理機構とスクリーン構造体が両方と も使用できないので名前を VOGUE-- for ZAURUS に変更 ・名前の変更に伴いアーカイブ名を従来の vgdbz*.lzh(VoGue DB-Z)から vmmz*.lzh(Vogue Minus Minus for Zaurus)に変更 ・sbrk で割り付けるメモリ領域を変更した ・グラフィックのサンプルとして graph.vog を添付した ・intro2.doc の最後に出てくるサンプルプログラムのバグ修正と改良 ・メモリ不足で 'Memory exhausted' を表示して終了する場合は、表示を 行う前にユーザースタックを起動時の状態に戻すようにした ・アーカイブのサイズを抑えるため Large版を添付しないようにした ・アーカイブに Makefile を添付した ・「テスト版」の表記を外して、転載時の制限事項を減らした ・PI-3C95 には対応しない ■参考にしたもの ・B.W.カーニハン/D.M.リッチー 著 石田晴久 訳:「プログ ラミング言語C 第2版」,共立出版株式会社 ・近藤嘉雪:「yacc によるCコンパイラプログラミング」,ソフトバンク ・Niklaus Wirth 著 片山卓也 訳:「アルゴリズム+データ構造=プロ グラム」,日本コンピュータ協会 ・御手洗 毅:「BDS Cプログラミング」,工学図書株式会社 ・河西朝雄:「TURBO Pascal ハンディマニュアル」,ナツメ社 ・「PC−E500*PC−1480U活用研究」,工学社 ・足立茂夫:「Tiny-C compiler Ver.1 」,ポケコン・ジャーナル '90 Number 8 ・SONY:NEWS−OS リリース4.1R オンライン・マニュア ル他 ・MIT(マサチューセツ工科大学):X−WINDOWシステム(X11R5) ・加古英児:「VWRITE/VREAD for ESPRIT 」,Pocket Mailing-List on JUNET ・山田勝巳:「ポケコン・テクニック・ルーム 〜DDAによる描線〜」, PJ[電子手帳とポケコン] '91 Number 11 ・「’86 C−MOS IC規格表」,CQ出版社 ・近 成人:「MIDI信号制御の実験」,ポケコン・ジャーナル '90 Number 3 ・近 成人:「ESPRIT」,ポケコン・ジャーナル '91 Number 6 〜8 ・近 成人:「VOGUE Ver.1.02」,フリーソフト ・SHARP:PA−9C3 取扱説明書 ・木下 凌一:「X−Window Ver.11 プログラミング」, 日刊工業新聞社 ■著作権について  本ソフトウェアの著作権は近 成人および佐藤 正浩が所有します。 ■再配布等について  アーカイブ内容を改変しない限りアーカイブの再配布は自由です。 譲渡もこれに準じます。  転載時には、事後で結構ですから、その旨を連絡してください。 ■おわりに  良い感想、悪い感想、改良点、バグ報告など、なんでも結構ですので、 ポケット通信の ;EOBBS ボード、もしくは電子メールにてご意見をお寄 せください(公式サポートはポケット通信上で行います)。電子メール は以下のものが利用可能です。 ・ポケット通信 :ID = 2932 TEL:03-3299-8661 ・サンデーネット:ID = sun4415 ・東京BBS :ID = エミュ (実際は半角カタカナです) ・中日ネット :ID = CNC09351 TEL:052-222-3222 ・NIT-BBS :ID = nit00020 TEL:052-741-8390 ・PASTEL :ID = MSATO ・Internet :satou@kintaro1.elcom.nitech.ac.jp (※1) CNC09351@chunichi-net.or.jp (※2) ※1 大学のアカウントのため、1996年3月末以後は無効になる可能 性があります。 ※2 現時点では未接続のため使用できません。大学のアカウントが 無効になるまでには使用可能になると思います。  移植版の公開にご同意を頂きました、原作者の近 成人氏、動作テスト にご協力して頂いた皆様にこの場を借りてお礼を申し上げます。 Nov. 9th, 1994 佐藤 正浩