home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1985 June
/
1985-06.d64
/
mlx_vic
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
101 lines
10 rem lines changed from vic mlx version 2.00 are 581,582,765
100 print"[147][156]";chr$(142);chr$(8);
101 poke 788,194: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":print"editor ver 2.02"
210 print"[144][145][145][145]starting address":inputs:f=1-f:c$=chr$(31+119*f)
220 ifs<256ors>32767thengosub3000:goto210
225 print:print:print:print
230 print"[144][145][145][145]ending address":inpute:f=1-f:c$=chr$(31+119*f)
240 ife<256ore>32767thengosub3000: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 for j=a to 6
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);":";
455 fork=0to5:n=peek(i+k):ifk=3thenprintspc(10);
457 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":print"[210]e-enter":print:gosub1000:goto310
530 gosub2000
540 fori=1to6:pokead+i-1,a(i):next
550 ad=ad+6:if ad<e then 310
560 goto 710
570 n=0:z=0
580 print"[166]";
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 printchr$(146);:gosub690:ifi=1andt=44thenn=-1:print"[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)
692 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 ***"
720 f$="":input" [198]ilename";f$:iff$=""then310
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
782 goto720
790 print"[147]*** [204]oad ***"
800 f$="":input" [198]ilename";f$:iff$=""then310
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 poke36878,15:poke36874,190
1002 forw=1to300:nextw
1003 poke36878,0:poke36874,0:return
2000 rem bell sound
2001 forw=15to0step-1:poke36878,w:poke36876,240:nextw
2002 poke36876,0:return
3000 printc$;"not zero page or rom":goto1000