はじめに
MSX-DOS 用の Turbo Pascal クロスコンパイラ統合環境である MSXPad の存在を知りました (情報が多い)。
この MSXPad を 64bit Windows で動作させる記事です。
MSXPad
MSXPad は SLotman 氏による Turbo Pascal 統合環境です。 MSX computer club Enschede (Frits Hilderink 氏) によって作られた Turbo Pascal 3.3f クロスコンパイラ (MS-DOS 用) と、MSX エミュレータ (デフォルトで openMSX) によるツールチェインです (情報が多い)。
この Turbo Pascal は『MCCE Turbo Pascal』と呼ばれています。
MSXPad の問題点
先述の通り、Turbo Pascal 3.3f クロスコンパイラは MS-DOS プログラムのため、Google 検索で引っ掛かる MSXPad v1.6 以前のバージョンは 64bit Windows では動作しません (インストールは可能)。
これを解決するための MSXPad Revived があり、MSXPad v1.6 をインストールした環境に上書きする形でインストールすると、64bit Windows で動作するようになる上、openMSX も同時にインストールされます。
これで終わりでもいいのですが、いくつか引っ掛かる点があります。
- MSXPad v1.6 はインストーラで提供されており、MSXPad Revived もインストーラで提供されているので、同じフォルダにインストールするとアンインストールの際に面倒な事になる。
- MSXPad v1.6 はインストーラは何かに引っ掛かっているのか、インストールがとても遅い。
- 実は 64bit Windows で動作する MSXPad v1.8 が存在する。
- MSXPad v1.8 はインストーラ形式ではない。
See also:
- Utilities - The MSX Files (icongames.com.br)
- MSXPad v1.6 (icongames.com.br) - 直接リンク
- MSXPad Revived (Desarrollos en 8 Bits. ZX Spectrum, Commodore 64.)
MSXPad v1.8 のインストール
MSXPad v1.8 は次の場所からダウンロードできます。
■ 最も簡単なインストール方法
MSXPad v1.6 インストーラを実行し、同じ場所に MSXPad v1.8 のアーカイブを解凍するのが最も簡単なのですが、先述の通り MSXPad v1.6 のインストーラはとても遅いのです。
■ 手動インストール
MSXPad v1.8 を利用した手動インストールを行ってみます。
- MSXPad v1.8 アーカイブを適当な場所に展開します。
C:\TOOLS\MSXPad
のようなスペースを含まない単純なパスがオススメです。 - VB6 ランタイムのインストール
Vector にある VB6 ランタイムをインストールします。 - OCX の登録
コマンドプロンプトを管理者権限で実行し、次のコマンドを実行します。
C:> C:\Windows\SysWOW64\regsvr32.exe C:\Tools\MSXPad\cmax20.ocx
MSXPad の使い方
軽く使い方を。
別途、何かしらの MSX エミュレータ が必要なので、事前にインストールしておいてください。デフォルトの設定では openMSX を使う事になっています。
blueMSX も使えます。
See also:
環境設定
最初に使う時は環境設定を行います。まずは MSXPad.exe
を実行します。
テンプレート画面は [Cancel] で閉じます。
[Edit | Preferences]
で設定画面を開きます。
項目 | 説明 |
---|---|
Emulator's path | エミュレータの EXE へのフルパス |
Command line | エミュレータのためのオプション |
Code font size | 16 とかに変更 |
コマンドラインのデフォルトは openMSX 用となっていますが、私は blueMSX を使っています。
エミュレータ | オプション |
---|---|
openMSX | -diska %dsk -machine Philips_NMS_8250 |
blueMSX | /diskA %dsk /machine "MSX2+" |
openMSX の設定で Philips_NMS_8250 が指定されているのは、デフォルトの C-BIOS だと FD が使えないからです。
blueMSX の設定で MSX2+ を使うようになっているのは、MSX2 とかだとキーボードの刻印通りに入力できないからです。
Hello,world.
まずはプロジェクトを作成します。[File | New | Project] でテンプレートを開きます。どれでもいいので、テンプレートを選択し [Open]
を押します。
MSXPad のインストールフォルダの下に PRJ
というフォルダを作り、その下に HELLO
サブフォルダを作って、そこに HELLO.PAS
という名前でファイルを保存します (C:\TOOLS\MSXPad\PRJ\HELLO\HELLO.PAS
)。PASCAL ファイル名は 8.3 形式にしておいてください。
[保存]
ボタンを押すと、選んだテンプレートを元にしてプロジェクトファイルが作られます。
一旦、C:\TOOLS\MSXPad\PRJ\HELLO
へ行き、生成されている AUTOEXEC.BAT
をテキストエディタで開きます。
次のような内容になっていると思います。
SET EXPERT ON
HELLO
SET EXPERT ON
の行を削除して保存します。
HELLO
MSXPad に戻って、コードを記述します。
begin
WriteLn('Hello,world.');
end.
[File | Compile and Run]
または 〔F5〕
キーでコンパイル&実行します。
コンパイルが正常終了するとエミュレータが起動し、プログラムが実行されます。
簡単ですね!
ちなみに [Game] 等のテンプレートを使ってプロジェクトを作成すると、最初から各種インクルードファイルを追加したソースコードが生成されます。
テンプレート | インクルードファイル |
---|---|
HiSpec | MSXDOS2.inc msx.inc pal.inc sprite.inc misc.inc MAPPER.inc Mbplayer.inc |
Game | MsxDskIO.inc msx.inc pal.inc sprite.inc misc.inc |
msx1 | MsxDskIO.inc msx.inc msx1.inc sprite.inc |
normal | <なし> |
インクルードファイルを使うと、グラフィックやサウンド、ジョイスティック等の MSX 固有の機能を使う事ができます。詳しくは help
フォルダにある ManualMSXPad.pdf
を参照してください。
おわりに
MSXPad v1.7 以降がどうやって 64bit Windows で Turbo Pascal 3.3f クロスコンパイラを実行しているかというと、DOSBox を組み込んでクロスコンパイルを実現しています (compiler
フォルダの中にあります)。力業なツールチェインですね (w
MSX で Turbo Pascal を実行してのセルフ開発もいいですが、クロスコンパイラ+エミュレータ環境もいいですね。
なお、Turbo Pascal 3.3f には (クロスじゃない) MSX で動作するコンパイラもあります。
See also:
- Pascal compilers for the MSX (pascal.hansotten.com)
- MSX2 version of Turbo Pascal 3.00A (pascal.hansotten.com)
- Turbo Pascal 3.3f Command-line Compiler (pascal.hansotten.com)
- [Turbo Pascal] Q&A official thread (MSX Resource Center)
- Turbo Pascal 3.0.x の使い方 (Qiita)
- Hinotori Library (Github: @popolony2k)