cutler (11/09/82)
A while back I asked for info on atari-termcaps, etc. What follows is a terminal simulator sent to me from way off in ARPA land: >From decvax!ucbvax!Tyson Fri Oct 22 00:12:48 1982 Date: 14 Oct 1982 0346-PDT From: Mabry Tyson <ucbvax!Tyson@SRI-AI> Subject: Re: Atari termcap. Message-Id: <8209220227.9444@UCBVAX.BERKELEY.ARPA> Received: by UCBVAX.BERKELEY.ARPA (3.207 [9/26/82]) id A09444; 21-Oct-82 19:27:45-PDT (Thu) To: decvax!yale-com!cutler@UCB-C70 In-Reply-To: Your message of 12-Oct-82 2259-PDT I don't know how your message got out onto the Arpanet, but we have a INFO-ATARI mailing list. Send mail to INFO-ATARI-REQUEST@MIT-MC to see if you can be added on. For crt emulation, I'd suggest APX's LIZARD (or CHAMELEON) written by Jack Palevich (aka INFO-ATARI-REQUEST). It emulates VT52 and a couple of other terminals I believe. I'm going to send a set of messages that just came out today on INFO-ATARI. They contain the code for a BASIC terminal program for the Atari. I haven't tried it but I thought you might want it. It will be in the message just after this one. ------- >From decvax!ucbvax!Tyson Fri Oct 22 12:11:58 1982 Date: 14 Oct 1982 0346-PDT From: Mabry Tyson <ucbvax!Tyson@SRI-AI> Subject: Re: Atari termcap. Message-Id: <8209220918.19778@UCBVAX.BERKELEY.ARPA> Received: by UCBVAX.BERKELEY.ARPA (3.207 [9/26/82]) id A19778; 22-Oct-82 02:18:53-PDT (Fri) To: decvax!yale-com!cutler@UCB-C70 In-Reply-To: Your message of 12-Oct-82 2259-PDT 13-Oct-82 20:31:14-PDT,614;000000000001 Mail-from: ARPAnet host MIT-MC rcvd at 13-Oct-82 2031-PDT Date: 13 Oct 1982 22:07:20 EDT (Wednesday) From: Marshall Abrams <abrams at MITRE> Subject: ATERM file info To: info-atari at mit-mc Cc: abrams at MITRE I will send the three files which make up ATERM (my terminal emulator) in seperate messages. The file names, which are coded in are: ATERM. (the main program), ATERMPT2. (the second part of ATERM), and ATERMHLP.TXT (a help file). The first two are BASIC programs. If anyone has a major problem in downloading or makes substantial improvements, let me know. --Marshall Abrams 13-Oct-82 20:16:40-PDT,6034;000000000001 Mail-from: ARPAnet host MIT-MC rcvd at 13-Oct-82 2016-PDT Date: 13 Oct 1982 22:12:30 EDT (Wednesday) From: Marshall Abrams <abrams at MITRE> Subject: ATERMPT2. program file To: info-atari at mit-mc Cc: abrams at MITRE 10 DIM SW(26):FOR I=1 TO 26:READ X:SW(I)=X:NEXT I 15 DATA 1500,0,0,1410,25,1340,30,1100,0,0,0,0,1180,0,0,1300,0,0,110,1330,500,0,1320,0,0,0 20 DIM A$(17),D$(15),T$(133),R$(15):D$="D :":S=ADR(D$)+200:C=764:O=53279:Z=0:F=FRE(Z)-125 25 L=S:WF=Z:NB=Z 30 SETCOLOR 2,8,2:SETCOLOR 4,8,2:? "}" 35 POKE 82,Z:? ," Terminal Mode":GOSUB 1000:L=S:WF=Z:NB=Z 40 GOSUB 290:TRAP O 50 STATUS #2,V:IF PEEK(747) THEN X=USR(1648):POKE L,PEEK(208):L=L+WF:GOTO 50 55 IF PEEK(C)=156 THEN GOSUB 400 60 IF PEEK(C)<>255 THEN X=USR(1701) 65 CON=PEEK(O) 70 IF L-1>F+S THEN 100 80 IF CON=6 THEN GOSUB 300 85 IF CON=3 THEN GOTO 1200 90 GOTO 50 100 GOSUB 350 110 ? :? "ENTER DOWNLOAD FILENAME "; 120 TRAP 38:INPUT A$:TRAP O:IF LEN(A$)=Z THEN 40 130 IF LEN(A$)<3 THEN A$(LEN(A$)+1)=" " 140 IF A$(1,1)="D" AND (A$(2,2)=":" OR A$(3,3)=":") THEN D$=A$:GOTO 160 150 D$="D1:":D$(4)=A$ 160 TRAP 180:CLOSE #1:CLOSE #2:OPEN #3,8,Z,D$ 165 SETCOLOR 2,8,2:SETCOLOR 4,8,2 170 X=USR(1539,3,S,L-S+1):CLOSE #3:? :? ," I/O COMPLETE":? ,"File Preserved":FOR I=1 TO 222:NEXT I 173 IF D$="E:" THEN ? :? "Press RETURN";:INPUT A$ 175 GOTO 1200 180 GOSUB 700:? "TRY AGAIN":POKE C,255:A=Z:GOSUB 1000:GOTO 50 290 POKE C,255:RETURN 300 IF WF THEN WF=Z:? "STOP ";:GOTO 320 310 WF=1:NB=NB+WF:? "BLOCK # ";NB;" BYTES FREE=";F+S-1-L:? "START "; 320 ? "FILLING BUFFER" 350 IF PEEK(O)<>7 THEN 350 360 RETURN 400 CLOSE #2:OPEN #2,13,Z,"R:" 410 XIO 34,#2,2,Z,"R:" 420 FOR I=1 TO 200:NEXT I 430 XIO 34,#2,3,Z,"R:" 435 XIO 40,#2,Z,Z,"R:" 440 RETURN 500 TRAP 690:? "ENTER UPLOAD FILENAME";:INPUT A$:IF LEN(A$)=Z THEN 1200 510 IF LEN(A$)<3 THEN A$(LEN(A$)+1)=" " 520 IF A$(1,1)="D" AND (A$(2,2)=":" OR A$(3,3)=":") THEN D$=A$:GOTO 540 530 D$="D1:":D$(LEN(D$)+1)=A$ 540 TRAP 690:CLOSE #2:CLOSE #3:OPEN #3,4,Z,D$:NOTE #3,SEC,BYTE:CLOSE #3:GOSUB 1000 545 OPEN #4,8,0,"S:":SETCOLOR 2,8,2:SETCOLOR 4,8,2:? "}" 550 IF PEEK(O)<>7 THEN 1200 560 CLOSE #2:OPEN #3,4,Z,D$:POINT #3,SEC,BYTE:INPUT #3;T$:NOTE #3,SEC,BYTE:GOSUB 1000:? #2;T$ 565 I=Z:IF ECHO<=Z THEN ? T$:POKE 77,0 575 IF DF=Z THEN 585 580 FOR I=0 TO 10*DF:NEXT I 585 STATUS #2,A:IF A<>1 THEN GOSUB 720:GOTO 1200 590 IF FLOW=Z THEN 550 600 A=PEEK(747)+256*PEEK(748):IF A>Z THEN 630 610 IF FLOW>=Z THEN 550 615 IF PEEK(O)<>7 THEN 1200 620 I=I+1:IF I<222 THEN 585 625 ? "No prompt received. Sending next line":? "Press OPTION to abort.":GOTO 550 630 FOR I=1 TO A:GET #2,X 635 IF ECHO>=Z THEN PUT #4,X:POKE 77,0 640 IF FLOW=-1 AND X=FLON THEN POP :GOTO 550 650 IF FLOW>Z AND X=FLOW THEN POP :GOTO 670 660 NEXT I:IF FLOW>=Z THEN 550 665 IF FLOW=-1 THEN 600 667 ? "INTERNAL ERROR 667":STOP 670 GET #2,X:IF X<>FLON THEN 670 680 GOTO 550 690 GOSUB 700:GOTO 1200 700 TRAP O:A=PEEK(195):IF A=136 THEN ? ,"Operation complete":POP :GOTO 30 720 POSITION 2,PEEK(84):? " ERROR ";A;" "; 740 IF A=144 THEN ? "Device done error":GOTO 900 750 IF A=164 THEN ? "Disk links scrambled":GOTO 900 760 IF A=170 THEN ? "Incorrect file name":GOTO 900 770 IF A=130 THEN GRAPHICS Z:? :? "850 INTERFACE NOT BOOTED":? "REBOOT AND TRY AGAIN":END 780 IF A=138 THEN ? "DEVICE TIMEOUT, TURN ON DEVICE":GOTO 900 790 IF A=162 THEN ? "DISK FULL":GOTO 900 800 IF A=165 THEN ? "INVALID FILENAME, ":GOTO 900 810 IF A=167 THEN ? "LOCKED FILE, ":GOTO 900 820 IF A=169 THEN ? "DIRECTORY FULL":GOTO 900 890 ? " AT LINE ";PEEK(186)+256*PEEK(187) 900 FOR I=1 TO 222:NEXT I:RETURN 1000 CLOSE #1:CLOSE #2:CLOSE #3 1010 OPEN #1,4,Z,"K:":OPEN #2,13,Z,"R:":XIO 38,#2,PEEK(209),Z,"R:":XIO 40,#2,Z,Z,"R:":RETURN 1100 CLOSE #5:TRAP 1160:OPEN #5,4,0,"D:ATERMHLP.TXT":? "}" 1110 POKE 195,1:TRAP 1130:INPUT #5,T$:? T$:IF LEN(T$)<5 THEN 1110 1120 IF T$(1,5)<>"*****" THEN 1110 1130 A=PEEK(195):? ,"Press RETURN ";:INPUT T$:? "}":IF A=1 THEN 1110 1140 IF A<>136 THEN ? "ERROR ";A;" READING INSTRUCTION FILE" 1150 TRAP OFF:CLOSE #5:GOTO 1200 1160 ? "ERROR: Can't find TERMINAL.HLP":FOR I=1 TO 155:NEXT I:GOTO 1150 1180 RUN "D:ATERM." 1200 CLOSE #1:CLOSE #2:CLOSE #3:CLOSE #4:CLOSE #5:SETCOLOR 2,8,2:SETCOLOR 4,8,2:? "}","Options" 1211 ? "A Print disk directory" 1214 ? "D Dump download buffer to":? " D:DUMPBUFF.SAV" 1215 ? "E Empty downloaded buffer" 1216 ? "F Fix upload parameters" 1217 ? "G Go to terminal mode" 1218 ? "H@@@@Dbddf@~@D@@@^@Dbddl@~@D@@@@@@Dbddr@ "S Store dowloaded file to disk" 1230 ? "T Type downloaded file on screen" 1231 ? "U Upload file" 1233 ? "W Write downloaded buffer to casette" 1260 CLOSE #1:OPEN #1,4,Z,"K:":TRAP 1200 1270 ? ,"Option?";:GET #1,I:? 1280 GOTO SW(I-64) 1300 D$="P:":GOTO 160 1320 D$="C:":GOTO 160 1330 D$="E:":GOTO 160 1340 ? "Echo","-1 Output":? ," 0 Both":? ," 1 Prompt/echo":INPUT ECHO 1342 ? "Send line only when prompted (Y/N)";:INPUT A$:IF LEN(A$)=0 THEN 1342 1344 IF A$(1,1)="N" THEN 1360 1346 IF A$(1,1)<>"Y" THEN 1342 1348 FLOW=-1:DF=Z 1350 ? :? "Decimal value of prompt character":? "(ATASCII CR=155, X-ON=17)";:INPUT A$ 1352 IF LEN(A$)=0 THEN 1350 1354 FLON=VAL(A$):GOTO 1200 1355 DF=VAL(A$) 1360 ? :? "End of line delay factor (UNIX=22)";:INPUT A$:IF LEN(A$)=0 THEN DF=0:GOTO 1360 1362 DF=VAL(A$) 1365 ? :? "Decimal value of character sent to":? "stop Atari (X-OFF=19)";:INPUT A$ 1367 IF LEN(A$)=0 THEN FLOW=0:GOTO 1370 1368 FLOW=VAL(A$) 1370 ? :? "Decimal value of character sent to":? "restart Atari(X-ON=17)";:INPUT A$ 1375 IF LEN(A$)=0 THEN FLON=0:GOTO 1200 1380 FLON=VAL(A$) 1390 GOTO 1200 1410 D$="D:DUMPBUFF.SAV":L=F+S-1:GOTO 160 1500 TRAP 1500:? "Drive number ";:INPUT X:CLOSE #1:CLOSE #2:CLOSE #3 1510 D$="D :*.*":D$(2,2)=STR$(X):OPEN #1,6,0,D$ 1520 TRAP 1530:INPUT #1,A$:? A$:GOTO 1520 1530 IF A$(10,11)<>"SE" THEN ? " free sectors." 1540 ? "Press RETURN";:INPUT A$:GOTO 1200 13-Oct-82 20:49:23-PDT,3471;000000000001 Mail-from: ARPAnet host MIT-MC rcvd at 13-Oct-82 2049-PDT Date: 13 Oct 1982 22:13:22 EDT (Wednesday) From: Marshall Abrams <abrams at MITRE> Subject: ATERMHLP.TXT help text file To: info-atari at mit-mc Cc: abrams at MITRE >>>> ATERM HELP FILE <<<< >> Special ASCII characters << break CTRL+ESC del TAB or CTRL+INSERT fs CTRL+- or SHIFT+DELETE gs CTRL+= or SHIFT+INSERT rs CTRL++ or CTRL+TAB us CTRL+* or SHIFT+TAB ************************************* >> File transfer & other features << Press START to capture downloaded file. (More explanation below.) Press OPTION to activate all other options. A menu will be displayed. ************************************* >> Getting Started << After the instructions you will be given several choices. In each case, you may select the default by pressing RETURN. This is recommended unless you have a good reason for another option. The first set concerns translation: Light ASCII translation (default) Heavy ASCIi translation No translation The next set concerns output parity: None (default) Odd Even Set to 1 The last question concerns line feed: Append line feed after return No line feed (default) After setting these options, the main program will be run. ************************************* >> DOWNLOAD FEATURES << Press StART to toggle the memory buffer switch, e.g. to begin saving material to buffer and to stop saving. You may start and stop saving to buf- fer as many times as you wish. Each time you toggle the switch ON the number of characters of free buffer are displayed (over 25000 for 40-48K RAL). If xou run out of buffer the program will automatically send an XOF to the hst computer and prompt you for a disk file name to save the memory buffer. ************************************* >> OPTIONS << A Print disk directory D Dump download buffer to D:DUMPBUFF.SAV E Empty downloaded buffer F Fix upload parameters G Go to terminal mode H Print Help file M Reset modem/translation options P Print hardcopy of downloaded file S Store dowloaded file to disk T Type downloaded file on screen U Upload file W Write downloaded buffer to casette Ben Cutler decvax!yale-comix!cutler