Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:gmsg
Deck GMSG
1 Modification
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.gmsg +++| IDENT GMSG 00002 M01S00002.gmsg +++| TITLE GET M860 MESSAGE AND ASSOCIATED DATA. 00003 M01S00003.gmsg +++| ENTRY GMSG 00004 M01S00004.gmsg +++| ENTRY GDATA 00005 M01S00005.gmsg +++| SST 00006 M01S00006.gmsg +++|*COMMENT GET M860 MESSAGE AND ASSOC. DATA.
Line S00007 Modification History | |
---|---|
M01 (Added by) | gmsg |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00007 M02S00007.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORP. 1982. 00008 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00009 M01S00008.gmsg +++| SYSCOM B1 00010 M01S00009.gmsg +++| GMSG SPACE 4 00011 M01S00010.gmsg +++|*** GMSG - GET M860 MESSAGE AND ASSOCIATED DATA. 00012 M01S00011.gmsg +++|* 00013 M01S00012.gmsg +++|* W. J. STURGIS. 82/09/14. 00014 M01S00013.gmsg +++|* 00015 M01S00014.gmsg +++|* GMSG GETS A M860 MESSAGE AND VERIFIES THE CHECKSUM. 00016 M01S00015.gmsg +++|* THE MESSAGE UNPACKED AND RETURNED TO THE CALLER ALONG 00017 M01S00016.gmsg +++|* WITH A STATUS. ENTRY GDATA RETURNS AN ASSOCIATED DATA 00018 M01S00017.gmsg +++|* BLOCK TO THE CALLER ALONG WITH A STATUS. 00019 M01S00018.gmsg +++|* 00020 M01S00019.gmsg +++|* SYMPL CALLS 00021 M01S00020.gmsg +++|* GMSG(FET,MSG,STS); 00022 M01S00021.gmsg +++|* GDATA(FET,DATA,LEN,STS); 00023 M01S00022.gmsg +++|* 00024 M01S00023.gmsg +++|* WHERE 00025 M01S00024.gmsg +++|* FET = FET ASSRESS. 00026 M01S00025.gmsg +++|* MSG = MESSAGE BUFFER(UPPER 48 BITS OF 11 WORDS) 00027 M01S00026.gmsg +++|* DATA = ASSOCIATED DATA BUFFER. 00028 M01S00027.gmsg +++|* LEN = LENGTH OF ASSOCIATED DATA. 00029 M01S00028.gmsg +++|* STS = RETURN STATUS. 00030 M01S00029.gmsg +++|* 0 = NORMAL COMPLETE. 00031 M01S00030.gmsg +++|* 1 = CHECKSUM ERROR(GMSG ONLY). 00032 M01S00031.gmsg +++|* 2 = NOT ENOUGH DATA IN BUFFER(BUFFER IS EMPTY). 00033 M01S00032.gmsg +++| SPACE 4,10 00034 M01S00033.gmsg +++|* COMMON DECKS. 00035 M01S00034.gmsg +++| 00036 M01S00035.gmsg +++| 00037 M01S00036.gmsg +++|*CALL,COMCMAC 00038 M01S00037.gmsg +++| TITLE LOCAL MACROS. 00039 M01S00038.gmsg +++|** UPACK - UNPACK ONE MESSAGE WORD. 00040 M01S00039.gmsg +++|* 00041 M01S00040.gmsg +++|* UNPACK SC 00042 M01S00041.gmsg +++|* 00043 M01S00042.gmsg +++|* WHERE SC = MASK AND SHIDT COUNT. 00044 M01S00043.gmsg +++| 00045 M01S00044.gmsg +++| 00046 M01S00045.gmsg +++| PURGMAC UNPACK 00047 M01S00046.gmsg +++| 00048 M01S00047.gmsg +++| UPACK MACRO SC 00049 M01S00048.gmsg +++| SA1 A1+B1 GET NEXT PACKED WORD 00050 M01S00049.gmsg +++| MX0 SC 00051 M01S00050.gmsg +++| BX2 X0*X1 00052 M01S00051.gmsg +++| LX2 SC-48 POSITION TO LOWER OF PREVOIUS 00053 M01S00052.gmsg +++| BX6 X6+X2 00054 M01S00053.gmsg +++| SA6 B2 STORE UNPACKED WORD 00055 M01S00054.gmsg +++| SB2 B2+B1 00056 M01S00055.gmsg +++| BX6 -X0*X1 LOWER TO NEXT WORD 00057 M01S00056.gmsg +++| LX6 SC LEFT JUSTIFY 00058 M01S00057.gmsg +++| ENDM 00059 M01S00058.gmsg +++| TITLE MAIN ROUTINES. 00060 M01S00059.gmsg +++| GMSG SPACE 0 00061 M01S00060.gmsg +++| GMSG SUBR ENTRY/EXIT 00062 M01S00061.gmsg +++| SB1 1 00063 M01S00062.gmsg +++| SX7 A1 00064 M01S00063.gmsg +++| SA7 PARL SAVE PARAMETER LIST 00065 M01S00064.gmsg +++| SA0 X1 FET ADDRESS 00066 M01S00065.gmsg +++| SB6 MBUF 00067 M01S00066.gmsg +++| SB7 9 00068 M01S00067.gmsg +++| RJ RDW READ MESSAGE TO WORKING BUFFER 00069 M01S00068.gmsg +++| ZR B7,GMS2 IF FULL MESSAGE 00070 M01S00069.gmsg +++| SX6 2 FLAG PARTIAL OR NO MESSAGE 00071 M01S00070.gmsg +++| GMS1 SA1 PARL 00072 M01S00071.gmsg +++| SA1 X1+2 00073 M01S00072.gmsg +++| SA6 X1 STORE RESPONSE 00074 M01S00073.gmsg +++| EQ GMSGX RETURN 00075 M01S00074.gmsg +++| 00076 M01S00075.gmsg +++| GMS2 SA1 PARL 00077 M01S00076.gmsg +++| SA1 X1+B1 CALLER MESSAGE BUFFER 00078 M01S00077.gmsg +++| SB2 X1 00079 M01S00078.gmsg +++| SA1 MBUF-1 INITIALIZE A1 00080 M01S00079.gmsg +++| SB3 0 LOOP COUNTER 00081 M01S00080.gmsg +++| GMS3 SA1 A1+B1 00082 M01S00081.gmsg +++| MX0 48 00083 M01S00082.gmsg +++| BX6 X0*X1 00084 M01S00083.gmsg +++| SA6 B2 00085 M01S00084.gmsg +++| SB2 B2+B1 00086 M01S00085.gmsg +++| BX6 -X0*X1 00087 M01S00086.gmsg +++| LX6 48 LEFT JUSTIFY 00088 M01S00087.gmsg +++| UPACK 36 00089 M01S00088.gmsg +++| UPACK 24 00090 M01S00089.gmsg +++| UPACK 12 00091 M01S00090.gmsg +++| SA6 B2 STORE LAST WORD 00092 M01S00091.gmsg +++| SB2 B2+B1 00093 M01S00092.gmsg +++| SB3 B3+B1 00094 M01S00093.gmsg +++| LE B3,B1,GMS3 00095 M01S00094.gmsg +++| SA1 A1+B1 00096 M01S00095.gmsg +++| MX0 32 ONLY 32 BITS IN LAST WORD 00097 M01S00096.gmsg +++| BX6 X0*X1 00098 M01S00097.gmsg +++| SA6 B2 00099 M01S00098.gmsg +++| 00100 M01S00099.gmsg +++|* CHECKSUM MESSAGE 00101 M01S00100.gmsg +++| 00102 M01S00101.gmsg +++| SB3 B2-10 START OF MESSAGE 00103 M01S00102.gmsg +++| MX0 -16 00104 M01S00103.gmsg +++| BX6 X6-X6 INITIAL CHECKSUM 00105 M01S00104.gmsg +++| GMS4 SA1 B3 MESSAGE WORD 00106 M01S00105.gmsg +++| LX1 16 00107 M01S00106.gmsg +++| BX2 -X0*X1 00108 M01S00107.gmsg +++| IX6 X6+X2 00109 M01S00108.gmsg +++| LX1 16 00110 M01S00109.gmsg +++| BX2 -X0*X1 00111 M01S00110.gmsg +++| IX6 X6+X2 00112 M01S00111.gmsg +++| LX1 16 00113 M01S00112.gmsg +++| BX1 -X0*X1 00114 M01S00113.gmsg +++| IX6 X6+X1 00115 M01S00114.gmsg +++| SB3 B3+B1 00116 M01S00115.gmsg +++| LE B3,B2,GMS4 IF NOT ENTIRE MESSAGE 00117 M01S00116.gmsg +++| BX6 -X0*X6 IGNORE OVERFLOW 00118 M01S00117.gmsg +++| ZR X6,GMS1 IF CHECKSUM CORRECT 00119 M01S00118.gmsg +++| SX6 1 RETURN CHECKSUM ERROR STATUS 00120 M01S00119.gmsg +++| JP GMS1 STORE STATUS AND RETURN 00121 M01S00120.gmsg +++| EJECT 00122 M01S00121.gmsg +++| GDATA SPACE 0 00123 M01S00122.gmsg +++|** GDATA - GET ASSOCIATED DATA FROM BUFFER. 00124 M01S00123.gmsg +++| 00125 M01S00124.gmsg +++| 00126 M01S00125.gmsg +++| GDATA SUBR ENTRY/EXIT 00127 M01S00126.gmsg +++| SB1 1 00128 M01S00127.gmsg +++| SX7 A1 00129 M01S00128.gmsg +++| SA7 PARL SAVE PARAMETER LIST POINTER 00130 M01S00129.gmsg +++| SA0 X1 FET ADDRESS 00131 M01S00130.gmsg +++| SA1 A1+B1 00132 M01S00131.gmsg +++| SB6 X1 DATA BUFFER 00133 M01S00132.gmsg +++| SA1 A1+B1 00134 M01S00133.gmsg +++| SA1 X1 00135 M01S00134.gmsg +++| SB7 X1 LENGTH 00136 M01S00135.gmsg +++| RJ RDW MOVE DATA TO BUFFER 00137 M01S00136.gmsg +++| SX6 B7 REMAINDER WORD COUNT 00138 M01S00137.gmsg +++| ZR X6,GDA1 IF ALL DATA 00139 M01S00138.gmsg +++| SX6 2 SET NOT FULL BLOCK STATUS 00140 M01S00139.gmsg +++| GDA1 SA1 PARL 00141 M01S00140.gmsg +++| SA1 X1+3 00142 M01S00141.gmsg +++| SA6 X1 STORE RESPONSE 00143 M01S00142.gmsg +++| EQ GDATAX RETURN 00144 M01S00143.gmsg +++| TITLE SUBROUTINES. 00145 M01S00144.gmsg +++| RDW SPACE 4 00146 M01S00145.gmsg +++|** RDW - READ WORDS TO WORKING BUFFER. 00147 M01S00146.gmsg +++|* 00148 M01S00147.gmsg +++|** RDW READS A GIVEN NUMBER OF WORDS FROM A CIRCULAR 00149 M01S00148.gmsg +++|* BUFFER TO A WORKING BUFFER. RDW IS ADAPTED FROM RDW=(COMCRDW) 00150 M01S00149.gmsg +++|* 00151 M01S00150.gmsg +++|* ENTRY (A0) = ADDRESS OF FET FOR FILE. 00152 M01S00151.gmsg +++|* (B6) = FWA WORKING BUFFER. 00153 M01S00152.gmsg +++|* (B7) = WORD COUNT OF WORKING BUFFER. 00154 M01S00153.gmsg +++|* IF (B7) = 0, NO TRANSFER WILL BE PERFORMED. 00155 M01S00154.gmsg +++|* 00156 M01S00155.gmsg +++|* EXIT (B7) = 0 FOR TRANSFER COMPLETE. 00157 M01S00156.gmsg +++|* (B7) = REMAINING WORDS ON INCOMPLETE TRANSFER. 00158 M01S00157.gmsg +++|* 00159 M01S00158.gmsg +++|* USES X - 1, 2, 3, 4, 6, 7. 00160 M01S00159.gmsg +++|* B - 1, 2, 3, 4, 5, 6, 7. 00161 M01S00160.gmsg +++|* A - 1, 2, 3, 4, 6, 7. 00162 M01S00161.gmsg +++|* 00163 M01S00162.gmsg +++|* CALLS NONE. 00164 M01S00163.gmsg +++| 00165 M01S00164.gmsg +++| 00166 M01S00165.gmsg +++|* PROCESS 1 WORD OR BUFFER EMPTY. 00167 M01S00166.gmsg +++| 00168 M01S00167.gmsg +++| RDW18 ZR B3,RDWX IF NO DATA 00169 M01S00168.gmsg +++| BX7 X1 STORE 1 WORD 00170 M01S00169.gmsg +++| SA7 B6 00171 M01S00170.gmsg +++| RDW19 SX6 B4+B3 ADVANCE OUT 00172 M01S00171.gmsg +++| SB4 B4+B3 00173 M01S00172.gmsg +++| SB6 B6+B3 00174 M01S00173.gmsg +++| SB7 B7-B3 00175 M01S00174.gmsg +++| NE B4,B5,RDW20 IF OUT " LIMIT 00176 M01S00175.gmsg +++| SA1 A0+B1 READ FIRST 00177 M01S00176.gmsg +++| SX6 X1 OUT = FIRST 00178 M01S00177.gmsg +++| RDW20 SA6 A3 UPDATE OUT 00179 M01S00178.gmsg +++| NZ B7,RDW1 IF NOT DONE 00180 M01S00179.gmsg +++| 00181 M01S00180.gmsg +++| RDW SUBR ENTRY/EXIT 00182 M01S00181.gmsg +++| RDW0 SX1 B0+ 00183 M01S00182.gmsg +++| LE B7,RDWX IF NO WORDS TO TRANSFER 00184 M01S00183.gmsg +++| RDW1 SA3 A0+3 (B4) = OUT 00185 M01S00184.gmsg +++| SA1 A0+2 (B3) = IN 00186 M01S00185.gmsg +++| SB1 1 00187 M01S00186.gmsg +++| SA4 A3+B1 (B5) = LIMIT 00188 M01S00187.gmsg +++| SB4 X3 00189 M01S00188.gmsg +++| SB3 X1 00190 M01S00189.gmsg +++| SA1 X3 READ FIRST WORD 00191 M01S00190.gmsg +++| SB5 X4 00192 M01S00191.gmsg +++| GE B3,B4,RDW2 IF NO END AROUND 00193 M01S00192.gmsg +++| SB3 B5 00194 M01S00193.gmsg +++| RDW2 SB3 B3-B4 FREE DATA LENGTH 00195 M01S00194.gmsg +++| LE B3,B7,RDW3 IF NOT ENOUGH ROOM 00196 M01S00195.gmsg +++| SB3 B7 00197 M01S00196.gmsg +++| RDWA BSS 0 00198 M01S00197.gmsg +++| RDW3 SA3 RDWB PRESET CMU CODE 00199 M01S00198.gmsg +++| RJ RDW16 PRESET CMU CODE 00200 M01S00199.gmsg +++|* LE B3,B1,RDW18 IF 1 WORD OR LESS OF DATA (NO CMU) 00201 M01S00200.gmsg +++|* BX7 X1 (NO CMU) 00202 M01S00201.gmsg +++|* SA1 A1+B1 (NO CMU) 00203 M01S00202.gmsg +++|* 00204 M01S00203.gmsg +++|* LE B3,B1,RDW18 IF 1 WORD OR LESS OF DATA (CMU) 00205 M01S00204.gmsg +++|* JP RDW14 (CMU) 00206 M01S00205.gmsg +++| 00207 M01S00206.gmsg +++|* INITIALIZE REGISTERS FOR TRANSFER. 00208 M01S00207.gmsg +++| 00209 M01S00208.gmsg +++| RDW4 SX4 B3-B1 00210 M01S00209.gmsg +++| MX6 -3 00211 M01S00210.gmsg +++| SA7 B6 00212 M01S00211.gmsg +++| BX3 -X6*X4 NUMBER OF ODD WORDS 00213 M01S00212.gmsg +++| AX4 3 NUMBER OF BLOCKS 00214 M01S00213.gmsg +++| 00215 M01S00214.gmsg +++|* TRANSFER UP TO 7 WORDS. 00216 M01S00215.gmsg +++| 00217 M01S00216.gmsg +++| ZR X3,RDW6 IF NO ODD WORDS 00218 M01S00217.gmsg +++| SB2 X3 00219 M01S00218.gmsg +++| RDW5 SB2 B2-B1 00220 M01S00219.gmsg +++| BX7 X1 00221 M01S00220.gmsg +++| SA1 A1+B1 00222 M01S00221.gmsg +++| SA7 A7+B1 00223 M01S00222.gmsg +++| NZ B2,RDW5 IF MORE WORDS 00224 M01S00223.gmsg +++| 00225 M01S00224.gmsg +++|* PRE-READ REGISTERS. 00226 M01S00225.gmsg +++| 00227 M01S00226.gmsg +++| RDW6 ZR X4,RDW19 IF NO BLOCKS 00228 M01S00227.gmsg +++| SA2 A1+B1 00229 M01S00228.gmsg +++| SB2 B1+B1 (B2) = 2 00230 M01S00229.gmsg +++| SA3 A2+B1 00231 M01S00230.gmsg +++| SB4 X4 (B4) = LOOP COUNT 00232 M01S00231.gmsg +++| SA4 A3+B1 00233 M01S00232.gmsg +++| 00234 M01S00233.gmsg +++|* TRANSFER 8 WORD BLOCKS. 00235 M01S00234.gmsg +++| 00236 M01S00235.gmsg +++| RDW7 BX6 X1 00237 M01S00236.gmsg +++| LX7 X2 00238 M01S00237.gmsg +++| SA1 A3+B2 00239 M01S00238.gmsg +++| SA2 A4+B2 00240 M01S00239.gmsg +++| SA6 A7+B1 00241 M01S00240.gmsg +++| SB4 B4-B1 00242 M01S00241.gmsg +++| SA7 A6+B1 00243 M01S00242.gmsg +++| BX6 X3 00244 M01S00243.gmsg +++| LX7 X4 00245 M01S00244.gmsg +++| SA3 A1+B2 00246 M01S00245.gmsg +++| SA4 A2+B2 00247 M01S00246.gmsg +++| SA6 A6+B2 00248 M01S00247.gmsg +++| SA7 A7+B2 00249 M01S00248.gmsg +++| BX6 X1 00250 M01S00249.gmsg +++| LX7 X2 00251 M01S00250.gmsg +++| SA1 A3+B2 00252 M01S00251.gmsg +++| SA2 A4+B2 00253 M01S00252.gmsg +++| SA6 A6+B2 00254 M01S00253.gmsg +++| SA7 A7+B2 00255 M01S00254.gmsg +++| BX6 X3 00256 M01S00255.gmsg +++| LX7 X4 00257 M01S00256.gmsg +++| SA3 A1+B2 00258 M01S00257.gmsg +++| SA4 A2+B2 00259 M01S00258.gmsg +++| SA6 A6+B2 00260 M01S00259.gmsg +++| SA7 A7+B2 00261 M01S00260.gmsg +++| NZ B4,RDW7 LOOP 00262 M01S00261.gmsg +++| 00263 M01S00262.gmsg +++|* READ EXIT. 00264 M01S00263.gmsg +++| 00265 M01S00264.gmsg +++| SA3 A0+3 OUT 00266 M01S00265.gmsg +++| SA1 A3+B1 (B5) = LIMIT 00267 M01S00266.gmsg +++| SB5 X1 00268 M01S00267.gmsg +++| RDW8 SB6 B6+B3 00269 M01S00268.gmsg +++| SB7 B7-B3 00270 M01S00269.gmsg +++| SB4 X3+B3 ADVANCE OUT 00271 M01S00270.gmsg +++| SX6 X3+B3 00272 M01S00271.gmsg +++| SA1 A0+1 READ FIRST 00273 M01S00272.gmsg +++| NE B4,B5,RDW20 IF OUT " LIMIT 00274 M01S00273.gmsg +++| SX6 X1+ OUT = FIRST 00275 M01S00274.gmsg +++| RDW9 EQ RDW20 CLEAN UP AND RETURN 00276 M01S00275.gmsg +++| 00277 M01S00276.gmsg +++|* MOVE DATA WITH CMU. 00278 M01S00277.gmsg +++| 00279 M01S00278.gmsg +++| RDW14 SX4 B3-819 00280 M01S00279.gmsg +++| PL X4,RDW15 IF MOVE TOO BIG FOR CMU 00281 M01S00280.gmsg +++| SX4 B3 10 * WORDS = CHARACTERS 00282 M01S00281.gmsg +++| LX6 X4,B1 00283 M01S00282.gmsg +++| BX1 X0 SAVE X0 00284 M01S00283.gmsg +++| LX4 3 00285 M01S00284.gmsg +++| IX6 X4+X6 00286 M01S00285.gmsg +++| SX7 B6 SET DESTINATION ADDRESS 00287 M01S00286.gmsg +++| LX3 30 00288 M01S00287.gmsg +++| MX4 -4 00289 M01S00288.gmsg +++| BX7 X7+X3 00290 M01S00289.gmsg +++| BX3 X4*X6 EXTRACT UPPER PORTION OF CHARACTER COUNT 00291 M01S00290.gmsg +++| LX3 48-4 00292 M01S00291.gmsg +++| BX4 -X4*X6 00293 M01S00292.gmsg +++| BX7 X3+X7 00294 M01S00293.gmsg +++| LX4 26 00295 M01S00294.gmsg +++| BX7 X4+X7 00296 M01S00295.gmsg +++| AX3 51 00297 M01S00296.gmsg +++| SA7 RDWB STORE DESCRIPTOR WORD 00298 M01S00297.gmsg +++| IM RDWB MOVE DATA 00299 M01S00298.gmsg +++| BX0 X1 RESTORE X0 00300 M01S00299.gmsg +++| ZR X3,RDW19 IF NO READ EXIT CHECK 00301 M01S00300.gmsg +++| SX3 B4 SET OUT 00302 M01S00301.gmsg +++| JP RDW8 00303 M01S00302.gmsg +++| 00304 M01S00303.gmsg +++| RDW15 BX7 X1 00305 M01S00304.gmsg +++| SA1 A1+B1 00306 M01S00305.gmsg +++| JP RDW4 00307 M01S00306.gmsg +++| 00308 M01S00307.gmsg +++|* PRESET FOR CMU. 00309 M01S00308.gmsg +++|* RDWB IS READ UP AND THEN RETURN JUMPED TO IN ORDER TO VOID 00310 M01S00309.gmsg +++|* THE INSTRUCTION STACK. 00311 M01S00310.gmsg +++| 00312 M01S00311.gmsg +++| RDWB LE B3,B1,RDW18 IF 1 WORD OR LESS (CMU) 00313 M01S00312.gmsg +++| JP RDW14 00314 M01S00313.gmsg +++| 00315 M01S00314.gmsg +++| RDW16 EQU RDWB USED TO VOID STACK AT PRESET 00316 M01S00315.gmsg +++| 00317 M01S00316.gmsg +++|* PRESET FOR CMU. 00318 M01S00317.gmsg +++| 00319 M01S00318.gmsg +++| SA4 CMUR CHECK IF CMU AVAIALABLE 00320 M01S00319.gmsg +++| SB3 RDWA 00321 M01S00320.gmsg +++| NG X4,RDW17 IF CMU 00322 M01S00321.gmsg +++| SA3 RDWC 00323 M01S00322.gmsg +++| RDW17 BX6 X3 00324 M01S00323.gmsg +++| SA6 B3 00325 M01S00324.gmsg +++| JP RDW1 00326 M01S00325.gmsg +++| 00327 M01S00326.gmsg +++| RDWC LE B3,B1,RDW18 IF 1 WORD OR LESS (NO CMU) 00328 M01S00327.gmsg +++| BX7 X1 00329 M01S00328.gmsg +++| SA1 A1+B1 00330 M01S00329.gmsg +++| TITLE WORKING STORAGE. 00331 M01S00330.gmsg +++|* WORKING STORAGE. 00332 M01S00331.gmsg +++| 00333 M01S00332.gmsg +++| 00334 M01S00333.gmsg +++| PARL BSS 1 PARAMETER LIST POINTER 00335 M01S00334.gmsg +++| MBUF BSS 9 MESSAGE BUFFER 00336 M01S00335.gmsg +++| SPACE 4 00337 M01S00336.gmsg +++| END
cdc/nos2.source/opl.opl871/deck/gmsg.txt ยท Last modified: by 127.0.0.1