home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1985 June
/
1985-06.d64
/
mlx
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
104 lines
10 rem lines changed from mlx version 2.00 are 750,765,770 and 860
20 rem line changed from mlx version 2.01 is 300
100 print"[147][153]";chr$(142);chr$(8);:poke53281,1:poke53280,1
101 poke 788,52:rem disable run/stop
110 print" ";
120 print" [146][223][169] [223][146][223][169][169] ";
130 print" [165] [146][169][169][223][146][223] ";
140 print" "
200 print"[156][144] machine language editor version 2.02"
210 print"[152][145][145]starting address? [157][157][157][157][157][157][157][157][157]";
215 inputs:f=1-f:c$=chr$(31+119*f)
220 ifs<256or(s>40960ands<49152)ors>53247thengosub3000:goto210
225 print:print:print
230 print"[152][145][145]ending address? [157][157][157][157][157][157][157][157][157]";:inpute:f=1-f:c$=chr$(31+119*f)
240 ife<256or(e>40960ande<49152)ore>53247thengosub3000:goto230
250 ife<sthenprintc$;"ending < start ":gosub1000:goto 230
260 print:print:print
300 print"[147]";chr$(14):ad=s
310 a=1:printright$("0000"+mid$(str$(ad),2),5);":";
315 forj=ato6
320 gosub570:ifn=-1thenj=j+n:goto320
390 ifn=-211then 710
400 ifn=-204then 790
410 ifn=-206thenprint:input"[197]nter [206]ew [193]ddress";zz
415 ifn=-206thenifzz<sorzz>ethenprint"out of range":gosub1000:goto410
417 ifn=-206thenad=zz:print:goto310
420 if n<>-196 then 480
430 print:input"[196]isplay:[198]rom";f:print,"[212]o";:inputt
440 iff<sorf>eort<sort>ethenprint"[193]t least";s;"[157], not more than";e:goto430
450 fori=ftotstep6:print:printright$("0000"+mid$(str$(i),2),5);":";
451 fork=0to5:n=peek(i+k):printright$("00"+mid$(str$(n),2),3);",";
460 geta$:ifa$>""thenprint:print:goto310
470 nextk:printchr$(20);:nexti:print:print:goto310
480 ifn<0 then print:goto310
490 a(j)=n:nextj
500 cksum=ad-int(ad/256)*256:fori=1to6:cksum=(cksum+a(i))and255:next
510 printchr$(18);:gosub570:printchr$(146);
511 ifn=-1thena=6:goto315
515 printchr$(20):ifn=cksumthen530
520 print:print"[204]ine [197]ntered [215]rong : [210]e-enter":print:gosub1000:goto310
530 gosub2000
540 fori=1to6:pokead+i-1,a(i):next:poke54272,0:poke54273,0
550 ad=ad+6:if ad<e then 310
560 goto 710
570 n=0:z=0
580 print"[168]";
581 geta$:ifa$=""then581
582 av=-(a$="m")-2*(a$=",")-3*(a$=".")-4*(a$="j")-5*(a$="k")-6*(a$="l")
583 av=av-7*(a$="u")-8*(a$="i")-9*(a$="o"):ifa$="h"thena$="0"
584 ifav>0thena$=chr$(48+av)
585 printchr$(20);:a=asc(a$):ifa=13ora=44ora=32then670
590 ifa>128thenn=-a:return
600 ifa<>20 then 630
610 gosub690:ifi=1andt=44thenn=-1:print"[146][157] [157]";:goto690
620 goto570
630 ifa<48ora>57then580
640 printa$;:n=n*10+a-48
650 ifn>255 then a=20:gosub1000:goto600
660 z=z+1:ifz<3then580
670 ifz=0thengosub1000:goto570
680 print",";:return
690 s%=peek(209)+256*peek(210)+peek(211)
691 fori=1to3:t=peek(s%-i)
695 ift<>44andt<>58thenpokes%-i,32:next
700 printleft$("[157][157][157]",i-1);:return
710 print"[147]*** [211]ave ***"
715 print"([208]ress [210][197][212][213][210][206][146] alone to cancel save)"
720 f$="":input" [198]ilename";f$:iff$=""thenprint:print:goto310
730 print:print"[212][146]ape or [196][146]isk: ([212]/[196])"
740 geta$:ifa$<>"t"anda$<>"d"then740
750 dv=1-7*(a$="d"):ifdv=8thenf$="0:"+f$:open15,8,15,"s"+f$:close15
760 t$=f$:zk=peek(53)+256*peek(54)-len(t$):poke782,zk/256
762 poke781,zk-peek(782)*256:poke780,len(t$):sys65469
763 poke780,1:poke781,dv:poke782,1:sys65466
765 k=s:poke254,k/256:poke253,k-peek(254)*256:poke780,253
766 k=e+1:poke782,k/256:poke781,k-peek(782)*256:sys65496
770 if(peek(783)and1)or(191andst)then780
775 print"[196]one.":goto310
780 print"[197]rror on [211]ave. [212]ry again.":ifdv=1then720
781 open15,8,15:input#15,e1$,e2$:printe1$;e2$:close15:goto720
790 print"[147]*** [204]oad ***"
795 print"([208]ress [210][197][212][213][210][206][146] alone to cancel load)"
800 f$="":input" [198]ilename";f$:iff$=""thenprint:goto310
810 print:print"[212][146]ape or [196][146]isk: ([212]/[196])"
820 geta$:ifa$<>"t"anda$<>"d"then820
830 dv=1-7*(a$="d"):ifdv=8thenf$="0:"+f$
840 t$=f$:zk=peek(53)+256*peek(54)-len(t$):poke782,zk/256
841 poke781,zk-peek(782)*256:poke780,len(t$):sys65469
845 poke780,1:poke781,dv:poke782,1:sys65466
850 poke780,0:sys65493
860 if(peek(783)and1)or(191andst)then870
865 print"[196]one.":goto310
870 print"[197]rror on [204]oad. [212]ry again.":ifdv=1then800
880 open15,8,15:input#15,e1$,e2$:printe1$;e2$:close15:goto800
1000 rem buzzer
1001 poke54296,15:poke54277,45:poke54278,165
1002 poke54276,33:poke 54273,6:poke54272,5
1003 fort=1to200:next:poke54276,32:poke54273,0:poke54272,0:return
2000 rem bell sound
2001 poke54296,15:poke54277,0:poke54278,247
2002 poke 54276,17:poke54273,40:poke54272,0
2003 fort=1to100:next:poke54276,16:return
3000 printc$;"not zero page or rom":goto1000