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