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

マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[総合第27回]


●RENAMコマンド

やっとなんとか迷走状態から抜け出して、気持ちが落ち着きました。
それはよいのですけれど、せっかく2ヶ月以上もかけて作ってきた「独立大作戦」用のプログラムもTK−80モニタを外すところからスタートしていますので、全部ひっくり返して作り直しです。
実に苦労の多い人生であります。

それはともかくとしまして、単体としてのSDカード制御プログラムのほうはほとんど完成しておりますので、今まで説明してなかった機能などについて説明することにいたします。
SDカード制御コマンドについては[第19回]で以下のコマンドについて説明をしました。
DIR  ディレクトリ表示
LD  バイナリファイルロード
SV  バイナリファイルセーブ
LOAD  BASICファイルロード
SAVE  BASICファイルセーブ
ERASE  ファイル削除

そのほかに以下のコマンドがあります。
RENAM  ファイル名変更
FORMAT  SDカードフォーマット

そのうちまずはRENAMコマンドについて説明をします。
RENAMはファイル名の変更(RENAME)をするコマンドです。
本当はRENにしたいところなのですが、RENはBASICプログラムの行番号変更(RENUMBER)として使ってしまっていますので、RENAMにしました。

書式は
RENAM FN1,FN2
です。
FN1は変更前のファイル名で、FN2は変更後のファイル名です。
使用例です。

ディレクトリ表示の下から2行目の0006.BINをTEST6.BINに変更してみました。
ここでは拡張子は変更前も変更後もBINで同じですが、拡張子も名前の一部ですから変更することができます。

●FORMATコマンド

もともとこのコマンドはZB3DOS(CP/M互換DOS)のために用意したコマンドです。
ですので最初にSDカード制御プログラムを作った段階では、ZB3DOS用ではない使い方の場合にはWindowsでフォーマットしてもらうというつもりでした。
しかしそういうことにしますと、たとえばいろいろごちゃごちゃファイルをセーブしてしまったSDカードをクリアして初期状態にしてから再使用しようというような場合に、せっかくSDカードインターフェースがあるのに、別にWindows用にSDカードリードライターを用意して、それを使ってフォーマットしなければなりません。
と言っても、安価なSDカードリーダーライターが100円ショップで売られていますので、そういうものを利用すれば、さしてコストはかかりませんけれど(「SDカードインターフェースの製作」[第3回]参照)。
まあ、ちょいと面倒くさいということになります。
それで、ZB3DOS(CP/M互換DOS)を使わない場合でも互換性という意味からも共通のフォーマットで使っていただくということにして、FORMATコマンドに初期クリアの機能も組み込みました。
ただしもともとはFAT16で初期フォーマット済みのSDカードでなければFORMATコマンドは使えません。
たいていのSDカードは購入時にはFAT16でフォーマット済みですから、そういうカードならそのまま使用できます。
そうではないSDカードはWindowsで読もうとした場合に「フォーマットが必要です」というメッセージが出ますから、そのような場合には、最初1回はWindowsでフォーマットしてから使うようにしてください。
なお独立型のZB3DOS(CP/M互換DOS)を使わない場合には、FAT16フォーマット済みのSDカードをそのまま使用しても支障はありません。
独立型のZB3DOS(CP/M互換DOS)を使う場合には、最初に1回はこのSDカード制御コマンドのFORMATコマンドでフォーマットを済ませておく必要があります。

FORMATコマンドの使用例です。

確認のためDIRコマンドでSDカードの内容を表示させました。
次にFORMATを実行しました。
もう一度DIRで中身を表示させたところ、ファイル名は表示されなくなりました。
FORMATコマンドを使うとSDカードの中身は全てクリアされてしまいます。
もとには戻せませんので注意して使ってください。
「Z」は独立型ZB3DOS(CP/M互換DOS)用の「Zフォルダ」です。
Windowsと独立型ZB3DOS(CP/M互換DOS)の両方でアクセスできる特殊なフォルダです。
この「Zフォルダ」には独立型ZB3DOS(CP/M互換DOS)からは当然アクセスできますが、ZB3BASICからはアクセスすることはできません。
WindowsのHDDにあるCP/M用のファイルを独立型ZB3DOS(CP/M互換DOS)で使いたい場合には、Windowsパソコンで上で書きましたSDカードリーダーライターなどを使って、このZフォルダにそのファイルをコピーすると、独立型ZB3DOS(CP/M互換DOS)からアクセスできるようになります。
なお現行のUSB接続型ZB3DOS(CP/M互換DOS)ではSDカードにアクセスはできません。
SDカードにアクセスできるのは、現行のUSB接続型ZB3BASICと、独立型のTK−80モニタ、ND80Zモニタ、ZB3BASIC、ZB3DOS(CP/M互換DOS)です。

うーん。
なんだかややこしい?

このように考えてください。
SDカードシステムはもともと「独立型」のシステムのために用意したものなのです。
USBでWindowsパソコンに接続しているのでしたら、Windowsのハードディスクを使えばよいので、わざわざSDカードを使う必要はありません。
ですからUSB接続をしないでWindowsパソコンから独立して使うためのものであることが基本になります。
ただUSB接続をして使う現行のZB3BASICシステムでもSDカードが使えると便利(あくまで独立型システムのための補助ツールとして)ということで、今回も見ていただきましたようにUSB接続型のZB3BASICでもSDカードが扱えるように考えました。
しかしさらにそれを進めて現行のUSB接続型ZB3DOS(CP/M互換DOS)でも使うということにするメリットはないと思いますので、そのようには考えてありません。
このことは実際に使っていただければ納得していただけることと思います。

CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第27回]
2017.3.13upload

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