home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
prt
/
chdump.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
88 lines
10 REM---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------0---------1---------2---------3---------4
20 PRINT "CHDUMP.BA":PRINT "Copyright 1990 Tri-Mike Network East"
30 PRINT "by MJ Nugent, Jr.":PRINT "All rights reserved"
40 PRINT "Installing ..."
50 '--- m/l size, variables ---
60 READ D,KB,WH,F$,SZ,DA,FL,LL
70 '--- locate pgm in RAM ---
80 PRG=PEEK(WH)+256*PEEK(WH+1)
90 '--- set line 10 pointer ---
100 X=0:L10=PRG+5+X
110 P0=PEEK(PRG)+256*PEEK(PRG+1)
120 '--- install m/l in line ---
130 BASE=L10:J=SZ:GOSUB 360
140 '--- find pgm dir entry ---
150 A$="":FOR I=3 TO 10:A$=A$+CHR$(PEEK(D+I)):NEXT
160 IF A$<>F$ OR PEEK(D)<>128 THEN D=D+11:GOTO 150
170 'store dir attrib adr in pgm ---
180 MSB=INT(D/256):LSB=D-MSB*256:IF MSB=0 OR LSB=0 THEN 480
190 POKE L10+DA,LSB:POKE L10+DA+1,MSB
200 '--- set up to kill these lines ---
210 OPEN "KILLER.DO" FOR OUTPUT AS 1
220 FOR I=FL TO LL STEP 10
230 PRINT #1,STR$(I)
240 NEXT
250 CLOSE
260 '--- stuff cmds into kb buffer ---
270 A$="KILL"+CHR$(34)+"KILLER.DO"+CHR$(34)+CHR$(13)+"MENU"+CHR$(13)
280 FOR I=1 TO LEN(A$)
290 POKE KB+2*I,ASC(MID$(A$,I,1))
300 POKE KB+1+2*I,0
310 NEXT
320 POKE KB+1,I-1
330 '--- waste lines, end install ---
340 MERGE "KILLER.DO"
350 '--- install/relocate m/l ---
360 FOR I=0 TO J
370 PTR=BASE+I
380 READ A:IF A=>0 THEN 440
390 READ A,B:REL=A+256*B
400 FX=REL+L10
410 B=INT(FX/256):A=FX-B*256
420 IF A=0 OR B=0 OR A=13 OR B=13 THEN 480
430 POKE PTR+1,B:I=I+1
440 POKE PTR,A
450 NEXT
460 RETURN
470 '--- load error ---
480 BEEP:PRINT "Load Error!"
490 END
500 '--- d,kb,wh,f$,sz,da,fl,ll ---
510 DATA 63842,65449,63100,"CHDUMPBA",239,14,20,860
520 '--- line 10 m/l code ---
530 DATA 17, 222, 250, 237, 229, 33, -1, 34
540 DATA 0, 217, 225, 34, -1, 6, 0, 33
550 DATA 255, 255, 126, 238, 8, 119, 40, 3
560 DATA 26, 238, 104, 18, 33, 106, 249, 126
570 DATA 238, 11, 119, 201, 245, 33, -1, 59
580 DATA 0, 229, 58, 151, 255, 254, 8, 192
590 DATA 58, 153, 255, 254, 8, 202, -1, 0
600 DATA 0, 254, 4, 192, 195, -1, 61, 0
610 DATA 241, 201, 219, 187, 230, 6, 238, 2
620 DATA 194, 41, 66, 62, 1, 50, 117, 246
630 DATA 33, -1, 209, 0, 205, 177, 39, 175
640 DATA 50, 244, 255, 205, -1, 108, 0, 58
650 DATA 244, 255, 60, 254, 8, 194, -1, 82
660 DATA 0, 33, -1, 221, 0, 205, 177, 39
670 DATA 175, 50, 117, 246, 201, 205, -1, 111
680 DATA 0, 33, -1, 216, 0, 205, 177, 39
690 DATA 175, 50, 245, 255, 33, 192, 252, 229
700 DATA 205, 92, 118, 175, 87, 205, 50, 116
710 DATA 209, 6, 6, 26, 197, 213, 95, 175
720 DATA 87, 46, 16, 103, 205, -1, 193, 0
730 DATA 125, 183, 202, -1, 163, 0, 17, -1
740 DATA 224, 0, 131, 95, 210, -1, 162, 0
750 DATA 20, 26, 231, 231, 231, 209, 19, 193
760 DATA 5, 194, -1, 136, 0, 58, 245, 255
770 DATA 60, 254, 40, 194, -1, 118, 0, 62
780 DATA 13, 231, 62, 1, 238, 129, 50, -1
790 DATA 186, 0, 201, 58, -1, 186, 0, 183
800 DATA 250, -1, 203, 0, 195, 223, 55, 205
810 DATA 126, 55, 195, 1, 53, 27, 108, 10
820 DATA 27, 51, 24, 34, 27, 76, 208, 2
830 DATA 34, 27, 64, 13, 34, 192, 48, 240
840 DATA 12, 204, 60, 252, 3, 195, 51, 243
850 DATA 15, 207, 63, 255
860 '--- turn CHDUMP on/off ---
870 CALLPEEK(63100)+256*PEEK(63101)+5:MENU