File SEG1

Directory of image this file is from
This file as a plain text file

*20
/
/PDP-12 DEMO MONITOR
/
/
/
/    SEG1
/
/
/
//                                      LAST MODS 3/15/70 RICH DE JOHN "ON THE IDES OF MARCH"!!!!!!!!!!!!!!!!!!!!!!!!!
/
/
/RELEASE VERSION 1
/22 AUG 69
/REVISED 14 SEP 69
/
/
/
/DEFINITIONS
/
LMODE
OKST=0512
KBDA=0513
TYP=0514
BUFFER=3400
ZDIR=BUFFER
ION=6001
IOF=6002
/
/BANK 0 CROSS BANK REFERENCES
Y07=655
STSVD=2134
TIMER=2031
BADT=1314
INEXT=2133
 
	SEGMNT 1
	LMODE
	*20
 
 
 
/***************************************
 
 
/STATE 1 ROUTINE
/
/ENTERED WITH MESSAGE NUMBER IN AC
/
/IF MESSAGE NUMBER >=6, UNIT NO. MESSAGE
/ IS DISPLAYED FIRST
/
Y01,	LDF   0
	STC   Y01D0	/SAVE THE PARAMETER
	ADD ONE
	STC   STATE	/SET THE STATE TO 1
	IOB
	ION
Y01A,	LDA I
Y01D0,	0
	ADA I
	-5
	APO
	JMP   Y01D	/DONT DISPLAY UNIT MESSAGE
	JMP   DSPLAY
	UNITN
	0036
Y01D,	LDA I
	Y01TAB		/GET TABLE ADDRESS
	ADD   Y01D0		/INDEX BY MESSAGE NUMBER
	STC   .+2
	LDA
	0	/GET TABLE ENTRY
	STC   Y01D2
	JMP   DSPLAY
Y01D2,	0
	0032
	JMP   Y01A	/DO IT AGAIN
Y01TAB,	ERR0 /MONITOR HELP
	ERR1	/TAPE OPERATION
	ERR2	/SPURIOUS INTERRUPT
	ERR3	/UNCLEARABLE INT
	ERR4	/CANNOT FIND PROG. OR GROUP
	ERR5	/LOADING ******
	ERR6	/ILLEGAL WIRTE BLOCK ***
	ERR7	/NOT SELECTED
	ERR10	/BAD BLOCK
	ERR11	/BAD TAPE
	ERR12	/SET WRITE ENABLE
 
 
/***************************************
 
 
/STATE 2
/
/DISPALY INDEX AND EXAMINE INPUT CHARACTERS
/
Y02,	ADD XERR1
	STC   TAPMES
B1RI1,	RDC
	7016	/READ IN THE DISPLAY BLOCK
DSIX,	SET I 16
	ZPNAME+4000
/
/INITIALIZE INPUT BUFFER
/
	LDA I
	0640	/"F "
	STC   ZPNAME	/FULL SIZED CHARACTERS
	STC   ZPNAME+1
	STC   ZPNAME+2
	STC   ZPNAME+3
	CLR
  STH I 16
	ADD   C3400
	STC   ZPNAME+4
/
/DISPLAY INDEX
/
DSIXN,	JMP   DSPLAY
	BUFFER
	0034
/
	JMP   DSPLAY
	BUFFER+363	/EXECUTE MESSAGE
	0046
/
/DISPLAY THE CURRENT INPUT AS OVERLAY
//
	JMP DSPLAY
	ZPNAME
	0042
/
/SERVICE INPUT CHARACTERS
/
  OKST
  JMP DSIXN  /CONTINUE DISPLAY
  KBDA  /GET FULL ACSII
  SAE I
  215  /CR???
  SKP
  JMP DSTERP /DO SOMETHING
  SAE I
  377  /RUBOUT
  SKP
  JMP DSRUB  /YES RUBOUT
  STH 16 /STORE THE CHARACEER
  LDA 
  16
  SAE I
	ZPNAME+4
	JMP DSIXN-4
	LDH I 16	/END OF BUFFER
 
DSRUB, LDA
  16
  SAE I
	ZPNAME+1	/TOP OF BUFFER???
  SKP /NO
  JMP DSIXN / YES - DO NOT BACK UP
	ADD   M1	/BACK UP 2 CHARS.
  STC 16
	JMP DSIXN-4
 
/INTERPRET THE INPUT BUFFER
 
DSTERP,	LDA
  16
	SAE I
	ZPNAME+1
	SKP
	JMP   DSIXN
  SAE I
	ZPNAME+4
  SKP
  JMP DSTERX
  LDA I
	40	/FILL TRAILING SPACES
  STH  16
	LDH I 16	/JUST TO INCREMENT 16
	JMP   DSTERP
 
DSTERX,	LDH
	BUFFER+4377	/LAST CHAR IN DISPLAY BLOCK
		/CONTAINS GROUP COUNT
  COM
  AZE I
  JMP DSIX
  STC  15
	SET I 14
	-32	/TRY ALL 26 LETTERS FOR PROG LOOKUP
	ADD C140	/"A "
	STC   DSTFX
	JMP   GTRES	/READ IN THE INDEX
DSTRX,	ADD   ZPNAME+1
  SAE I
DSTFX,	0
  SKP
  JMP DSGRP
  LDA
	DSTFX
	ADD	C100
	STC   DSTFX
  XSK I 15
  JMP DSTRX
 
/DO A PROGAM CALL
 
DSPROG,	LDA I
	5601	/.A
	STC   ZPNAME
	JMP   DLOOK
	SKP
	JMP   DSLEX	/O.K. EXIT
	LDA I
	1
	ADD   ZPNAME
	STC   ZPNAME
	XSK I 14
	JMP   DSPROG+3
/
 
/ERROR ON NAME LOOKUP
 
DSLER, SET I 17
  ERRL+3777
  SET I 16
	ZPNAME+4000
  SET I 15
  -6
  LDH I 16
  STH I 17
  XSK I 15
  JMP .-3
  LDA I
  0004  /CANNOT FIND ERR NO.
	JMP   Y01	/GO TO STATE 1 TO DISPLAY ERR
/
/TRY A GROUP CALL
/
DSGRP,	SCR   6
	ADA I
	5600
	STC   ZPNAME	/.X
	JMP   DLOOF
	JMP DSPROG	/NOT GROUP - TRY PROG
 
 
/NORMAL EXIT
 
DSLEX,	STA
	THISDP
	SET I 11
	DEMON-1
	SET I 12
	-6
	LDA I 10
	STA I 11
	XSK I 12
	JMP   .-3
	JMP   NXSTAT
DS3,	3	/GO TO STATE 3
 
 
/***************************************
 
 
/ STATE 3 ROUTINE
/
/THIS ROUTINE LOADS THE SUMMARY FRAME
/ FOR THE SELECTED DEMO INTO THE BUFFER
/ AND SETS IT UP AS THE MESSAGE TO BE
/ DISPLAYED DURING SUBSEQUENT TAPE 
/ OPERATIONS (AS WHILE LOADING THE DEMO)
 
Y03,	STC   ZDML	/RESET DEMO LOADED FLAG
	STA
	INEXT
	STA
	STSVD
	JMP   Y05R	/RESET IMMEDIATE EXECUTION SWITCH
	ADD   BKSM
	BSE I
C7000,	7000
	JMP   READT	/READ TAPE, TAPE OP DISPLD
	LDA I
BUFFX,	BUFFER
Y03X,	STC   TAPMES	/SUMMARY AS MESSAGE
	JMP   NXSTAT
	0004	/GO TO STATE 4
 
 
/***************************************
 
 
/DEMO-12 LOADER
/
Y04,	ADD C7000
	ADD   BKSB
 STC LOHED /TAPE WORD HEADER
	ADD   CLDF2
	STC   LOREAD
	LDF   3
 JMP LORD /READ HEADER
 BCL I /CREATE CORE ADDRESS
 3000
 STC LOHED /TAPE READ INSTRUCTON
 SET I 11 /COUNT TO 40
	-30
 SET I 10 /CORE MAP POINTER
	3747
/
LOSWT,	LDF   3	/SET TO HEADER BANK
 LDA I 10 /GET MAP WORD
 APO /SKIP IF NO TAPE BLOCK
 JMP LOREAD /READ BLOCK INTO CORE
 CLR
	ADD   C1000
 LAM
 LOHED
 LZE /WRAP-AROUND?
 JMP LORSTB /RESET BANK
 XSK I 11 /COUNT
 JMP LOSWT
	ADD   TWO
	STC   ZDML	/SET DEMO LOADED FLAG
LOEXIT,	JMP   NXSTAT
FIVE,	5	/GO TO STATE 5
/
LORSTB, ADA I /RESET QUARTER
 4000
 STC LOHED
 LAM
 LOREAD
 JMP 0 /EXIT WITH NEXT BANK SETUP
/
LOREAD,	LDF   2	/CORE BANK
LORD,	RDC	/READ BLOCK
LOHED, 7000
 LDA I /BUMP BLOCK NUMBER
ONE,	1
 ADM
 LOHED
 JMP 0 /EXIT
 
 
/***************************************
 
 
/ STATE 5 ROUTINE
/
/DISPLAY THE SUMMARY FRAME
/
/THE DEMO PROGRAM IS LOADED WITH THE 
/ SUMMARY FRAME DISPLAYED - THIS STATE
/ KEEPS THE SUMMARY ON THE SCREEN
/
/IF Y05 IS SET TO A JMP Y05A, STATE 7 IS
/ENTERED IMMEDIATELY
/
Y05,	NOP
	JMP   DSPLAY
	BUFFER
	0036	/TOP LEFT OF SCREEN
	JMP   Y05+1
/
Y05B,	LDA I
	5
	STC   STATE
Y05A,	JMP   B1RI2	/A SNEAKY WAY INTO GTRES
	IOB
	IOF	/GO TO STATE 7 WITH IOF
	JMP   Y05R	/RESET SWITCH
	ADD   SEVEN
	STC   STATE
	ADD   XERR1
	STC   TAPMES
	STC   ZDML
	LDF   1
	LIF   0
	JMP   Y07
/
Y05R,	LDA I
	NOP
	STC   Y05
	JMP   0	/RETURN
 
 
/***************************************
 
 
/STATE 6 ROUTINE
/
/THIS ROUTINE IS ENTERED WHENEVER THE 
/ DEMO HAS NOT BEEN LOADED, BUT THE
/ SUMMARY FRAME HAS ALREADY BEEN 
/ DISPLAYED AND AN OPERATOR ACTION HAS
/ SUPERSEDED IT (FOR EXAMPLE, THE OPER.
/ COULD HAVE ASKED FOR DEMO HELP, THEN
/ ASKED FOR THE DEMO TO BE RUN).  
/
/THE STATE IS ALSO ENTERED WHENEVER
/ THE OPER ASKS FOR THE DEMO TO START
/ BEFORE IT IS LOADED BUT AFTER THE
/ SUMMARY IS DISPLAYED.
 
Y06,	STC   ZDML	/RESET DEMO LOADED FLAG
	STA
	STSVD
	ADD   DEMON
	STC   MSG5+1
	ADD   DEMON+1
	STC   MSG5+2
	ADD   DEMON+2
	STC   MSG5+3
	LDA I
	JMP   Y05A
	STC   Y05	/SET IMMEDIATE EXECUTION 
			/SWITCH
	LDA I
	ERR5
	JMP   Y03X	/INDIRECTLY TO STATE 4
 
 
/***************************************
 
 
/DEMO HELP STATE
/ 
/STATES 8, 9, AND 10
/ 
/DISPLAYS HELP FOR CURRENT DEMO
/
/WATCHES FOR B (CTRL B) OR F (CTRL F)
/ AND CHANGES FRAMES ACCORDINGLY
 
Y10,	ADD   BKSM	/START OF HELP ON TAPE
  ROL  1
	ADD   Y10ONE	/START WITH SECOND FRAME
  STC Y10FF
	STC   READT2
	ADD   BKSM
	ADD   BKNM	/START BK + N BK
	ADD   M1	/-1 = LAST BLOCK NUMBER
  ROL  1
  BSE I
Y10ONE, 1
  STC Y10LF
  ADD Y10FF
Y10G,  STA
  Y10FN
Y10A,  ROR 1
  BSE I
  7000
  SAE
	READT2
	JMP   READT
Y10C,  LDA
  Y10FN
  BCL I
M1,	7776
  ROL 7
	ADD   BUFFX
	STC   .+2
Y10D, JMP  DSPLAY
  0
  0036
  OKST
  JMP Y10D
	KBDA
	BCL I
  7700
  SAE I
  02    /B OR CTRL B
  JMP Y10E
C1000,	LDA
  Y10FN
  SAE I
Y10FF, 0
  SKP
  JMP Y10D
	ADD   M1
  JMP Y10G
Y10E, SAE I
  6  /F OR CTRL F
  JMP Y10D
  LDA I
Y10FN, 0
  SAE I
Y10LF, 0
	SKP
  JMP Y10D
	ADD   Y10ONE
	JMP   Y10G
 
 
/***************************************
 
 
/STATE CHANGER
/
/INTERRUPT HANDLER ENTRY
/
/SUBROUTINE ENTRY (NXSTAT)
/  NEW STATE IN P+1
 
SCI, LDF 0
	ADD   STATE
	SHD I
	0700
	JMP   Y05B
	ADA I
	JMP   SCJT
  STC  SCJT
	IOB
	ION
	CLR
SCJT, JMP .
  JMP Y01
  JMP Y02
  JMP Y03
  JMP Y04
  JMP Y05
  JMP Y06
	0	/STATE 7 IS SPECIAL
	JMP   Y10
	JMP   Y10
  JMP Y10
  JMP SCS11
  JMP SCS12
  JMP SCS13
SCS14,	JMP   GTRES	/GET INDEX
	SET   10
	THISDP
	LDH   10
	SHD I
	5600
	JMP   SCS11A
SCS14A,	JMP   NXSTAT
TWO,	2	/TO STATE 2
/
SCS11,	JMP   GTRES
	SET   11
	THISDP
	SET   10
	THISDP
	JMP   BM10	/POINT 10 AT NEXT ENTRY
	LDA   10
	SAE   11
	JMP   SCS14A	/NOT SAME GROUP
	LDA
	10
	JMP   DSLEX	/SET THISDP & 6 WORDS
		/TH EN GO TO STATE 3
/
SCS11A,	JMP   NXSTAT
	0003	/GO TO STATE 3
 
SCS12, LDA
	STSVD	/IS THERE A DEMO STATE SAVED???
  AZE I
  JMP SCS13 /NO
SCS12A,	JMP   NXSTAT
SEVEN,	7	/EXECUTE THE DEMO
/
SCS13,	ADD   ZDML
  AZE I
  JMP SCS14 /DEMO IS NOT LOADED
  JMP SCS12A/ DEMO IS LOADED - START IT
 
NXSTAT, IOB
  IOF / STATE CHANGER RUNS IOF
	LDF 1
	SET 10
  0000
  LDA 10 /GET CONTENTS OF P+1 - NEWSTATE
	STC   STATE
	JMP   SCI
 
 
/***************************************
 
 
/DIRECTORY LOOKUP
/
/ENTERED WITH NAME TO BE
/FOUND IN ZPNAME.
/
/DIRECTORY MUST HAVE BEEN LOADED INTO
/Q4 OF BANK 0 BEFORE CALLING THESE ROUTINES
/A CONVENIENT ROUTINE FOR DOING THAT IS 
/CALLED GTRES
/
/RETURN IS TO PC+2 WITH
/POINTER IN AC IF FOUND,
/PC+1 IF NOT FOUND.
/
/
DLOOK, SET 16
 0
 SET I 10
 ZDIR-1 /POINT TO DIRECTORY
 JMP DLOOKU /TEST
	JMP   BM10	/NEXT ENTRY
	JMP   .-2
/
DLOOKU, SET 11 /INNER POINTER
 10
 LDA I 11 /GET FIRST WORD
 SAE I /END TEST
 5757
 SKP /SKIP EXIT
 JMP DLCOM+1 /RETURN NO SKIP
	SAE
	ZPNAME
	JMP   0	/FAIL
 LDA I 11 /FIRST NAME PAIR
	SAE
	ZPNAME+1
	JMP   0	/FAIL
	LDA I 11
	SAE
	ZPNAME+2
	JMP   0	/FAIL
	LDA I 11
	SAE
	ZPNAME+3
	JMP   0	/FAIL
	JMP   DLCOM	/SKIP RETURN
/
/LOOKUP GROUP NAME
/
/CALL IS THE SAME AS ABOVE.
/ONLY THE FIRST [GROUP] CHARACTERS
/ARE TESTED.
/
DLOOF, SET 16
 0
 SET I 10
	ZDIR-1
DLOOFA,	SET   11
	10
 JMP DLOOKY /TEST
	JMP   BM10	/NEXT ENTRY
	JMP   DLOOFA
/
DLOOKY,	LDA I 11
 SAE I /END TEST
 5757
 SKP
 JMP DLCOM+1 /FAIL EXIT
 SAE
 ZPNAME
 JMP 0 /FAIL
DLCOM, XSK I 16 /SKIP EXIT
	XSK I 10	/MAKE 10 POINT AT THE ENTRY
	LDA
	10
 JMP 16 /RETURN
/
/READ IN THE INDEX TO BUFFER
/
GTRES,	LDA I
XERR1,	ERR1
	STC   TAPMES
B1RI2,	RDC
	7017
	JMP   0
 
 
/***************************************
 
 
/ DISPLAY SUBROUTINE
/
/DERIVATIVE OF DEC QANDA
/
/CALL:
/  JMP DSPLAY
/  TEXTADDRESS
/  X/Y  (COORDINATES OF DISPLAY)
/  RETURN (CHARACTER COUNT IN AC)
/
/IF THE X/Y ARGUMENT IS 0, DISPLAY IS
/ CONTINUED FROM THE LAST CALL
/
/SPECIAL CHARACTERS:
/  \ (34) IS TEXT TERMINATOR
/    (43) IS CAARRIAGE RETURN
/  F (06) *AS FIRST CHARACTER OF A LINE
/          ONLY* FORCES FULL SIZED 
/          DISPLAY. OTHERWISE, HALF
/          SIZE IS ASSUMED
/
 
/SPECIAL MODE FOR INDEX DISPLAY
/
/IF THE FIRST CHARACTER IS A 00, SPECIAL
/MODE IS SET. IN SPECIAL MODE:
/
/> (76) FORCES FULL SIZE
/< (74) FORCES HALF SIZE
/
DSPLAY,	LDA I
	2
	ADD   0
  STC DSXT  /SET UP EXIT
/
/PICK UP ARGUMENTS
/
  ADD 0
  BCL I
  6000
  STC  1
  LDA  1
	STC   2	/SET TEXT POINTER
/
	LDH   2	/GET FIRST CHAR. OF DISPLAY
	SET I 5	/SET THE NORMAL/INDEX SWITCH
	7777	/TO NORMAL
	AZE I	/IS THE FIRST CHAR. A 0?
	JMP   UNSW	/YES - UNSET SWITCH
	LDA
	2
	ADD   M4000	/BACK UP 1 CHAR
	STC   2
  LDA I 1
  AZE I  /ZERO ARGUMENT 2??
  JMP  DSN  /YES
  SCR 3
  BCL I
  7007
  STC  DSX  / X COORDINATE
  LDA 1
  ROL  6
  SCR  3 /THIS WAY THE SIGN IS GENERATED
  BCL I
	17
  STC DSY /Y COORDINATE
DSN, STC  DSCNT  /ZERO THE CHAR. COUNT
  SET I 1
DSX, 0
	XSK   5	/NORMAL MODE???
	JMP   DSNOW	/NO
DSH,	SET I 3
	7777	/SET FIRST CHAR FLAG
	LDA I
	NOP
	STC   DSCRLF+1
  SFA  /READ SPECIAL FUNCTIONS
  BCL I
  200  /SET TO HALF SIZE
DSESF,	ESF
/
/DISPLAY THE TEXT
/
DSNOW, LDH I 2  /CHARACTER PICKUP
  SHD I
C3400,	3400
  JMP  DSXIT  /TERMINATRO FOUND
  SHD I
  4300
	JMP   DSCRLF	/LINE FEED FOUND
	XSK   5	/NORMAL MODE???
	JMP   DSNNM	/NO
  SHD I
  1000
	JMP   DSHA	/H FOUND
  SHD I
  0600
	JMP   DSFA	/F FOUND - FULL SIZE
	JMP   DSCHR	/GO DISPLAY IT
DSNNM,	SHD I
	7400
	JMP   DSH	/HAALF SIZE
	SHD I
	7600
	JMP   DSF	/FULL SIZE
/
/NOW GET IT ON SCOPE
/
DSCHR,	ROL   1	/24 BIT TABLE
 ADA I
  DSTABL
  STC  4  /CHAR PATTERN ADDRESS
  LDA I
DSY,  0
  DSC  4
  DSC I 4
  DSC I
  0000 /CHARACTER SPACING
  LDA I
  1
  ADD DSCNT
  STC  DSCNT /BUMP CHARACTER COUNT
DSY1,	STC   3	/CLEAR FIRST CHAR. FLAG
  JMP DSNOW /NEXT CHAR
/
DSCRLF,	JMP   YBMP
	NOP	/OR JMP YBMP
	JMP   DSN+1
/
DSF,	LDA I
	JMP   YBMP
	STC   DSCRLF+1
	ADD   DSY
	BCL I
	37	/MAKE SURE ITS ON A FULL SIZE LINE
	STC   DSY
  SFA
  BSE I
	200	/SET FULL SIZE
	ESF
	JMP   DSY1
/
DSHA,	XSK   3	/TEST FLAG
	JMP   DSCHR	/NO FLAG - DISPLAY IT
	JMP   DSY1	/NO ACTION REQD - CLEAR FLAG
			/AND DO NEXT CHAR
/
DSFA,	XSK   3	/TEST FLAG
	JMP   DSCHR	/NO FLAG - DISPLAY IT
	JMP   YBMP
	JMP   DSF
/
DSXIT,	LDA I
DSCNT,	0
DSXT,	JMP   .	/THIS WAS INITIALIZED
/
UNSW,	LDA I 5	/UNSET SWITCH
	LDH I 2	/INCREMENT 2 BY ONE CHAR
	JMP 0
/
YBMP,	LDA I
	-17
	ADD   DSY
	BCL I 
	17
	STC   DSY
	JMP   0
 
 
/***************************************
 
 
			/CHARACTER PATTERNS
	*1126
DSTABL,	0101	/KBD 0 ILLEGAL
	0101	/USED AS MARKER
	4477		/1:A
	7744
	5177		/2:B
	2651
	4136		/3:C
	2241
	4177		/4:D
	3641
	4577		/5:E
	4145
	4477		/6:F
	4044
	4136		/7:G
	2645
	1077		/10:H
	7710
	7741		/11:I
	0041
	4142		/12:J
	4076
	1077		/13:K
	4324
	0177		/14:L
	0301
	3077		/15:M
	7730	
	3077		/16:N
	7706	
	4177		/17:O
	7741
	4477		/20:P
	3044
	4276		/21:Q
	0376
	4477		/22:R
	3146
	5121		/23:S
	4651
	4040		/24:T
	4077
	0177		/25:U
	7701	
	0176		/26:V
	7402
	0677		/27:W
	7701
	1463		/30:X
	6314
	0770		/31:Y
	7007
	4543		/32:Z
	6151
	4177		/33:/
	0000
C100,	0100		/34:\ NOT DISPLAYED
C140,	0140
	0000		/35:]
	7741
			/36 & 37 NOT DISPLAYED
THISDP,	0	/POINTER TO DIRECTIRY ENNTRY
STATE,	0
ZDML,	0	/DEMO LOADED FLAG
CLDF2,	LDF 2
	0000		/40:SPACE
	0000
	7500		/41:!
	0000
	7000		/42:"
	0070
			/43,44,45 NOT DISPLAYED
BM10,	LDA I
	10
	ADD   10
	STC   10
	JMP   0
M4000,	-4000
	5166		/46:&
	0526
	0000		/47:TAB NOT DISPLAYED
	0000
	3600		/50:(
	0041
	4100		/51:)
	0036
	2050		/52:*
	0050
	0404		/53:+
	0437
	0500		/54:,
	0006
	0404		/55:-
	0404
	0001		/56:.
	0000
	0601		/57:\
	4030
	4536		/60:0
	3651
	2101		/61:1
	0177
	4523		/62:2
	2151
	4122		/63:3
	2651
	2414		/64:4
	0477
	5172		/65:5
	0651
	1506		/66:6
	4225
	4443		/67:7
	6050
	5126		/70:8
	2651
	5122		/71:9
	3651
	2200		/72::
	0000
	4601		/73:;
	0000
	2000		/74: UPARROW
	2077
	1212		/75:=
	1212
	0200		/76: DOWNARROW
	0277
	4020		/77:?
	2055
 
 
/***************************************
 
 
READT,	STC   READT2
	LDA I
	ERR1
	STC   TAPMES
	RDC
READT2,	0
	JMP   0	/RETURN
/
/
/THE FOLLOWING CODE IS CALLED FROM BANK 2
/
/IT IS OVERLAYED WITH DEMO NAME AND
/PERTINENT BLOCK INFORMATION ONCE
/INITIALIZATION IS COMPLETED
/
DEMON,
DCALL,	JMP   DSPLAY
	0	/FILLED IN FROM BANK 2
	0	/SAME HERE
	LIF 2
	JMP   761
BKSB,	0
BKSM=BKSB-2
BKNM=BKSB-1
/
/
/THE FOLLOWING ROUTINES ARE CALLED FROM
/   BANK 0.
TAPDSP,	LDF   0
	JMP   DSPLAY
TAPMES,	0
	0036
	SCR   4
	ADM
	TIMER
	NOP	/KLUDGE TIME OUT FIX
	JMP   TAPDSP+1
	LIF   0
	JMP   BADT
/
CALLDL,	JMP   DLOOK
	SKP
	XSK I 5
	JMP   4	/LIF 0, JMP RETURN WERE PLACED IN 4&5
/
/
/***********************************:
/
/
UNITN,	TEXT "FUNIT "
UNITM,	TEXT "  \"
/
ZPNAME, TEXT "        \"
/
ERR0,	TEXT "F         DEMO12
   TYPE             COMMANDS
F CTRL
F  S  START PROGRAMS
F  I  INDEX DISPLAY
F  N  NEXT PROGRAM
F  C  CONT. PROGRAM
F  H  HELP!!!!!!!!!! 
 
B OR F TO GO BKWRD OR FRWRD IN HELP FRAMES\"
/
*1621
ERR1,	TEXT "TAPE OPERATION IN PROGRESS\"
/
ERR2, TEXT "SPURIOUS INTERRUPT\"
/
ERR3, TEXT "UNCLEARABLE INTERRUPT\"
/
ERR4, TEXT "FCANNOT FIND
FPROGRAM OR GROUP
F"
ERRL, 0
  0
  0
  3434
/
ERR5, TEXT "FLOADING  "
MSG5, TEXT "        \"
/
ERR6,	TEXT "FILLEGAL WRITE -
F      BLOCK "
ERR6T,	TEXT "000\"
/
ERR7,	TEXT "FNOT SELECTED\"
/
ERR10,	TEXT "FBAD BLOCK  "
ERR10T,	TEXT "000\"
/
ERR11,	TEXT "FBAD TAPE\"
/
ERR12,	TEXT "FSET WRITE ENABLE\"
/
/
/
/END OF SEG1 ROUTINE
/
/
/                                        LAST MODS 3/15/70  RICH DE JOHN "ON THE IDES OF MARCH"!!!!!!!!!!!!!!!!!!!!!!!!!



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search