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

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:# b) Z! l( K6 \1 {. g
     问题一:
* O# A. n' b: g8 L0 I8 c, t% l     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?% n! u2 K: X  O6 Q
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。
8 r, ]; `# A7 H$ x# p; W6 f
; O! r4 ~) u8 y% G& [$ M2 C* p
6 W; t. u! u) d( J: y     问题二:7 i0 R# R9 V" V, }3 F8 G9 R" q
     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?
$ g, q: a% s6 b; ?/ p3 V举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?; K5 X: g; e4 {: @5 s" Z( z  F) C

$ W! }9 d1 r. q7 l" V1 M3 l, f
     问题三:3 o9 o5 y3 ?9 s) V; K7 f9 Y4 V
     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?
4 J$ V: b$ Z4 t2 D$ A" p# P$ z我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?
) H/ a& ]) G0 g. L6 K     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)% U$ L/ o1 j2 E" `  M+ g
4 E9 H2 W' O1 {8 ^" Z  c
[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。& }5 E1 L" V: q3 Q
8 U; L( D5 e( @: C
3 |" h6 \( \/ m1 ~7 ]; W4 t
       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。
0 R: N& Z( c5 u9 n& r! X+ u
. e& }; p( C2 A6 d* ~" V# O但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)1 y, E: n& z, a5 ~" m1 i( {9 X% I

+ G0 Y$ S' f7 n5 _: h4 V5 j/ W       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,- `7 t5 D" B" M4 V8 e
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??& x0 r) ?  w; [2 t5 [

, ~2 V# c( j, `! e不知道硬盘firmware里面是怎么存放的,反正是按word来读的。* F% O. ~6 A" W6 Z+ T- j

9 Z+ b( k9 N  j6 g另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,
6 ]& l! G( q0 f8 o是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??": z: y9 p7 s/ N4 _8 C2 \8 a/ m9 {
0 v! v3 v0 r- |$ V( g5 v, @
. W1 W; ?$ L) g& n+ w
-->恩,是的* E9 d4 O  f- w$ l2 U# P
( d; K- ^! X; d5 I2 {4 n( d

, A7 D; E1 W$ l8 l+ e% q, ]. K  d
: k  B6 I6 B: R: u  g' X, i1 Y  b不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
! u! B6 @: X! T' Q7 f1 C. ]- k
7 X7 A6 ?+ O  |! o; R3 \-->恩,谢谢!
- ~; Q+ H" o* x( m2 T* P
! S$ s) h: P8 o6 s4 T. M# B  ^- f+ d9 t7 q

5 v7 p0 T3 o% [' L1 _# j* X7 z+ q# J另外,ADU读到的什么信息,你认为有错误呢? 6 c9 g6 }5 z) a

9 ]1 i' v3 Y) k4 _4 ]8 ]5 f7 h: g9 d: P( U3 k
-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。
& H6 A+ v7 |6 g) n3 L- N2 W+ z   spec 有这样的定义+ R% g2 [. p5 h: @

9 O4 u. p9 \' C: L% w4 uata6中3 Q+ h6 }3 c/ ^% b4 @- k; G

6 `4 B# T4 U- T+ \( u第85word:2 [, q' f# m/ f  j: t
15 Obsolete                            -------- 0) a' p% v* S: M9 h: u' o1 b# W( \2 S
14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   & W% x+ q! A( u) i
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   
2 n) h' n0 p+ J, j3 i  h. O: Y12 1 = WRITE BUFFER command enabled    -------- 1      吻合$ T4 c% p5 E( i& a  `  o+ N
11 Obsolete                            -------- 0* r8 X: A/ ~+ e
10 1 = Host Protected Area feature set enabled- 1      吻合
& L6 \2 g: k) R+ A# \3 O8 ~9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   " f4 @, ^! k  p" ~# N
8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   1 C+ E6 @" _4 w5 ?
7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
& ?" D; ], t5 X. Z5 J6 1 = look-ahead enabled               -------- 1      吻合
* K1 H  d  d& {5 1 = write cache enabled              -------- 1      吻合
" U# S9 g# F1 d% [7 K" O4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问7 l( v  Y) r8 g* S
3 1 = Power Management feature set enabled      1      吻合# G" K! l! O7 p0 h1 \$ Q% W
2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   
* F$ {3 D4 z, v7 Z( n+ v1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   & F. n' D4 _! y( e, d6 b1 L2 t1 q
0 1 = SMART feature set enabled                    1      吻合' m3 p4 |  c( |

: q# L3 _- j6 {5 a那照着这个数据的话,3469H= 0011 0100 0110 1001' P3 K9 B4 x) I" g) f+ U/ \
; |9 Z& X; F2 W- ^; G
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!. h- o# Q8 z# l9 j

2 @9 r. Z3 G  _& f8 W% z; X# J5 \# S- T& M8 ~- Y
3 U* P, c3 |" n7 h; y

$ d1 p# Y" \; r(*******最新*******)/ S- y0 X, `& e. m; ~* W
     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。
$ }3 B' Q" n& Q: G5 g3 P/ s, t     不知道各位大哥怎么理解?' e7 {0 o6 h) f% R' D4 S0 n3 A; c
, G% r4 O9 `# F6 ~7 e
[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 08:33 , Processed in 0.061175 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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