home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / utl / hotkey.ba < prev    next >
Text File  |  2006-10-19  |  4KB  |  111 lines

  1. 10 REM---------1---------2---------3---------4---------5---------6---------7---------8---------9---------012345678
  2. 20 REM---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2123456
  3. 30 PRINT "HOTKEY.BA": PRINT "Copyright 1987 Tri-Mike Network East"
  4. 40 PRINT "by MJ Nugent, Jr.": PRINT "All rights reserved"
  5. 50 PRINT "Installing...."
  6. 60 '----- m/l sizes, variables -----
  7. 70 READ S1, S2, DFLAG, DIR, YO, YT, YR
  8. 80 '----- locate HOTKEY in RAM -----
  9. 90 PRG=PEEK(63100)+256*PEEK(63101)
  10. 100 '----- set line 10 & 20 pointers -----
  11. 110 L10=PRG+5
  12. 120 P20=PEEK(PRG)+256*PEEK(PRG+1)
  13. 130 L20=P20+5
  14. 140 '----- install m/l in line 10 -----
  15. 150 BASE=L10: N=S1-1: GOSUB 460
  16. 160 '----- skip junk betw. lines -----
  17. 170 FOR I=1 TO 6: READ A: NEXT
  18. 180 '----- install m/l in line 20 -----
  19. 190 BASE=L20: N=S2-1: GOSUB 460
  20. 200 '----- find HOTKEY dir entry -----
  21. 210 A$="": FOR I=3 TO 10: A$=A$+CHR$(PEEK(DIR+I)): NEXT
  22. 220 IF A$<>"HOTKEYBA" OR PEEK(DIR)<>128 THEN DIR=DIR+11: GOTO 210
  23. 230 '----- store it in m/l code -----
  24. 240 MSB=INT(DIR/256): LSB=DIR-MSB*256
  25. 250 POKE L10+DFLAG,LSB: POKE L10+DFLAG+1,MSB
  26. 260 '----- store yr for date$ fix -----
  27. 270 YR$=STR$(YR)
  28. 280 POKE L10+YT,ASC(MID$(YR$,2,1))
  29. 290 POKE L10+YO,ASC(RIGHT$(YR$,1))
  30. 300 '----- setup to kill these lines -----
  31. 310 OPEN "KILLER.DO" FOR OUTPUT AS 1
  32. 320 FOR I=30 TO 1090 STEP 10
  33. 330   PRINT#1, STR$(I)
  34. 340 NEXT
  35. 350 CLOSE
  36. 360 '----- stuff cmds into keyboard buffer -----
  37. 370 A$="KILL"+CHR$(34)+"KILLER.DO"+CHR$(13)+"MENU"+CHR$(13)
  38. 380 FOR I=1 TO LEN(A$)
  39. 390   POKE65449+2*I,ASC(MID$(A$,I,1))
  40. 400   POKE65450+2*I,0
  41. 410 NEXT
  42. 420 POKE 65450,I-1
  43. 430 '----- waste lines, end install -----
  44. 440 MERGE "KILLER.DO"
  45. 450 '----- install/relocate m/l -----
  46. 460 FOR I=0 TO N
  47. 470   PTR=BASE+I
  48. 480   READ A: IF A=>0 THEN 540
  49. 490   READ A, B: REL=A+256*B
  50. 500   FX=REL+L10
  51. 510   B=INT(FX/256): A=FX-B*256
  52. 520   IF A=0 OR B=0 OR A=13 OR B=13 THEN BEEP: PRINT "Load Error!": END
  53. 530   POKE PTR+1,B: I=I+1
  54. 540   POKE PTR,A
  55. 550 NEXT
  56. 560 RETURN
  57. 570 '----- s1, s2, dflag, dir, yo, yt, yr -----
  58. 580 DATA  108, 226, 1, 63842, 36, 29, 88
  59. 590 '----- line 10 m/l code -----
  60. 600 DATA  33, 255, 255, 126, 238, 8, 119, 40
  61. 610 DATA  3, 26, 238, 99, 18, 33,-1, 28
  62. 620 DATA  0, 235, 42, 222, 250, 34,-1, 14
  63. 630 DATA  0, 235, 34, 222, 250, 201, 62, 56
  64. 640 DATA  214, 48, 50, 46, 249, 62, 55, 214
  65. 650 DATA  48, 50, 45, 249, 42, 82, 246, 17
  66. 660 DATA  239, 84, 223, 202,-1, 59, 0, 17
  67. 670 DATA  6, 89, 223, 194,-1, 65, 0, 62
  68. 680 DATA  1, 50,-1, 66, 0, 201, 62, 1
  69. 690 DATA  254, 2, 250,-1, 94, 0, 202,-1
  70. 700 DATA  114, 0, 62, 1, 61, 202,-1, 94
  71. 710 DATA  0, 50,-1, 76, 0, 33, 255, 255
  72. 720 DATA  126, 35, 34,-1, 85, 0, 225, 201
  73. 730 DATA  205, 214, 18, 245, 254, 27, 194,-1
  74. 740 DATA  63, 1, 62, 2, 195,-1, 65, 1
  75. 750 '----- junk between lines -----
  76. 760 DATA  0, 0, 0, 0, 0, 0
  77. 770 '----- line 20 m/l code -----
  78. 780 DATA  205, 214
  79. 790 DATA  18, 245, 205, 233, 15, 254, 27, 202
  80. 800 DATA -1, 63, 1, 33,-1, 71, 1, 34
  81. 810 DATA -1, 85, 0, 254, 84, 194,-1, 143
  82. 820 DATA  0, 205, 15, 25, 195,-1, 151, 0
  83. 830 DATA  254, 68, 194,-1, 156, 0, 205, 47
  84. 840 DATA  25, 62, 9, 195,-1, 51, 1, 254
  85. 850 DATA  87, 194,-1, 169, 0, 205, 98, 25
  86. 860 DATA  62, 4, 195,-1, 51, 1, 254, 70
  87. 870 DATA  194,-1, 193, 0, 219, 187, 230, 6
  88. 880 DATA  238, 2, 62, 12, 245, 196, 98, 118
  89. 890 DATA  241, 204, 63, 109, 195,-1, 20, 1
  90. 900 DATA  254, 86, 194,-1, 9, 1, 42, 224, 250, 229, 33, 243, 127, 34, 224, 250
  91. 910 DATA  33, 1, 254, 43, 229, 17, 70, 255, 6, 40
  92. 920 DATA  229, 213, 197, 205, 66, 37, 42, 57
  93. 930 DATA  246, 229, 33, 1, 1, 205, 124, 66
  94. 940 DATA  205, 93, 66, 225, 34, 57, 246, 205
  95. 950 DATA  112, 93, 205, 214, 18, 193, 209, 225
  96. 960 DATA  235, 205, 66, 37, 225, 205, 34, 70, 225, 34, 224, 250
  97. 970 DATA  195, -1, 20, 1, 254, 79, 194, -1
  98. 980 DATA  25, 1, 205, -1, 0, 0, 205, 98
  99. 990 DATA  118, 62, 1, 195, -1, 56, 1, 254
  100. 1000 DATA  9, 194, -1, 63, 1, 33, -1, 79
  101. 1010 DATA  1, 34, -1, 85, 0, 58, 58, 246
  102. 1020 DATA  61, 6, 5, 144, 242, -1, 42, 1
  103. 1030 DATA  128, 79, 120, 145, 60, 50, -1, 76
  104. 1040 DATA  0, 62, 3, 50, -1, 66, 0, 241
  105. 1050 DATA  175, 225, 201, 62, 1, 50, -1, 66
  106. 1060 DATA  0, 241, 225, 201, 42, 98, 117, 102
  107. 1070 DATA  102, 101, 114, 42, 32, 32, 32, 32
  108. 1080 DATA  32
  109. 1090 '----- turn HOTKEY on/off -----
  110. 2000 CALL PEEK(63100)+256*PEEK(63101)+5: MENU
  111.