home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magic Disk 64
/
Magic_Disk_64_87-12_1987_-_de_Side_A.d64
/
m6
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
153 lines
0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1 goto10
2 zpoke53265,27
3 @p:print"[147]";:poke53272,21:list1800-1997
4 @m:print"[147]";:poke53272,21:list1700-1790
10 :poke56,47:clr
100 v=53248:s=54272:jo=v-1:poke659,1:poke56325,40
110 dima$(20),a(20),b(20),c(20):fori=0to20:reada$(i),a(i):ifa$(i)<>"***"thennext
115 rn=i-1:sys14336
120 poke53272,29:gosub999:pokev,50:pokev+1,50:lp=1:lo=0:e=0
130 open1,8,15,"m-w"+chr$(7)+chr$(28)+chr$(1)+chr$(15):close1
200 gosub1500:poke659,0:la=0
205 if(peek(jo)and16)=16then200
210 y=abs(int((peek(v)-24)/8+.5)+(33and(peek(v+16)and1)=1))
215 x=int(abs(peek(v+1)-62)/8+.5)
217 rem print""x,y"[157] "
220 onlpgoto300,230
230 ifx<19orx>21then200
240 ify>1andy<9thena=1906:b=1910:gosub1200:goto1800
245 ify>9andy<16then120
250 ify>18andy<22thenpokes+1923,1:e2=-1:gosub1400:goto1370
255 ify>21andy<26thenpokes+1927,1:e2=1:gosub1400:goto1370
260 ify>28andy<34thenpokes+1933,1:pokes+1934,1:goto1600
270 goto200
300 ifx>14andx<18thenify>33andy<39thensys64738
305 fori=0torn
310 ifb(i)<>xthennext:goto360
320 ifc(i)<20andy>20orc(i)>20andy<20thennext:goto360
330 poke214,b(i):print:print""tab(c(i))a$(i)
340 e=1:e3=1
350 goto1300
360 goto200
998 :end
999 poke53265,0
1000 poke53280,12:poke53281,15
1001 print"[147][142][152] ";
1002 print" [144] [152] ";
1003 print" [146] [144] [152] ";
1004 print" [146] [144] [152] ";
1005 print" [146] [144] [152] ";
1006 fori=6to14:print" [146] [144] [152] ";:next
1015 print" [146] [144] [152]";
1016 print"[152] [146] [152][164][144] [152]";
1017 print" [144][146] [152][165][151][162][162][162][162][144] [152]";
1018 print" [146][151] [197][216][201][212][146] [144][152] ";
1019 print" [146] [151][162][162][162][162][144][146] [152] ";:gosub1020:goto1030
1020 print"[152] ";
1021 print" [144] [152] ";
1022 print"[146] [156][162][162][162][162][162][162][162][151] [162][162][162][162][162][162] [144] [151] [162][162][162] [162][162][162] [144] [151] [162][162][162][162] [144][176][178][178][174][151] [144] [152] ";
1023 print"[146] [156] [196]ruck [146] [205]en@ [144][146] [151] _ [144][146] [151] [255] [146] [144] [151] _[255] [146] [144][171][151][144][179][151] [144] [152] ";
1024 print"[146] [156][162][162][162][162][162][162][162][146] [162][162][162][162][162][162][144][146] [151][162][162][162][144][146] [151][162][162][162][144][146] [151] [162][162][162][162][146] [144][173][177][177][189][151] [152] ";
1025 print"[152] ";
1026 poke2023,160:pokes+2023,12
1027 fork=217to240:pokek,peek(k)or128:next:return
1030 ifr%=1thenprint"";:poke2023,160:return
1035 x=7:poke214,4:print:fork=0torn:poke211,x:print"[144]"a$(k):print
1040 b(k)=peek(214)-3:c(k)=x:ifk=int(rn/2)thenx=20:poke214,4:print
1050 next:print"":poke53265,27:return
1200 rem ---- col a,b--
1210 forc=s+atos+b:pokec,1:next:return
1300 rem ---- load i,e---
1307 e$=right$(str$(i+1),len(str$(i+1))-1)+".":lp=2
1308 e$=e$+right$(str$(e),len(str$(e))-1)
1310 close2:close1:open1,8,15:open2,8,2,e$+",p,r":input#1,a:ifa=62thengosub2000:goto1380
1312 ifa>19thenclose2:close1:e=e-e2:onlpgoto1340,1330
1314 get#2,a$:get#2,a$:close2:close1
1315 a=0:iflen(a$)<>0thena=asc(a$)
1320 ifa=96thengosub1700:e2=sgn(e2):gosub1400:goto1370
1325 lp=2:print"[144][147]";:a$=e$:gosub1750
1330 print"";:poke53280,12:poke53281,15:e=e3
1335 gosub1020:poke53265,27:goto1360
1340 :
1350 poke214,b(i):print:print"[144]"tab(c(i))a$(i)
1360 goto200
1370 ifla=1thenlp=1:gosub999:e=0:goto200
1375 goto1300
1380 ife2=0thene2=1
1385 lp=1:goto1340
1400 rem --- inc/dec page ---
1405 ife2=0thene2=1
1410 ife=1ande2=-1thenla=1:return
1420 ife=a(i)ande2=1thenla=1:return
1430 e=e+e2:return
1500 rem --- print e/set counter ---
1510 poke214,21:print:c$="":ife<10thenc$="0"
1520 c$=c$+right$(str$(e),len(str$(e))-1)
1530 print"[151]"tab(34)c$:return
1600 rem --- fforward i/e ---
1610 poke659,1:if(peek(v+16)and1)=1then1630
1620 forj=peek(v)to255:pokev,j:aw=((NULL)):next:pokev,0:pokev+16,peek(v+16)or1
1630 forj=peek(v)to56:pokev,j:aw=((NULL)):next
1640 forj=peek(v+1)to230:pokev+1,j:aw=sqr(((NULL))):next
1650 if(peek(jo)and16)=0then1680
1660 if(peek(jo)and4)=0thene=e+(e>1):gosub1500
1670 if(peek(jo)and8)=0thene=e-(e<a(i)):gosub1500
1675 e2=sgn(e-e3):goto1650
1680 lo=0:goto1300
1700 rem --- hires on/off ---
1702 ife2=0thene2=1
1705 a$=e$:gosub1750
1710 sys14342:poke53269,0:poke53270,216
1720 sys34872:a=peek(34576):poke53280,a:poke53281,a:poke53265,59:sys34955
1730 if(peek(56320)and16)=16thenif(peek(56321)and16)=16then1730
1740 sys35554:sys35999:poke53270,200
1749 a$="m4"
1750 rem --- load a$ ---
1751 poke53265,0
1755 forj=1tolen(a$):poke1023+j,asc(mid$(a$,j,1)):next
1760 poke781,8:poke782,1:sys65466:poke780,len(a$):poke781,0:poke782,4
1770 sys65469:poke780,0:ifa=4thenpoke185,0
1780 sys65493:ifpeek(789)>160thensys14336
1790 poke53272,29:e3=e:return
1800 rem --- printer ---
1810 open1,4:cmd1:sys14339
1820 a$="(magic disk 64: ":b$=" seite"+str$(e)+")"
1830 z=(39-len(a$)-len(a$(i))-len(b$))/2
1835 c$="":forj=1tolen(a$(i)):c$=c$+chr$(asc(mid$(a$(i),j,1))and127):next
1840 forj=1toz:a$=a$+" ":next:a$=a$+c$:forj=1toz:a$=a$+" ":next
1850 a$=a$+b$:printa$
1860 sys43957:close1:goto1330
2000 rem --- disk wenden ---
2001 ax=peek(v+1):ay=peek(v):poke659,1
2003 z=20:a2=a:a=(99-peek(v))/z:b=(227-peek(v+1))/z:c=peek(v):d=peek(v+1)
2005 forj=1toz:d=d+b:c=c+a:pokev,c:pokev+1,d:next
2010 print"";:r%=1
2020 print"[144] [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
2025 print"[144] [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
2030 print" [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
2040 print" [185][175] [196]iskette[144] [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
2050 print" [161][182] wenden ![144] [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
2060 print" [157][157][157][157][157][157][157][157][157][157][157][157][157][157][145][145]";
2070 forqs=0to6
2080 print"[185][175][157][157][161][182][157][157][145]";:forsq=1to200:next
2090 print" [157][157] [157][157][145]";:forsq=1to200:next
2100 nextqs:print"[152] [146]"
2102 print" [146]"
2105 print"";:gosub1020:r%=0:print"";
2110 z=20:a=(ay-peek(v))/z:b=(ax-peek(v+1))/z:c=peek(v):d=peek(v+1)
2120 forj=1toz:d=d+b:c=c+a:pokev,c:pokev+1,d:next:poke659,0
2125 pokev,int(peek(v)/2)*2:pokev+1,int(peek(v+1)/2)*2
2150 a=a2:return
10000 data"[200]allo",3
10001 data"[200]ardware",12
10002 data"[211]oftware",23
10003 data"[194]astelware",7
10004 data"[213]tilities",19
10005 data"[199]ames",7
10006 data"[206]ews",10
10007 data"[201]ntern",9
10008 data"[212]ips & [212]ricks",8
10009 data"[212]he [197]nd",4
10100 data***,0