File RSW.RA

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

/
/ VERSION 5A 4-26-77 MH
/
/THE FOLLOWING IS A SET OF 8 MODE (RALF TYPE)
/ROUTINES THAT ENABLE PDP 12(8) HARDWARE OPTIONS
/THESE ROUTINES ARE CALLABLE AT THE FORTRAN LEVEL
/THE FOLLOWING OPTIONS ARE SUPPORTED:
/
/	1 READ A BIT IN THE RIGHT SWITCHES
/	2 READ A BIT IN THE LEFT SWITCHES
/	3 READ A SENSE SWITCH
/	4 READ AN EXTERNAL LEVEL
/	5 OPEN OR CLOSE A RELAY
/
/IF THE REQUESTED BIT OR SWITCH IS SET THE
/SUBROUTINE RETURNS WITH THE CALLERS ARG SET TO
/A 1,OTHERWISE IT IS SET TO A 0
/
/

SECT8 RSW INDEX P17 BASE 0 JSA SETUP /CHECK ONE RSW BIT TRAP4 DORITE /CALL 8 MODE ROUT USER /ARG IS IN FPP XR3 CONT, STARTD /ANSWER IS IN XR3 FLDA% 0,XR2 /GET PTR TO CALLER ANS FSTA 3 STARTF XTA XR3 FSTA% 3 /GIVE ANS TO CALLER GOBAK, FLDA 30 /RTN TO CALLER JAC ENTRY LSW LSW, JSA SETUP /READ 1 LSW BIT TRAP4 DOLEFT /CALL 8MODE ROUT JA CONT ENTRY SSW SSW, STARTD /READ A SENSE SWITCH FLDA ANSNSI JA ESSW ENTRY ROPEN ROPEN, STARTD /OPEN A RELAY FLDA ABCLI ERCLOS, FSTA MASK /PLANT A BCLI OR BSEI IN /8 MODE ROUTINE JSA SETUP TRAP4 RELAY FLDA 30 JAC ENTRY EXTLVL EXTLVL, STARTD /READ AN EXTERNAL LEVEL FLDA ANSXL ESSW, FSTA LSKP /PLANT SXLI OR SNS IN JSA SETUP /8 MODE ROUTINE TRAP4 DOSXL JA CONT ENTRY RCLOSE RCLOSE, STARTD /CLOSE A RELAY FLDA ABSEI JA ERCLOS SETUP, 0;0 /GET ARGS AND SETUP RTN STARTD SETX P17 FLDA% 0,XR1 /GET PTR TO 1ST USER ARG FSTA 3 STARTF FLDA% 3 /USER ARG TO FAC ATX XR3 /PUT IN XR FOR 8 MODE JA SETUP
DORITE, 0 /READ RIGHT SWITCHES LAS DCA MASK JMS SETBIT /GET REQUESTED BIT AND MASK /MASK RSW SZA CLA /IF BIT IS SET,SET XR3=1 ISZ XR3 CIF CDF /RTN TO RTS JMP% DORITE DOLEFT, 0 /READ LEFT SWITCHES TAD DOLEFT DCA DORITE IOF 6141 /LINC 517 /LSW 2 /PDP ION JMP DORITE+2 DOSXL, 0 /READ SENSE SWITCH /OR EXTERNAL LEVEL TAD XR3 /=SSW OR LVL TO DO AND P17 TAD LSKP DCA LSKP CLL CML /SET LNK=COND MET IOF 6141 LSKP, 0 /=SNS I N OR SXL N 261 /IF SKP FAILS THEN COND /IS MET SO ROTATE LNK /INTO AC(11) (261=ROL I 1) 2 /PDP ION DCA XR3 /SAVE ANSWER CIF CDF JMP% DOSXL /RTN TO RTS RELAY, 0 /OPEN A RELAY TAD CONT /=6 JMS SETBIT /GO SET RELAY BIT DCA MASK+1 IOF 6141 15 /GET RELAYS MASK, 0 /BCL I OR BSE I 0 /SET OR CLR 1 RELAY BIT 14 /ATR PUT RELAYS BACK 2 ION CLA CIF CDF JMP% RELAY SETBIT, 0 /COME HERE TO POSITION TAD XR3 /BIT IN AC ACCORDING TO /C(AC)+XR3 CMA CLL CML /ROTATE BIT INTO POSITION DCA XR3 /XR3 MUST=0 UPON EXIT RAR /ROTATE LINK UNTIL ISZ XR3 /XR3=0 JMP .-2 JMP% SETBIT /RTN WITH AC SET ABCLI, 1560 /BCL I ABSEI, 1620 /BSE I P17, 17 /FPP XR0 XR1, 1 XR2, 2 XR3, 0 ANSXL, 400 /SXL 261 /ROL I 1 ANSNSI, 460 /SNS I 261



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