X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/d693caac75dd25e668e43e85c29205bfc8dea06e..e0fec1517dc67b791890a0016bc6ecb0c168485d:/src/disser.mac diff --git a/src/disser.mac b/src/disser.mac index 70bde24..00122d2 100644 --- a/src/disser.mac +++ b/src/disser.mac @@ -11,7 +11,6 @@ DIS340: > SUBTTL R. GRUEN/RCC TS 03 JUN 69 V004 XP VDISSR,004 - ;PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP ; THESE ROUTINES HANDLE INTERRUPTS FROM THE DISPLAY DATA ; CHANNEL. THEY SEARCH THE COMMAND POINTER LIST SUPPLIED @@ -35,6 +34,8 @@ XP VDISSR,004 ;IF THE T30 SWITCH = 1 THIS IS THE ROUTINE FOR A DEC ;TYPE 30 DISPLAY WITH A TYPE 348 INTERFACE. ;OTHERWISE IT IS THE ROUTINE FOR A DEC TYPE 340. + + INTERNAL FTCHECK,FTMONP IFN FTCHECK+FTMONP,< @@ -83,9 +84,10 @@ DISUUI=1000 IFE T30,< DISBSY=77 PENON=7400 ->IFN T30,< -DISBSY=2000 -PENON=1000 +> +IFN T30,< +DISBSY=20000 +PENON=10000 > EXTERN JOBPFI @@ -110,8 +112,7 @@ ENTRY DISDSP CAMLE A,DISHI JRST EXIT2 > - - JRST DISINI ;INITIALIZATION + JRST DISINI ;INITIALIZATION POPJ PDP, ;PRINT ERROR AND STOP JOB DISDSP: JRST DISSTP ;RELEASE JRST DISSTP ;CLOSE @@ -128,8 +129,7 @@ DISDSP: JRST DISSTP ;RELEASE POPJ PDP, ;CLOSE INPUT POPJ PDP, ;DIRECTORY CLEAR POPJ PDP, ;MTAPE - -;DISINI IS CALLED FOR RELEASE, CLOSE, AND SUNDRY ILLEGAL CONDITIONS + ;DISINI IS CALLED FOR RELEASE, CLOSE, AND SUNDRY ILLEGAL CONDITIONS ; WHICH WANT TO TURN THE DISPLAY OFF. IT FIRST CONVINCES ; THE INTERRUPT LEVEL ROUTINES TO GO BACK TO SLEEP AND THEN ; TELLS THE MONITOR THAT THE DEVICE IS INACTIVE, LASTLY, @@ -148,7 +148,6 @@ IFN T30,< MOVEI TAC,PENCHN ;SET UP CONO WORD WITH PROPER ASH TAC,3 ; CHANNEL ASSIGNMENTS ADDI TAC,DISCHN - TRO TAC,4000 ;SET DISPLAY READY BIT IN CONO WORD MOVEM TAC,DISCON> JRST DISIN1 @@ -201,8 +200,7 @@ PENINT: CONSO DIS,0 ;CHECK FOR CONI FLAGS EXCH TAC,PENLOC ;SAVE ADR IN PENLOC AND RESTORE TAC JEN @PENCHL ;DISMIS THE INTERRUPT > - -;DISNXT IS CALLED WITH A JSR DISNXT, IT SETS UP THE NEXT + ;DISNXT IS CALLED WITH A JSR DISNXT, IT SETS UP THE NEXT ; POINTER FOR THE DISPLAY'S BLKO BY INTERPRETING A ; COMMAND LIST SUPPLIED BY THE USER, THIS COMMAND LIST ; IS DESCRIBED AT THE BEGINNING OF THE PROGRAM. IF THE @@ -251,8 +249,7 @@ INTCHK: MOVSS TAC ;PLACE INTENSITY IN CONO WORD DPB TAC,INTPNT JRST DISNX1 ;GET NEXT POINTER INTPNT: POINT 3,DISCON,29> - -;DISFIN RECEIVES CONTROL WHEN THE DISPLAY'S BLKO POINTER REACHES + ;DISFIN RECEIVES CONTROL WHEN THE DISPLAY'S BLKO POINTER REACHES ; ZERO. IT SAVES THE TWO AC'S WHICH DISNXT USES AND ; DOES A JRST TO DISNXT. ON A NORMAL RETURN IT RESTORES THE ; AC'S AND DISMISSES THE INTERPUT. ON A "NO MORE DATA" @@ -271,7 +268,6 @@ DISFIN: MOVEM TAC,DISAV ;SAVE AC'S ; AND SIMILAR GOOD THINGS SINCE IT ALSO STORES THE PC FROM ; THE JSR IN THE GENERAL PC LOCATION FOR THIS CHANNEL ; IF THE DISPLAY IS OFF. IT DOES NOT RESTART IT. - ; IT CHECKS TO SEE IF THE CLOCK HAS RUN OUT BEFORE THE PICTURE; ; IF SO, IT CALLS DISBEG TO RESTART THE DISPLAY WITH A NEW ; COMMAND LIST. IT TURNS OFF THE IO ACTIVE BIT WHICH WAS @@ -306,8 +302,7 @@ DVT3: MOVE IOS,DISIOS ;BIT FIDDLING TIME DVT6: MOVEM IOS,DISIOS PUSHJ PDP,DISBEG ;START NEW COMMAND LIST JRST DISRET - -;DISREG IS CALLED WITH A PUSHJ PDP,DISBEG, IT DISABLES THE + ;DISREG IS CALLED WITH A PUSHJ PDP,DISBEG, IT DISABLES THE ; DISPLAY ITSELF (BY USING DISOFF) AND ALSO DISABLES THE ; CLOK RESTART AND RESETS THE POINTER TO THE USER'S ; COMMAND LIST TO THAT SPECIFIED ON THE LAST OUTPUT @@ -347,8 +342,7 @@ CLKREQ: MOVSI IOS,DISCKR ;IF NO CLOCK INTERRUPT REQUESTED CLOKRT: XWD CLOK,2 ;CONTROL FOR CLOCK QUEUE: 2 JIFFIES ;TWO JIFFIES - -;CLOK IS CALLED AT THE CLOCK LEVEL IN RESPONSE TO A REQUEST + ;CLOK IS CALLED AT THE CLOCK LEVEL IN RESPONSE TO A REQUEST ; IN THE CLOCK QUEUE. A BIT IS SET TO INDICATE THAT THE ; CLOCL PERIOD HAS ELAPSED. IF THE DISPLAY IS STILL IN ; PROGRESS, CLOK RETURNS AT THIS POINT. OTHERWISE, CLOK @@ -367,7 +361,6 @@ CLOK: MOVSI IOS,DISCKR ;INDICATE CLOCK REQUEST SERVICED LDB ITEM,PJOBN TDNE TAC,JBTSTS(ITEM) ;IS SHUFFLE LOCKED OUT? JRST DISBEG ;YES, RESTART DISPLAY AND RETURN - IORM TAC,JBTSTS(ITEM) ;NO. LOCK IT OUT. MOVE TAC,JBTADR(ITEM) ;RESET DISHI AND DISREL AFTER SHUFFLING HLRZM TAC,DISHI @@ -389,8 +382,7 @@ ADRER1: PUSHJ PDP,DISDSP+DCL ;DO A CLOSE DISIN: MOVNI TAC,1 EXCH TAC,PENLOC ;GET LATEST COORDINATES, JRST STOTAC ;STORE AND RETURN - -;DISOUT DOES THE WORK OF THE OUTPUT UUO. IT SETS A BIT TO + ;DISOUT DOES THE WORK OF THE OUTPUT UUO. IT SETS A BIT TO ; INDICATE THAT THE DEVICE IS ACTIVE AND INHIBITS ; INTERUPTS WHICH MAY STILL BE IN PROGRESS. SINCE THE ; MONITOR CALLS WSYNCE BEFORE COMING HERE. THE USER IS @@ -423,5 +415,3 @@ DISOUT: TLO IOS,IO+DISWAT ;INDICATE OUTPUT; REQUEST START UP BLKLIT: BLKO DIS,DISBKO JSRLIT: JSR DISCHL END - -