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

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

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

[総合第134回]



●LOGディレクトリ追加プログラム

説明書もほとんど出来上がって、あとはCDROMとROM、PICを焼くだけという間際になって、これも前からなんとかしたいと思っていたことが、どうにも心残りで、1日でも早く仕上げて皆様にお届けしなければならないということは重々承知していながら、貴重な2日ほどを費やして、またひとつプログラムを作ってしまいました。

実は。
SDカードのフォーマットのことなのです。
今回の新独立化システムの目玉はカラーキャラクタディスプレイインターフェースですけれど、もうひとつ大きな目玉として、ログファイルの作成機能があります。
新独立化システムを独立モードで起動すると、そのときの月日時分をファイル名とするログファイルがオープンされ、それ以後は画面に表示される文字データをすべてログファイルに記録します。
ログファイルはSDカードのLOGディレクトリに作られます。
そのため、新独立化システムのFORMATコマンドでSDカードをフォーマットするとZB3DOS(CP/M互換DOS)用のZディレクトリとLOGディレクトリが作成されます。

問題は。
今までの独立化システムで使っていたSDカードにはLOGディレクトリがない、ということです。
今まで使っていたSDカードですから、そこには色々なプログラムやデータがあるはずで、それをそのまま新独立化システムでも使いたい、と考えるのが普通でありましょう。
しかしLOGディレクトリがない今までのSDカードをそのまま新独立化システムに使うと、ちょっと困ったことになってしまいます。

いえ。
データが破壊されたりするということではありません。
LOGディレクトリがなくてもエラーにもならずにログファイルは普通に作成されます。
しかしLOGディレクトリがないので、せっかく作成されたログファイルを開いて見ることもコピーすることもできません。
肝心の「目次」(ディレクトリ)がありませんから、SDカードに記録はされるのだけれども、それがどこにしまわれているのか見つけることができません。
そうするとやっぱりLOGディレクトリを作るしかありません。
LOGディレクトリは新独立化システムでFORMATコマンドを実行することで作られます。

ここで悩ましい問題が発生します。
SDカードをフォーマットすると今までそこにあったファイルもデータも全て消えてしまいます。
それは困るということになりますと、結局今までのSDカードは新独立化システムでは使えないということになってしまいます。
もちろん新独立化システムでも、USB接続モードでしたらSDカードのログ記録機能は働きませんから、今までのSDカードも使うことができます。

そうすると。
新独立化システムの独立モードで、どうしても今までのSDカードを使いたいという場合には、あらかじめSDカードのファイルのうち残しておきたいものを一旦ハードディスクにコピーしておいてから、新独立化システムでフォーマットして、それからまたそこにハードディスクから必要なファイルをコピーし直す、というちょっと面倒な作業をしていただくことになります。
一旦書き終えた説明書では、そのようにしていただくように、と書きました。
または、新独立化システムをキーボードを含むフルセットでご購入いただいた場合には、そのセットには新しいSDカードも含まれていますから、新独立化システムではその新しいSDカードをフォーマットして使っていただく、というのが楽な方法ということになります。

しかし。
それはユーザー目線ではないのではないか?
無理なものは仕方がないとして、なんとかできるものならば、やるべきではあるまいか。
いやいやいや。
それは理想論。
ずいぶん皆様をお待たせしていることでもありますから、ここはとにかく皆様に一日も早くお届けするのが一番。
などと、行きつ戻りつ、あれこれ迷ったのですけれど。

結局。
一日も早くお届けしなければ、というプレッシャーにつぶされそうになりながら、やっぱり作ることにいたしました。
今までのSDカードの中身をそのまま残してLOGディレクトリを追加するプログラムです。
ディレクトリを追加するなんて、そんなのWindowsなら簡単なことなのに?
ええ。
8ビットCPUのマシン語でそれをやるのはなかなかに大変なことなのです。

下はやっとのことで作ったプログラムの、ビフォーとアフターです。

最初のDIRは新独立化システムでフォーマットしたSDカードです。
ZディレクトリとLOGディレクトリができています。
次のDIRは今までの独立化システムで使っていたSDカードです。
Zディレクトリはありますが、LOGディレクトリはありません。
logmk1b.binは今回作成したLOGディレクトリ追加プログラムです。
logmk1b.binをA000にロードして、JP A000を実行します。
数秒でENDと表示されます。

LOGディレクトリが追加されました。

SMBDS2F.BINがあったところにLOGディレクトリが表示され、SMBDS2F.BINはディレクトリの最後に移動しています。
logmk1b.binは新独立化システムの付属CDROMに入れて皆様にお届けいたします。

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

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