home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG037.ARK / PASSWORD.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  2KB  |  79 lines

  1. 10 REM THIS PROGRAM CHANGES A 'BASIC' COMMAND WORD TO A USER-DEF COMAND WORD
  2. 20 REM FROM INTERFACE AGE FEB 1980 PAGE 20
  3. 30 Z9$=CHR$(12):REM Z9$ CLEARS SCREEN 
  4. 40 PRINTZ9$
  5. 50 REM
  6. 60 REM * CONVERT HEX TO DECIMAL FOR LOOP *
  7. 70 REM
  8. 80 DIM A(4)
  9. 90 G1=0
  10. 100 PRINT 
  11. 110 INPUT "WHAT IS BEGINNING HEX ADDRESS OF 'BASIC' ";N$
  12. 120 IF LEN(N$)=4 THEN 160
  13. 130 PRINT 
  14. 140 PRINT "MUST BE A 4-DIGIT NUMBER, RE-ENTER" 
  15. 150 GOTO 100
  16. 160 J=1
  17. 170 L=LEN(N$)
  18. 180 FOR I=1 TO 4
  19. 190 A(I)=ASC(MID$(N$,J,1))-48
  20. 200 IF A(I)>9 THEN A(I)=A(I)-7
  21. 210 J=J+1
  22. 220 NEXT I
  23. 230 AA=4096*A(1)+256*A(2)+16*A(3)+A(4)
  24. 240 IF G1=1 THEN 310
  25. 250 A1=AA:REM A1=BEGINNING DECIMAL ADDRESS OF 'BASIC'
  26. 260 PRINT 
  27. 270 PRINT 
  28. 280 INPUT "WHAT IS ENDING ADDRESS OF 'BASIC' ";N$
  29. 290 G1=1
  30. 300 GOTO 160
  31. 310 A2=AA:REM A2=ENDING DECIMAL ADDRESS OF 'BASIC'
  32. 320 REM
  33. 330 REM * INPUT OLD AND NEW WORD FOR SEARCH *
  34. 340 REM
  35. 350 PRINT 
  36. 360 PRINT
  37. 370 INPUT "WHAT IS WORD TO LOCATED ";W$
  38. 380 PRINT 
  39. 390 PRINT 
  40. 400 PRINT "WHAT IS NEW";LEN(W$);"-LETTER WORD ";
  41. 410 INPUT T$
  42. 420 IF LEN(T$)=LEN(W$) THEN 520
  43. 430 PRINT 
  44. 440 PRINT 
  45. 450 PRINT 
  46. 460 PRINT 
  47. 470 PRINT"MUST BE";LEN(W$);"-LETTERS LONG" 
  48. 480 GOTO 380
  49. 490 REM
  50. 500 REM * NOW LOOK FOR MATCH IN BASIC *
  51. 510 REM
  52. 520 PRINTZ9$ 
  53. 530 PRINT 
  54. 540 PRINT"THIS MAY TAKE A WHILE, SO BE PATIENT"
  55. 550 FOR J=A1 TO A2
  56. 560 B=PEEK(J)
  57. 570 FOR K=1 TO LEN(W$)
  58. 580 IF CHR$(B)<>MID$(W$,K,1) THEN 660
  59. 590 B=PEEK(J+K)
  60. 600 NEXT K
  61. 610 PRINT 
  62. 620 PRINT 
  63. 630 PRINT 
  64. 640 PRINT "MATCH IS FOUND AT ADDRESS";J;"DECIMAL"
  65. 650 GOTO 730
  66. 660 NEXT J
  67. 670 PRINTZ9$ 
  68. 680 PRINT"NO MATCH WAS FOUND" 
  69. 690 END
  70. 700 REM
  71. 710 REM CHANGE OLD TO NEW WORD *
  72. 720 REM
  73. 730 FOR I=1 TO LEN(W$)
  74. 740 B=ASC(MID$(T$,I,1))
  75. 750 POKE J,B
  76. 760 J=J+1
  77. 770 NEXT I
  78. 780 END
  79.