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