I think part of the problem here is the ROMs I'm using. The disassembled checksum routine that I commented up is from the 256kiB Mac SE ROM (68000) and I'm trying to do the actual checksum on the "known good" 512kiB IIfx ROM (68030), which adds extra variables to this experiment. Both size and architecture are different...
What I find interesting is that D3 (the loop counter) is 1/4 the size of the IIfx ROM (~128k), as one might expect, but it's 1/2 the size of the SE ROM, which suggests that it's taking 2 bytes at a time, i.e. 16-bit, which puzzles me. Modifying my dirty checksum program to accommodate this, I do not come up with the correct checksum. The sum is not ever big enough even to loop all 32-bits and it's quite less than the recorded checksum. So that does not look good.
If anyone could take a fresh pair of eyes to this and try to find any discrepancies to my commented code, that would be appreciated.
What I find interesting is that D3 (the loop counter) is 1/4 the size of the IIfx ROM (~128k), as one might expect, but it's 1/2 the size of the SE ROM, which suggests that it's taking 2 bytes at a time, i.e. 16-bit, which puzzles me. Modifying my dirty checksum program to accommodate this, I do not come up with the correct checksum. The sum is not ever big enough even to loop all 32-bits and it's quite less than the recorded checksum. So that does not look good.
If anyone could take a fresh pair of eyes to this and try to find any discrepancies to my commented code, that would be appreciated.