100 DEFine PROCedure chainsprites (file_in1$,file_in2$,file_out$)
110 REMark ***** chaines two sprites creating a new one
120 REMark ***** Procedure by W. Lenerz
130 LOCal pointer, chan%,total,memory,mem_used,mem_used2
140 chan%=FOP_IN(file_in1$): REMark open first file
150 IF chan%<O:RETurn : REMark oops, can't open it
160 mem_used=flen(#chan%): rem get length of file close#char%
170 mem_used=mem_used+(mem_used && 1) : REMark make even
180 chan%=FOP_IN(file_in2$): REMark open second file
190 IF chan%<O:RETurn : REMark oops, can't open it
200 mem_used2=FLEN(#chan%): REMark length of file
210 CLOSE#chan%
220 mem_used2=mem_used2+(mem_used2 && 1) : REMark make even
230 memory=ALCHP(mem_used+mem_used2) : REMark reserve enough memory for 2 sprites
240 LBYTES file_in1$,memory: REMark load first sprite into it
250 LBYTES file_in2$,memory + mem_used : REMark load second sprite
260 pointer=memory+20: REMark pointer to next sprite goes in here
270 POKE_L pointer,memory+mem_used-pointer : REMark set pointer now
280 SBYTES file_out$,memory,mem_used+mem_used2
290 END DEFine chainsprites