はじめに
UCSD p-System の使い方をよく忘れるので備忘録を兼ねて。
UCSD p-System とは
ざっくり言うと Pascal で書かれた OS で、Pascal を実行するための OS です。
See also:
UCSD p-System のダウンロード
MS-DOS で動作する UCSD p-System が pascal.hansotten.com から DL 可能です。
UCSD p-System の動作環境
UCSD p-System IV 2.2 は DOSBox(-X) で動作させる事ができます。
起動
DOSBox(-X) から、
C:\>CD PSYS22
C:\PSYS22>PSYSTEM PSYSTEM.VOL PUTIL.VOL
p-System の操作
起動時にこのようなエラーが出ますので、〔SPACE〕キーを押して無視します。
[コマンドメニュー (Command:)]
コマンドメニューです。このメニューに限りませんが、メニューの最後に ?
が表示されている場合には〔?〕キーを押すことで表示されていないコマンドを表示する事ができます。
キー | 説明 |
---|---|
E(dit | [編集メニュー] へ移動 |
R(un | [実行] |
F(ile | [ファイルメニュー] へ移動 |
C(omp | [コンパイル] |
H(alt | MS-DOS へ戻る |
? | 他のコマンドを表示 |
〔E〕キーを押して [編集メニュー] へ移動します。
[編集メニュー (Edit:)]
キー | 説明 |
---|---|
〔Enter〕 | 新規ファイル作成 |
〔?〕〔Enter〕 | ファイル選択画面へ |
〔Enter〕キーを押してファイルを新規作成します。
ファイル編集 (コマンドモード)
キー | 説明 |
---|---|
I(nsert | 挿入モードへ |
Q(uit | [コンパイルメニュー] へ移動 |
? | 他のコマンドを表示 |
〔I〕キーを押して挿入モードにします。
ファイル編集 (挿入モード)
キー | 説明 |
---|---|
〔Esc〕 | 編集を適用せずにコマンドモードへ |
〔Ctrl〕+〔C〕 | 編集を適用してコマンドモードへ |
とりあえず FizzBuzz を入力してみましょう。
〔Ctrl〕+〔C〕でセーブし、コマンドモードに戻ります。上部のプロンプトが >Edit
になっていますね。
編集終了
初期状態だとファイルはテンポラリの名前 CREATED.0.TEXT
になっています。
キー | 説明 |
---|---|
C | ファイル名の変更 |
E | ファイルを保存せずに終了 |
R | 編集に戻る |
U | ファイルを保存して終了 |
ファイルの名前を FIZZBUZZ.TEXT
にしてみます。〔C〕キーを押し、FIZZBUZZ
とタイプします (拡張子不要)。
ファイル名が変更されたので、今度は〔U〕キーを押し更新して [コマンドメニュー] に戻ります。
[コマンドメニュー] に戻りました。
[編集メニュー] で〔?〕〔Enter〕を押すとアルファベットでファイルを選択する事ができます。
[編集メニュー] で直接 FIZZBUZZ
と入力してファイルを指定する事も可能です。
[コンパイル]
コンパイルするファイルを指定します。
to what codefile?
と Output file for compiled listing?
は〔Enter〕キーで飛ばします。
正常にコンパイルが終わり、[コマンドメニュー] に戻りました。
[実行 (Run)]
現在のファイルが FIZZBUZZ なので、[コマンドメニュー] で〔R〕キーを押すと FIZZBUZZ が実行されます。
コンパイルせずに実行しようとすると 「FIZZBUZZ.CODE がみつからない」と怒られます。FIZZBUZZ.CODE はコンパイルすると作成されます。
[実行 (Execute)]
既にコンパイルされているプログラムをファイル名を指定して実行するには〔X〕キーを押してファイル名を指定します。
[ファイラーメニュー (Filer)]
キー | 説明 |
---|---|
L(dir | ファイル一覧 |
R(em | ファイル削除 |
V(olume | ボリューム一覧 |
Q(uit | [コマンドメニュー] へ移動 |
? | 他のコマンドを表示 |
ファイル一覧
ファイル一覧を取得するボリュームを尋ねられますので PSYS:
とタイプします。
ファイル一覧が表示され、[コマンドメニュー] へ戻りました。
ファイル削除
削除するファイルを尋ねられますので拡張子付きでファイル名をタイプします。
ボリューム一覧
終了
[コマンドメニュー] で〔H〕キーを押すと MS-DOS に戻る事ができます。
ファイルの再編集
一旦書いたファイルを編集するのはちょっとコツが要ります。
削除モード
コマンドモードで編集位置へ移動し〔D〕キーを押して削除モードに入ります。カーソルキーで移動すると範囲選択になりますので削除範囲を指定したら〔Ctrl〕+〔C〕で反映させます。削除範囲の破棄は〔ESC〕キーです。
画像は矩形の部分を範囲選択している状態です。実際には矩形は表示されず、文字だけが消えます。
挿入
コマンドモードで編集位置へ移動し〔I〕キーを押して挿入モードに入ります。入力が完了したら〔Ctrl〕+〔C〕で反映させます。入力の破棄は〔ESC〕キーです。
画像はカーソル位置で〔I〕キーを押したところです。既存の行が右に移動していますが、実際に移動している訳ではありません。この位置に abc
とタイプして確定させると
ちゃんと abcif
となります。
LOADFILES.TEXT のエラーを消す
冒頭の LOADFILES.TEXT のエラーはダミーの LOADFILES.TEXT を作ってやる事で消すことができます。
手順
- p-System を起動し、〔SPACE〕キーを押してエラーをスキップします。
- 上部に [コマンドメニュー] が表示されますので、〔E〕キーを押しエディタを開きます。
- 〔ENTER〕キーを押しファイルを新規作成します。
- そのまま〔Q〕キーを押してエディタを抜けます。
- 〔C〕キーを押し、ファイル名を変更します。
-
LOADFILES
とタイプし、〔ENTER〕キーを押します。 - 〔U〕キーを押しファイルを更新して [コマンドメニュー] に戻ります。
- [コマンドメニュー] で〔H〕キーを押し、
- 〔Y〕キーを押して MS-DOS に戻ります。
- 再度 p-System を起動するとエラーは出なくなっています。
おわりに
いわゆる Pascal 文字列 は、この UCSD Pascal 由来です (標準 Pascal に String 型はありません)。
Apple ][ の Pascal も UCSD Pascal ver II ベースです。
p-System そのものではなく、UCSD Pascal を触りたいだけならばこの程度の知識で充分かと。
See also:
参考資料: UCSDpシステム入門
タイトル | 著者 | 出版社 | 出版年 | Amazon |
---|---|---|---|---|
UCSDpシステム入門 ―Pascalで書かれた汎用OSのすべて |
チャールズ・W.グラン (著) ジョン・バター (著) 小池 慎一 (訳) |
CQ 出版社 | 1983/12/25 | B000J78J5W |
p-System の使い方が日本語で読める書籍です。タイトルのせいでググラビリティが低いです...素直に『UCSD p-System 入門』でよかったのに。
原書は『INTRODUCTION TO THE UCSD p-SYSTEM』...なのだけれど、普通に Amazon で検索すると引っかからない。
タイトル | 著者 | 出版社 | 出版年 | Amazon |
---|---|---|---|---|
INTRODUCTION TO THE UCSD p-SYSTEM | Charles W. Grant (著) Jon Butah (著) |
SYBEX Inc. | 1982/9 | 089588061X |