TITLE CONSOLE CONTROL VERSION #2 SEPT. 1 '69 SUBTTL DON WITCRAFT 2-7-66 ,CONSOLE FUNCTIONS INTERNAL S,C,L,DP,E,SS,DOOR,STARTT,SR EXTERNAL IFSW,IF,IBR,DFSW,DFF,FETOP1,CYCLE,TC,KDATA SR: 0 ;SIMULATED SWITCH REGISTER S: SETZB AC,MB ;START IFN DDF32, SETZM KDATA+1 ;SET TIME FOR THE NEXT TTY INT TO 0 SETZB IR,AC0 SETZB RUNTIM,TIME HRLZI FLAGS,RUN!KACTIVE SETZB AC0,MQ CALLI AC0,27 ;GET RUNNING TIME FOR JOB MOVEM AC0,STARTT# ;SAVE C: MOVE PDP,[XWD -10,PDL] ;RELOAD THE PD POINTER OUTSTR [ASCIZ / /] SETOM AC0 ;LOAD WITH -1 GETLIN AC0 ;GET LINE CHARACTERISTICS TLO AC0,6 ;SET TAPE MODE, NO CHAR ECHO SETLIN AC0 ;EFFECT CHANGES TLO FLAGS,RUN!KACTIVE ;CONTINUE SETZM AC0 JRST CYCLE L: MOVE PC,SR ;LOAD ADDRESS MOVE AC0,IFSW MOVEM AC0,IF MOVEM AC0,IBR MOVE AC0,DFSW MOVEM AC0,DFF PUSHJ PDP,CONSOLE DP: OR AC,SR ;DEPOSIT SWITCH MOVEI IR,3 MOVE MB,PC TLZ FLAGS,RUN JRST FETOP1 E: ANDI AC,10000 ;EXAMINE MOVEI IR,1 MOVE MB,PC JRST E-2 SS: TLZ FLAGS,RUN ;SINGLE STEP JRST TC ,SIMULATOR INITIALIZATION INTERNAL INI,IOINI,TIME,NTIME EXTERNAL CORE INI: CALLI 0 ;RESET IO MOVE PDP,[XWD -10,PDL] ;ESTABLISH PUSHDOWN POINTER PUSHJ PDP,IOINI INI1: PUSHJ PDP,CONSOL ;RETURN CONTROL TO CONSOL EXTERNAL MDLISTL,DLIST,MCLIST,CLIST,FCLOSE IOINI: MOVSI AC0,MCLIST IOINI1: MOVEI FDB,@CLIST(AC0) SETZM CDCHAR(FDB) SETZM CDSTAT(FDB) SETZM CFSTAT(FDB) SETZM CDBLOCK(FDB) HRRZS CINI(FDB) SKIPE AC1,CBUFH(FDB) ;CLEAR ITEM COUNTS SETZM 2(AC1) AOBJN AC0,IOINI1 MOVSI FLAGS,KACTIV ;KEYBOARD IS ALWAYS ACTIVE POPJ PDP, INTERNAL EXIT EXIT: MOVSI AC0,MCLIST SKIPE FDB,CLIST(AC0) JSP SRR,FCLOSE AOBJN AC0,.-2 PUSHJ PDP,CONSOL ;DATA TIME: 0 ;CUMULATIVE RUNTIME IN 1/4 MICROSECONDS NTIME: Z ;NEXT TIME TO CHECK FLAGS ;I.E. CHECK IMMEDIATELY LIT PDL: ERROR BLOCK 7 INTERNAL ERROR,CONSOLE ERROR: CONSOL: POP PDP,AC0 ;FROM WHENCE YOU COMETH. HRRZ AC4,DOOR# JRST (AC4) END