/TELETYPE 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 /OH WELL, WHAT CAN YOU EXPECT IN ONE PAGE. / THE LOGIC IS VERY SIMILIAR TO THE PTR AND PTP HANDLERS. TTY360, 360 /MUST BE FIRST LOC ON PAGE! TTY, 0 TT7600, 7600 RDF TAD TTYCIF DCA TTYXIT /SAVE RETURN FIELD TAD I TTY AND TT70 TAD TTCDF DCA TTYCDF /DATA FIELD OF BUFFER TAD I TTY AND TT7700 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 DCA TTYCA /SAVE BUFFER ADDRESS ISZ TTY ISZ TTY 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 /CHARACTER 1 IS LOW ORDER 8 BITS OF WORD 1 JMS TTYPCH ISZ TTYCA TT7400, 7400 TAD I TTYCA /CHARACTER 2 IS LOW ORDER 8 BITS OF WORD 2 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 TT70, 70 ISZ TTYWC ISZ TTYWC JMP TTYLP TTYRTN, TAD TTYCDF CLL CIA SNL CLA ISZ TTY /SKIP PAST ERROR RETURN TTYXIT, HLT /RESTORE CALLING FIELDS RAL JMP I TTY TTYTST, 0 TTYCDF, 0 TAD TTY200 KRS /TEST FOR ^C WITH FLAG UP /WE STILL WANT THE KEYBOARD TO BE ABLE TO STOP THIS TAD TTM203 KSF CLA CLL CMA SNA /IF NOT 0 THEN CHECK FOR ^D JMP TTYCIF /IT MUST BE ^C CLL RAR /IF ^D THIS WILL MAKE AC=0 SZA /YES..BACK TO MONITOR JMP I TTYTST JMP TTYRTN /MUST BE ^D.... TTYCIF, CDF CIF 0 JMP I TT7600 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,JMS TTYTST /THIS ALSO SETS THE FIELD!!!! JMS TTYGCH DCA I TTYCA JMS TTYGCH ISZ TTYCA DCA I TTYCA /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 WAIT TTYKSF, DBRF /IPB FOR "KSF" JMP .-1 DBRD /GET THAT DATA!!!! /THERE USED TO BE AN ECHO HERE TTECHO, JMP I TTYGCH TTY232, 232 /THIS CAN BE OPTOMIZED OUT! TTY14, 14 TTM203, -203 TTM27, -27 TTM232, -232 TTY377,377 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 /ON 1 MAY ADDED ^D (EOT) AND CHANGED 1 WAIT CALL