マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[総合第34回]
●DIR
また2日ほど間が空いてしまいました。
[第32回]に書きましたSTARTREKをロードしたときに表示されたDirect statement in fileというメッセージについて、大体の理由はわかったつもりなのですが、それの裏づけが簡単に取れて、その対策もなんとかできそうと思ったのが見込み違いもいいところで、お蔭で貴重な2日間を空費してしまいました。
いえ、まあ、全くの無駄ということはありません。
それなりの収穫はあったのですが、とにかくここへ来て貴重な時間を費やしてしまったことがいささか残念です。
まだその余波が続いておりまして、本日も残りわずかという時間になってから、こうして走り書き(走り打ちか?)をしております。
前回の続きを少しだけ続けます。
前回はFATセクタを読み出しました。
このSDカードの場合前回書きましたようにFATのサイズはF0(240)セクタです。
FAT#2が終った後ろにはDIRセクタがあります。
FAT#2の先頭セクタはbPF7でしたから1F7+F0=2E7がDIRの先頭セクタbノなります。
セクタリードプログラムに02E7を置数して実行しました。
そのあと前回と同様DMコマンドで読み出した内容を表示させました。
>cm 8003 8003 00- 8004 01-02 8005 F8-e7 8006 2A- >jp 8000 >dm 8200,83ff 8200 5A 20 20 20 20 20 20 20-20 20 20 10 00 00 00 00 Z ..... 8210 00 00 00 00 00 00 00 00-00 00 02 00 00 00 00 00 ................ 8220 53 5A 43 43 50 31 41 20-42 49 4E 20 00 00 00 00 SZCCP1A BIN .... 8230 00 00 00 00 00 00 00 00-00 00 40 01 D0 07 00 00 ..........@.ミ... 8240 53 5A 42 44 4F 53 31 49-42 49 4E 20 00 00 00 00 SZBDOS1IBIN .... 8250 00 00 00 00 00 00 00 00-00 00 41 01 72 0D 00 00 ..........A.r... 8260 53 5A 49 4E 49 54 31 43-42 49 4E 20 00 00 00 00 SZINIT1CBIN .... 8270 00 00 00 00 00 00 00 00-00 00 42 01 95 00 00 00 ..........B..... 8280 53 5A 42 44 53 31 50 20-42 49 4E 20 00 00 00 00 SZBDS1P BIN .... 8290 00 00 00 00 00 00 00 00-00 00 43 00 64 19 00 00 ..........C.d... 82A0 52 41 4D 52 4F 4D 43 47-42 49 4E 20 00 00 00 00 RAMROMCGBIN .... 82B0 00 00 00 00 00 00 00 00-00 00 46 01 0E 00 00 00 ..........F..... 82C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 82D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 82E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 82F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8300 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8310 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8320 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8330 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8340 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8350 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8360 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8370 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8380 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8390 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 83F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ |
DIRセクタについては「SDカードインターフェースの製作」[第15回]で書きました。
ファイルごとに32バイトが割り当てられます。
それが基本単位です。
ファイルによっては32バイトの単位を複数個使うものもあります。
そのルールはちょっと複雑ですので、ここでは説明を省きます。
標準的なファイルの場合、32バイトの先頭から11バイトがファイル名(8バイト+拡張子3バイト)のエリアです。
その後ろの1バイトはそのファイルの属性を示します。
通常のファイルは20です。
その下の行にある2バイトがそのファイルのデータが格納されているクラスタbナす。
SZCCP1A.BINの場合40 01ですからクラスタbO140にデータが格納されています。
その後ろの2バイトがデータのサイズです。
D0 07ですから、データのサイズは07D0Hバイトです。
説明の途中ですが、本日は時間がなくなってしまいました。
次回に続きます。
CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第34回]
2017.3.26upload
前へ
次へ
ホームページトップへ戻る