マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[総合第32回]
●”STARTREK”のロードで変なメッセージが…
前回の続きです。
本日も時間がありません。
多分説明の途中で終ってしまいそうです。
前回はND80Z3.5(ND80ZV)用の独立型システムでZB3DOS(CP/M互換DOS)を起動して、MBASICをロードしたところまでで終りました。
実はそのあとでいつものように「STARTREK」をロードしたところ変なメッセージが表示されました。
Direct statement in file と表示されています。
こんなメッセージが出たのは初めてです。
実は今回の「MBASIC」と「STARTREK」はSDカードをWindows7マシンにカードリーターライターを使って接続してハードディスクからコピーしたものなのですが、そのときに何かがおきたようです。
念のためLISTコマンドでリストを表示させてみましたが特におかしなところはなさそうです。
RUNコマンドを入力すると、普通にSTARTREKが起動しました。
で。
Direct statement in file というメッセージなのですが。
その意味から考えて、原因はこういうことではないか、と大体の目星はつけたのですが、それはやっぱり確かめてみなければ、なんとも言えません。
そこでちょうどよい機会なので、確かめてみることにしました。
それにはSDカードのセクタを読み出してみる必要があります。
●セクタREADプログラム
セクタREADプログラムはもう何ヶ月も前に、「SDカードインターフェースの製作」[第10回]で作りました。
基本的な機能はそのとき作ったものとそれほど変わりません。
そのときはテスト的なプログラムでしたから、SDカードアクセスのためのコマンド送出の部分なども含めて1つのプログラムとして作りました。
今回はSDカードアクセスプログラムは基本的なサブルーチンを含めてシステムに組み込む形で作成済みですから、そこから必要なサブルーチンをコールする形でセクタREADプログラムを作りました。
システムに組み込んだセクタリードサブルーチン(SCTRD)をコールしたため、こんなに短いプログラムになりました。
2017/3/17 10:47 sctrd.txt END=8016 ;sector read ;17/3/17 ORG $8000 ; SCTRD=$7024 REENT=$1033 DATABF=$8200 ; 8000 C30680 JP START 8003 00 SCTH:DB 00 8004 00 SCTM:DB 00 8005 00 SCTL:DB 00 8006 2A0380 START:LD HL,(SCTH) 8009 45 LD B,L 800A 4C LD C,H 800B 3A0580 LD A,(SCTL) 800E 210082 LD HL,DATABF 8011 CD2470 CALL SCTRD 8014 C33310 JP REENT ;J DATABF =8200 REENT =1033 SCTH =8003 SCTL =8005 SCTM =8004 SCTRD =7024 START =8006 |
今回はこのプログラムを使って、SDカードの中身をセクタ単位で読み出してみることにします。
たまたまMBASICでおかしなメッセージが表示されたことがきっかけですが、SDカードが設計した通りの内容になっているかどうかということは、確認しておくべきと思っていましたので、ちょうどよい機会です。
ですのでMBASICのメッセージについてはちょっと置くとしまして、SDカードの中身をFAT16の構成からZB3DOS(CP/M互換DOS)用のフォーマットに関するところまで、セクタ単位で確認してみることにします。
本日は時間がありませんので、具体的なセクタ内容の読み出しについては次回に書くことにいたします。
CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第32回]
2017.3.22upload
前へ
次へ
ホームページトップへ戻る