home *** CD-ROM | disk | FTP | other *** search
- 10 ' COPYRIGHT 1982, RICHARD M. SCHINNELL
- 20 ' This Program is called CONVERT.BAS VER 1.1 (11-12-83)
- 30 DEFINT A-Z:FALSE=0:TRUE = NOT FALSE:ON ERROR GOTO 680
- 40 KEY OFF:CLS:LOCATE 12,1
- 50 PRINT"COPYRIGHT 1982, Richard Schinnell Rockville,Maryland 301 949-8848 "
- 60 PRINT"This program will convert EXE/COM files to a basic program which"
- 70 PRINT"you then can transmit to someone over your Modem. They
- 80 PRINT"can then run the basic program and it will re-create the EXE/COM pgm.
- 90 PRINT"just like you had it. E N J O Y RICH......":PRINT
- 100 INPUT "Name of the COM or EXE File to convert ?: ";FIL1$
- 110 PRINT "To call the program with the same name with .BAS ext hit C/R"
- 120 INPUT "WHAT do you wish to call the basic program (.BAS): ";FIL2$
- 130 IF LEN(FIL2$)<1 THEN FIL2$=MID$(FIL1$,1,(INSTR(FIL1$,".")-1))+".BAS"
- 140 NUMLIN=1001:X=0:GRAND#=0:CNT=1
- 150 IF FIL1$=FIL2$ THEN CLS:LOCATE 12,15:PRINT "DUPLICATE FILE NAMES ":GOTO 10
- 160 OPEN FIL1$ FOR INPUT AS #1:CLOSE #1 ' just checking to make sure its there
- 170 OPEN FIL1$ AS #1 LEN=1 ' opening the .COM file
- 180 'the file input size should not be longer than 10-15k at
- 190 'the largest or you will build too big a program....Rich
- 200 L1=LOF(1) ' this gets the filesize in bytes
- 210 LIMIT = L1 ' THIS IS THE LIMIT FOR THE FILE SIZE
- 220 OPEN FIL2$ FOR OUTPUT AS #2 ' opening up the .bas file this pgm creates
- 230 GOSUB 470
- 240 PRINT #2,"1000 DATA ";STR$(LIMIT):
- 250 LIN$=RIGHT$(STR$(NUMLIN),4)
- 260 RICH2$=LIN$+" DATA "
- 270 FIELD #1,1 AS GETS$
- 280 X =X +1:IF X =< LIMIT THEN GET #1,X ELSE 400
- 290 RICH1$=HEX$(ASC(GETS$)):IF LEN(RICH1$)<2 THEN RICH1$="0"+RICH1$
- 300 IF CNT <29 THEN RICH2$=RICH2$+RICH1$:CNT=CNT+1:GRAND#=GRAND#+ASC(GETS$):GOTO 280
- 310 GOTO 400
- 320 RICH2$=LIN$+" DATA 000000,9999"
- 330 PRINT #2,RICH2$
- 340 PRINT #2,"5000 PRINT ";CHR$(34);"* * ERROR VERIFY FOLLOWING DATA * * * ";CHR$(34)
- 350 PRINT #2,"5005 PRINT X$;";CHR$(34);", in line ";CHR$(34);";I"
- 360 PRINT #2,"5010 KEY ON:CLOSE:END"
- 370 'JUST A COMMENT LINE. BE CAREFULL IF YOU CHANGE ANYTHING IN THIS PGM...
- 380 LOCATE 20,1:PRINT" You have sucessfully created file named ";FIL2$
- 390 CLOSE:KEY ON:END
- 400 GRAND$=MID$(STR$(GRAND#),2,4) 'THIS IS WHERE IT ALL HAPPENS
- 410 CNT=2:PRINT #2,RICH2$;",";GRAND$:NUMLIN=NUMLIN+1
- 420 LOCATE 18,1:PRINT SPC(78);:LOCATE 18,1:PRINT RICH2$;",";GRAND#;
- 425 LOCATE 16,51:PRINT CINT(((LIMIT/28)+1)-(X/28));" LINES LEFT";
- 430 LIN$=RIGHT$(STR$(NUMLIN),4)
- 440 IF X>LIMIT THEN GOTO 320
- 450 RICH2$=LIN$+" DATA "+RICH1$:GRAND#=ASC(GETS$)
- 460 GOTO 280
- 470 PRINT #2," 10 CLS:PRINT";CHR$(34);"This basic program was created by CONVERT.BAS";CHR$(34);":KEY OFF:DEFINT A-Z:FALSE=0:TRUE=NOT FALSE"
- 480 IF INSTR(FIL1$,":")=2 THEN FIL3$=MID$(FIL1$,3,13) ELSE FIL3$=FIL1$
- 490 GOSUB 720
- 500 PRINT #2," 20 PRINT";CHR$(34);"Copyright 1983 ,Rich Schinnell Rockville,MD. Not for Sale.";CHR$(34)
- 510 PRINT #2," 30 PRINT ";CHR$(34);"This program will create you a program named ";FIL3$;CHR$(34);":PRINT "
- 520 PRINT #2," 40 ON ERROR GOTO 5000"
- 530 PRINT #2," 50 INPUT ";CHR$(34);"PLACE the disk to write the file TO in Drive A: Press <ENTER> ";CHR$(34);"; CAPITAL$"
- 540 PRINT#2," 90 CLS:LOCATE 12,5:PRINT ";CHR$(34);"Now writing file named ";FIL3$;" standby please ";CHR$(34)
- 550 PRINT #2,"100 RESTORE"
- 560 PRINT #2,"110 OPEN ";CHR$(34);"R";CHR$(34);", #1,";CHR$(34);FIL3$;CHR$(34);",1 "
- 570 PRINT #2,"120 FIELD #1, 1 AS N$
- 580 PRINT #2,"130 READ N:LL=(N/28)+1"
- 590 PRINT #2,"140 FOR I = 1 TO N
- 600 PRINT #2,"150 READ X$,CHECK:FOR C=1 TO LEN(X$) STEP 2:CC$=";CHR$(34);"&H";CHR$(34);"+MID$(X$,C,2):IF CHECK=9999 THEN 170"
- 610 PRINT #2,"155 LSET N$=CHR$(VAL(CC$)):PUT #1:CHECK=CHECK-VAL(CC$):NEXT C:IF CHECK<>0 THEN 5000
- 620 PRINT #2,"160 LOCATE 14,5:PRINT TIME$;";CHR$(34);" Reading data line #";CHR$(34);";(1000+I);";CHR$(34);" lines left=";CHR$(34);";LL-I;:NEXT I:CLOSE"
- 630 PRINT #2,"170 LOCATE 16,5:PRINT ";CHR$(34); FIL3$;" CREATED * *";CHR$(34);":GOTO 5010"
- 640 CLS:LOCATE 12,5:PRINT "Reading file named ";FIL1$
- 650 LOCATE 14,5:PRINT "Writing file named ";FIL2$
- 660 LOCATE 16,5:PRINT "The file size of the input file is ";LIMIT
- 670 RETURN
- 680 PRINT " you had an error ";ERR;" in line # ";ERL
- 690 PRINT "Probably you named a file which does not exist "
- 700 PRINT "try again Charlie........
- 710 KEY ON:END
- 720 FOR I = 1 TO LEN(FIL3$)
- 730 IF ASC(MID$(FIL3$,I,1))>90 THEN MID$(FIL3$,I,1)=CHR$(ASC(MID$(FIL3$,I,1))-32)
- 740 NEXT I
- 750 RETURN