|
|
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: 7850 (0x1eaa)
Notes: pts_type(SC)
Names: »DRDN01.SC«
└─⟦efe3a1cfc⟧ Bits:30009667 Philips computer tape "600113"
└─⟦this⟧ »TOSSWORK/DRDN01.SC«
IDENT DRDN01 REL 8.2 78-09-15 870105040820 * *************************************************** * * PHILIPS TERMINAL SYSTEM PTS * * DRDN01 = DRIVER NUMERIC DISPLAY * * * * * * *************************************************** * * * THIS DRIVER HANDLES THE NUMERIC DISPLAY * ON INDICATOR UNIT PTS 6241 CONNECTED TO * THE SYSTEM VIA CHLT OR CHRT. * * THE DISPLAY MAY BE USED AS AN ORDINARY * OUTPUT DEVICE WHERE NUMERIC INFORMATION * ARE DISPLAYED FROM THE USER PROGRAM. IT * MAY ALSO BE USED AS AN ECHO-DEVICE TO * ANY KEYBOARD THAT WORKS UNDER THE GENERAL * KEYBOARD DRIVER DRKB01. * * * THE DRIVER CONSISTS OF FOLLOWING PARTS: * * A C D N ACTIVATION PART * * I H D N INTERRUPT HANDLER * * R C D N RECOVERY ROUTINE * * E C H O D N ECHO FUNCTIONS * * EJECT * * * THE FOLLOWING ORDERS ARE THREATED: * * ORDER 05: ERASE NUMERIC DISPLAY * 06: WRITE NUMERIC DISPLAY * * * NORMAL REGISTER USAGE: * * REGISTER: A1 = RETURN CODE * A2 = OUTPUT CHARACTER * A3 = BUFFER INDEX * A4 = WORK REGISTER * A5 = STACK BASE * A6 = DWT-ADDRESS * A7 = ORDER * A8 = ECB-ADDRESS * * * SYSTEM ADAPTATION * * BY MEANS OF CONDITIONAL ASSEMBLY ORDER 06 * WRITE NUMERIC DISPLAY MAY BE EXCLUDED. * TO BE USED IN SYSTEMS WHERE THE DISPLAY * FIGURES ONLY AS AN ECHO-DEVICE. * * * EJECT *********** * ENTRIES * *********** * * ENTRY DNAD ADDRESS TO ADDRESS-BLOCK * * * ******************************************** * EXTERNAL TOSS MODULE ENTRIES * ******************************************** * * EXTRN TDISP DISPATCHER EXTRN GETCHR GET CHARACTER FROM ECB EXTRN DISIOE I/O REQUEST ERROR EXTRN TENDIO END I/O EXTRN OUTPUT SEND CHARACTER EXTRN LDREG RESTORE REGISTERS A4,A3,A5,A7,A8 AND RETURN EXTRN SAVE8 SAVE REGISTERS A1-A8 EXTRN ECHRTN RETURN FROM ECHOING * **************************** * DWT PARAMETERS * **************************** * EXTRN DWTST STATUS EXTRN DWTECB * * EJECT * ************************** * CONDITIONAL ASSEMBLY * ************************** * * BY SETTING X:A = 0 THIS DRIVER HANDLES * ONLY ORDER 05 ERASE NUMERIC DISPLAY * X:A EQU 1 DNWRIT EQU X:A ORDER 6 * ** * THIS DRIVER CAN BE MADE TO HANDLE CREDIT ORDERS * BY SETTING CREDIT = 1 * ORDER 05 IS THEN REPLACED BY ORDER /31 ** CREDIT EQU 0 ***************** * CONSTANTS * ***************** * CCERR EQU /4 CODE CHECK ERROR * * * DISPLACMENT IN DWT * * DWTBC EQU /3 BYTE COUNTER EJECT *************** * TABLES * ************** * * DNAD EQU * ADDRESS BLOCK DATA ACDN ACTIVATION PART DATA IHDN INTERRUPT HANDLER DATA RCDN RECOVERY ROUTINE DATA ECHODN DEVICE-DEPENDENT ECHO-SUBROUTINE EJECT * * A C D N * * ACDN = ACTIVATION DRIVER NUMERIC DISPLAY * * THE FOLLOWING ORDERS ARE THREATED: * * ORDER 05: ERASE NUMERIC DISPLAY * ORDER 06: WRITE ON NUMERIC DISPLAY * * IF ORDER 5 ERASE CHARACTER /40 IS SENT TO DISPLAY. * IF ORDER 6 CHARACTERS IN ECB-BUFFER ARE SENT TO DISPLAY * ACDN EQU * IFT CREDIT=0 SUK A7,5 ORDER 5? RF(E) ADN010 XIF IFT CREDIT=1 SUK A7,/31 RF(Z) ADN010 ADK A7,/2C XIF * IFT DNWRIT=1 * SUK A7,1 ORDER 6? RF(E) ADN015 * XIF * ABL DISIOE I/O REQUEST ERROR * * ORDER 05 * ADN010 EQU * LDK A2,/40 ERASE DISPLAY CF A5,OUTPUT SEND CHARACTER RF ENDIO EJECT * * ORDER 06 * * IFT DNWRIT=1 * ADN015 LDK A3,0 RESET BUFFER INDEX ADN020 CF A15,GETCHR GET CHARACTER LDR A1,A1 FOUND? RF(NP) ENDIO NO, READY ! * * CHECK CHARACTER * LDR A4,A2 SUK A4,/3F BLANK? RF(E) ADN025 ADK A4,6 KEY > /39? RF(P) ADN030 ADK A4,9 KEY < /30 RF(N) ADN030 ADN025 EQU * CF A5,OUTPUT SEND CHARACTER RB ADN020 ADN030 LDK A1,CCERR INDICATE CODE CHECK ERROR ORS A1,8,A8 RETURN CODE RB ADN020 * XIF * ENDIO CF A15,TENDIO END I/O EXIT ABL TDISP EJECT * * I H D N * * INTERRUPT * IHDN EQU * LD A4,DWTST,A6 BUSY? RB(N) EXIT SLL A4,2 ECHO MODE ? RF(N) IHDN10 LDR A1,A1 RETURN CODE FROM CHLT? RB(NE) ENDIO IHDN10 EQU * ABL LDREG EJECT * * R C D N * * RECOVERY * RCDN EQU * CF A15,SAVE8 SAVE REGISTERS A1-A8 LDKL A2,/7FFF ANS A2,DWTST,A6 SET DEVICE BUSY LDK A2,/40 ERASE CHARACTER CF A5,OUTPUT SEND ERASE LD A8,DWTECB,A6 RB(E) ENDIO RB ACDN RETURN TO ACTIVATINO PARTONI EJECT * * E C H O D N * * ECHO-ROUTINE * ECHODN EQU * LDR A7,A7 EOR? RF(N) ECH050 LDR A3,A2 SUK A3,/8 BACKSPACE? RF(E) ECH050 SUK A3,/10 CLEAR? RF(NE) ECH040 NO LDK A2,/40 ERASE DISPLAY ECH040 CF A5,OUTPUT SEND CHARACTER ECH050 ABL ECHRTN RETURN TO KEYBOARD DRIVER END