home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
utl
/
doco.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
50 lines
0 'DOCO.BA converts .CO files to .DO
1 'format for easy transmition by
2 'Modem, or RS232. It also reconverts
3 'the .DO file (creating a .CO File
4 'identical to the original).
5 '
6 ' ********************************
7 ' ** Gord MacSwain 72155,1641 **
8 ' ** 151 Cass Avenue **
9 ' ** Agincourt, Ontario M1T 2B5 **
10 ' ********************************
11 '
15 MAXFILES=1:CLS:PRINT:PRINTTAB(10);CHR$(27)+"p";"***** DOCO *****";CHR$(27)+"q"
20 PRINTTAB(10);CHR$(27)+"p"+"MacSwain Enterprises";CHR$(27)+"q":PRINT:LINE(57,5)-(181,25),1,B
25 LINE(60,7)-(179,7):LINE(59,7)-(59,23)
30 PRINTTAB(8);"CO ";CHR$(154);" DO <S> OR <L> DO ";CHR$(154);" CO";:ONERRORGOTO340:CLOSE
40 K$=INPUT$(1):IFK$="L"ORK$="l"THEN200ELSEIFK$="S"ORK$="s"THEN50ELSEIFK$=CHR$(27)THENMENUELSE40
50 Z=63930:PRINT:INPUT" CO Filename (Caps, No Ext)";A$
60 FORX=0TO198STEP11
70 IF(PEEK(X+Z)AND160)=160THENGOSUB100
80 NEXTX
90 PRINTTAB(13),"FILE NOT FOUND";:FORW=1TO500:NEXTW:GOTO15
100 B$="":A=LEN(A$):FORY=1TOA:B$=B$+CHR$(PEEK(X+Z+2+Y)):NEXTY
110 IFA$<>B$THENRETURN
120 IFA<6ANDPEEK(X+Z+2+Y)<>32THENRETURN
130 B=(PEEK(X+Z+2)*256)+PEEK(X+Z+1)
140 LD=(PEEK(B+1)*256)+PEEK(B):IFLD<HIMEMTHEN350
150 X=6+(PEEK(B+3)*256)+PEEK(B+2):H$="0123456789ABCDEF":N=HIMEM
160 INPUT"Create DO filename (DST:, No ext.)";V$
170 FORY=0TOX-1:POKEN+Y,PEEK(B+Y):NEXTY:OPENV$FOROUTPUTAS1
180 FORY=0TOX-1:G=G+1:C$="":C$=C$+MID$(H$,((PEEK(N+Y)AND240)/16)+1,1)+MID$(H$,(PEEK(N+Y)AND15)+1,1)
185 PRINT#1,C$;:IFG=16THENPRINT#1,",";:PRINT"*";:G=0:NEXTY:ELSENEXTY
190 PRINT#1,CHR$(26):CLOSE1:PRINT:PRINT"FILE SAVED";:FORW=1TO500:NEXTW:GOTO15
200 PRINT:INPUT" Input DO filename (SRC:, No Ext)";V$
210 OPENV$FORINPUTAS1
220 INPUT#1,B$
230 H$="BCDEF":R=LEN(B$)
240 X=1:GOSUB320:LD=A*16+B:X=3:GOSUB320:LD=((A*16+B)*256)+LD:IFLD<HIMEMTHEN350ELSEPRINT"START ";LD
250 X=5:GOSUB320:LN=A*16+B:X=7:GOSUB320:LN=((A*16+B)*256)+LN:PRINT"LENGHT ";LN
260 X=9:GOSUB320:ST=A*16+B:X=11:GOSUB320:ST=((A*16+B)*256)+ST:PRINT"ENTRY ";ST
270 F$="":PRINT"To Abort <ENT>, or ":INPUT"Create CO Filename (No Ext)";F$:IFF$=""THEN10
280 Z=LD:FORX=13TORSTEP2:GOSUB320:POKEZ,A*16+B:Z=Z+1:NEXTX
290 INPUT#1,B$:PRINT"*";:R=LEN(B$):FORX=1TORSTEP2:GOSUB320:POKEZ,A*16+B:Z=Z+1:NEXTX
300 IFEOF(1)THEN310ELSE290
310 PRINT:PRINTTAB(4);"FILE CREATED OK IF NO ERROR SHOWING":SAVEMF$,LD,LD+LN-1,ST:END
320 IFMID$(B$,X,1)>"9"THENA=10+INSTR(H$,MID$(B$,X,1))ELSEA=VAL(MID$(B$,X,1))
330 IFMID$(B$,X+1,1)>"9"THENB=10+INSTR(H$,MID$(B$,X+1,1)):RETURNELSEB=VAL(MID$(B$,X+1,1)):RETURN
340 PRINTTAB(14);"ERROR #";ERR;:FORZZ=0TO500:NEXT:CLOSE:RESUME 10
350 PRINT"START ADDRESS IS ";LD:PRINT"HIMEM IS SET TO ";HIMEM:PRINT"SET HIMEM, AND TRY AGAIN":CLOSE:END