start tok64 d64-a8XuJh 10 REM *** new protocol *** 20 REM release 2: oct 27 1984 30 REM by steve punter 40 IFPEEK(49152)<>169THENLOAD"term.c1 v2",8,1 50 OPEN5,2,0,CHR$(8):GET#5,a$:bs=255:OPEN1,8,15:DIMt$(3):SYS49176 60 ty$="psp":t$(1)="Program":t$(2)="SEQ":t$(3)="WordPro":cs=1.02273e6 70 br$="300":GOSUB6000 80 PRINT"{clear}{down}Option: ("+br$+" Baud) Block Size ="bs"{down}" 90 PRINT"{space*3}1 - Terminal Mode" 100 PRINT"{space*3}2 - Transmit a File" 110 PRINT"{space*3}3 - Receive a File" 120 PRINT"{space*3}4 - Change Block Size" 130 PRINT"{space*3}5 - Toggle Baud Rate (300-1200)" 140 GETa$:IFa$=""THEN140 150 IFa$="2"THEN1000 160 IFa$="3"THEN2000 170 IFa$="4"THEN3000 180 IFa$="1"THENPRINT"{down}Terminal Mode:":GOTO4000 190 IFa$="5"THEN6700 200 GOTO140 1000 PRINT"{down}Program Name? ";:GOSUB5000:IFi$=""ORfl=1THEN80 1010 PRINT"{down}File Type (P, S, or W)? {reverse on} {reverse off}{left}"; 1020 GETa$:IFa$=""THEN1020 1030 IFa$="{f1}"THEN80 1040 IFa$="p"THENsa=0:t=1:GOTO1080 1050 IFa$="s"THENsa=2:t=2:GOTO1080 1060 IFa$="w"THENsa=0:t=3:GOTO1080 1070 GOTO1020 1080 PRINTt$(t)"{down}":OPEN2,8,sa,i$:INPUT#1,e$,em$,t$,s$ 1090 IFVAL(e$)>0THENPRINT"{down}"e$","em$","t$","s$:CLOSE2:GOTO1010 1120 SYS49173:POKE51227,t:SYS49164:IFPEEK(512)=1THENCLOSE2:GOTO4000 1130 SYS49173:POKE51224,bs:SYS49158:CLOSE2:GOTO4000 2000 PRINT"{down}Save As? ";:GOSUB5000:IFi$=""ORfl=1THEN80 2010 SYS49173:SYS49161:IFPEEK(512)=1THEN4000 2020 t$=","+MID$(ty$,PEEK(51227),1)+",w" 2025 PRINT"{down}File Type: "t$(PEEK(51227)) 2030 OPEN2,8,2,"@0:"+i$+t$:FORx=1TO1300:NEXTx:PRINT:SYS61310 2040 SYS49173:SYS49155:CLOSE2:FORx=1TO1500:NEXTx:POKE668,PEEK(667):GOTO4000 3000 PRINT"{down}Block Size? ";:GOSUB5000:IFi$=""THEN80 3010 bs=VAL(i$):IFbs<40THENbs=40 3020 IFbs>255THENbs=255 3030 GOTO80 4000 PRINT 4010 SYS49173:SYS49167:GOTO80 5000 i$="":fl=0 5010 PRINT"{reverse on} {reverse off}{left}"; 5020 GETa$:IFa$=""THEN5020 5030 IFa$=CHR$(13)THEN5100 5040 IFa$=CHR$(20)THEN5080 5045 IFa$="{f1}"THENfl=1:GOTO5100 5050 IFLEN(a$)>20THEN5020 5060 IF(ASC(a$)AND127)<32THEN5020 5070 PRINTa$;:i$=i$+a$:GOTO5010 5080 IFLEN(i$)=0THEN5020 5090 PRINT" {left*2}";:i$=LEFT$(i$,LEN(i$)-1):GOTO5010 5100 PRINT" ":RETURN 6000 s=VAL(br$):POKE659,6:IFs=1200THENPOKE659,8 6010 rc=cs/s:GOSUB6500:POKE51968,lo:POKE51969,hi 6020 IFs=1200THENrc=cs/s*.966:GOSUB6500 6030 POKE665,lo:POKE666,hi 6040 rc=cs/s/2-100:GOSUB6500:POKE661,lo:POKE662,hi:RETURN 6500 hi=INT(rc/256):lo=INT(rc-hi*256):RETURN 6700 IFbr$="300"THENbr$="1200":GOTO6720 6710 br$="300" 6720 GOSUB6000:GOTO80 stop tok64 (bastext 1.0)