Source Code
004430,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org>
004431,000002: #
004432,000003: # This file is part of yaAGC.
004433,000004:
004434,000005: # yaAGC is free software; you can redistribute it and/or modify
004435,000006: # it under the terms of the GNU General Public License as published by
004436,000007: # the Free Software Foundation; either version 2 of the License, or
004437,000008: # (at your option) any later version.
004438,000009:
004439,000010: # yaAGC is distributed in the hope that it will be useful,
004440,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of
004441,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
004442,000013: # GNU General Public License for more details.
004443,000014:
004444,000015: # You should have received a copy of the GNU General Public License
004445,000016: # along with yaAGC; if not, write to the Free Software
004446,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
004447,000018:
004448,000019: # Filename: SmallyD--SC.agc
004449,000020: # Purpose: This is code written from the flowchart on p. 46 of
004450,000021: # E-2065, which is a document titled "Block II AGC
004451,000022: # Self-Check and Show-Banksum", by Edwin D. Smally.
004452,000023: # Mod history: 07/07/04 RSB. Began.
004453,000024:
004454,000025: # Similar code was apparently originally in Luminary and/or Colossus,
004455,000026: # but much of it was removed over the course of time to make more room.
004456,000027: # I don't know what the original code was like, but the flowcharts still
004457,000028: # exist, so I've rewritten the code from the flowcharts.
004458,000029:
004459,000030: # P. 46 of Smally.
004460,000031:
004461,000032: 04,3127 37631 CA NEGONE # Smally says +2, but I think this is right.
004462,000033: 04,3130 54001 TS L
004463,000034: 04,3131 37635 CA ONE
004464,000035:
004465,000036: 04,3132 24062 INCR ERRSUB # 67
004466,000037: 04,3133 00006 EXTEND
004467,000038: 04,3134 40001 DCS A
004468,000039: 04,3135 67635 AD ONE
004469,000040: 04,3136 00006 EXTEND
004470,000041: 04,3137 13141 BZF +2
004471,000042: 04,3140 03212 TC DSCERROR
004472,000043: 04,3141 30007 CA ZEROES
004473,000044:
004474,000045: # The following assumes that c(Q)==3 from previous RETURNs. In
004475,000046: # fact, it contains -1 from previous tests, as there have been
004476,000047: # no intervening returns. So we'll fix that:
004477,000048: 04,3142 13144 TCF +2
004478,000049: 04,3143 00002 RETURN
004479,000050: 04,3144 03143 TC -1
004480,000051: 04,3145 24062 INCR ERRSUB # 70 octal
004481,000052: 04,3146 52002 DXCH L
004482,000053: 04,3147 67633 AD NEGTHREE
004483,000054: 04,3150 00006 EXTEND
004484,000055: 04,3151 13153 BZF +2
004485,000056: 04,3152 13212 TCF DSCERROR
004486,000057: 04,3153 10001 CCS L
004487,000058: 04,3154 13212 TCF DSCERROR
004488,000059: 04,3155 13160 TCF +3
004489,000060: 04,3156 13212 TCF DSCERROR
004490,000061: 04,3157 13212 TCF DSCERROR
004491,000062: 04,3160 30002 CA Q
004492,000063: 04,3161 67631 AD NEGONE
004493,000064: 04,3162 00006 EXTEND
004494,000065: 04,3163 13165 BZF +2
004495,000066: 04,3164 13212 TCF DSCERROR
004496,000067:
004497,000068: 04,3165 37631 CA NEGONE
004498,000069: 04,3166 54002 TS Q
004499,000070: 04,3167 37635 CA ONE
004500,000071:
004501,000072: 04,3170 24062 INCR ERRSUB # 71
004502,000073: 04,3171 00006 EXTEND
004503,000074: 04,3172 30002 DCA L
004504,000075: 04,3173 67635 AD ONE
004505,000076: 04,3174 00006 EXTEND
004506,000077: 04,3175 13177 BZF +2
004507,000078: 04,3176 13212 TCF DSCERROR
004508,000079: 04,3177 30001 CA L
004509,000080: 04,3200 67635 AD ONE
004510,000081: 04,3201 00006 EXTEND
004511,000082: 04,3202 13204 BZF +2
004512,000083: 04,3203 13212 TCF DSCERROR
004513,000084: 04,3204 30002 CA Q
004514,000085: 04,3205 67635 AD ONE
004515,000086: 04,3206 00006 EXTEND
004516,000087: 04,3207 13211 BZF +2
004517,000088: 04,3210 13212 TCF DSCERROR
004518,000089:
004519,000090: 04,3211 13213 TCF +2
004520,000091: 04,3212 07437 DSCERROR TC ERRORDSP
004521,000092:
End of include-file SmallyD--SC.agc. Parent file is ValidateSmally.agc