找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 10793|回复: 4

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:2 y, D: `/ g, u
     问题一:. H5 q( F3 y6 ~7 s' I: J
     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?& G( p6 N9 F, _  U; y) d, g
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。. P# S6 U. j% M- A
; ]' w' r2 d6 {
, X& H/ Q- h9 ]. y& `
     问题二:/ E5 }6 @- H8 r; d( e
     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?
0 h3 [' }9 S/ S0 |举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?
* k. I  @. n# ]5 m) g2 Y" a) ?1 a% `0 }% K1 @
3 G! A2 m/ Q  y6 @. w6 W
     问题三:
& P* \& S( W# U% e; G) J     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?8 W7 i, `, j* M1 ^# T
我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?+ {. R( l& S5 H. A' Q8 `( N
     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
' ?- c# h1 |4 k8 k7 w- {
( K! R- |( Z# M0 g2 k# _[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。
, k8 \  `5 ~8 s
+ R, b7 V& V1 E) W+ `  _& v+ A( H7 J) S0 `. K$ R
       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。* E, x+ r# L$ k) j1 y
7 b0 W0 {/ c( ^
但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)
% S& e9 P: O6 g8 y( ^
, b+ W. g3 T( d       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,7 s7 _3 }; O, i# P9 h
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??
% _* @  R/ d) \) q& Z0 T- D/ v6 P: v! h7 t, @7 s3 l7 G
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
. q3 O4 N1 a6 f* ~) [6 ^$ v% u/ Q$ _( ~* m# t
另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,
" S- @- M7 U9 d0 U是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"5 |" O: v) a: b0 F7 w
: i- X$ r6 r# [0 C
/ i4 \$ z% `4 x9 Y- g0 G( l
-->恩,是的
7 c3 i* t% z; K2 v! t8 F( D6 L# ^# S) H
- f, P% ]1 F) U  j. b9 v

1 F5 a4 @+ g# d不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
9 |1 R$ x, u# T1 {' D- z3 |$ t% m
-->恩,谢谢!
. U" F+ f- L: `8 Q* _( k; k& S" t+ w; ?% Y/ q& b

: n% T) i& C* W9 R" Q  [# m
  q$ d1 ~; p+ a0 Y9 ?" O4 s/ M另外,ADU读到的什么信息,你认为有错误呢? ! j+ ]( L& _( H: z: c* v$ D, X
( i- _2 w0 T8 a; b; n9 l; @

% N1 S) h0 m2 E. N-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。2 e1 j# A8 O. d! ^- j+ m
   spec 有这样的定义
9 M0 ?0 F# y- v8 s" g
9 X0 @, K" Y$ v# l9 zata6中
* o5 z# S. C$ [+ O8 _1 y- P: O' E  p+ \% `3 V: A
第85word:
$ Q. Q) V! y0 |15 Obsolete                            -------- 0! Q5 \0 \3 Q! r0 j* P5 N
14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   ) }( m/ q1 l4 V
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   ( u- n5 ?8 Z5 k2 r
12 1 = WRITE BUFFER command enabled    -------- 1      吻合
6 ]0 p1 O! G3 }; U1 i11 Obsolete                            -------- 0" L2 {4 T; l$ z) Y8 j
10 1 = Host Protected Area feature set enabled- 1      吻合8 c: O' C5 n+ M/ e' D3 {8 X4 @
9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   
$ x- E  m/ X3 F- z8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   2 v  G1 n/ Q; j; W* j5 M( A7 _
7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
' q2 c2 N( b4 ^7 o/ U& P# {6 1 = look-ahead enabled               -------- 1      吻合
) L% B) i  c5 t. E' q4 o+ D. ^: z5 1 = write cache enabled              -------- 1      吻合
3 }$ S* G( u1 y) I4 j, V/ {4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问
( X8 S2 K0 v) h* ^# g3 1 = Power Management feature set enabled      1      吻合  G+ I4 V/ v! E5 h
2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   1 D# v" L2 X' A* o, R* U( c/ k: `. B
1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   7 O2 M# [) P. v9 \2 ^
0 1 = SMART feature set enabled                    1      吻合
) d( m, G& E1 d) w
! k6 b0 r6 A7 k/ s! B% W' V那照着这个数据的话,3469H= 0011 0100 0110 1001
4 z. z' {" o, Y, c5 L) I) b* q/ @" z5 S6 @7 U4 W
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!
0 ~. ?1 A' |8 i# L2 C
; M. |. s, {! w0 {( I- |0 u4 v3 E" N! s) ^/ E+ U9 ^0 g$ m

4 H0 i4 N3 ?/ }: G, {6 N1 j
; l1 A& o, U" U6 L(*******最新*******)3 v4 ~4 c. A1 k9 x% c, @
     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。
* N4 y  Y# l( D! i     不知道各位大哥怎么理解?. v5 S/ D/ U: A- `. L6 X1 c

8 c) i, j7 K, o4 G1 t' o( r. X[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-4-20 03:47 , Processed in 0.038154 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表