home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_36_(10-1984).d64 / mlx.bas (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  3KB  |  93 lines

  1. 100 PRINT"[147]";CHR$(142);CHR$(8);:POKE53281,1:POKE53280,1
  2. 101 POKE 788,52:REMDISABLE RUN/STOP
  3. 110 PRINT"                                        ";
  4. 120 PRINT"               [146][223][169]   [223][146][223][169][169]             ";
  5. 130 PRINT"                [165]  [146][169][169][223][146][223]             ";
  6. 140 PRINT"                                        "
  7. 150 V=53248:POKE2040,13:POKE2041,13:FORI=832TO894:POKEI,255:NEXT:POKEV+27,3
  8. 170 POKEV+29,3
  9. 180 FORI=0TO23:READA:POKE679+I,A:POKEV+39,A:POKEV+40,A:NEXT
  10. 185 DATA169,251,166,254,164,255,32,216,255,133,253,96
  11. 187 DATA169,0,166,251,164,252,32,213,255,133,253,96
  12. 190 POKEV+39,7:POKEV+40,7
  13. 200 PRINT"[156][144]   A FAILSAFE MACHINE LANGUAGE EDITOR "
  14. 210 PRINT"[152][145][145]STARTING ADDRESS?        [157][157][157][157][157][157][157][157][157]";:INPUTS:F=1-F:C$=CHR$(31+119*F)
  15. 220 IFS<256OR(S>40960ANDS<49152)ORS>53247THENGOSUB3000:GOTO210
  16. 225 PRINT:PRINT:PRINT
  17. 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)
  18. 240 IFE<256OR(E>40960ANDE<49152)ORE>53247THENGOSUB3000:GOTO230
  19. 250 IFE<STHENPRINTC$;"ENDING < START  ":GOSUB1000:GOTO230
  20. 260 PRINT:PRINT:PRINT
  21. 300 PRINT"[147]";CHR$(14):AD=S:POKEV+21,0
  22. 310 PRINTRIGHT$("0000"+MID$(STR$(AD),2),5);":";:FORJ=1TO6
  23. 320 GOSUB570:IFN=-1THENJ=J+N:GOTO320
  24. 390 IFN=-211THEN 710
  25. 400 IFN=-204THEN 790
  26. 410 IFN=-206THENPRINT:INPUT"[197]NTER [206]EW [193]DDRESS";ZZ
  27. 415 IFN=-206THENIFZZ<SORZZ>ETHENPRINT"OUT OF RANGE":GOSUB1000:GOTO410
  28. 417 IFN=-206THENAD=ZZ:PRINT:GOTO310
  29. 420 IF N<>-196 THEN480
  30. 430 PRINT:INPUT"[196]ISPLAY:[198]ROM";F:PRINT,"[212]O";:INPUTT
  31. 440 IFF<SORF>EORT<SORT>ETHENPRINT"[193]T LEAAT";S;"[157], NOT MORE THAN";E:GOTO430
  32. 450 FORI=FTOTSTEP6:PRINT:PRINTRIGHT$("0000"+MID$(STR$(I),2),5);":";
  33. 451 FORK=0TO5:N=PEEK(I+K):PRINTRIGHT$("00"+MID$(STR$(N),2),3);",";
  34. 460 GETA$:IFA$>""THENPRINT:PRINT:GOTO310
  35. 470 NEXTK:PRINTCHR$(20);:NEXTI:PRINT:PRINT:GOTO310
  36. 480 IFN<0 THEN PRINT:GOTO310
  37. 490 A(J)=N:NEXTJ
  38. 500 CKSUM=AD-INT(AD/256)*256:FORI=1TO6:CKSUM=(CKSUM+A(I))AND255:NEXT
  39. 510 PRINTCHR$(18);:GOSUB570:PRINTCHR$(20)
  40. 515 IFN=CKSUMTHEN530
  41. 520 PRINT:PRINT"[204]INE[197]NTERED [215]RONG : [210]E-ENTER":PRINT:GOSUB1000:GOTO310
  42. 530 GOSUB2000
  43. 540 FORI=1TO6:POKEAD+I-1,A(I):NEXT:POKE54272,0:POKE54273,0
  44. 550 AD=AD+6:IF AD<E THEN 310
  45. 560 GOTO710
  46. 570 N=0:Z=0
  47. 580 PRINT"[166]";
  48. 581 GETA$:IFA$=""THEN581
  49. 585 PRINTCHR$(20);:A=ASC(A$):IFA=13ORA=44ORA=32THEN670
  50. 590 IFA>128THENN=-A:RETURN
  51. 600 IFA<>20 THEN 630
  52. 610 GOSUB690:IFI=1ANDT=44THENN=-1:PRINT"[157][157]";:GOTO690
  53. 620 GOTO570
  54. 630 IFA<48ORA>57THEN580
  55. 640 PRINTA$;:N=N*10+A-48
  56. 650 IFN>255 THEN A=20:GOSUB1000:GOTO600
  57. 660 Z=Z+1:IFZ<3THEN580
  58. 670 IFZ=0THENGOSUB1000:GOTO570
  59. 680 PRINT",";:RETURN
  60. 690 S%=PEEK(209)+256*PEEK(210)+PEEK(211)
  61. 691 FORI=1TO3:T=PEEK(S%-I)
  62. 695 IFT<>44ANDT<>58THENPOKES%-I,32:NEXT
  63. 700 PRINTLEFT$("[157][157][157]",I-1);:RETURN
  64. 710 PRINT"[147]*** [211]AVE ***"
  65. 720 INPUT" [198]ILENAME";F$
  66. 730 PRINT:PRINT"[212][146]APE OR [196][146]ISK: ([212]/[196])"
  67. 740 GETA$:IFA$<>"T"ANDA$<>"D"THEN740
  68. 750 DV=1-7*(A$="D"):IFDV=8THENF$="0:"+F$
  69. 760 OPEN 1,DV,1,F$:POKE252,S/256:POKE251,S-PEEK(252)*256
  70. 765 POKE255,E/256:POKE254,E-PEEK(255)*256
  71. 770 POKE253,10:SYS 679:CLOSE1:IFPEEK(253)>9ORPEEK(253)=0THENPRINT"[196]ONE.":END
  72. 780 PRINT"[197]RRORON [211]AVE.  [212]RY AGAIN.":IFDV=1THEN720
  73. 781 OPEN15,8,15:INPUT#15,DS,DS$:PRINTDS;DS$:CLOSE15:GOTO720
  74. 790 PRINT"[147]*** LOAD ***"
  75. 800 INPUT" [198]ILENAME";F$
  76. 810 PRINT:PRINT"[212][146]APE OR [196][146]ISK: ([212]/[196])"
  77. 820 GETA$:IFA$<>"T"ANDA$<>"D"THEN820
  78. 830 DV=1-7*(A$="D"):IFDV=8THENF$="0:"+F$
  79. 840 OPEN 1,DV,0,F$:POKE252,S/256:POKE251,S-PEEK(252)*256
  80. 850 POKE253,10:SYS 691:CLOSE1
  81. 860 IFPEEK(253)>9 OR PEEK(253)=0 THEN PRINT:PRINT:GOTO310
  82. 870 PRINT"[197]RROR ON [204]OAD.  [212]RY AGAIN.":IFDV=1THEN800
  83. 880 OPEN15,8,15:INPUT#15,DS,DS$:PRINTDS;DS$:CLOSE15:GOTO800
  84. 1000 REM BUZZER
  85. 1001 POKE54296,15:POKE54277,45:POKE54278,165
  86. 1002 POKE54276,33:POKE54273,6:POKE54272,5
  87. 1003 FORT=1TO200:NEXT:POKE54276,32:POKE54273,0:POKE54272,0:RETURN
  88. 2000 REM BELL SOUND
  89. 2001 POKE54296,15:POKE54277,0:POKE54278,247
  90. 2002 POKE54276,17:POKE54273,40:POKE54272,0
  91. 2003 FORT=1TO100:NEXT:POKE54276,16:RETURN
  92. 3000 PRINTC$;"NOT ZERO PAGE OR ROM":GOTO1000
  93.