home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Telecom
/
WXMODEM64.SDA
/
WXTERM
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2019-04-13
|
5KB
|
147 lines
1 GOSUB9:GOTO5
2 CC=64
3 RETURN
5 GOSUB2
6 POKE53281,0:POKE53280,0:IFPEEK(49152)<>169THEN LOAD"PUNTER64",8,1
7 IFPEEK(36864)<>76THEN LOAD"WXMODEM64",8,1
8 GOTO30
9 PRINT"[147][204][207][193][196][201][206][199] [205][193][195][200][201][206][197] [204][193][206][199][213][193][199][197]...":RETURN
10 X=PEEK(646):POKE53281,X:PRINT"[147]";:POKE53281,0:RETURN:REM EARLY KERNAL FIX
30 OPEN5,2,0,CHR$(8)+CHR$(0):IF(CC<>128)THENPOKE56,143:POKE52,143
32 GET#5,A$:BS=255:OPEN1,8,15:DIMT$(3),FI$(9),FT$(9)
35 GOSUB2
36 PP=49152:XR=36864:XX=XR:M1=659:M2=665:M3=661:M4=212
40 SYS(PP+24):REM PUNTER 1200 BAUD FIX
50 TY$="PSP":T$(1)="[208]ROGRAM":T$(2)="[211]EQUENTIAL":T$(3)="[215]ORDPRO":J$=CHR$(13)
53 XM=1:XM$(0)="[208][213][206][212][197][210]":XM$(1)="[216][205][207][196][197][205]":TF$(0)=",P,W":TF$(1)=",S,W":TF$(2)=",U,W"
55 CS=1.02273E6:BR$="1200":GOSUB100:GOTO900
99 REM==========BAUD RATE FIX FOR C64 & C128================
100 S=VAL(BR$):POKEM1,6:IFS=1200THENPOKEM1,8
110 RC=CS/S:GOSUB150:POKE(PP+2816),LO:POKE(PP+2817),HI
120 IFS=1200THENRC=CS/S*.966:GOSUB150
130 POKEM2,LO:POKE(M2+1),HI
140 RC=CS/S/2-100:GOSUB150:POKEM3,LO:POKE(M3+1),HI:RETURN
150 HI=INT(RC/256):LO=INT(RC-HI*256):RETURN
200 IFBR$="300"THENBR$="1200":GOTO100
210 BR$="300":GOTO100
300 IN$=""
310 PRINT"[166][157]";
320 GOSUB400:A=ASC(A$+CHR$(0)):B=LEN(IN$)
330 IFA$=CHR$(13)THENPRINT" [157]":RETURN
340 IFA=20THENIF(B)THENPRINT" [157][157]";:IN$=LEFT$(IN$,B-1):GOTO310
350 IF(AAND127)<32OR(B=IL)THEN310
360 PRINTA$+"";:POKEM4,0:IN$=IN$+A$:GOTO310
400 GETA$:IFA$=""THEN400
410 RETURN
500 CLOSE15:OPEN15,8,15
560 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]
600 [132]15,E0,E1$,E2,E3:[142]
700 [143] "*****DIRECTORY****"
710 [153]"LOADSTR$RIGHT$(null)(null) STR$RIGHT$(null)VALLEN(null)(null)(null)(null):":[141]500
720 [160]1:[159]1,8,0,"$0":[141]600:[139]E0[167][153]"VAL(null)(null)(null)(null): "[170][196](E0)[170]" : "[170]E0$:[141]800:[137]400
722 [161]#1,A$,A$
725 [161]#1,A$,A$:[139]A$[178]""[167]745
730 [161]#1,A$,B$:[153] [198](A$[170][199](0))[170][198](B$[170][199](0))[172]256;
735 [161]#1,A$:[139]A$[178]""[167][153]:[137]725
740 [153]A$;:[137]735
745 [160]1:[153]"":[141]800
750 [137]900
770 [129]A[178]1[164]512:[161]#5,A$:[130]:[142]
800 [153]:[153]"LEFT$RIGHT$(null) ATN(null)(null) (null)VAL(null) (null)(null) LEN(null)(null)(null)RIGHT$(null)(null)VAL"
805 [141]400:[142]
900 [153]"LOADORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^
905 PRINT"[221][158] [211][207][206] [207][198] [209][213][193][211][201][205][207][196][197][205]! [221]
910 [153]"(null)DEF(null)UNTEROPEN/PRINT(null)MODEMOPEN/CONTLEN(null)LENOPEN/CLR(null)XMODEMOPEN (null)ROTOCOLS (null)"
920 [153]"(null)SYS PEEKY (null)OM PEEKROWN (null)
930 PRINT"[221][158] (WITH HELP FROM [203]ERMIT [215]OODALL) [221]
940 [153]"(null) < LEFT$(null)(null)VAL WAIT> RETURNS TO THIS (null)ENU! (null)
950 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]
955 [153]"SYSLEN(null)(null)(null)VAL(null)(null) PEEKATN(null)STR$: "[170]BR$
960 [153]"ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^
961 PRINT"[221] < 1 > = [212][197][210][205][201][206][193][204] [205][207][196][197] [221]
962 [153]"(null) < 2 > = (null)RANSMIT A ASCILE (null)
963 PRINT"[221] < 3 > = [210]ECEIVE A [198]ILE [221]
965 [153]"(null) < 4 > = STR$ISK STR$IRECTORY (null)
967 PRINT"[221] < 5 > = [195]HANGE [194]AUD [210]ATE [221]
968 [153]"(null) < 6 > = LENHANGE (null)MODEM STR$EFAULTS (null)
969 PRINT"[221] < 7 > = [193]UTO [196]IAL [221]
970 [153]"/TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP
980 GOSUB400:A=VAL(A$)
985 ON(A)GOTO1000,2000,3000,5000,7000,8000,9000
990 GOTO980
1000 PRINT"[147][212][197][210][205][201][206][193][204] [205][207][196][197]:"
1010 GET#5,A$:IFA$<>""THEN1010
1020 PRINT:SYS(PP+21):SYS(PP+15):GOTO900
2000 PRINT"[147][212][210][193][206][211][205][201][212] [193] [198][201][204][197] ([213]PLOAD TO SOMEONE)"
2010 PRINT"[211][197][204][197][195][212]:":PRINT"< 1 > = [208]UNTER":PRINT"< 2 > = [216]MODEM"
2020 GOSUB400:A=VAL(A$):ONAGOTO2100,2200
2030 GOTO900
2100 PRINT"[147][208][213][206][212][197][210] [212][210][193][206][211][205][201][212]"
2110 GOSUB500:GOSUB2900:IFFI$=""THEN900
2120 PRINT:PRINTT$(T):PRINT:OPEN2,8,SA,"0:"+FI$:GOSUB600:IFE0THENCLOSE2:PRINTE1$:GOTO900
2130 SYS(PP+21):POKE(PP+2075),T:SYS(PP+12):IFPEEK(512)=1THENCLOSE2:GOTO1010
2140 SYS(PP+21):POKE(PP+2072),BS:SYS(PP+6):CLOSE2:GOTO1010
2200 PRINT"[147][216][205][207][196][197][205] [212][210][193][206][211][205][201][212]"
2210 GOSUB500:GOSUB2800:IFFI$=""THEN900
2220 OPEN8,8,8,"0:"+FI$+","+FT$+",R":GOSUB600:IFE0THENPRINTE0;" - "+E1$:GOSUB800:CLOSE8:GOTO900
2230 GOSUB10:PRINT"[147][211][197][206][196][201][206][199]: "+FI$
2240 SYS(XX+3):CLOSE8:GOTO1010
2800 PRINT"[211][197][204][197][195][212]: <[215]>XMODEM <[195]>RC <[216]>MODEM CHECKSUM":GOSUB400
2810 A=ASC(A$+CHR$(0)):IF(A<>87)AND(A<>67)THENA=21
2820 POKEXX+6,A:POKEXR+6,A
2900 PRINT"[198][201][204][197][206][193][205][197]: ";:IL=16:GOSUB300:IFIN$=""THENRETURN
2910 FI$=IN$
2920 PRINT"[198][201][204][197][212][217][208][197]: <[208]>ROGRAM <[211]>EQUENTIAL":GOSUB400:FT$="P":IFA$="S"THENFT$=A$
2930 IFA$="S"THENSA=2:T=2:GOTO2960
2950 A$="P":SA=0:T=1
2960 FT$=A$:RETURN
3000 PRINT"[147][210][197][195][197][201][214][197] [193] [198][201][204][197] ([196]OWNLOAD FROM SOMEONE)"
3010 PRINT"[211][197][204][197][195][212]:":PRINT"< 1 > = [208]UNTER":PRINT"< 2 > = [216]MODEM ([196]ISK)"
3020 GOSUB400:A=VAL(A$):ONAGOTO3100,3200
3030 GOTO900
3100 PRINT"[147][208][213][206][212][197][210] [210][197][195][197][201][214][197]"
3110 GOSUB500:GOSUB2900:IFFI$=""THEN900
3120 SYS(PP+21):SYS(PP+9):IFPEEK(512)=1THEN1010
3130 A=PEEK(PP+2075):T$=","+MID$(TY$,A,1)+",W":PRINT:PRINTT$(A):PRINT
3135 OPEN2,8,2,"0:"+FI$+T$:GOSUB600:IFE0THENCLOSE2:PRINTE1$:GOTO900
3136 FORX=1TO1300:NEXTX:PRINT:SYS59074
3140 SYS(PP+21):SYS(PP+3):CLOSE2:FORX=1TO1500:NEXTX:GOTO1010
3200 PRINT"[147][216][205][207][196][197][205] [210][197][195][197][201][214][197] [212][207] [196][201][211][203]"
3210 GOSUB500:GOSUB2800:IFFI$=""THEN900
3220 OPEN8,8,8,"0:"+FI$+","+FT$+",W":GOSUB600:IFE0THENPRINTE0;" - "+E1$:CLOSE8:GOSUB800:GOTO900
3230 GOSUB10:PRINT"[147][210][197][195][197][201][214][201][206][199]: "+FI$
3240 SYS(XX+0):CLOSE8:GOTO1010
3400 PRINT"[197]NTER [210][193][205] [194][193][206][203] (0-7): ":GOSUB400:BA=VAL(A$)
3410 IF(A$="")THEN BA=9
3420 POKE(XR+1789),BA:RETURN
5000 IF(CC<>128)THENGOSUB700:GOTO900
5005 (null):GOSUB800:GOTO900
7000 GOSUB200:GOTO900
8000 PRINT"[147][195][200][193][206][199][197] [216][205][207][196][197][205] [196][197][198][193][213][204][212][211]"
8005 PRINT"[193][211][195][201][201] [212][210][193][206][211][204][193][212][197]: < 0 > = [207][198][198][146] < 1 > = [207][206]":GOSUB400:A=0:IFA$="1"THENA=128
8010 POKEXX+7,A:POKEXR+7,A
8020 PRINT"[205][197][211][211][193][199][197][211]: < 0 > = [207][206][146] < 1 > = [207][198][198]":GOSUB400:A=0:IFA$="1"THENA=128
8030 POKEXX+8,A:POKEXR+8,A
8035 PRINT"[196][204][197] [205][193][211][203][201][206][199] IS FOR USE ON [208][195] [208][213][210][211][213][201][212]"
8040 PRINT"[196][204][197] [205][193][211][203]: < 0 > = [207][198][198][146] < 1 > = [207][206]":GOSUB400:A=0:IFA$="1"THENA=128
8050 POKEXX+9,A:POKEXR+9,A
8060 PRINT"[213]SE '+' OVER '-'FOR [215][216]MODEM: < 0 > = [206][207][146] < 1 > = [217][197][211]":GOSUB400
8065 A=0:IFA$="1"THENA=128
8070 POKEXX+10,A:POKEXR+10,A
8080 PRINT"[213][211][197] < 0 > = [195]OUNTER[146] < 1 > = [196]ASH/[195]OLON":GOSUB400
8085 IFVAL(A$)=0THENPOKEXX+10,64
8087 PRINT"[197]NTER [216]MODEM [196]ELAY ([195][210]=[206]O [195]HANGE : 1=10 SECS):":GOSUB400
8088 A=VAL(A$):IFATHENPOKEXX+37,A
8090 GOTO900
9000 T9=1:PRINT"[147]":PRINT#5,"[193][212][200]"
9010 PN$="":INPUT"[197]NTER [206]UMBER [212]O [196]IAL ";PN$:IFPN$=""THEN900
9020 T=350:PRINT"[147][196]IALING "PN$" [212]RY # "T9:PRINT#5,"[193][212][196][212]"+PN$
9025 PRINT"[[196]] [196]IAL [193]NOTHER #":PRINT"[[205]] [205]AIN [205]ENU"
9030 GETG$:IFG$="D"THENPRINT#5,"[193][212][200]":GOTO9000
9032 IFG$="M"THENPRINT#5,"[193][212][200]":GOTO900
9040 IF(PEEK(56577)AND16)<>16THENKP=KP+1:GOTO9045
9044 KP=0
9045 IFKP>=10THEN1000
9050 T=T-1:IFT<>0THEN9030
9060 PRINT#5,"[193][212][200]":FORT=1TO1000:NEXT:T9=T9+1:GOTO9020