Trailing-Edge
-
PDP-10 Archives
-
BB-FP64A-SB_1986
-
10,7/rdreg/dx20.mac
There are 5 other files named dx20.mac in the archive. Click here to see a list.
UNIVERSAL DEFS -- DX20 specific macro definitions for RDREG
SUBTTL G.M. Uhler/GMU
;This file contains the DX20 specific macro definitions for RDREG
;to interpret the DX20 massbus registers. The format of the macros
;is decribed when each macro is defined. The RDREG formats are
;intended to be general enough so that the only work necessary to
;make RDREG support a new device connected to an RH20 is to provide
;a new universal file containing the macro definitions for that
;device. This is the first such universal file.
.DIRECTIVE .XTABM,FLBLST,.NOBIN
SALL
;Copyright (C) 1980,1981,1982,1983 by
;Digital Equipment Corporation, Maynard, Mass.
;
;
;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.
DX2VER==1 ;Major version
DX2MIN==0 ;Minor version
DX2EDT==2 ;Edit number
DX2WHO==0 ;Who edited
SUBTTL Assembly parameters and drive type register definitions
;The following definition controls whether RDREG will ask for the
;DATAO/DATAI drive select field in addition to the RH20 device
;code. For those devices that are always in massbus slot 0 (the
;DX20 for example), set FTDSEL to a 0 and RDREG will always use
;a drive select field of zero. For those devices that do require
;a drive select code, set FTDSEL to -1 and RDREG will ask for and
;use the drive select value specified by the user.
FTDSEL==0 ;Don't need drive select for DX20s
;The following macro defines the drive type register values for those
;devices that we can interpret. The arguments to the DTRTYP macro
;are as follows:
;
; 1 - Octal value of drive type (right 9 bits)
; 2 - Corresponding mnemonic for this drive type (this mnemonic
; is used in the second level macro definitions below)
DEFINE DRVTYP,<
DTRTYP 60,TX02 ;;Tape style DX20s have a DT of 60
DTRTYP 61,RP20 ;;Disk style DX20s have a DT of 61
>
SUBTTL First level massbus register definitions
;The following macro defines the registers that we want to read and
;interpret in the device. The arguments to the XX macro are as
;follows:
;
; 1 - Massbus register number (register select field)
; 2 - Mnemonic for the register
;
;Note that the CONI definition MUST be first. RDREG depends on this
;and will work incorrectly if it is not.
DEFINE REGS,<
XLIST
XX 0,CONI ;;CONI - Must be first
XX 0,CR ;;Control register
XX 1,SR ;;Status register
XX 2,ER ;;Error register
XX 3,MR ;;Maintenance register
XX 4,AS ;;Attention summary register
XX 6,DT ;;Drive type register
XX 20,GPR0 ;;General purpose register 0
XX 21,GPR1 ;;General purpose register 1
XX 22,GPR2 ;;General purpose register 2
XX 23,GPR3 ;;General purpose register 3
XX 24,GPR4 ;;General purpose register 4
XX 25,GPR5 ;;General purpose register 5
XX 26,GPR6 ;;General purpose register 6
XX 27,GPR7 ;;General purpose register 7
XX 30,DIA0 ;;Diagnostic register 0
XX 31,DIA1 ;;Diagnostic register 1
XX 32,DIA2 ;;Diagnostic register 2
XX 33,DIA3 ;;Diagnostic register 3
XX 34,DIA4 ;;Diagnostic register 4
XX 35,DIA5 ;;Diagnostic register 5
XX 36,DIA6 ;;Diagnostic register 6
XX 37,DIA7 ;;Diagnostic register 7
XX 70,SBAR ;;Secondary block address register
XX 71,STCR ;;Secondary transfer control register
XX 72,PBAR ;;Primary block address register
XX 73,PTCR ;;Primary transfer control register
XX 74,IVIR ;;Interrupt vector index register
LIST
>
SUBTTL Second level massbus register definitions
;The following macros define the bits and fields in each of the
;massbus registers that we want to interpret. For each massbus
;register mnemonic that we defined in the first level macro definition
;above, we define a macro with the same name here that gives the
;bit and field definitions for that register. The arguments to
;the FIELDS macro are as follows:
;
; 1 - The bit mask of the bit or field in the 36 bit word
; 2 - The text associated with the bit or field
; 3 - One of BIT, VAL, or NVAL to indicate that this entity is a
; bit, a field containing a positive number, or a field containing
; a negative number, repectively. RDREG only interprets BIT values
; if the bit is on. VAL values are always printed as a field. NVAL
; values are first negated and then always printed as a field.
; 4 - Either ALL or one of the drive type mnemonics defined by
; the DRVTYP macro above. ALL values are interpreted for
; all of the legal drive types. Values that are given with
; a specific drive type mnemonic are only interpreted if the
; device is of that drive type.
DEFINE CR,<
FIELDS 1B35,<Go>,BIT,ALL
FIELDS 77B35,<Fnc>,VAL,ALL
>
DEFINE SR,<
FIELDS 1B20,<Attention>,BIT,ALL
FIELDS 1B21,<Composite error>,BIT,ALL
FIELDS 1B22,<Link present>,BIT,ALL
FIELDS 1B23,<MP run>,BIT,ALL
>
DEFINE ER,<
FIELDS 1B35,<ILF>,BIT,ALL
FIELDS 1B34,<ILR>,BIT,ALL
FIELDS 1B33,<RMR>,BIT,ALL
FIELDS 1B32,<CB par err>,BIT,ALL
FIELDS 1B31,<DB par err>,BIT,ALL
FIELDS 1B30,<UB par err>,BIT,ALL
FIELDS 1B29,<MP stop>,BIT,ALL
FIELDS 1B28,<MP err>,BIT,ALL
FIELDS 17B27,<Error class>,VAL,ALL
FIELDS 17B23,<Sub-class>,VAL,ALL
>
DEFINE MR,<
FIELDS 1B31,<Single cycle>,BIT,ALL
FIELDS 1B32,<Even parity>,BIT,ALL
FIELDS 1B33,<MP start>,BIT,ALL
FIELDS 1B34,<DX reset>,BIT,ALL
>
DEFINE AS,<
FIELDS 377B35,<Attentions>,VAL,ALL
>
DEFINE DT,<
FIELDS 377B35,<Drive type>,VAL,ALL
>
DEFINE GPR0,<
FIELDS 1B21,<Status modifier>,BIT,ALL
FIELDS 1B22,<Control unit end>,BIT,ALL
FIELDS 1B23,<Busy>,BIT,ALL
FIELDS 1B24,<Channel end>,BIT,ALL
FIELDS 1B25,<Device end>,BIT,ALL
FIELDS 1B26,<Unit check>,BIT,ALL
FIELDS 1B27,<Unit exception>,BIT,ALL
FIELDS 1B28,<Status update>,BIT,ALL
FIELDS 177B35,<Status index>,VAL,ALL
>
DEFINE GPR1,<
FIELDS 377B35,<Drive>,VAL,RP20
FIELDS 1B21,<Status modifier>,BIT,RP20
FIELDS 1B22,<Control unit end>,BIT,RP20
FIELDS 1B23,<Busy>,BIT,RP20
FIELDS 1B24,<Channel end>,BIT,RP20
FIELDS 1B25,<Device end>,BIT,RP20
FIELDS 1B26,<Unit check>,BIT,RP20
FIELDS 1B27,<Unit exception>,BIT,RP20
FIELDS 377B35,<Drive number>,VAL,TX02
FIELDS 17B27,<Drive mode>,VAL,TX02
FIELDS 17B23,<Data mode>,VAL,TX02
>
DEFINE GPR2,<
FIELDS 1B21,<Ignore length>,BIT,RP20
FIELDS 1B22,<Diagnostic mode>,BIT,RP20
FIELDS 1B23,<Command retry>,BIT,RP20
FIELDS 1B25,<Disable sense>,BIT,RP20
FIELDS 1B26,<Force sense>,BIT,RP20
FIELDS 1B27,<Whole track>,BIT,RP20
FIELDS 377B35,<Argument>,VAL,RP20
FIELDS 377B35,<Size of EST>,VAL,TX02
>
DEFINE GPR3,<
FIELDS 377B35,<Drive number>,VAL,RP20
FIELDS 377B35,<TIE byte>,VAL,TX02
FIELDS 1B25,<Disable sense>,BIT,TX02
FIELDS 1B26,<Force sense>,BIT,TX02
FIELDS 1B27,<Enable TIE recovery>,BIT,TX02
>
DEFINE GPR4,<
FIELDS 177777B35,<Cylinder>,VAL,RP20
FIELDS 377B35,<Drive>,VAL,TX02
FIELDS 1B21,<Status modifier>,BIT,TX02
FIELDS 1B22,<Control unit end>,BIT,TX02
FIELDS 1B23,<Busy>,BIT,TX02
FIELDS 1B24,<Channel end>,BIT,TX02
FIELDS 1B25,<Device end>,BIT,TX02
FIELDS 1B26,<Unit check>,BIT,TX02
FIELDS 1B27,<Unit exception>,BIT,TX02
>
DEFINE GPR5,<
FIELDS 377B27,<Head>,VAL,RP20
FIELDS 377B35,<Record>,VAL,RP20
FIELDS 177777B35,<Byte count>,NVAL,TX02
>
DEFINE GPR6,<
FIELDS 177777B35,<Extended status 0>,VAL,ALL
>
DEFINE GPR7,<
FIELDS 177777B35,<Extended status 1>,VAL,ALL
>
DEFINE DIA0,<
FIELDS 177777B35,<Microcontroller instruction register>,VAL,ALL
>
DEFINE DIA1,<
FIELDS 1B20,<IR enable>,BIT,ALL
FIELDS 1B21,<Microstore enable>,BIT,ALL
FIELDS 1B22,<PC enable>,BIT,ALL
FIELDS 1B23,<PC auto increment>,BIT,ALL
FIELDS 7777B35,<PC>,VAL,ALL
>
DEFINE DIA2,<
FIELDS 377B27,<ALU B input>,VAL,ALL
FIELDS 377B35,<ALU A input>,VAL,ALL
>
DEFINE DIA3,<
FIELDS 377B27,<Source ROM outputs>,VAL,ALL
FIELDS 377B35,<Destination ROM outputs>,VAL,ALL
>
DEFINE DIA4,<
FIELDS 377B27,<FROM7-FROM0>,VAL,ALL
FIELDS 1B28,<IR par>,BIT,ALL
FIELDS 1B29,<BALU par gen>,BIT,ALL
FIELDS 1B30,<AC par>,BIT,ALL
FIELDS 1B31,<SMUX par>,BIT,ALL
FIELDS 17B35,<UBUS int>,VAL,ALL
>
DEFINE DIA5,<
FIELDS 377B27,<BALU7-BALU0>,VAL,ALL
FIELDS 377B35,<MEM7-MEM0>,VAL,ALL
>
DEFINE DIA6,<
FIELDS 377B27,<IMUX7-IMUX0>,VAL,ALL
FIELDS 377B35,<BR7-BR0>,VAL,ALL
>
DEFINE DIA7,<
FIELDS 1B20,<C>,BIT,ALL
FIELDS 1B21,<Z>,BIT,ALL
FIELDS 1B22,<IR par err>,BIT,ALL
FIELDS 1B23,<St O/U flw>,BIT,ALL
FIELDS 1B24,<ALU A par err>,BIT,ALL
FIELDS 1B25,<ALU B par err>,BIT,ALL
FIELDS 1777B35,<MA9-MA0>,VAL,ALL
>
DEFINE SBAR,<
FIELDS 377B27,<Head>,VAL,RP20
FIELDS 377B35,<Record>,VAL,RP20
FIELDS 177777B35,<Byte count>,NVAL,TX02
>
DEFINE STCR,<
FIELDS 1777B29,<Block count>,NVAL,ALL
FIELDS 77B35,<Command>,VAL,ALL
>
DEFINE PBAR,<
FIELDS 377B27,<Head>,VAL,RP20
FIELDS 377B35,<Record>,VAL,RP20
FIELDS 177777B35,<Byte count>,NVAL,TX02
>
DEFINE PTCR,<
FIELDS 1777B29,<Block count>,NVAL,ALL
FIELDS 77B35,<Command>,VAL,ALL
>
DEFINE IVIR,<
FIELDS 777B35,<EPT relative interrupt offset>,VAL,ALL
>
DEFINE CONI,<
FIELDS 1B18,<DB par err>,BIT,ALL
FIELDS 1B19,<Drv exc>,BIT,ALL
FIELDS 1B20,<Long WC>,BIT,ALL
FIELDS 1B21,<Short WC>,BIT,ALL
FIELDS 1B22,<Chan err>,BIT,ALL
FIELDS 1B23,<Drive resp err>,BIT,ALL
FIELDS 1B24,<Reg acc err>,BIT,ALL
FIELDS 1B25,<Chan rdy>,BIT,ALL
FIELDS 1B26,<Overrun>,BIT,ALL
FIELDS 1B27,<MBE>,BIT,ALL
FIELDS 1B28,<Attn>,BIT,ALL
FIELDS 1B29,<STCR full>,BIT,ALL
FIELDS 1B30,<AIE>,BIT,ALL
FIELDS 1B31,<PTCR full>,BIT,ALL
FIELDS 1B32,<Done>,BIT,ALL
FIELDS 7B35,<PI>,VAL,ALL
>
END