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

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

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

[総合第64回]


●USB接続型システムをRAMで実行する

独立型システムはUSB接続ができません。
しかし以前のようにUSB接続型のシステムに戻りたいときもでてきます。
そのような場合にはシステムROMをもとのものに戻せばよいのですが、そのあとまた独立型にしたい、ということになると、そのたびにROMを交換するというのも面倒な話です。
[総合第26回]ではシステムプログラムをRAMに置くことで2つのシステムをROMとRAMを切り換えて実行するという方法を説明しました。
同じ方法を使ってUSB接続型システムをRAMに置けば、一々ROMを交換することなく、独立型とUSB接続型を切り換えて使うことができます。

●ND80Z3.5(ND80ZV)

まずはND80Z3.5(ND80ZV)でやってみます。
USB接続型システムROMプログラムは付属CDROMのASM¥ZB3SDCDLASTフォルダにあります。
ND3ROM5R.BINです。
それをあらかじめSDカードにコピーしておいて、独立システムを起動します。
ND3ROM5R.BINはROMでしか実行できません。
起動時にキーアクセスルーチンを実行するとROMが選択されてしまうからです。
そこでキーアクセスルーチンを書き換えてRAM用のシステムに変更します。
本当はそのように変更したシステムプログラムもCDROMに収録すればよかったのですが、急いで作成したためにそこまで気が回りませんでした。
一段落したらCDROMに追記するつもりですが、とりあえずは皆様にてその作業を行なってください。
この作業は裏RAMを使うために最初に一度ZB3DOS(CP/M互換DOS)の起動が必要です。
CM@コマンドを使うためです。
CM@コマンドは裏RAMを書き換えるときに使いますが、ZB3DOS(CP/M互換DOS)を起動すると使えるようになります。

CPMコマンドを入力してZB3DOS(CP/M互換DOS)を起動したあと、ZB3コマンドでZB3BASICに戻りました。
そのあとCM@コマンドでアドレス024Bの内容をF6からFEに書き換えます。
次のアドレス024Cが表示されたところで[←]キーを入力して、正しく書き換わったことを確認したあと、[Enter]でCM@を終了します。

そのあと続いて5箇所を同じようにして書き換えます。

0258 F5→FD
0265 F3→FB
064B F6→FE
0658 F5→FD
0665 F3→FB
にそれぞれ書き換えます。
書き換え後に一々確認しなくてもよいようなものですが、一箇所でも書きミスをしますと、まともに動いてくれませんから慎重に作業する必要があります。

そこまでできたら、SV ND3RAM5R.BIN,0000,7FFF[Enter]
でSDカードに保存します。

以後は今回作ったND3RAM5R.BINをSDカードからアドレス0000にロードしたあと、ROM/RAM切換えプログラムを実行してRAMに切り換えますが、今回は作成した直後なのでプログラムがRAMにありますしありますし、CPMコマンドを実行しましたからJP@コマンドが使えます。
ですからJP@0000でRAMの0000にジャンプしました。
JP@コマンドは裏RAMにジャンプするコマンドです。
CPMコマンド実行後に使えるようになります。
USB接続型システムはビデオRAMアドレスにワークエリアがあるために、画面にいっぱいホシが表示されます。

この時点で通常のUSB接続型(SDカード機能付き)として動作しています。
USBケーブルでWindowsパソコンと接続した状態で、ZB3.EXEまたはZB3DPS.EXEを実行し、通常の接続操作をすることで、DOSプロンプト上でZB3BASICが起動します。

手順が後先になりましたが、9000番地からRAM/ROM切換えプログラムを書きました。
適当な名前でSDカードにSVしておいてください。
[総合第26回]ではアドレス1033にジャンプしましたが、今回はシステムをリスタートする必要がありますから0000にジャンプします。

そうでした。
RAM上で動作しているということを確認しておきましょう。

通常はROMエリアの最終アドレス7FFFをCMコマンドで書き換えたあと、[←]で確認してみました。
書き換わりましたからRAM上で動作していることが確認できました。

●ND8080

ND8080でも全く同じようにして、RAM上でUSB接続型システムを実行することができます。
USB接続型システムROMプログラムは付属CDROMのASM80¥N8SDIFLASTフォルダにあります。
N8ROM3E.BINです。
ファイル名以外はND80Z3.5(ND80ZV)と全く同じですから説明は省きます。









入力ミスをしてしまいました。


このあと
JP 9007[Enter]
でROMの独立型システムに戻れますが、そうするとWindows側がハングアップしたままになりますから、/EXITコマンドで終了しておいて、マイコン側はリセットしたほうがよいでしょう。

●MYCPU80の場合

USB接続型システムROMプログラムは付属CDROMのASM80¥MYCPU80SDIFLASTフォルダにあります。
MROM6D.BINです。
ファイル名以外はND80Z3.5(ND80ZV)と同じなのですが、ちょっとROM/RAMの切換えが面倒です。




ここまでは同じです。

JP@0000でRAMのシステムにジャンプする前に、CN3のショートピンを外さないと、USB接続が機能しません。
そこがかなり厄介です。




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

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