100 REM *****************************
110 REM BLITTER-OBJECTS-(BOBS)-DEMO
120 REM
130 REM P. FINZEL 1986
140 REM *****************************
150 REM
200 DIM GR$(300),HG$(300)
210 GGET=1536:GPUT=1539
220 GRAPHICS 2+16
230 POSITION 2,4:PRINT #6;"SOFT-BLITTER DEMO"
240 POSITION 1,6:PRINT #6;"EINEN MOMENT BITTE"
250 GOSUB 30000
300 REM * Zeichne Flugzeug
305 GRAPHICS 8:COLOR 1
310 PLOT 55,20:DRAWTO 63,0:POSITION 47,12:GOSUB 700
320 DRAWTO 15,12:POSITION 0,20:GOSUB 700
330 PLOT 43,30:DRAWTO 38,20:PLOT 25,20:POSITION 35,30:GOSUB 700
335 REM * Bild in String
340 X=USR(GGET,0,0,8,30,ADR(GR$))
390 REM * viele Flugzeuge...
400 GRAPHICS 8+16: SETCOLOR 2,1,0
410 FOR X=0 TO 32 STEP 8
420 FOR Y=0 TO 140 STEP 35
430 A=USR(GPUT,X,Y,0,ADR(GR$))
440 NEXT Y:NEXT X
450 FOR Y=0 TO 140 STEP 35
460 FOR X=0 TO 32 STEP 8:SOUND 0,Y,10,10
470 A=USR(GPUT,X,Y,64,ADR(GR$))
480 SOUND 0,0,0,0:FOR I=0 TO 7:GOSUB 800:NEXT I
490 NEXT X:NEXT Y
500 REM * BEWEGUNG
510 M=69:GOSUB 900:SOUND 0,15,0,10
515 Y=100:FOR X=32 TO 0 STEP -1:Y=Y-2
520 A=USR(GGET,X,Y,X+7,Y+30,ADR (HG$))
530 A=USR(GPUT,X,Y,0,ADR(GR$))
540 FOR I=0 TO 4:GOSUB 800:NEXT I
560 A=USR(GPUT,X,Y,128,ADR(HG$))
570 NEXT X:SOUND 0,0,0,0
590 GOTO 400
700 REM * XIO-FILLROUTINE
710 POKE 765,1:XIO 18,#6,0,0,"S:"
790 RETURN
800 REM * 1/50 SEC. WARTEN
810 T=PEEK(20)
820 IF PEEK(20)=T THEN 820
830 RETURN
900 REM * BILD AUFBAUEN
910 GRAPHICS 8:SETCOLOR 2,8,0
920 FOR I=0 TO 319 STEP 31:PLOT 159,M:DRAWTO I,M+90:NEXT I
930 I=0
940 Q=I*I+M:IF Q<=159 THEN PLOT 0,Q:DRAWTO 319,Q:I=I+1:GOTO 940
990 RETURN
30000 REM * Soft-Blitter einrichten
30010 S=0:RESTORE 30100
30020 FOR A=1536 TO 1785:READ D:POKE A,D:S=S+D:NEXT A
30030 IF S<>34981 THEN ? "DATEN-FEHLER!":STOP
30090 RETURN
30100 DATA 76,6,6,76,98,6,216,104,104,104,133,218,104,104,133,217
30110 DATA 104,104,133,220,104,104,133,219,104,133,215,104,133,214
30120 DATA 56,165,220,229,218,176,1,96,133,221,230,221,56,165,219
30130 DATA 229,217,176,1,96,24,105,1,133,219,32,239,6,165,221,32,239
30140 DATA 6,32,175,6,164,218,165,221,133,216,177,212,32,239,6,200
30150 DATA 198,216,208,246,24,165,212,105,40,133,212,144,2,230,213
30160 DATA 198,219,208,225,96,216,104,104,104,133,218,104,104,133
30170 DATA 217,104,104,133,222,104,133,215,104,133,214,32,228,6,133
30180 DATA 219,32,228,6,133,221,32,175,6,165,221,133,216,164,218,32
30190 DATA 228,6,36,222,48,8,112,4,17,212,80,2,81,212,145,212,200
30200 DATA 198,216,208,234,24,165,212,105,40,133,212,144,2,230,213
30210 DATA 198,219,208,213,96,165,217,133,212,169,0,133,213,6,212
30220 DATA 38,213,6,212,38,213,24,165,212,101,217,133,212,144,2,230
30230 DATA 213,6,212,38,213,6,212,38,213,6,212,38,213,24,165,212,101
30240 DATA 88,133,212,165,213,101,89,133,213,96,162,0,161,214,230
30250 DATA 214,208,2,230,215,96,162,0,129,214,230,214,208,2,230,215,96