Seq # *Modification Id* Act
----------------------------+
00008 M02S00008.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
00009 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00010 M01S00009.1dl +++| TITLE 1DL - DISPLAY OVERLAY LOADER.
00011 M01S00010.1dl +++| SPACE 4
00012 M01S00011.1dl +++|*** 1DL - DISPLAY OVERLAY LOADER.
00013 M01S00012.1dl +++|* G. R. MANSFIELD. 70/12/11.
00014 M01S00013.1dl +++| SPACE 4
00015 M01S00014.1dl +++|*** 1DL MAY BE CALLED TO LOAD OVERLAYS FROM MASS STORAGE
00016 M01S00015.1dl +++|* FOR DISPLAY PROGRAMS. THE OVERLAYS ARE ASSUMED TO BEGIN AT
00017 M01S00016.1dl +++|* THE MASS STORAGE ADDRESS SPECIFIED BY THE FIRST OVERLAY
00018 M01S00017.1dl +++|* WHICH HAS THE SAME FIRST 2 CHARACTERS OF THE REQUESTED
00019 M01S00018.1dl +++|* OVERLAY AND CONTINUE IN A CONTIGUOUS BLOCK,
00020 M01S00019.1dl +++| SPACE 4
00021 M01S00020.1dl +++|*** CALL.
00022 M01S00021.1dl +++|*
00023 M01S00022.1dl +++|*
00024 M01S00023.1dl +++|*T 18/ *1DL*,6/ CP,12/ CH,24/ NAME
Figure
00025 M01S00024.1dl +++|* CP CONTROL POINT NUMBER
Line S00025 Modification History
M01(Added by)
1dl
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00026 M02S00025.1dl2 ---|* CH CHANNEL FOR TRNASMISSION OF OVERLAY
00027 M01S00001.1dl2 +++|* CH CHANNEL FOR TRANSMISSION OF OVERLAY
00028 M01S00026.1dl +++|* IF CH IS GREATER THAN 77 THEN A CM TRANSFER WILL BE
00029 M01S00027.1dl +++|* SELECTED TO THE RECEIVING PPS MSG. BUFFER. CH MUST BE
00030 M01S00028.1dl +++|* THE RECEIVING PPS INPUT REGISTER ADDRESS.
00031 M01S00029.1dl +++|* NAME OVERLAY NAME
00032 M01S00030.1dl +++| SPACE 4
00033 M01S00031.1dl +++|*** COMMUNICATION.
00034 M01S00032.1dl +++|*
00035 M01S00033.1dl +++|*
00036 M01S00034.1dl +++|* WHEN 1DL IS READY TO TRANSMIT THE OVERLAY TO THE
00037 M01S00035.1dl +++|* CALLING PROGRAM, BYTE 2 OF THE INPUT REGISTER IS SET TO
00038 M01S00036.1dl +++|* 7777B. 1DL THEN WAITS FOR BYTE 2 OF THE INPUT REGISTER TO
00039 M01S00037.1dl +++|* BE SET TO 0. IF THIS DOES NOT TAKE PLACE WITHIN 1 SECOND,
00040 M01S00038.1dl +++|* 1DL EXITS TO PP RESIDENT, THUS ABORTING THE OVERLAY LOAD.
00041 M01S00039.1dl +++|* IF A CM TRANSFER IS SELECTED, THE FOLLOWING ADDITIONAL
00042 M01S00040.1dl +++|* INTERFACE REQUIREMENTS MUST BE FOLLOWED.
00043 M01S00041.1dl +++|* 1. AFTER 1DL READY TO SEND IS DETECTED, RECEIVER MUST
00044 M01S00042.1dl +++|* ZERO HIS OUTPUT REGISTER AND THEN SET BYTE 2 OF HIS
00045 M01S00043.1dl +++|* INPUT REGISTER TO ZERO. -READY TO RECEIVE
00046 M01S00044.1dl +++|* 2. RECEIVER READS HIS OUTPUT REGISTER. IF BYTE 4 IS
00047 M01S00045.1dl +++|* ZERO, DELAY 128 MICROSECS AND READ AGAIN. IF BYTE
00048 M01S00046.1dl +++|* 4 IS NON-ZERO THE LOWER 6 BITS CONTAIN THE BLOCK
00049 M01S00047.1dl +++|* WORD-COUNT AND THE UPPER 6 BITS CONTAIN A FLAG.
00050 M01S00048.1dl +++|* THE FLAG INDICATES DATA IS IN THE MSG. BUFFER.
00051 M01S00049.1dl +++|* IF THE WORD COUNT IS ZERO,THE LAST BLOCK HAS ALREADY
00052 M01S00050.1dl +++|* BEEN RECEIVED AND THE TRANSFER IS COMPLETE.
00053 M01S00051.1dl +++|* 3 IF THE WORD-COUNT IS NON-ZERO, READ FROM THE MSG.
00054 M01S00052.1dl +++|* BUFFER (WORD-COUNT) WORDS. OTHERWISE, END.
00055 M01S00053.1dl +++|* 4. ZERO THE OUTPUT REGISTER TO INDICATE TO 1DL THAT
00056 M01S00054.1dl +++|* THE DATA HAS BEEN REMOVED FROM THE BUFFER AND GO TO
00057 M01S00055.1dl +++|* STEP 2.
00058 M01S00056.1dl +++|*
Line S00057 Modification History
M01(Added by)
1dl
M02(Updated by)
242l642
Seq # *Modification Id* Act
----------------------------+
00059 M02S00057.242l642 ---|* *WARNING* - DIRECT CHANNEL TRANSFERS ARE LIMITED TO *MXSC*
00060 M01S00001.242l642 +++|* *WARNING* - DIRECT CHANNEL TRANSFERS ARE LIMITED TO *MXPC*
Line S00058 Modification History
M01(Added by)
1dl
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00061 M02S00058.1dl2 ---|* SECTORS. ANY DATA BEYOND THIS LIMIT IS IGNORED. ON CM
Line S00059 Modification History
M01(Added by)
1dl
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00062 M02S00059.1dl2 ---|* TRANSFERS AFTER *MXSC* SECTORS, IT IS POSSIBLE FOR 1DL TO
Line S00060 Modification History
M01(Added by)
1dl
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00063 M02S00060.1dl2 ---|* BE TRAPPED BY A STORAGE MOVE OR DROP. THEREFORE, THE
Line S00061 Modification History
M01(Added by)
1dl
M02(Updated by)
242l642
M03(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00064 M03S00061.1dl2 ---|* CALLING PP MUST ALLOW PAUSE AFTER *MXSC* SECTORS TRANSFERRED.
Line S00002 Modification History
M01(Added by)
242l642
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00065 M02S00002.1dl2 ---|* CALLING PP MUST ALLOW PAUSE AFTER *MXPC* SECTORS TRANSFERRED.
00066 M01S00002.1dl2 +++|* SECTORS; ANY DATA BEYOND THIS LIMIT IS IGNORED. ON CM
00067 M01S00003.1dl2 +++|* TRANSFERS AFTER *MXPC* SECTORS, IT IS POSSIBLE FOR *1DL* TO
00068 M01S00004.1dl2 +++|* BE TRAPPED BY A STORAGE MOVE OR DROP. IF A PAUSE OCCURS,
00069 M01S00005.1dl2 +++|* THE CM TRANSFER PROTOCOL (IN WHICH THE TWO PP-S MONITOR
00070 M01S00006.1dl2 +++|* EACH OTHER-S OUTPUT REGISTERS) WILL BREAK DOWN. SINCE
00071 M01S00007.1dl2 +++|* *1DL* CANNOT TELL WHETHER OR NOT A PAUSE ACTUALLY OCCURRED,
00072 M01S00008.1dl2 +++|* *1DL* MUST THEREFORE RESYNCHRONIZE THE TRANSFER AFTER EACH
00073 M01S00009.1dl2 +++|* *MXPC* SECTORS. *1DL* WILL DO THIS BY STARTING OVER WITH
00074 M01S00010.1dl2 +++|* THE INITIAL PROTOCOL (*1DL* SETTING BYTE 2 OF ITS INPUT
00075 M01S00011.1dl2 +++|* REGISTER SET TO 7777B AND THE CALLING PP SETTING IT TO ZERO).
00076 M01S00012.1dl2 +++|* THEREFORE, THE CALLING PP MUST BE PREPARED TO PAUSE (IF *1DL*
00077 M01S00013.1dl2 +++|* PAUSES) AND TO RESYNCHRONIZE THE TRANSFER (IN ANY EVENT)
00078 M01S00014.1dl2 +++|* AFTER EACH *MXPC* SECTORS ARE TRANSFERRED.
00079 M01S00062.1dl +++| SPACE 4
00080 M01S00063.1dl +++|*CALL COMPCHI
00081 M01S00064.1dl +++|*CALL COMPMAC
00082 M01S00065.1dl +++|*CALL COMSMSP
00083 M01S00001.ns2666 +++|*CALL COMSPIM
00084 M01S00066.1dl +++| SPACE 4
00085 M01S00067.1dl +++|**** DIRECT LOCATION ASSIGNMENTS.
00086 M01S00068.1dl +++|
00087 M01S00069.1dl +++|
00088 M01S00070.1dl +++| T8 EQU 16 *7SE* PARAMETER WORD
00089 M01S00071.1dl +++| CN EQU 20 CM WORD BUFFER (5 LOCATIONS)
00090 M01S00072.1dl +++| OV EQU 25 OVERLAY NAME
00091 M01S00073.1dl +++| BO EQU 26 BUFFER OVERFLOW
00092 M01S00074.1dl +++| TN EQU 30 - 34 TRANSFER DIRECT CELLS
00093 M01S00075.1dl +++| CW EQU 40 - 44 CM TRANSFER CONTROL WORD
00094 M01S00076.1dl +++|****
00095 M01S00077.1dl +++| SPACE 4
00096 M01S00078.1dl +++|* ASSEMBLY CONSTANT.
00097 M01S00079.1dl +++|
00098 M01S00080.1dl +++|
00099 M01S00081.1dl +++| CH EQU CHDS TRANSMISSION CHANNEL
00100 M01S00082.1dl +++| WT EQU 6 CM WORDS PER CM TRANSFER
00101 M01S00083.1dl +++| TITLE MAIN PROGRAM.
00102 M01S00084.1dl +++| LDO SPACE 4
00103 M01S00085.1dl +++|** LDO - MAIN PROGRAM.
00104 M01S00086.1dl +++|
00105 M01S00087.1dl +++|
00106 M01S00088.1dl +++| ORG PPFW
00107 M01S00089.1dl +++| LDO RJM PRS PRESET PROGRAM
00108 M01S00090.1dl +++| LDN 0
00109 M01S00091.1dl +++| RJM SFO SEARCH FOR OVERLAY
00110 M01S00092.1dl +++| NJN LDO.1 IF FOUND
00111 M01S00093.1dl +++| LJM DPP
00112 M01S00094.1dl +++|
00113 M01S00095.1dl +++|* INITIATE TRANSMISSION.
00114 M01S00096.1dl +++|
00115 M01S00097.1dl +++| LDO.1 PAUSE NE
00116 M01S00098.1dl +++| AOD IR+2
00117 M01S00099.1dl +++| STD TN SAVE CHANNEL OR CM FLAG (IF CM THE OA)
Seq # *Modification Id* Act
----------------------------+
00233 M02S00198.ns2666 ---| LDN MXPC SET MAXIMUM SECTOR COUNT
00234 M01S00005.ns2666 +++| LDO10 LDN MXPC
00235 M01S00199.1dl +++| STD CN+4
00236 M01S00200.1dl +++| RJM SFO GET THE REST OF THE OVERLAY
Line S00201 Modification History
M01(Added by)
1dl
M02(Updated by)
1dl2
Seq # *Modification Id* Act
----------------------------+
00237 M02S00201.1dl2 ---| LJM LDO3
00238 M01S00016.1dl2 +++| LJM LDO0.2 RESYNCHRONIZE THE TRANSFER
Line S00202 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00239 M02S00202.ns2666 ---| SFO SPACE 4
00240 M01S00006.ns2666 +++| SFO SPACE 4,15
00241 M01S00203.1dl +++|** SFO - SEARCH FOR OVERLAY.
00242 M01S00204.1dl +++|*
Line S00205 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00243 M02S00205.ns2666 ---|* ENTRY (A)=0, NORMAL ENTRY, (A) NOT EQUAL TO 0 CONTINUE.
00244 M01S00007.ns2666 +++|* ENTRY (A) = 0 IF INITIAL ENTRY.
00245 M01S00008.ns2666 +++|* (A) .NE. 0 IF CONTINUATION ENTRY.
00246 M01S00009.ns2666 +++|* (T4 - T7) = MASS STORAGE PARAMETERS IF CONTINUATION
00247 M01S00010.ns2666 +++|* ENTRY AND NOT CM RESIDENT OVERLAY.
00248 M01S00206.1dl +++|*
00249 M01S00207.1dl +++|* EXIT (A) = 0 IF NOT FOUND.
00250 M01S00208.1dl +++|* (BUF - BUF+N) = OVERLAY FOUND.
Line S00209 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00251 M02S00209.ns2666 ---|* T1 - T7 MUST NOT BE USED IF THIS ROUTINE IS REENTERED.
00252 M01S00011.ns2666 +++|* (T4 - T7) = MASS STORAGE PARAMETERS IF INITIAL ENTRY
00253 M01S00012.ns2666 +++|* AND NOT CM RESIDENT OVERLAY.
00254 M01S00210.1dl +++|*
Seq # *Modification Id* Act
----------------------------+
00282 M02S00234.ns2666 ---| SFO6 NJN SFO4 IF NOT THE MAXIMUM SECTORS READ
00283 M01S00017.ns2666 +++| SFO11 NJN SFO9 IF MORE SECTORS WILL FIT INTO BUFFER
00284 M01S00235.1dl +++| LDM BUF+4
00285 M01S00236.1dl +++| ADC -100*MXPC
Line S00237 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00286 M02S00237.ns2666 ---| ZJN SFO7 IF NEXT SECTOR EOR
00287 M01S00018.ns2666 +++| ZJN SFO12 IF NEXT SECTOR EOR
00288 M01S00238.1dl +++| STD BO WORDS LEFT OVER
00289 M01S00239.1dl +++| LDC MXPC*100 SET MAXIMUM WORD COUNT
00290 M01S00240.1dl +++| STM BUF+4
Line S00241 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00291 M02S00241.ns2666 ---| SFO7 ENDMS END MASS STORAGE OPERATION
Seq # *Modification Id* Act
----------------------------+
00297 M02S00245.ns2666 ---| NJN SFO6 IF NOT FIRST ENTRY
00298 M01S00021.ns2666 +++| NJN SFO11 IF NOT FIRST ENTRY
00299 M01S00022.ns2666 +++|* NJN SFO3 IF NOT FIRST ENTRY (CM RESIDENT OVERLAY)
00300 M01S00023.ns2666 +++| SFOA EQU *-1
00301 M01S00246.1dl +++|
00302 M01S00247.1dl +++|* SEARCH PLD FOR FIRST OVERLAY OF GROUP.
00303 M01S00248.1dl +++|
Line S00249 Modification History
M01(Added by)
1dl
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00304 M02S00249.ns2666 ---| SFO0 RJM SPL SEARCH PLD
00305 M01S00024.ns2666 +++| SFO1 RJM SPL SEARCH PLD
00306 M01S00250.1dl +++| ZJN SFOX IF OVERLAY NOT FOUND
00307 M01S00025.ns2666 +++| MJP SFO6 IF FOUND IN *RPL*
00308 M01S00251.1dl +++| SETMS READSYS
Seq # *Modification Id* Act
----------------------------+
00342 M02S00274.ns2666 ---| NJN SFO2 IF NO MATCH
00343 M01S00037.ns2666 +++| NJN SFO4 IF NO MATCH
00344 M01S00275.1dl +++| LDN MXPC SET MAXIMUM SECTOR COUNT
00345 M01S00276.1dl +++| STD CN+4
Seq # *Modification Id* Act
----------------------------+
00425 M02S00301.242l642 ---|* EXIT (A) = 0 IF FIRST OVERLAY OF GROUP NOT FOUND.
00426 M01S00028.242l642 +++|* EXIT (A) = 0 IF NEITHER THE OVERLAY NOR FIRST OVERLAY OF
Seq # *Modification Id* Act
----------------------------+
00429 M03S00303.ns2666 ---|* (A) .NE. 0 IF FIRST OVERLAY OF GROUP FOUND.
Line S00030 Modification History
M01(Added by)
242l642
M02(Updated by)
ns2666
Seq # *Modification Id* Act
----------------------------+
00430 M02S00030.ns2666 ---|* (A) .NE. 0 IF OVERLAY OR FIRST OVERLAY OF GROUP FOUND.
00431 M01S00065.ns2666 +++|* GROUP FOUND.
00432 M01S00066.ns2666 +++|* (A) .GT. 0 IF OVERLAY OR FIRST OVERLAY OF GROUP FOUND.
00433 M01S00067.ns2666 +++|* (A) .LT. 0 IF OVERLAY FOUND IN *RPL*.
00434 M01S00304.1dl +++|* (T4 - T7) = MASS STORAGE PARAMETERS.
00435 M01S00305.1dl +++|* (CN) = BUFFER ADDRESS.
00436 M01S00068.ns2666 +++|* (BO) = 0 IF OVERLAY FOUND.
00437 M01S00306.1dl +++|*