10 REM DOUBLE SURROUND
20 C=3:D=3:MODE 1:BORDER 14
30 GOSUB 560
40 SYMBOL 250,&3C,&3C,&D7,&EB,&D7,&EB,&3C,&3C
50 REM NEW WAVE START
60 X1=5:Y1=12
70 X2=35:Y2=12
80 A1=1:B1=0
90 A2=-1:B2=0
100 MODE 1
110 SOUND 1,0,4,10,0,0,15
120 IF INKEY(67)=0 THEN A1=0:B1=-1
130 IF INKEY(69)=0 THEN A1=0:B1=1
140 IF INKEY(71)=0 THEN A1=-1:B1=0
150 IF INKEY(63)=0 THEN A1=1:B1=0
160 LOCATE X1,Y1:PEN 3:PRINT CHR$(250);
170 X1=X1+A1:Y1=Y1+B1
180 XX=X1:YY=Y1
190 GOSUB 680
200 IF DD<>32 THEN GOTO 330
210 LOCATE X1,Y1:PEN 1:PRINT CHR$(250);
220 IF INKEY(39)=0 THEN A2=-1:B2=0
230 IF INKEY(31)=0 THEN A2=1:B2=0
240 IF INKEY(30)=0 THEN A2=0:B2=1
250 IF INKEY(28)=0 THEN A2=0:B2=-1
260 LOCATE X2,Y2:PEN 3:PRINT CHR$(250);
270 X2=X2+A2:Y2=Y2+B2
280 XX=X2:YY=Y2
290 GOSUB 680
300 IF DD<>32 THEN GOTO 360
310 LOCATE X2,Y2:PEN 2:PRINT CHR$(250);
320 GOTO 110
330 REM PLAYER ONE CRASHED
340 C=C-1
350 D=D+1
360 REM PLAYER TWO CRASHED 
370 D=D-1
380 FOR L=10 TO 500 STEP 35
390 SOUND 1,L,30:SOUND 2,L+20,28
400 FOR Q=1 TO 20
410 INK 3,INT(RND(1)*15+5)
420 NEXT Q
430 NEXT L
440 INK 3,9
450 IF SQ(1)<>4 THEN GOTO 450
460 IF C*D<>0 THEN GOTO 50
470 REM SOMEONE HAS WON
480 LOCATE 8,12
490 PEN 1
500 PRINT "   PLAYER ";
510 IF C=0 THEN PRINT "TWO "; ELSE PRINT "ONE ";
520 PRINT "WINS BY ";ABS(D-C);"                          ";
530 IF INKEY$<>"" THEN GOTO 530
540 IF INKEY$="" THEN GOTO 540
550 RUN
560 REM PUT MACHINE CODE INTO RAM
570 MEMORY &997F
580 MC=&A980
590 TA=&A9FF
600 POKE MC,&CD
610 POKE MC+1,&60
620 POKE MC+2,&BB
630 POKE MC+3,&32
640 POKE MC+4,&FF
650 POKE MC+5,&A9
660 POKE MC+6,&C9
670 RETURN
680 REM READ CHARACTER FROM SCREEN
690 IF XX<1 OR XX>40 OR YY<1 OR YY>25 THEN DD=-1:GOTO 730
700 LOCATE XX,YY
710 CALL MC
720 DD=PEEK(TA)
730 RETURN