home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Toolkit
/
DOSIT54.ARC
/
TS
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
7KB
|
195 lines
5 PRINT"[147]":POKE53265,27: GOTO15
10 SYS51119:W$=CHR$(PEEK(3))+CHR$(PEEK(4)):RETURN
15 IFPEEK(51603)<>96THENLOAD"4.0 ASM/MONITOR*",8,1
20 DIMC$(18),M$(14):DATA"","[157]","","[145]","",+,-,@,W,T,R,J,B,M,I,O,X," "
25 FORC=1TO18:READC$(C):NEXT:N=14:FORC=1TON:READM$(C):NEXT:SD$="0"
30 T$=" ":P=1305:T=18:S=0:GOSUB825
35 GETA$:IFA$="R"THEN345
40 IFA$="I"THEN665
41 IFA$="Z" THEN GOTO920
45 IFA$=" "ORA$="E"THENGOTO915
50 GOTO35
55 TI$="000000"
60 Q1=Q1+128:IFQ1>255THENQ1=Q1-256
65 POKEP,Q1:FORC=1TO25:GETA$: :IFA$<>""THEN79
66 IFA$="Z"THENGOTO920
70 IFTI>500THENGOSUB535:GOTO60
75 NEXT:GOTO60
79 IFA$="Z"THEN920
80 IFTI>500THENPRINT""T$;:POKE2023,32
85 TI$="000000":I=0:FORC=1TO18:IFA$<>C$(C)THENNEXT:GOTO60
90 POKEP,Q
95 ONCGOTO100,125,145,165,185,330,365,215,225,265,345,380,630,650,665,695,795,910
100 REM ** CURSOR RIGHT **
105 D=37:IFY=6THEND=27
110 IFX<DTHENX=X+1:GOTO200
115 IFX=DTHENX=0:IFY<6THENY=Y+1:GOTO200
120 Y=0:GOTO200
125 REM ** CURSOR LEFT **
130 IFX>0THENX=X-1:GOTO200
135 X=37:IFY>0THENY=Y-1:GOTO200
140 X=27:Y=6:GOTO200
145 REM ** CURSOR DOWN **
150 D=6:IFX>27THEND=5
155 IFY<DTHENY=Y+1:GOTO200
160 Y=0:GOTO200
165 REM ** CURSOR UP **
170 D=6:IFX>27THEND=5
175 IFY>0THENY=Y-1:GOTO200
180 Y=D:GOTO200
185 REM ** CURSOR HOME **
190 X=0:Y=0
195 REM
200 POKEP,Q:P=1305+Y*40+X:Q=PEEK(P):Q1=Q
205 P1=Y*38+X:POKE2,P1:GOSUB10:PRINT"[159]"TAB(18)"$"W$
210 POKE2,Q:GOSUB10:PRINTTAB(28)"[145]$"W$:GOTO55
215 REM ** CHANGE BYTE **
220 PRINT""TAB(28)"";:V=Q:L=2:GOSUB410:Q=V:GOTO200
225 REM ** REWRITE BLOCK **
230 IFOPTHEN55
235 GOSUB790:PRINT""TAB(10)"[193]RE [217]OU [211][213][210][197] ([158][217][146]/[158][206][146]) [164][157]";
240 GETA$:IFA$="N"THENPRINTA$:GOTO300
245 IFA$<>"Y"THEN240
250 PRINTA$:OPEN15,8,15:OPEN5,8,5,"#":PRINT#15,"B-P:5,0"
255 SYS50927:PRINT#15,"U2:5,"SD$;T;S:INPUT#15,A$,B$,C$,D$:IFVAL(A$)<>0THEN515
260 PRINT#15,"I":CLOSE5:CLOSE15:GOTO300
265 REM ** TEXT MODE **
270 GOSUB790:PRINT""TAB(6)"([200]IT [210][197][212][213][210][206] TO END [212]EXT [205]ODE)[158]"
275 Q1=Q1+128:IFQ1>255THENQ1=Q1-256
280 POKEP,Q1:FORC=1TO55:GETA$:IFA$<>""THEN290
285 NEXT:GOTO275
290 IFA$<>CHR$(13)THEN305
295 POKEP,Q
300 GOSUB780:GOTO200
305 POKEP,ASC(A$):D=37:IFY=6THEND=27
310 IFX<DTHENX=X+1:GOTO325
315 IFX=DTHENX=0:IFY<6THENY=Y+1:GOTO325
320 Y=0
325 P=1305+Y*40+X:Q=PEEK(P):Q1=Q:GOTO275
330 REM ** FORWARD 1 BLOCK **
335 GOSUB790:IFOPTHENMB=MB+1:SYS50889:GOTO675
340 S=S+1:GOTO500
345 REM ** NEW BLOCK **
350 GOSUB790:OP=0:SYS50889:PRINT""TAB(10)"[212][210][193][195][203]: [211][197][195][212][207][210]: "
355 PRINT""TAB(17)"";:V=T:L=1:GOSUB410:T=V
360 PRINTTAB(28);:V=S:L=1:GOSUB410:S=V:OPEN1,8,15:PRINT#1,"I"SD$:CLOSE1:GOTO500
365 REM ** BACKWARD 1 BLOCK **
370 GOSUB790:IFOPTHENMB=MB-1:SYS50889:GOTO675
375 S=S-1:GOTO500
380 REM ** JUMP LINK **
385 IFOPTHEN55
390 GOSUB790:T=PEEK(P):D=37:IFY=6THEND=27:IFX=DTHENS=PEEK(1305):GOTO500
395 IFX=DTHENS=PEEK(P+3):GOTO500
400 S=PEEK(P+1):GOTO500
405 REM
410 PRINTLEFT$("[159] ",L+3);LEFT$("[157][157][157][157]",L+2);:FORC=0TO1:T$(C)="":NEXT:W=0:V1=0
415 PRINT"[146]";:F=NOTF:IFFTHENPRINT"";
420 PRINT" [157]";:FORC=1TO55:GETA$:IFA$<>""THENPRINT"[146] [157]";:GOTO430
425 NEXT:GOTO415
430 IFA$=CHR$(20)THENIFW>0THENPRINT"[157] [157]";:W=W-1:T$(W)=""
435 IFA$=CHR$(13)ORA$="E"THEN950
440 IFA$="$"ANDW=0THEN460
445 IF(A$<"0"ORA$>"9")AND(A$<"A"ORA$>"F")THEN415
450 IFA$>"@"THENA$=CHR$(ASC(A$)+128)
455 IFW>LTHEN415
460 T$(W)=A$:W=W+1:PRINT"[146]"A$;:GOTO415
465 IFT$(0)=""THENRETURN
470 V=0:L=0:IFT$(0)="$"THENT$(0)="":L=-1
475 A$="":FORC=0TOW-1:A$=A$+T$(C):NEXT:A$=RIGHT$("0000"+A$,5):IFLTHEN485
480 FORC=0TO3:V=V+(10^C)*VAL(MID$(A$,5-C,1)):NEXT:RETURN
485 FORC=0TO1:FORW=0TO1:POKE2+W,ASC(MID$(A$,(4-(C*2))+W,1)):NEXT
490 SYS51150:V=V+(256^C)*PEEK(4):NEXT:RETURN
495 REM
500 SYS50889:GOSUB785:PRINTTAB(10)"[212][210][193][195][203]:[159] [157][157][157]"TTAB(20)"[211][197][195][212][207][210]: [157][157][157][159]"S
505 OPEN15,8,15:OPEN5,8,5,"#":PRINT#15,"U1:5,"SD$;T;S:INPUT#15,A$,B$,C$,D$
510 IFVAL(A$)=0THENSYS50843:P=1305:Q=PEEK(P):X=0:Y=0:CLOSE5:CLOSE15:GOTO200
515 PRINT"";:FORX=1TO4:PRINT" ";:NEXT
520 PRINT"[158][196][201][211][203] [197][210][210][207][210]:":PRINT""A$","B$","C$","D$:CLOSE5:CLOSE15
525 GETA$:IFA$=""THEN525
530 RUN
535 W=W+1:IFW<1THENRETURN
540 W=0:IFZ=0THENZ=1:I=0:M$=T$+M$(1)+M$(2)+T$
545 I=I+1:IFI<=138THEN555
550 I=1:Z=Z+2:M$=T$+M$(Z)+M$(Z+1)+T$:TI$="000000":IFZ>N-2THENZ=0:GOTO540
555 PRINT"[158]";
560 PRINTMID$(M$,I,39);:RETURN
565 DATA"[212]HIS EDITOR HAS BEEN RELEASED TO PUBLIC DOMAIN"
570 DATA" COURTESY OF [202]AMES [208]. [193]MYX"
575 DATA "[201]F YOU HAVE ANY QUESTIONS ABOUT THIS PROGRAM"
580 DATA "OR OTHER PROGRAMS WRITTEM BY ME JUST LET"
585 DATA"ME KNOW AND I WILL SEE IF I CAN HELP. [205]Y INTERNET"
590 DATA"NAME IS [205]AVERICK@[208]HOENIX.COM AND MY SCREENNAME FOR"
595 DATA"ALL THE BBS'S AND NETWORKS I JOIN IS [205]AVERICK5"
600 DATA"OR [202]AMES [193]MYX SO JUST LEAVE EMAIL. [201] AM ON [209]LINK AND"
605 DATA"[208]HOENIX. [198]POR MORE INFO ABOUT [208]HOENIC CALL"
610 DATA" 800 869 1155" "
615 [131]"----------------**********************----------"
620 [131]" AT (916) 435-2386. (null)TAR (null)T. 10 CHR$AZELLE LENATN 96034."
625 [131]" "," "
630 [141]790:[141]775:[153]"SYSPEEK(null)(null)LEN(null) VAL(null)VALLEN(null)(null)VALOPEN: TRACK- ";:V[178]0:L[178]1:[141]410:T2[178]V
635 [139]T2[178]0[167]770
640 [153]", SECTOR- ";:V[178]0:L[178]1:[141]410:S2[178]V:[159]15,8,15:[159]5,8,5,"#"
645 [152]15,"B-E:5,";SD$;T2;S2:[160]5:[160]15:[137]770
650 [141]775:[153]"SYS(null)VAL(null)(null)(null)(null) VAL(null)VALLEN(null)(null)VALOPEN: ADDRESS- ";:V[178][171]1:L[178]4:[141]410:[139]V[178][171]1[167]770
655 HB[178][181](V[173]256):LB[178]V[171]256[172]HB:[159]15,8,15
660 [152]15,"M-E"[199](LB)[199](HB):[160]15:[137]770
665 [141]790:[158]50889:[153]""[163]10)" PRINT(null)VAL(null)(null)(null)(null) PEEK(null)(null)LEN(null): OPEN";
670 V[178]MB:L[178]2:[141]410:MB[178]V
675 [151]2,MB:[141]10:[153]"OPEN"[163]26)"$"W$
680 OP[178][171]1:[159]5,8,15:[152]5,"M-R"[199](0)[199](MB)[199](0)
685 [158]50843:[160]5:P[178]1305:Q[178][194](P):X[178]0:Y[178]0:[137]200
690 [153]"OPEN CMDCMDCMD"[163]25);MB:[137]200
695 [139][168]OP[167]55
700 [153]""[163]10)"ATNRE (null)OU (null)(null)(null)VAL (SYS(null)WAIT/SYS(null)WAIT)? TOCMD";
705 [161]A$:[139]A$[178]"N"[167][153]A$"ON":[137]770
710 [139]A$[179][177]"Y"[167]705
715 [153]A$:[141]775:[153]"SYS(null)(null)(null)RIGHT$(null)RIGHT$(null)(null): OPENSTART- ";:V[178]0:L[178]2:[141]410:P1[178]V
720 [153]", END- ";:V[178]255:L[178]2:[141]410:P2[178]V
725 [151]2,P1:[141]10:[153]:[153][163]11)"ONSTART- $"W$", END- $";
730 [151]2,P2:[141]10:[153]W$" ON":[159]5,8,15:[151]51024,MB
735 [129]C[178]P1[164]P2[169]32
740 W[178]32:[139]C[170]32[177]P2[167]W[178]1[170]P2[171]C
745 PX[178]1305[170]([181](C[173]38)[172]2)[170]C
750 PH[178][181](PX[173]256):PL[178]PX[171](PH[172]256)
755 [151]51023,C:[151]51025,W:[151]251,PL:[151]252,PH:[151]3,C[171]([181](C[173]38)[172]38)
760 [158]50973
765 [130]
770 [160]5:[153]:[137]300
775 [153]" ON":[142]
780 [153]"ON LENOMMAND (null)ENU ":[142]
785 [153]""[163]10)"(null)(null)ATNLEN(null): (null)VALLEN(null)(null)(null): ON":[142]
790 [153]"OPEN"[163]18)" CMDCMDCMDCMD":[153][163]28)"ON CMDCMDCMDCMD":[142]
795 [153]""
800 [129]C[178]1[164]5:[153]" ":[130]
805 [151]2,P1:[141]10:[153]"OPENONON D LEN0"W$"ONONONONON"
810 [158]51035:[158]51181:[141]825:[158]51077:P[178]1305:Q[178][194](P):X[178]0:Y[178]0:[139]OP[167]820
815 [141]785:[153][163]10)"(null)(null)ATNLEN(null):OPEN CMDCMDCMD"T[163]20)"(null)VALLEN(null)(null)(null): CMDCMDCMDOPEN"S:[137]200
820 [151]2,MB:[141]10:[153]""[163]10)" PRINT(null)VAL(null)(null)(null)(null) PEEK(null)(null)LEN(null): OPEN$"W$:[137]200
825 [151]53280,11:[151]53281,0:[153]"LOAD"[163]12)"SYSSTR$RIGHT$(null)(null) LEN(null)ATNLEN(null)VAL(null) 4.0"
830 [153][163]16)"REVISED BY" :[153][163]12); " MID$AMES (null). ATNMYX"
835 [153][163]9)"ORTANTANTANTANTANTANPRINTSTR$(null)RIGHT$(null)VAL: 0"SD$"TANTANTANTANTANTAN^":[153][163]9)"(null)"[166]21)"(null)"
840 [153]"ORTANTANTANTANTANTANTANTANEXPCONTTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN/TANTANTANTANTANTANTAN^";
845 [129]C[178]1[164]6:[153]"(null)PRINT WAIT(null)";:[130]
850 [153]"(null)PRINT WAIT:::ORTANTANTANTANTANTANEXP";
855 [153]"/TANTANTANTANTANTANTAN^CONTTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN(null)"
860 [153][163]8)"(null)POSITION: BYTE: (null)"
865 [153][163]8)"/TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP"
870 [153][163]14)"SYSLENOMMAND (null)ENU":[153][163]14)"TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB("
875 [153]" SYS(null)WAIT/SYS(null)WAIT)OPEN (null)/(null) PEEKLOCK SYSMID$WAIT)OPEN MID$UMP (null)INK"
880 [153]" SYS@WAIT)OPEN LENHANGE PEEKYTE SYS(null)WAIT)OPEN (null)EXT (null)TRING"
885 [153]" SYSRIGHT$WAIT/SYS(null)WAIT)OPEN (null)EMORY (null)/(null) SYSPEEKWAIT/SYS(null)WAIT)OPEN PEEKLK/(null)EM VALXEC"
890 [153]" SYS+WAIT/SYS-WAIT)OPEN ASC/PEEK PEEKLK OR (null)EM SYS(null)WAIT)OPEN PEEKREAK TO (null)ON"
895 [153]"SYS(null)(null)LENWAIT)OPEN STR$RIVE= 0,1" ;:[158]50889:[153]" SYS(null)WAITOPEN TO LOAD STR$OSIT":[142]
900 SD[178]1[170][168](SD[171]1):SD$[178][201]([196](SD),1):[153]""[163]16)"PRINTSTR$(null)RIGHT$(null)VAL: 0"SD$
905 [142]
910 [141]900:[137]55
915 [139]A$[178]" "[167][141]900:[137]35
920 [153]"LOADINSERT DOSIT DISK AND PRESS ANY KEY"
925 [161]A$:[139]A$[178]""[167]925
930 [151]53280,0:[151]53281,0:[151]646,0
935 [153]"LOAD"[170][199](34)[170]"DOSIT5.0"[170][199](34)[170]",8,1ONONON"
940 [151]631,13:[151]632,82:[151]633,85:[151]634,78:[151]635,13: [151]198,5
945 [128]
950 [139]A$[178][199](13)[167]465
955 [139]A$[178]"E"[167][137]920