Source Code
003293,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org>
003294,000002: #
003295,000003: # This file is part of yaAGC.
003296,000004:
003297,000005: # yaAGC is free software; you can redistribute it and/or modify
003298,000006: # it under the terms of the GNU General Public License as published by
003299,000007: # the Free Software Foundation; either version 2 of the License, or
003300,000008: # (at your option) any later version.
003301,000009:
003302,000010: # yaAGC is distributed in the hope that it will be useful,
003303,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of
003304,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
003305,000013: # GNU General Public License for more details.
003306,000014:
003307,000015: # You should have received a copy of the GNU General Public License
003308,000016: # along with yaAGC; if not, write to the Free Software
003309,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
003310,000018:
003311,000019: # Filename: SmallyRESTORE1.agc
003312,000020: # Purpose: This is code written from the flowchart on p. 35 of
003313,000021: # E-2065, which is a document titled "Block II AGC
003314,000022: # Self-Check and Show-Banksum", by Edwin D. Smally.
003315,000023: # Mod history: 07/07/04 RSB. Began.
003316,000024: # 08/08/04 RSB. Finished.
003317,000025:
003318,000026: # Similar code was apparently originally in Luminary and/or Colossus,
003319,000027: # but much of it was removed over the course of time to make more room.
003320,000028: # I don't know what the original code was like, but the flowcharts still
003321,000029: # exist, so I've rewritten the code from the flowcharts.
003322,000030:
003323,000031: # P. 35 of Smally
003324,000032:
003325,000033: # Realize that to put 177 into SR with TS, we must actually
003326,000034: # use 377 since the value will be shifted. (I'm unable to
003327,000035: # find a way to insert a value into an editing register
003328,000036: # without performing editing.)
003329,000037: 04,2122 37402 CA O377
003330,000038: 04,2123 54021 TS SR
003331,000039:
003332,000040: 04,2124 24062 INCR ERRSUB # 15
003333,000041: # Smally's flowchart is a bit confusing about what happens
003334,000042: # at this step. But it looks as though we execute a
003335,000043: # bunch of instructions (like CCS) that re-edit the
003336,000044: # registers, without bothering to use the results, and
003337,000045: # finally fetch the value with MASK, which does not.
003338,000046: 04,2125 10021 CCS SR
003339,000047: 04,2126 12127 NOOP
003340,000048: 04,2127 12130 NOOP
003341,000049: 04,2130 12131 NOOP
003342,000050: 04,2131 12132 NOOP
003343,000051: 04,2132 40021 CS SR
003344,000052: 04,2133 60021 AD SR
003345,000053: 04,2134 00006 EXTEND
003346,000054: 04,2135 20021 MSU SR
003347,000055: 04,2136 00006 EXTEND
003348,000056: 04,2137 60021 SU SR
003349,000057: 04,2140 30021 CA SR
003350,000058: 04,2141 70021 MASK SR
003351,000059: 04,2142 67424 AD NEGONE
003352,000060: 04,2143 00006 EXTEND
003353,000061: 04,2144 12146 BZF +2
003354,000062: 04,2145 12161 TCF R1ERROR
003355,000063:
003356,000064: 04,2146 24062 INCR ERRSUB # 16
003357,000065: 04,2147 00006 EXTEND
003358,000066: 04,2150 70021 MP SR
003359,000067: 04,2151 00006 EXTEND
003360,000068: 04,2152 10021 DV SR
003361,000069: 04,2153 30021 CA SR
003362,000070: 04,2154 67424 AD NEGONE
003363,000071: 04,2155 00006 EXTEND
003364,000072: 04,2156 12160 BZF +2
003365,000073: 04,2157 12161 TCF R1ERROR
003366,000074:
003367,000075: 04,2160 12162 TCF +2
003368,000076: 04,2161 07240 R1ERROR TC ERRORDSP
003369,000077:
End of include-file SmallyRESTORE1.agc. Parent file is ValidateSmally.agc