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