|
|
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: 17576 (0x44a8)
Notes: pts_type(SC)
Names: »DRDCS1.SC«
└─⟦8ac270cab⟧ Bits:30009705 Philips computer tape "LINSIM8-2"
└─⟦this⟧ »LINSIM82/DRDCS1.SC«
└─⟦fce1dcf99⟧ Bits:30009704 Philips computer tape "KMD15"
└─⟦this⟧ »LINSIM/DRDCS1.SC«
IDENT DRDCS1 REL 1.1 78-04-21 8701 500 40110 UPDATE #1 77.06.16 JES UPDATE #0 77.01.26 JES **************************************************************** * * DRIVER FOR TEST TOOL * * SIMULATION OF CENTRAL COMPUTER FOR DC TESTS * ****************************************************************** * * * ENTRIES * * ENTRY DRLGOA ACTIVATION OF CONTROL ENTRY DCS1ON POWER ON RECOVERY ENTRY DRLGIA ACTIVATION OF INPUT ENTRY DRLGUA ACTIVATION OF OUTPUT ENTRY IHS101 INPUT INTERRUPT ENTRY IHS102 OUTPUT INTERRUPT ENTRY DWS102 READ DWT ENTRY DWS103 WRIRE DWT ENTRY DWS101 CONTROL DWT ENTRY DWS100 *=DWS101 * * * EXTERNAL REFERENCES * * EXTRN DWTECB ECBADDRESS EXTRN TENDIO END OF EVENT EXTRN TDISP DISPATCHER EXTRN DISIOE EXTRN SAVE8 SAVE 8 REGS ON A15 STACK EXTRN SETIME SET TIMER EJECT * EXTRN DWTST DWT STATUS EXTRN DWTOR DWT ORDER * * DEVICE ADRESSES * * DALGIN EQU /02 INPUT DEVICE ADDRESS DALGUT EQU /12 OUTPUT DEVICE ADDRESS * * * * CHARACTER EQUATES * * Z EQU 0 X0P EQU /91 ENQP EQU /85 ETXP EQU /83 * * * RELATIVE ECB EQUATES * * ECBBA EQU 2 ECBRL EQU 4 ECBEL EQU 6 ECBRC EQU 8 ECBCW EQU /A EJECT * * * INSTRUCTION EQUATES * * CIOST EQU /42C0 CIO START CIOH EQU /4280 CIO HALT SST EQU /4AC0 SST INR EQU /4A00 INR OTROUT EQU /4200 OUTPUT OTR OTRIN EQU /4240 OUTPUT SYN PATTERN * * * * DEVICE WORK AREA EQUATES * * DWTSAV EQU /20 REGISTER SAVE AREA DWTA4 EQU DWTSAV+6 A4 SAVE AREA DWTA5 EQU DWTSAV+8 A5,SAVE AREA STB EQU /1E RELATIVE STACK BASE * * * WORK AREAS * * SYN DATA 0 SYNCPATTERN AREA RECIND DATA 0 TRAIND DATA 0 XIDLE DATA 1 TRANSMITT IDLE INDICATOR XCARR DATA 0 TRANSMITT IDLEING CARRIER IND. WATIPO DATA 0 WRTIMP DATA 0 TIMER POINTER MESEXP DATA 0 MESSAGE EXPECTED INDICATOR BFULL DATA 0 PBUFIN DATA BSTART PBUFUT DATA BSTART BSTART EQU * RES 3000 BEND EQU *-2 EJECT * * *DRIVER ACTIVATION* * *INPUT REQUEST * * DRLGIA DATA LGINAC DWT REFERENCE * * LGINAC SUK A7,1 RF(Z) ENDR ORDER 01: READ GENERAL LIA100 ABL DISIOE ILLEGAL ORDER * EJECT * * * END READ REQUEST? * * ENDR EQU * INH LDKL A5,STB+DWS101 LDKL A6,DWS102 LD A8,DWTECB,A6 LD A1,PBUFUT ENDR10 CW A1,PBUFIN RF(E) ENDR20 NO NEW CHARACTEIN BUFFER ADK A1,2 CWK A1,BEND RF(NE) ENDR15 NOT END OF BUFFER LDKL A1,BSTART ENDR15 EQU * LDR* A2,A1 ANKL A2,/FF00 RF(NZ) ENDR30 PCOUNTER OR COMMENT LD A2,BFULL SUK A2,1 RF(Z) ENDR50 BUFFER FULL EJECT * * *ORDINARY CHARACTER * ST A1,PBUFUT LDR* A2,A1 FETCH CHARACTER CF A5,STORA STORE IN REQUEST BUFFER SUK A2,/FF RF(E) ENDR17 COMPLETE REQUEST ON MARK HOLD LD A2,ECBEL,A8 CW A2,ECBRL,A8 RB(NE) ENDR10 NOT END OF REQUESTED LINE ENDR17 LDK A1,0 ENDEND CF A15,TENDIO ABL TDISP * * NO ENDING OF REQUEST * ENDR20 EQU * CF A15,SETIME DATA ENDR,5 CM BFULL ABL TDISP EJECT * * ENDR30 EQU * LD A3,ECBEL,A8 RB(NZ) ENDR17 COMPLETE PREVIOUS REQUEST ST A1,PBUFUT POLL/COMMENT LDR* A2,A1 * * COMMENT * ENDR40 EQU * CF A5,STORA LDKL A1,/2000 RETURN CODE RB ENDEND * * BUFFER FULL ENDR50 EQU * LD A3,ECBEL,A8 RB(NZ) ENDR17 IM BFULL LDKL A2,/240 RB ENDR40 EJECT * * * STORE CHATACTER IN A2 IN REQUEST BUFFER * * STORA LD A3,ECBBA,A8 AD A3,ECBEL,A8 SCR A2,A3 IM ECBEL,A8 RTN A5 EJECT * * *OUTPUT * * DRLGUA DATA LGUTAC * * LGUTAC SUK A7,6 RB(NZ) LIA100 ILLEGAL ORDER * * * WRITE REQUEST * * LGUT10 EQU * LDK A5,STB ADKL A5,DWS103 LOAD STACKPOINTER LDKL A6,DWS103 LD A8,DWTECB,A6 LD A1,ECBCW,A8 ST A1,TRA300 SAVE TIMEOUT VALUE ABL TRAMIT EJECT * * * CONTROL COMMANDS * * DRLGOA DATA LGOPAC DWT REFERENCE * * LGOPAC EQU * LDK A5,STB ADKL A5,DWS101 ST A5,DWTA5+DWS101 STORE STACK POINTER LD A8,DWTECB,A6 LD A7,ECBCW,A8 ANK A7,/F LDR A1,A7 SUK A1,1 RF(Z) OPEN CW=1 SUK A1,1 RF(Z) RESET CW=2 SUK A1,2 RF(Z) ENDW CW=4 SUK A1,1 RF(Z) SPESYN SUK A1,1 RF(Z) IDLE CW=6 RB LIA100 ILLEGAL ORDER EJECT * * * SET CARRIER ON/OFF IN IDLE TRANSMIT * * IDLE LD A1,XCARR GET CARRIER INDICATOR XRK A1,1 SHIFT IDLEING MODE ST A1,XCARR SAVE NEW MODE RF(NZ) IDLE20 JMP IF CARRIER SHOULD BE KEPT ON LDKL A2,/246 COMMENT:IDLE: CARRIER OFF CF A5,STORE LD A1,XIDLE IDLE? RF(Z) IDLE10 NO! LDK A2,0 CIO A2,0,DALGUT STOP TRANSMITTER SST A2,DALGUT IDLE10 RF OP250 IDLE20 LDKL A2,/247 COMMENT: IDLE:CARRIER ON CF A5,STORE LD A1,XIDLE IDLE? RF(Z) IDLE30 NO! CF A5,STOUT START TRANSMITTER IDLE30 EQU * RF OP250 RETURN TO DISPATCHER EJECT * * * OPEN RECEIVER * * OPEN LD A1,DWS102+2 GET STATUS ANK A1,1 RF(NZ) OP250 ALREADY OPENED LDK A5,STB LOAD STACK POINTER ADKL A5,DWS102 CF A5,DISCON HALT COMMUNICATION CF A5,STINP START CHLC RECEIVER IM DWS102+2 INDICATE OPEN CF A5,OP200 PUT ACTION ON STACK RF REC010 INTERRUPT HANDLING OP200 ST A5,DWTA5+DWS102 STORE STACK POINTER LDK A1,2 IM DWS102,A1 LDKL A1,BSTART ST A1,PBUFIN RESET BUFFER ST A1,PBUFUT OP250 LDK A1,0 CF A15,TENDIO ABL RETURN GO TO DISPATCHER EJECT * * *HALT COMMUNICATION AND DISCONECT MODEM * * DISCON EQU * * CIO A2,0,DALGIN CIO A2,0,DALGUT SST A2,DALGIN RF(NA) CLO050 SST A2,DALGUT RF(A) CLO060 CLO050 HLT CLO060 EQU * RTN A5 * * * SPECIFY SYNC PATTERN * SPESYN EQU * LD A8,DWTECB,A6 LD A1,ECBBA,A8 ST A1,SYN STORE SYNCPATTERN RB OP250 EJECT * * *RESET BUFFER * * RESET EQU * LDKL A1,BSTART ST A1,PBUFIN ST A1,PBUFUT LDKL A2,/241 COMMENT: BUFFER RESET CF A5,STORE LDK A1,/0 ST A1,BFULL RESET,BFULL LDK A1,0 CF A15,TENDIO ABL TDISP EJECT * * *END WRITE REQUEST * * ENDW EQU * LDK A1,/2 RETURN CODE CF A15,TENDIO ENDW01 EQU * LDK A1,/80 REQUEST ABORT ENDW05 EQU * LDKL A6,DWS103 CM TRAIND CM MESEXP ENDW1 EQU * CF A15,TENDIO ABL TDISP EJECT * * * RECEIVE MODULE * * RECEIV EQU * LDK A5,STB ADKL A5,DWS102 LOAD STACK POINTER CF A5,READ REC010 EQU * CWK A2,/FF RB(E) RECEIV IM RECIND BUSY RECEIVING LD A1,TRA300 RF(Z) REC050 NO TIMING LD A3,WRTIMP RF(Z) REC020 CM* WRTIMP REC020 EQU * REC050 EQU * LDR A3,A2 LDKL A2,/201 CF A5,STORE STORE COMMENT T: LDR A2,A3 CF A5,STORE REC100 EQU * CF A5,READ REC130 EQU * CF A5,STORE STORE NORMAL CHARACTER CWK A2,/FF MARK HOLD ? RB(NE) REC100 LDK A2,0 CIO A2,0,DALGIN HALT INPUT SST A2,DALGIN LD A1,MESEXP RF(Z) REC200 UNEXPECTED MESSAGE REC150 EQU * CM MESEXP LDKL A6,DWS103 LD A1,2,A6 RF(N) REC200 NO REQUEST WAS THERE LDK A1,0 CF A15,TENDIO COMPLETE WRITE REQUEST CM TRAIND REC200 EQU * CM RECIND NOT BUSY RECEIVING LD A1,TRAIND RF(Z) REC300 NO WRITE ON QUEUE LD A5,WATIPO RF(Z) REC220 CM* WATIPO REC220 EQU * ABL LGUT10 REC300 EQU * LDKL A6,DWS102 CF A5,STINP RESTART RECEIVER RB RECEIV ENTER IDLE RECEIVE EJECT * * * TRANSMIT MODULE * * TRAMIT EQU * IM TRAIND INDICATE TRANSMISSION LD A1,RECIND RF(Z) TRA100 NOT BUSY RECEIVING CF A15,SETIME DATA ENDW01,50 ST A4,WATIPO ABL TDISP WAIT MAX 5 SECONDS FOR RECEIVER TRA100 EQU * LDK A2,0 CIO A2,0,DALGIN SST A1,DALGIN LDKL A6,DWS103 LD A3,ECBRL,A8 GET LENGTH LD A4,ECBBA,A8 GET BUFFER ADDRESS LDKL A2,/200 CF A5,STORE STORE COMMENT C: CF A5,STOUT START TRANSMITTER CM XIDLE LEAVE IDLE MODE CF A5,RETURN WAIT FOR INTERRUPT TRA200 EQU * LDK A2,0 LCR A2,A4 GET CHARACTER FROM BUFFER CF A5,STORE STOTE IN LOGG BUFFER CF A5,WRITE TRANSMIT HIM ADK A4,1 SUK A3,1 RB(NZ) TRA200 NOT END OF BUFFER LD A1,XCARR CARRIER ON WHEN IDLEING? RF(NZ) TRA250 LDK A2,0 CIO A2,0,DALGUT SST A1,DALGUT TRA250 IM XIDLE ENTER IDLE MODE LD A1,TRA300 RF(Z) TRA400 NO TIMING RB(N) REC150 IMMEDIATE COMPLETION CF A15,SETIME DATA TRA500 TRA300 EQU * DATA 0 ST A4,WRTIMP TRA400 EQU * IM MESEXP CM TRAIND ABL REC300 START RECEIVER TRA500 EQU * INH CM TRA300 LDKL A2,/245 LDK A5,STB ADKL A5,DWS103 CF A5,STORE LDKL A1,/100 SET RETURN CODE ABL ENDW05 EJECT *********************************************** * *WRITE ONE CHARACTER * WRITE EQU * OTR A2,0,DALGUT ABL(NA) STATUS NOT ACCEPTED OTR RF READ ************************************************ * *READ ONE CHARACTER * * READ EQU * RETURN EQU * ST A3,LCA3 ST A4,LCA4 ST A5,LCA5 ST A6,LCA6 ST A7,LCA7 ST A8,LCA8 ABL TDISP GO TO DISPATCHER EJECT * * *STORE ONE CHARACTER * * STORE EQU * STR A1,A15 STR A2,A15 LD A1,BFULL RF(NZ) STOR20 LD A1,PBUFIN ADK A1,2 CWK A1,BEND RF(NE) STOR10 NOT END OF RING BUFFER LDKL A1,BSTART STOR10 CW A1,PBUFUT RF(E) STOR30 BUFFER FULL STOR15 STR A2,A1 STORE CHAR. ST A1,PBUFIN STOR20 LDR* A2,A15 LDR* A1,A15 RTN A5 * *BUFFER FULL * STOR30 EQU * IM BFULL RB STOR20 EJECT * * *RESTART INPUT * * STINP EQU * LD A2,SYN ADKL A2,/100 CIO A2,1,DALGIN RF(NA) STI100 RTN A5 STI100 RTN A5 HW ERROR * * * START CHLC TRANSMITTER * * STOUT EQU * INH CIO A2,1,DALGUT START TRANSMITTER RF(NA) STO100 RTN A5 STO100 RTN A5 HW ERROR EJECT * * * RESTORE REGISTERS A3 - A8 * * LDREG LDKL A3,0 LCA3 EQU *-2 LDKL A4,0 LCA4 EQU *-2 LDKL A5,0 LCA5 EQU *-2 LDKL A6,0 LCA6 EQU *-2 LDKL A7,0 LCA7 EQU *-2 LDKL A8,0 LCA8 EQU *-2 ADKL A15,4 ABR* A15 EJECT ********************************************************** * * CHLC TRANSMITTER INTERRUPT * ********************************************************** IHS102 CF A15,SAVE8 CF A15,LDREG RESTORE A3 - A8 LD A1,XIDLE IN IDLE MODE? RF(Z) IHUT10 NO! LDKL A2,/FFFF TRANSMITT MARK HOLD ABL WRITE IHUT10 EQU * ADK A5,4 ABR* A5 * * ********************************************************* * * CHLC RECEIVER INTERRUPT * ******************************************************** IHS101 CF A15,SAVE8 CF A15,LDREG RESTORE A3 - A8 INR A2,0,DALGIN RF(NA) INSST ADK A5,4 ABR* A5 EJECT * * * STATUS INT ERRUPT FROM RECIEVER * * INSST EQU * SST A2,DALGIN RF(A) INS110 HLT HW ERROR INS110 EQU * LD A1,RECIND RF(Z) INS150 LDKL A2,/FF END OF RECEPTION ABL REC130 INS150 EQU * LDK A5,STB ADR A5,A6 RELOAD STACK ANK A2,1 RF(NZ) INS210 MODEM NOT READY * * RESYNC * ABL REC300 RESTART RECEIVER EJECT * *MODEM NOT READY * INS210 LDKL A2,/244 COMMENT CODE INS220 CF A5,STORE LDKL A1,/FFFD ANS A1,DWTST,A6 INDICATE CLOSED LDK A2,0 CIO A2,0,DALGIN SST A2,DALGIN CF A5,STINP START INPUT CF A5,READ LDK A1,2 IM DWS102,A1 INDICATE RECEIVER OPEN INS230 EQU * ABL RECEIV EJECT ******************************************************** * * STATUS INTERRUPT FROM CHLC TRANSMITTER * ******************************************************** STATUS EQU * SST A2,DALGUT RF(A) STA110 HLT HARDWARE ERROR STA110 EQU * LDR A1,A2 CF A15,TENDIO ABL RETURN EJECT * * * POWER ON RECOVERY * * DCS1ON EQU * INH LDK A1,1 ST A1,XIDLE LD A1,XCARR RF(Z) POW020 CIO A2,1,DALGUT START TRANSMITTER POW020 EQU * LDK A1,0 ST A1,BFULL LDKL A1,BSTART ST A1,PBUFIN ST A1,PBUFUT RTN A15 EJECT * * * LOG OUTPUT CHLC 1 * * DWS103 DATA /12 DEVICE ADDRESS DATA /8000 STATUS DATA 0 ECB ADDRESS DATA 0 ORDER DATA DRLGUA DRIVER ADDRESS BLOCK DATA 0 TASK TABLE ADDRESS DATA 0 WAIT/ACTIVATE INDICATOR DATA 0 TASK QUEUE FOR THIS DEVICE RES 8 SUBROUTINE STACK RES 5 SAVE AREA FOR A1 - A5 DATA DWS103 THIS DWT ADDRESS FOR A6 DATA DWS102 CORRESPONDING INPUT DWT IN A7 RES 1 SAVE AREA FOR A8 DATA 0,0,0,0 WORK AREA * EJECT * * * LOG INPUT CHLC 1 * * DWS102 DATA /02 DEVICE ADDRESS DATA /8000 STATUS DATA 0 ECB ADDRESS DATA 0 ORDER DATA DRLGIA DRIVER ADDRESS BLOCK DATA 0 TASK TABLE ADDRESS DATA 0 WAIT/ACTIVATE INDICATOR DATA 0 TASK QUEUE FOR THIS DEVICE RES 8 SUBROUTINE STACK RES 5 SAVE AREA FOR A1 - A5 DATA DWS102 CORRESPONDING INPUT DWT IN A7 DATA DWS103 THIS DWT ADDRESS FOR A6 RES 1 SAVE AREA FOR A8 DATA 0,0,0,0 WORK AREA * EJECT * * * LOG CONTROL IO * * DWS100 EQU * DWS101 DATA /02 DEVICE ADDRESS DATA /8000 STATUS DATA 0 ECB ADDRESS DATA 0 ORDER DATA DRLGOA DRIVER ADDRESS BLOCK DATA 0 TASK TABLE ADDRESS DATA 0 WAIT/ACTIVATE INDICATOR DATA 0 TASK QUEUE FOR THIS DEVICE RES 8 SUBROUTINE STACK RES 3 SAVE AREA FOR A1 - A5 DATA DWS102 INPUT DWT RES 1 SAVE A5 DATA DWS101 THIS DWT ADDRESS FOR A6 DATA DWS103 CORRESPONDING DWT IN A7 RES 1 SAVE AREA FOR A8 DATA 0,0,0,0 WORK AREA * * * * END