Ahhh - thanks a lot, flyte.
At least for the TIMEKEEPER that did the job.
All checksums are reported to be VALID but the SRAM ones are 0x00 - so maybe unchecked / invalid.
The SRAM content also still differs significantly between floppy tool and tektool_0 - but maybe that doesn‘t matter...
Where does the checksum tool derive the firmware versions from?
My scope is an early TDS754D (B02xxxx) (upgraded to TDS784D) having firmware 6.6e (which I also dumped and checked against an original firmware 6.6e image found it‘s matching) but the checksum tool reports something like
checking the calibration eeprom: firmware prototype acqEEPROM-TDS784D-v7.4e_TDS784C-v5.2e
checking the TIMEKEEPER: firmware prototype NVRAM-TDS784D-v7.4e
checking the SRAM: firmware prototype TDS524A-v3.8.7e - but all checksums are 0x00
Are you able to explain this, please?
I‘m also not sure how writing new NVRAMs may work using the floppy tool because if your NVRAMs are dead and you had the need to replace them with new ones the scope does not boot to the point where the floppy tool gets started. Am I wrong?
You shouldn't split the NVRAM dumps. The checksum verifier expects the RTC NVRAM (first) and main NVRAM (2nd) to be in one dump as they appear in memory. Not that it really matters much, as all important cal data is stored in RTC, the other NVRAM is just there for waveform and settings storage. But it never hurts to back it up.
The checksum verifier tool derives the firmware versions based on a guess. It verifies all known checksummed sections (listed), and if it finds one particular set where all checksums match, it considers the NVRAM must be valid and originating from that particular FW version. As I said, over all scopes I've identified 5 different key firmware versions based on the structure of the NVRAM. The tool will only report one of those prototypes if valid, which is not necessarily the actual firmware on the scope, albeit one close to it. As mentioned, the tool may output a valid match/checksum if it accidentally matches the garbage data, usually when 0x00. This can't be fixed, as it may actually be a valid checksum value in some cases. It's mainly because Tektronix chose a very weak checksum, a simple addition, if one can call this a checksum at all.
If the NVRAMs are empty, the scope will initialize them with firmware default values (it's not calibration defaults for the average scope, see previous message!). After 1-2 restarts, it will boot with these default values, but measurement will be completely off or even impossible. But it will boot and that's enough for the script to run!
So, in the end, which was the problem with the bad dump? Bad floppy? GPIB/console port attached?