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

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

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

[総合第112回]



●27C512の使い道(2)

27C512の使い道について、[総合第110回]でUSB接続型システムを27C512の0000〜7FFF(バンク00)に置いて、独立型システムを8000〜FFFF(バンク10)に置く、という案について書きました。
27C512については当初は別のプロジェクトで使うつもりだったのですが、そのようにしてUSB接続型と独立型のシステムをソフトで切り換えて使うようにしてみますと、これがなかなかに使い勝手がよいのです。
それで今回のハードウェアのバージョンアップといいますか、新しいボードに合わせて、ソフトウェアはこの方法(27C512にUSB接続型と独立型のシステムを書いたものを供給するという方法)でいくことに決めました。

ところで、そのUSB接続型と独立型のシステムなのですが。
USB接続型はWIndowsパソコンの画面、キーボード、ハードディスクを使うのに対し、独立型はVGAまたはCRTディスプレイ、液晶TVに表示し、PS/2キーボードから入力し、外部記憶にSDカードを使うというところに両者の違いがあります。
つまりは外部装置の使い方が異なっているだけで、システムプログラムはほとんど8〜9割は同じものです。
今回の27C512案では、そのほとんど同じシステムプログラムがいわば二重にROMに書かれているということになります。
そこをなんとか整理して、共通化できるところは1つにまとめてしまえば、ROMに空き領域をつくることができます。
あ、いえ、今それをやりますと、またまた時間がかかってしまいます。
ですので今はそれはやりません。
ただ現行ではSDカードプログラムの置き場がなくて、やむを得ず倍精度プログラムを外してそこにSDカードプログラムを置いています。
そこのところだけはせっかく27C512を使うことにしたのですから、なんとか工夫して倍精度プログラムも復活させたいと考えています。

●/COPYコマンド

27C512を使うことで、USB接続型と独立型をリセットしたり電源を切ってROMを入れ換えたりすることなく、そのままの状態でシステムを切り換えて使うことができるようになりましたので、使い勝手がうんとよくなりました。
せっかくよくなったのですから、もう一押しということで、以前からなんとか実装したいと考えていた機能を作ってしまうことにしました。
思いつくのは簡単なことなのですが、いざそれを実際に実装しようとしますとなかなかに手間がかかります。
結局この2日の間、苦闘することになってしまいました。

現行のシステムでは独立型の記録媒体はSDカードです。
これがなければ独立型システムは成り立ちません。
そのSDカードはUSB接続型システムに実装して使うこともできます。
しかしたとえばSDカードにセーブしてあるプログラムやデータファイルをWindowsパソコンのハードディスクにコピーしたり、逆にWindowsパソコンのハードディスクにあるファイルをSDカードにコピーしたいという場合には、USB接続型のシステムに実装してもそのままではできませんでした。
一旦SDカードをSD/KEYIFボードのカードソケットから外して、SDカードリーダーライタなどにセットしてそれをWindowsパソコンに接続して、そこでコピー作業をするしかありませんでした。
せっかく独立型システムとUSB接続型システムをそのままソフトで切り換えることができるようになったのに、SDカードにハードディスクのファイルをコピーするようなとき(またはその逆のとき)にはいちいちSDカードを外してWindowsパソコンに直接セットしなければなりません。
これは面白くありません。

そういうわけで、まずはUSB接続型のシステムにセットしたSDカード上のファイルをWindowsのハードディスクにコピーできるようにしました。
それが/COPYコマンドです。

とりあえずはZB3(またはZB3DOS)を起動しているフォルダが対象です。
またSDカードのほうも現在アクティブになっているディレクトリのファイルが対象になります。
上の画像の右側がZB3の起動画面です。
DIRコマンドでSDカードのディレクトリを表示させたあと
/COPY SQRTEST.TXT
と入力しました。
短いプログラムファイルですから瞬時に実行されました。
左側にエクスプローラで開いたWindowsハードディスクのフォルダの中身が表示されています。
上から5行目にあるSqrtest.txtは今右側のDOSプロンプトの中で/COPYコマンドの実行によってコピーされたファイルです。

●/COPYWコマンド

SDカード上のファイルをWindowsのハードディスクにコピーすることができるようになりますと、その逆はできないのか、ということになります。
できないままにしておくわけにはいきませんでしょう。
/COPYWは/COPYとは全く逆の働きをするコマンドです。
Windowsのハードディスク上のファイルをSDカードにコピーします。

上の画像の左側にZB3.EXEのあるフォルダの中身が表示されています。
その一番下に見えるcopyt1.txtをSDカードにコピーします。
右側のDOSプロンプト画面の中で
/COPYW COPYT1.TXT
を実行しました。
最初のDIRコマンドの実行ではCOPYT1.TXTは表示されていませんが、/COPYWの実行後のDIRの実行ではCOPYT1.TXTが追加されています。

今回はテストのためにTXTファイルをコピーしましたが、BINファイルでも、そのほかの拡張子のファイルや拡張子のないファイルでもコピーできます。
なお当然のことながら、/COPY、/COPYWはWindowsパソコンのハードディスクとND80Z3.5(ND80ZV)、ND8080、MYCPU80システムに実装したSDカードとの間でファイルコピーをする機能ですから、USB接続型システムの上で実行することになります。
独立型システム単独では実行できませんが、27C512ROMによって独立型からUSB接続型に切り換えれば、/COPY、/COPYWを使うことができますから、そのようにして独立型システムで使うためのプログラムをWindowsのハードディスクからコピーしたり、独立型システムで作成したプログラムファイルやデータファイルをWindowsパソコンのハードディスクにコピーして保存することなどができます。
これは便利な機能だと思います。

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

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