.MCALL .MODULE .MODULE PISECT,VERSION=16,COMMENT= ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only 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 except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .AUDIT .PIDEF ; definition file .AUDIT .PISECT ; PSect layout .AUDIT .PISET ; SETUP/PI data definition .AUDIT .PISDAT ; SETUP/PI data area .AUDIT .PI ; Handler entry point ... .AUDIT .PISFUN ; SPFUN code .AUDIT .KBOARD ; Keyboard code .AUDIT .KBTAB ; Keyboard translation tables .AUDIT .PICOM ; Compose tables .AUDIT .VIDEO ; Display code .AUDIT .VDTAB ; Display data .AUDIT .PIOVR ; INSTALL overlay ; (low) memory resident PSects .PSECT PIDVR ,I,RW ;Memory resident driver code .PSECT VD$PIX,D,RO ;Pixel vectors .IF EQ MMG$T ;If FB .PSECT PIV,D,RW ;Video data for extended memory ;**NOTE VD$MLN must immediately follow VD$MUS .PSECT VD$MUS,D,RO ;USA font character vector VD$MUS:: .PSECT VD$MLN,D,RO ;Line Drawing font character vector VD$MLN:: .PSECT VD$MNR,D,RW ;NRC font character vector C.Font:: ; current (changable) font VD$MNR:: .PSECT VD$MNZ,D,RO ;NRC font end Z.Font:: .PSECT VD$MMN,D,RO ;Multi-national font character vector (future) VD$MMN:: .PSECT VD$80,D,RO ;Pixel patterns for 80 column characters .PSECT VD$132,D,RO ;Pixel patterns for 132 column characters .PSECT SPFUN,I,RW ;SPFUN code .PSECT PIK,I,RW ;Keyboard interrupt service code ;**NOTE KB$MEM must immediately follow KB.MEM .PSECT KB.MEM,D,RW ;Keyboard translation table C.KBTb:: ;**NOTE KB$MEZ must immediately follow KB$MEM .PSECT KB$MEM,D,RW,OVR ;Keyboard compose table KB$CMP:: .PSECT KB$MEZ,D,RO ;end of keyboard table Z.KBTb:: .PSECT SETNVR,D,RW ;Memory resident SETUP (saved) data area .ENDC ;EQ MMG$T .PSECT SETDAT,D,RW ;Memory resident SETUP data area .PSECT PIEND ,I,RW ;Memory resident end of driver code .DREND PI,PSECT=PIEND ; Boot time install code and relocation tables .PSECT INSOVR,I,RW ;Install time tables and code (block aligned) ;Generate labels for and terminate each $REL table with a zero word .PSECT RELL,D,RO ;BASE=PI $REL table RELPI:: ;Start of PI table .PSECT RELK,D,RO ;BASE=PIRK $REL table .WORD 0 ;End of previous table marker RELPRK:: ;Start of PIRK table .PSECT RELV,D,RO ;BASE=PIRV $REL table .WORD 0 ;End of previous table marker RELPRV:: ;Start of PIRV table .PSECT RELRM,D,RO ;BASE=RMON $REL table .WORD 0 ;End of previous table marker RELRM:: ;Start of RMON table .PSECT RELRK,D,RO ;BASE=RMONK $REL table .WORD 0 ;End of previous table marker RELRMK:: ;Start of RMONK table .PSECT RELRV,D,RO ;BASE=RMONV $REL table .WORD 0 ;End of previous table marker RELRMV:: ;Start of RMONV table .IF NE MMG$T ;If XM .PSECT $XMPI,D,RO ;REGION=PI $XMPTR list .WORD 0 ;End of previous table marker $XMPI:: ;Start of PI $XMPTR table ; (falls into PIV $XMPTR table) .PSECT $XMPIV,D,RO ;REGION=PIV $XMPTR list $XMPIV:: ;Start of PIV $XMPTR table .PSECT $XMPIK,D,RO ;REGION=PIK $XMPTR list .WORD 0 ;End of previous table marker $XMPIK:: ;Start of PIK $XMPTR table .ENDC ;NE MMG$T .PSECT RELEND,D,RO ;End of $REL and $XMPTR tables .WORD 0 ;End of previous table marker RELEND:: .IF NE MMG$T ;If XM .PSECT VIDOVR,D,RO ; first XM overlay (VIDEO tables) PIXBAS:: ;Base address of portion in extended memory PIVBAS:: ;Base address of video in extended memory .PSECT PIV,D,RW ;Video data for extended memory ;**NOTE VD$MLN must immediately follow VD$MUS .PSECT VD$MUS,D,RO ;USA font character vector VD$MUS:: .PSECT VD$MLN,D,RO ;Line Drawing font character vector VD$MLN:: ;**NOTE VD$MNZ must immediately follow VD$MNR .PSECT VD$MNR,D,RW ;NRC font character vector C.Font:: ; current (changable) font VD$MNR:: .PSECT VD$MNZ,D,RO ;NRC font end Z.Font:: .PSECT VD$80,D,RO ;Pixel patterns for 80 column characters .PSECT VD$132,D,RO ;Pixel patterns for 132 column characters .PSECT PIVEND,D,RO ;Marks the end of the PIV XM region PIVTOP:: .PSECT KBDOVR,I,RO ; Second XM overlay (KEYBOARD and SPFUNs) PIKBAS:: ;Base address of keyboard in extended memory .PSECT SPFUN,I,RW ;SPFUN code .PSECT PIK,I,RW ;Keyboard interrupt service code ;**NOTE KB$MEM must immediately follow KB.MEM .PSECT KB.MEM,D,RW ;Keyboard translation table C.KBTb:: ;**NOTE KB$MEZ must immediately follow KB$MEM .PSECT KB$MEM,D,RW,OVR ;Keyboard compose table KB$CMP:: .PSECT KB$MEZ,D,RO ;end of keyboard table Z.KBTb:: .PSECT SETNVR,D,RW ;Memory resident SETUP data area .ENDC ;NE MMG$T .PSECT PIKEND,D,RO ;This marks the end of the PIK XM region PIKTOP:: PIXTOP:: ;Mark the top of the PIX XM regions .PSECT SETFIX,D,RW ;SETUP "always present" tables ; in disk copy only, never loaded as part of PI.SYS .PSECT SETFAC,D,RO ;SETUP data "factory" options ;**NOTE next 4 psects are: ; SETKBA,SETKBF,SETKBD,SETKBZ .PSECT SETKBA,D,RO ;SETUP keyboard directory beginning D.KDIR:: .PSECT SETKBF,D,RW ;SETUP keyboard directory for fixed area .PSECT SETKBD,D,RW ;SETUP keyboard directory entries .PSECT SETKBZ,D,RO,OVR ;SETUP keyboard directory end .WORD 000000 ;**NOTE next 4 psects are: ; SETFNA,SETFNF,SETFND,SETFNZ .PSECT SETFNA,D,RO ;SETUP fonts directory beginning X.FONT:: .PSECT SETFNF,D,RW ;SETUP fonts directory for fixed area .PSECT SETFND,D,RW ;SETUP fonts directory entries .PSECT SETFNZ,D,RO,OVR ;SETUP fonts directory end .WORD 000000 ;**NOTE following 6 psects are ; paired K_.___ then K_$___ .PSECT KB.SUS,D,RO ;SETUP US keyboard table .PSECT KB$SUS,D,RO,OVR ;SETUP US compose .PSECT KB.SNR,D,RW ;SETUP NRC data keyboard table .PSECT KB$SNR,D,RW,OVR ;SETUP NRC compose .PSECT KT.SNR,D,RW ;SETUP NRC typewriter keyboard table .PSECT KT$SNR,D,RW,OVR ;SETUP NRC compose .PSECT VD$SNR,D,RW ;SETUP NRC character font vector .PSECT PISPLT,D,RO ;SPLIT boundary ..PISP:: ;SETUP "expendable" tables ;**NOTE in the following KB* psects, ; the following pairing (and ordering) ; must be preserved: ; KB.* followed by KB$*, where ; * is the same in both entries. .PSECT KB.F,D,RO .PSECT KB$F,D,RO .PSECT KT.F,D,RO .PSECT KT$F,D,RO .PSECT KB.B,D,RO .PSECT KB$B,D,RO .PSECT KT.B,D,RO .PSECT KT$B,D,RO .PSECT KB.CDN,D,RO .PSECT KB$CDN,D,RO .PSECT KT.CDN,D,RO .PSECT KT$CDN,D,RO .PSECT KB.DK,D,RO .PSECT KB$DK,D,RO .PSECT KT.DK,D,RO .PSECT KT$DK,D,RO .PSECT KB.UK,D,RO .PSECT KB$UK,D,RO .PSECT KT.UK,D,RO .PSECT KT$UK,D,RO .PSECT KB.SF,D,RO .PSECT KB$SF,D,RO .PSECT KT.SF,D,RO .PSECT KT$SF,D,RO .PSECT KB.D,D,RO .PSECT KB$D,D,RO .PSECT KT.D,D,RO .PSECT KT$D,D,RO .PSECT KB.NL,D,RO .PSECT KB$NL,D,RO .PSECT KT.NL,D,RO .PSECT KT$NL,D,RO .PSECT KB.I,D,RO .PSECT KB$I,D,RO .PSECT KT.I,D,RO .PSECT KT$I,D,RO .PSECT KB.CHD,D,RO .PSECT KB$CHD,D,RO .PSECT KT.CHD,D,RO .PSECT KT$CHD,D,RO .PSECT KB.CHF,D,RO .PSECT KB$CHF,D,RO .PSECT KT.CHF,D,RO .PSECT KT$CHF,D,RO .PSECT KB.S,D,RO .PSECT KB$S,D,RO .PSECT KT.S,D,RO .PSECT KT$S,D,RO .PSECT KB.N,D,RO .PSECT KB$N,D,RO .PSECT KT.N,D,RO .PSECT KT$N,D,RO .PSECT KB.SP,D,RO .PSECT KB$SP,D,RO .PSECT KT.SP,D,RO .PSECT KT$SP,D,RO .PSECT VD$C,D,RO ; Finnish .PSECT VD$R,D,RO ; French .PSECT VD$9,D,RO ; French Canadian .PSECT VD$K,D,RO ; German .PSECT VD$Y,D,RO ; Italian .PSECT VD$J,D,RO ; Japanese -- Roman .PSECT VD$6,D,RO ; Norway/Danmark .PSECT VD$Z,D,RO ; Spanish .PSECT VD$7,D,RO ; Switzerland .PSECT VD$A,D,RO ; UK ;**NOTE $LAST$ is the last psect ; in PISECT .PSECT $LAST$ ; any PSECT following is an ERROR! .END