Offset 0x30 appears to be some kind of count or size value. If module 0x148 is a log or "to do list", then it could be that this dword reflects the size of the list, in which case the default (?) value of 0x81 would imply that there is nothing to do (ie no active background tasks ?).
Code:
Offset(h) 00 04 08 0C 10 14
00000030 AB010000 00000000 - before
00000030 81000000 00000000 - after
00000030 81000000 00000000 - WD30EZRX - Diablo 3D
The next section appears to be a table of LBA regions, as described previously. Since the number of regions is the same for the 1TB and 3TB models, they cannot be related to the number of heads.
Strangely, there are differences in the before-and-after tables, which would imply (to me at least) that Ace is replacing the module with a template rather than modifying the module itself. If so, then I'm wondering whether this produces undesirable results? The "template" is very similar to the 3TB example.
148-Before Function Applied.rpmCode:
Offset(h) 00 04 08 0C 10 14
00000030 00806700 00000000 01000000 00000000
00000048 00000000 00000000 01806700 00000000 90149306 00000000 *
00000060 191D0000 07000000 9194FA06 00000000 34C31105 00000000 *
00000078 A1050100 07000000 C5570C0C 00000000 88AF4917 00000000
00000090 29EE0100 07000000 4D075623 00000000 88AF4917 00000000
000000A8 17850300 01000000 D5B69F3A 00000000 88AF4917 00000000
000000C0 9F6D0400 01000000 5D66E951 00000000 5387EE22 00000000
000000D8 27560500 01000000 ----------------- ^^^^^^^^^^^^^^^^^
*****************
+0xE888 current 08 = previous 08 + previous 10
148-After Function Applied.rpmCode:
Offset(h) 00 04 08 0C 10 14
00000030 00806700 00000000 01000000 00000000
00000048 00000000 00000000 01806700 00000000 E26BD205 00000000 *
00000060 08000000 00000000 E3EB3906 00000000 E26BD205 00000000 *
00000078 90E80000 00000000 C5570C0C 00000000 88AF4917 00000000
00000090 18D10100 00000000 4D075623 00000000 88AF4917 00000000
000000A8 A0B90200 00000000 D5B69F3A 00000000 88AF4917 00000000
000000C0 28A20300 00000000 5D66E951 00000000 5387EE22 00000000
000000D8 B08A0400 00000000 ----------------- ^^^^^^^^^^^^^^^^^
*****************
+0xE888 current 08 = previous 08 + previous 10
Adding the region sizes in column 10 gives ...
0x06931490 + 0x0511c334 + (3 x 0x1749af88) + 0x22ee8753 = 0x74706DAF
0x74706DAF x 512 bytes = 1.000 TB
Edit:
Column 04 is non-zero in the "before" module. I don't know what this means.