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

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:( c  U7 K& j+ X  j; ]
     问题一:
. l2 E* n5 G' |     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?- f8 S3 H0 R* _( y. ^8 k
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。
, S6 i2 s9 U: h6 B! q2 g
" e% `* z6 n' Y! w  e/ J, l; y6 q3 F
     问题二:5 X! @! y$ J/ Q* }% M' r0 `
     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?9 h- k% r- M, U
举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?
' I# F6 @$ ~/ U& H1 n! B. z$ G5 m* U, e' L( t( j6 \

5 z5 C5 g5 z9 |/ F' ~0 t2 X     问题三:- K, Y0 R! d2 N9 v: U$ Q9 d  j
     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?4 |" P$ \0 p/ a/ ^) Z
我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?7 E. M9 }! h6 |( T
     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
" B9 t( L. a4 r! \& L: y* N/ h  k) {6 _" c0 ^4 @; V# Q' O! B
[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。- b5 Z6 e# y- e9 ]" B& {

, k- j; e5 V2 k1 O1 g7 }7 R3 Q; O$ J$ W4 C, Y. y
       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。( g6 n/ u: u- ^8 `8 k1 }, Y* Q2 Y- C$ r

  f. H/ c% h& V+ h- s  x2 m: q. r但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)
# g! Y6 o- `  [' x2 F
. M$ M9 \, |, {1 z       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,8 ~  l3 J7 n5 \3 I# z
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??
$ j- Y+ Q8 C8 h+ v% n1 B) k$ t# s5 [" l
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
4 t% ^, D' m- u' q6 Z
! W0 c% e" D- Y& u. C8 ?另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息," I  w& s- t( M2 _
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"9 z+ Y( S4 h3 w" V8 y4 A
& r- Y  B% ?3 k& s9 _

" v( G0 k% y2 L5 d3 f  d/ M-->恩,是的
" G: N+ u( w6 x6 o7 U  k# |$ j' l& H8 P4 Y# u- b) E' S  K) u

! x- S* i/ R( @( l( x8 @" R% Z: D1 W1 [" u# e1 x& u
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。3 S/ f& W0 g( \  P/ ~! Z
! `( @3 v# R; {' \
-->恩,谢谢!* t  O1 v" H5 I2 B& v# t7 A

0 ^+ o0 a( M# m& F& d( E
( l! r  h1 l& i* `- B+ p* C, u1 [, t2 F8 N" b- B/ T8 K
另外,ADU读到的什么信息,你认为有错误呢? " N; l) O- Z* D' S, A/ @. N) j  a
* t) ^& B' a$ p, d( x0 p
$ C! n4 @, g5 m
-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。
; e1 f- V& H5 D& Y   spec 有这样的定义6 U9 p) |( w! {  c- O5 V7 B' F

* Y; L, Y# M  v# Bata6中
% K$ }& n& C/ [- ?
, V! P) \# L* L! r  `. Y第85word:
5 C- m3 A# d$ V9 U* }: S: |15 Obsolete                            -------- 0
8 y4 L0 Y/ J4 n4 B4 _! c14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   : Z! t* g# R7 f2 K0 z8 r
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   ) A+ w' ?4 b% |$ V& G# P
12 1 = WRITE BUFFER command enabled    -------- 1      吻合
& @) ^. O  {. ?, o* H9 e11 Obsolete                            -------- 0  P7 A: @3 ?/ C7 V
10 1 = Host Protected Area feature set enabled- 1      吻合
; }1 K& `8 p7 h) ?) s5 P, Q9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   
: H; r0 M! u/ z) u" I8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
. D# P5 Q) i& J- k* c5 \9 Z; q7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
* ?7 a/ X& p  d3 O# Q6 1 = look-ahead enabled               -------- 1      吻合% V: r" Q2 X4 @+ t1 J
5 1 = write cache enabled              -------- 1      吻合6 d1 T; |* e/ x$ y, I( t
4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问
  @2 V, Y: x4 ]  l' z  {8 k3 1 = Power Management feature set enabled      1      吻合* I9 v  p7 ]( \, I# v/ h# e
2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   
6 i7 p+ K$ G8 `1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   
- L+ }& U" v* G4 E: [0 1 = SMART feature set enabled                    1      吻合! j$ F/ q+ \' w# X$ ~% R3 B( _1 e

2 K/ i$ Q. H9 Q5 w4 m那照着这个数据的话,3469H= 0011 0100 0110 1001
# a2 y1 N- x* \1 ?! v1 L" l8 m/ E, T5 e: c4 l, r
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!
; s' z% U% D+ U
+ A2 j$ \. o' u1 w- C8 a9 N7 n
3 G' n+ [7 L/ C1 w7 C6 a. {1 |: S1 N8 Q

3 s/ t1 ^0 F6 F6 |$ ~  y(*******最新*******)1 L7 T' X5 n, i# ?( q
     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。
1 o6 Q- h5 Y' m' T" v     不知道各位大哥怎么理解?, W) f. y' B% s* X$ R; p

7 V% Z( N+ Q/ Z7 S+ }[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-23 10:55 , Processed in 0.035503 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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