マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[総合第85回]
●COPY/A
前回は、CP/Mで扱うファイルにはエンドコード(1A)が必要ということに気が付いて、ZB3BASICのCMコマンドを使ってファイルの終わりに1Aを追加しました。
実はもっと簡単な方法がありました。
MSDOSのCOPYコマンドを利用する方法です。
COPYコマンドに/Aをつけて COPY/Aのようにしてテキストファイルをコピーすると、ファイルエンドに1Aが追加されます。
なおCP/Mでファイルの終わりに1Aが必要なのはテキストファイルだけで、そのほかのバイナリファイルに1Aを追加しても意味はありません。
ここでいうテキストファイルとは拡張子がTXTのファイルだけではなくて、中身がテキストイメージ(ASCIIコード)のファイルのことです。
拡張子がH(ヘッダーファイル)やC(Cソースプログラムファイル)もテキストファイルです。
実例で示します。
CドライブのAZ1ディレクトリにあるテキストファイルをSDカードのZディレクトリ(E:¥Z)にCOPY/Aコマンドでコピーしてみます。
まず最初にAZ1ディレクトリの内容を表示させました。
COPY/Aコマンドでコピーします。
コピー前とコピー後でファイルサイズが1バイト増えたことを確認してみます。
比較のためにもう一度AZ1ディレクトリの内容を表示した画面を再掲します。
こちらがコピー先(SDカードのZディレクトリ)です。
MBASIC.COMとSTARTREK.BASはZディレクトリにもとからあったファイルです。
今回の作業には関係ありませんから気にしないでください。
EXMPL.Cだけが少し変ですが、そのほかのファイルはコピー元に対して+1バイト増えています(EXMLE.Cについては後ほど検証することにします)。
増えた1バイトについて確認してみましょう。
DEBUGコマンドでTEST4.Cの中身を確認しました。
こちらはコピー元の中身です。
DEBUGコマンドでファイルを開くと、100番地から読み込まれます。
CP/Mのルールをそのまま踏襲しているようです。
コピー元のTEST4.Cのファイルサイズは322バイト(142H)ですから、0100〜0241に読み込まれます。
0241番地は7D(’}’)で終っています。
こちらはコピー先です。
コピー先のTEST4.Cのファイルサイズは323バイト(143H)ですから、0100〜0242に読み込まれます。
0242番地には1Aが追加されています。
CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第85回]
2017.6.8upload
前へ
次へ
ホームページトップへ戻る