File MOD4

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

*20
//MOD4
	 
/DECODE MODULE 4
/BLOCK 26
	 
/CONTENTS
/   COMFL2 (COMFIL STARTER)
/   ENDCOM (COMFIL ENDER)
/   MAKDIL
/   DISK
	 
	LODSYM
	 
	SEGMNT 4
	*1400
	4
	 
	ADD COMAND
	ADA I
	JMP .+4
	STC .+2
	STC COMAND
	JMP
/
	JMP DODSK
	JMP MAKDL
	JMP GONORM
	JMP GOCOM
/
GOCOM,	IOB 2
	0
/
	IOB
	6002
	CLR
	AXO
	LDF 0
	RDC
	4050
	RDC
	5051
	RDC
	6052
	RDC
	7053
	LDF 3
	WRC
	6056
	RCG
	3054
/
/
	SET I 14
	CURNUM
	SET I 17
	FILE0-1
	CLR
	LDF 3
/
	LDH
	4\DILUN
	STA I 14
	STA I 17
	LDA
	DILBLK
	STA I 14
	STA I 14
	STA I 17
	STA I 17
	LDA I
	4\3400+1
	STA I 14
	STA I 17
	JMP GOUSER
	EJECT
GONORM,	IOB 2
	0
	IOB
	6002
	CLR
	AXO
	LDF 0
	RDC
	4000
	RDC
	5001
	RDC
	6002
	RDC
	7003
	LIF 0
	JMP 20
	EJECT
/DISK HANDLER
/CALL
/READ=3, WRITE=5
/XCORE
/CORE
/XDISK
/DISK
/-N. WORDS 2S COMP
/
DODSK,	FETCH
	BSE I
	6600
	STC DSK
	FETCH
	BCL I
	7770
	ROL 3
	STC DEXT
	FETCH
	AZE
	JMP .+3
	COM
	SKP
	ADD M1
	STC W7751
	FETCH
	BCL I
	7740
	ROL 6
	ADD DEXT
	STC DEXT
	FETCH
	STC DADR
	FETCH
	STC W7750
/
DAGN,	LDF 3
	LDA I
W7750,	
	STA
	3750
	LDA I
W7751,	
	STA
	3751
	LDA I
DEXT,	0
	2
	PMODE
	6615
	CLA CLL
	TAD DADR
	IOF
DSK,	0
/
DWAT,	6621
	JMP .+3
	6141
	LMODE
	JMP DAGN
	PMODE
	6622
	JMP DWAT
	6621
	JMP .-5
	6611
	6601
	ION
	6141
	LMODE
	JMP GOUSER
DADR,	0
/
/ROUTINE TO MAKE A DIAL INDEX ENTRY
/GET ARGUMENTS FROM USER CALL SEQUENCE
/
/GET DIAL NAME
MAKDL,	FETCH
	STC FDV+1
	FETCH
	STC FDV+2
	FETCH
	STC FDV+3
	FETCH
	STC FDV+4
/GET TAPE UNIT AND FILE TYPE
	FETCH
	STC FDV
	ADD FDV
	BCL I
	0777		/FILE TYPE
	AZE
	JMP .+4		/SOURCE
	LDA I		/BINARY
	2		/BINARY CODE
	JMP .+3
	LDA I
	23		/SOURCE CODE
	STC FDV+5	/FILE TYPE CODE
	ADD FDV
	BCL I
	7770
	STC FDV		/TAPE UNIT
/GET FILE LENGTH
	FETCH
	STC FDV+7
/
/GET FRED; PUT IN DF 6
/FIRST SAVE DF 6 & 7
	JMP SAV67
	LDF 6
	IOB 12
	4036
	IOB 12
	5037
/JUMP TO FRED TO ENTER DIAL NAME
/FIRST TURN OFF INTERRUPT
	IOB
	6002		/IOF
	LDA I
	FDV
	LIF 6
	JMP 22		/ENTER IN INDEX
	 JMP EXISTS	/FILE ALREADY EXISTS
	 SKP		/NO ROOM FOR FILE
LV10,	XSK I RETURN	/NORMAL RETURN
LV7,	LDA
	FDV+6		/FILE BN
	STC COMNO	/RETURN AC
/TURN BACK ON INTERRUPT
	IOB
	6001		/ION
/RESTORE DF 6 & 7 AND RETURN TO USER
	JMP GET67
/
/FILE ALREADY PRESENT
/ASK IF WANT TO REPLACE
EXISTS,	TYPEC
	RMES		/REPLACE?
	JMP DECOD	/OPEN INPUT BUFFER
/
	LDH
	INBUF
	SAE I
	22		/R
	JMP LV7		/NO REPLACE, LEAVE
/REPLACE FILE USING FRED
/FIRST TURN OFF INTERRUPT
	IOB
	6002		/IOF
	LIF 6
	JMP 24		/REPLACE
	 JMP LV7	/NO ROOM
	JMP LV10	/NORMAL RETURN
/
/PARAMETER LIST FOR FRED
/
FDV,	0		/TAPE UNIT NUMBER
	0		/DIAL NAME
	0
	0
	0
	0		/FILE TYPE
/                        2 = BINARY
/                       23 = SOURCE
	0		/STARTING BN
/                       (FILLED BY FRED)
AA4,	0		/NO. OF BLOCKS
/
/
/
/MOD4
/FEB 74



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