7m…ôcUë\cd}You can read a file into a buffer like: fsize&=GetFileSize&:(file$) REM GetFileSize is in sysram1.opx or systinfo.opx, not sure pBuffAddr&=ALLOC(fsize&) REM alloc a buffer to hold the file ret%=IOOPEN(FileHandle%,file$,0) IF ret%<0 RETURN ret% REM if something goes wrong ENDIF REM read your file into buffer ret%=IOREAD(FileHandle%,pBuffAddr&,fsize&) IF ret%<0 IOCLOSE(FileHandle%) RETURN ret% REM if something goes wrong ENDIF IOCLOSE(FileHandle%)Now you may be able to use the code I listed before, except that youhave to change the size long: len&=fsize& REM Instead of len&=LEN(data$)and write the buffer like: IOWRITE(id%,pBuffAddr&,len&) REM instead of IOWRITE(id%,ADDR(data$)+1,len&)And remember to free the buffer when you have finished: FREEALLOC(pBuffAddr&)I can't remember if you have to change the footer, but it is worthtrying out this code first.RogerÐР   \cEefd\cMefdý‚.ÆA…*TextEd.app…U‰Ü