home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / hex2ca.ba < prev    next >
Text File  |  2006-10-19  |  2KB  |  42 lines

  1. 10 REM HEX2CA by Mark Lutton (1/31/87)
  2. 20 PRINT "HEX2CA v1.0, 1/31/87, Mark Lutton"
  3. 21 PRINT "This program converts a LUCID file from  .DO format (as converted by CHANGE) to  .CA format.":PRINT
  4. 30 GOSUB 370
  5. 100 FILES:LINEINPUT"File to convert:";F$:IFF$=""THEN100
  6. 110 IFINSTR(F$,":")=0ANDINSTR(F$,".")=0THENF$=F$+".DO"
  7. 115 FORI=1TO6:L=ASC(MID$(F$,I,1)):IFL>96ANDL<123THENMID$(F$,I,1)=CHR$(L-32)
  8. 116 NEXT
  9. 120 GOSUB 330:GOSUB 380
  10. 130 PRINT"Working..."
  11. 140 Z9=HIMEM-Z2:CLEAR 256,Z9
  12. 150 GOSUB370:GOSUB390:GOSUB330:Z9=HIMEM:ZC=Z4+Z5+Z6:Z4=Z9:Z5=Z4+Z2-1
  13. 155 N=0:FOR Z=Z4TOZ5
  14. 160 A$=INPUT$(1,1):I=INSTR(H$,A$)-1:IFI<0THEN160
  15. 170 N=NOTN:IFNTHENA=I:GOTO160ELSEA=16*A+I:POKEZ,A:ZC=ZC+A:NEXT
  16. 180 LINEINPUT#1,A$:INPUT#1,Z:IFZ<>ZCTHENGOSUB 500:PRINT"Checksum is wrong; can't convert file.":Z9=HIMEM+Z2:CLEAR256,Z9:END
  17. 190 CLOSE:GOSUB 420:A$="run 195":GOSUB410:SAVEMB$,Z4,Z5,63012:GOSUB 410
  18. 195 GOSUB370:GOSUB390:GOSUB330
  19. 196 Z9=HIMEM+Z2:CLEAR256,Z9
  20. 197 GOSUB370:GOSUB390:GOSUB330:GOSUB420
  21. 200 I=-1694:G=INSTR(B$,"."):G$=LEFT$(B$,G-1)+"      "
  22. 210 IF PEEK(I)<>160THEN300
  23. 220 K=I+3:J=0
  24. 230 IFPEEK(K+J)<>ASC(MID$(G$,J+1,1))THEN300
  25. 240 J=J+1:IFJ<6THEN230
  26. 250 POKEI+9,67:POKEI+10,65:Z=PEEK(I+2)*256+PEEK(I+1)
  27. 260 POKEZ,255:POKEZ+1,255
  28. 295 BEEP:LINEINPUT"Kill input file?";A$:IFA$="Y"ORA$="y"THENKILLF$
  29. 297 PRINT"Done.":END
  30. 300 I=I+11:IF I<-1397THEN210ELSEPRINT"Error converting file":END
  31. 330 OPENF$FORINPUTAS1:INPUT#1,Z4,Z5,Z6:Z2=Z5+1-Z4:RETURN
  32. 370 DEFINT A-Y:H$="0123456789ABCDEF":RETURN
  33. 380 F$=F$+CHR$(0):FORJ=1TOLEN(F$):POKEJ-185,ASC(MID$(F$,J)):NEXT:RETURN
  34. 390 F$="":J=-184
  35. 391 A=PEEK(J):IFA=0THENRETURNELSEF$=F$+CHR$(A):J=J+1:GOTO391
  36. 400 Z9=HIMEM+Z2:CLEAR 256,Z9:RETURN
  37. 410 A$=A$+CHR$(13):FORI=1TOLEN(A$):POKE2*I-87,ASC(MID$(A$,I)):POKE2*I-86,0:NEXT:POKE-86,I-1:RETURN
  38. 420 B=INSTR(F$,":"):B$=MID$(F$,B+1)
  39. 421 B=INSTR(B$,"."):IF B=0THENB$=B$+".CO"
  40. 422 RETURN
  41. 500 SOUND9394,8:RETURN
  42.