Nの世界

【 diskdrvでBASICプログラミング 】

●はじめに

m88の拡張モジュールに、「diskdrv」があります。
このツール説明を読むと、BASIC及びマシン語ファイルをWindows上から
ファイルに保存/復元出来ると書いてあります。(正確にはエミュレータの起動元だが)
エミュレータを最初に知った時に、この拡張モジュールの意味が理解出来なかったが、
これを使えば80/88のプログラムを打込みたい時に、Windows上で
テキストエディタを使ってプログラムを作成し、エミュレータ上に展開することが
出来ます。
※「diskdrv」は、「project m88」のメニュー「拡張」から入手して下さい。
 NBASIC対応版は、「80mkII愛友会」のメニュー「ツール」から入手して下さい。

●前準備

ダウンロードして来た「diskdrv」を以下の手順で展開します。
詳細は、各「diskdrv」に添付してあるテキストを参照して下さい。
1.『M88のぺ〜じ』からダウンロードして来た「diskdrv」を解凍します。
2.解凍先フォルダにあるdiskdrv.m88とe1.romをM88本体と同じ
フォルダにコピーします。

= ここまでがN88BASIC用。NBASIC対応の場合、以下の作業が必要です。 =
= この作業を行うとN88BASICでマシン語モニタを使用出来なくなります。 =

3.『80mkII愛友会』からダウンロードして来た「diskdrv」を解凍します。
4.M88本体と同じフォルダにあるn80.romをエクスプローラを使用してコピーし、
n80.rom_n88にリネームします。
(PC88.ROM(P88SRのGETROMで作成したもの)しか存在しない場合は、後述BIOSを
コンバートするツールで変換して下さい。)
5.解凍先フォルダに、n80.romをエクスプローラを使用してコピーします。
6.解凍先フォルダにあるn80patch.exeを起動し、n80.romを
「diskdrv」を使用出来る形式にコンバートします。
(失敗する場合は、Cドライブ直下に「temp」フォルダを作成し、そこに必要なファイルを
コピーしてからやって見て下さい。要はMS-DOS8.3文字制限。)
7.コンバートしたn80.romをM88本体と同じフォルダに戻します。
8.コンバートしたn80.romをエクスプローラを使用してコピーし、
n80.rom_nにリネームします。
※N88BASICでマシン語モニタを使用したい時に、4.で保存したn80.romと
手作業で入替える必要があるため、NBASIC用も退避しておきます。
以上で準備完了です。

●実験プログラムの準備

本当にWindows上で打込んだプログラムを変換出来るのか?
以下のプログラムをテキストエディタで作成しました。
10 print "test1"
20 print "test2"
[EOF]
これを、ファイル名「test」でセーブします。
※ファイル名=ロード名なので、ファイル名は、N/N88BASICの規約に従う
 必要があります。また、拡張子txtを外す必要があります。
※プログラムの最後は必ず改行して下さい。

●実際に使ってみる

上記で作成したファイルを以下の手順にエミュレータ上展開して見ました。
1.N88BASICの場合
cmd load ”Windows上のファイル名”
実際の例は、下の画像を参照して下さい。
N88BASIC

2.NBASICの場合
poll load ”Windows上のファイル名”
実際の例は、下の画像を参照して下さい。
NBASIC
上記の通り、単純なプログラムであれば、変換することが出来ました。
※実際には、この方式を使用してベーマガのプログラムを10本以上打ち込んでいるので、
 この方法だけ覚えておけば問題はないと思います。
※saveに関しては、後述の「pxxmakeでオートランディスクを作成(BASIC編)」を
参照して下さい。

●[GRPH]キーを使用したキャラクター入力

[GRPH]キー+キーで入力するスペード、ダイヤ、ハート、クローバといった特殊文字は、
Windows上からデフォルト設定で入力することは出来ません。
一般には?、下記のようなキーボード対応表を見ながら、エミュレータ上で、
[GRPH]キー([ALT]キー等各エミュレータのマニュアル参照のこと)+キーで
入力します。
GRPHキー対応表(FH等)


しかし、それでは、98キーボードを使用しないと、エミュレータ上で、
入力出来ないコードがあります。
テンキーの”*”、”=”、”,”に対応した特殊文字です。
(テキストキャラで画面レイアウトを作成していれば、結構使うことが多い!!)
この場合、上記方法で、テキストエディタで作成します。
その時、該当文字にダミー半角文字(aとか)を入れておきます。
打込みが終了したら、バイナリエディタで該当文字コードを直接88のコードに書換えます。
例)テンキーの”*”の場合、95に書換えます。
コード表を下に載せておきますので、参考にして下さい。
コード表

●注意事項

・NBASICでディスク起動したときは,拡張ROMの初期化が行われない為、
システム起動後に"MON@"と入力するし、初期化する必要があります。
・テキストエディタで打込む時、スペースを空けるのに[Tab]キーを使わないこと。
(うっかり使うと、変換後のプログラムがおかしくなります。)

●問題点

[GRAPH]キー+キーで入力するスペードなどの特殊文字をWindows上で
デフォルト設定では出来ません。
IMEで擬似展開方法が無いか?思考中です。(外字登録?)
ちなみに、今は、エミュレータ上で直接入力もしくは、文字コードをバイナリエディタで
直接入力する方法で入力しています。
※P88SRからも作成する方法はあるらしいのですが、98実機を使っている方の割合は
 以前と比べて激減しているのでここでは割愛させて頂きます。

●BIOSコンバータ

BIOSの吸出し方式によっては、pc88.rom(P88形式)だけあって、
n80.romが無い場合があります。
この場合、BIOSコンバータを使用して、n80.romを
作成する必要があります。
ここでいうBIOSコンバータとは、88エミュ関連小物集の中にある
「p882m88.com」の事を示します。
※「88エミュ関連小物集」は、「かぢゃぽんのお部屋」のメニュー「自作ツールのお部屋」から入手して下さい。

< 変換方法 >
pc88.romをp882m88.comと同一のフォルダに置いて、
p882m88.comを実行する。
ちなみに、逆変換(M88形式−>P88形式)は、88エミュ関連小物集にある
「m881p88.com」で行います。


【 diskdrvでマシン語プログラミング 】へ続く



Return