File PLT.12

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

/ PLOTTER HANDLER FOR OS/8

/ DARRELL J. DUFFY
/ DEPARTMENT OF PHYSIOLOGY
/ WEST VIRGINIA UNIVERSITY
/ MORGANTOWN, WEST VIRGINIA
/ JUNE, 1972

/ MODIFIED BY CLYDE G. ROBY, JR.
/ DEPARTMENT OF PHYSIOLOGY
/ JULY, 1973

	VERSION="D-300

*0

	-1		/JUST 1 HANDLER HERE
	DEVICE	PLOT	/DEVICE GROUP NAME
	DEVICE	PLT	/DEVICE NAME
	1400		/WRITE ONLY PLOTTER (DEV=40)
	4000		/2 PAGES; OFFSET = 0
	ZBLOCK 2	/OS/8 BUILD WANTS THESE

*200 NULD=0 / NULL DETECTOR SWITCH PLOTR, VERSION /THIS MUST BE PAGE RELOCATABLE JMS .+1 /FIND OUT WHERE WE ARE HERE, 0 /HERE WE ARE K7600, SYSTEM, 7600 /ALSO A "CLA" RDF /MAKE A CIF TO RETURN BY TAD KCDIF DCA CDFR TAD I PLOTR /MAKE THE CDF FOR THE DATA AND K0070 TAD KCDF DCA CDFD TAD I PLOTR /MAKE WORD PAIR COUNT ISZ PLOTR CLL RAL AND K7600 CIA DCA PLTC /SAVE WORD COUNTER TAD I PLOTR /GET ADDRESS OF THE BUFFER ISZ PLOTR DCA PLTA SNL CLA JMP PLTER /TRY TO READ FROM PLOTTER TAD HERE /SET UP COROUTINE TAD (INF-HERE DCA INPCOR TAD HERE TAD (WAIT15-HERE DCA WAITP /ROUTINE TO WAIT FOR PEN TO MOVE TAD LASTPEN JMS SETPEN /SET LAST PEN POSITION TAD I PLOTR /GET THE BLOCKNUMBER ISZ PLOTR SZA CLA JMP PRST TAD HERE /JUMP TO OTHER PAGE TO START THINGS TAD (PSTRT-HERE DCA PLTA1 JMP I PLTA1 INP, 0 /INPUT SUBROUTINE PRST, KSF /WATCH FOR CTRL/C JMP INPGO /NO CTRL/Z KRS TAD (-203 KCDIF, CDF CIF 00 /MAKE SURE OF DF FOR SYSRET SZA CLA JMP INPGO JMS SETPEN /RAISE THE PEN JMP I SYSTEM /RETURN TO PS/8 OR OS/8 SYSTEM INPGO, JMP I .+1 INPCOR, 7600 /JUST IN CASE AND (377 TAD (-232 SNA /WATCH FOR EOF JMP PLTRTN /END OF THE BUFFER TAD (232 JMP I INP INF, JMS GUDF /GET USER DATA FIELD, DATA WORD DCA PLTA1 JMS GUDF /GET USER WORD 2 DCA PLTA2 TAD PLTA1 JMS INPCOR /RETURN WITH CHAR 1 TAD PLTA2 JMS INPCOR /RETURN WITH CHAR 2 ISZ PLTC /DOESN'T SKIP OUT HERE K0070, 70 TAD PLTA1 AND K7400 CLL RTR;RTR DCA PLTA1 TAD PLTA2 AND K7400 CLL RTL; RTL; RAL TAD PLTA1 JMS INPCOR /RETURN WITH CHAR 3 ISZ PLTC JMP INF LINC;RTA;PDP DCA LASTPEN /SAVE LAST PEN POSITION FOR NEXT ENTRY /NEED A NEW BUFFER, FALL THRU PLTRTN, JMS SETPEN /(ZERO ACC) RAISE PEN PLTERR, ISZ PLOTR CDFR, CDF CIF /RETURN TO CALLER JMP I PLOTR PLTER, STA /FATAL ERROR JMP PLTERR GUDF, 0 CDFD, CDF /CDF USER DATA FIELD TAD I PLTA /GET A WORD ISZ PLTA K7400, 7400 /NOP KXX01, KCDF, CDF 00 /CHANGE BACK TO FIELD 0 JMP I GUDF SETPEN, 0 AND KXX01 /JUST WANT PEN RELAY BIT DCA RELAYB LINC;LMODE RTA BCO I /DO WE GIVE COMMAND? RELAYB, 0 PDP;PMODE RAR /ANSWER IN LINK BIT SNL JMP SETP2 /DON'T SWITCH RELAY CLL RAL TAD RELAYB /ADD IN NEW RELAY SETTING LINC;LMODE ATR PDP;PMODE JMS I WAITP /WAIT FOR PEN TO MOVE SETP2, CLA JMP I SETPEN LASTPEN, 0 /LAST PEN POSITION WAITP, 0 PLTC, 0 PLTA, 0 PLTA1, 0 PLTA2=GUDF PAGE
PSTRT, JMS .+1 /FIND OUT WHERE THIS IS NP, 0 TAD NP TAD (SETPEN-NP) DCA DOPEN /ADDR OF SUBR TO SET PEN TAD NP TAD (INP-NP DCA NP IFN NULD < CLA IAC CLEN CLA IAC CLLR /SET EVENT FIRST TIME CLA > WATCH, DCA X1 IFE NULD < WAIT1, CLL STA RTL /-3 JMS WAIT /JUST A DELAY TAD X1 DCA X2 /SAVE LAST VALUE LINC SAM 10 PDP DCA X1 LINC SAM 11 PDP TAD X1 DCA X1 TAD X1 CIA TAD X2 SPA CIA CLL RAR SZA CLA > IFN NULD < WAIT1, CLSA SNA CLA > JMP WAIT1 JMS COORD DCA X1 JMS COORD YDAC CLA TAD X1 XDAC JMP WATCH WAIT, 0 ISZ TNUM JMP .-1 IAC SZA JMP .-4 JMP I WAIT WAIT15, 0 CLA TAD (-14) JMS WAIT JMP I WAIT15 / GET A COORDINATE COORD, 0 IGNOR, STA DCA MNSSWT DCA NUM DCA CVRTQ /NO CONVERSION YET JMS I NP /IGNORE COMMENTS TAD (-"P SNA JMP PENSET /SET UP THE PEN VALUE TAD ("P-"- SNA JMP MNSNUM TAD ("--"9 SMA SZA JMP IGNOR TAD ("9-"0) SPA JMP IGNOR JMP FSTNUM PENSET, JMS I NP /GET PEN CONTROL TAD (-"1) SMA SZA JMP IGNOR IAC SMA JMS I DOPEN /RAISE OR LOWER PEN JMP IGNOR DOPEN, 0 /LOC OF "SETPEN" MNSNUM, DCA MNSSWT /SET SWITCH FOR MINUS NXTCHR, JMS I NP /GET INPUT CHAR TAD (-" ) SNA JMP ENDNUM TAD (" -".) SNA JMP NXTCHR IAC /(".-"-) SNA JMP MNSNUM TAD ("--"9 SMA SZA JMP ENDNUM /END OF THE NUMBER TAD ("9-"0 SPA JMP ENDNUM FSTNUM, DCA TNUM TAD NUM CLL RAL CLL RAL TAD NUM CLL RAL TAD TNUM DCA NUM STA DCA CVRTQ /CONVERSION HAS TAKEN PLACE JMP NXTCHR ENDNUM, CLA ISZ CVRTQ /HAS CONVERSION TAKEN PLACE? JMP NXTCHR /NO, GET THE NUMBER TAD NUM ISZ MNSSWT CIA JMP I COORD MNSSWT, 0 TNUM, 0 NUM, 0 X1, 0 X2, 0 CVRTQ, 0 IFN NULD <XDAC=6551 YDAC=6552> IFE NULD <XDAC=6771 YDAC=6772> $*$*$*$



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