10 REM > MkCData
   20 REM 12/08/1992 JGH: Convert a file to C data structure
   30 :
   40 A$=FN_OS_GetEnv:in%=0:out%=0
   50 IF A$="":INPUT"Input file: "f1$:INPUT"Output file: "f2$:A$=f1$+" "+f2$
   60 IF LEN A$<2:ERROR 220,"Syntax: MkCData [infile outfile]":END
   70 I%=INSTR(A$," "):f1$=LEFT$(A$,I%):f2$=MID$(A$,I%)
   80 ON ERROR REPORT:PROCClose:PRINT ERL:END
   90 in%=OPENIN(f1$):IF in%=0 PRINT"Can't open ";f1$:END
  100 out%=OPENOUT(f2$):IF out%=0 PRINT"Can't open ";f2$:CLOSE#in%:END
  110 BPUT#out%,ASC"{"
  120 BPUT#out%,ASC" "
  130 x%=0
  140 REPEAT
  150   PRINT;100*PTR#in%DIV EXT#in%;"%";CHR$13;
  160   byte%=BGET#in%
  170   BPUT#out%,ASC"0":BPUT#out%,ASC"x"
  180   BPUT#out%,ASC STR$~(byte%DIV16)
  190   BPUT#out%,ASC STR$~(byte%AND15)
  200   BPUT#out%,ASC",":BPUT#out%,ASC" "
  210   x%=x%+1:IF x%>7 x%=0:BPUT#out%,10:BPUT#out%,ASC" ":BPUT#out%,ASC" "
  220 UNTIL EOF#in%:PRINT
  230 BPUT#out%,ASC"}"
  240 CLOSE#out%
  250 CLOSE#in%
  260 END
  270 :
  280 DEFPROCClose:IF in%:A%=in%:in%=0:CLOSE#A%
  290 IF out%:A%=out%:out%=0:CLOSE#A%
  300 ENDPROC
  310 :
  320 DEFFN_OS_GetEnv:IFHIMEM>&FFFF:IFPAGE<&FFFF:CASEATN"OS_GetEnv"TOA$:=MID$(A$,1+INSTR(A$," ",1+INSTR(A$," ",1+INSTR(A$," ")))) ELSE =""