/INTERPROCESSOR HANDLER - NOT VERY INTELLEGENT. *0 /THIS IS THE HEADER BLOCK /THERE IS 1 DEVICE IN THE FILE NOD,-1 /DESCRIPTOR BLOCK FOR THE DEVICE DEVICE BUFF DEVICE IPB /THIS IS THE NAME OS 8 WILL USE IPBDCB, 0700 /THIS IS FOR OS8 ENTRY0, TTY /THIS IS THE OS8 ENTRY POINT 0 /USED BY OS8 0 /USED BY OS8 /************************************************************/ / ADD SYMBOLS FOR IPB...OS 8 DOES NOT HAVE THEM / /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / DBRF=6501 DBRD=6502 DBTF=6503 DBTD=6504 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / / THAT SHOULD TAKE CARE OF THAT................ / /************************************************************/ *200 /THE REST IS MOSTLY FROM PS 8...ONLY A FEW CHANGES WERE REALLY /NECESSARY. THE MONITOR INTERFACE IS THE SAME. THE ONLY CHANGES /WERE THOSE NECESSARY FOR THE IBP TO WORK PROPERLY.....JJM...... / / / / /RECOGNIZES ^C FROM TTY / THE LOGIC IS VERY SIMILIAR TO THE PTR AND PTP HANDLERS. TTY360, 360 /MUST BE FIRST LOC ON PAGE! TTY, 0 /ENTRY POINT TT7600, 7600 RDF TAD TTYCIF DCA TTYXIT /SAVE RETURN FIELD TAD I TTY /GET ARG1 AND TT70 /LOOK AT BITS 6-8 (MEM FIELD) TAD TTCDF /GET CDF TEMPLATE DCA TTYCDF /DATA FIELD OF BUFFER TAD I TTY AND TT7700 /LOOK AT BITS 0-5 CLL RAL /READ/WRITE IN LINK, PAGE COUNT IN AC 0-4 SZA /PROTECT LINK CIA /WHILE COMPLEMENTING AC DCA TTYWC ISZ TTY TAD I TTY /BUFFER ADDRESS DCA TTYCA /SAVE BUFFER ADDRESS ISZ TTY /POINT TO BLOCK #...NOT USED ISZ TTY /POINT TO RETURN LOC. TTYLP, SNL CLA JMP TTYGLP /ZER LINK MEANS READ JMS TTYTST /TEST FOR ^C /THE PS 8 TTY DRIVER CHECKED FOR ^O HERE..IT IS NO LONGER /NECESSARY...JJM CLA TAD I TTYCA /GET THE FIRST WORD OF THE TRANSFER JMS TTYPCH /WRITE ROUTINE ISZ TTYCA /POINT TO NEXT WORD IN BUFFER TT7400, 7400 TAD I TTYCA /GET THE NEXT WORD TO BE TRANSFERRED JMS TTYPCH STL /WILL SET LINK ON! /KEEPS US IN SEND MODE /AC IS NON-ZERO HERE BUT WE DON'T CARE TTLOOP, ISZ TTYCA /POINT TO THE NEXT WORD TT70, 70 /??? ISZ TTYWC /INC WORD COUNT ISZ TTYWC /AND AGAIN JMP TTYLP /KEEP GOING TTYRTN, TAD TTYCDF CLL CIA SNL CLA ISZ TTY /SKIP PAST ERROR RETURN TTYXIT, HLT /RESTORE CALLING FIELDS RAL JMP I TTY /RETURN TO OS/8 TTYTST, 0 /SUBROUTINE ENTRY TTYCDF, 0 /DATA FIELD FOR BUFFER TAD TTY200 KRS /TEST FOR ^C WITH FLAG UP /WE STILL WANT THE KEYBOARD TO BE ABLE TO STOP THIS TAD TTM203 /IS IT A <^C>? KSF /IS IT VALID DATA?? CLA CLL CMA /BAD DATA (SIGH) SNA JMP TTYCIF /GO TO OS/8 CLL RAR /IF ^D THIS MAKES AC = 0 SZA JMP I TTYTST JMP TTYRTN /BYE BYE TTYCIF, CDF CIF 0 JMP I TT7600 /THIS IS THE OS/8 RERENTRY POINT TTYPCH,0 DBTD /BUFFER FOR "TLS" --PUT IT OUT THERE DBTF /BUFFER FOR "TSF" --WAIT FOR IT TO BE ACCEPTED JMP .-1 6507 /THIS CLEARS THE DONE FLAG AFTER SENDING DATA /TO THE "SLAVE MACHINE". WITHOUT THIS THE /DONE FLAG STAYS UP AND ONLY 1 WORD IS SENT /THIS IS CALLED DBCD....................JJM JMS WAIT JMP I TTYPCH TTYCA, 0 TTYWC, 0 TTCDF, CDF 0 /THE FOLLOWING CODE READS . TTYGLP, /THIS ALSO SETS THE FIELD!!!! JMS TTYGCH /GET CHR DCA I TTYCA /SAVE IT JMS TTYGCH /GET CHR ISZ TTYCA DCA I TTYCA /SAVE IT /THIS SECTION IS AN END-OF-FILE ON INPUT CHECKER CLA CLL TAD TTYCDF /GET THE EOF-FLAG SNA /NOT=0...IGNORE JMP TTYRTN /=0...BYE BYE CLA CLL /RESET TO READ JMP TTLOOP TTYGCH, 0 TAD TTYCDF TT7700, SMA CLA JMP I TTYGCH JMS TTYTST TTYKSF, DBRF /IPB FOR "KSF" JMP .-1 DBRD /GET THAT DATA!!!! /THERE USED TO BE AN ECHO HERE TTECHO, JMP I TTYGCH TTM203, -203 TTY200,200 /LATEST MOD...29 APR 78.........JJM&CO. WAIT, 0 TAD TTWAIT DCA TTRASH ISZ TTRASH JMP .-1 JMP I WAIT TTWAIT,-5 TTRASH,0 /COMMENTS ADDED 4 MAY 1978......JJM&CO.