File OD.TK

Directory of image this file is from
This file as a plain text file

/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 SZL /LINK IS ZERO IF OK JMP ODEXIT+2 /UNAUTHORISED PERSON DCA ODIDEV /SET UP INPUT REQUEST TAD ODIDEV TAD ("T-"K^100 DCA ODODEV /SET UP OUTPUT REQUEST ODCRLF, 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 FIELD JMP ODOPEN /EVERY THING ELSE IS OPEN TAD ODNUMB AND C70 TAD C6201 /MAKE A CDF DCA ODCDF+1 /STORE IN FIELD-CHANGE ROUTINE JMP ODCRLF /GET NEXT COMMAND 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 SWPOUT ODCDF, 0 /ROUTINE TO CHANGE THE DATAFIELD CDF 70 //CHANGED BY "F"-COMMAND JMP I ODCDF // ODERR, TAD ODQ JMS ODTYPE /OUTPUT "?" JMP ODCRLF /GIVE CR-LF 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 /RETURN ODOCT, 0 /OCTAL OUTPUT ROUTINE DCA ODTMP TAD M4 DCA ODCNT /SET COUNTER FOR FOUR DIGITS ODOCT1, TAD ODTMP RAL RTL DCA ODTMP TAD ODTMP RAL AND C7 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 $



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search