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

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:; _' J7 S# N- }' W+ u8 P! W) X7 ]
     问题一:
* Y, V! k+ o+ u7 X$ I     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?2 J6 ?% I: i2 Z! U7 j
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。
1 b0 S8 c4 g0 J
+ P: ~  |3 {0 P( L* d% a+ W, @% _& p' R4 w% [& K4 H
     问题二:
8 `" B3 `! k3 u4 e     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?
( @) F; P/ C2 _( }$ ?2 R! U$ ?举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?! ^: f/ X* [/ q& Y* |0 a- Z  E

9 c: q, f  r% ?8 m! m
- ~; s1 B1 j* P+ Q* k     问题三:
+ _- I1 Z  h' h! M! B     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?
! l' m7 n$ N6 |' [我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?  M+ [  d3 f  S
     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
8 _3 `! ~9 d# m' c+ G
$ Y7 k* ]0 `6 i$ a2 x. ^[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。
8 q; F; Q* b' k! p; C* m8 s, {3 Y# G2 V. f0 y% o

: [. ^" U% l  n1 o7 l2 y' n       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。
! _$ _% ?- N) M
( D4 n5 `) J- O/ H5 R9 ~0 D/ }, q6 `但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)
- W8 I7 q( S9 D( m; K7 B
1 m' F9 `% M) R, }$ D$ l       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,
! }2 P. |9 B9 {$ @' K' J是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??7 {  ]; n, k  _% t, U4 d; U. N
' c) Y; I1 t5 d/ V" H! r7 E( L
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
( |! i4 M/ s$ O- {5 s) K/ i# y( Y- S  G% z9 V! g
另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,
0 p/ v* f7 ?# n: m( P% k是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"
2 {0 z% m7 G! q7 f6 p; C$ G9 G$ g0 W) g. c  J- I6 K0 f1 d2 Q

4 j. S3 q" q8 g  ]-->恩,是的# z" o1 H& O9 {
0 D" v% `' O8 ]% Y: z$ j  S

5 a- _/ }) U: T( S2 |/ s$ w& ^$ J
: a4 P+ Z; t8 T0 s; O/ C! E' L- `不知道硬盘firmware里面是怎么存放的,反正是按word来读的。% ]' ]; e/ ]) R7 J
  u+ L  T2 X/ m% ?
-->恩,谢谢!
4 Y2 W! ^: E( m( r% v' T) ?9 I3 R7 h- N$ }+ Z# C

% f5 b& G2 E* [2 J; H" O
) |& N; X& u+ c, N: `另外,ADU读到的什么信息,你认为有错误呢? ( y$ o# O4 Y8 Y& `( z4 F

# F% Z7 E2 R, e4 M: t
9 `& G' V3 p( H' e+ `% v! \. A-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。' Q; ?- @' f' V" r" I' O0 @7 }
   spec 有这样的定义
4 \, P. j/ G2 {$ J
3 i5 x) m, v4 w! m, Vata6中
6 r2 l8 V) F0 a" J: Y% j
1 r1 P3 \& Y7 l' a第85word:; R" a) }& \3 j
15 Obsolete                            -------- 0$ B0 G& p7 D( d- w
14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   # L/ y2 `1 _7 k4 t1 g5 W0 l
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   3 i# X2 x* ~7 ?/ p2 E
12 1 = WRITE BUFFER command enabled    -------- 1      吻合5 C: c2 }7 U7 C/ P% ~: h
11 Obsolete                            -------- 0
/ c: j. c9 U* Z/ ]8 [) r/ z! B10 1 = Host Protected Area feature set enabled- 1      吻合
9 p1 Z- z, }& C- V9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   
3 |, H0 Y, Y  s+ M8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   . w: `% \7 |6 X$ W! \
7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
* `7 P( L- \4 B& S) [/ O! n5 h6 1 = look-ahead enabled               -------- 1      吻合2 O, Z5 F/ c+ b0 ^7 K# ?6 d) v
5 1 = write cache enabled              -------- 1      吻合
# D& A% `) j, _; `3 r4 ?4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问4 m' C6 x- d6 Z9 o" E
3 1 = Power Management feature set enabled      1      吻合
, L: L. l/ R3 X% [! S6 d; K% Q2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   8 I. ~& T8 k% ?# ^& U0 B
1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   
. s- y0 i& K( M4 }* C+ W# _! {0 1 = SMART feature set enabled                    1      吻合+ o2 |* P- ]4 p0 X

) c1 h% z6 P' W3 B- L; `8 U那照着这个数据的话,3469H= 0011 0100 0110 1001
# d9 s2 }! r: C+ t, @: B0 f8 X/ X$ A5 M) |# y
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!: `% X. |$ U2 Z" u5 B6 z4 S1 T  I' r

; {# f4 O8 Z# T/ A$ O% u$ U' v, }* z6 B: p
3 S# w( ]* Q( n

; l; U& {1 _1 j' R- K(*******最新*******)
/ U! L8 \0 S. Z% o/ t     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。% O( e: L3 ~$ W! b6 q
     不知道各位大哥怎么理解?
, w; T2 c% `/ d4 g7 ~, ]  ~+ V- r% N( [( d# `
[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 17:48 , Processed in 0.027099 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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