Source Code
004230,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org>
004231,000002: #
004232,000003: # This file is part of yaAGC.
004233,000004:
004234,000005: # yaAGC is free software; you can redistribute it and/or modify
004235,000006: # it under the terms of the GNU General Public License as published by
004236,000007: # the Free Software Foundation; either version 2 of the License, or
004237,000008: # (at your option) any later version.
004238,000009:
004239,000010: # yaAGC is distributed in the hope that it will be useful,
004240,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of
004241,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
004242,000013: # GNU General Public License for more details.
004243,000014:
004244,000015: # You should have received a copy of the GNU General Public License
004245,000016: # along with yaAGC; if not, write to the Free Software
004246,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
004247,000018:
004248,000019: # Filename: SmallyD--SC.agc
004249,000020: # Purpose: This is code written from the flowchart on p. 46 of
004250,000021: # E-2065, which is a document titled "Block II AGC
004251,000022: # Self-Check and Show-Banksum", by Edwin D. Smally.
004252,000023: # Mod history: 07/07/04 RSB. Began.
004253,000024:
004254,000025: # Similar code was apparently originally in Luminary and/or Colossus,
004255,000026: # but much of it was removed over the course of time to make more room.
004256,000027: # I don't know what the original code was like, but the flowcharts still
004257,000028: # exist, so I've rewritten the code from the flowcharts.
004258,000029:
004259,000030: # P. 46 of Smally.
004260,000031:
004261,000032: 04,3127 37424 CA NEGONE # Smally says +2, but I think this is right.
004262,000033: 04,3130 54001 TS L
004263,000034: 04,3131 37430 CA ONE
004264,000035:
004265,000036: 04,3132 24062 INCR ERRSUB # 67
004266,000037: 04,3133 00006 EXTEND
004267,000038: 04,3134 40001 DCS A
004268,000039: 04,3135 67430 AD ONE
004269,000040: 04,3136 00006 EXTEND
004270,000041: 04,3137 13141 BZF +2
004271,000042: 04,3140 03212 TC DSCERROR
004272,000043: 04,3141 30007 CA ZEROES
004273,000044:
004274,000045: # The following assumes that c(Q)==3 from previous RETURNs. In
004275,000046: # fact, it contains -1 from previous tests, as there have been
004276,000047: # no intervening returns. So we'll fix that:
004277,000048: 04,3142 13144 TCF +2
004278,000049: 04,3143 00002 RETURN
004279,000050: 04,3144 03143 TC -1
004280,000051: 04,3145 24062 INCR ERRSUB # 70 octal
004281,000052: 04,3146 52002 DXCH L
004282,000053: 04,3147 67426 AD NEGTHREE
004283,000054: 04,3150 00006 EXTEND
004284,000055: 04,3151 13153 BZF +2
004285,000056: 04,3152 13212 TCF DSCERROR
004286,000057: 04,3153 10001 CCS L
004287,000058: 04,3154 13212 TCF DSCERROR
004288,000059: 04,3155 13160 TCF +3
004289,000060: 04,3156 13212 TCF DSCERROR
004290,000061: 04,3157 13212 TCF DSCERROR
004291,000062: 04,3160 30002 CA Q
004292,000063: 04,3161 67424 AD NEGONE
004293,000064: 04,3162 00006 EXTEND
004294,000065: 04,3163 13165 BZF +2
004295,000066: 04,3164 13212 TCF DSCERROR
004296,000067:
004297,000068: 04,3165 37424 CA NEGONE
004298,000069: 04,3166 54002 TS Q
004299,000070: 04,3167 37430 CA ONE
004300,000071:
004301,000072: 04,3170 24062 INCR ERRSUB # 71
004302,000073: 04,3171 00006 EXTEND
004303,000074: 04,3172 30002 DCA L
004304,000075: 04,3173 67430 AD ONE
004305,000076: 04,3174 00006 EXTEND
004306,000077: 04,3175 13177 BZF +2
004307,000078: 04,3176 13212 TCF DSCERROR
004308,000079: 04,3177 30001 CA L
004309,000080: 04,3200 67430 AD ONE
004310,000081: 04,3201 00006 EXTEND
004311,000082: 04,3202 13204 BZF +2
004312,000083: 04,3203 13212 TCF DSCERROR
004313,000084: 04,3204 30002 CA Q
004314,000085: 04,3205 67430 AD ONE
004315,000086: 04,3206 00006 EXTEND
004316,000087: 04,3207 13211 BZF +2
004317,000088: 04,3210 13212 TCF DSCERROR
004318,000089:
004319,000090: 04,3211 13213 TCF +2
004320,000091: 04,3212 07240 DSCERROR TC ERRORDSP
004321,000092:
End of include-file SmallyD--SC.agc. Parent file is ValidateSmally.agc