home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1985 June / 1985-06.d64 / mlx (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  104 lines

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