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

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第361回]


●CP/M互換DOSについて

実はだいたいのところの作業は終わって、あとは簡単な説明書とCDROMさえ作ればそれで準備完了というところまでいっていたのですが、ちょっとばかり悩ましい問題がみつかってしまいました。
今原因を追及中です。
ちょっと集中してかからなければなりません。
今しばらくご猶予をお願いいたします。

●CP/Mファイル(.COM)の作成

.COMに代表されるCP/Mファイルをどのようにして作成し、それをどのようにして仮想フロッピーディスクに書き込むのですか?

というご質問をいただきました。
おそらくMACRO−80などをCP/M互換DOSの上で実行させることを想定してみえるように思います。
たとえばMACRO−80などCP/M上で実行できるソフトをCP/M互換DOSの上で実行したとしましたら、そのソフトの機能の中にはファイルセーブの機能があると思いますから、それを使っていただければよいのでは、と思います。
たとえばMBASICでしたらSAVE、LOADコマンドが使えます。

しかし、COMファイルを作るのにつきましては、私はそれをCP/M互換DOSの上で作ろうとは思いません。
せっかくWindowsという便利な開発環境があるのですから、それを利用しないというのは勿体無いと思います。

CP/MそのものにもSAVEコマンドはあります。
アドレス0100Hからのトランジェントエリアにあるマシン語のプログラムやデータをファイル名をつけてディスク(仮想フロッピーディスクドライブ)に書き込むことができます。
しかしそのSAVEと対になるようなLOADコマンドはありませんし、メモリに直接何かを書き込むような機能もありません。
別に互換性を重視したわけではありませんが、CP/M互換DOSにもその機能はありません。
それじゃあどうするのかといいますと、当連載のはじめからずいぶん沢山のテストプログラム、サンプルプログラムを作ってきましたが、それと同じようにしていただくのがよろしいかと思います。

最初にアセンブラのソースプログラムを書きます。
これはメモ帳でもよいのですがTeraPadがおすすめです。
TeraPadは[第19回]でご紹介いたしました。
普通のTXTファイルとして作成します。

作成しましたら、ND80ZV(ND80Z3.5)に付属しております、Z80アセンブラ(ZASM.COM)でアセンブルしてバイナリファイルを作ります。
拡張子が.BINのファイルです。

そのバイナリファイルをCP/M互換DOSのありますフォルダにコピーします。
最初からCP/M互換DOSのありますフォルダでソースプログラムの作成〜アセンブル作業までやってしまえばコピーする手間が省けます。

CP/Mの実行ファイルは拡張子がCOMでなければ実行できません。
そこでWindowsのエクスプローラでフォルダを表示させておいて、ファイル名の変更をします。
BINをCOMに書き換えます。
DOSコマンドに慣れている方ならば、RENコマンドのほうが手っ取り早いかも知れません。

最後にCP/M互換DOSの上で、COPY Z: コマンドを使って仮想フロッピーディスクに書き込みます。

このように書きますと面倒なようですが、少し慣れればどうということはありません。
ひとつ簡単なプログラムを書いて、それをCP/M互換DOS上で実行するところまでを、実例で説明するのがよいように思います。
でもちょっと本日は時間がありませんので、それはまた次回ということにいたします。

[誤記訂正]
MACRO−80をMASMと誤記しておりました。
本文は訂正済みです。(2013.4.3)

ワンボードマイコンでCP/Mを![第361回]
2013.4.1upload
2013.4.3誤記訂正

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