File RKMARK.PA (PAL assembler source file)

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

/RK8E MARK ROUTINE
FIELD 1
PAGE 0

*20
SECTOR,	0
TEMP,	0
CYLIND,	0
COUNT,	0
SURFCE,	0
M16,	-16
K1777,	1777
MARK=JMS I .
LMARK,	XMARK

BDSKP=6741
BDCLR=6742
BDLAG=6743
BDLCA=6744
BDRST=6745
BDLDC=6746
BDMAN=6747

PAGE

/SCAN SEQUENCE ENTRY POINT ENTRYS, TAD (BUF1 /LETS PUT ONES INTO BUFFER ONE! DCA TEMP /STORE LOCATION TAD (-400 /400 LOCATIONS TO PUT ONES IN DCA COUNT CLA CMA /LOAD AC WITH ONES DCA I TEMP /PUT ONES INTO LOCATION OF TEMP ISZ TEMP /NEXT ....! ISZ COUNT /ANY MORE? JMP .-4 /WHY YES I GUESS THERE IS MORE?!!?"#"#$$?$%#% STARTS, LAS RTL BDLAG /LOAD SURFACE AND SECTOR DATA LAS /GET HIS HIGH ORDER OF CYLINDER RTL CLA RAL /PUT MSB INTO LINK BDLDC /LOAD COMMAND LAS RAR SNL CLA /SKIP IF HE WANTS TO WRITE SOME STUFF! JMP STARTS /WELL WE JUST SCAN THE DISK!!! LAS /LOAD SOME CYLINDER DATA INTO AC RAL AND (7760 /LOGICALLY AND OUT 7760 DCA CYLIND /AND STORE INTO CYLINDER WORD LAS RTL AND (20 /NOW GET SURFACE DATA ALONE! DCA SURFCE /AND .... STORE IT! DCA SECTOR /CLEAR SECTOR MARK /GO MARK UP THE DISK LAS /LETS WAIT UNTIL HE LETS OFF ON THE SWITCH RAR SZL CLA /SKIP WHEN HE PUTS THE WRITE SWITCH DOWN JMP .-3 /LOOP SOME! JMP STARTS /THEN CHECK
XMARK, 0 TAD (16 DCA COUNT /WE DO 16 SECTORS! TAD CYLIND /ADD HIS CYLINDER INTO AC RAL CLL /PUT HIGH ORDER INTO LINK TAD SURFCE /ADD IT INTO AC RTL RTL TAD SECTOR /PUT SECTOR INTO THIS MESS DCA TEMP /STORE IT AWAY FOR FUTURE USE RAL /PUT MSB FROM LINK INTO BIT 11! TAD (5010 /ADD IN COMMAND WORD THEN.... BDLDC /THEN DO IT! TAD SECTOR AND (1 /WE WRITE 0'S AND 1'S OPPOSING! TAD (TAD BUFF1 DCA .+1 HLT /AND WE ADD IN BUFFER POSITION BDLCA /THEN PUT IN INTO CURRENT ADDRESS! TAD TEMP /NOW PULL THE STORED DATA FROM MEMORY /OF COURSE ONLY CORE! SINCE ITS THE BEST! BDLAG /THEN LOAD IT AND GO!!!!! BDRST /CHECK OUT OUR STATUS AND... AND K1777 /DO A LOGICAL AND OF THE AC WITH 1777 SZA CLA /CHECK IF ERRORS JMP ERROR /THIS ROTS WE GOT AN ERROR! BDSKP /THEN CHECK IF WE ARE DONE SINCE WE HAD NO ERROR JMP .-5 /AND LOOP IT UNTIL DONE OR ERROR ISZ SECTOR /INDEX OUR SECTOR COUNT ISZ COUNT /AND CHECK IF WE DID 16 SECTORS! JMP XMARK+4 /FOR ANOTHER SECTOR JMP I XMARK /AND WE BOOK! BUFF1, BUF1 BUFF2, BUF2 ERROR, JMP I (STARTS PAGE
BUF1, ZBLOCK 400 /CLEAR A BUFFER! BUF2, ZBLOCK 400 /AND CLEAR ANOTHER BUFFER THAT MAKES TWO!!!! PAGE



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