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

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

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

[総合第25回]


●こういう独立も有りかと…(2)

前回の続きを書こうとして、そのための画像も用意したのですが…。
説明を考えていましたら、ここは一番、再考が必要という気がしてきました。
いえ。
SDカードのプログラムについては大体のところはできあがっていて、あとは細かいデバッグを残すのみ、というところまできていたのですけれど。

あ。
それについては後ほど書くこととしまして、とりあえず用意しました画像を見ていただくことにいたします。
まずはこちらの写真から。

前回と同じ写真じゃないの?
そのように見えますけれど、よく見ていただきますと、ND80Z3.5にはUSBケーブルが接続されています。
前回の写真ではUSBケーブルは接続されていませんでした。
どういうことかといいますと。

前回は「独立型」の最もシンプルな形を考えるとこういう形になるのではないか、というところをお見せしました。
ところが「独立型」でSDカードを使おうとしますと、「独立型ではない」SDカードの使い方もできると便利な場合があることがわかってきました。

それで今度はこちらの画像をご覧ください。

DIR表示画面なのですが。
あれっ?
今まで見てきた画面とどこか違う?
ええ。
この画像は初めて見ていただく画像のはずです。
実はこの画像は上の写真とつながっているのです。
ND80Z3.5をWindowsパソコンと接続して、ZB3BASICシステムを起動している画像なのです。
今までのDIR表示画面は[独立型]システムのもとでVGAディスプレイに表示された画面でした。
今回のDIR表示は、現行の言うなれば「非独立型」のシステムでDOSプロンプト上に表示されている画面なのです。

こういうことができると便利ではありませんか。
もう自由自在です。
前回見ていただいた123F.BINファイルは、「独立型」ND80Z3.5+SDカードの構成で[I/O][5]の操作でSDカードにセーブしたものなのですが、それをこのようにWindowsパソコンに接続した状態でも同じように扱えれば便利だと思います。

もともとこのようにしなくても、SDカードをWindowsパソコンに直接装着してリードライトできるようにFAT16で考えたのですけれど、いざ実際に使ってみますと、上の画像のようにZB3BASICのもとでリードライトしたい場合もでてくるなあ、と思ったのでした。
それで「独立型」とは別にそのようなシステムも作ってしまったのが上の画像です。

上の画像ではZB3BASICシステムで123F.BINをロードして、それをDMコマンドで内容表示しています。
うーん。
何をやっているプログラムなのかなあ。
16進数ダンプでプログラムの内容を把握するのはなかなかに難しいものです。
そこでこんなことをやってみました。

右側の画面が上の画面の続きです。
最初のLDコマンドではSDカードからファイルをロードしました(”/”が無いことに注意)。
DMコマンドのあとで今度は/SVコマンドでセーブしました。
ここは同じファイル名である必要はないのですが、いちいち別の名前にするのも煩雑ですからそのようにしました。
/SVはWindowsのハードディスクにファイルを保存するためのコマンドです(”/”がついていることに注意)。
”/”の有る、無しでハードディスクとSDカードを使い分けています。

さて今度は左側の画面です。
もうひとつDOSプロンプトを開いてそこで今ハードディスクにセーブした123F.BINをZ80逆アセンブラ(ZDAS.COM)にかけています。

逆アセンブラによって作成されたファイルを開きました。


左側はアドレスと16進数とニーモニックを表示した逆アセンブルリストです。
右側は、再アセンブル可能な形に逆生成されたZ80ソースプログラムリストです。

と、まあ、こんな具合に一連の必要な作業が簡単に行なえれば、[独立型]の使い勝手もより向上するのではないかと思います。

とここまで書いてきまして。
あかん。
これじゃあ駄目じゃないか、ということに気が付いてしまいました。
実はSDカードシステムプログラムは基本的なルーチンだけで2KB以上になってしまいました。
それを入れるだけの空きエリアがND80Z3.5(ND80ZV)のモニタROMには残っていません。
ご覧の通りです。


それで0000〜07FFのTK−80モニタプログラムを削除してしまって、そこにSDカードアクセスプログラムをやりくりしてなんとかはめ込んだのでした。
TK−80モニタ機能はなくなってもND80Zモニタの機能は残しましたから、マシン語ツールとしては使えます。
まあ、TK−80については使いたいときにはもとのROMを実装すればいいか、と当初は考えて納得していたのでしたが、それじゃあ前回の[独立型]でTK−80プログラムを走らせることはできません。
日ごろ、某Microsoft様が互換性を軽視していてけしからぬ、とさんざ批判しておきながら、これじゃあいけませんでしょう。

そういうことになりますと、TK−80モニタプログラムは外すわけにはいきませぬ。
そんなことが果たして可能なのか?
ここはなんとか解決策を求めて、またまた知恵をしぼらなければなりませぬ。
むむむ。
(余計なことを思いついたりしなければよかった)

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

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