Trailing-Edge
-
PDP-10 Archives
-
custsupcuspmar86_bb-x130b-sb
-
cldr.pal
There are 5 other files named cldr.pal in the archive.  Click here to see a list.
/ CARD LOADER FOR PDP-8, -8/E - SRR 11 AUG 71
/ CARD FORMAT :
/	COL 1	-(WORDS TO LOAD)
/		0 MEANS START AT ADDRESS
/	COL 2	ADDRESS OF DATA OR START
/	COL 3	CDF TO PROPER FIELD IF DATA,
/		CDF CIF TO PROPER FIELD IF START
/	COL 4	2'S COMPLIMENT OF 1'S COMPLIMENT CHECKSUM
/	COL 5 - 4 + WDS	DATA IF DATA CARD
/	COL 5 + WDS	CHECKSUM AFTER WORDS
/	COL 73 - 80 ARE ID AND SEQ NO.
/ CHECKSUMS ARE 1'S COMPLIMENT SUMMATION, CUMULATIVE SINCE BEGINNING
/ OF DECK, BUT ARE 2'S COMPLIMENTED SO TAD WILL GIVE 0 RESULT
NL7775=CLA CLL CMA RTL	/ -3 TO AC
/ CR08 & CR8-E
RCSF=6631	/ SKIP ON DATA READY
RCRB=6634	/ READ BINARY
RCSD=6671	/ SKIP ON CARD DONE FLAG
RCSE=6672	/ SELECT CARD READER AND SKIP IF READY
LBEG=7465		/ BEGINNING OF LOADER
NOPUNC			/ SURPRESS PUNCHING OF BOOTSTRAP
*LBEG+103
/ BOOTSTRAP IS:
BOOT,	RCSE		/ PICK A CARD
	JMP .-1
BOOT1,	RCSF
	JMP .-1
	RCRB
BOOT2,	DCA CHKSUM		/ EVENTUALLY WRITTEN OVER WITH JMP ST
	ISZ .-1
END,	JMP BOOT1
*LBEG
NW,
	*.+1
ADDR,
	*.+1
FLD,
ENPUNC		/ TURN ON PUNCHING TO GET REAL LOADER 
	*.+1
CHKSUM,	0		/ CUMULATIVE CHECKSUM FOR CARD DECK (1'S COMPLIMENT)
L,	CHKSUM		/ INITIAL VALUES FOR LOADER AND
N,	CHKSUM-END+1	/ BOOTSTRAP CHECKSUM
ST,	CLA
	TAD RD		/ PUT BOOTSTRAP BACK
	DCA BOOT2
CLP,	TAD I L		/ CHECKSUM LOADER ITSELF
	ISZ L
	ISZ N
	JMP CLP
	SZA
	HLT		/ LOADER CHECKSUM FAILURE
CD,	JMS RWD		/ FLUSH OUT REST OF CARD
	JMP .-1
	RCSE		/ READ A CARD
	JMP .-1
	NL7775		/ -3
	DCA N
	TAD C3
	JMS RD		/ GET CONTROL INFO
	TAD FLD
	DCA .+1
	HLT		/ CDF IF DATA, CDF CIF IF START
	TAD NW
	SNA
	JMP I ADDR	/ ZERO IS START
	DCA N
	TAD ADDR
	JMS RD		/ GET THE DATA LOADED
	JMP CD		/ END OF CARD RETURN
/ SUBROUTINE TO READ A BLOCK AND CHECK ITS 1'S COMP CHECKSUM
RD,	DCA CHKSUM	/ CONSTANT USED TO RESET BOOTSTRAP
	DCA L
RDL1,	JMS RWD
	DCA I L
	CLL
	TAD I L
	TAD CHKSUM
	SZL
	IAC
	DCA CHKSUM
	ISZ L
	NOP
	ISZ N
	JMP RDL1
	TAD C1		/ CDF
	RIF		/ SET DATA FIELD BACK TO
	DCA .+1		/ INSTRUCTION FIELD
	HLT
	JMS RWD		/ GET CHECKSUM
	TAD CHKSUM
	SZA		/ IS SAME ?
	HLT		/ NO DATA WAS IN ERROR
	JMP I RD
/ SUBROUTINE TO READ 1 WORD
RWD,	0422		/ WORD USED TO MAKE LOADER CHECKSUM COME OUT ZERO
RWD1,	RCSD		/ END OF CARD YET ?
	JMP RWD2	/ NO, CHECK DATA
	ISZ RWD		/ YES, SKIP RETURN
	JMP I RWD
RWD2,	RCSF
	JMP RWD1
	RCRB
	JMP I RWD
C1,	CDF
C3,	NW
/ CODE THAT OVERLAYS THE BOOTSTRAP TO GET CONTROL TO THE LOADER
BOOT,	RCSE
	JMP .-1
BOOT1,	RCSF
	JMP .-1
	RCRB
BOOT2,	JMP ST
CWDS=.-CHKSUM		/ WORDS ON CARD
CWL=110-CWDS		/ WORDS LEFT ON CARD
$