home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / bbcmicro / bbcpat.bas < prev    next >
BASIC Source File  |  2020-01-01  |  15KB  |  533 lines

  1. 19-May-87 06:36:47-EDT,15905;000000000001
  2. Return-Path: <SYSKERMIT%vax1.central.lancaster.ac.uk@Cs.Ucl.AC.UK>
  3. Received: from Cs.Ucl.AC.UK (TUNNEL.CS.UCL.AC.UK) by CU20B.COLUMBIA.EDU with TCP; Tue 19 May 87 06:34:34-EDT
  4. Received: from vax1.central.lancaster.ac.uk by mv1.Cs.Ucl.AC.UK 
  5.            via Janet with NIFTP  id aa00523; 19 May 87 10:51 BST
  6. Date:        19-MAY-1987 10:48:17
  7. From:        SYSKERMIT%vax1.central.lancaster.ac.uk@Cs.Ucl.AC.UK
  8. To:        "SY.FDC" <@Cs.Ucl.AC.UK:SY.FDC@cu20b.columbia.edu>
  9. Subject:    File BBCPATCHER.BAS
  10.  
  11.    10 REM ***************************
  12.    20 REM * KERMIT PARAMETER SETTER *
  13.    30 REM *    BY DAVE M. WALKER    *
  14.    40 REM *   UNIVERSITY  COLLEGE   *
  15.    50 REM *         CARDIFF         *
  16.    60 REM ***************************
  17.    70 *TV255,1
  18.    80 MODE 7
  19.    90 IF PAGE>&2000 THEN ERM=1:PROCerror
  20.   100 BUFSIZE%=&2200-PAGE-1
  21.   110 HIMEM=HIMEM-BUFSIZE%-1
  22.   120 BUF%=HIMEM
  23.   130 ERM=0
  24.   140 ON ERROR PROCerror
  25.   150 PROCdecomp
  26.   160 VDU 28,1,24,39,19
  27.   170 PRINT "  A PROGRAM TO DEHEX AND/OR SET THE  "
  28.   180 PRINT "  PARAMETERS OF KERMIT BEFORE USING  "
  29.   190 PRINT "  THE PROGRAM IN RAM OR ROM.         "
  30.   200 REPEAT:A%=GET:UNTIL A%=32
  31.   210 VDU 23,1,1;0;0;0;
  32.   220 in$=FNfilenames("INPUT FILE")
  33.   230 in%=OPENIN(in$)
  34.   240 IF in%=0 THEN ERM=2:PROCerror
  35.   245 base%=FNrloadadd(in$)
  36.   250 IF base%<>0 THEN 330
  37.   260 PROCdehex
  38.   270 PRINT"DO YOU WISH TO SET PARAMETERS (Y/N) ?";
  39.   280 REPEAT
  40.   290 A$=GET$
  41.   300 UNTIL A$="Y" OR A$="N"
  42.   310 IF A$="N" THEN PRINT : GOTO 520
  43.   320 in%=OPENIN(in$)
  44.   330 FOR A%=BUF% TO BUF%+BUFSIZE%
  45.   340 ?A%=BGET#in%
  46.   350 NEXT A%
  47.   360 out$=FNfilenames("BINARY OUTPUT FILE   WITH PARAMETERS SET")
  48.   370 out%=OPENOUT(out$)
  49.   380 PROCgetaddress
  50.   390 IF V=1.33 THEN READ ITEM$:READ A$
  51.   400 IF V>=1.40 THEN READ A$:READ ITEM$
  52.   410 FOR Q%=1 TO LEN(ITEM$)
  53.   420 Z$=MID$(ITEM$,Q%,1)
  54.   430 IF Z$="A" THEN PROCskiptog:GOTO 500
  55.   440 IF Z$="B" THEN PROCskipran:GOTO 500
  56.   450 IF Z$="M" THEN PROCmemory :GOTO 500
  57.   460 IF Z$="O" THEN PROComit   :GOTO 500
  58.   470 IF Z$="R" THEN PROCranged :GOTO 500
  59.   480 IF Z$="S" THEN PROCsuffix :GOTO 500
  60.   490 IF Z$="T" THEN PROCtoggle :GOTO 500
  61.   500 NEXT Q%
  62.   510 PROCrunoff
  63.   520 VDU 26:END
  64.   530 :
  65.   540 REM ***** PROCEDURES & FUNCTIONS *****
  66.   550 :
  67.   560 DEF PROCcheck
  68.   570 A%=GET:IF A%=13 THEN 610
  69.   580 A%=A%-48
  70.   590 IF A%<>0 AND A%<>1 THEN 630
  71.   600 ?AT%=A%
  72.   610 PROComit
  73.   620 GOTO 650
  74.   630 ERM=3:PROCerror
  75.   640 GOTO 570
  76.   650 ENDPROC
  77.   660 :
  78.   670 DEF PROCdecomp
  79.   680 LOCAL B%,C%,D%,E%,I%,J%
  80.   690 B%=&7C00 : C%=0
  81.   700 VDU 23,1,0;0;0;0;
  82.   710 FOR I%=0 TO 411
  83.   720 READ D%
  84.   730 IF D%<>&FF THEN 770
  85.   740 READ E%,D%
  86.   750 I%=I%+2
  87.   760 GOTO 780
  88.   770 E%=1
  89.   780 FOR J%=1 TO E%
  90.   790 B%?C%=D% : C%=C%+1
  91.   800 NEXT J%
  92.   810 NEXT I%
  93.   820 REPEAT:B%=GET:UNTIL B%=32
  94.   830 ENDPROC
  95.   840 :
  96.   850 DEF PROCdehex
  97.   860 LOCAL R%
  98.   870 out$=FNfilenames("BINARY OUTPUT FILE   WITHOUT PARAMETERS SET")
  99.   880 out%=OPENOUT(out$)
  100.   890 R%=0 :AT%=0
  101.   900 VDU 28,1,24,39,19,12
  102.   910 PRINT CHR$(141);CHR$(133);"PLEASE WAIT - DEHEXING A FILE"
  103.   920 PRINT CHR$(141);CHR$(133);"PLEASE WAIT - DEHEXING A FILE"
  104.   930 VDU 28,1,23,39,22,12,23,1,0;0;0;0; 
  105.   940 REPEAT
  106.   950 REPEAT
  107.   960 UNTIL (BGET#in%=ASC(":")) OR EOF#in%
  108.   970 IF EOF#in% THEN PROCsaverest:GOTO 990 ELSE PROCreadrecord
  109.   980 UNTIL FALSE
  110.   990 CLOSE#0
  111.  1000 in$=out$
  112.  1010 PROCwloadadd(out$)
  113.  1020 VDU 23,1,1;0;0;0;
  114.  1030 VDU 28,1,24,39,19,12
  115.  1040 ENDPROC
  116.  1050 :
  117.  1060 DEF PROCdefault
  118.  1070 PRINT"THE DEFAULT VALUE IS";CHR$(131);?AT%
  119.  1080 PRINT"RETURN ENTERS";
  120.  1090 IF L%=0 THEN PRINT CHR$(129);"ZERO"
  121.  1100 IF L%>0 THEN PRINT CHR$(134);"DEFAULT";CHR$(135);"VALUE"
  122.  1110 ENDPROC
  123.  1120 :
  124.  1130 DEF PROCerror
  125.  1140 CLS
  126.  1150 IF ERM>0 THEN 1300
  127.  1160 IF ERR=190 THEN 1280
  128.  1170 IF ERR=191 THEN 1280
  129.  1180 IF ERR=198 THEN 1280
  130.  1190 IF ERR=214 THEN 1230
  131.  1200 REPORT : PRINT " (error ";ERR;") at line ";ERL
  132.  1210 CLOSE#0
  133.  1220 VDU 26:END
  134.  1230 PRINT "FILE NOT FOUND: ENTER DATA DISK AND"
  135.  1240 PRINT "PRESS RETURN OR PRESS ANY OTHER KEY"
  136.  1250 PRINT "TO STOP."
  137.  1260 A%=GET:IF A%=13 THEN 230
  138.  1270 GOTO 1210
  139.  1280 PRINT "CAN NOT WRITE TO THIS DISK"
  140.  1290 VDU 26:END
  141.  1300 ON ERM GOTO 1320,1230,1350,1370,1390
  142.  1310 VDU 26:END
  143.  1320 PRINT "PAGE MUST BE EQUAL TO OR BELOW &2000"
  144.  1330 VDU 26:END
  145.  1340 CLS
  146.  1350 PRINT"INVALID VALUE, PLEASE RE-ENTER ";
  147.  1360 GOTO 1420
  148.  1370 PRINT"INVALID FILE NAME : RE-ENTER"
  149.  1380 GOTO 1420
  150.  1390 PRINT"Unknown record type ";T%;" detected"
  151.  1400 CLOSE#0
  152.  1410 VDU 26:END
  153.  1420 ERM=0
  154.  1430 ENDPROC
  155.  1440 :
  156.  1450 DEF FNfilenames(A$)
  157.  1460 LOCAL B$
  158.  1470 VDU 28,1,24,39,19,12
  159.  1480 PRINT"ENTER NAME OF THE ";A$;" ";
  160.  1490 INPUT B$
  161.  1500 IF LEN(B$)>0 AND LEN(B$)<8 THEN 1530
  162.  1510 ERM=4:PROCerror
  163.  1520 GOTO 1470
  164.  1530 =B$
  165.  1540 :
  166.  1550 DEF PROCgetaddress
  167.  1560 LOCAL I%
  168.  1570 IF FNrloadadd(in$)=&8000 THEN1610
  169.  1580 AT%=BUF%?5+(BUF%?6)*&100+BUF%-FNrloadadd(in$)
  170.  1590 V=BUF%?3+(BUF%?4)/100
  171.  1600 GOTO 1650
  172.  1610 AT%=BUF%+BUF%?7+1
  173.  1620 REPEAT:PROComit:UNTIL ?AT%=0
  174.  1630 V=AT%?1+(AT%?2)/100
  175.  1640 AT%=AT%?3-&8000+BUF%+(AT%?4)*&100
  176.  1650 VDU 28,24,12,39,2
  177.  1660 FOR I%=1 TO 10:PRINT CHR$(135):NEXT I%
  178.  1670 ENDPROC
  179.  1680 :
  180.  1690 DEF FNgetbyte
  181.  1700 LOCAL V%
  182.  1710 V%=FNgetnibble*16 + FNgetnibble
  183.  1720 K% = (K% + V%) AND &FF
  184.  1730 =V%
  185.  1740 :
  186.  1750 DEF FNgetnibble
  187.  1760 =EVAL("&"+CHR$(BGET#in%))
  188.  1770 :
  189.  1780 DEF PROChelp
  190.  1790 IF A%=1 THEN A%=ASC("`")
  191.  1800 IF A%=2 THEN A%=ASC("&")
  192.  1810 IF A%=3 THEN A%=ASC("/")
  193.  1820 IF A%=4 THEN A%=ASC("?")
  194.  1830 IF A%=5 THEN A%=ASC("@")
  195.  1840 ENDPROC
  196.  1850 :
  197.  1860 DEF FNhex(A%)
  198.  1870 LOCAL B%,B$
  199.  1880 B$=""
  200.  1890 REPEAT
  201.  1900 B%=A% MOD &10
  202.  1910 IF B%<10 THEN B$=STR$(B%)+B$:GOTO 1930
  203.  1920 B$=CHR$(B%-10+ASC("A"))+B$
  204.  1930 A%=A% DIV &10
  205.  1940 UNTIL A%=0
  206.  1950 IF LEN(B$)=1 THEN B$="0"+B$
  207.  1960 IF LEN(B$)>2 THEN B$=RIGHT$(B$,2)
  208.  1970 =B$
  209.  1980 :
  210.  1990 DEF PROCmemory
  211.  2000 LOCAL B%,C%,B$
  212.  2010 VDU 28,25,12,39,2,12,28,1,24,39,19,12
  213.  2020 A%=?AT%+(AT%?1)*256
  214.  2030 READ A$ : PRINT A$
  215.  2040 PRINT"THE DEFAULT VALUE IS ";~A%
  216.  2050 PRINT"PRESS";CHR$(134);"RETURN";CHR$(135);"TO EXIT"
  217.  2060 PRINT"PRESS";CHR$(129);"ANY OTHER KEY";CHR$(135);"TO CHANGE IT"
  218.  2070 B%=GET:IF B%=13 THEN 2130
  219.  2080 PRINT
  220.  2090 INPUT"INPUT NEW LOCATION IN HEX ";B$
  221.  2100 IF LEFT$(B$,1)<>"&" THEN B$="&"+B$
  222.  2110 A%=EVAL(B$)
  223.  2120 IF A%<0 OR A%>&FFFF THEN 2090
  224.  2130 ?AT%=A% MOD 256
  225.  2140 PROComit
  226.  2150 ?AT%=A% DIV 256
  227.  2160 PROComit
  228.  2170 ENDPROC
  229.  2180 :
  230.  2190 DEF PROComit
  231.  2200 LOCAL I%
  232.  2210 AT%=AT%+1
  233.  2220 IF AT%<BUF%+BUFSIZE% THEN 2280
  234.  2230 FOR I%=BUF% TO BUF%+BUFSIZE%
  235.  2240 BPUT#out%,?I%
  236.  2250 ?I%=BGET#in%
  237.  2260 NEXT I%
  238.  2270 AT%=BUF%
  239.  2280 ENDPROC
  240.  2290 :
  241.  2300 DEF PROConoff
  242.  2310 VDU 28,25,12,39,2,12
  243.  2320 PRINT "0.  OFF"
  244.  2330 PRINT "1.   ON"
  245.  2340 VDU 28,1,24,39,19,12
  246.  2350 ENDPROC
  247.  2360 :
  248.  2370 DEF PROCranged
  249.  2380 LOCAL A%,I%,L%,U%,A$
  250.  2390 READ L%,U%,I%,A$
  251.  2400 IF I%>0 THEN PROCvalues
  252.  2410 VDU 28,1,24,39,19,12
  253.  2420 PROCdefault
  254.  2430 PRINT A$; : INPUT A%
  255.  2440 IF A%=0 AND L%>0 THEN 2510
  256.  2450 IF A$="SET HELP-TRIGGER" THEN 2490
  257.  2460 IF A%>=L% AND A%<=U% THEN 2500
  258.  2470 ERM=3:PROCerror
  259.  2480 GOTO 2430
  260.  2490 PROChelp
  261.  2500 ?AT%=A%
  262.  2510 PROComit
  263.  2520 ENDPROC
  264.  2530 :
  265.  2540 DEF PROCreaddata(L%)
  266.  2550 LOCAL I%,J%
  267.  2560 FOR I% = 1 TO L%
  268.  2570 BUF%?AT% = FNgetbyte
  269.  2580 M%=M%+1 : AT%=AT%+1
  270.  2590 IF BUF%+AT%<=BUF%+BUFSIZE% THEN 2640
  271.  2600 FOR J%=BUF% TO BUF%+BUFSIZE%
  272.  2610 BPUT#out%,?J%
  273.  2620 NEXT J%
  274.  2630 AT%=0
  275.  2640 NEXT I%
  276.  2650 ENDPROC
  277.  2660 :   
  278.  2670 DEF PROCreadrecord
  279.  2680 LOCAL L%,M%,S%,T%,K%
  280.  2690 R%=R%+1:K%=0
  281.  2700 L%=FNgetbyte
  282.  2710 M%=FNgetbyte*256+FNgetbyte
  283.  2720 IF R%=1 THEN base%=M%
  284.  2730 PRINT TAB(0,0) "Record ";R%;" : Size ";L%;", address $";~M%
  285.  2740 T% = FNgetbyte
  286.  2750 IF T%<>0 AND T%<>1 THEN ERM=5:PROCerror
  287.  2760 IF T% <> 0 THEN ENDPROC
  288.  2770 PROCreaddata(L%)
  289.  2780 S% = FNgetbyte
  290.  2790 ENDPROC
  291.  2800 :
  292.  2810 DEF FNrloadadd(B$)
  293.  2820 LOCAL B%,C%,I%
  294.  2830 B$=B$+CHR$(13)
  295.  2840 DIM B% 18 , C% 8
  296.  2850 $C%=B$
  297.  2860 B%?0=C% MOD 256:B%?1=C% DIV 256
  298.  2870 FOR I%=2 TO 17:B%?I%=0 : NEXT I%
  299.  2880 A%=5:X%=B% MOD 256:Y%=B% DIV 256
  300.  2890 CALL &FFDD
  301.  2900 = B%?2+B%?3*256
  302.  2910 :
  303.  2920 DEF PROCrunoff
  304.  2930 LOCAL I%
  305.  2940 VDU 28,25,12,39,2,12
  306.  2950 VDU 28,1,24,39,19,12
  307.  2960 PRINT CHR$(141);CHR$(133);"PLEASE WAIT - WRITING NEW FILE"
  308.  2970 PRINT CHR$(141);CHR$(133);"PLEASE WAIT - WRITING NEW FILE"
  309.  2980 VDU 23,1,0;0;0;0;
  310.  2990 FOR I%=BUF% TO BUF%+BUFSIZE%
  311.  3000 BPUT#out%,?I%
  312.  3010 NEXT I%
  313.  3020 IF EOF#in% THEN 3070
  314.  3030 REPEAT
  315.  3040 BPUT#out%,BGET#in%
  316.  3050 UNTIL EOF#in%
  317.  3060 VDU 23,1,1;0;0;0;
  318.  3070 CLOSE#0
  319.  3080 PROCwloadadd(out$)
  320.  3090 ENDPROC
  321.  3100 :
  322.  3110 DEF PROCsaverest
  323.  3120 LOCAL I%
  324.  3130 FOR I%=BUF% TO BUF%+AT%-1
  325.  3140 BPUT#out%,?I%
  326.  3150 NEXT I%
  327.  3160 ENDPROC
  328.  3170 :
  329.  3180 DEF PROCskipran
  330.  3190 LOCAL I%,L%,U%,A$
  331.  3200 READ L%,U%,I%,A$
  332.  3210 FOR L%=1 TO I%:READ A$:NEXT L%
  333.  3220 PROComit
  334.  3230 ENDPROC
  335.  3240 :
  336.  3250 DEF PROCskiptog
  337.  3260 READ L%,A$
  338.  3270 PROComit
  339.  3280 ENDPROC
  340.  3290 :
  341.  3300 DEF PROCsuffix
  342.  3310 LOCAL I%,B$
  343.  3320 CLS
  344.  3330 PRINT"THE PRESENT SUFFIX IS "
  345.  3340 B$=""
  346.  3350 FOR I%=0 TO 7
  347.  3360 B$=B$+CHR$(AT%?I%)
  348.  3370 NEXT I%
  349.  3380 PRINT B$ : READ A$
  350.  3390 PRINT "PRESS RETURN FOR DEFAULT OR ANY OTHER"
  351.  3400 PRINT "KEY TO CHANGE IT ";
  352.  3410 I%=GET:IF I%<>13 THEN 3430
  353.  3420 A$=B$:PROComit:GOTO3520
  354.  3430 PRINT
  355.  3440 INPUT "ENTER NEW SUFFIX (<9 CHARS)" ;A$
  356.  3450 IF LEN(A$)>8 THEN A$=LEFT$(A$,8)
  357.  3460 IF LEN(A$)=0 THEN 3430
  358.  3470 A%=LEN(A$):?AT%=A%:PROComit
  359.  3480 REPEAT
  360.  3490 IF LEN(A$)=8 THEN 3510
  361.  3500 A$=A$+" "
  362.  3510 UNTIL LEN(A$)=8
  363.  3520 I%=1
  364.  3530 REPEAT
  365.  3540 ?AT%=ASC(MID$(A$,I%,1))
  366.  3550 PROComit
  367.  3560 I%=I%+1
  368.  3570 UNTIL I%=9
  369.  3580 ENDPROC
  370.  3590 :
  371.  3600 DEF PROCtoggle
  372.  3610 LOCAL L%,A$
  373.  3620 PROConoff : PROCdefault
  374.  3630 READ L%,A$ : PRINT A$;
  375.  3640 PROCcheck
  376.  3650 ENDPROC
  377.  3660 :
  378.  3670 DEF PROCvalues
  379.  3680 LOCAL B%,B$
  380.  3690 VDU 28,25,12,39,2,12
  381.  3700 IF I%=2 AND U%>1 THEN 3750
  382.  3710 FOR B%=1 TO I%
  383.  3720 READ B$ : PRINT B$
  384.  3730 NEXT B%
  385.  3740 GOTO 3770
  386.  3750 PRINT "DECIMAL NUMBER"
  387.  3760 PRINT "RANGE ";STR$(L%);" TO "STR$(U%)
  388.  3770 ENDPROC
  389.  3780 :
  390.  3790 DEF PROCwloadadd(B$)
  391.  3800 LOCAL B%,C%,I%
  392.  3810 B$=B$+CHR$(13)
  393.  3820 DIM B% 18 , C% 8
  394.  3830 $C%=B$
  395.  3840 B%?0=C% MOD 256:B%?1=C% DIV 256
  396.  3850 B$=""
  397.  3860 B$=B$+FNhex(base% MOD &100)
  398.  3870 B$=B$+FNhex(base% DIV &100)
  399.  3880 B$=B$+"FFFF" : B$=B$+B$
  400.  3890 B$=B$+"0000000000000000"
  401.  3900 FOR I%=2 TO 17 
  402.  3910 B%?I%=EVAL("&"+MID$(B$,I%*2-3,2))
  403.  3920 NEXT I%
  404.  3930 A%=1:X%=B% MOD 256:Y%=B% DIV 256
  405.  3940 CALL &FFDD
  406.  3950 ENDPROC
  407.  3960 :
  408.  3970 REM ***** DATA STATEMENTS *****
  409.  3980 :
  410.  3990 DATA255,127,32,146,56,111,127,124,127,127,124,126,127,125,124,124,48,255,25,32,146,104,35,105,107,255,8,127,39
  411.  4000 DATA114,52,255,24,32,146,34,60,38,106,255,8,127,42,112,53,255,24,32,146,106,127,124,127,127,127,123,127,127,123
  412.  4010 DATA127,127,116,122,52,255,23,32,146,104,43,255,13,127,61,255,23,32,146,126,117,136,35,35,47,47,111,127,63,47,47
  413.  4020 DATA47,35,137,121,255,22,32,146,106,127,63,47,127,127,124,124,116,112,120,124,124,124,119,115,123,116,48,255,19
  414.  4030 DATA32,146,120,119,124,126,255,16,127,48,255,18,32,146,255,20,127,53,255,17,32,146,127,127,127,47,47,47,115,59
  415.  4040 DATA111,255,6,127,119,115,124,43,127,127,53,255,17,32,146,127,127,127,111,255,13,127,63,32,127,127,125,255,16,32
  416.  4050 DATA146,104,127,127,127,34,111,255,11,127,63,33,96,126,127,127,255,16,32,146,106,127,127,127,32,34,47,255,4,127
  417.  4060 DATA63,47,47,47,96,124,124,124,255,4,127,131,255,15,32,146,106,255,4,127,125,124,60,36,255,7,32,35,35,32,123,63
  418.  4070 DATA35,33,130,255,14,32,146,120,127,63,39,111,127,125,52,131,255,30,32,146,127,55,32,32,32,35,33,255,33,32,131
  419.  4080 DATA141,75,69,82,77,73,84,133,32,68,69,72,69,88,69,82,32,38,32,80,65,82,65,77,69,84,69,82,32,83,69,84,84,73,78,71
  420.  4090 DATA32,32,32,131,141,75,69,82,77,73,84,133,32,68,69,72,69,88,69,82,32,38,32,80,65,82,65,77,69,84,69,82,32,83,69
  421.  4100 DATA84,84,73,78,71,255,7,32,134,66,89,32,68,65,86,69,32,87,65,76,75,69,82,44,32,85,46,67,46,32,67,65,82,68,73
  422.  4110 DATA70,70,46,255,53,32,80,82,69,83,83,136,129,83,80,65,67,69,135,137,84,79,32,67,79,78,84,73,78,85,69,255,71,32
  423.  4120 DATA "RRTOTORRTRRTRTRRRRRRRRRRRRMMRMMRRRRTRRSTRTRRTRRRRRBB"
  424.  4130 DATA "RRTOTORRTRRABTRRRRRRRRRRRRMMRMMRRRRTRRSTRTRRTRRRRRRR"
  425.  4140 DATA 1,  7,7,"ENTER TRANSMIT BAUD NUMBER "
  426.  4150 DATA"1.    75"
  427.  4160 DATA"2.   150"
  428.  4170 DATA"3.   300"
  429.  4180 DATA"4.  1200"
  430.  4190 DATA"5.  2400"
  431.  4200 DATA"6.  4800"
  432.  4210 DATA"7.  9600"
  433.  4220 DATA 1,  7,0,"ENTER RECEIVE BAUD NUMBER "
  434.  4230 DATA 1,      "SET LOCAL ECHO "
  435.  4240 REM  DATA HERE FOR BYTE 3
  436.  4250 DATA 1,      "SET DEBUGGING "
  437.  4260 REM  DATA HERE FOR BYTE 5
  438.  4270 DATA 0, 94,2,"SET SEND TIMEOUT "
  439.  4280 DATA 0,255,2,"SET RECEIVE TIMEOUT "
  440.  4290 DATA 1,      "SET TIMER "
  441.  4300 DATA 0,255,2,"SET PAUSE "
  442.  4310 DATA 0,255,0,"SET DELAY "
  443.  4320 DATA 1,      "SET VT52 "
  444.  4330 DATA 0,  1,2,"SET VDU-WIDTH "
  445.  4340 DATA"0. 80 char "
  446.  4350 DATA"1. 40 char "
  447.  4360 DATA 1,      "SET KEY-CLICK "
  448.  4370 DATA33,126,2,"SET QUOTE "
  449.  4380 DATA33,126,0,"SET EIGHT-BIT-PREFIX "
  450.  4390 DATA 0, 31,2,"SET SEND END-OF-LINE "
  451.  4400 DATA 0, 31,0,"SET RECEIVE END-OF-LINE "
  452.  4410 DATA 0,255,2,"SET SEND PADCHAR "
  453.  4420 DATA 0,255,0,"SET SEND PADDING "
  454.  4430 DATA 0, 31,2,"SET RECEIVE PADCHAR "
  455.  4440 DATA 0, 94,2,"SET RECEIVE PADDING "
  456.  4450 DATA 0,  4,5,"SET PARITY "
  457.  4460 DATA"0. MARK"
  458.  4470 DATA"1. SPACE"
  459.  4480 DATA"2. EVEN"
  460.  4490 DATA"3. ODD"
  461.  4500 DATA"4. NONE"
  462.  4510 DATA 0,  1,2,"SET FILE TYPE "
  463.  4520 DATA"0. ASCII"
  464.  4530 DATA"1. BINARY"
  465.  4540 DATA 0,  3,4,"SET FILE TYPE ASCII "
  466.  4550 DATA"0. LFCR"
  467.  4560 DATA"1. CRLF"
  468.  4570 DATA"2.   LF"
  469.  4580 DATA"3.   CR"
  470.  4590 DATA 0,  1,2,"SET SOURCE MEMORY"
  471.  4600 DATA"0. FILE"
  472.  4610 DATA"1. MEMORY"
  473.  4620 DATA         "SET SOURCE MEMORY (BASE) "
  474.  4630 DATA         "SET SOURCE MEMORY (TOP) "
  475.  4640 DATA 0,  2,3,"SET DESTINATION MEMORY"
  476.  4650 DATA"0.    FILE"
  477.  4660 DATA"1.  MEMORY"
  478.  4670 DATA"2. PRINTER"
  479.  4680 DATA         "SET DESTINATION MEMORY (BASE) "
  480.  4690 DATA         "SET DESTINATION MEMORY (TOP)  "
  481.  4700 DATA 0, 31,2,"SET SEND START-OF-PACKET "
  482.  4710 DATA 0, 31,0,"SET RECEIVE START-OF-PACKET "
  483.  4720 DATA35, 94,2,"SET RECEIVE PACKET-LENGTH "
  484.  4730 DATA 1, 64,2,"SET FILE BUFFER-SIZE "
  485.  4740 DATA 1,      "SET FILE WARNING "
  486.  4750 DATA 0,  1,2,"SET INCOMPLETE "
  487.  4760 DATA"0. DELETE"
  488.  4770 DATA"1.   KEEP"
  489.  4780 DATA 0,  1,2,"SET FLOW-CONTROL "
  490.  4790 DATA"0. XON/XOFF"
  491.  4800 DATA"1.  CTS/RTS"
  492.  4810 DATA         "SET FILE SUFFIX "
  493.  4820 DATA 1,      "SET TAKE-ECHO "
  494.  4830 DATA 1, 7, 7,"SET VDU-COLOUR "
  495.  4840 DATA"1.    RED"
  496.  4850 DATA"2.  GREEN"
  497.  4860 DATA"3. YELLOW"
  498.  4870 DATA"4.   BLUE"
  499.  4880 DATA"5.MAGENTA"
  500.  4890 DATA"6.   CYAN"
  501.  4900 DATA"7.  WHITE"
  502.  4910 DATA 1,      "SET TV "
  503.  4920 DATA 0,255,2,"SET TV (FIRST NUMBER) "
  504.  4930 DATA 0,255,0,"SET TV (SECOND NUMBER) "
  505.  4940 DATA 1,      "SET IGNORE "
  506.  4950 DATA 0,255,2,"SET IGNORE (CHAR) "
  507.  4960 DATA 0,255,0,"SET MUX-WAIT "
  508.  4970 DATA 1,  5,5,"SET HELP-TRIGGER "
  509.  4980 DATA"1.  ` (=39)"
  510.  4990 DATA"2.  & (=38)"
  511.  5000 DATA"3.  / (=47)"
  512.  5010 DATA"4.  ? (=63)"
  513.  5020 DATA"5.  @ (=64)"
  514.  5030 DATA 1,255,2,"SET NUMBER OF RETRIES "
  515.  5040 DATA 0,  5,6,"SET HANDSHAKE "
  516.  5050 DATA"0.   NONE"
  517.  5060 DATA"1.   BELL"
  518.  5070 DATA"2.     CR"
  519.  5080 DATA"3.     LF"
  520.  5090 DATA"4.    XON"
  521.  5100 DATA"5.   XOFF"
  522.  5110 DATA 0,  6,7,"SET TERMINAL "
  523.  5120 DATA"0.  TT40"
  524.  5130 DATA"1.  TT80"
  525.  5140 DATA"2.  VT52"
  526.  5150 DATA"3.  VT100"
  527.  5160 DATA"4.  TEK"
  528.  5170 DATA"5.  Un-named A"
  529.  5180 DATA"6.  Un-named B"
  530.  5190 DATA 0,  1,2,"SET ACTION ON REMOTE FILENAME "
  531.  5200 DATA"0.  TRANSLATE"
  532.  5210 DATA"1.  KEEP           FILENAME"
  533.