10 REM THIS PROGRAM TAKEN FROM AMX
20 REM EXTRA! EXTRA! MANUAL AND MAY
30 REM BE FREELY DISTRIBUTED OR USED
40 REM IN ANY SOFTWARE FOR ANY
50 REM PURPOSE (COMMERCIAL OR PERSONA
L)
60:
70REM CUTOUTS STORED IN A FILE
80REM CONTAINING FOUR INFORMATION
90REM BYTES FOLLOWED BY PICTURE
100REM DATA
110REM FIRST TWO BYTES=X-SIZE IN BBC
120REM SCREEN MODE SCALE (LOW BYTE FIR
ST)
130REM SECOND TWO BYTES=Y-SIZE OF THE
CUTOUT
135MODE0
140:
150PRINT"Cutout filename. Return for C
.Arbeit ";
160INPUT CUTOUT$:IF CUTOUT$="" CUTOUT$
="C.Arbeit"
170PRINT"X character position (0-79 fr
om left) ";
180INPUT XPOS%
190PRINT"Y pixel position (0-255 from
top) ";
200INPUT YPOS%
210*TV0,1
220MODE0:VDU19,0,7,0,0,0:VDU19,1,0,0,0
,0
230CUTOUT%=OPENIN(CUTOUT$)
240 ADDRESS`OFFSET%=&3000+8*XPOS%+(YPO
S% DIV 8)*&280+(YPOS% MOD 8)
250XSIZE%=(BGET#CUTOUT%+256*BGET #CUTO
UT%)/16
260YSIZE%=(BGET#CUTOUT%+256*BGET #CUTO
UT%)/4
270FOR X%=1 TO XSIZE%
280ADDRESS%=ADDRESS`OFFSET%+8*(X%-1)
290FOR Y%=1 TO YSIZE%
300?ADDRESS%=BGET#CUTOUT%
310ADDRESS%=ADDRESS%+1
320IF ADDRESS% MOD 8=0 THEN ADDRESS%=A
DDRESS%+&278
330NEXT Y%
340NEXT X%
350CLOSE #CUTOUT%
360END