C C THIS PROGRAM READ A PDP-8 BINARY LOADER TAPE FROM A TTY C AND CREATES A MAP OF MEMORY. C IT PURPOSE IS TO DEMO THE FULL DUPLEX TERMINAL HACK C TTDRVFD.COR AND THE SUBROUTINE TRMATA.MAC C PARAMETER CNTRLS="23 PARAMETER CNTRLQ="21 INTEGER CIRBUF(1000),MEMORY(0:8191) DATA IPCHI,IPCLO/-1,32767/ DATA MEMORY/8192*-1/ OPEN (UNIT=1,NAME='TI:') ISTAT=INIAST(CIRBUF,1000,1,1,1) D TYPE*,'ISTAT= ',ISTAT IF(ISTAT.LT.0)STOP 'INIAST ERROR' WRITE(1,900)0,CNTRLQ 900 FORMAT(100A1) 100 ICHAR=IGTCHR(CIRBUF) D WRITE(1,901)ICHAR IF(ICHAR.GT.0)STOP 'IGTCHR ERROR' ICHAR=ICHAR.AND."377 IF(ICHAR.EQ."200)GO TO 100 IF((ICHAR.AND."300).NE."100)GO TO 100 200 IPC=(ICHAR.AND."77)*"100 ICHAR=IGTCHR(CIRBUF) D WRITE(1,901)ICHAR IF(ICHAR.GT.0)STOP 'IGTCHR ERROR' ICHAR=ICHAR.AND."377 IF((ICHAR.AND."300).NE.0)GO TO 700 IPC=IPC+ICHAR 300 ICHAR=IGTCHR(CIRBUF) D WRITE(1,901)ICHAR IF(ICHAR.GT.0)STOP 'IGTCHR ERROR' ICHAR=ICHAR.AND."377 IF((ICHAR.AND."300).EQ."100)GO TO 200 IF((ICHAR.AND."300).EQ."200)GO TO 500 IF((ICHAR.AND."300).EQ."300)GO TO 400 IDATA=ICHAR*"100 ICHAR=IGTCHR(CIRBUF) D WRITE(1,901)ICHAR IF(ICHAR.GT.0)STOP 'IGTCHR ERROR' ICHAR=ICHAR.AND."377 IF((ICHAR.AND."300).NE.0)GO TO 700 IDATA=IDATA+ICHAR MEMORY(IPC+IFLD)=IDATA IF(IPCHI.LT.IPC+IFLD)IPCHI=IPC+IFLD IF(IPCLO.GT.IPC+IFLD)IPCLO=IPC+IFLD IPC=((IPC+1).AND."7777) GO TO 300 400 IFLD="1000*(ICHAR.AND."10) GO TO 300 500 WRITE(1,900)0,CNTRLS OPEN (UNIT=2,NAME='MEMORY') 901 FORMAT(4(2O10,10X)) ISTRT=IPCLO.AND."77600 510 WRITE(2,902)ISTRT,ISTRT+"200 902 FORMAT('1 PAGES ',O8,' AND',O8) WRITE(2,901)(IPC,MEMORY(IPC),IPC+"100,MEMORY(IPC+"100),IPC+"200, 1 MEMORY(IPC+"200),IPC+"300,MEMORY(IPC+"300), 2 IPC=ISTRT,ISTRT+"77) ISTRT=ISTRT+"400 IF(ISTRT.LT.IPCHI)GO TO 510 IF(IDTAST(CIRBUF).LE.0)STOP 'IDTAST ERROR' CALL EXIT 700 WRITE(1,900)0,CNTRLS STOP 'IMPROPER FORMAT' END