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

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