Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

UCSD Pascal を触るためだけの UCSD p-System 操作ガイド

はじめに

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〕キーを押して無視します。
image.png

[コマンドメニュー (Command:)]

コマンドメニューです。このメニューに限りませんが、メニューの最後に ? が表示されている場合には〔?〕キーを押すことで表示されていないコマンドを表示する事ができます。
image.png
image.png

キー 説明
E(dit [編集メニュー] へ移動
R(un [実行]
F(ile [ファイルメニュー] へ移動
C(omp [コンパイル]
H(alt MS-DOS へ戻る
? 他のコマンドを表示

〔E〕キーを押して [編集メニュー] へ移動します。

[編集メニュー (Edit:)]

初期状態です。
image.png

キー 説明
〔Enter〕 新規ファイル作成
〔?〕〔Enter〕 ファイル選択画面へ

〔Enter〕キーを押してファイルを新規作成します。

ファイル編集 (コマンドモード)

エディタのコマンドモード画面です。
image.png

キー 説明
I(nsert 挿入モードへ
Q(uit [コンパイルメニュー] へ移動
? 他のコマンドを表示

〔I〕キーを押して挿入モードにします。

ファイル編集 (挿入モード)

エディタの挿入モード画面です。自由に入力する事ができます。
image.png

キー 説明
〔Esc〕 編集を適用せずにコマンドモードへ
〔Ctrl〕+〔C〕 編集を適用してコマンドモードへ

とりあえず FizzBuzz を入力してみましょう。
image.png
〔Ctrl〕+〔C〕でセーブし、コマンドモードに戻ります。上部のプロンプトが >Edit になっていますね。
image.png

編集終了

初期状態だとファイルはテンポラリの名前 CREATED.0.TEXT になっています。
image.png

キー 説明
C ファイル名の変更
E ファイルを保存せずに終了
R 編集に戻る
U ファイルを保存して終了

ファイルの名前を FIZZBUZZ.TEXT にしてみます。〔C〕キーを押し、FIZZBUZZ とタイプします (拡張子不要)。
image.png
ファイル名が変更されたので、今度は〔U〕キーを押し更新して [コマンドメニュー] に戻ります。
image.png
[コマンドメニュー] に戻りました。
image.png
[編集メニュー] で〔?〕〔Enter〕を押すとアルファベットでファイルを選択する事ができます。
image.png
[編集メニュー] で直接 FIZZBUZZ と入力してファイルを指定する事も可能です。

[コンパイル]

コンパイルするファイルを指定します。
image.png
to what codefile?Output file for compiled listing? は〔Enter〕キーで飛ばします。
image.png
正常にコンパイルが終わり、[コマンドメニュー] に戻りました。

[実行 (Run)]

現在のファイルが FIZZBUZZ なので、[コマンドメニュー] で〔R〕キーを押すと FIZZBUZZ が実行されます。
image.png
コンパイルせずに実行しようとすると 「FIZZBUZZ.CODE がみつからない」と怒られます。FIZZBUZZ.CODE はコンパイルすると作成されます。
image.png

[実行 (Execute)]

既にコンパイルされているプログラムをファイル名を指定して実行するには〔X〕キーを押してファイル名を指定します。
image.png

[ファイラーメニュー (Filer)]

ファイラーの初期画面です。
image.png

キー 説明
L(dir ファイル一覧
R(em ファイル削除
V(olume ボリューム一覧
Q(uit [コマンドメニュー] へ移動
? 他のコマンドを表示

ファイル一覧

ファイル一覧を取得するボリュームを尋ねられますので PSYS: とタイプします。
image.png
ファイル一覧が表示され、[コマンドメニュー] へ戻りました。
image.png

ファイル削除

削除するファイルを尋ねられますので拡張子付きでファイル名をタイプします。
image.png

ボリューム一覧

ボリューム一覧を表示します。
image.png

終了

[コマンドメニュー] で〔H〕キーを押すと MS-DOS に戻る事ができます。
image.png

ファイルの再編集

一旦書いたファイルを編集するのはちょっとコツが要ります。

削除モード

コマンドモードで編集位置へ移動し〔D〕キーを押して削除モードに入ります。カーソルキーで移動すると範囲選択になりますので削除範囲を指定したら〔Ctrl〕+〔C〕で反映させます。削除範囲の破棄は〔ESC〕キーです。
image.png
画像は矩形の部分を範囲選択している状態です。実際には矩形は表示されず、文字だけが消えます。

挿入

コマンドモードで編集位置へ移動し〔I〕キーを押して挿入モードに入ります。入力が完了したら〔Ctrl〕+〔C〕で反映させます。入力の破棄は〔ESC〕キーです。
image.png
画像はカーソル位置で〔I〕キーを押したところです。既存の行が右に移動していますが、実際に移動している訳ではありません。この位置に abc とタイプして確定させると
image.png
ちゃんと abcif となります。
image.png

LOADFILES.TEXT のエラーを消す

冒頭の LOADFILES.TEXT のエラーはダミーの LOADFILES.TEXT を作ってやる事で消すことができます。

手順

  1. p-System を起動し、〔SPACE〕キーを押してエラーをスキップします。 image.png
  2. 上部に [コマンドメニュー] が表示されますので、〔E〕キーを押しエディタを開きます。 image.png
  3. 〔ENTER〕キーを押しファイルを新規作成します。 image.png
  4. そのまま〔Q〕キーを押してエディタを抜けます。 image.png
  5. 〔C〕キーを押し、ファイル名を変更します。 image.png
  6. LOADFILES とタイプし、〔ENTER〕キーを押します。 image.png
  7. 〔U〕キーを押しファイルを更新して [コマンドメニュー] に戻ります。 image.png
  8. [コマンドメニュー] で〔H〕キーを押し、 image.png
  9. 〔Y〕キーを押して MS-DOS に戻ります。 image.png
  10. 再度 p-System を起動するとエラーは出なくなっています。 image.png

おわりに

いわゆる Pascal 文字列 は、この UCSD Pascal 由来です (標準 Pascal に String 型はありません)。
image.png
Apple ][ の Pascal も UCSD Pascal ver II ベースです。
image.png
p-System そのものではなく、UCSD Pascal を触りたいだけならばこの程度の知識で充分かと。

See also:

参考資料: UCSDpシステム入門

UCSD Pascal を対象とした書籍です。
image.png

タイトル 著者 出版社 出版年 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
ht_deko
とある熊本の障害復旧(トラブルシューター)
https://ht-deko.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away