ALIEN ATTACK

You await your doom inside the crippled space station.

The aliens will be attacking in clusters.

There are eight different ways that they can get in.

When they do come, the station's force shields will protect you from at least three blasts on each side.

Then, if you're lucky, you will figure out how to operate the malfunctioning laser cannon and fight back.

There are several controls that could do it - your joystick and some keys.

Try T, Y, U, G, J, B, N and M.

Maybe by destroying enough attackers you will be able to recharge your shield and save the space station and your life.

Note: Try pressing H, C and other keys after the game

SCREENSHOTS

Instructions 1:

Instructions 2:

Playing:

SOURCE

A type-in BASIC program by Peter Lear converted for Tandy Color Computers with 16K RAM and Extended Color BASIC by Scott McCann, published in TRS-80 Colour Computer Space Adventures.

Please note - this played through without crashing but there may still be typoes in this code.

10 'ALIEN ATTACK': BY PETER LEAR ADAPTED FOR 16K TRS-80 EXTENDED COLOR COMPUTER BY SCOTT MCCANN
20 DIMA(5,5),B(9,9),C(10,10),M(8),D(9,9)
30 CLS:PRINT@10, "ALIEN ATTACK"
40 PLAY"T12DEFDEFP5DEFP5DEFGGP2DEFFEEFFGFDFGEDT255T255"
50 PRINT:PRINT" - SHIELDS REPLACED WHEN        INDICATOR REACHES TOP.":PRINT
60 INPUT"SHOTS FACTOR (1-9)";JJ:IF JJ>9 ORJJ<1THEN60
70 RESTORE
80 XX=0:YY=0:X=0:Y=0
90 FOR J=1TO8:READU(J),V(J):NEXT
100 FOR I=1 TO 8:READN(I):NEXT
110 A$="qTYUJMNBG"
120 INPUT"(1) JOYSTICKS OR (2) KEYS";A:IF A<>1ANDA<>2THEN120 ELSECLS
130 IF A=2 THEN PRINT@0,"TO MOVE USE:":PRINT"   TYU":PRINT"   G J":PRINT"   BNM":IF INKEY$=""THEN130
140 CLS:PRINT@233,"GOOD LUCK";
150 SC=0:CS=0:POKE65494,0:FORW=1TO8:M(W)=0:NEXT
160 PMODE 4,1:PCLS
170 DRAW"S4BM12,10":GOSUB180:GOTO190
180 DRAW"G2R4H2D2G2E2F2":GET(10,10)-(15,15),A,G:RETURN
190 DRAW"BM40,40NF9BD5NR9BD4NE9BR4NU9BR4NH9":LINE(42,42)-(47,47),PSET,BF:GET(40,40)-(49,49),D,G
200 DRAW"BM21,20R3F1L4D1R4D1L4F1R3":GET(21,20)-(26,25),B,G
210 DRAW"BM43,40ND10R1ND10BR2ND10R1D10":GET(40,40)-(50,50),C,G
220 PCLS:GOSUB780
230 DRAW"BM4,36S4NR5D120R5U120BR2NR7NE2F2"
240 SCREEN1,1:IFA=1THEN300
250 FORDD=1TOJJ:I=INSTR(A$,INKEY$)
260 IF I>1 THEN I=I-1:GOSUB 430
270 NEXT
280 GOSUB 560
290 GOTO250
300 FORDD=1TOJJ:A=JOYSTK(0):B=JOYSTK(1)
310 IF A<21ANDB<21 THEN I=1
320 IF A>20ANDA<41ANDB<21THENI=2
330 IFA>41ANDB<21THENI=3
340 IFA>40ANDB>21ANDB<41THENI=4
350 IFA>40ANDB>40THENI=5
360 IFA>20ANDA<41ANDB>40THENI=6
370 IFA<21ANDB>40THENI=7
380 IFA<21ANDB>21ANDB<41THENI=8
390 IF A>20ANDA<41ANDB>20ANDB<41THEN 410
400 GOSUB430
410 NEXT
420 GOSUB560:GOTO300
430 X=U(I)*1.3+128:Y=V(I)*1.3+96:PUT(X-2,Y-2)-(X+3,Y+3),A,PSET:PLAY"O4EDF"
440 XX=128+9.8*U(I):YY=96+9.8*V(I)
450 PUT(XX-2,YY-2)-(XX+2,YY+2),B,PSET:LINE(XX-2,YY-2)-(XX+2,YY+2),PRESET,BF
460 XX=XX+U(I):YY=YY+V(I):IFXX<42ORXX>220ORYY<5ORYY>182 THEN 520
470 IF PPOINT(XX,YY)=5 THEN490
480 GOTO 450
490 IF I/2=INT(I/2) THENS=75 ELSES=50
500 SC=SC+S:CS=CS+S:M(I)=0:IF SC>1199 THENGOSUB780:SC=0:LINE(6,156)-(7,37),PRESET,BF:PLAY"O2DO4DO2DO4DO3DFO1DFEGO4DEFGO2DEFFGO1DFFGCCA"
510 PLAY"O1FDE"
520 LINE(X-2,Y-2)-(X+2,Y+2),PRESET,BF
530 X=U(I)*17+128:Y=V(I)*17+96:LINE(X-5,Y-5)-(X+4,Y+4),PRESET,BF
540 LINE(6,156)-(7,156-INT(SC/10)),PSET,BF
550 RETURN
560 FORDD=3TOJJ/3 STEP-1:J=RND(8)
570 IF M(J)=2 THEN GOSUB 630
580 IF M(J)=1 THEN M(J)=2:GOSUB620
590 IF M(J)=0 THEN M(J)=1
600 NEXT
610 RETURN
620 X=U(J)*17+128:Y=V(J)*17+96:PUT(X-5,Y-5)-(X+4,Y+4),D,PSET:RETURN
630 XX=U(J)*14+128:YY=V(J)*14+96
640 I=N(J)
650 LINE(XX,YY)-(XX+U(I)/5,YY+V(I)/5),PSET:LINE(XX,YY)-(XX+U(I)/5,YY+V(I)/5),PRESET
660 IF H THEN H=0:LINE(XX-6,YY-6)-(XX+6,YY+6),PSET,BF:LINE(XX-6,YY-6)-(XX+6,YY+6),PRESET,BF:PLAY"O1FF":RETURN
670 IF XX=128ANDYY=96THEN700
680 XX=XX+U(I)*2:YY=YY+V(I)*2:IFPPOINT(XX,YY)ORPPOINT(XX+U(I),YY+V(I))THEN H=1
690 GOTO650
700 FORW=1TO44:SCREEN1,RND(2)-1:NEXT:SCREEN1,1
710 FORW=1TO18:PLAY"V"+STR$(W+12)+"O1C":CIRCLE(128,96),W,5:NEXT:FORW=18TO1STEP-1:PLAY"V"+STR$(W+12)+"DC":CIRCLE(128,96),W,0:NEXT
720 DRAW"BM125,93S4":GOSUB180:FORW=1TO100:NEXT:FORW=1TO36STEP4:DRAW"BM125,93;S"+STR$(W):GOSUB180:NEXT
730 PCLS:CLS:FORW=1TO50:NEXT:SCREEN1,0:PRINT@0,"TIME-";INT(TIMER/33):PRINT:PRINT"SCORE-";CS
740 IFCS>S(JJ)THENS(JJ)=CS
750 A$=INKEY$:IFA$="H"THENCLS:PRINT@10,"high scores":PRINT:FORW=1TO9:PRINT"LEVEL"W;TAB((16-LEN(STR$(S(W)))/2));S(W):NEXT:FORW=1TO1000:NEXT:GOTO30
760 IF A$="C" THEN30ELSE IFA$<>"" THEN CLS:GOTO140
770 GOTO750
780 FORW=4TO12STEP4
790 DRAW"BM128,96;S"+STR$(W)+";BU15R5F10D10G10L10H10U10E10R5"
800 NEXT:RETURN
810 DATA -5,-5,0,-5,5,-5,5,0,5,5,0,5,-5,5,-5,0
820 DATA 5,6,7,8,1,2,3,4

SPEEDING UP

Add the following lines at the top to disable BREAK key checking and switch the SAM into high-speed mode:

1 IF PEEK(&H3EB9)<>&H32 THEN CLEAR200,&H3EB0:FOR I=&H82B9 TO &H831E:POKE I-&H4400,PEEK(I):NEXT ELSE 6
2 FORI=0TO2:POKE &H3EBD+I,18:NEXT:I=&H3F1E
3 POKE I,&H26:POKE I+1,3:POKE I+2,&H7E:POKE I+3,&H83:POKE I+4,&H22:POKE I+5,&H7E
4 POKE I+6,&HA4:POKE I+7,&H4C
5 POKE &H019A,&H39:POKE &H019B,&H3E:POKE &H019C,&HB9:POKE &H019A,&H7E
6 POKE 65495,0

And remove the following from line 150 to avoid normal speed in the game:

... :POKE65494,0

RUNNING IN EMULATORS

You can type-in and run the BASIC directly from command line with XRoar:

$ xroar -machine cocous ALIENATT.BAS

You can create a virtual floppy disk to load and run from in MAME:

$ decb dskini ALIENATT.DSK
$ decb copy ALIENATT.BAS ALIENATT.DSK,ALIENATT.BAS -t
$ mame cocoe -ramsize 16K -window -resolution 1920x1080 -skip_gameinfo -flop1 ALIENATT.DSK
RUN"ALIENATT

Requires a cocoe.zip ROM pack in ${HOME}/mame/roms and the Toolshed utilities to build the DECB disk image.

RTS

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies