The actual ROM size is 0x80000. Your ROM is twice as big as it needs to be.
There should be a checksum word at 0x7FFFE. It appears that your ROM code is probably OK, but the checksum has been changed to 0xFFFF.
Could this be sabotage?
Edit these two bytes:
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0007FFF0 FF FF FF FF FF FF FF FF FF FF FF 00 01 00 45 C7
^^^^^
Code:
Verifying Samsung SpinPoint ROM: ROM_DEFECT_trunc.bin
Calculating ROM checksums ...
Checksum for 0x000000 - 0x03FFFF = 0xCC07
Checksum for 0x040000 - 0x07FFFF = 0x6CB3
Checksum for entire ROM = 0x38BA
Checksum of Boot Block header = 0x63 - OK
Checksum of Boot Block (Actual/Expected) = 0x7173 / 0x7173 - OK
Searching for FIPS block (expected checksum = 0x0000) ...
Found FIPS text string at 0x001000
Checksum for 0x0400 byte FIPS block = 0xD542 - BAD
Checksum for 0x0800 byte FIPS block = 0xCDFA - BAD
Checksum for 0x0C00 byte FIPS block = 0x4ABD - BAD
Checksum for 0x1000 byte FIPS block = 0x0000 - OK
Found FIPS text string at 0x00A456
Checksum for 0x0400 byte FIPS block = 0xD265 - BAD
Checksum for 0x0800 byte FIPS block = 0x294B - BAD
Checksum for 0x0C00 byte FIPS block = 0xFE83 - BAD
Checksum for 0x1000 byte FIPS block = 0x9C6F - BAD
Found FIPS text string at 0x01C948
Checksum for 0x0400 byte FIPS block = 0xE1AE - BAD
Checksum for 0x0800 byte FIPS block = 0x8670 - BAD
Checksum for 0x0C00 byte FIPS block = 0x7D6C - BAD
Checksum for 0x1000 byte FIPS block = 0xB5E3 - BAD
Found FIPS text string at 0x032EDD
Checksum for 0x0400 byte FIPS block = 0xBBAE - BAD
Checksum for 0x0800 byte FIPS block = 0xB77D - BAD
Checksum for 0x0C00 byte FIPS block = 0xE02D - BAD
Checksum for 0x1000 byte FIPS block = 0x832F - BAD
Possible 0x1000 byte FIPS block at address 0x001000
Searching for FLASHTBL ...
Found FLASHTBL text string at 0x002024
Parsing FLASHTBL at 0x002000 ...
ID Byt1 Byt3 Size ROM address RAMaddrs Cksm (Exp/Act)
-----------------------------------------------------------------
00 00 FF 00000000 FFFFFFFF 00000000 N/A
01 40 FF 00000000 FFFFFFFF 00014D00 N/A
02 02 FF 00000300 00002000-000022FF FFF02000 00 49 - BAD (Note 2)
03 08 FF 00001ED8 00002300-000041D7 FFF02300 AB AB - OK
04 00 FF 00014C40 000041E0-00018E1F 00000000 18 18 - OK
05 40 FF 00002FB0 00018E28-0001BDD7 00014D00 09 09 - OK
06 00 FF 00000B60 0001BDE0-0001C93F 00080000 35 35 - OK
07 00 FF 00000384 0001C948-0001CCCB 00085C00 D7 D7 - OK
08 00 FF 00000234 0001CCD4-0001CF07 00088000 F9 F9 - OK
09 80 FF 0004C870 0001CF10-0006977F 10018000 94 94 - OK
0A 81 FF 000054B4 00069788-0006EC3B 10064870 00 DD - BAD (Note 1)
0B 00 FF 00006820 00069790-0006FFAF 900003C0 49 49 - OK
Found FLASHTBL text string at 0x0530DB
Inconsistent ID
Found FLASHTBL text string at 0x05AF93
Inconsistent ID
Searching for SERVOTBL ...
Found SERVOTBL text string at 0x071024
Parsing SERVOTBL at 0x071000 ...
ID Byt1 Byt3 Size ROM address RAMaddrs Cksm (Exp/Act)
-----------------------------------------------------------------
00 02 FF 000000C0 00071000-000710BF FFF71000 00 70 - BAD (Note 2)
01 00 FF 0000CECC 000710C4-0007DF8F 00000000 C6 C6 - OK
02 00 FF 00000F68 0007DF98-0007EEFF 00080000 80 80 - OK
Size - size of module in ROM expressed in bytes
ROM address - absolute address range of module in ROM
RAMaddrs - load point of module in RAM
Cksm (Exp/Act) - Expected Checksum / Actual Checksum
Note 1: The address range of affected module may conflict with another module,
in which case this is probably a false negative.
Note 2: If this module is the FLASHTBL or SERVOTBL, then this is most likely
a false negative.
Note 3: This may or may not be a genuinely BAD module. Examine the checksum
of the first half of the ROM. If 0x0000, then module is probably OK,
otherwise it may or may not be bad. Also examine the "adjusted"
checksum, if applicable.
Note 4: The address range of the module is outside the limits of the ROM.
Extents reported by FLASHTBL header = 0x000000 - 0x070FFF
Extents reported by SERVOTBL header = 0x071000 - 0x07FFFF
Checksum from 0 to end of SERVOTBL = 0x38BA
Checksum (adjusted for FIPS and penultimate words in SERVOTBL)
Expected / Actual = 0x0000 / 0x2FB8