cdc:nos2.source:opl871:osb
Table of Contents
OSB
Table Of Contents
- [00006] OSB - OPERATING SYSTEM BOOTSTRAP.
- [00045] MAIN ROUTINE.
- [00101] MAJOR SUBROUTINES.
- [00103] RDR - READ DISK RECORD.
- [00159] RTR - READ TAPE RECORD.
- [00179] SUBROUTINES.
- [00181] GDS - GET DISK STATUS.
- [00192] POS - POSITION MASS STORAGE.
- [00233] RNS - READ NEXT SECTOR.
Source Code
- OSB.txt
- IDENT OSB,OSB
- PERIPH
- MACHINE 6,A INFORM CTI OF CLOCK SUPPORT
- BASE M
- SST
- TITLE OSB - OPERATING SYSTEM BOOTSTRAP.
- *COMMENT OSB - OPERATING SYSTEM BOOTSTRAP.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- OSB SPACE 4,10
- ***** OSB - OPERATING SYSTEM BOOTSTRAP.
- *
- * P. D. HAAS. 78/07/31.
- OSB SPACE 4,10
- *** *OSB* IS THE OPERATING SYSTEM BOOTSTRAP LOADED BY
- * *CTI*. ITS SOLE PURPOSE IS TO LOAD *DIO* FROM THE DEAD-
- * START MEDIUM TO THE PP ON THE DISPLAY CHANNEL.
- SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- * *ERROR LOADING -DIO-.*
- OSB SPACE 4,10
- *CALL COMPMAC
- *CALL COMSDSL
- *CALL COMSMSP
- *CALL COMSPIM
- FWDL$ EQU 1 LINK CHANNEL INSTRUCTIONS FORWARD
- *CALL COMPCHL
- OSB SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- LOC 20
- DT BSS 1 895 DEADSTART READ FLAG
- ERRNZ DT-MP DIRECT CELL LOCATION IN *DIO* MUST MATCH
- UN BSS 4 PHYSICAL DISK ADDRESS
- L1 BSS 1 SCRATCH
- L2 BSS 1 SCRATCH
- AP BSS 1 DISK ADDRESS POINTER
- ****
- OSB SPACE 4,10
- ** ASSEMBLY CONSTANTS.
- BUF EQU 100 BUFFER ADDRESS
- TITLE MAIN ROUTINE.
- OSB SPACE 4,10
- ORG DSLA+5*20
- OSB LDM DPW10A DEADSTART CHANNEL
- LPN 37
- STD CM
- LDC CH01$ SET ADDRESS OF FIRST CHANNEL INSTRUCTION
- STD T1
- LDM DCST SET DISPLAY CONSOLE STATUS
- STD LA
- LDN 0
- OSB1 RAD T1 ADDRESS OF CURRENT CHANNEL INSTRUCTION
- LDI T1 SAVE LINK TO NEXT INSTRUCTION
- LPN 37
- STD T2
- LDD CM MODIFY CHANNEL INSTRUCTION
- SBD T2
- RAI T1
- LDD T2
- NJN OSB1 IF MORE INSTRUCTIONS TO MODIFY
- STD DT PRESET NOT 895 DEVICE TYPE
- RJM RDR READ DISK (TAPE) RECORD
- ZJN ERR IF LOAD ERRORS
- LDM BUF+5*1+1 CHECK RECORD NAME
- SHN 6
- LMM BUF+5*1+0
- LMC 3RODI
- NJN ERR IF NOT *DIO*
- LDM PPSDA GET PP SPEED
- STD T3
- LDC MXRL TRANSMIT *DIO*
- OAM. BUF+5*20,CH
- LDN 77 TRANSMIT PARAMETERS
- OAM. 0,CH
- DCN. MR+40
- CCF. *+2,MX ALLOW *MDD* TO EXECUTE
- DCN. CH+40
- ACN. CH
- IAM. 0,CH INPUT *SET*
- ERR LDD LA
- ZJN ERR1 IF DEADSTART FROM CC545 CONSOLE
- LCN 0 CLEAR DISPLAY
- RJM CDDP
- LCN 77-ERRA+ERR1
- RAM ERRA
- ERR1 LDC ERRB DISPLAY ERROR MESSAGE
- RJM CDDP
- ERRA UJN ERR1 HANG PP IN LOOP
- ERRB CON ERRC
- CON 0
- ERRC CON 113
- DATA C*ERROR LOADING -DIO-.*
- TITLE MAJOR SUBROUTINES.
- RDR SPACE 4,10
- ** RDR - READ DISK RECORD.
- *
- * EXIT (A) = 0 IF ERROR.
- * (T4) = UNIT NUMBER.
- * (T5) = SEEK FUNCTION + ALGORITHM INDEX.
- *
- * USES T1, T6, T7, UN.
- *
- * CALLS POS, RNS, RTR.
- RDR4 RJM RTR READ TAPE RECORD
- RDR SUBR ENTRY/EXIT
- LDM DPW5A DEADSTART PANEL WORD 5
- ZJN RDR4 IF TAPE DEADSTART
- LDM OSDPA+3 *OSB* SEEK FUNCTION
- STD T5
- SHN 14
- STM POSA
- SHN -14
- LMN AIDC
- NJN RDR0 IF NOT 895
- LDC 2000 SET 895 DEADSTART FLAG ON SEEK
- STD DT SAVE 895 DEADSTART FLAG FOR *DIO*
- SHN 6-12
- RAM POSB
- SOM POSC
- RDR0 LDM OSDPA+4 *OSB* TRACK
- STD T6
- LDM DSLA-2 FIRST *DIO* SECTOR FROM *OSB* LINKAGE
- STD T7
- SHN 21-13
- PJN RDR1 IF NOT TRACK SWITCH
- SHN 13-21
- STD T6 SET NEXT TRACK
- LDN 0
- STD T7
- RDR1 LDM DPW6A UNIT NUMBER
- LPN 77
- STD UN
- STD T4
- LDC OSRPA DISK ADDRESS POINTER
- STD AP
- LDC BUF SET BUFFER ADDRESS
- STD T1
- RJM POS POSITION MASS STORAGE
- RDR2 LDD T1 READ NEXT SECTOR
- RJM RNS
- PJN RDR3 IF ERROR / EOR
- LDC DSLN ADVANCE BUFFER ADDRESS
- RAD T1
- LMC BUF+TPLN
- NJN RDR2 IF NOT GREATER THAN TAPE PRU
- RDR3 LJM RDRX RETURN
- RTR SPACE 4,10
- ** RTR - READ TAPE RECORD.
- *
- * EXIT (A) = 0 IF ERROR.
- * (T6) = 0.
- * (T7) = DEADSTART FUNCTION.
- RTR SUBR ENTRY/EXIT
- LDM DPW6A DEADSTART FUNCTION
- STD T7
- LPC 7000 EXTRACT EQUIPMENT NUMBER
- RAM RTRA
- RTR2 LDN 0 SET TAPE DEADSTART FLAG
- STD T6
- FNC 40,0
- RTRA EQU *-1
- LDC TPLN+4 INPUT TAPE RECORD
- ACN 0
- IAM BUF,0
- UJN RTRX RETURN
- TITLE SUBROUTINES.
- GDS SPACE 4,10
- ** GDS - GET DISK STATUS.
- *
- * EXIT (A) = GENERAL STATUS.
- GDS SUBR ENTRY/EXIT
- FNC 12,0 GET GENERAL STATUS
- ACN 0
- IAN 0
- UJN GDSX RETURN
- POS SPACE 4,15
- ** POS - POSITION MASS STORAGE.
- *
- * ENTRY (AP) = POINTER TO DISK ADDRESS.
- * (UN) = UNIT NUMBER.
- * (POSA) = SEEK FUNCTION.
- *
- * EXIT (UN+1) = PHYSICAL CYLINDER.
- * (UN+2) = PHYSICAL TRACK.
- * (UN+3) = PHYSICAL SECTOR.
- * (AP) ADVANCED TO NEXT ADDRESS.
- *
- * CALLS GDS.
- POS SUBR ENTRY/EXIT
- LDI AP SET CYLINDER
- STD UN+1
- AOD AP ADVANCE ADDRESS POINTER
- LDI AP UNPACK SECTOR
- LPC 77
- POSB EQU *-1
- * LPC 177 (IF 895)
- STD UN+3
- LDI AP SET TRACK
- POSC SHN -6
- * SHN -7 (IF 895)
- LMD DT SET 895 DEADSTART READ FLAG
- STD UN+2
- AOD AP ADVANCE POINTER ADDRESS
- POS1 FNC 2,0 SEEK FUNCTION
- POSA EQU *-1
- * FNC 1,0 (1 TO 1 INTERLACE)
- ACN 0
- LDN 4 OUTPUT SEEK PARAMETERS
- OAM UN,0
- FJM *,0
- DCN 0+40
- RJM GDS GET DISK STATUS
- ZJN POSX IF READY
- UJN POS1 LOOP UNTIL READY
- RNS SPACE 4,10
- ** RNS - READ NEXT SECTOR.
- *
- * ENTRY (A) = READ ADDRESS.
- *
- * EXIT (A) = 0 IF ERROR.
- * .GT. 0 IF EOR.
- * .LT. 0 IF FULL SECTOR WORD COUNT.
- * (T6) = LOGICAL TRACK FOR NEXT READ.
- * (T7) = LOGICAL SECTOR FOR NEXT READ.
- *
- * USES T3, L1, L2.
- *
- * CALLS GDS, POS.
- RNS SUBR ENTRY/EXIT
- SBN 2 SET READ ADDRESS
- STD T3
- STM RNSA
- LDI T3 SAVE LOCATIONS OVERLAID BY LINKAGE
- STD L1
- LDM 1,T3
- STD L2
- FNC 4,0 READ DISK SECTOR
- LDC DSLN+2
- ACN 0
- IAM BUF,0
- RNSA EQU *-1
- RNS1 RJM GDS GET DISK STATUS
- NJN RNS1 IF NOT READY
- AOD T7 ADVANCE LOGICAL SECTOR
- LMI T3
- ZJN RNS2 IF MATCHING SECTOR LINKAGE
- LDN 0 SET FIRST SECTOR
- STD T7
- LDI T3 SET NEXT TRACK
- STD T6
- SHN 0-13
- ZJN RNS3 IF NOT TRACK SWITCH
- RJM POS POSITION MASS STORAGE
- RNS2 LDD L1 RESTORE CELLS OVERLAID BY LINKAGE
- STI T3
- AOD T3
- LDI T3
- SHN -6
- SHN 21-0 SIGN BIT = FULL SECTOR FLAG
- LMD L2
- STI T3
- ADN 1 NO ERROR ON EOR
- RNS3 LJM RNSX RETURN
- SPACE 4,10
- HERE TERMINATE LINKED CHANNEL INSTRUCTIONS
- SPACE 4,10
- ERRPL *-DSLA-473 *OSB* OVERFLOWS ONE SECTOR
- END
cdc/nos2.source/opl871/osb.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator