plato:source:plaopl:dd60
Table of Contents
DD60
Table Of Contents
- [00923] DISPLAY DRIVER FOR X.CONSOLE
- [00951] DISPLA - DISPLAY DATA
- [00987] DIRECT CELL ASSIGNMENTS
- [01028] MAIN LOOP
- [01516] CHECK AND PROCESS ERROR FLAG
Source Code
- DD60.txt
- DD60
- * /--- FILE TYPE = E
- * /--- BLOCK IDENT 00 000 86/04/15 10.50
- IDENT CONSOLE,111B,CONSOLE
- ABS
- CONSOLE TTL PLATO TERMINAL EMULATOR FOR THE DD60
- CONSOLE SPACE 4
- ENTRY CONSOLE
- SYSCOM B1
- SST
- ORG 111B
- DCPU EQU 72B CPU PRIORITY (SAME AS CONDEN)
- XTEXT TITLE GET SYSTEM TEXTS
- LIST F
- *CALL COMSSSD
- *CALL AIDTEXT
- *CALL PLAP501
- *CALL SYSCON
- *CALL PLASRWX
- *CALL PARAMC
- *CALL PCFTEXT
- *CALL PLASMRC
- *CALL COMCMAC
- *CALL COMCDCM
- *CALL COMSPRD
- LIST F,X
- *CALL DTEXT
- LIST *
- * /--- BLOCK BUFFERS 00 000 84/12/10 12.47
- BUFFERS TITLE CHARACTER AND POINT BUFFERS
- *** THE LOCATIONS AND LENGTHS ARE DEFINED IN DTEXT
- *
- ORG 111B
- KBUF BSSZ 1 KEYSET BUFFER
- LBUF BSSZ LBUFLNG FROM THE FORLDIS OVERLAY
- * /--- BLOCK HBUF 00 000 84/12/10 12.49
- HBUF TITLE SPECIAL PLATO CHARACTER DEFINITIONS
- *** HBUF - HARDWARE CHARACTER MEMORY
- *
- * THE FOLLOWING DATA CODES WILL PLOT
- * THE PLATO SPECIAL CHARACTERS.
- * THE CODES ARE IN A PREDETERMINED
- * ORDER (SEE *CTAB*)
- LIST F,X
- *CALL DCHARS
- BASE O
- LIST *
- HBUF BSS 0
- LOC 0
- NN SET 0
- MACREF PKEY$
- MACRO PKEY,NAME
- MACREF PKEY
- NAME EQU NN/8D
- NN SET NN+8D
- ENDM
- COLN PKEY
- DATA 0
- DATA 0
- DATA 0
- DATA 420
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- DOLR PKEY
- DATA 3100
- DATA 4440
- DATA 4440
- DATA 17760
- DATA 4440
- DATA 4440
- DATA 2300
- DATA 0
- DIV PKEY
- DATA 0
- DATA 200
- DATA 200
- DATA 1240
- DATA 200
- DATA 200
- DATA 0
- DATA 0
- LBKT PKEY
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- DATA 17770
- DATA 10010
- DATA 10010
- DATA 0
- RBKT PKEY
- DATA 0
- DATA 10010
- DATA 10010
- DATA 17770
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- PCT PKEY
- DATA 6060
- DATA 11100
- DATA 6200
- DATA 400
- DATA 1140
- DATA 2220
- DATA 4140
- DATA 0
- TIMS PKEY
- DATA 1000
- DATA 1020
- DATA 440
- DATA 300
- * /--- BLOCK HBUF 00 000 76/10/16 15.23
- DATA 300
- DATA 460
- DATA 1020
- DATA 0
- ASSN PKEY
- DATA 200
- DATA 500
- DATA 1040
- DATA 3560
- DATA 500
- DATA 500
- DATA 500
- DATA 0
- TICK PKEY
- DATA 0
- DATA 0
- DATA 2000
- DATA 34000
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- QUOT PKEY
- DATA 0
- DATA 2000
- DATA 36000
- DATA 0
- DATA 2000
- DATA 34000
- DATA 0
- DATA 0
- EXCL PKEY
- DATA 0
- DATA 0
- DATA 0
- DATA 17560
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- SEMI PKEY
- DATA 0
- DATA 0
- DATA 4
- DATA 470
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- LCRT PKEY
- DATA 0
- DATA 200
- DATA 500
- DATA 1040
- DATA 2020
- DATA 0
- DATA 0
- DATA 0
- RCRT PKEY
- DATA 0
- DATA 0
- DATA 2020
- DATA 1040
- DATA 500
- DATA 200
- DATA 0
- DATA 0
- UNDL PKEY
- DATA 4
- DATA 4
- DATA 4
- DATA 4
- DATA 4
- DATA 4
- DATA 4
- DATA 0
- QSMK PKEY
- DATA 0
- DATA 6000
- DATA 10000
- DATA 10320
- DATA 10400
- DATA 7000
- DATA 0
- DATA 00
- ARRW PKEY
- DATA 16034
- DATA 11044
- DATA 4510
- DATA 2220
- DATA 1040
- DATA 500
- DATA 200
- DATA 0
- NUMB PKEY
- DATA 1100
- DATA 1100
- DATA 7760
- DATA 1100
- DATA 1100
- DATA 7760
- DATA 1100
- DATA 1100
- TLDE PKEY
- DATA 4000
- DATA 10000
- DATA 10000
- DATA 4000
- DATA 2000
- DATA 2000
- DATA 4000
- DATA 0
- DOTS PKEY
- DATA 0
- * /--- BLOCK HBUF 00 000 76/10/16 15.30
- DATA 0
- DATA 10000
- DATA 0
- DATA 0
- DATA 10000
- DATA 0
- DATA 0
- HAT PKEY
- DATA 0
- DATA 10000
- DATA 20000
- DATA 40000
- DATA 20000
- DATA 10000
- DATA 0
- DATA 0
- LSLT PKEY
- DATA 0
- DATA 4000
- DATA 4000
- DATA 10000
- DATA 10000
- DATA 10000
- DATA 20000
- DATA 0
- RSLT PKEY
- DATA 0
- DATA 20000
- DATA 10000
- DATA 10000
- DATA 10000
- DATA 4000
- DATA 4000
- DATA 0
- UARW PKEY
- DATA 0
- DATA 400
- DATA 1000
- DATA 3760
- DATA 1000
- DATA 400
- DATA 0
- DATA 0
- RARW PKEY
- DATA 200
- DATA 200
- DATA 200
- DATA 200
- DATA 1240
- DATA 700
- DATA 200
- DATA 0
- DARW PKEY
- DATA 0
- DATA 100
- DATA 40
- DATA 3760
- DATA 40
- DATA 100
- DATA 0
- DATA 0
- LARW PKEY
- DATA 200
- DATA 700
- DATA 1240
- DATA 200
- DATA 200
- DATA 200
- DATA 200
- DATA 0
- APRX PKEY
- DATA 100
- DATA 200
- DATA 200
- DATA 100
- DATA 40
- DATA 40
- DATA 100
- DATA 0
- SGMA PKEY
- DATA 10010
- DATA 16070
- DATA 11110
- DATA 10610
- DATA 10010
- DATA 10010
- DATA 10010
- DATA 0
- DLTA PKEY
- DATA 60
- DATA 320
- DATA 1420
- DATA 6020
- DATA 1420
- DATA 320
- DATA 60
- DATA 0
- LSCL PKEY
- DATA 300
- DATA 140
- DATA 20
- DATA 20
- DATA 20
- DATA 140
- DATA 300
- * /--- BLOCK HBUF 00 000 76/10/16 15.32
- DATA 0
- USCL PKEY
- DATA 1400
- DATA 3000
- DATA 4000
- DATA 4000
- DATA 4000
- DATA 3000
- DATA 1400
- DATA 0
- LPAR PKEY
- DATA 400
- DATA 17360
- DATA 20010
- DATA 20010
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- RPAR PKEY
- DATA 0
- DATA 0
- DATA 0
- DATA 20010
- DATA 20010
- DATA 17360
- DATA 400
- DATA 0
- AND PKEY
- DATA 0
- DATA 60
- DATA 1510
- DATA 2210
- DATA 2310
- DATA 1450
- DATA 20
- DATA 10
- NTEQ PKEY
- DATA 40
- DATA 1300
- DATA 1200
- DATA 1600
- DATA 1200
- DATA 3200
- DATA 5200
- DATA 0
- LINE PKEY
- DATA 0
- DATA 0
- DATA 0
- DATA 37774
- DATA 0
- DATA 0
- DATA 0
- DATA 0
- DEG PKEY
- DATA 0
- DATA 03000
- DATA 4400
- DATA 10200
- DATA 10200
- DATA 4400
- DATA 3000
- DATA 0
- DEFN PKEY
- DATA 1240
- DATA 1240
- DATA 1240
- DATA 1240
- DATA 1240
- DATA 1240
- DATA 1240
- DATA 0
- ALPH PKEY
- DATA 600
- DATA 1100
- DATA 2040
- DATA 2040
- DATA 1100
- DATA 700
- DATA 1040
- DATA 0
- BETA PKEY
- DATA 0
- DATA 7770
- DATA 10420
- DATA 10420
- DATA 10420
- DATA 7340
- DATA 0
- DATA 0
- SSGM PKEY
- DATA 0
- DATA 0
- DATA 1540
- DATA 2220
- DATA 4220
- DATA 140
- DATA 0
- DATA 0
- LMDA PKEY
- DATA 0
- DATA 20
- DATA 6040
- DATA 1500
- DATA 200
- DATA 140
- DATA 20
- * /--- BLOCK HBUF 00 000 76/10/16 15.35
- DATA 0
- MU PKEY
- DATA 10
- DATA 1760
- DATA 10
- DATA 10
- DATA 10
- DATA 1760
- DATA 10
- DATA 0
- PI PKEY
- DATA 1000
- DATA 1000
- DATA 1760
- DATA 1000
- DATA 1760
- DATA 1000
- DATA 1000
- DATA 0
- RHO PKEY
- DATA 0
- DATA 700
- DATA 1104
- DATA 1100
- DATA 1100
- DATA 600
- DATA 0
- DATA 0
- SDLT PKEY
- DATA 0
- DATA 140
- DATA 220
- DATA 220
- DATA 340
- DATA 200
- DATA 200
- DATA 100
- OMGA PKEY
- DATA 740
- DATA 1020
- DATA 20
- DATA 160
- DATA 20
- DATA 1020
- DATA 740
- DATA 0
- LTEQ PKEY
- DATA 0
- DATA 210
- DATA 510
- DATA 1050
- DATA 10
- DATA 10
- DATA 0
- DATA 0
- GTEQ PKEY
- DATA 0
- DATA 0
- DATA 10
- DATA 10
- DATA 1050
- DATA 510
- DATA 210
- DATA 0
- THTA PKEY
- DATA 0
- DATA 1740
- DATA 2220
- DATA 2220
- DATA 2220
- DATA 2220
- DATA 1740
- DATA 0
- EACH PKEY
- DATA 740
- DATA 1020
- DATA 2310
- DATA 2450
- DATA 2750
- DATA 1040
- DATA 700
- DATA 0
- BKSL PKEY
- DATA 2000
- DATA 1000
- DATA 400
- DATA 200
- DATA 100
- DATA 40
- DATA 20
- DATA 0
- LOC *O
- BASE D
- LIST *
- * /--- BLOCK GOPLT 00 000 76/10/09 19.38
- GOPDD SPACE 4
- * FIRST TIME FLAG
- GOPDD DATA 1 PDD STARTS WHEN GOPDD = 0
- PDDSTAT DATA 2 PDD STATUS WORD
- CONTYPE DATA -1 -1=NOT READY, 0=CC545, 1=CDC721
- SCOPY BSSZ MDISMAX DISPLAY SCREEN COPY
- PDDBUF BSSZ MDISMAX+64D PDD COMMAND BUFFER
- SWK1 DATA 0,0,0 SYSTEM WORK WORDS
- SWK2 EQU SWK1+1
- KB2A DATA 0,0 KEY BUFFER
- * /--- BLOCK ECS 00 000 76/10/09 19.00
- ECS TITLE BUFFER OF ECS POINTER WORDS
- *** ECS POINTERS. SET UP AT INITIALIZATION.
- ECSPNT BSS 0
- ECSADD BSSZ 1 POINTER TO KEY BUFFERS
- LDISADD BSSZ 1 POINTER TO L DISPLAY BUFFER
- BSSZ NDSPLOC-*+ECSPNT PAD AREA
- * /--- BLOCK MAIN LOOP 00 000 79/05/28 07.06
- MNL TITLE SCREEN DISPLAY FORMATS
- *
- *
- * THERE ARE THREE CM BUFFERS ASSOCIATED WITH
- * THE CONSOLE DISPLAY.
- *
- * *LBUF* - CURRENT FORMATTED DISPLAY
- * FORMAT-
- * WORD 1 - 36/0
- * 12/X-COORDINATE
- * 12/Y-COORDINATE
- * WORDS 2-8 - 6 BIT DISPLAY CODES
- *
- * *SCOPY* - CURRENT SCREEN DISPLAY
- * FORMAT-
- * WORD 1 - 36/0
- * 12/X-COORDINATE
- * 12/Y-COORDINATE
- * WORDS 2-8 - 6 BIT DISPLAY CODES
- *
- * *PDDBUF* - COMMAND BUFFER TO PP/PDD
- * FORMAT-
- * WORD 1 - 36/0
- * 12/X-COORDINATE
- * 12/Y-COORDINATE
- * WORDS 2-8 - 6 BIT DISPLAY CODES
- * OR
- * WORD 1 - 24/0
- * 12/X-COORDINATE
- * 12/Y-COORDINATE
- * 12/ERASE TO EOL CODE(FEELF)
- *
- * CDC721 SYSTEM CONSOLE -
- * WORD BY WORD COMPARISON OF *LBUF* IS MADE
- * WITH *SCOPY*.
- * CHANGED WORDS ARE UPDATED IN *SCOPY*.
- * ONLY CHANGED LINES ARE WRITTEN TO *PDDBUF*.
- * CHANGED LINES ARE WRITTEN TO *PDDBUF* AS AN
- * ERASE TO END-OF-LINE FUNCTION(EELF) FOLLOWED
- * BY THE CONTENTS OF THE LINE IN *LBUF*.
- * BLANK LINES ARE NOT WRITTEN TO *PDDBUF*.
- *
- * CC545 CONSOLE -
- * CONTENTS OF THE FORMATTER SCREEN BUFFER IS
- * WRITTEN TO *LBUF*.
- * PP/PDD READS *LBUF*.
- *
- * DEFINES FOR CM DISPLAY BUFFERS
- *
- MLP TITLE MAIN EXECUTION LOOP
- *** MAIN EXECUTION LOOP
- * CHECK FOR KEYS AND BUFFER CHANGES
- *
- USE MAIN
- MLP RJ KBI CHECK FOR KEY INPUTS
- SA1 PDDBUF CHECK FOR PP/PDD READY
- ZR X1,MLP0
- RECALL
- EQ MLP LOOP
- MLP0 SA1 LDISADD GET DISPLAY ADDRESS
- BX0 X1
- SA0 SWK1 READ BUFFER COUNTER
- RE 3 AND BUFFER LENGTHS
- - RJ ECSPRTY
- SA1 A0
- SA2 BUFCNT
- IX2 X1-X2 LOOK FOR CHANGE
- NZ X2,MLP1 IF NEW BUFFER
- RECALL
- SX6 2
- SA6 PDDSTAT
- EQ MLP GO LOOK AGAIN
- * PROCESS NEW BUFFER
- MLP1 BX6 X1 RESET LOCAL BUFFER COUNTER
- SA6 A2 BUFCNT
- SX1 8 SET ECS ADDRESS TO REAL BUFFER
- SA2 SWK1+1 GET BUFFER LENGTH
- IX0 X0+X1
- * /--- BLOCK MAIN LOOP 00 000 79/05/28 07.06
- SB2 X2
- BX6 X2 SET BUFFER LENGTH FOR PDD
- SA6 LBUF
- SA0 A6+B1
- RE B2
- - RJ ECSPRTY
- SA1 CONTYPE
- ZR X1,MLP2 IF CC545 CONSOLE
- * INITIALIZATIONS FOR READING THE DISPLAY BUFFER
- SA1 LBUF
- SB3 X1+LBUF B3=END OF *LBUF*
- SA3 LBUF FWA OF *LBUF*
- SA4 SCOPY FWA OF *SCOPY*
- SB4 WPL CM WORDS PER LINE
- SB6 PDDBUF COMMAND BUFFER FOR PP/PDD
- * INITIALIZATIONS FOR LINE BY LINE COMPARISON
- CB10 SB7 A3+WPL CHECK FOR END OF BUFFER
- SX0 B3-B7
- NG X0,CB200 EXIT
- SB5 B0 INITIALIZE FLAG FOR BLANK LINE
- SX5 B0 INITIALIZE NON-ZERO LINE
- SA3 A3+B1 CAUSE SKIP ON X/Y COORDINATES
- SA4 A4+B1 CAUSE SKIP ON X/Y COORDINATES
- SB2 B1 SKIPPED ONE WORD
- *
- CB20 SB2 B2+B1 INCREMENT WORDS/LINE READ
- SX0 B4-B2 CHECK FOR END OF DISPLAY LINE
- NG X0,CB60 TRANSFER LINE TO *PDDBUF*
- SA3 A3+B1 PTR INTO *LBUF*
- ZR X3,CB30 CHECK FOR NON-ZERO WORD
- SB5 -B1 FLAG NON-ZERO LINE
- CB30 SA4 A4+B1 PTR INTO *SCOPY*
- BX4 X3-X4 CHECK FOR A CHANGE
- ZR X4,CB20 LOOP IF NO CHANGE
- SX5 -B1 THIS LINE CHANGED
- BX6 X3 UPDATE *SCOPY* FROM *LBUF*
- SA6 A4
- EQ CB20 LOOP
- *
- CB60 ZR X5,CB10 NO CHANGE ON THIS LINE. LOOP.
- SA1 CONTYPE CHECK CONSOLE TYPE
- ZR X1,CB100 545 CONSOLE
- * LOAD ERASE TO END OF LINE FUNCTION TO *PDDBUF*
- SB7 A3-B4 GET X/Y FOR THIS LINE
- SA1 B7+B1
- BX6 X1
- LX6 12
- SX0 FEELF
- BX6 X6+X0
- SB6 B6+B1 B6=PTR INTO *PDDBUF*
- SA6 B6 STORE IT
- ZR B5,CB10 DONE IF LINE IS BLANK
- * TRANSFER THIS LINE TO *PDDBUFF*.
- CB100 SB7 A3-B4
- SB7 B7+B1
- CB110 SA1 B7
- BX6 X1
- SB6 B6+B1 POSITION IN *PDDBUF*
- SA6 B6
- SX0 A3 TEST FOR END OF LINE
- SB7 B7+B1
- SX5 B7
- IX0 X0-X5
- PL X0,CB110 TRANSFER NEXT WORD
- EQ CB10 GET NEXT LINE
- CB200 SX6 B6-PDDBUF STORE LENGTH OF *PDDBUF*
- SA6 PDDBUF
- MLP2 MX6 0
- SA6 GOPDD LET PDD GO
- * /--- BLOCK MAIN LOOP 00 000 79/05/28 07.06
- SA1 MLP3
- BX6 X1
- SA6 MLP2 PLANT JUMP
- MLP3 EQ MLP LOOP
- BUFCNT DATA -1 FORCE FIRST BUFFER READ
- * /--- BLOCK KBI 00 000 76/10/16 18.28
- KBI TITLE KEYBOARD INPUT
- *** KBI - KEYBOARD INPUT
- *
- * PLUGS THE ENTERED KEY INTO PLATO
- * KEY BUFFER IN ECS.
- KBI SUBR
- SA2 KBUF GET POSSIBLE KEY
- PL X2,KBI --- EXIT
- MX3 1
- BX2 -X3*X2 CLEAR UPPER BIT SET BY *PDD*
- SA0 KB2A
- SA4 ECSADD
- SX0 X4+LSTUD*2
- + RE 2
- - RJ ECSPRTY
- SA3 A0
- SA4 A0+B1
- MX5 -12
- BX6 -X5*X3 PPU WORD COUNT
- BX0 -X5*X4 CP WORD COUNT
- SX5 B1
- IX6 X6+X5 INCREMENT PP WORD COUNT
- * /--- BLOCK KBI 00 000 76/10/16 18.28
- SB6 X6 SAVE BYTE COUNT
- SX5 3
- BX6 X6*X5 MOD 4 BYTE COUNT
- LX6 2 *4
- SB7 X6
- SB7 B7+B7
- SB7 B7+X6 *12
- SB7 B7+12
- MX5 -12
- LX3 X3,B7 PUT APPROPRIATE BYTE IN LOWER BITS
- BX3 X5*X3 CLEAR LOWER BITS
- BX3 X3+X2 MERGE IN CHARACTER
- SB7 B7-60
- AX6 X3,B7 RETURN KEYWORD TO ORIGINAL POSITION
- SX4 B6
- SX3 7777B
- BX4 X3*X4 TAKE 12 BIT SUM
- BX6 X6*X5
- IX6 X6+X4 RESTORE BYTE COUNT
- SA6 A0
- SA4 ECSADD
- SX0 X4+LSTUD*2
- + WE 1
- - RJ ECSPRTY
- SX7 2 CLEAR KEY AND STATUS
- SA7 KBUF
- SA7 PDDSTAT
- EQ KBIX RETURN
- * /--- BLOCK DSYS 00 000 80/01/24 09.36
- COMCSYS TITLE SYSTEM COMUNICATIONS
- *** COMUNICATED WITH SYSTEM AND MASTOR
- *
- *
- *CALL COMCSYS
- * /--- BLOCK ECSPRTY 00 000 80/09/02 23.16
- ECSPRTY TITLE ECSPRTY - ECS ERROR ACTION
- *** ECS ERROR ACTION
- *
- * ISSUE MESSAGE AND ABORT
- ECSPRTY SUBR
- MESSAGE ECSMSG,0,R
- ABORT
- ECSMSG DIS ,* ++++ ECS ERROR ++++*
- * /--- BLOCK SETCM 00 000 76/10/09 17.18
- SETCM TITLE SET RUNNING CM MEMORY
- *** SET UP RUNNING CM MEMORY..
- *
- *
- SETCM SX6 CMEND+1+77B ROUND UP
- AX6 6
- LX6 30+6
- SA6 SWK1 SET UP REQUEST
- MEMORY CM,SWK1,RECALL
- * RECALL SWK1
- EQ MLP EXIT TO MAIN LOOP
- CMEND BSS 0
- * /--- BLOCK CONSOLE 00 000 80/01/18 04.30
- CONSOLE TITLE INITIALIZATIONS
- *** SET PRIORITIES AND AFFILIATE WITH PLATO
- *
- *
- CONSOLE SB1 1 SET UNIVERSAL CONSTANT FOR B1=1
- *
- *
- * SET QUEUE PRIORITIES
- *
- *
- SX1 DCPU CPU PRIORITY
- .NOSV2 IFGE OSLEV,562D NOS V2
- SX2 IRSI PREVENT ROLLOUT
- .NOSV2 ELSE NOS V1
- SX2 LSSS-1 EQUAL TO MASTOR
- .NOSV2 ENDIF
- LX2 30
- BX6 X1+X2
- SA6 SWK1+1
- MASTOR SWK1,MS.PRI
- *
- *
- * AFFILIATE WITH PLATO
- *
- *
- SRDY1 BSS 0
- SA1 =4L"LGC.PLAT" PLATO LOGIC IDENTIFIER
- BX6 X1
- SA6 SWK1+1
- MASTOR SWK1,MS.AFF
- MX0 -11
- SA1 SWK1 CHEKC REPLY CODE
- AX1 12
- BX1 -X0*X1 MASK OFF ERROR CODE
- ZR X1,SRDY3 IF SUCCESSFUL
- RECALL
- EQ SRDY1 TO TRY AGAIN
- *
- *
- * NOW READ IN ECS PARAMETERS
- *
- *
- SRDY2 RECALL
- SRDY3 SA0 SWK1 READ EM LOW CORE POINTER
- SX0 DSPINTP
- RE 1 ONE WORD POINTER
- - RJ ECSPRTY
- SA1 A0 GET POINTER
- PL X1,SRDY2
- MX2 1 STRIP OK BIT
- BX0 -X2*X1
- SA0 ECSPNT
- RE NDSPLOC NUMBER OF POINTER WORDS
- - RJ ECSPRTY
- *
- *
- * BRING UP DISPLAY DRIVER
- *
- *
- MX6 0
- SA6 SWK1 CLEAR STATUS BIT
- SYSTEM PDD,,PDDSTAT
- RECALL PDDSTAT WAIT FOR PDD
- *
- SRDY9 SA1 CONTYPE WAIT TIL PDD SETS CONSOLE TYPE
- NG X1,SRDY9
- *
- EQ SETCM GO SET CM MEMORY REQUIREMENTS
- END CONSOLE
- * /--- BLOCK PLT 00 000 82/11/02 10.52
- IDENT PDD,PDD
- PERIPH
- SST RDS
- COMMENT DISPLAY DRIVER FOR CONSOLE
- TITLE DISPLAY DRIVER FOR X.CONSOLE
- LIST F
- SPACE 4
- * GET SYSTEM PPU MACROS
- *CALL COMPMAC
- BASE MIXED
- LIST X
- *CALL COMDMAC
- LIST *
- BASE *
- *CALL COMSPIM
- *CALL COMSSSJ
- *CALL COMSCPS
- *CALL AIDTEXT
- *CALL SYSCON
- *CALL PCFTEXT
- *CALL DTEXT
- BASE MIXED
- .NOSV1 IFLT OSLEV,562D NOS V1
- SPACE 4
- ** DISPLA - DISPLAY DATA
- *
- *
- * DISPLA X,X,(TEXT)
- * ENTRY *X* = X-COORDINATE
- * *Y* = Y-COORDINATE
- * *TEXT* = DISPALY TEXT
- * IF COORDINATES NOT PRESENT DISPLAY AT PRESENT
- * SCREEN POSITION
- DISPLA MACRO X,Y,T
- LOCAL I,J,K
- QUAL
- K MICRO 1,,$T$
- .1 MICCNT K
- I SET .1+1
- I SET I/2
- LDN K
- OAM J,CH
- QUAL *
- DIS RMT
- QUAL
- J BSS 0
- IFNE X,,2
- CON X
- I SET I+1
- IFNE Y,,2
- CON Y
- I SET I+1
- DATA H$"K"$
- K EQU I
- QUAL *
- DIS RMT
- ENDM
- .NOSV1 ENDIF
- * /--- BLOCK PLT 00 000 82/11/02 10.53
- TITLE DIRECT CELL ASSIGNMENTS
- *
- *
- MACRO DRC,NAME,ARG
- NAME EQU DRC$
- CON NAME
- QUAL
- IFC EQ,*ARG**
- DRC$ SET DRC$+1
- ELSE 1
- DRC$ SET ARG+DRC$
- QUAL *
- ENDM
- *** DIRECT LOCATION ASSIGNMENTS
- DRC$ SET LA
- ORG PPFW
- UC DRC UPPER CASE CHARACTER FLAG
- SL DRC SHIFT LEVEL FOR KBI PROCESSING
- LC DRC LAST KEY PRESSED
- FN DRC 5 CM KEY BUFFER WORD
- XC DRC USED BY *COMDDIS* / *COMDSYS*
- YC DRC USED BY *COMDDIS* / *COMDSYS*
- .NOS23 IFLT OSLEV,617D
- NC DRC USED BY *COMDSYS*
- .NOS23 ELSE
- CT DRC CONSOLE TYPE (0=CC545, 1=721)
- .NOS23 ENDIF
- BF DRC PLATO BUFFER CONTROL (1/SEC)
- SPACE 3
- ERRPL DRC$-IR TOO MANY DIRECT CELLS USED
- SPACE 4
- *** ASSEMBLY CONSTANTS
- CH EQU CHDS DISPLAY CHANNEL
- NAME MICRO 1,, PDD USED BY *COMDDSP*
- SPACE 4
- TITLE MAIN LOOP
- * /--- BLOCK PLT LOOP 00 000 84/08/01 07.50
- SPACE 4
- ORG PPFW
- PDD LJM PRS PRESET
- * MAIN LOOP
- MNL LDD CT GET CONSOLE TYPE
- ZJN MNL0 IF CC545 CONSOLE
- LJM MNL7210 IF CDC721 CONSOLE
- MNL0 FJM *,CH IF DATA NOT TAKEN, WAIT
- DCN CH+40
- CFNC SLSF SELECT LEFT SCREEN, SMALL CHARS
- LDC LBUF
- RJM DLN DISPLAY CHARACTER BUFFER
- FJM *,CH IF DATA NOT TAKEN, WAIT
- DCN CH+40
- RJM KBI KEYBOARD INPUT
- RJM DRS DISPLAY RIGHT SCREEN
- MNL1 DCN CH+40
- RJM CEF CHECK ERROR FLAG
- AOD BF
- SBN 10D FOR 1/5 SEC
- PJN MNL3 IF TIME FOR NEW PLATO BUFFER
- LJM MNL LOOP
- MNL3 STD BF
- LDD RA
- SHN 6
- ADC PDDSTAT SET RECALL BIT
- CWM FCW,ON FILE COMPLETE BIT
- MONITOR RCLM
- LJM MNL LOOP
- MNL721 TITLE MAIN LOOP FOR CDC721 CONSOLE
- *
- *** MNL721 - MAIN LOOP FOR CDC721 CONSOLE
- *
- * RIGHT SCREEN IS DISPLAYED ON ENTRY AND
- * ONLY UPDATED IN *KBI*.
- * LEFT SCREEN IS UPDATED WHENEVER *PDDBUF*
- * IS NON-ZERO.
- *
- MNL7210 DCN CH+40
- CFNC SLSF SELECT LEFT SCREEN/SMALL CHARS
- CFNC CHSF CLEAR HIDDEN SCREEN
- RJM DRS DISPLAY RIGHT SCREEN
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- FJM *,CH
- DCN CH+40
- MNL721 LDD RA
- SHN 6
- ADC PDDSTAT SET RECALL BIT
- CWM FCW,ON FILE COMPLETE BIT
- MONITOR RCLM
- MNL7215 RJM CEF CHECK ERROR FLAG
- RJM KBI KEYBOARD INPUT
- LDD RA CHECK FOR DATA TO READ
- SHN 6
- ADC PDDBUF CM BUFFER WORD COUNT
- CRD CM
- LDD CM+4 (CM+4)=0 IF NOTHING TO DO
- ZJN MNL7215 LOOP
- STD BF WORD COUNT OF *PDDBUF*
- DCN CH+40
- CFNC SLSF SELECT LEFT SCREEN, SMALL CHARS
- LDC PDDBUF SET ADDRESS OF *PDDBUF*
- RJM DLS DISPLAY LEFT SCREEN
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- LDN ZERL READY FOR ANOTHER BUFFER
- CRD CM
- LDD RA
- SHN 6
- ADC PDDBUF
- CWD CM
- LJM MNL721 LOOP
- * /--- BLOCK DLN 00 000 76/12/15 16.23
- DLN TITLE DISPLAY LINE BUFFER
- *** DLN - DISPLAY LINE BUFFER
- *
- * ENTRY - (A) = CENTRAL ADDRESS OF BUFFER
- * AND WITH SCOPE MODE SET (CHAR OR POINT)
- DLN SUBR
- STM DLNA
- ADN 1
- STM DLNB
- LDD RA
- SHN 6
- ADC ** FWA BUFFER
- DLNA EQU *-1
- CRD CM CHECK BUFFER WORD COUNT
- LDD CM+4
- ZJN DLNX IF NO BUFFER
- STD T1
- LDC 100 CENTRAL WORD COUNT FOR CRM
- STD T2
- LDN 0 STARTING ADDRESS IN BUFFER
- STD T3
- DLN1 LDD RA
- SHN 6
- ADD T3
- ADC ** + 1 STARTING ADDRESS OF BUFFER
- DLNB EQU *-1
- CRM CBUF,T2
- LDC 100
- RAD T3 INCREMENT BUFFER ADDRESS
- LDD T1
- ADC -100 CHECK BUFFER EMPTY YET
- MJN DLN2 IF LAST OF BUFFER
- STD T1
- LDC 500 WORD COUNT FOR OAM
- UJN DLN3
- DLN2 LDN 0
- STD T2 FLAG END OF BUFFER
- LDD T1
- SHN 2 4*CENTRAL COUNT
- ADD T1 5*CENTRAL COUNT=PP COUNT
- NJN DLN3 IF NOT ZERO WORD COUNT
- LJM DLNX EXIT IF ZERO
- DLN3 OAM CBUF,CH OUTPUT DATA
- LDD T2
- NJN DLN1 IF MORE IN BUFFER
- LJM DLNX
- CHS TITLE CLEAR HIDDEN SCREEN
- *
- *** CHS - CLEAR HIDDEN SCREEN.
- *
- * ENTRY - RIGHT OR LEFT SCREEN ALREADY SELECTED.
- *
- * EXIT - CHANNEL 10 IS ACTIVE.
- *
- * CALLS - NONE.
- *
- * MACRO - CFNC
- CHS SUBR
- ACN CH+40
- LDC LOWERY INITALIZE Y COORDINATE
- STM CHSXY+1
- CHS1 LDN 2 SEND X/Y COORDINATES
- OAM CHSXY,CH
- CFNC EELF ERASE TO EOL
- LDN YINC INCREMENT Y COORDINATE
- RAM CHSXY+1
- SBM UPPERY CHECK FOR MORE LINES TO CLEAR
- MJP CHS1
- UJN CHSX EXIT
- CHSXY DATA 6000B 721 X COORDINATE/LEFTMOST
- BSSZ 1 721 Y COORDINATE
- LOWERY EQU 7214B 721 Y COORDINATE/BOTTOM
- UPPERY DATA 7764B 721 UPPERMOST Y COORDINATE
- DLS TITLE DISPLAY CDC721 LEFT SCREEN
- *** DLS - DISPLAY LEFT SCREEN
- *
- * ENTRY - ( A ) = CENTRAL ADDRESS OF BUFFER
- * LEFT OR RIGHT SCREEN HAS BEEN SELECTED.
- *
- * CALLS - NONE
- *
- * /--- BLOCK DLN 00 000 76/12/15 16.23
- * MACROS- NONE
- DLS SUBR
- ACN CH+40
- ADN 1 SKIP PAST WORD COUNT
- STM DLSA FWA OF THE BUFFER
- LDN 0
- STD T2
- DLS10 LDD BF TOTAL WORDS LEFT IN THE BUFFER
- ZJN DLSX
- MJN DLSX I'7M A COWARD
- STD T1 WORDS TO READ
- ADC -100
- MJN DLS50 LESS THAN 100 WORDS TO READ
- LDC 100
- STD T1 READ 100 WORDS
- * READ FROM THE BUFFER
- DLS50 LDD RA
- SHN 6
- ADD T2
- ADC **
- DLSA EQU *-1
- CRM CBUF,T1
- LDD T1 INCREMENT STARTING CM ADDRESS
- RAD T2 FOR THE NEXT READ
- LDD BF DECREMENT WD COUNT IN CM BUFFER
- SBD T1
- STD BF
- * OUTPUT FROM *CBUF*
- LDC CBUF-1
- STD T3
- LDD T1
- SHN 2 4*CM WORDS
- ADD T1 5*CM WORDS=PP WORDS
- STD T1 T1=PP WORDS READ
- DLS100 FJM *,CH
- SOD T1 T1=WORDS LEFT TO READ
- PJN DLS110
- LJM DLS10 LOOP
- * CHECK FOR ERASE TO END OF LINE FUNCTION.
- * OUTPUT *EELF* IF ONE IS FOUND.
- DLS110 AOD T3 INCREMENT POINTER INTO *CBUF*
- LDI T3 GET NEXT BYTE FROM *CBUF*
- LMC FEELF CHECK FOR CLEAR SCREEN FUNCTION
- NJN DLS150
- LDD T3 CHECK PREVIOUS BYTE FOR
- SBN 1 Y-COORDINATE
- STD T4
- LDI T4
- LPC 7000B
- ADC -7000B
- NJN DLS150
- CFNC THVF TRANSFER HIDDEN TO VISIBLE 1ST
- DCN CH+40
- CFNC EELF ISSUE ERASE TO EOL FUNCTION
- LJM DLS100 LOOP
- DLS150 LDD T3
- STM DLSB
- LDN 1
- OAM **,CH
- DLSB EQU *-1
- LJM DLS100 LOOP
- * /--- BLOCK KBI 00 000 84/08/01 07.53
- KBI TITLE KEYBOARD ENTRY ROUTINE
- *** KBI - KEYBOARD INPUT
- *
- KBI1 LMD LC
- KBI2 STD LC SET LAST CHARACTER
- KBI SUBR
- LDN ZERL CLEAR KEY BUFFER WORD
- CRD FN
- DCN CH+40
- CFNC SKIF SELECT KEYBOARD INPUT
- IAN CH
- DCN CH+40
- ZJN KBI2 IF NO CHARACTER
- LMD LC
- ZJN KBI1 IF SAME AS LAST KEY
- LMD LC
- STD LC SET LAST KEY
- ADD SL 0 IF SHIFT LEV 0, 63 IF LEVEL 1
- STD FN+4
- LDM CHRT,FN+4 READ PLATO EQUIVALENT OF CHARACTER
- LMD UC TOGLE BY 40 IF UPPER CASE CHAR
- SHN 1 FOR PARITY BIT
- STD FN+4 PLATO KEY CODE
- SHN 5
- PJN *+3
- LJM PRB PROCESS RIGHT BLANK
- SHN 1
- PJN *+3
- LJM PLB PROCESS LEFT BLANK
- SHN 1
- PJN *+3
- LJM PSYS PROCESS SYSTEM (SWITCH TO DSD)
- SHN 2 ONE UNUSED BIT
- PJN *+3
- LJM KBIX PROCESS NOP
- * /--- BLOCK KBI 00 000 84/08/01 07.54
- KBI3 BSS 0
- LDC 4000
- STD FN
- LDD RA
- SHN 6
- ADC KBUF KEYBOARD BUFFER ADDRESS IN CM
- CWD FN WRITE CHARACTER
- ADC PDDSTAT-KBUF RECALL CP WORD ADDRESS
- CWM FCW,ON FILE COMPLETE BIT
- MONITOR RCLM
- LDC 200
- STD LC CLEAR KEY
- LDC 50D*50D 50D*20 MILLISECONDS
- STD BF FORCE CONSOLE TO RESPONED
- * UPDATE RIGHT SCREEN FOR CDC721 IF FUNCTION
- * OR UPPER CASE IS SELECTED.
- LDD CT GET CONSOLE TYPE
- ZJN KBI4 IF CC545
- LDD SL CHECK FOR FUNCTION SELECTED
- ADD UC OR UPPER CASE SELECTED
- ZJN KBI4 NEITHER SELECTED
- LDN 0
- STD UC CLEAR UPPER CASE
- STD SL CLEAR FUNCTION SETTING
- LJM CH721 UPDATE RIGHT SCREEN FOR 721
- KBI4 LDN 0
- STD UC
- STD SL
- LJM KBIX DONT UPDATE RIGHT DISPLAY
- PRB LDN 63
- STD SL SET TO FUNCTIONS
- LJM CH721 UPDATE RIGHT SCREEN FOR 721
- PLB LDN 40
- LMD UC FLIP CASES
- STD UC
- ZJN PLB1
- LJM CH721 UPDATE RIGHT SCREEN FOR 721
- PLB1 STD SL
- LJM CH721 UPDATE RIGHT SCREEN FOR 721
- PSYS LDD UC
- ZJN PSYS1 IF IN LOWER CASE
- DCN CH+40 DROP DISPLAY
- RJM DDS
- LJM DPP DROP PPU, CONTROL PT. AND EXIT
- PSYS1 DCN CH+40
- RJM HDC HOLD DISPLAY
- LDD CT GET CONSOLE TYPE
- ZJN PSYS2 IF CC545 CONSOLE
- DCN CH+40
- CFNC SLSF SELECT LEFT SCREEN
- RJM CHS CLEAR HIDDEN SCREEN
- LDD RA
- SHN 6
- ADC LBUF
- CRD CM
- LDD CM+4
- STD BF
- LDC LBUF REPLOT THE SCREEN
- RJM DLS
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- PSYS2 LDN 1R* PRESET TO *
- STD LC
- LDN 0
- STD UC
- STD SL
- CH721 LDD CT CHECK FOR 721 CONSOLE
- ZJN CH7219 IF CC545 CONSOLE
- DCN CH+40
- CFNC SRSF SELECT RIGHT SCREEN,SMALL CHARS
- RJM CHS CLEAR HIDDEN SCREEN
- RJM DRS DISPLAY RIGHT SCREEN
- FJM *,CH WAIT
- CFNC THVF TRANSFER HIDDEN TO VISIBLE
- FJM *,CH
- * /--- BLOCK KBI 00 000 84/08/01 07.54
- DCN CH+40 DISCONNECT CHANNEL
- CH7219 LJM KBIX EXIT
- FCW VFD 60/1 STATUS BIT
- * /--- BLOCK DRS 00 000 84/08/01 08.00
- DRS TITLE DISPLAY RIGHT SCREEN
- *** DRS - DISPLAY RIGHT SCREEN
- *
- DRS SUBR
- DCN CH+40
- CFNC SRSF SELECT RIGHT SCREEN,SMALL CHARS
- LDD CT GET CONSOLE TYPE
- NJP DRS10
- DISPLA 6000,7670,( 0 1 2 3 4 5 6 7 8
- , 9 LB = RB)
- DISPLA 6024,7620,( Q W E R T Y U I
- ,O P + -)
- DISPLA 6000,7550,( ERAS A S D F G H J
- ,K L * /)
- DISPLA 6024,7500,( NEXT Z X C V B N M
- ,, . (
- DISPLA ,,( )
- DISPLA ,,)
- LDD SL
- NJN DRS1 IF FUNCTION
- DISPLA 6000,7704,(LCRT RCRT LBKT RBKT DOLR PCT UNDL TICK)
- DISPLA 6610,7704,( FCTN SHFT)
- UJN DRS2 TRY FOR SHIFT
- DRS1 BSS 0
- DISPLA 6430,7704,( SUP SUB TERM TAB COPY SHFT)
- DISPLA 6644,7634,(MICRO BOX)
- DISPLA 6050,7564,( ASGN DIV HELP
- , EDIT LAB)
- DISPLA 6144,7514,(ESCAPE)
- DISPLA 6334,7514,( BACK MUL SCLN DATA STOP)
- DRS2 LDD UC
- ZJN DRS3
- DISPLA 6730,7704,( SHFT)
- DISPLA 6730,7704,( SHFT)
- DRS3 LJM DRSX EXIT
- * /--- BLOCK DRS 00 000 84/08/22 11.24
- .NOS23 IFGE OSLEV,617D
- DRS10 LDD SL
- NJN DRS20 IF FUNCTION
- DISPLA 6230,7702,( )
- UJN DRS30
- DRS20 DISPLA 6230,7702,(FUNCTION KEYBOARD EQUIVALENTS),HF
- DRS30 LDD UC
- NJN DRS40
- DISPLA 6000,7714,(NORMAL KEYBOARD EQUIVALENTS),HF
- DISPLA 6400,7714,(SHIFTED KEYBOARD EQUIVALENTS)
- UJN DRS50
- DRS40 DISPLA 6000,7714,(NORMAL KEYBOARD EQUIVALENTS)
- DISPLA 6400,7714,(SHIFTED KEYBOARD EQUIVALENTS),HF
- DRS50 LDD SL
- NJP DRS200 IF FUNCTION
- DISPLA 6000,7656,( SHIFT = FORWARD TAB)
- DISPLA 6000,7632,( FUNCTION = BACKWARD TAB)
- DISPLA 6000,7606,( ERASE = BACK ARROW)
- DISPLA 6000,7562,( NEXT = NEXT / RETURN)
- DISPLA 6000,7512,( + = + / DOWN)
- DISPLA 6000,7466,( - = - / UP)
- DISPLA 6000,7442,( ( = ( / FWD
- DISPLA 6000,7416,( ))
- DISPLA ,,( = ))
- DISPLA ,,( / BKW )
- DISPLA 6000,7362,( * = * / SQUARE)
- *
- DISPLA 6400,7656,( LESS THAN = 0)
- DISPLA 6400,7632,( GREATER THAN = 1)
- DISPLA 6400,7606,( LEFT BRACKET = 2)
- DISPLA 6400,7562,( RIGHT BRACKET = 3)
- DISPLA 6400,7536,( DOLLAR SIGN = 4)
- DISPLA 6400,7512,( PERCENT SIGN = 5)
- DISPLA 6400,7466,( UNDERLINE = 6)
- DISPLA 6400,7442,( SINGLE QUOTE = 7)
- LJM DRSX
- DRS200 DISPLA 6000,7656,( ASSIGNMENT = A)
- DISPLA 6000,7632,( BACK = B)
- DISPLA 6000,7606,( COPY = FORWARD TAB)
- DISPLA 6000,7562,( DATA = FWD)
- DISPLA 6000,7536,( DIVIDE = D)
- DISPLA 6000,7512,( EDIT = * / SQUARE)
- DISPLA 6000,7466,( HELP = H)
- DISPLA 6000,7442,( LAB = /)
- DISPLA 6000,7416,( MICRO = + / DOWN)
- *
- DISPLA 6416,7656,( MULTIPLY = M)
- DISPLA 6416,7632,( SEMICOLON = ,)
- DISPLA 6416,7606,( SQUARE = UP)
- DISPLA 6416,7562,( STOP = ))
- DISPLA 6416,7536,( SUBSCRIPT = 8)
- DISPLA 6416,7512,( SUPERSCRIPT = 7)
- DISPLA 6416,7466,( TAB = BACKWARD TAB)
- DISPLA 6416,7442,( TERM = 9)
- *
- DISPLA 6240,7372,( DROP DISPLAY = X)
- DISPLA 6240,7360,( HOLD DISPLAY = BACKWARD TAB-X)
- LJM DRSX
- .NOS23 ENDIF
- * /--- BLOCK CEF 00 000 84/08/01 08.00
- TITLE CHECK AND PROCESS ERROR FLAG
- *** CEF - CHECK ERROR FLAG
- *
- CEF SUBR
- PAUSE
- LDD CM+1 CHECK ERROR FLAG
- ZJN CEFX IF OK
- DCN CH+40
- RJM DDS DROP DISPALY
- DPP MONITOR DCPM DROP CONTORL POINT
- DPP1 MONITOR DPPM DROP PPU
- LJM PPR IDLE
- * /--- BLOCK KEY EQUS 00 000 76/12/17 22.00
- DD60 TITLE PLATO KEY EQUIVALENCES
- *** TABLE OF PLATO EQUIVALENCES OF DD60 KEYS
- *
- CHRT BSS 0
- DATA 0 NO ENTRY FOR ZERO
- DATA 101 A
- DATA 102 B
- DATA 103 C
- DATA 104 D
- DATA 105 E
- DATA 106 F
- DATA 107 G
- DATA 110 H
- DATA 111 I
- DATA 112 J
- DATA 113 K
- DATA 114 L
- DATA 115 M
- DATA 116 N
- DATA 117 O
- DATA 120 P
- DATA 121 Q
- DATA 122 R
- DATA 123 S
- DATA 124 T
- DATA 125 U
- DATA 126 V
- DATA 127 W
- DATA 130 X
- DATA 131 Y
- DATA 132 Z
- DATA 000 0
- DATA 001 1
- DATA 002 2
- DATA 003 3
- DATA 004 4
- DATA 005 5
- DATA 006 6
- DATA 007 7
- DATA 010 8
- DATA 011 9
- DATA 016 +
- DATA 017 -
- DATA 050 *
- DATA 135 /
- DATA 051 (
- DATA 173 )
- DATA 4000 L-BLANK = FCTN
- DATA 133 =
- DATA 2000 R-BLANK = SHIFT
- DATA 137 ,
- DATA 136 .
- DATA 026 CR = NEXT
- DATA 023 BKSP = ERASE
- DATA 100 SPACE
- * /--- BLOCK SHIFT 1 00 000 84/08/01 08.03
- SHIFT1 TITLE PLATO FUNCTION EQUIVALENCES
- ** SHIFT LEVEL 1 EQUIVALENCES
- DATA 0 NO ENTRY FOR ZERO
- DATA 015 A = ASSIGN
- DATA 030 B = BACK
- DATA 200 C = NOP
- DATA 013 D = DIVIDE
- DATA 200 E = NOP
- DATA 200 F = NOP
- DATA 200 G = NOP
- DATA 025 H = HELP
- DATA 200 I = NOP
- DATA 200 J = NOP
- DATA 200 K = NOP
- DATA 200 L = NOP
- DATA 012 M = MULTIPLY
- DATA 200 N = NOP
- DATA 200 O = NOP
- DATA 200 P = NOP
- DATA 200 Q = NOP
- DATA 200 R = NOP
- DATA 200 S = NOP
- DATA 200 T = NOP
- DATA 200 U = NOP
- DATA 200 V = NOP
- DATA 200 W = NOP
- DATA 1000 X = ESCAPE
- DATA 200 Y = NOP
- DATA 200 Z = NOP
- DATA 200 0 = NOP
- DATA 200 1 = NOP
- DATA 200 2 = NOP
- DATA 200 3 = NOP
- DATA 200 4 = NOP
- DATA 200 5 = NOP
- DATA 200 6 = NOP
- DATA 020 7 = SUP
- DATA 021 8 = SUB
- DATA 062 9 = TERM
- DATA 024 + = MICRO
- DATA 034 - = BOX
- DATA 027 * = EDIT
- DATA 035 / = LAB
- DATA 031 ( = DATA
- DATA 032 ) = STOP
- DATA 014 L-BLANK = TAB
- DATA 033 (=) = COPY
- DATA 2000 R-BLANK = SHFT
- DATA 134 , = ;
- DATA 200 . = NOP
- DATA 026 CR = NEXT
- DATA 023 BKSP = ERASE
- DATA 200 SPACE = NOP
- * /--- BLOCK COM DECKS 00 000 84/08/01 08.12
- SPACE 4
- LIST X
- *CALL COMDDSP
- *CALL COMDDIS
- *CALL COMDSYS
- SPACE 4
- .NOSV2 IFGE OSLEV,562D NOS V2
- DIS HERE FOR *DISPLA* MACRO IN *COMDSYS*
- .NOSV2 ENDIF
- * /--- BLOCK INITIAL 00 000 84/08/01 08.12
- * THE FOLLOWING SPACE IS USED FOR A CENTRAL
- * BUFFER AFTER BEING EXECUTED
- CBUF BSS 0
- .NOS23 IFGE OSLEV,617D
- DIMB DUMP INST MOD BUFFER
- .NOS23 ENDIF
- PRS PAUSE
- LDD CM+1 GET ERROR FLAG
- ZJN *+3 IF NO ERROR
- LJM DPP
- LDD CP
- .NOSV2 IFGE OSLEV,562D NOS V2
- ADN JOTW JOB ORIGIN TYPE WORD
- CRD CM
- LDD CM+3
- .NOSV2 ELSE NOS V1
- ADN JNMW
- CRD CM
- LDD CM+3
- LPN 77
- .NOSV2 ENDIF
- LMN SYOT CHECK IF SYSTEM ORIGIN
- ZJN PRS1 IF SYOT
- LDN PPET SET ERROR FLAG
- STD CM+1
- MONITOR CEFM
- LJM DPP1
- PRS1 RJM RDS ASK FOR THE DISPLAY NICELY
- LDN 0 RESET DISPLAY PAUSE
- STD T1
- PRS2 LDM PSSI,T1 PLANT NEW INSTRUCTIONS
- STM PSS+1,T1
- AOD T1
- SBN ILTH
- NJN PRS2
- LDC 6000
- STD XC SET INITIAL X
- LDN 0
- STD UC CLEAR UPPER SHIFT
- STD SL AND SHIFT LEVEL
- STD LC PRESET LAST CHARACTER TO ZERO
- STD BF CLEAR PLATO BUFFER CONTROL
- .NOS23 IFGE OSLEV,617D
- * SET CONSOLE TYPE FLAG.
- LDN DSEQ
- SFA EST
- ADK EQAE
- CRD CM
- LDD CM+2
- STD CT
- LDN ZERL
- CRD CM
- LDD CT SET CONSOLE TYPE
- STD CM+4
- LDD RA
- SHN 6
- ADC CONTYPE
- CWD CM
- LDD CT
- ZJP MNL EXIT IF CC545
- MDIN SRMT MODIFY CODE FOR 721 CONSOLE
- .NOS23 ENDIF
- LJM MNL MAIN LOOP
- PSSI RJM CEF CHECK ERROR FLAG
- LJM /COMDDSP/PSSX
- ILTH EQU *-PSSI
- BSS 500+CBUF-*
- SBUF BSS 10*5
- PBUF BSS 0
- CBUFL1 EQU 200*2+4
- CBCML EQU CBUFL1/5 CM WORD COUNT
- END
plato/source/plaopl/dd60.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator