2015.2.19

前へ
次へ
ホームページトップへ戻る

MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!


[第135回]


●BTKおよびBINファイル作成プログラム

説明書作成作業もあと少しでやっと終りそうなところまできました。
説明書をまとめていて、気が付きました。

MYCPU80組立キットのUSB(RS232C)によるデータ、プログラムの送受信はHEXデータをASCIIコードに変換したファイル(HTXファイル)を2400bpsで行ないます。
ところがMYCPU80用ZB3BASIC、ZB3DOSでのデータ、プログラムの送受信は同じUSB(RS232C)で行ないますが、送信速度は19200bpsでバイナリファイル(BTKまたはBINファイル)をそのまま送信します。
通信速度、通信方式が違いますから、MYCPU80のROM、PICをZB3BASIC用に交換すると、HTX形式のファイルはMYCPU80に送信できなくなってしまいます。

幸い2011年以後にご購入いただいたMYCPU80に付属のASM80.COMはHTXファイルとともにBTKファイル、BINファイルも作成しますので、HTXファイルと同時に作成されたBTKファイルまたはBINファイルを使えば問題はありません。
しかし2009年〜2010年にご購入いただいたMYCPU80に付属のASM80.COMはBTKファイルを作成する機能はありません。
つまり2009年〜2010年にMYCPU80をご購入いただいた方の場合MYCPU80のROMをZB3BASIC用に交換すると、今までに作っていただいたプログラムファイルは(HTXファイルだけなので)MYCPU80にロードすることができなくなってしまいます。

なんとかしなければいけません。
そこで、HTXファイルをBTKおよびBINファイルに変換するプログラムを作りました。
変換プログラムHTOB.EXEです。
HTXファイルを読み込んで、BTKファイルとBINファイルを作成します。

[注記]
上に書きましたように、この変換プログラムは2009年〜2010年にご購入いただいたMYCPU80ユーザーのためのプログラムです。
2011年以後にご購入いただいたMYCPU80に付属のASM80.COMはHTXファイルとともにBTKファイルも作成しますから、このプログラムを使う必要はありません。

●HTOB.EXEの使い方

MZB3DOS.EXEと同じように、コマンドプロンプト(MSDOSプロンプト)を開いて(MYCPU80ディレクトリで)下のように入力します。

C:\mycpu80>ztob[Enter]

次のように表示されます。

infilename=

変換元のファイル名を入力します。
入力に指定するファイルは、中身がHTX形式であれば拡張子はHTXでなくても構いません。
拡張子がHTXのときは .HTX を省略することができます。

infilename=test.htx[Enter]  拡張子がhtxのときは test[Enter]でもよい

のように入力します。
ファイルの内容が正しいHTX形式になっていればただちに変換が行なわれ次のように表示されて、BTKファイルとBINファイルが作成されます。

infile=test.htx
outfile1=test.btk
outfile2=test.bin
start to convert
test.htx=162bytes
test.btk=81bytes
test.bin=77bytes
end

●エラーメッセージ

1)cannot open

入力したファイル名に続けてcannot openと表示されます。
指定したファイルがディレクトリ(フォルダ)内にみつからない場合に表示されます。
拡張子がHTXではない場合に拡張子を省略すると、 ファイル名.HTX というファイルを探すことに注意してください。
出力用のファイル名に続けてcannot openと表示されることは普通はありませんが、そのファイル名のファイルがすでにあって書き込み禁止であるような場合に表示されます。

2)***error! not HTX

入力ファイルにHTXではない文字コードがみつかったときに表示されます。
HTXファイルはバイナリデータをHEX表示にしたうえでASCIIコードに変換したものです。
たとえばバイナリデータ11000011のHEX表現C3はASCIIコードでは43,33になります。

3)***error! file is empty

入力ファイルが空(0bytes)のときに表示されます。

1)の場合は実行が打ち切られ出力ファイルは作成されません。
2)3)の場合には途中で実行が打ち切られ途中までの出力ファイルが作成されます。
2)の場合に表示される入力ファイルのバイト数は、そのエラーが発生したときまでに処理された文字数を示しています。

[注意1]
出力ファイル名は入力ファイル名の拡張子をBTK、BINにしたものになります。
作業ディレクトリ(通常はmycpu80フォルダ)内に出力ファイルがすでに存在する場合には新しいファイルで上書きされます。
[注意2]
入力するHTX形式のファイルはバイナリデータをHEX表現でASCIIコードにしたものですが、さらに先頭8バイトにTK−80モニタのLOAD、SAVEに対応したLOAD先頭アドレスと終了アドレスが付加されたファイルです。
HTOB.EXEは先頭8バイトがアドレス情報であるかどうかの判定は行なわず、そうであると機械的に判断して処理を行ないます。
出力されるBTKファイルは先頭4バイトにアドレス情報が付加されたバイナリファイルです。
出力されるBINファイルは先頭にアドレス情報が付加されないバイナリファイルです。
入力ファイルの先頭にアドレス情報が正しく付加されていない場合、出力されるBTKファイル、BINファイルは正しいファイルにはなりません。
2011年以後にご購入のMYCPU80組立キットに付属のCDROMにあるASM80.COMまたはZB3BASIC+ZB3DOS(CP/M互換DOS)セット付属CDROMにあるASM80.COMによって作成されたHTXファイルは正しいファイルですが、同時にBTKファイル、BINファイルも作成されますから、このプログラムを使う必要はありません。

MYCPU80でCP/Mを![第135回]
2015.2.19upload

前へ
次へ
ホームページトップへ戻る