c fasttt - output to console terminal directly through i/o page c c c date of first version: 21-Jun-83 c c programmer: Matt Prucka c c****************************************************************** subroutine fasttt(buf) byte dc1,dc3,buf(1),ctrlc integer ttrs,ttrb,ttts,tttb,ttrcsr,tttcsr,i,cntrl data dc1,dc3/17,19/,ctrlc/3/ c Set up I/O register addresses for terminal. ttrs=ispy("304) ttrb=ispy("306) ttts=ispy("310) tttb=ispy("312) c Disable interrupts. call ipoke(ttrs,0) call ipoke(ttts,0) i=1 cntrl=1 c while 23000 if(.not.(buf(i).ne.0))goto 23001 c output bytes from buffer to console if(.not.((ipeek(ttrs) .and. "200).ne.0))goto 23002 char=ipeekb(ttrb) .and. "177 if(.not.(char.eq.dc1))goto 23004 cntrl=1 goto 23005 c else 23004 continue if(.not.(char.eq.dc3))goto 23006 cntrl=0 goto 23007 c else 23006 continue if(.not.(char.eq.ctrlc))goto 23008 goto 23001 23008 continue 23007 continue 23005 continue 23002 continue if(.not.(cntrl.eq.1))goto 23010 c while 23012 if(.not.((ipeek(ttts).and."200).eq.0))goto 23013 goto 23012 c endwhile 23013 continue call ipokeb(tttb,buf(i)) i=i+1 23010 continue goto 23000 c endwhile 23001 continue c Restore transmit status char=ipeekb(ttrb) .and. "177 call ipoke(ttrs,"100) char=ipeekb(ttrb) .and. "177 call ipoke(ttts,"200) return end