home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1987 January
/
Ahoy_Magazine_87-01_1987_Double_L.d64
/
Lixter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
423 lines
100 dim kw$(255),hx$(255),cd$(255),op$(255),ar(255)
110 bl=8:bk=0:poke53281,bk:poke53280,peek(bk)
120 print"[147] [208]lease wait one moment..."
130 forx=0to255:readhx$(x),op$(x),ar(x):next
140 forx=128to202:readkw$(x):next
150 forx=0to160:readcd$(x):next:gosub 4420
160 forx=32to95:kw$(x)=cd$(x):next:kw$(255)="[255]"
180 of$=f$:print"[147][155] [204]ixter":print:print:print
190 input"[197]nter [198]ilename--";f$
200 iff$=""orf$="."thenprint"[207].[203]. [210]eady.":end
209 iff$="$"then300
210 ifof$=f$then 240
220 print"[215]hat is its filetype ([211]/[208])";
230 gett$:ift$<>"[208]"andt$<>"[211]"andt$<>"s"andt$<>"p"then 230
240 ift$="[208]"ort$="[211]"thent$=chr$(asc(t$)-128)
250 print"[147] [206]ow opening file->";chr$(34);f$;",";t$;chr$(34);"[155]"
260 bl=8
270 print"[201]s this all correct? ([217]/[206])";
280 geta$:ifa$<>"[217]"anda$<>"y"anda$<>"[206]"anda$<>"n"then 280
290 ifa$="[206]"ora$="n"thenf$="":goto 180
300 print"[147] [211]end output to the [211][146]creen or [208][146]rinter"
310 geta$:ifa$<>"[211]"anda$<>"s"anda$<>"[208]"anda$<>"p"then 310
320 ifa$="s"ora$="[211]"thendv=3:wd=40:goto 340
330 dv=4:bl=16
340 open15,8,15
341 iff$="$"thenopen8,8,0,"$0":goto360
350 open8,8,8,f$+","+t$+",r"
360 open1,dv,7
370 get#8,lo$,hi$:hi=asc(hi$+chr$(0)):lo=asc(lo$+chr$(0))
380 sa=lo+256*hi
390 gosub 4490
400 print#1,:print#1,"[198]ilename:=>";f$:print#1,
410 print#1," [211]tarting [193]ddress= #"sa" =$"hx$(hi)hx$(lo)
420 print:print:print
430 print"[211]elect [196]ump type":print"1> [200]ex [196]ump":print"2> [193][211][195][201][201] [196]ump":print"3> [196]isassembly"
440 print"4> [194]asic [204][201][211][212]"
450 geta$:ifval(a$)>4orval(a$)<1then 450
460 pc=0
470 print"[147]"
480 ifa$="2"then 780
500 ifa$="3"then 880
510 ifa$="4"then 1441
570 tm=bl*(int((sa+pc)/bl)):iftm=sa+pcthen 610
580 print#1,chr$(13);:h=int((tm)/256):l=tm-(256*h)
590 print#1,hx$(h)hx$(l)"->";
600 fornm=1to(sa+pc)-tm:print#1,"-- ";:next
610 get#8,a$:vl=asc(a$+chr$(0))
620 ifst<>0then4450
630 if(sa+pc)/bl<>int((sa+pc)/bl)then 690
640 getk$:ifk$<>" "then 670
650 getk$:ifk$<>chr$(13)andk$<>"+"andk$<>"q"then 650
660 ifk$="q"then 4450
661 ifk$="+"thengosub7000
670 print#1,chr$(13);:h=int((sa+pc)/256):l=sa+pc-(256*h)
680 print#1,hx$(h)hx$(l)"->";
690 print#1,hx$(vl)" ";:pc=pc+1
700 goto 610
710 pc=pc-1:print#1,chr$(13);:h=int((sa+pc)/256):l=sa+pc-(256*h)
720 print#1," [197]nding address = #"sa+pc" =$"hx$(h)hx$(l):goto 4450
780 get#8,a$:vl=asc(a$+chr$(0))
790 ifst<>0then4450
830 print#1,cd$(vl);:pc=pc+1
840 getk$:ifk$<>" "then 870
850 getk$:ifk$<>chr$(13)andk$<>"+"andk$<>"q"then 850
860 ifk$="q"then 4450
861 ifk$="+"thengosub7000
870 goto 780
880 print:print:print"[196]o you wish to change [211]tarting":print"address ([217]/[206])?"
890 geta$:ifa$<>"[217]"anda$<>"y"anda$<>"[206]"anda$<>"n"then 890
900 ifa$="n"ora$="[206]"then1000
910 print:print:print:print"[197]nter the [206][197][215] starting address in"
920 print"decimal."
930 input"#=";s$
940 ifs$=""then1000
950 sa=val(s$)
1000 rem***************************
1010 print#1,chr$(13);chr$(13);"[211]tarting [193]ddress =#";
1020 print#1,sa;" = $"hx$(int(sa/256));hx$(sa-(int(sa/256)*256))
1030 print#1,chr$(13)
1040 pc=0
1050 get#8,a$
1060 ifst<>0then4450
1080 print#1,chr$(13);:h=int((sa+pc)/256):l=sa+pc-(256*h)
1090 print#1,hx$(h)hx$(l)"- ";
1100 vl=asc(a$+chr$(0))
1110 ifar(vl)=1thenget#8,a$:b1=asc(a$+chr$(0)):ifst<>0then4450
1120 ifar(vl)<>2then 1150
1130 get#8,a$:b1=asc(a$+chr$(0)):ifst<>0then4450
1140 get#8,a$:b2=asc(a$+chr$(0)):ifst<>0then4450
1150 print#1,hx$(vl);" ";:ifar(vl)=0thenprint#1," ";
1160 ifar(vl)=1thenprint#1,hx$(b1);" ";
1170 ifar(vl)=2thenprint#1,hx$(b1);" ";hx$(b2);" ";
1180 o$=op$(vl):ifmid$(o$,1,1)="[194]"andmid$(o$,1,3)<>"[194][201][212]"then 1250
1190 forx=1tolen(o$)
1200 ifmid$(o$,x,1)<>"1"andmid$(o$,x,1)<>"2"thenprint#1,mid$(o$,x,1);
1210 ifmid$(o$,x,1)="1"thenprint#1,hx$(b1);
1220 ifmid$(o$,x,1)="2"thenprint#1,hx$(b2);
1230 next
1240 goto 1310
1250 ifb1>127thenb1=-(256-b1)
1260 forx=1tolen(o$)
1270 ifmid$(o$,x,1)<>"0"thenprint#1,mid$(o$,x,1);:goto 1300
1280 pp=pc+sa+b1+2
1290 print#1,hx$(int(pp/256));hx$(pp-(int(pp/256)*256));
1300 next
1310 pc=pc+ar(vl)+1:b1=0:b2=0
1320 getk$:ifk$<>" "then 1350
1330 getk$:ifk$<>chr$(13)andk$<>"+"andk$<>"q"then 1330
1340 ifk$="q"then 4450
1341 ifk$="+"thengosub7000
1350 goto 1050
1360 stop: pc=pc-1:print#1,chr$(13)
1370 print#1,chr$(13)"[197]nding [193]ddress =#"pc+sa" =$"hx$(int(sa+pc)/256);
1380 print#1,hx$((sa+pc)-256*(int((sa+pc)/256)))chr$(13)
1390 goto 4450
1441 cd$(0)=""
1480 print:print
1490 get#8,p1$,p2$,l1$,l2$:ifst<>0then4450
1500 li=256*(asc(l2$+chr$(0)))+asc(l1$+chr$(0)):qm=0
1510 print#1,mid$(str$(li),2,len(str$(li))-1)" ";
1520 get#8,a$:ifst<>0then4450
1530 vl=asc(a$+chr$(0)):ifvl=0thenprint#1,chr$(13);:qm=0:goto 1490
1550 ifvl=34thenqm=abs(qm=0)
1580 print#1,cd$(vl*abs(qm=1));kw$(vl*abs(qm=0));
1590 getg$:ifg$<>" "then 1630
1600 getg$:ifg$<>chr$(13)andg$<>"q"then 1600
1610 ifg$<>"q"then 1630
1620 goto 4450
1630 goto 1520
1640 goto 4450
1650 gosub 4490:close1:close8:close15:end
1660 data"00","[194][210][203]",0
1670 data"01","[207][210][193] ($1,[216])",1
1680 data"02","???",0
1690 data"03","???",0
1700 data"04","???",0
1710 data"05","[207][210][193] $1",1
1720 data"06","[193][211][204] $1",1
1730 data"07","???",0
1740 data"08","[208][200][208]",0
1750 data"09","[207][210][193] #$1",1
1760 data"0[193]","[193][211][204]",0
1770 data"0[194]","???",0
1780 data"0[195]","???",0
1790 data"0[196]","[207][210][193] $21",2
1800 data"0[197]","[193][211][204] $21",2
1810 data"0[198]","???",0
1820 data"10","[194][208][204] $0",1
1830 data"11","[207][210][193] ($1),[217]",1
1840 data"12","???",0
1850 data"13","???",0
1860 data"14","???",0
1870 data"15","[207][210][193] $1,[216]",1
1880 data"16","[193][211][204] $1,[216]",1
1890 data"17","???",0
1900 data"18","[195][204][195]",0
1910 data"19","[207][210][193] $21,[217]",2
1920 data"1[193]","???",0
1930 data"1[194]","???",0
1940 data"1[195]","???",0
1950 data"1[196]","[207][210][193] $21,[216]",2
1960 data"1[197]","[193][211][204] $21,[216]",2
1970 data"1[198]","???",0
1980 data"20","[202][211][210] $21",2
1990 data"21","[193][206][196] ($1,[216])",1
2000 data"22","???",0
2010 data"23","???",0
2020 data"24","[194][201][212] $1",1
2030 data"25","[193][206][196] $1",1
2040 data"26","[210][207][204] $1",1
2050 data"27","???",0
2060 data"28","[208][204][208]",0
2070 data"29","[193][206][196] #$1",1
2080 data"2[193]","[210][207][204]",0
2090 data"2[194]","???",0
2100 data"2[195]","[194][201][212] $21",2
2110 data"2[196]","[193][206][196] $21",2
2120 data"2[197]","[210][207][204] $21",2
2130 data"2[198]","???",0
2140 data"30","[194][205][201] $0",1
2150 data"31","[193][206][196] ($1),[217]",1
2160 data"32","???",0
2170 data"33","???",0
2180 data"34","???",0
2190 data"35","[193][206][196] $1,[216]",1
2200 data"36","[210][207][204] $1,[216]",1
2210 data"37","???",0
2220 data"38","[211][197][195]",0
2230 data"39","[193][206][196] $21,[217]",2
2240 data"3[193]","???",0
2250 data"3[194]","???",0
2260 data"3[195]","???",0
2270 data"3[196]","[193][206][196] $21,[216]",2
2280 data"3[197]","[210][207][204] $21,[216]",2
2290 data"3[198]","???",0
2300 data"40","[210][212][201]",0
2310 data"41","[197][207][210] ($1,[216])",1
2320 data"42","???",0
2330 data"43","???",0
2340 data"44","???",0
2350 data"45","[197][207][210] $1",1
2360 data"46","[204][211][210] $1",1
2370 data"47","???",0
2380 data"48","[208][200][193]",0
2390 data"49","[197][207][210] #$1",1
2400 data"4[193]","[204][211][210]",0
2410 data"4[194]","???",0
2420 data"4[195]","[202][205][208] $21",2
2430 data"4[196]","[197][207][210] $21",2
2440 data"4[197]","[204][211][210] $21",2
2450 data"4[198]","???",0
2460 data"50","[194][214][195] $0",1
2470 data"51","[197][207][210] ($1),[217]",1
2480 data"52","???",0
2490 data"53","???",0
2500 data"54","???",0
2510 data"55","[197][207][210] $1,[216]",1
2520 data"56","[204][211][210][160]$1,[216]",1
2530 data"57","???",0
2540 data"58","[195][204][201]",0
2550 data"59","[197][207][210] $21,[217]",2
2560 data"5[193]","???",0
2570 data"5[194]","???",0
2580 data"5[195]","???",0
2590 data"5[196]","[197][207][210] $21,[216]",2
2600 data"5[197]","[204][211][210] $21,[216]",2
2610 data"5[198]","???",0
2620 data"60","[210][212][211]",0
2630 data"61","[193][196][195] ($1,[216])",1
2640 data"62","[193][196][195] $1",1
2650 data"63","???",0
2660 data"64","???",0
2670 data"65","[193][196][195] $1",1
2680 data"66","[210][207][210] $1",1
2690 data"67","???",0
2700 data"68","[208][204][193]",0
2710 data"69","[193][196][195] #$1",1
2720 data"6[193]","[210][207][210]",0
2730 data"6[194]","???",0
2740 data"6[195]","[202][205][208] (21)",2
2750 data"6[196]","[193][196][195] $21",2
2760 data"6[197]","[210][207][210] $21",2
2770 data"6[198]","???",0
2780 data"70","[194][214][211] $0",1
2790 data"71","[193][196][195] ($1),[217]",1
2800 data"72","???",0
2810 data"73","???",0
2820 data"74","???",0
2830 data"75","[193][196][195] $1,[216]",1
2840 data"76","[210][207][210] $1,[216]",1
2850 data"77","???",0
2860 data"78","[211][197][201]",0
2870 data"79","[193][196][195] $21,[217]",2
2880 data"7[193]","???",0
2890 data"7[194]","???",0
2900 data"7[195]","???",0
2910 data"7[196]","[193][196][195] $21,[216]",2
2920 data"7[197]","[210][207][210] $21,[216]",2
2930 data"7[198]","???",0
2940 data"80","???",0
2950 data"81","[211][212][193] ($1,[216])",1
2960 data"82","???",0
2970 data"83","???",0
2980 data"84","[211][212][217] $1",1
2990 data"85","[211][212][193] $1",1
3000 data"86","[211][212][216] $1",1
3010 data"87","???",0
3020 data"88","[196][197][217]",0
3030 data"89","???",0
3040 data"8[193]","[212][216][193]",0
3050 data"8[194]","???",0
3060 data"8[195]","[211][212][217] $21",2
3070 data"8[196]","[211][212][193] $21",2
3080 data"8[197]","[211][212][216] $21",2
3090 data"8[198]","???",0
3100 data"90","[194][195][195] $0",1
3110 data"91","[211][212][193] ($1),[217]",1
3120 data"92","???",0
3130 data"93","???",0
3140 data"94","[211][212][217] $1,[216]",1
3150 data"95","[211][212][193] $1,[216]",1
3160 data"96","[211][212][216] $1,[216]",1
3170 data"97","???",0
3180 data"98","[212][217][193]",0
3190 data"99","[211][212][193] $21,[217]",2
3200 data"9[193]","[212][216][211]",0
3210 data"9[194]","???",0
3220 data"9[195]","???",0
3230 data"9[196]","[211][212][193] $21,[216]",2
3240 data"9[197]","???",0
3250 data"9[198]","???",0
3260 data"[193]0","[204][196][217] #$1",1
3270 data"[193]1","[204][196][193] ($1,[216])",1
3280 data"[193]2","[204][196][216] #$1",1
3290 data"[193]3","???",0
3300 data"[193]4","[204][196][217] $1",1
3310 data"[193]5","[204][196][193] $1",1
3320 data"[193]6","[204][196][216] $1",1
3330 data"[193]7","???",0
3340 data"[193]8","[212][193][217]",0
3350 data"[193]9","[204][196][193] #$1",1
3360 data"[193][193]","[212][193][216]",0
3370 data"[193][194]","???",0
3380 data"[193][195]","[204][196][217] $21",2
3390 data"[193][196]","[204][196][193] $21",2
3400 data"[193][197]","[204][196][216] $21",2
3410 data"[193][198]","???",0
3420 data"[194]0","[194][195][211] $0",1
3430 data"[194]1","[204][196][193] ($1),[217]",1
3440 data"[194]2","???",0
3450 data"[194]3","???",0
3460 data"[194]4","[204][196][217] $1,[216]",1
3470 data"[194]5","[204][196][193] $1,[216]",1
3480 data"[194]6","[204][196][216] $1,[217]",1
3490 data"[194]7","???",0
3500 data"[194]8","[195][204][214]",0
3510 data"[194]9","[204][196][193] $21,[217]",2
3520 data"[194][193]","[212][211][216]",0
3530 data"[194][194]","???",0
3540 data"[194][195]","[204][196][217] $21,[216]",2
3550 data"[194][196]","[204][196][193] $21,[216]",2
3560 data"[194][197]","[204][196][216] $21,[217]",2
3570 data"[194][198]","???",0
3580 data"[195]0","[195][208][217] #$1",1
3590 data"[195]1","[195][205][208] ($1,[216])",1
3600 data"[195]2","???",0
3610 data"[195]3","???",0
3620 data"[195]4","[195][208][217] $1",1
3630 data"[195]5","[195][205][208] $1",1
3640 data"[195]6","[196][197][195] $1",1
3650 data"[195]7","???",0
3660 data"[195]8","[201][206][217]",0
3670 data"[195]9","[195][205][208] #$1",1
3680 data"[195][193]","[196][197][216]",0
3690 data"[195][194]","???",0
3700 data"[195][195]","[195][208][217] $21",2
3710 data"[195][196]","[195][205][208] $21",2
3720 data"[195][197]","[196][197][195] $21",2
3730 data"[195][198]","???",0
3740 data"[196]0","[194][206][197] $0",1
3750 data"[196]1","[195][205][208] ($1),[217]",1
3760 data"[196]2","???",0
3770 data"[196]3","???",0
3780 data"[196]4","???",0
3790 data"[196]5","[195][205][208] $1,[216]",1
3800 data"[196]6","[196][197][195] $1,[216]",1
3810 data"[196]7","???",0
3820 data"[196]8","[195][204][196]",0
3830 data"[196]9","[195][205][208] $21,[217]",2
3840 data"[196][193]","???",0
3850 data"[196][194]","???",0
3860 data"[196][195]","???",0
3870 data"[196][196]","[195][205][208] $21,[216]",2
3880 data"[196][197]","[196][197][195] $21,[216]",2
3890 data"[196][198]","???",0
3900 data"[197]0","[195][208][216] #$1",1
3910 data"[197]1","[211][194][195] ($1,[216])",1
3920 data"[197]2","???",0
3930 data"[197]3","???",0
3940 data"[197]4","[195][208][216] $1",1
3950 data"[197]5","[211][194][195] $1",1
3960 data"[197]6","[201][206][195] $1",1
3970 data"[197]7","???",0
3980 data"[197]8","[201][206][216]",0
3990 data"[197]9","[211][194][195] #$1",1
4000 data"[197][193]","[206][207][208]",0
4010 data"[197][194]","???",0
4020 data"[197][195]","[195][208][216] $21",2
4030 data"[197][196]","[211][194][195] $21",2
4040 data"[197][197]","[201][206][195] $21",2
4050 data"[197][198]","???",0
4060 data"[198]0","[194][197][209] $0",1
4070 data"[198]1","[211][194][195] ($1),[217]",1
4080 data"[198]2","???",0
4090 data"[198]3","???",0
4100 data"[198]4","???",0
4110 data"[198]5","[211][194][195] $1,[216]",1
4120 data"[198]6","[201][206][195] $1,[216]",1
4130 data"[198]7","???",0
4140 data"[198]8","[211][197][196]",0
4150 data"[198]9","[211][194][195] $21,[217]",2
4160 data"[198][193]","???",0
4170 data"[198][194]","???",0
4180 data"[198][195]","???",0
4190 data"[198][196]","[211][194][195] $21,[216]",2
4200 data"[198][197]","[201][206][195] $21,[216]",2
4210 data"[198][198]","???",0
4220 data"[197][206][196]","[198][207][210]","[206][197][216][212]","[196][193][212][193]","[201][206][208][213][212]#","[201][206][208][213][212]","[196][201][205]","[210][197][193][196]","[204][197][212]","[199][207][212][207]"
4230 data"[210][213][206]","[201][198]","[210][197][211][212][207][210][197]","[199][207][211][213][194]","[210][197][212][213][210][206]","[210][197][205]","[211][212][207][208]","[207][206]","[215][193][201][212]","[204][207][193][196]"
4240 data"[211][193][214][197]","[214][197][210][201][198][217]","[196][197][198]","[208][207][203][197]","[208][210][201][206][212]#","[208][210][201][206][212]","[195][207][206][212]","[204][201][211][212]","[195][204][210]"
4250 data"[195][205][196]","[211][217][211]","[207][208][197][206]","[195][204][207][211][197]","[199][197][212]","[206][197][215]","[212][193][194](","[212][207]","[198][206]","[211][208][195](","[212][200][197][206]"
4260 data"[206][207][212]","[211][212][197][208]","+","-","*","/","^","[193][206][196]","[207][210]",">","=","<","[211][199][206]","[201][206][212]"
4270 data"[193][194][211]","[213][211][210]","[198][210][197]","[208][207][211]","[211][209][210]","[210][206][196]","[204][207][199]","[197][216][208]","[195][207][211]","[211][201][206]"
4280 data"[212][193][206]","[193][212][206]","[208][197][197][203]","[204][197][206]","[211][212][210]$","[214][193][204]","[193][211][195]","[195][200][210]$","[204][197][198][212]$"
4290 data"[210][201][199][200][212]$","[205][201][196]$"
4300 data".",".",".",".",".","<white>",".",".","<disable[195]=>","<enable[195]=>","."
4310 data.,.,"<[195]/[210]>",<lowercase>,.,.,<down>,<rvson>,<home>,"<[196][197][204]>"
4320 data".",".",".",".",".",".",".","<red>","<right>","<green>","<blue>"
4330 data" ","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/"
4340 data0,1,2,3,4,5,6,7,8,9,":",";","<","=",">","?","@"
4350 data"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p"
4360 data"q","r","s","t","u","v","w","x","y","z","[","\","]","^","_","-"
4370 data"[193]","[194]","[195]","[196]","[197]","[198]","[199]","[200]","[201]","[202]","[203]","[204]","[205]","[206]","[207]","[208]"
4380 data"[209]","[210]","[211]","[212]","[213]","[214]","[215]","[216]","[217]","[218]"
4390 data.,.,.,.,.,.,<orange>,.,.,.,.,.,.,.,.,.,.,.,"<[211][195][210]>","<[213][195]>",.
4400 data<black>,<up>,<rvsoff>,"<[195][204][210]>","<[196][197][204]>",<brown>,<l red>,<gray1>,<gray2>
4410 data<l grn>,<l blu>,<gray3>,<purple>,<left>,<yellow>,<cyan>," "
4420 forx=161to191:cd$(x)=".":next:forx=192to223:cd$(x)=cd$(x-96):next
4430 forx=224to254:cd$(x)=cd$(x-64):next:cd$(255)="<pi>":cd$(126)="<pi>"
4440 cd$(13)=chr$(13):cd$(34)=chr$(34):return
4450 print:print" [197]nd of [198]ile, press any key":close1:close8:close15
4451 cd$(0)="."
4460 poke198,0:geta$
4470 geta$:ifa$=""ora$="[133]"then 4470
4480 goto 180
4490 input#15,er,er$,tr,sc
4500 ifer<>0thenprint"[196]isk [197]rror[146][155]":printer"--"er$" at "tr","sc:close1:close8:close15:end
4510 return
4520 ifst=64orst<>0then 4450
4530 return
7000 close1:ifdv=4thendv=3:open1,dv,1:return
7001 dv=4:open1,dv,1:return