@ROb, your ROM is divided in two halves which are, for the most part, copies of each other. There are a few minor differences. Some of these differences appear to be genuine while others appear to reflect an attempt to edit various parameters including the serial and model number.
Here are the two headers. Their 16-bit checksums are 0x0000.
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 A1 0A 00 00 E8 04 00 00 00 00 00 00 B8 B3 04 00 ¡...è.......¸³..
00000010 63 73 69 44 00 00 88 3E 48 47 00 00 20 FF FF FF csiD..ˆ>HG.. ÿÿÿ
00040000 A1 0A 00 00 E8 04 00 00 00 00 00 00 97 BF 04 00 ¡...è.......—¿..
00040010 63 73 69 44 00 00 A9 32 48 47 00 00 20 FF FF FF csiD..©2HG.. ÿÿÿ
Next follows an index of ROM modules. Each half of the ROM has an identical index.
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000020 16 48 00 00 15 50 00 00 0E 50 02 00 10 E0 04 00
00000030 06 00 00 02 04 10 84 02 05 20 86 02 03 38 D2 02
00000040 0B 38 EA 03 00 38 FB 03
Here is the structure of the ROM modules according to the index:
Code:
ID Start Loc Description
---------------------------------------------------------------------------------------
16 0x48 data
15 0x50 data/code -- differs from copy #2
0E 0x250 data
10 0x4E0 code
06 0x20000 Read Adaptive Parameters (RAP)
04 0x28410 Controller Adaptive Parameters (CAP) - serial number, model number, DOM
05 0x28620 Servo Adaptive Parameters (SAP)
03 0x2D238 code
0B 0x3EA38 data/code
00 0x3FB38 end of ROM modules in first half of ROM
16 0x40048 data
15 0x40050 data/code -- differs from copy #1
0E 0x40250 data
10 0x404E0 code
06 0x60000 Read Adaptive Parameters (RAP)
04 0x68410 Controller Adaptive Parameters (CAP) - serial number, model number, DOM
05 0x68620 Servo Adaptive Parameters (SAP)
03 0x6D238 code
0B 0x7EA38 data/code
00 0x7FB38 end of ROM modules in second half of ROM
Module #15 differs in each half of the ROM, but I believe these differences to be OK.
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000050 62 00 01 00 FF FF FF 7F 00 00 00 00 00 00 00 00 b...ÿÿÿ.........
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000090 00 00 00 00 00 00 00 00 A0 00 02 00 FF FF FF 7F ........ ...ÿÿÿ.
00040050 62 00 01 00 FF FF FF 7F 17 06 03 13 C0 00 00 00 b...ÿÿÿ.....À...
00040060 80 4F 00 00 00 28 11 04 00 00 08 00 0B 21 02 00 €O...(.......!..
00040070 18 04 44 12 04 18 11 20 08 00 00 00 00 00 00 00 ..D.... ........
00040080 00 00 00 00 44 12 00 00 00 00 00 00 00 00 00 00 ....D...........
00040090 00 00 00 00 00 00 00 00 A0 00 02 00 FF FF FF 7F ........ ...ÿÿÿ.
The corruption appears to be in the CAP and SAP modules. There are no differences in any other modules.
Here is the only difference in the SAP copies:
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00028650 36 59 44 30 53 39 35 34 6YD0S954
00068650 35 59 44 36 33 58 51 44 5YD63XQD
Here are the CAP modules:
S/N = 5YD03XQD, Model = ST2000DL001-9VT156, DOM = 06102011
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00028410 00 00 08 00 00 34 04 40 20 00 00 00 35 59 44 30 .....4.@ ...5YD0
00028420 33 58 51 44 30 30 30 30 4B 32 31 30 34 38 30 37 3XQD0000K2104807
00028430 FF FF FF FF FF FF FF FF FF FF 06 01 50 00 C5 00 ÿÿÿÿÿÿÿÿÿÿ..P.Å.
00028440 44 35 68 BC 4F 02 FF FF FF FF FF FF FF FF FF FF D5h¼O.ÿÿÿÿÿÿÿÿÿÿ
........
000284E0 FF FF FF FF FF FF FF FF 30 36 31 30 32 30 31 31 ÿÿÿÿÿÿÿÿ06102011
000284F0 03 FF FF FF FF FF FF FF FF FE 00 00 53 54 32 30 .ÿÿÿÿÿÿÿÿþ..ST20
00028500 30 30 44 4C 30 30 31 2D 39 56 54 31 35 36 20 20 00DL001-9VT156
00028510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00028520 20 20 20 20 53 54 32 30 30 30 44 4C 30 30 31 2D ST2000DL001-
00028530 39 56 54 31 35 36 20 20 20 20 20 20 20 20 20 20 9VT156
00028540 20 20 20 20 20 20 20 20 20 20 20 20 B0 88 E0 E8 °ˆàè
00028550 FF FF FF FF 00 02 FF FF FF FF FF FF FF FF FF FF ÿÿÿÿ..ÿÿÿÿÿÿÿÿÿÿ
........
00028610 FF FF FF FF FF FF FF FF EF 81 00 00 00 00 00 00 ÿÿÿÿÿÿÿÿï.......
S/N = 6YD0S954, Model = ST2000DL003-9VT166, DOM = 06052011
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00068410 00 00 08 00 00 34 04 40 20 00 00 00 36 59 44 30 .....4.@ ...6YD0
00068420 53 39 35 34 30 30 30 30 4B 31 34 37 4C 4D 39 30 S9540000K147LM90
00068430 FF FF FF FF FF FF FF FF FF FF 06 01 50 00 C5 00 ÿÿÿÿÿÿÿÿÿÿ..P.Å.
00068440 37 97 6B A6 4F 02 FF FF FF FF FF FF FF FF FF FF 7—k¦O.ÿÿÿÿÿÿÿÿÿÿ
........
000684E0 FF FF FF FF FF FF FF FF 30 36 30 35 32 30 31 31 ÿÿÿÿÿÿÿÿ06052011
000684F0 03 FF FF FF FF FF FF FF FF FE 00 00 53 54 32 30 .ÿÿÿÿÿÿÿÿþ..ST20
00068500 30 30 44 4C 30 30 33 2D 39 56 54 31 36 36 20 20 00DL003-9VT166
00068510 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00068520 20 20 20 20 53 54 32 30 30 30 44 4C 30 30 33 2D ST2000DL003-
00068530 39 56 54 31 36 36 20 20 20 20 20 20 20 20 20 20 9VT166
00068540 20 20 20 20 20 20 20 20 20 20 20 20 B0 88 E0 E8 °ˆàè
00068550 FF FF FF FF 00 02 FF FF FF FF FF FF FF FF FF FF ÿÿÿÿ..ÿÿÿÿÿÿÿÿÿÿ
........
00068610 FF FF FF FF FF FF FF FF EF 81 00 00 00 00 00 00 ÿÿÿÿÿÿÿÿï.......
ISTM that the solution is to repair the SAP and CAP and then recalculate checksums, if necessary.