Help us understand the problem. What is going on with this article?

Macintosh Programmer's Workshop (MPW) Object Pascal の簡単な使い方

はじめに

備忘録的に、軽く Macintosh Programmer's Workshop (MPW) の使い方を説明します。資料が少ないので "Hello World が書けるまで" くらいの説明しかできません。

See also:

動作環境

検証用として、次のエミュレータを使用しています。

使用する MacOS は 8.1J です。
image.png

MPW Pascal の使い方

  1. プロジェクト用のフォルダを作成します。ここではデスクトップに Projects/Hello フォルダを作成しています。
    image.png

  2. MPW Shell を起動します。
    image.png

  3. [Directory | Set Directory] で作業フォルダを設定します。
    image.png
    Projects/Hello フォルダを辿って開いて行き、最後に [Select Current Directory] ボタンを押します。一つ前のフォルダ (画像の状態) で [Directory] ボタンを押しても構いません。
    image.png

  4. [File | New] で新しいファイルを作成します。
    image.png
    Projects/Hello フォルダに Hello.p という名前のファイルを作ります。拡張子は *.p である必要があります。
    image.png
    新規エディタが開きます。分かりやすいように右上に Finder で Projects/Hello フォルダを開いておきました。
    image.png

  5. Hello World を記述します。書き終わったら [File | Save] で保存しておきます。
    image.png

  6. [Build | Create Build Commands] でビルドコマンド (.make ファイル) を作成します。
    image.png
    設定項目を埋めます。[Program type] を SIOW App 1、[Target] を 68K Only にすれば SIOW アプリケーション (コンソールアプリケーションのようなもの) が作れます。[68K Model] は Model NearModel Far のいずれかを選びます。
    image.png
    埋めたら [Source Files] ボタンを押し、ソースファイルを指定します。目的のファイルをダブルクリックするか、選択して [Add] ボタンを押し、下側のボックスに移動させます。移動が終わったら [Done] ボタンで確定させます。
    image.png
    [Command Line] が画像のようになっていれば OK です。このまま [CreateMake] ボタンを押します。
    image.png
    hello.make ファイルができました。
    image.png

  7. もし、コード中でオブジェクト型 (クラス) を使うのなら、リンカに ObjLib.o を渡さないとエラーになります。.make ファイルをダブルクリックするとコードエディタで開けますので、"{Libraries}"ObjLib.o" ∂ を追加して保存します。
    image.png

  8. [Build | Build] でプロジェクトをビルドします。
    image.png
    プログラム名を尋ねられますので Hello と入力します。
    image.png
    しばらくするとビルドが完了し、実行ファイルが生成されます。
    image.png

  9. プログラム Hello を実行します。Finder からダブルクリックします。
    image.png
    終了ボタンがなくて面食らうかもしれませんが、MacOS のメニューの [File | Quit] でアプリケーションを終了させる事ができます。

See Also:

MPW Pascal が必要とする標準ライブラリ

Pascal コンパイラが必要とする標準ライブラリは次の通りです 2。次に挙げる標準ライブラリは最初からビルドコマンドに含まれています。

機能 ライブラリ 場所
低レベル I/O IntEnv.o Libraries
ToolBox, OS Interface.o Libraries
ランタイムサポート MacRuntime.o Libraries
SANE 3 SANELib.o PLibraries
SANE 3 (Far & コプロセッサ 4 ) SANELib881.o PLibraries
Pascal PasLib.o PLibraries

次に挙げる標準ライブラリはビルドコマンドの Program Type によって自動的に追加されます。

機能 ライブラリ 場所
SIOW 1 SIOW.o Libraries
標準ライブラリ Stubs.o Libraries
MPW tools ToolLibs.o Libraries

次に挙げる標準ライブラリは追加で指定する必要があります。

機能 ライブラリ 場所
数値演算 MathLib.o Libraries
数値演算 (Far & コプロセッサ 4 ) MathLib881.o Libraries
Object Pascal 5 ObjLib.o Libraries
68K セグメント操作 (Far) RTLib.o Libraries

See also:

おわりに

Delphi 1 (や Turbo Pascal for Windows) にも SIOW アプリケーションみたいな WinCRT がありました。

Delphi 1 では MS-DOS アプリケーションを作れない代わりに疑似コンソールアプリケーションを作る事が可能でした。
image.png


  1. Simple Input/Output Window 

  2. 『Building and Managing Programs in MPW』の "Switching between MPW libraries (Table 9-2)" より。 

  3. Standard Apple Numerics Environment 

  4. コプロセッサ (68881 / 68882) の有無はビルドコマンドの [68K Options] で指定できます。 

  5. MacApp なしでオブジェクト指向プログラミングを行う場合には usesObjIntf を加えた上で、このライブラリをリンクする必要があります。 

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