Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/drivers/dmr.b16
There are no other files named dmr.b16 in the archive.
module DMR ( ! Driver for DMR11
ident = 'X04030',
language (bliss16)
) =
begin
!
! COPYRIGHT (c) 1980, 1981, 1982
! DIGITAL EQUIPMENT CORPORATION
! Maynard, Massachusetts
!
! This software is furnished under a license and may be used
! and copied only in accordance with the terms of such license
! and with the inclusion of the above copyright notice. This
! software or any other copies thereof may not be provided or
! otherwise made available to any other person. No title to
! and ownership of the software is hereby transferred.
!
! The information in this software is subject to change
! without notice and should not be construed as a commitment
! by DIGITAL EQUIPMENT CORPORATION.
!
! DIGITAL assumes no responsibility for the use or reliability
! of its software on equipment which is not supplied by
! DIGITAL.
!
!++
!
! FACILITY: MCB DMR Driver
!
! ABSTRACT:
!
! This is the vestigial process to start up a DMR11 synchronous
! line interface. Control is passed to the DMC process.
!
! ENVIRONMENT: MCB V3.0
!
! AUTHOR: Alan D. Peckham CREATION DATE: 6-Aug-81
!
! MODIFIED BY:
!
! Alan D. Peckham, 6-Aug-81: Version 4
! 01 - New process for MCB V3.2
! 02 - Alter system line DLC to new process.
! 03 - Eliminate extraneous functionality to save space.
!--
!
! INCLUDE FILES:
!
library 'MCBLIB';
library 'XPORTX';
$SHOW (NONE)
require 'DLLLIB';
library 'NMXLIB';
library 'DMCDAT';
!
! TABLE OF CONTENTS:
!
forward routine
DMRTIM : MCB_DB_MOD novalue,
TIMPIN : MCB_DB novalue;
!
! MACROS:
!
! None
!
! EQUATED SYMBOLS:
!
literal
TRUE = 1 EQL 1,
FALSE = 1 EQL 0,
NO_OPERATION = 0;
global literal
%name ('DD.INI') = DD_CLEARED,
%name ('D.LEN') = %fieldexpand (D_BUF, 0)^1;
!
! OWN STORAGE:
!
external routine
$DSPCR : novalue;
$MCB_PROCESS (
NAME = DMR, ! Process name
DLC_DISPATCH = TABLE$ ($DSPCR, FC_CCP, ! DLL dispatch vector:
(FC_TIM, DMRTIM))) ! Timeout
!
! EXTERNAL REFERENCES:
!
external
MCB$GAW_PROCESS_DATA_BASE : vector [2],
MCB$GW_PROCESS_HANDLE;
bind
DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
routine DMRTIM
!++
! FUNCTIONAL DESCRIPTION:
!
!
! FORMAL PARAMETERS:
!
(DB : ref block field (D_FIELDS),
MODIFIER)
!
! IMPLICIT INPUTS:
! None
!
! IMPLICIT OUTPUTS:
! None
!
! ROUTINE VALUE:
!
: MCB_DB_MOD novalue =
!
! SIDE EFFECTS:
! None
!--
begin
DISPATCH$ (
.MODIFIER,
TABLE$ ($DSPCR, FD_TIM, ! Timer dispatch table:
(FM_PIN, TIMPIN)), ! RDB available
(DB [D_TIM]),
MCB_DB);
end; !of routine DMRTIM
routine TIMPIN
!++
! FUNCTIONAL DESCRIPTION:
!
!
! FORMAL PARAMETERS:
!
(DB : ref block field (D_FIELDS))
!
! IMPLICIT INPUTS:
! None
!
! IMPLICIT OUTPUTS:
! None
!
! ROUTINE VALUE:
!
: MCB_DB novalue =
!
! SIDE EFFECTS:
! None
!--
begin
begin
local
BUF : vector [3],
PIX;
DB [DF_DMR_LINE] = TRUE;
if $MCB_SET_PROCESS (%rad50_11 'DMC', PIX)
then
begin
$MCB_GET_LINE_PROCESSES (.DB [D_CIRCUIT_ENTITY], BUF);
BUF [1] = .PIX;
$MCB_SET_LINE_PROCESSES (.DB [D_CIRCUIT_ENTITY], BUF);
CALL$P (DMCDB, .PIX, .DB_BIAS, DB [D_TIM]);
MCB$GAW_PROCESS_DATA_BASE [0] = 0;
MCB$GAW_PROCESS_DATA_BASE [1] = 0;
$MCB_CLEAR_PROCESS ();
end;
end;
end; !of routine TIMPIN
end
eludom