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 PERSONAL) 60 : 70 REM CUTOUTS STORED IN A FILE 80 REM CONTAINING FOUR INFORMATION 90 REM BYTES FOLLOWED BY PICTURE 100 REM DATA 110 REM FIRST TWO BYTES=X-SIZE IN BBC 120 REM SCREEN MODE SCALE (LOW BYTE FIRST) 130 REM SECOND TWO BYTES=Y-SIZE OF THE CUTOUT 135 MODE0 140 : 150 PRINT"Cutout filename. Return for C.Arbeit "; 160 INPUT CUTOUT$:IF CUTOUT$="" CUTOUT$="C.Arbeit" 170 PRINT"X character position (0-79 from left) "; 180 INPUT XPOS% 190 PRINT"Y pixel position (0-255 from top) "; 200 INPUT YPOS% 210 *TV0,1 220 MODE0:VDU19,0,7,0,0,0:VDU19,1,0,0,0,0 230 CUTOUT%=OPENIN(CUTOUT$) 240 ADDRESS_OFFSET%=&3000+8*XPOS%+(YPOS% DIV 8)*&280+(YPOS% MOD 8) 250 XSIZE%=(BGET#CUTOUT%+256*BGET #CUTOUT%)/16 260 YSIZE%=(BGET#CUTOUT%+256*BGET #CUTOUT%)/4 270 FOR X%=1 TO XSIZE% 280 ADDRESS%=ADDRESS_OFFSET%+8*(X%-1) 290 FOR Y%=1 TO YSIZE% 300 ?ADDRESS%=BGET#CUTOUT% 310 ADDRESS%=ADDRESS%+1 320 IF ADDRESS% MOD 8=0 THEN ADDRESS%=ADDRESS%+&278 330 NEXT Y% 340 NEXT X% 350 CLOSE #CUTOUT% 360 END