|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7522 (0x1d62)
Notes: pts_type(SC)
Names: »SLOGOP.SC«
└─⟦fce1dcf99⟧ Bits:30009704 Philips computer tape "KMD15"
└─⟦this⟧ »DLCSPY/SLOGOP.SC«
IDENT SLOGOP REL 1.1 78-04-21 870150340110 * * * SDLC LOG TOOL * * OPERATOR CONTROL * * PROGRAMMER: O. HANSSON * * 77.01.19 * ******************************************************* * * THIS MODULE HANDLES OPERATOR COMMUNICATION * * THE FOLLOWING FUNCTIONS ARE SUPPORTED * * OPEN RECEIVER 1 AND 2 * * CLOSE RECEIVER 1 AND 2 * * RESET INPUT BUFFER * * SPECIFY LOG PARAMETERS * * * ************************************************************** EJECT * * * ENTRY ASTART * * EXTRN PRPOOL OCCUPIE PRINTER BUFFER POOL EXTRN TEXT1 EXTRN SLOGIN * * * EQUATES * * ECBBA EQU 2 ECBRL EQU 4 ECBRC EQU 8 ECBCW EQU 10 * * RES 20 STACK FOR A14 STB EQU *-2 PROCCB DATA 0 ADDRESS TO PRINTER OCCUPIED BUFFFER HEXCHA DATA 0 EJECT * * * START LOOP TEST TOOL * * ASTART EQU * LD A8,PROCCB RF(Z) ASTA20 LKM DATA -8,PRPOOL RELEASE PRINTER CM PROCCB RELEASE PRINTER BUFFER ASTA20 EQU * LDKL A7,'OP' LKM DATA -4,OPCTRL ACTIVATE OPERATOR CONTROL TASK LDKL A7,'IN' LKM DATA -4,SLOGIN ACTIVATE LOG TASK LKM DATA 3 EJECT * * * OPERATOR CONTROL TASK * * OPCTRL EQU * LDKL A14,STB LDK A7,' ' CF A14,OCCPR OCCUPIE PRINTER OPCT10 EQU * CF A14,CRLF LDKL A2,TEXT1 ADKL A11,1 CF A14,PRTXT LDKL A8,CTECB LDK A7,/84 LDK A1,0 SET PARAMETERS TO 0 FROM START ST A1,ECBBA,A8 LDK A1,4 ST A1,ECBCW,A8 LKM DATA 1 EJECT OPCT40 EQU * ADKL A11,1 CF A14,CRLF RF OPCONT EJECT * * PRINT TEXT * PRTXT EQU * LDR* A3,A2 GET LENGTH ST A2,PRXECB+2 ADK A3,2 ST A3,PRXECB+4 LDK A7,/86 LDKL A8,PRXECB LKM DATA 1 STANDARD WRITE CF A14,CRLF RTN A14 * * PRXECB DATA /31,0,0,0,0,0 * * EJECT OPCONT EQU * LD A8,PROCCB GET BUFFER ADDRESS RF(Z) OPCO10 NO BUFFER LKM DATA -8,PRPOOL RELEASE PRINTER CM PROCCB OPCO10 EQU * LDKL A14,STB CF A14,CRLF CF A14,READ READ COMMAND DATA KT100,FT100 EJECT * * * TYPE: ? * ERRORA EQU * CF A14,OCCPR OCCUPIE PRINTER ERROR EQU * LDKL A14,STB LOAD STACK BASE LDK A7,'?' INVALID KEY CF A14,PRCH PRINT '?' RB OPCONT * * KT100 DATA /044F,'CRP' FT100 DATA OPEN,CLOSE,RESET,PARAM EJECT * * * DEFINE TRACE PARAMETERS * POLL SUPRESSION (1ST DIGIT) * TC ADDRESS (DIGIT 2,3) * * PARAM EQU * ADKL A11,1 CF A14,CRLF CF A14,RDHEX LDK A6,0 LDR A6,A7 SAVE FIRST DIGIT SLL A6,4 CF A14,RDHEX READ 2ND DIGIT IM HEXCHA ADR A6,A7 CF A14,RDHEX SLL A6,4 ADR A6,A7 LDK A2,4 LDKL A8,CTECB ST A6,ECBBA,A8 STORE PARAMETERS RF WRCTRL EJECT * * * CONTROL COMMANDS * * OPEN LDK A2,1 RF WRCTRL RESET LDK A2,3 WRCTRL EQU * CF A14,OCCPR OCCUPIE PRINTER LDKL A8,CTECB LOAD ECB ADDRESS LDK A7,/84 AND AORDER ST A2,ECBCW,A8 STORE COMMAND IN CW LKM DATA 1 ABL OPCONT NEXT COMMAND * * CTECB DATA /62,0,0,0,0,0 * * * CLOSE RECEIVERS * * CLOSE EQU * CF A14,OCCPR LDK A1,2 LDKL A8,CTECB LDK A7,/84 ST A1,ECBCW,A8 LKM DATA 1 ABL OPCT40 EJECT * * * PRINT ONE CHARACTER FROM A7 * * PRCH LDKL A8,PRECB SC* A7,ECBBA,A8 LDK A7,/85 LKM DATA 1 ADKL A11,1 COUNT CHARACTERS LDK A7,0 ST A7,XSPACE RESET SPACE INDICATOR LC* A7,ECBBA,A8 RESTORE A7 RTN A14 * * TYECB DATA /20,TYBUF,1,0,0,0 TYBUF RES 1 PRECB DATA /31,PRBUF,1,0,0,0 PRBUF DATA 0 XSPACE DATA 0 EJECT * * * GENERATE CRLF * * CRLF LDR A11,A11 RF(Z) CRLF90 ALREADY NEW LINE LDK A7,/0D CF A14,PRCH LDK A7,/0A CF A14,PRCH IM XSPACE SET SPACE INDICATOR SUR A11,A11 CRLF90 EQU * RTN A14 EJECT * * * READ ONE CHARACTER FROM KEYBOARD TO A7 * * TWO WORDS FOLLOWING CALL GIVE KEYTABLE AND FUNCTION TABLE ADDRESSES * * ON ERROR GO TO NEXT INSTRUCTION ELSE TO FUNCTION * * A1 IS DESTROYED * * READ LD A7,4,A14 LD A1,2,A7 GET FUNCTION TABLE ADDRESS LDR* A7,A7 GET KEYTABLE ADDRESS LDKL A8,TYECB ST A7,ECBCW,A8 STORE KEYTABLE ADDRESS LDK A7,/82 STANDARD READ LKM DATA 1 READ05 EQU * ADKL A11,1 COUNT CHARS LDK A7,1 ST A7,XSPACE SET SPACE INDICATOR LC* A7,ECBBA,A8 GET CHARACTER TO A7 ANK A7,/7F LD A2,ECBRC,A8 RF(Z) READ10 READING OK LDK A1,4 ADS A1,4,A14 INCR RETURN ADDRESS RTN A14 READ10 AD A1,ECBCW,A8 ADD INDEX ADKL A14,4 ABR* A1 RETURN TO FUNCTION * * * READ AND ECHO * * READE EQU * LD A7,4,A14 * LD A1,2,A7 GET FUNCTION TABLE ADDRESS LDR* A7,A7 GET KEYTABLE ADDRESS LDKL A8,TYECB ST A7,ECBCW,A8 STORE KEYTABLE ADDRESS LDK A7,/82 STANDARD READ LKM DATA 1 LC* A7,ECBBA,A8 CF A14,PRCH ECHO LDKL A8,TYECB RB READ05 EJECT * * * READ HEXADECIMAL CHARACTER * * RDHEX CF A14,READE DATA KTRDH KTRDH DATA 0 NO KEYTABLE RDH100 SUK A7,/30 ABL(N) ERROR CWK A7,9 RF(NG) RDH110 SUK A7,7 ABL(N) ERROR CWK A7,/F ABL(G) ERROR RDH110 RTN A14 * * * * OCCUPIE PRINTER AND ECHO CHARACHTER IN A7 * * OCCPR EQU * LDR A1,A7 SAVE CHAR LDK A7,1 LKM DATA -7,PRPOOL GET BUFFER ST A8,PROCCB SAVE BUFFER ADDRESS CF A14,CRLF LDR A7,A1 RESTORE CHAR CF A14,PRCH ECHO RTN A14 * * * END ASTART