/CREATED 8-JANUARI-75, ELC / /FOREGROUND ODT TASK / /RUN WHITH HELP OF "CD". MUST BE ENTERRED WHITH AC=NAME OF TELETYPE / /WHEN THE PASSWORD IS OK, IT WILL GIVE A CR-LF AND AWIT YOUR /COMMANDS. / /E=END OR EXIT / /20F=OPEN FIELD 20 / /1234/=OPEN LOCATION 1234 IN THE CURRENT FIELD. /THE INITIAL FIELD IS 70 / /WHEN A LOCATION IS OPENEND, ODT TYPES: /1234 7402 / /NOW YOU MAY CLOSE THE LOCATION WITH CR, OR CLOASE IT AND OPEN THE /NEXT LOCATION WITH LF, OR DO EITHER AFTER ENTERRING A NEW VALUE /TO BE STORED IN THE OPEN LOCATION, E.G. / /1234/ /1234 7402 7000 (LF) /1235 7300 (CR) /E / /*THIS IS A PRIVILIGED TASK, AS IT IS QIUTE CAPABLE OF DESTROYING* /*THE SYSTEM* *200 ODSWITCH,"O^100+"D&3777 /NAME IS "OD" ODNUMB, 200 /ONE PAGE, NO CONNECTED INTERRUPTS ODTMP, 0 ODDELIM, OD, JMS MONITOR /AC IS TELETYPE HANDLER NAME ODPNTR, CALL+SWPOUT ODCNT, "P^100+"A&3777 /PASSWORD CHECKING TASK JMP .-3 /BUSY ? LOOP OK JMP ODEXIT+2 /UNADIDEV /SET UP INPUT REQU"T-"K^100 DCA ODODEV /DCRLF, TAD C215 JMS ODTYPE ODLF, TAD C212 JMS ODTYPE ODCMND, JMS ODREAD /GET COMMAND TAD ODDELIM /GET DELIMITER TAD (-"E /"E" IS "END" OR "EXIT" SNA JMP ODEXIT TAD ("E-"F SZA CLA /"F" MEANS SET FI THING ELSE IS OPEN TA C6201 /MAKE A CDF DCA-CHANGE ROUTINE JMP OD ODOPEN, TAD ODNUMB DCA ODPNTR /SET INPUT IN POINTER ODOPE1, TAD ODPNTR /GET POINTER TO OPEN LOCATION JMS ODOCT /AND PRINT ITS ADDRESS JMS ODCDF //CHANGE FIELD TO DATAFIELD TAD I ODPNTR //FETCH CONTENTS OF OPEN LOCATION JMS ODOCT //TYPE CONTENTS IN OCTAL, DOES CDTOIF JMS ODREAD /GET POSSIBLE NEW CONTENTS TAD ODDELIM /WHAT WAS THE DELIMITER ? TAD M215 SZA /CR ? TAD C3 SZA CLA /LF ? JMP ODERR ISZ ODSWITCH /WAS THERE NUMBER INPUT ? JMP ODOPE2 /NO NEW INPUT GIVVEN TAD ODNUMB JMS ODCDF //CHANGE FIELD TO DATA'S FIELD DCA I ODPNTR //STORE NEW CONTENTS IN OPEN LOCATION ODOPE2, TAD ODDELIM // RAR // SZL CLA //WAS IT LINEFEED ? JMP ODLF //NO, GET NEXT COMMAND ISZ ODPNTR //YES, BUMP POINTER TO NEXT LOCATION ODQ, "? //NOP, PROTECTS ISZ TAD C215 //GIVE HIM A CR TOO JMS ODTYPE // JMS ODTYPE /AND ONE BLANK AS FILLER JMP ODOPE1 //OPEN NEXT LOCATION ODEXIT, AC4000 JMS ODTYPE /RELEASE TELETYPE JMS MONITOR EXIT SWPE TO CHANGE THE DATAFIEL "F"-COMMAND JMP I ODC JMS ODTYPE /OUTPUT "?"F AND GET NEXT COMMAND ODTYPE, 0 /SINGLE CHARACTER OUTPUT ROUTINE TAD (4000 /SET TELETYPE HOLD-BIT JMS MONITOR CALL ODODEV, 0 /NAME OF OUTPUT HANDLER TASK JMP .-3 /BUSY ? LOOP JMP I ODTYPE /RETOUTPUT ROUTINE DCA ODT/SET COUNTER FOR FOUR DI RAL RTL DCA ODTMPC7 TAD C260 JMS ODTYPE ISZ ODCNT /COUNT FOUR DIGITS JMP ODOCT1 /STILL MORE TO PRINT TAD C240 JMS ODTYPE /ADD A SPACE JMP I ODOCT ODREAD, 0 /OCTAL INPUT ROUTINE DCA ODNUMB /CLEAR INPUT ACCUMULATOR ODR1, DCA ODSWITCH /RESET VALID INPUT SWITCH JMS MONITOR CALL ODIDEV, 0 /NAME OF INPUT HANDLER TASK JMP .-3 /BUSY ? LOOP DCA ODDELIM TAD ODDELIM JMS ODTYPE /GIVE ECHO TAD ODDELIM AND C7770 TAD M260 SZA CLA /IS IT OCTAL ? JMP I ODREAD /NO, THIS IS THE DELIMETER TAD ODDELIM /GET CHAR AND C7 DCA ZTEM1 TAD ODNUMB CLL RAL CLL RAL CLL RAL TAD ZTEM1 /ADD THE NEW DIGIT DCA ODNUMB CLA CMA /SET VALID INPUT FLAG JMP ODR1 /GET MORE INPUT $