1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-05-02 22:43:26 +00:00
Files
PDP-10.stacken/files/stacken-tape-backup/dskb:10_7/unscom/dc72/cldr.pal
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

152 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/ 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
$