S.L.Freeland SXTE-U Flight Software Patch to FM Revision 3.74 November 24, 1991 This patch extends the SXTE-U Watchdog Command functions to include a generation and comparison of the checksum table for SEU code corruption detection. All numbers are HEX unless exlicitly stated otherwise. 1. Set RAM Patch Address to 5700 and load 34 (decimal) byte routine. (consecutive data bytes ordered below for functional description) BC 83 57 00 22 ; New routine start address = 5700 & nbytes=34(decimal) 11 60 4F ; Where to place checksum table (Address 4F60) CD 69 00 ; Call Checksum-Table! (generate checksum table) 01 10 0E ; Use Warm-Checksum Error Flag & Compare 14 Checksums 11 41 4F 21 71 4F ; Load Parameters for Checksums RAM 4100-4EFF CD ED 40 ; Call Checksum-Check 01 10 01 ; Use Warm-Checksum Error Flag & Compare 1 Checksum 11 57 4F 21 87 4F ; Load Parameters for Checksum RAM 5700-57FF CD ED 40 ; Call Checksum-Check CD FE 46 ; Call Watchdog (existing routine still executed) C9 ; Return 2. Update Watchdog call address within Command Interpreter to reference the new routine BC 83 49 FC 02 00 57 ; New watchdog routine address is 5700 3. Update Comparison Checksum Table to reflect new patch data BC 83 4F 49 01 6F ; Update checksum for 4900-49FF (Address Change) BC 83 4F 57 01 C9 ; Update checksum for 5700-57FF (New Routine) ------------------------- end of patch ---------------------------------------- Operational Notes: After the patch is in place, a command write (using any data) to the SXTE-U Watchdog mailbox address (24) will cause a generation of a new checksum table and a verification of that table. Any non-comparisons would be indicated by setting (to 1) of the existing Warm-Checksum flag in SXTE-U Error Word 2. The full exection time of the new routine is under four milliseconds (ie very much less than a minor frame at high bit rate). *** Real Time Operation (SXT Control Manual) BC 84H 24H 00H --- Verify Warm-Checksum Bit is Clear (no error) ---- *** Proposed Automatic Operation (SXT Control Auto) Since the same error flag is used as currently defined for Warm-Checksum error (SXTE-U Error Code 2, Bit E), it is anticipated that the current SXTE-J/DP error detection/action software might be slightly modified to allow for automatic SXTE-U RAM corruption detection as follows: [Ref: SXTE-J FM SW Design Doc, Rev 4.2, page 109] 1. Update SXTE-J/DP Error Action, Mailbox Error Code 2: Bit E To automatic error control ON, Auto Error Control Sequence = 3. 2. Replace current Morning Task Readback command write (address: 023) with a Watchdog Command write (address: 024). This combination would provide a checksum generation/verificiation every Night to Day transition (~15/day) and would toggle SXT control from auto to manual if the SXTE-U error flag is set which is the action of choice. (If suggested SXTE-J/DP change 2. requires redefining the SXTE-U watchdog command action from (increment current contents) to (echo command data) in order to pass a readback test, this is easily accomplished with a minor modification to the SXTE-U SW). Regards, Sam.