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

標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
やっと(!)MYCPU80の改良型基板製作に着手しました!!





[第901回]


●SDカードでERR:92???

このところ、ちょっとテーマ違いかも、ということを書いています。
でもまあ、全く無関係でもありませんし、そのたびにタイトルを意識して変えるのも面倒ですので、とりあえずMYCPU80Bのテーマのままで書くことにいたします。

先日、お客様から「SDカードにアクセスするとERR:92が表示されてアクセスできません」というメールをいただきました。
ERR:92は普通は出ないエラーメッセージです。
たとえばFAT32でフォーマットしたSDカードなどを読むとこのエラーになります。
普通では考えられません。
こういう場合には一度送っていただいて、こちらで実際に試して確認してみると何かがわかることがあります。

それで、問題のSDカードを送っていただきました。
さっそく確認してみました。
最初は型どおりSDカードを実装しない状態でDIRコマンドを実行しましたので、ERR:91が表示されました。
これはSDカードが挿入されていないことを示すメッセージです。
次に問題のSDカードを挿入して、もう一度DIRコマンドを実行してみました。

なるほどERR:92が表示されます。

セクタのどこかが壊れているのかもしれません。
こういうときはSCTRDプログラムでセクタの中身を読み出してみると何かがわかるかもしれません。
SCTRD.BINは「CRT/VGAIF〜SDCARDIFボードの製作」[総合第156回]で紹介しています。
それで試しに使ってみたのですが。

やっぱりだめでした。
SCTRD.BINはSDカードのイニシャライズの部分がないために、先にDIRコマンドの実行が必要です。
DIRコマンドでエラーが出ている状況ではやっぱりSCTRD.BINは使えないようです。
ほかの方向からのアプローチが必要なようです。

試しにWindows98でこのSDカードに直接アクセスしてみました。
結果は?

フォーマットされていません???
あれ?
お客様からのメールには「Windowsでフォーマットすると、Windowsでは使えるようになる」と書いてありました。
お客様のパソコンはおそらくWindows10...。
こちらはWindows98...。

おお。
ひょっとしたら!

Windows7でアクセスして確認してみました。

やっぱり!
NTFSでフォーマットされておりました。
Windows98ではNTFSは認識できません。
ここまでは納得、です。

あの。
マイコン独立化システムのSDカードをWindowsパソコンでフォーマットする場合にはくれぐれも「ファイルシステム」にご注意ください。
「FAT」以外の「FAT32」や「NTFS」でフォーマットすると、マイコン独立化システムのSDカードとしては正常にアクセスできなくなってしまいます。

Windows7でFATに再フォーマットしてみることにしました。

ファイルシステムとアロケーションユニットサイズを変更します。

「FAT」および「32キロバイト」を選択します。
「デバイスの規定値を復元する」をクリックしてもそのようになります。

念のため「クイックフォーマット」のチェックを外しました。

「開始」をクリックすると警告が表示されますが、「OK」をクリックします。


クイックフォーマットを外すとちょっと時間がかかります。


これで元に戻ったはず、でした。
ところが…。

logfile nd80zlog\05090838.txt open

ND80ZVに接続しました
0001 0000 - z
1000 00C3 - 
*** nd80z3 basic ****
ndwr2h.bin loaded,from E23F to E535
>dir

ERR:91 
>dir

ERR:92 
>/ld sctrd.bin,8000
loading SCTRD.BIN ...0017(23)bytes loaded,from 8000 to 8016
>jp 8000

ERR:93 
>

もう一度ND80Z3.5でDIRコマンドを実行してみたのですが、状況は何も変わっていませんでした。
とにかくDIRコマンドでエラーになってしまい、SCTRD.BINも使えないのではお手上げです。

いや。
待てよ。
以前にもう少し原始的なSDカードプログラムを作ったことがあったはず。
駄目元で試してみる価値はある...。

SDPIC2D.BINを試してみましたら。
おお。
セクタbOが読めました!
うむむ。
しかし、これではちょっと解読が困難では。

>/ld sdpic2d.bin,8100
loading SDPIC2D.BIN ...01ab(427)bytes loaded,from 8100 to 82AA
>jp 8100
FFFF01FFFF01FFFF00FFFF00FFFFFFFFFFFFFFFE
EB3C904D53444F53352E3000024008000200020000F8F0003F00FF0000000000
00D83B00800029F30C6A904E4F204E414D4520202020464154313620202033C9
8ED1BCF07B8ED9B800208EC0FCBD007C384E247D248BC199E83C01721C83EB3A
66A11C7C26663B07268A57FC750680CA0288560280C31073EB33C98A461098F7
661603461C13561E03460E13D18B7611608946FC8956FEB82000F7E68B5E0B03
C348F7F30146FC114EFE61BF0000E8E600723926382D741760B10BBEA17DF3A6
6174324E740983C7203BFB72E6EBDCA0FB7DB47D8BF0AC9840740C487413B40E
BB0700CD10EBEFA0FD7DEBE6A0FC7DEBE1CD16CD19268B551A52B001BB0000E8
3B0072E85B8A5624BE0B7C8BFCC746F03D7DC746F4297D8CD9894EF2894EF6C6
06967DCBEA030000200FB6C8668B46F86603461C668BD066C1EA10EB5E0FB6C8
4A4A8A460D32E4F7E20346FC1356FEEB4A525006536A016A10918B4618969233
D2F7F691F7F64287CAF7761A8AF28AE8C0CC020ACCB80102807E020E7504B442
8BF48A5624CD136161720B40750142035E0B497506F8C341BB000060666A00EB
B0424F4F544D4752202020200D0A52656D6F7665206469736B73206F72206F74
686572206D656469612EFF0D0A4469736B206572726F72FF0D0A507265737320
616E79206B657920746F20726573746172740D0A00000000000000ACCBD855AA
BE70
>/ld sctrd.bin,8000
loading SCTRD.BIN ...0017(23)bytes loaded,from 8000 to 8016
>jp 8000
>dm 8200,83ff
8200  EB 3C 90 4D 53 44 4F 53-35 2E 30 00 02 40 08 00  .<.MSDOS5.0..@..
8210  02 00 02 00 00 F8 F0 00-3F 00 FF 00 00 00 00 00  ........?.......
8220  00 D8 3B 00 80 00 29 F3-0C 6A 90 4E 4F 20 4E 41  .リ;...)..j.NO NA
8230  4D 45 20 20 20 20 46 41-54 31 36 20 20 20 33 C9  ME    FAT16   3ノ
8240  8E D1 BC F0 7B 8E D9 B8-00 20 8E C0 FC BD 00 7C  .ムシ.{.ルク. .タ.ス.|
8250  38 4E 24 7D 24 8B C1 99-E8 3C 01 72 1C 83 EB 3A  8N$}$.チ..<.r...:
8260  66 A1 1C 7C 26 66 3B 07-26 8A 57 FC 75 06 80 CA  f。.|&f;.&.W.u..ハ
8270  02 88 56 02 80 C3 10 73-EB 33 C9 8A 46 10 98 F7  ..V..テ.s.3ノ.F...
8280  66 16 03 46 1C 13 56 1E-03 46 0E 13 D1 8B 76 11  f..F..V..F..ム.v.
8290  60 89 46 FC 89 56 FE B8-20 00 F7 E6 8B 5E 0B 03  `.F..V.ク ....^..
82A0  C3 48 F7 F3 01 46 FC 11-4E FE 61 BF 00 00 E8 E6  テH...F..N.aソ....
82B0  00 72 39 26 38 2D 74 17-60 B1 0B BE A1 7D F3 A6  .r9&8-t.`ア.セ。}.ヲ
82C0  61 74 32 4E 74 09 83 C7-20 3B FB 72 E6 EB DC A0  at2Nt..ヌ ;.r..ワ
82D0  FB 7D B4 7D 8B F0 AC 98-40 74 0C 48 74 13 B4 0E  .}エ}..ャ.@t.Ht.エ.
82E0  BB 07 00 CD 10 EB EF A0-FD 7D EB E6 A0 FC 7D EB  サ..ヘ....}...}.
82F0  E1 CD 16 CD 19 26 8B 55-1A 52 B0 01 BB 00 00 E8  .ヘ.ヘ.&.U.Rー.サ...
8300  3B 00 72 E8 5B 8A 56 24-BE 0B 7C 8B FC C7 46 F0  ;.r.[.V$セ.|..ヌF.
8310  3D 7D C7 46 F4 29 7D 8C-D9 89 4E F2 89 4E F6 C6  =}ヌF.)}.ル.N..N.ニ
8320  06 96 7D CB EA 03 00 00-20 0F B6 C8 66 8B 46 F8  ..}ヒ.... .カネf.F.
8330  66 03 46 1C 66 8B D0 66-C1 EA 10 EB 5E 0F B6 C8  f.F.f.ミfチ...^.カネ
8340  4A 4A 8A 46 0D 32 E4 F7-E2 03 46 FC 13 56 FE EB  JJ.F.2....F..V..
8350  4A 52 50 06 53 6A 01 6A-10 91 8B 46 18 96 92 33  JRP.Sj.j...F...3
8360  D2 F7 F6 91 F7 F6 42 87-CA F7 76 1A 8A F2 8A E8  メ.....B.ハ.v.....
8370  C0 CC 02 0A CC B8 01 02-80 7E 02 0E 75 04 B4 42  タフ..フク...~..u.エB
8380  8B F4 8A 56 24 CD 13 61-61 72 0B 40 75 01 42 03  ...V$ヘ.aar.@u.B.
8390  5E 0B 49 75 06 F8 C3 41-BB 00 00 60 66 6A 00 EB  ^.Iu..テAサ..`fj..
83A0  B0 42 4F 4F 54 4D 47 52-20 20 20 20 0D 0A 52 65  ーBOOTMGR    ..Re
83B0  6D 6F 76 65 20 64 69 73-6B 73 20 6F 72 20 6F 74  move disks or ot
83C0  68 65 72 20 6D 65 64 69-61 2E FF 0D 0A 44 69 73  her media....Dis
83D0  6B 20 65 72 72 6F 72 FF-0D 0A 50 72 65 73 73 20  k error...Press 
83E0  61 6E 79 20 6B 65 79 20-74 6F 20 72 65 73 74 61  any key to resta
83F0  72 74 0D 0A 00 00 00 00-00 00 00 AC CB D8 55 AA  rt.........ャヒリUェ
>

ひょっとしたら、と思って、そのあとでSCTRD.BINを実行してみたところ、今度は読めてしまいました。
ところが。
このSDカードはおかしいじゃないの!?

SCTRD.BINはそのまま実行すると、セクタbOを読みます(SDPIC2D.BINも同じです)。
しかし。
ここで読み出された内容は、セクタbOの本来あるべき内容ではありません!
これって一体全体どういうこと?

次回に続きます。

TTLでCPUをつくろう![第901回]

2018.5.9upload

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