search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

updated at

MSXPad を 64bit Windows で使えるようにする

はじめに

MSX-DOS 用の Turbo Pascal クロスコンパイラ統合環境である MSXPad の存在を知りました (情報が多い)。
image.png
この MSXPad を 64bit Windows で動作させる記事です。

MSXPad

MSXPad は SLotman 氏による Turbo Pascal 統合環境です。 MSX computer club Enschede (Frits Hilderink 氏) によって作られた Turbo Pascal 3.3f クロスコンパイラ (MS-DOS 用) と、MSX エミュレータ (デフォルトで openMSX) によるツールチェインです (情報が多い)。

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:

MSXPad v1.8 のインストール

MSXPad v1.8 は次の場所からダウンロードできます。

■ 最も簡単なインストール方法

MSXPad v1.6 インストーラを実行し、同じ場所に MSXPad v1.8 のアーカイブを解凍するのが最も簡単なのですが、先述の通り MSXPad v1.6 のインストーラはとても遅いのです。

■ 手動インストール

MSXPad v1.8 を利用した手動インストールを行ってみます。

  1. MSXPad v1.8 アーカイブを適当な場所に展開します。C:\TOOLS\MSXPad のようなスペースを含まない単純なパスがオススメです。
  2. VB6 ランタイムのインストール
    Vector にある VB6 ランタイムをインストールします。
  3. OCX の登録
    コマンドプロンプトを管理者権限で実行し、次のコマンドを実行します。
C:> C:\Windows\SysWOW64\regsvr32.exe C:\Tools\MSXPad\cmax20.ocx

MSXPad の使い方

軽く使い方を。

別途、何かしらの MSX エミュレータ が必要なので、事前にインストールしておいてください。デフォルトの設定では openMSX を使う事になっています。
image.png
blueMSX も使えます。
image.png
See also:

環境設定

最初に使う時は環境設定を行います。まずは MSXPad.exe を実行します。
image.png
テンプレート画面は [Cancel] で閉じます。
image.png
[Edit | Preferences] で設定画面を開きます。
image.png

項目 説明
Emulator's path エミュレータの EXE へのフルパス
Command line エミュレータのためのオプション
Code font size 16 とかに変更

コマンドラインのデフォルトは openMSX 用となっていますが、私は blueMSX を使っています。

エミュレータ オプション
openMSX -diska %dsk -machine Philips_NMS_8250
blueMSX /diskA %dsk /machine "MSX2+"

blueMSX の設定で Philips_NMS_8250 が指定されているのは、デフォルトの C-BIOS だと FD が使えないからです。

blueMSX の設定で MSX2+ を使うようになっているのは、MSX2 とかだとキーボードの刻印通りに入力できないからです。

Hello,world.

まずはプロジェクトを作成します。[File | New | Project] でテンプレートを開きます。どれでもいいので、テンプレートを選択し [Open] を押します。
image.png
MSXPad のインストールフォルダの下に PRJ というフォルダを作り、その下に HELLO サブフォルダを作って、そこに HELLO.PAS という名前でファイルを保存します (C:\TOOLS\MSXPad\PRJ\HELLO\HELLO.PAS)。PASCAL ファイル名は 8.3 形式にしておいてください。
image.png
[保存] ボタンを押すと、選んだテンプレートを元にしてプロジェクトファイルが作られます。
image.png
一旦、C:\TOOLS\MSXPad\PRJ\HELLO へ行き、生成されている AUTOEXEC.BAT をテキストエディタで開きます。
image.png
次のような内容になっていると思います。

SET EXPERT ON

HELLO

SET EXPERT ON の行を削除して保存します。

HELLO

MSXPad に戻って、コードを記述します。
image.png

begin
  WriteLn('Hello,world.');
end.

[File | Compile and Run] または 〔F5〕 キーでコンパイル&実行します。
image.png
コンパイルが正常終了するとエミュレータが起動し、プログラムが実行されます。
image.png
簡単ですね!

ちなみに [Game] 等のテンプレートを使ってプロジェクトを作成すると、最初から各種インクルードファイルを追加したソースコードが生成されます。
image.png

テンプレート インクルードファイル
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
image.png
MSX で Turbo Pascal を実行してのセルフ開発もいいですが、クロスコンパイラ+エミュレータ環境もいいですね。
image.png
なお、Turbo Pascal 3.3f には (クロスじゃない) MSX で動作するコンパイラもあります。
image.png
See also:

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?