Source Code

004919,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org> 004920,000002: # 004921,000003: # This file is part of yaAGC. 004922,000004: 004923,000005: # yaAGC is free software; you can redistribute it and/or modify 004924,000006: # it under the terms of the GNU General Public License as published by 004925,000007: # the Free Software Foundation; either version 2 of the License, or 004926,000008: # (at your option) any later version. 004927,000009: 004928,000010: # yaAGC is distributed in the hope that it will be useful, 004929,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004930,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004931,000013: # GNU General Public License for more details. 004932,000014: 004933,000015: # You should have received a copy of the GNU General Public License 004934,000016: # along with yaAGC; if not, write to the Free Software 004935,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004936,000018: 004937,000019: # Filename: SmallyMPNMBRS.agc 004938,000020: # Purpose: This is code written from the flowchart on p. 58-61 of 004939,000021: # E-2065, which is a document titled "Block II AGC 004940,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004941,000023: # Mod history: 07/07/04 RSB. Began. 004942,000024: 004943,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004944,000026: # but much of it was removed over the course of time to make more room. 004945,000027: # I don't know what the original code was like, but the flowcharts still 004946,000028: # exist, so I've rewritten the code from the flowcharts. 004947,000029: 004948,000030: # P. 58 of Smally. 004949,000031: 07,2003 24062 INCR ERRSUB 004950,000032: 07,2004 37443 CA MAXP # 37777 004951,000033: 07,2005 54067 MPLOOP1 TS SKEEP2 004952,000034: 07,2006 37443 CA MAXP # 37777 004953,000035: 07,2007 00006 EXTEND 004954,000036: 07,2010 70067 MP SKEEP2 004955,000037: 07,2011 60001 AD L 004956,000038: 07,2012 67447 AD MAXN # 40000 004957,000039: 07,2013 10000 CCS A 004958,000040: 07,2014 12015 NOOP 004959,000041: 07,2015 12016 NOOP 004960,000042: 07,2016 12120 TCF MPERROR 004961,000043: 07,2017 30067 CA SKEEP2 004962,000044: 07,2020 67424 AD NEGONE 004963,000045: 07,2021 00006 EXTEND 004964,000046: 07,2022 12024 BZF +2 004965,000047: 07,2023 02005 TC MPLOOP1 004966,000048: 004967,000049: 07,2024 24062 INCR ERRSUB 004968,000050: # P. 59 of Smally. 004969,000051: 07,2025 37443 CA MAXP # 37777 004970,000052: 07,2026 54067 MPLOOP2 TS SKEEP2 004971,000053: 07,2027 37424 CA NEGONE # 37777 004972,000054: 07,2030 00006 EXTEND 004973,000055: 07,2031 70067 MP SKEEP2 004974,000056: 07,2032 10000 CCS A 004975,000057: 07,2033 12034 NOOP 004976,000058: 07,2034 12035 NOOP 004977,000059: 07,2035 12120 TCF MPERROR 004978,000060: 07,2036 30001 CA L 004979,000061: 07,2037 60067 AD SKEEP2 004980,000062: 07,2040 10000 CCS A 004981,000063: 07,2041 12042 NOOP 004982,000064: 07,2042 12043 NOOP 004983,000065: 07,2043 12120 TCF MPERROR 004984,000066: 07,2044 30067 CA SKEEP2 004985,000067: 07,2045 67424 AD NEGONE 004986,000068: 07,2046 00006 EXTEND 004987,000069: 07,2047 12051 BZF +2 004988,000070: 07,2050 02026 TC MPLOOP2 004989,000071: 004990,000072: 07,2051 24062 INCR ERRSUB 004991,000073: # P. 60 of Smally 004992,000074: 07,2052 37443 CA MAXP # 37777 004993,000075: 07,2053 54066 MPLOOP3 TS SKEEP1 004994,000076: 07,2054 30066 CA SKEEP1 004995,000077: 07,2055 00006 EXTEND 004996,000078: 07,2056 77443 MP MAXP # 37777 004997,000079: 07,2057 60001 AD L 004998,000080: 07,2060 67447 AD MAXN # 40000 004999,000081: 07,2061 10000 CCS A 005000,000082: 07,2062 12063 NOOP 005001,000083: 07,2063 12064 NOOP 005002,000084: 07,2064 12120 TCF MPERROR 005003,000085: 07,2065 30066 CA SKEEP1 005004,000086: 07,2066 67424 AD NEGONE 005005,000087: 07,2067 00006 EXTEND 005006,000088: 07,2070 12072 BZF +2 005007,000089: 07,2071 02053 TC MPLOOP3 005008,000090: 005009,000091: 07,2072 24062 INCR ERRSUB 005010,000092: # P. 61 of Smally 005011,000093: 07,2073 37443 CA MAXP # 37777 005012,000094: 07,2074 54066 MPLOOP4 TS SKEEP1 005013,000095: 07,2075 30066 CA SKEEP1 005014,000096: 07,2076 00006 EXTEND 005015,000097: 07,2077 77424 MP NEGONE 005016,000098: 07,2100 10000 CCS A 005017,000099: 07,2101 12102 NOOP 005018,000100: 07,2102 12103 NOOP 005019,000101: 07,2103 12120 TCF MPERROR 005020,000102: 07,2104 30001 CA L 005021,000103: 07,2105 60066 AD SKEEP1 005022,000104: 07,2106 10000 CCS A 005023,000105: 07,2107 12110 NOOP 005024,000106: 07,2110 12111 NOOP 005025,000107: 07,2111 12120 TCF MPERROR 005026,000108: 07,2112 30066 CA SKEEP1 005027,000109: 07,2113 67424 AD NEGONE 005028,000110: 07,2114 00006 EXTEND 005029,000111: 07,2115 12117 BZF +2 005030,000112: 07,2116 02074 TC MPLOOP4 005031,000113: 005032,000114: # All done. 005033,000115: 07,2117 12121 TCF MPDONE 005034,000116: 07,2120 07240 MPERROR TC ERRORDSP 005035,000117: 07,2121 MPDONE 005036,000118: End of include-file SmallyMPNMBRS.agc. Parent file is ValidateSmally.agc