File RK8ESY.PA (PAL assembler source file)

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

/RK8E SYSTEM HANDLER FOR BUILD V4 (EDUCOMP)
*0
-2
DEVICE RK8E;DEVICE SYS;4050;2007;0;6260
DEVICE RK8E;DEVICE RKB0;4050;1021;ZBLOCK 2

-33
NOPUNC
*0
ENPUNC
BOOT,	TAD I BOOTX1
	DCA I BOOTX2
	TAD I BOOTX3
	CDF 10
	DCA I BOOTX4
	CDF 
	TAD BOOTX2
	SZA CLA
	JMP BOOT
	JMP I B7605
BOOTX1,	177
BOOTX2,	7577
BOOTX3,	46
BOOTX4,	7646
B7605,	7604
ZBLOCK 30-.
	DSKP
	JMP .-1
	JMP BOOT
/THE RK8E BOOTSTRAP IS
/30	6743
/31	5031

*207 NOPUNC *7607 ENPUNC DCLR= 6742 DLAG= 6743 DLDC= 6746 DRST= 6745 DSKP= 6741 DLCA= 6744 RKEBLK= 7750 /12 BITS OF BLOCK NUMBER SERRCT= 7751 /HOLDS RETRY COUNT PAGCNT= 7752 /PAGE COUNT RKECMD= 7753 /BASE OF DLDC COMMAND CHKHED= 7754 /CHECK HEADER FLAG SOFSET= 7747 /OS/8 FUDGE LOCATION SHNDLR, 0 CLA CLL TAD SHNDLR DCA SHNDL1 /SETUP COMMAON EXIT + PARAMS JMP SHNDC /VARIOUS CONSTANTS TO PAD E.P. FOR RKA1 TO 7621 S6260, 6260 S4070, 4070 /USED TO GET READ/WRITE AND DF BITS S3700, 3700 /TO GET PAGE COUNT SCIF, CIF /TO RESTORE USERS FIELD S1002, 1002 /USED TO CHECK FOR RECALIBRATE ERRORS IFNZRO .-7621 <ERROR> SHNDL1, 0 CLA TAD S6260 SHNDC, DCA SHNDLR CLA CLL CMA RTL /-3 DCA SERRCT /RETRY COUNT RDF TAD SCIF DCA SFIELD /RESET USER INSTRUCTION FIELD FOR EXIT RETRY, TAD SHNDL1 /AC=-2 IF ERROR ENTRY DCA SHNDL1 TAD I SHNDL1 /GET ARG1 AND S4070 /GET R/W AND DF BIT DCA RKECMD /BASE COMMAND TO RK8E TAD I SHNDL1 /GET ARG1 AGIN ISZ SHNDL1 AND S3700 DCA PAGCNT /SAVE PAGE COUNT TAD I SHNDL1 ISZ SHNDL1 DLCA /LOAD CURRENT ADDRESS REGISTER TAD I SHNDL1 /GET ARG3 CLL TAD SHNDLR DCA RKEBLK /SYS OR RKB0 DISPLACEMENT SZL /AILLL ODD ID VWLOQ VLOXK 10000 OVRFLO, ISZ RKECMD /TURN ON XBIT IF OVFLO RELOOP, DCA CHKHED /SET CHECK HEADER FLAG TO EITHER /0 OR 4000 (WHICH GETRS RTR'D BEFORE USED) /AND CAUSES EITHER A "DATA" OR "ALL" /TRANSFER DCLR /CLEAR STATUS REGISTER TAD PAGCNT /TEST TO SEE IF ONLY 1 PAGE WANTED AND S7600 SNA CLA TAD S400 /100 WAS IN PAGCNT TAD CHKHED CLL RTR /SHIFT TO CORRECT BITS TAD RKECMD DLDC TAD PAGCNT /CHECK TO SEE IF DONE SPA SNA JMP RKDONE /NO MORE TO DO, 0 REQUEST IS CAUGHT HERE TAD S7600 /DEDUCT 2 PAGES FROM TOTAL DCA PAGCNT TAD RKEBLK DLAG DSKP JMP .-1 DRST /READ COMPLETION REGISTER IFNZRO .-7700 <ERROR2> SKP HLT /HE'S HAD IT! JMS TO 7700 F. 0 CLL RAL SZA JMP SERROR TAD RKEBLK CMA AND S37 /IF BLOCK IS AT A 37 MAKE /NEXT OPERATION DO A CHECK HEADER SZA CLA STL RAR ISZ RKEBLK JMP RELOOP /TRANSFER SOME MORE JMP OVRFLO /PAST BLOCK 7777-SET XBIT
SERROR, AND S1002 /AC WAS RAL'D AND WE WANT TO SEE IF /DRIVE SEEK FAILED OR CYLINDER ADDR. ERROR SNA CLA JMP RKTST3 /WE TRY 3 TIMES /WE HAVE TO RECALIBRATE DRIVE DCLR /CLEAR STATUS REGISTER STL RTL /AC=2 DCLR /RECALIBRATE DRIVE DSKP /WAIT ON FLAG JMP .-1 DCLR /CLEAR STATUS REGISTER DRST /WAIT FOR STATUS TO CLEAR SZA CLA JMP .-2 RKTST3, CLA CLL CMA RAL /AC=-2 ISZ SERRCT /SKIP IF WE TRIED 3 TIMES JMP RETRY /TRY AGAIN JMP .+3 /ERROR EXIT RKDONE, ISZ SHNDL1 /NORMAL RETURN S7600, 7600 /GROUP 2 CLA ISZ SHNDL1 /IF JUMPED TO HERE- ERROR RETURN SFIELD, HLT /RESET USERS INST FIELD- WE NEVER TOUCHED DF JMP I SHNDL1 /EXIT S37, 37 S400, 400 /USED FOR 128 WORD TRANSFER MODE $



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