Classic Computer Magazine Archive COMPUTE! ISSUE 64 / SEPTEMBER 1985 / PAGE 50

THE
LAST
WARRIOR

Warrior

David Engebretsen

This arcade-style action game was originally written for the IBM PC (with BASICA and color/graphics adapter) and PCjr (with Cartridge BASIC). We've added adaptations for the Commodore 64; Atari 400/800/ XL/XE series (with at least 16K RAM for tape or 24K RAM for disk); and Apple II series. A joystick is required for all versions except the Apple. The Commodore 64 and Atari programs are written completely in machine language.

"Attacked by countless alien ships . . . "

    You're the last member of the scouting party sent from Earth. While flying a routine mission, you and your fellow scouts were suddenly attacked by countless alien ships. Your comrades put up a good fight but couldn't survive in the face of the aliens' nonstop shooting. Now the only things between you and utter destruction are your highly advanced force shields and lasers. The aliens may not be as well armed, but they make up for it in sheer numbers. As you blast yet another hostile ship, it is immediately replaced, and your energy supply dwindles....
    "The Last Warrior," as you've guessed, is a space shoot-em-up game. The classic object is to destroy as many aliens as possible before they destroy you. Your performance is graded at the end of the game by the number of points you score and by rank: captain, major, colonel, general, or warrior. Scoring and a few other details vary from version to version, but all the programs have one thing in common - the highest ranks are attainable only by the very best players.

IBM Version
After typing the program and saving at least one copy on disk, plug in a joystick and type RUN. Your starfighter appears on the screen, and the program asks you to move the stick to the upper-left corner and press the fire button. Next you're asked to move the stick to the lower-right corner and press the button again. This calibrates the program with your joystick, since different sticks tend to yield different values. (You may also prefer to flip the switches on the bottom of the controller to free the stick from its self-centering mode.)
    When the game begins, you find yourself looking out of the front cockpit window at a star field. Below the window is an instrument panel, and an aiming sight floats somewhere on the screen. By maneuvering the sight with the joystick, you can aim your lasers at the alien ships which suddenly appear in view. Press the joystick button to fire shots as the aliens make their passes. With any luck, you'll witness a brilliant explosion as the alien attacker is reduced to stardust. But more aliens soon appear to take his place (up to three at a time), and the battle continues.
    Don't fire your lasers indiscriminately, because each shot burns up energy, as indicated by the lower horizontal bar on the instrument panel. This bar shortens toward the left side of the screen as your energy decreases. Alien hits on your force shields also sap energy. The upper horizontal bar on the instrument panel shows the relative number of points you've scored. When this bar goes off the scale toward the right, you advance one rank and the bar starts again at the left. Your rank is constantly displayed on the panel and starts at captain.
    The game ends when your ship runs out of energy. Your final rank and score appear on the screen-a higher rank with few points is considered better than a lower rank with many points. Press the joystick button to start another game.
    The IBM version of The Last Warrior is written entirely in BASIC and animates the aiming sight and alien ships with the PUT statement. To reduce flickering, one set of variables stores the existing positions of the images while another set holds the new positions. That way, when the program erases an existing image, it can draw the new one immediately without pausing to update the variables. As a result, flickering is hardly noticeable, especially when the program runs on the PC (which is faster than the PCjr).

64 Version
Written entirely in machine language, the 64 version of The Last Warrior must be typed with the "MLX" machine language entry utility found elsewhere in this issue. MLX makes it much easier to enter machine language programs without typos. Be sure you read and understand the instructions for using MLX before entering the data from Program 2.
    When you run MLX, you'll be asked for the starting and ending addresses of the program to be entered. For The Last Warrior, the values are:

STARTING ADDRESS?    49152
ENDING ADDRESS?      51811

If you enter the data from Program 2 in more than one sitting, be sure to use these same values whenever you reload your partially completed work.
    After you've finished entering the data and saved at least one copy of the game on disk or tape, load it by typing LOAD"filename",8,1 for disk or LOAD"filename",1,1 for tape (replace filename with whatever name you used for your final version). Next type SYS 49152 and press RETURN. Then plug a joystick into port 2 and push the joystick up to start.
    The screen shows the front view from the cockpit with alien ships appearing in the distance against the star field. As the aliens get closer, their ships seem to grow larger. Up to five of them can attack you at once. Move the joystick to aim the floating crosshair and press the button to fire your lasers. Each hit scores 100 points.
    The instrument panel at the bottom of the screen shows the level of your ship's shield energy, the number of points you've scored, and a special targeting scope. When the game begins, the energy indicator is set at 5,000 units. Each laser shot you fire depletes the shield energy by 20 units. Alien hits cost 100 units of shield energy. When the energy indicator drops to zero, your shields collapse, leaving you completely vulnerable. The next alien hit will destroy your ship and end the game. At this point, you might as well shoot like crazy, since you're out of shield energy anyway.
    To help you hit distant ships, the targeting scope on the instrument panel alerts you when your aiming sight has locked onto an alien. If you press the fire button at this instant, you're guaranteed a direct hit.
    When the game ends, the program displays your final score and rank, then waits for you to push the joystick up to start another game. During a game, you can freeze the action by pressing any key, and continue playing by pressing another key.
    The 64 version of The Last Warrior uses the multicolor highresolution graphics screen and all eight sprites for the aiming crosshair, explosion effects, targeting scope image, and maximum of five alien vessels.

Atari Version
Like the 64 version, the Atari adaptation of The Last Warrior is written entirely in machine language and must be typed with the MLX entry utility found elsewhere in this issue. MLX greatly reduces the chances of typos when entering long machine language programs. Be sure you read the instructions and understand how to use Atari MLX before entering data from Program 3.
    When you run the MLX program, you'll be asked for starting, ending, and run/init addresses. For The Last Warrior, the proper values are:

STARTING ADDRESS?    8192
ENDING ADDRESS?      10249
RUN/INIT ADDRESS?    8192

If you enter the data from Program 3 in more than one sitting, be sure to use these same values whenever you reload your partially completed work. You'll then be asked whether you wish to create a boot tape, a boot disk, or a disk binary file. For The Last Warrior, you can choose any of these three. However, you should avoid the binary file option if you are not familiar with the procedure for loading and executing such files.
    After you finish entering the data from Program 3, and you've saved at least one copy of The Last Warrior on disk or tape, start the program by loading the boot disk or boot tape or running the binary file created with MLX. For a boot disk, simply insert the disk in the drive and switch on the computer after removing the BASIC cartridge (on a 600XL, 800XL, or XE-series computer, hold down the OPTION button while turning on the machine). To run a boot tape, switch on the computer while holding down the START button (again, remove the BASIC cartridge with a 400, 800, or 1200XL, or simultaneously hold down START and OPTION with a 600XL, 800XL, or XE). Then press the PLAY button on the cassette recorder and hit RETURN. If you used MLX to save the program as a binary disk file, load it with the binary load option in DOS and run at hex address 2000 (decimal 8192).
    Plug a joystick into port 1 and press the fire button to start. The screen shows the front view from your ship's cockpit window. Alien vessels first appear as distant dots against the star field, then grow larger as they approach. Their weapons are limited, so they can start shooting at you only at pointblank range. But you can shoot them at any point during their attack. For every alien ship you destroy, you score 100 points; for each hit they make on your energy shield, you lose 100 points of shield energy. You begin the game with 5,000 units of energy, and every shot you fire uses 20 units. (All of this information is indicated on the screen's instrument panel.) You can pause and then continue a game in progress by pressing any key.
    All the animation in the Atari version of The Last Warrior is driven by a vertical blank interrupt routine - objects are moved during the split-second interval when the TV's electron beam returns from the lower-right corner of the screen to the upper-left corner to scan another frame. Player/missile graphics are used for the crosshair and alien ships, so no more than three aliens can appear at once. Alien ships actually consist of six separate images which are flipped in succession to create the illusion of an approaching object. The program employs a custom display list to put GRAPHICS 7 at the top of the screen and GRAPHICS 1 at the bottom. The ship's cockpit window is not plotted with the Atari's built-in line-drawing routines, but rather with custom-designed routines which are faster and do not destroy the screen background. Otherwise, laser shots would gradually erase the lines representing the cockpit window.

Apple Version
Like the IBM program, the Apple adaptation of The Last Warrior is written in BASIC. However, it does use the HROUT machine language character-plotting routine from "Apple SuperFont" (COMPUTE!, April 1985). All of the alien ships are custom characters created with SuperFont and plotted onto the hi-res graphics screen. The aiming crosshair is drawn with shape tables.
    The keyboard controls are programmed in the efficient upsidedown T arrangement: I for up, K for down, J for left, and L for right. This is more convenient than the usual IJ-K-M diamond, because you can rest your first three fingers on J-K-L and quickly move your middle finger up and down between I and K.
    To fire a laser shot, press the space bar. Press P to pause a game, and press it again to continue.
    An instrument panel at the bottom of the cockpit window displays all the important information: points scored (100 for each alien ship you destroy), units of shield energy remaining (the game begins with 5,000), and your current rank. Enemy hits reduce shield energy by 100 units, and your own laser shots cost 20 units each.

IBM version
An alien ship explodes near the cockpit
window while another zooms in for
attack in the IBM version of "The Last
Warrior."

Program 1: The Last  Warrior, IBM Version

For instructions on entering this listing, please  refer to "COMPUTE's Guide to Typing In  Programs" published bimonthly in COMPUTE!.

HB 20 SCREEN 1:COLOR 0,0:CLS:KEY
       OFF:RANDOMIZE TIMER:PLAY"
      mb":STRIS ON
CL 30 DIM SIGHT%(20),SHIP%(50),I
      NFI%(404),HA%(50),HB%(60),
      HC%(105),INVER%(100)
FE 40 REM ** get the images
JJ 50 CIRCLE(5,5),3,,,,1:LINE(3,
      3)-(4,4):LINE(7,3)-(6,4):L
      INE(7,7)-(6,6):LINE(3,7)-(
      4,6):SET(2,2)-(8,8),SIGHT%
      :CLS
NJ 60 CIRCLE(10,10),10,2:PAINT(1
      0,10),2,2:SET(0,0)-(20,20)
      ,INFI%:CLS
JA 70 LINE(0,0)-(60,B),3,BF:GET(
      0,0)-(60,8),INVER%:CLS
HL 80 FOR LOOP=0 TO 50-READ SHIP
      %(LOOP):NEXT
ID 90 FOR LOOP=0 TO 50:READ HA%(
      LOOP):NEXT
II 100 FOR LOOP=0 TO 60:READ HB%
       (LOOP):NEXT
NK 110 FOR LOOP=0 TO 105:READ HC
       %(LOOP):NEXT
LI 120 REM ** set up the screen
OL 130 GOSUB 880
BL 140 SN=1:SX(1)=l60:SY(l)=50:S
       XA(1)=SX(l):SYA(1)=SY(1):
       DLA=l:RANK =O:ENE=139:SCO
       =0
F8 150 GOSUB 1370
JP 160 SN=l:SX(l)=l60:SY(l)=50:S
       XA(1)=SX(1):SYA(1)=SY(1):
       DLA=1
IN 170 PUT(127,167),INVER%,PRESE
       T:LOCATE 22,17:PRINT"Capt
       ain":PUT(127,167),INVER%
IC 180 XA=0:YA=0:PUT(XA,YA),SIGH
       T%:PUT(SX(1),SY(1)),SHIP%
HN 190 REM ** main program loop
KA 200 GOSUB 290
KP 210 GOSUB 560
PP 220 IF STRIG(0)=-1 THEN GOSUB
       380:V=STRIG(0)
HE 230 IF RND(1)<.2 THEN PSET(32
       0*RND(1),110*RND(1)),3*RN
       D(1)+1
KA 240 IF EC>0 THEN GOSUB 1110
CN 250 DLA=DLA+.01:DL=INT(DLA)
BD 260 GOTO 200
NJ 270 END
CJ 280 REM ** JOYSTICK
BF 290 X=STICK(0):Y=STICK(1):X=X
       -JSX1:Y=Y-JSYl:X=X$TFX:Y=
       Y*TFY
FC 300 IF X<0 THEN X=0
NF 310 IF X>313 THEN X=3l3
HP 320 IF Y<0 THEN Y=0
DF 330 IF Y>103 THEN Y=103
DC 340 IF X=0 AND Y=0 THEN X=XA:
       Y=YA
KE 350 PUT(XA,YA),SIBHT%:PUT(X,Y
       ),SIGHT%:XA=X:YA=Y
NJ 360 RETURN
FJ 370 REM ** fire !!
FI 380 PUT(X,Y),SIGHT%
IN 390 FOR P=1 TO SN:PUT(SX(P),S
       Y(P)),SHIP%:NEXT
FN 400 LINE(0,110)-(X+3,Y+3),2:L
       INE(319,110)-(X+3,Y+3),2
NJ 410 LINE(0,110)-(X+3,Y+3),0:L
       INE(319,110)-(X+3,Y+3),0
FJ 420 LINE(0,130)-(80,110):LINE
       -(240,110):LINE-(319,130)
GA 430 LINE(0,60)-(41,50):LINE-(
       280,50):LINE-(319,60)
KA 440 LINE(80,110)-(10,0):LINE(
       240,110)-(310,0)
FO 450 IF SX(LOOP)>290 THEN SX(L
       OOP)=290
IC 460 FOR P=1 TO SN:PUT(SX(P),S
       Y(P)),SHIP%:NEXT
EN 470 PUT(X,Y),SIGHT%
JC 480 PLAY"164 t255 bagfedc <ba
       gfedc>"
NP 490 SNA=SN
QO 500 FOR LOOP=1 TO SNA
PH 510 IF ABS((X+3)-(SX(LOOP)+10
       ))<5 AND ABS((Y+3)-(SY(LO
       OP)+9))<5 THEN EC-EC+l:EX
       (EC)-SX(LOOP):EY(EC)-SY(L
       OOP):DC(EC)=0:SN=SN-1:PUT
       (SX(LOOP),SY(LOOP)),SHIP%
       :FOR L=LOOP TO 3:SX(L)=SX
       (L+1):SY(L)=SY(L+1):SYA(L
       )=SY(L):SXA(L)=SX(L):NEXT
       L:GOSUB 1220
NF 520 NEXT
KK 530 ENE=ENE-1:IF ENE<=0 THEN
       GOSUB 1500 ELSE LINE(91+E
       NE,180)-(91+ENE,184),0
NH 540 RETURN
IP 550 REM ** enemy ships
IA 560 IF RND(1)<.9 THEN GOTO 60
       0
BP 570 IF SN<3 THEN SN-SN+l:SX(S
       N)-INT(290*RND(1)):SY(SN)
       =INT(100*RND(1)):PUT(SX(S
       N),SY(SN)),SHIP%:SXA(SN)=
       SX(SN):SYA(SN)=SY(SN):GOT
       O 600
KH 580 IF SN=0 THEN RETURN
BN 590 IF RND(1)>.5 THEN PUT(SX(
       SN),SY(SN)),SHIP%:SN=SN-1
       :IF SN<0 THEN SN=0
LK 600 FOR LOOP=1 TO SN
KG 610 GOSUB 290
JP 620 IF RND(1)>.95 THEN MX(LOO
       P)=INT(10*RND(1)-5):MY(LO
       OP)=INT(10*RND(1)-5)
HC 630 SX(LOOP)=SX(LOOP)+MX(LOOP
       ):SY(LOOP)=SY(LOOP)+MY(LO
       OP)
IK 640 IF ABS((X+3)-(SX(LOOP)+10
       ))<3 AND ABS((Y+3)-(SY(LO
       OP)+9))<3 THEN MX(LOOP)=-
       MX(LOOP):IF RND(1)<.5 THE
       N MY(LOOP)=-MY(LOOP)
OL 650 IF SX(LOOP)<2 OR SX(LOOP)
       >250 THEN MX(LOOP)=-MX(LO
       OP):SX(LOOP)=SX(LOOP)+MX(
       LOOP)
D6 660 IF SY(LOOP)<2 OR SY(LOOP)
       >85 THEN MY(LOOP)=-MY(LOO
       P):SY(LOOP)=MY(LOOP)+MY(L
       OOP)
CC 670 IF SX(LOOP)<0 THEN SX(LOO
       P)=0
FG 680 IF SX(LOOP)>290 THEN SX(L
       OOP)=290
FI 690 IF SY(LOOP)<0 THEN SY(LOO
       P)=0
PI 700 PUT(SXA(LOOP),SYA(LOOP)),
       SHIP%:PUT(SX(LOOP),SY(LOO
       P)),SHIP%:SXA(LOOP)=SX(LO
       OP):SYA(LOOP)=SY(LOOP)
NF 710 NEXT
CA 720 IF RND(1)<(DL/20)+SN/10-.
       1 AND SN>0 THEN GOSUB 750
NH 730 RETURN
JD 740 REM ** enemy fire
BE 750 SNB=INT(SN*RND(1)+1)
BK 760 HX=INT(300*RND(1)):HY=INT
       (85*RND(1)):PUT(X,Y),SIGH
       T%
IN 770 FOR P=1 TO SN:PUT(SX(P),S
       Y(P)),SHIP%:NEXT
HF 780 PUT(HX,HY),INFI%:LINE(HX+
       10,HY+2)-(SX(SNB)+10,SY(S
       NB)+12),2:LINE-(HX+10,HY+
       18),2
GE 790 COLOR 4:PUT(HX,HY),INFI%:
       LINE(HX+10,HY+2)-(SX(SNB)
       +10,SY(SNB)+12),0:LINE-(H
       X+10,HY+18),0
OD 800 LINE(0,130)-(80,110):LINE
       -(240,110):LINE-(319,130)
       :COLOR 0
GA 810 LINE(0,60)-(41,50):LINE-(
       280,50):LINE-(319,60)
KA 820 LINE(80,110)-(10,0):LINE(
       240,110)-(310,0)
ON 830 FOR TIM=180 TO 20 STEP-4:
       SOUND 255-TIM,.1:NEXT
KP 840 PUT(X,Y),SIGHT%:FOR P=1 T
       O SN:PUT(SX(P),SY(P)),SHI
       P%:NEXT
NO 850 ENE=ENE-4:IF ENE<=0 THEN
       GOSUB 1500 ELSE LINE(91+E
       NE,180)-(229,184),0,BF
NO 860 RETURN
NP 870 REM ** THE SHIP
FL 880 FOR LOOP=1 TO 150:PSET(32
       0*RND(1),130*RND(1)),3*RN
       D(1)+1:NEXT
GL 890 LINE(0,130)-(80,110):LINE
       -(240,110):LINE-(319,130)
GP 900 LINE(0,60)-(41,50):LINE-(
       280,50):LINE-(319,60)
KP 910 LINE(80,110)-(10,0):LINE(
       240,110)-(310,0)
NA 920 LINE(40,199)-(80,190):LIN
       E-(240,190):LINE-(280,199
       )
HC 930 LINE(150,116)-(230,153),0
       ,BF:LINE(149,115)-(231,15
       4),,B
OE 940 PAINT(160,180),3,3
ML 950 LINE(0,131)-(80,111),0:LI
       NE-(240,111),0:LINE-(319,
       131),0:LINE(80,111)-(80,1
       99),0:LINE(240,111)-(240,
       199),0
EN 960 LINE(90,179)-(230,185),0,
       BF:LINE(91,180)-(229,184)
       ,1,BF
DC 970 LINE(90,158)-(230,164),0,
       BF
OI 980 LINE(151,145)-(156,140),1
       :LINE-(170,140),1:LINE-(1
       80,135),1:LINE-(185,131),
       1:LINE-(225,131),1:LINE-(
       220,135),1:LINE-(225,140)
       ,1:LINE-(180,140),1
NN 990 LINE-(165,150),1:LINE-(15
       5,150),1:LINE-(151,145),1
       :LINE-(163,145),1:LINE-(1
       68,140),1
GE 1000 LINE (190,131)-(200,117)
        ,1:LINE-(210,117),1:LINE
        -(210,131),1:LINE(190,13
        5)-(210,135),1:LINE-(220
        ,152),1:LINE-(200,152),1
        :LINE-(190,135),1:LINE(1
        94,140)-(212,140),0
FE 1010 PAINT(155,143),3,1:PAINT
        (170,145),CHR$(&H77)+CHR
        $(&HDD),1:PAINT(210,145)
        ,CHR$(&Hll)+CHR$(&H44),1
        :PAINT(205,120),CHR$(&H6
        6)+CHR$(&H99),1
KH 1020 FOR LOOP=90 TO 140 STEP
        15:CIRCLE(LOOP,150),3,1:
        PAINT(LOOP,150),1,1:NEXT
II 1030 LINE(105,143)-(140,117),
        0,BF:FOR LOOP=105 TO 140
         STEP 3:LINE(LDOP,143)-(
        LOOP,117),3:NEXT
DK 1040 LO=160:FOR LOOP=70 TO 30
        STEP -4:L0=L0+.8:LINE(L
        OOP,LO)-(70,120+(70-LOOP
        )),0:NEXT:LINE(30,LO)-(3
        0,130),0:LINE-(70,120),0
        :PAINT(50,140),CHR$(&H66
        +CHR$(&H99),0
JG 1050 CIRCLE(50,180),5,1:PAINT
        (50,180),1,1:LINE(50,180
        )-(43,175),0:CIRCLE(50,1
        80),10,0
EN 1060 LO=130:FOR LOOPA=1 TO 2:
        FOR LOOP=260 TO 310 STEP
         15:LO=L0+4:CIRCLE(LOOP,
        LO),4,1:PAINT(LOOP,LO),1
        ,1:NEXT LOOP:LO-145:NEXT
        LOOPA
KP 1070 LINE(240,153)-(319,173),
        0
NH 1080 LO=160:FOR LOOPA=1 TO 2:
        FOR LOOP=260 TO 310 STEP
         15:LO=L0+4:LINE(LOOP,LO
        -(LOOP+6,LO+1),1:LINE-(
        LOOP+6,LO+8),1:LINE-(LOO
        P,LO+7),1:LINE-(LOOP,LO)
        ,1:PAINT(LOOP+2,LO+2),1,
        1:NEXT LOOP:LO=175:NEXT
        LOOPA
JG 1090 RETURN
NP 1100 REM ** explosion
NJ 1110 ECA=EC
PB 1120 FOR CO=1 TO EC
QN 1130 IF EX(CO)=0 AND EY(CO)=0
         THEN GOTO 1190
AF 1140 IF DC(CO)=0 THEN PUT(EX(
        CO),EY(CO)),HA%
BN 1150 IF DC(CO)=1 THEN PUT(EX(
        CO),EY(CO)),HA%:PUT(EX(C
        O),EY(CO)),HBY.
JN 1160 IF DC(CO)=2 THEN PUT(EX(
        CO),EY(CO)),HB%:PUT(EX(C
        O),EY(CO)),HC%
CB 1170 DC(CO)=DC(CO)+1
DD 1180 IF DC(CO)=4 THEN PUT(EX(
        CO),EY(CO)),HC%:EC=EC-1:
        FOR LO=CO TO EC+1:DC(LO)
        =DC(LO+I):EX(LO)=EX(LO+1
        ):EY(LO)=EY(LO+1):NEXT L
        O:DC(EC+1)=0:EX(EC+1)=0:
        EY(EC+1) =0
BJ 1190 NEXT
IP 1200 RETURN
AE 1210 REM ** scoring for a hit
L1 1220 ENE=ENE+B:IF ENE>139 THE
        N ENE-139
KE 1230 LINE(90+ENE,180)-(83+ENE
        ,184),1,BF:SCO=SCO+3
EC 1240 IF SCO>=136 THEN GOSUB 1
        280
CD 1250 LINE(89+SCO,159)-(91+SCO
        ,163),l,BF
JB 1260 RETURN
CE 1270 REM ** promotion
NA 1280 LINE(90,158)-(230,164),0
        ,BF:SCO=3:PUT(127,167),I
        NVER%,PRESET
BP 1290 RANK=RANK+l
AC 1300 IF RANK=1 THEN LOCATE 22
        ,19:PRINT"Major"
JC 1310 IF RANK=2 THEN LOCATE 22
        ,17:PRINT"Colonel"
FL 1320 IF RANK=3 THEN LOCATE 22
        ,17:PRINT"General"
NF 1330 IF RANK=>4 THEN LOCATE 2
        2,17:PRINT"Warrior"
CH 1340 PUT(127,167),INVER%
JA 1350 RETURN
BK 1360 REM ** title page
BD 1370 A=STRIG(0)
FA 1380 LOCATE 5,13:PRINT "The L
        ast Warrior"
IE 1390 LOCATE 8,12:PRINT"Move t
        he joystick":LOCATE 9,9:
        PRINT"to the upper-left
        corner ":LOCATE 10,12:PR
        INT"and press button"
CH 1400 IF STRIG(0)=-1 THEN JSX1
        =STICK(0):JSY1=STICK(1):
        A=STRIG(0) ELSE GOTO 140
        0
FJ 1410 FOR WAI=1 TO 800:NEXT WA
        I
NA 1420 LOCATE 9,9:PRINT"to the
        lower-right corner"
IH 1430 IF STRIG(1)=-1 THEN JSX2
        =STICK(0):JSY2=STICK(1)
        ELSE GOTO 1430
HB 1440 IF JSX2<=JSX1 OR JSY2<JS
        Yl THEN GOTO 1390
GJ 1450 LOCATE 8,12:PRINT SPC(18
        ):LOCATE 9,9:PRINT SPC(2
        5):LOCATE 10,12:PRINT SP
        C(18):LOCATE 5,13:PRINT
        SPC(16):DL=1
6C 1460 TFX=ABS(313/(JSXI-JSX2))
        :TFY=ABS(103/(JSY1-JSY2)
        )
BF 1470 A=STRIG(0)
KL 1480 RETURN
PD 1490 REM ** end
EI 1500 LINE(91,1B0)-(229,184),0
        ,BF
OF 1510 LOCATE 5,16:PRINT"Game O
        ver"
DA 1520 IF RAW=0 THEN LOCATE 8,
        14:PRINT"Ranks Captain"
LJ 1530 IF RANK=1 THEN LOCATE 8,
        15:PRINT"Ranks Major"
IJ 1540 IF RANK=2 THEN LOCATE 8,
        14:PRINT"Ranks Colonel"
PN 1550 IF RANK=3 THEN LOCATE 8,
        l4:PRINT"Ranks General"
PF 1560 IF RANK=>4 THEN LOCATE 8
        ,l4:PRINT"Ranks Warrior"
HP 1570 LOCATE 9,16:PRINT"Points
        :";INT(SCO/1.36)
PI 1580 FOR L=1 TO 25
PF 1590 SOUND 250+L*3,.01:SOUND
        215-L*7,.5:SOUND 200,.1
QM 1600 T=INT(50*RND(1)+20):FOR
        LO=1 TO T:NEXT LO
CC 1610 T=INT(5*RND(1)+4):COLOR
        T
DD 1620 NEXT
FN 1630 COLOR 0
NO 1640 IF STRIB(1)=0 THEN 1640
DC 1650 FOR LOOP=1 TO SN:PUT(SX(
        LOOP),SY(LOOP)),SHIP%:NE
        XT:PUT(X,Y),SIGHT%
HJ 1660 LINE(91,180)-(229,184),1
        ,BF
LD 1670 LINE(90,158)-(230,164),0
        ,BF
EE 1680 RETURN 140
JI 1690 END
NI 1700 DATA 42,15,0,20,0,0,20,0
        ,0,20,0,0,20,0,0,20,0,0,
        20,0,0,20,0,0,65,0,256,1
        6404,0,256,16404,0,5376,
        21569,0,21504,5441,0,163
        89,276,80,21,20,84 B;9'09
        5,0,0,0,0
KC 1710 DATA 42,15,0,4096,0,0,20
        480,0,0,16384,0,0,16384,
        0,0,16385,0,0,16389,0,0,
        4240,0,0,8261,0,5376,-28
        582,0,21509,20649,0 1640
        5,5282,0,80,1414,0,0,272
        ,80,0,256,80,0,0,20,0,0,
        0,0
KB 1720 DATA 42,19,0,0,16385,0,0
        ,5,0,0,17,0,0,136,0,256,
        16,0,256,64,0,-23294,0,0
        ,8454,40,6400,-23984,128
        ,21765,-22174,64,16465,2
        2232,0,0,1578,64,0,1696,
        16,0,0,80,0,0,32,0,0,37,
        0,0,7,0,0,5,0,0,1,0 ,0
AB 1730 DATA 60,26,0,0,0,0,0,0,0
        ,0,0,0,-32640,0,0,0,9218
        ,0,0,0,8448,8192,8192,0,
        -23552,-32768,0,0,16386,
        0,0,0,9,0,544,0,24,0,34,
        -32502,96,0,2560,-22903,
        128,0
BJ 1740 DATA -28150,-30552,2,0,5
        716,-23932,8,0,25089,-21
        872,0,0,22786,-26112,0,0
        ,4736,6306,0,0,512,4608,
        0,0,512,2560,10368,8192,
        512,-32256,2048,0,0,2560
        ,0,0,0,512,128,0,128,0,1
        48,8,512,0,160,32,-32768
        ,0,24,0,0,0,32,0,0,2048,
        0,0



Commodore 64 version
Enemy ships are approaching your scout
vessel in the Commodore 64 version of
"The Last Warrior."

Program 2: The Last  Warrior, 64 Version

Version by Kevin Mykytyn, Editorial Programmer
Please refer to the "MLX" article before entering this listing.

49152 :162,000,181,000,157,099,087
49158 :202,202,208,248,076,137,055
49164 :201,169,147,032,210,255,002
49170 :169,000,141,170,002,141,129
49176 :171,002,141,168,002,141,137
49182 :169,002,141,172,002,133,137
49188 :191,160,023,169,000,153,220
49194 :000,212,136,016,248,169,055
49200 :047,141,024,212,169,242,115
49206 :141,023,212,169,240,141,212
49212 :013,212,169,128,141,018,229
49218 :212,169,255,141,015,212,046
49224 :169,026,141,005,212,169,026
49230 :003,141,001,212,032,082,037
49236 :194,032,065,193,173,098,071
49242 :202,208,009,032,098,194,065
49248 :032,161,194,032,010,196,209
49254 :032,206,196,169,001,141,079
49260 :098,202,032,122,194,169,157
49266 :000,133,039,032,237,196,239
49272 :032,065,193,169,000,174,241
49278 :170,002,172,171,002,032,163
49284 :192,200,169,080,166,187,102
49290 :164,188,032,192,200,032,178
49296 :162,195,032,168,195,032,160
49302 :190,192,032,131,199,032,158
49308 :080,200,165,197,201,064,039
49314 :240,215,238,172,002,165,170
49320 :197,201,064,208,250,165,229
49326 :197,201,064,240,250,165,011
49332 :197,201,064,208,250,206,026
49338 :172,002,240,189,173,000,194
49344 :220,074,176,010,174,070,148
49350 :003,224,046,240,003,206,152
49356 :070,003,074,176,010,174,199
49362 :070,003,224,155,240,003,137
49368 :238,070,003,074,176,031,040
49374 :174,080,003,208,007,174,100
49380 :060,003,224,019,240,019,025
49386 :072,173,060,003,056,233,063
49392 :001,141,060,003,173,080,186
49398 :003,233,000,141,080,003,194
49404 :104,074,176,020,174,080,112
49410 :003,240,007,174,060,003,233
49416 :224,070,240,008,238,060,080
49422 :003,208,003,238,080,003,037
49428 :074,176,004,162,001,134,059
49434 :034,096,169,000,133,012,214
49440 :162,006,160,012,189,080,129
49446 :003,074,038,012,189,060,158
49452 :003,153,000,208,189,070,155
49458 :003,153,001,208,136,136,175
49464 :202,016,233,165,012,141,057
49470 :016,208,096,160,041,185,000
49476 :045,198,153,000,008,185,145
49482 :086,198,153,137,008,185,073
49488 :128,198,153,198,008,185,182
49494 :169,198,153,000,009,136,239
49500 :016,229,169,016,141,089,240
49506 :008,169,056,141,092,008,060
49512 :160,050,185,030,200,153,114
49518 :064,009,136,016,247,169,239
49524 :032,141,248,007,169,127,072
49530 :141,021,208,169,100,141,134
49536 :060,003,141,070,003,169,062
49542 :000,141,080,003,133,034,013
49548 :162,007,189,200,193,157,024
49554 :039,208,169,000,157,130,081
49560 :003,202,016,242,169,000,016
49566 :141,027,208,133,013,162,074
49572 :005,032,230,197,202,208,014
49578 :250,169,037,141,254,007,004
49584 :169,136,133,187,169,019,221
49590 :133,188,169,185,141,015,245
49596 :208,169,228,141,014,208,132
49602 :169,036,141,255,007,096,130
49608 :010,003,004,005,006,007,235
49614 :001,072,138,072,152,072,201
49620 :169,000,133,006,133,009,150
49626 :152,072,041,007,133,004,115
49632 :104,074,074,074,133,002,173
49638 :138,072,041,252,010,038,013
49644 :009,133,003,104,041,003,017
49650 :133,008,169,003,056,229,072
49656 :008,168,165,016,192,000,029
49662 :240,005,010,010,136,208,095
49668 :251,133,008,165,002,162,213
49674 :006,010,038,006,202,208,224
49680 :250,133,005,165,006,024,087
49686 :101,002,133,006,165,005,178
49692 :101,003,133,005,165,006,185
49698 :101,009,133,006,165,005,197
49704 :101,004,133,005,144,003,174
49710 :230,006,024,105,000,133,032
49716 :005,165,006,105,032,133,242
49722 :006,160,000,177,005,166,060
49728 :039,240,005,005,008,076,181
49734 :074,194,069,008,145,005,053
49740 :104,168,104,170,104,096,054
49746 :169,059,141,017,208,169,077
49752 :216,141,022,208,169,029,105
49758 :141,024,208,096,169,000,220
49764 :133,005,169,008,133,006,042
49770 :162,056,160,000,152,145,013
49776 :005,136,208,251,230,006,180
49782 :202,208,246,096,169,232,247
49788 :133,005,169,000,133,002,054
49794 :169,003,133,006,169,216,058
49800 :133,003,162,004,160,000,086
49806 :169,199,145,005,169,014,075
49812 :145,002,136,208,245,230,090
49818 :006,230,003,202,208,238,017
49824 :096,162,018,160,000,169,253
49830 :000,133,002,169,032,133,123
49836 :003,173,027,212,201,020,040
49842 :176,007,173,027,212,041,046
49848 :003,208,002,169,000,145,199
49854 :002,136,208,235,230,003,236
49860 :202,208,230,096,133,014,055
49866 :072,138,072,152,072,134,074
49872 :010,134,018,132,011,132,133
49878 :020,169,000,133,017,133,174
49884 :019,165,021,133,015,165,226
49890 :014,197,010,176,016,169,040
49896 :001,141,090,003,165,010,130
49902 :056,239,014,141,110,803,023
49908 :076,004,195,169,000,141,061
49914 :090,003,165,014,056,229,039
49920 :010,141,110,003,165,015,188
49926 :197,011,176,042,169,001,090
49932 :141,100,003,165,011,056,232
49938 :229,015,141,120,003,076,090
49944 :052,195,169,000,141,100,169
49950 :003,165,015,056,229,011,253
49956 :141,120,003,173,110,003,074
49962 :205,120,003,176,003,173,210
49968 :120,003,133,037,165,018,012
49974 :170,165,020,164,039,208,052
49980 :012,197,038,208,004,228,235
49986 :193,240,008,133,038,134,044
49992 :193,168,032,207,193,173,014
49998 :090,003,208,017,165,017,066
50004 :024,109,110,003,133,017,224
50010 :165,018,105,000,133,018,017
50016 :076,113,195,165,017,056,206
50022 :237,110,003,133,017,165,255
50028 :018,233,000,133,018,173,171
50034 :100,003,208,017,165,019,114
50040 :024,109,120,003,133,019,016
50046 :165,020,105,000,133,020,057
50052 :076,149,195,165,019,056,024
50058 :237,120,003,133,019,165,047
50064 :020,233,000,133,020,238,020
50070 :022,212,198,037,208,152,211
50076 :104,168,104,170,104,096,134
50082 :160,000,136,208,253,096,247
50088 :165,034,240,093,169,002,103
50094 :133,016,169,006,141,008,135
50100 :212,169,033,141,011,212,190
50106 :173,060,003,056,233,012,211
50112 :133,002,173,080,003,233,048
50118 :000,133,003,070,003,102,253
50124 :002,162,000,160,121,173,054
50130 :070,003,056,233,040,133,233
50136 :021,165,002,032,200,194,062
50142 :162,159,032,200,194,162,107
50148 :000,032,200,194,162,159,207
50154 :032,200,194,169,000,133,194
50160 :034,141,008,212,165,187,219
50166 :056,233,020,133,187,165,016
50172 :188,233,000,133,188,016,242
50178 :006,169,000,133,187,133,118
50184 :188,096,169,000,141,033,123
50190 :208,169,001,133,016,133,162
50196 :039,162,040,160,121,169,199
50202 :120,133,021,169,120,032,109
50208 :200,194,162,040,160,121,141
50214 :169,120,133,021,169,120,002
50220 :032,200,194,162,040,160,064
50226 :120,169,000,133,021,169,150
50232 :020,032,200,194,162,120,016
50238 :160,120,169,000,133,021,153
50244 :169,140,032,200,194,162,197
50250 :030,160,065,169,064,133,183
50256 :021,169,130,032,200,194,058
50262 :162,000,160,080,169,065,210
50268 :133,021,169,030,032,200,165
50274 :194,162,159,160,080,169,254
50280 :064,133,021,169,130,032,141
50286 :200,194,162,000,160,130,188
50292 :169,120,133,021,169,040,000
50298 :032,200,194,162,159,169,014
50304 :120,032,200,194,162,120,188
50310 :160,170,169,120,133,021,139
50316 :032,200,194,162,159,160,023
50322 :180,169,170,133,021,169,220
50328 :120,032,200,194,162,040,132
50334 :160,171,032;200,194,169,060
50340 :120,133,021,169,040,032,167
50346 :200,194,132,021,138,162,249
50352 :000,160,180,032,200,194,174
50358 :162,097,160,170,169,120,036
50364 :133,021,138,032,200,194,138
50370 :162,108,160,160,169,130,059
50376 :133,021,138,032,200,194,150
50382 :162,099,160,145,169,144,061
50388 :133,021,169,118,032,200,117
50394 :194,160,047,185,035,199,014
50400 :153,152,053,185,083,199,025
50406 :153,024,056,136,016,241,088
50412 :096,120,169,250,141,020,008
50418 :003,169,196,141,021,003,007
50424 :088,096,173,172,002,240,251
50430 :003,076,049,234,162,005,015
50436 :189,090,003,208,042,189,213
50442 :140,003,024,125,110,003,159
50448 :157,140,003,189,060,003,056
50454 :105,000,157,060,003,189,024
50460 :080,003,008,105,000,157,125
50466 :080,003,040,144,052,189,030
50472 :060,003,201,060,144,045,041
50478 :032,230,197,144,040,189,110
50484 :140,003,056,253,110,003,105
50490 :157,140,003,189,060,003,098
50496 :233,000,157,060,003,189,194
50502 :080,003,008,233,000,157,039
50508 :080,003,040,176,010,189,062
50514 :060,003,201,030,176,003,043
50520 :032,230,197,189,100,003,071
50526 :208,031,189,150,003,024,187
50532 :125,120,003,157,150,003,146
50538 :189,070,003,105,000,157,118
50544 :070,003,201,157,176,004,211
50550 :201,020,176,031,032,230,040
50556 :197,144,026,189,150,003,065
50562 :056,253,120,003,157,150,101
50568 :003,189,070,003,233,000,122
50574 :157,070,003,201,020,144,225
50580 :229,201,157,176,225,222,078
50586 :130,003,208,060,169,040,252
50592 :157,130,003,189,248,007,126
50598 :201,036,208,045,165,191,244
50604 :208,044,173,027,212,201,013
50610 :090,176,037,169,001,133,016
50616 :191,189,060,003,056,233,148
50622 :012,133,253,189,080,003,092
50628 :233,000,133,254,070,254,116
50634 :102,253,189,070,003,056,107
50640 :233,040,133,254,076,218,138
50646 :197,254,248,007,202,240,082
50652 :003,076,004,197,032,028,048
50658 :193,076,049,234,173,027,210
50664 :212,157,060,003,173,027,096
50670 :212,074,157,070,003,160,146
50676 :000,173,027,212,016,002,162
50682 :160,001,152,157,090,003,045
50688 :160,000,173,027,212,016,076
50694 :002,160,001,152,157,100,066
50700 :003,173,027,212,074,024,013
50706 :105,050,157,120,003,173,114
50712 :027,212,074,024,105,050,004
50718 :157,110,003,169,100,157,214
50724 :130,003,169,033,157,248,008
50730 :007,024,096,000,000,000,169
50736 :000,000,000,000,000,000,048
50742 :000,000,000,000,024,000,078
50748 :000,024,000,000,024,000,108
50754 :000,024,000,003,195,192,224
50760 :003,195,192,000,024,000,230
50766 :000,024,000,000,024,000,126
50772 :000,024,000,000,000,000,108
50778 :000,000,000,008,000,000,098
50784 :008,000,000,008,000,000,112
50790 :020,000,000,062,000,000,184
50796 :213,128,001,000,064,000,002
50802 :000,000,000,000,000,000,114
50808 :000,000,000,000,000,000,120
50814 :000,000,000,000,000,000,126
50820 :008,000,000,008,000,000,148
50826 :008,000,000,008,000,000,154
50832 :028,000,000,034,000,000,206
50838 :127,000,000,127,000,001,149
50844 :162,192,006,000,048,000,052
50850 :000,000,000,000,000,000,162
50856 :000,000,008,000,000,008,184
50862 :000,000,008,000,000,008,190
50868 :000,000,008,000,000,028,216
50874 :000,000,062,000,000,065,057
50880 :000,000,255,128,001,255,063
50886 :192,001,255,192,006,193,013
50892 :176,024,000,012,096,000,000
50898 :003,000,084,068,068,068,245
50904 :068,084,000,000,016,016,144
50910 :016,016,016,016,000,000,030
50916 :084,004,084,064,064,084,100
50922 :000,000,084,004,084,004,154
50928 :004,084,000,000,068,068,208
50934 :084,004,004,004,000,000,086
50940 :084,064,084,004,004,084,064
50946 :000,000,084,064,084,068,046
50952 :068,084,000,000,084,004,248
50958 :004,004,004,004,000,000,030
50964 :084,068,084,068,068,084,220
50970 :000,000,084,068,084,004,010
50976 :004,084,000,168,128,128,032
50982 :168,008,008,168,000,168,046
50988 :128,128,128,128,128,168,084
50994 :000,168,136,136,136,136,250
51000 :136,168,000,168,136,136,032
51006 :168,160,136,136,000,168,062
51012 :128,128,160,128,128,168,140
51018 :000,000,000,000,000,000,074
51024 :000,000,000,252,192,192,204
51030 :252,012,012,252,000,204,050
51036 :204,204,252,204,204,204,084
51042 :000,048,048,048,048,048,082
51048 :048,048,000,252,192,192,068
51054 :240,192,192,252,000,192,154
51060 :192,192,192,192,192,252,048
51066 :000,240,204,204,204,204,154
51072 :204,240,000,198,013,208,223
51078 :008,169,000,141,066,003,009
51084 :141,086,003,162,005,169,194
51090 :224,056,125,248,007,133,171
51096 :002,073,255,133,003,173,023
51102 :060,003,056,253,060,003,081
51108 :197,003,176,004,197,002,231
51114 :176,017,173,070,003,056,153
51120 :253,070,003,197,003,176,110
51126 :015,197,002,176,002,144,206
51132 :009,202,208,221,169,127,100
51138 :141,021,208,096,169,255,060
51144 :141,021,208,165,034,240,241
51150 :246,189,060,003,141,066,143
51156 :003,189,070,003,141,076,182
51162 :003,169,020,133,013,169,213
51168 :128,141,004,212,169,129,239
51174 :141,004,212,189,080,003,091
51180 :141,086,003,173,170,002,043
51186 :024,105,100,141,170,002,016
51192 :173,171,002,105,000,141,072
51198 :171,002,173,169,002,201,204
51204 :004,240,018,238,168,002,162
51210 :173,168,002,201,019,208,013
51216 :008,169,000,141,168,002,248
51222 :238,169,002,032,230,197,122
51228 :144,167,000,146,000,002,231
51234 :004,000,009,033,032,000,112
51240 :142,000,018,056,072,005,077
51246 :065,000,065,010,212,022,164
51252 :121,192,002,042,068,084,049
51258 :148,168,001,162,066,020,111
51264 :208,144,006,100,004,001,015
51270 :136,192,002,036,008,000,188
51276 :128,128,000,040,165,191,216
51282 :240,107,166,253,224,159,207
51288 :176,092,164,254,192,040,238
51294 :144,086,192,150,176,082,156
51300 :169,003,133,016,152,056,117
51306 :233,030,133,021,165,253,173
51312 :109,027,212,201,140,176,209
51318 :247,201,020,144,243,169,118
51324 :129,1:1,011,212,141,008,254
51330 :212,032,200,194,072,169,241
51336 :010,141,033,208,104,032,152
51342 :200,194,032,162,195,169,070
51348 :060,141,033,208,165,187,114
51354 :005,188,208,003,076,063,185
51360 :201,165,187,056,233,100,078
51366 :133,187,165,188,233,000,048
51372 :133,188,016,006,169,000,172
51378 :133,187,133,188,169,000,220
51384 :133,191,169,016,141,011,077
51390 :212,096,133,002,138,072,075
51396 :169,000,133,003,162,003,154
51402 :006,002,038,003,202,208,149
51408 :249,165,002,024,105,208,193
51414 :141,046,201,165,003,105,107
51420 :053,141,047,201,104,133,131
51426 :247,132,248,169,000,133,131
51432 :249,133,250,133,251,162,130
51438 :015,006,247,038,248,120,144
51444 :248,165,249,101,249,133,109
51450 :249,165,250,101,250,133,118
51456 :250,165,251,101,251,133,127
51462 :251,216,088,202,016,227,238
51468 :162,002,181,249,072,074,240
51474 :074,074,074,032,034,201,251
51480 :104,041,015,032,034,201,195
51486 :202,016,237,096,134,002,205
51492 :010,010,010,168,162,007,147
51498 :185,211,198,141,255,255,007
51504 :238,046,201,208,003,238,214
51510 :047,201,200,202,016,238,190
51516 :166,002,096,162,255,154,127
51522 :169,128,141,004,212,141,093
51528 :011,212,169,129,141,004,226
51534 :212,162,000,142,066,003,151
51540 :142,076,003,189,099,202,027
51546 :149,000,202,208,248,162,035
51552 :150,173,027,212,041,007,194
51558 :133,002,173,017,208,041,164
51564 :248,005,002,141,017,208,217
51570 :141,022,208,141,033,208,099
51576 :165,162,197,162,240,252,018
51582 :142,001,212,202,208,221,088
51588 :169,016,141,004,212,032,194
51594 :129,255,032,138,255,169,092
51600 :027,141,017,208,169,200,138
51606 :141,022,208,169,000,141,063
51612 :033,208,173,098,202,240,086
51618 :054,162,008,160,014,024,072
51624 :032,240,255,169,042,160,042
51630 :202,032,030,171,173,171,185
51636 :002,174,170,002,032,205,253
51642 :189,162,013,160,013,024,235
51648 :032,240,255,169,092,160,116
51654 :202,032,030,171,173,169,207
51660 :002,010,170,189,249,201,001
51666 :168,189,248,201,032,030,054
51672 :171,162,015,173,098,202,013
51678 :208,002,162,011,160,011,008
51684 :024,032,240,255,169,074,254
51690 :160,202,032,030,171,173,234
51696 :000,220,074,176,250,076,012
51702 :013,192,002,202,010,202,099
51708 :018,202,026,202,034,202,168
51714 :067,065,080,084,065,073,180
51720 :078,000,032,032,077,065,036
51726 :074,079,082,000,067,079,139
51732 :076,079,078,069,076,000,142
51738 :071,069,078,069,082,065,204
51744 :076,000,087,065,082,082,168
51750 :073,079,082,000,129,071,216
51756 :065,077,069,032,079,086,196
51762 :069,082,017,017,017,157,153
51768 :157,157,157,157,157,157,230
51774 :157,157,157,158,032,083,038
51780 :067,079,082,069,032,000,141
51786 :154,080,082,069,083,083,113
51792 :032,085,080,032,084,079,216
51798 :032,080,076,065,089,000,172
51804 :082,065,078,075,032,000,168
51810 :000,013,013,013,013,013,163


Program 3: The Last Warrior, Atari Version

Version by Kevin Mykytyn, Editorial Programmer
Please refer to the "MLX" article before entering this listing.

8192:173,148,002,024,105,040,236
8198:133,067,173,149,002,105,123
8204:000,133,068,032,017,033,039
8210:032,083,036,032,139,033,117
8216:076,002,039,032,083,033,033
8222:032,144,035,032,210,032,003
8228:162,000,169,100,141,000,096
8234:006,141,005,006,169,000,113
8240:141,016,006,206,022,006,189
8246:208,012,173,023,006,141,105
8252:022,006,032,216,033,032,145
8258:223,037,032,227,035,032,140
8264:123,037,169,000,133,077,099
8270:173,252,002,048,224,169,178
8276:255,141,252,002,238,250,198
8282:006,173,252,002,048,251,054
8288:169,255,141,252,002,206,097
8294:250,006,240,201,138,072,241
8300:024,105,044,141,134,032,076
8306:141,191,032,189,200,006,105
8312:141,133,032,169,000,133,216
8318:204,141,190,032,160,016,101
8324:153,255,255,136,208,250,109
8330:189,016,006,133,203,168,085
8336:185,201,032,157,008,208,167
8342:160,004,006,203,038,204,253
8348:136,208,249,165,203,024,117
8354:105,000,133,203,165,204,204
8360:105,040,133,204,189,000,071
8366:006,157,000,208,189,005,227
8372:006,157,200,006,170,160,111
8378:000,177,203,157,255,255,209
8384:232,200,192,016,208,245,005
8390:104,170,096,000,000,000,056
8396:000,000,000,000,000,000,204
8402:169,062,141,047,002,169,032
8408:004,141,111,002,162,003,127
8414:189,013,033,157,192,002,040
8420:202,016,247,169,003,141,238
8426:029,208,169,040,141,007,060
8432:212,133,204,169,000,133,067
8438:203,162,008,160,000,145,156
8444:203,136,208,251,202,208,180
8450:248,185,044,039,153,000,159
8456:040,136,208,247,096,127,094
8462:127,127,127,169,064,133,249
8468:160,162,096,169,012,157,008
8474:066,003,032,086,228,162,091
8480:096,169,003,157,066,003,014
8486:169,099,157,068,003,169,191
8492:033,157,069,003,169,007,226
8498:157,075,003,169,028,157,127
8504:074,003,032,086,228,173,140
8510:048,002,133,014,173,049,225
8516:002,133,015,160,088,169,123
8522:006,145,014,200,192,091,210
8528:208,249,096,160,037,185,247
8534:101,033,145,067,136,016,072
8540:248,169,007,141,198,002,089
8546:096,083,058,000,000,000,079
8552:179,163,175,178,165,000,196
8558:000,144,144,144,144,144,062
8564:144,144,000,000,000,000,148
8570:000,000,051,040,041,037,035
8576:044,036,000,000,000,016,224
8582:021,016,016,016,000,169,116
8588:001,141,029,006,141,043,245
8594:006,162,053,160,080,169,008
8600:000,141,047,006,169,023,026
8606:032,145,034,162,110,160,033
8612:080,169,000,141,047,006,095
8618:169,140,032,145,034,162,084
8624:159,160,050,169,035,141,122
8630:047,006,169,125,032,145,194
8636:034,162,125,160,035,169,105
8642:034,141,047,006,169,038,117
8648:032,145,034,162,000,160,221
8654:050,032,145,034,169,000,124
8660:141,043,006,096,173,120,023
8666:002,074,176,010,174,005,147
8672:006,224,035,240,003,206,170
8678:005,006,074,176,010,174,163
8684:005,006,224,175,240,003,121
8690:238,005,006,074,176,010,239
8696:174,000,006,224,053,240,177
8702:003,206,000,006,074,176,207
8708:010,174,000,006,224,195,101
8714:240,003,238,000,006,173,158
8720:132,002,208,005,162,001,014
8726:142,021,006,096,138,072,241
8732:173,029,006,162,006,010,158
8738:202,208,252,141,048,006,123
8744:162,005,032,128,034,133,022
8750:186,134,187,162,003,032,238
8756:128,034,024,101,186,133,146
8762:186,138,101,187,133,187,222
8768:104,074,144,006,078,048,006
8774:006,078,048,006,074,144,170
8780:012,078,048,006,078,048,090
8786:006,078,048,006,078,048,090
8792:006,024,101,186,144,002,039
8798:230,187,024,101,088,133,089
8804:186,165,187,101,089,133,193
8810:187,160,000,177,186,174,222
8816:043,006,208,006,077,048,244
8822:006,076,125,034,013,048,164
8828:006,145,186,096,169,000,214
8834:141,026,006,152,010,046,255
8840:026,006,202,208,249,174,233
8846:026,006,096,141,038,006,199
8852:072,138,072,152,072,142,028
8858:032,006,142,035,006,140,003
8864:030,006,140,037,006,169,036
8870:000,141,034,006,141,036,012
8876:006,141,046,006,173,047,079
8882:006,141,039,006,173,038,069
8888:006,205,032,006,176,018,115
8894:169,001,141,128,006,173,040
8900:032,006,056,237,038,006,059
8906:141,168,006,076,223,034,082
8912:169,000,141,128,006,173,057
8918:038,006,056,237,032,006,077
8924:141,168,006,173,030,006,232
8930:056,237,039,006,141,176,113
8936:006,173,035,006,170,173,027
8942:037,006,172,043,006,208,198
8948:016,205,044,006,208,005,216
8954:236,045,006,240,010,141,160
8960:044,006,142,045,006,168,155
8966:032,026,034,173,128,006,149
8972:208,021,173,034,006,024,222
8978:109,168,006,141,034,006,226
8984:173,035,006,105,000,141,228
8990:035,006,076,053,035,173,152
8996:034,006,056,237,168,006,031
9002:141,034,006,173,035,006,181
9008:233,000,141,035,006,173,124
9014:036,006,056,237,176,006,059
9020:141,036,006,173,037,006,203
9026:233,000,141,037,006,206,177
9032:046,006,208,157,104,168,249
9038:104,170,104,096,162,003,205
9044:032,106,032,202,016,250,210
9050:096,216,173,250,006,208,015
9056:009,032,082,035,032,115,145
9062:036,032,109,035,076,098,232
9068:228,238,246,006,173,246,221
9074:006,141,004,210,201,045,209

Atari version
Notice how distant aliens appear smaller
and nearby ships loom larger in the
Atari version of "The Last Warrior."

9080:208,005,169,020,141,246,141
9086:006,173,247,006,240,011,041
9092:206,247,006,074,074,074,045
9098:041,239,141,007,210,096,104
9104:160,091,162,035,169,007,000
9110:032,092,228,169,200,141,244
9116:023,006,169,000,141,021,004
9122:006,141,040,006,141,249,233
9128:006,141,250,006,162,003,224
9134:032,049,037,169,000,157,106
9140:208,006,141,030,208,202,207
9146:208,242,169,000,133,119,033
9152:169,040,133,120,162,008,056
9158:160,000,152,145,119,136,142
9164:208,251,230,120,202,208,143
9170:246,169,003,141,015,210,226
9176:169,004,141,008,210,169,149
9182:255,141,252,002,096,173,117
9188:021,006,240,044,169,025,221
9194:141,000,210,141,246,006,210
9200:169,100,141,001,210,206,043
9206:021,006,169,002,032,026,246
9212:036,169,002,032,055,036,070
9218:169,002,032,026,036,169,180
9224:002,032,055,036,169,002,048
9230:141,248,006,032,065,036,030
9236:169,000,141,001,210,096,125
9242:141,029,006,162,000,160,012
9248:079,173,000,006,056,233,067
9254:045,072,173,005,006,056,139
9260:233,028,074,141,047,006,061
9266:104,032,145,034,096,141,090
9272:029,006,162,159,160,079,139
9278:076,033,036,173,249,006,123
9284:208,012,160,035,162,003,136
9290:032,086,038,206,248,006,178
9296:208,239,096,165,088,133,241
9302:203,165,089,133,204,162,018
9308:012,160,000,173,010,210,145
9314:201,020,176,004,041,003,031
9320:145,203,200,208,242,230,052
9326:204,202,208,237,096,162,195
9332:003,189,208,006,240,003,253
9338:076,042,037,189,128,006,088
9344:208,027,189,149,006,024,219
4350:125,168,006,157,149,006,233
9356:189,000,006,105,000,157,085
9362:000,006,201,205,144,030,220
9368:032,049,037,144,025,189,116
9374:149,006,056,253,168,006,028
9380:157,149,006,189,000,006,159
9386:233,000,157,000,006,201,255
9392:015,176,003,032,049,037,232
9398:189,144,006,208,027,189,177
9404:154,006,024,125,176,006,167
9410:157,154,006,189,005,006,199
9416:105,000,157,005,006,201,162
9422:186,144,030,032,049,037,172
9428:144,025,189,154,006,056,018
9434:253,176,006,157,154,006,202
9440:189,005,006,233,000,157,046
9446:005,006,201,020,176,003,129
9452:032,049,037,222,160,006,230
9458:208,054,169,020,157,160,242
9464:006,189,016,006,201,006,160
9470:144,039,173,040,006,208,096
9476:037,173,010,210,201,080,203
9482:176,030,169,001,141,040,055
9488:006,189,000,006,056,233,250
9494:045,141,240,006,189,005,136
9500:006,056,233,028,074,141,054
9506:241,006,076,042,037,254,178
9512:016,006,202,240,003,076,071
9518:117,036,096,173,010,210,176
9524:157,000,006,173,010,210,096
9530:201,180,176,249,157,005,002
9536:006,160,000,173,010,210,111
9542:016,002,160,001,152,157,046
9548:128,006,160,000,173,010,041
9554:210,016,002,160,001,152,111
9560:157,144,006,173,010,210,020
9566:074,024,105,050,157,176,168
9572:006,173,010,210,074,024,085
9578:105,050,157,168,006,169,249
9584:100,157,160,006,169,001,193
9590:157,016,006,024,096,173,078
9596:040,006,240,083,174,240,139
9602:006,240,073,224,158,176,239
9608:069,172,241,006,192,021,069
9614:144,062,192,078,176,058,084
9620:152,056,233,020,141,047,029
9626:006,173,240,006,109,010,186
9632:210,201,185,176,246,201,099
9638:055,144,242,169,003,141,152
9644:029,006,032,145,034,072,234
9650:169,055,141,200,002,104,081
9656:032,145,034,032,212,037,164
9662:169,000,141,200,002,032,222
9668:074,038,173,249,006,240,208
9674:003,076,126,038,169,000,102
9680:141,040,006,096,162,007,148
9686:160,000,136,208,253,202,149
9692:208,250,096,162,003,189,104
9698:208,006,240,025,222,208,111
9704:006,208,030,032,049,037,082
9710:238,250,006,032,106,032,134
9716:169,000,141,250,006,141,183
9722:030,208,076,009,038,189,032
9728:012,208,041,001,240,003,249
9734:076,013,038,202,208,213,244
9740:096,169,000,141,030,208,144
9746:173,021,006,240,242,032,220
9752:048,038,169,007,157,016,203
9758:006,169,003,157,208,006,067
9764:169,120,141,247,006,169,120
9770:150,141,006,210,208,217,206
9776:160,014,138,072,162,004,086
9782:056,177,067,105,000,201,148
9788:154,144,002,169,144,145,050
9794:067,136,202,016,240,104,063
9800:170,096,160,034,162,003,185
9806:169,010,141,248,006,076,216
9812:065,036,024,177,067,233,174
9818:000,201,015,240,005,056,095
9824:145,067,176,005,169,025,171
9830:145,067,024,136,202,016,180
9836:234,160,035,177,067,201,214
9842:016,208,008,136,192,031,193
9848:208,245,238,249,006,096,138
9854:162,003,169,002,157,016,123
9860:006,202,208,250,169,255,198
9866:141,247,006,169,150,141,224
9872:006,210,173,010,210,141,126
9878:200,002,041,007,170,189,247
9884:001,040,160,000,145,014,004
9890:173,247,006,208,235,169,176
9896:112,145,014,169,000,141,237
9902:200,002,160,022,185,150,125
9908:039,145,067,200,192,038,093
9914:208,246,032,030,039,160,133
9920:024,185,164,039,145,067,048
9926:200,192,029,208,246,160,209
9932:011,177,067,201,144,240,020
9938:004,169,008,208,012,200,043
9944:192,013,208,241,177,067,090
9950:056,233,144,074,010,170,141
9956:189,209,039,141,245,038,065
9962:189,210,039,141,246,038,073
9968:162,000,160,029,189,255,011
9974:255,240,006,145,067,200,135
9980:232,208,245,032,030,039,014
9986:160,022,185,171,039,145,212
9992:067,200,192,038,208,246,191
9998:173,132,002,208,251,173,185
10004:132,002,240,251,162,255,038
10010:154,076,027,032,169,255,227
10016:141,248,006,032,212,037,196
10022:206,248,006,208,248,096,026
10028:000,016,016,016,124,124,084
10034:016,016,016,000,000,000,098
10040:000,000,000,000,000,000,056
10046:000,000,000,000,000,000,062
10052:008,000,000,000,000,000,076
10058:000,000,000,000,000,000,074
10064:000,000,000,000,012,000,092
10070:000,000,000,000,000,000,086
10076:000,000,000,000,000,000,092
10082:000,008,028,000,000,000,134
10088:000,000,000,000,000,000,104
10094:000,000,000,000,000,008,118
10100:028,028,000,000,000,000,172
10106:000,000,000,000,000,000,122
10112:000,000,008,008,028,034,206
10118:000,000,000,000,000,000,134
10124:000,000,000,000,000,008,148
10130:008,028,062,085,000,000,073
10136:000,000,000,000,000,000,152
10142:000,040,068,048,134,065,001
10148:148,066,148,066,036,020,136
10154:000,000,000,000,000,039,209
10160:033,045,037,000,047,054,136
10166:037,050,000,000,000,000,013
10172:050,033,046,043,000,048,152
10178:050,037,051,051,000,038,165
10184:041,050,037,034,053,052,211
10190:052,047,046,219,039,227,068
10196:039,233,039,241,039,249,028
10202:039,035,033,048,052,033,202
10208:041,046,000,045,033,042,175
10214:047,050,000,035,047,044,197
10220:047,046,037,044,000,039,193
10226:037,046,037,050,033,044,233
10232:000,055,033,050,050,041,221
10238:047,050,000,000,016,032,143
10244:048,064,080,096,112,000,148


Program 4: The Last Warrior, Apple Version

Version by Tim Victor, Editorial Programmer
For instructions on entering this listing, please
refer to "COMPUTEI's Guide to Typing In
Programs" published bimonthly in COMPUTE!.

CF 100 D$ = CHR$ (4): DIM P*(B),
       PX(3),PY(3),PZ(3),VX(3),V
       Y(3),QX(3),QY(3),QZ(3),R$
       (4)
BF 110 GOSUB 1000
3E 120 SH = 5000:SC = 0
03 130 P$(0) = "/012":P$(1) =
       )*+"3P:(2) - "!" + CHR$ (
       34) + "#$":P$(3) = "34":P
       $(4) = "%&":P$(5) = "'-"
77 140 P$(6) = "5":P$(7) = ".":P
       $(8) = "'"
58 150 GOSUB 970
C4 160 FOR I = 0 TO 3:PZ(I) = 10
       00:QZ(I) = 1000: NEXT
7D 170 CO = .95:SH = 5000:SC = 0
       : GOSUB 910: GOSUB 930
C2 180 XP = 52:YP = 59: XDRAW 1
       AT XP,YP
0F 190 RF = 0, FOR M = 0 TO 3
71 200 IF SH = 0 THEN 330
9C 210 I = FRE (0): GOSUB 400: 0
       N I GOSUB 430,440,450,460
       ,470,560
5F 220 IF PZ(M) = 1000 THEN GOSU
       B 570: GOTO 310
FC 230 IF PZ(M) < 0 THEN RF = 1:
       GOTO 300
48 240 GOSUB 610
F3 250 IF PZ(M) > 15 THEN 300
7A 260 IF RND (1) < CO * .8 THEN
300

Apple version
The Apple version of "The Last Warrior"
animates the alien ships using custom
characters designed with the previously
published "Apple SuperFont" utility.


0l 270 XDRAW 1 AT XP,YP:XT = INT
        (PX(M)) * 7 - 7:YT = INT
        (PY(M)) * B - 4
0E 280 HCOLOR= 5: GOSUB 370: HCO
       LOR= 0: GOSUB 370: GOSUB
       650: XDRAW 1 AT XP,YP
EB 290 SH = SH - 100: GOSUB 930
F3 300 CO = CO * .9999: NEXT
92 310 IF RF < > 0 THEN XDRAW 1
       AT XP,YP: BOSUB 650: XDRA
       W 1 AT XP,YP
99 320 GOTO 190
64 330 XDRAW 1 AT XP,YP: VTAB 21
       : HTAB 2: PRINT "ANOTHER
       GAME? (Y OR N)"
46 340 GET A$: IF A$ = "IN" OR A$
       = "n" THEN TEXT : END
5A 350 IF A$ = "Y" OR A$ = "y" T
       HEN 150
9D 360 GOTO 340
9A 370 HPLOT XT,YT TO 0,0: HPLOT
        XT,YT TO 0,159
85 380 HPLOT XT,YT TO 279,0: HPL
       OT XT,YT TO 279,159
25 390 RETURN
5E 400 I = 0:A = PEEK (49152)
84 410 IF A > 127 THEN POKE 4916
       8,0:A$ = CHR$ (A - 128):
       FOR I = 1 TO 6: IF A$ < >
        MID$ ("JILK PI-,I,1) THEN
        NEXT
18 420 RETURN
6E 430 GOSUB 890:XP = XP - (XP >
        6) * 7: GOTO 900
4B 440 GOSUB 890:YP = YP - (YP >
       7) * 81 GOTO 900
74 450 GOSUB 890:XP = XP + (XP <
        273) * 7: GOTO 900
D4 460 GOSUB 890:YP = YP + (YP <
        152) * 8: GOTO 900
CA 470 HCOLOR= 7: XDRAW 1 AT XP,
       YP: HPLOT 0,159 TO XP,YP:
        HPLOT 279,159 TO XP,YP
E1 480 HCOLOR= 0: HPLOT 0,159 TO
        XP,YP: HPLOT 279,159 TO
       XP,YP
57 490 XC = INT (XP / 7) + 1:YC
       = INT (YP / B) + 1: FOR J
        = 0 TO 3: IF PZ(J) = 100
       0 THEN 540
18 500 IF YC < > INT (PY(J)) THE
       N 540
ES 510 IF XC < INT (PX(J)) - (PZ
       (J) < = 15) - (PZ(J) < =
       30) THEN 540
61 520 IF XC > INT (PX(J)) + (PZ
       (J) < = 15) THEN 540
4D 530 PZ(J) = - PZ(J): GOSUB 65
       0:SC = SC + 100: GOSUB 91
       0: GOTO 550
15 540 NEXT
91 550 XDRAW 1 AT XP,YP:SH = SH
       - 20: GOSUB 930: RETURN
67 560 GET A$: RETURN
4A 570 IF RND (1) < CO THEN 600
BB 580 PX(M) = RND (1) * 35 + 3:
       PY(M) = RND (1) * 20 + 1:
       PZ(M) = 45
F7 590 R = RND (1) - .5:VX(M) =
       ( ABS (R) - .25):VY(M) =
       SQR (.0625 - VX(M) * VX(M
       )) * SGN (R):RF = 1
16 600 RETURN
85 610 PX(M) = PX(M) + VX(M) * (
       PX(M) > 4 AND PX(M) < 37)
       : IF INT (QX(M)) < > INT
       (PX(M)) THEN RF = 1
5D 620 PY(M) = PY(M) + VY(M) * (
       PY(M) > 2 AND PY(M) < 20)
       : IF INT (GY(M)) < > INT
       (PY(M)) THEN RF = 1
77 630 PZ(M) = PZ(M) - 2 * (PZ(M
       ) > 2): IF PZ(M) = 30 OR
       PZ(M) = 15 THEN RF = 1
1E 640 RETURN
86 650 FOR I = 0 TO 3: IF QZ(I)
       = 1000 THEN 730
4A 660 NF = QZ(I):QZ(I) = ABS (Q
       Z(I))
ID 670 IF QZ(I) < = 15 THEN GOSU
       B 800: GOTO 700
BF 680 IF QZ(I) < = 30 THEN GOSU
       B 810: GOTO 700
5A 690 GOSUB 820
E8 700 IF NF > = 0 THEN 730
08 710 IF I < 3 THEN GOSUB 870:I
       = I - 1
67 720 QZ (3) = 1000
3D 730 NEXT : FOR I = 3 TO 0 STE
       P - 1: IF PZ(I) = 1000 TH
       EN 780
B0 740 QX(I) = PX(I):QY(I) = PY(
       I):QZ(I) = PZ(I)
EC 750 IF ABS (PZ(I)) < = 15 THE
       N GOSUB 830: GOTO 780
FE 760 IF ABS (PZ(I)) < = 30 THE
       N GOSUB 840: GOTO 780
5D 770 GOSUB 850
IF 780 NEXT
29 790 RETURN
19 800 HTAB QX(I) - 2: VTAB QY(I
       ): PRINT "    ": RETURN
FA 810 HTAB QX(I) - 1: VTAB QY(I
       ): PRINT "  ": RETURN
A6 820 HTAB QX(I): VTAB QY(I): P
       RINT " ": RETURN
42 830 GOSUB 860: HTAB PX(I) - 2
       : VTAB PY(I): PRINT P$(PH
       ): RETURN
98 840 GOSUB 860: HTAB PX(I) - 1
       : VTAB PY(I): PRINT P$(PH
        + 3): RETURN
21 850 GOSUB 860: HTAB PX(I): VT
       AB PY(I): PRINT P$(PH + 6
       ): RETURN
FD 860 PH = (PZ(I) > = 0) * INT
       (PX(I) - 2 * INT (PX(1) /
       2) + 1): RETURN
3B 870 FOR K = I TO 2:PX(K) = PX
       (K + 1):PY(K) = PY(K + 1)
       :PZ(K) = PZ(K + 1)
55 880 VX(K) = VX(K + 1):VY(K) =
        VY(K + 1):QX(K) = QX(K +
        1):QY(K) = QY(K + 1):QZ(
       K) = QZ(K + 1): NEXT :PZ(
       3) = 10001 RETURN
IB 890 OX = XP:OY = YP: RETURN
76 900 XDRAW 1 AT OX,OY: XDRAW 1
       AT XP,YP: RETURN
1A 910 N$ = STR$ (SC): VTAB 22:
       HTAB 11: GOSUB 950:R = IN
       T (SC / 2000): IF R > 4 T
       HEN R = 4
AC 920 VTAB 24: HTAB 16: CALL -
       868: PRINT R$(R);: RETURN
7E 930 IF SH < 0 THEN SH = 0
55 940 N$ = STR$ (SH): VTAB 22:
       HTAB 31: GOTO 950
3E 950 IF LEN (N$) < 5 THEN PRIN
       T LEFT$ ("0000",5 - LEN
       N$));
48 960 PRINT N$;: RETURN
07 970 HOME : HGR : INVERSE : VT
       AB 22: HTAB 2: PRINT " SC
       ORE ";: HTAB 22: PRINT "S
       HIELDS";
51 980 VTAB 24: HTAB 10: PRINT "
       RANK";
F1 990 NORMAL : RETURN
A3 1000 POKE 232,100: POKE 233,3
20 1010 POKE 868,1: POKE 870,4:
       POKE 871,0
48 1020 FOR I = 0 TO 4: READ A:
       POKE 872 + I,A: NEXT
AF 1030 HCOLOR= 7: ROT= 0: SCALE
       = 4
42 1040 FOR I = 0 TO 4: READ R$(
       I): NEXT
3C 1050 FOR I = 768 TO I + 87: R
       EAD A: POKE I,A: NEXT
54 1060 FOR I = 138 * 256 TO I +
        175: READ A: POKE I,A:
       NEXT
A6 1070 IF PEEK (191 * 256) = 76
        THEN PRINT D$;"PR#A$300
       ": GOTO 1090
35 1080 POKE 54,0: POKE 55,3: CA
       LL 1002
14 1090 POKE 6,0: POKE 7,138: RE
       TURN
22 1100 DATA 176,12,31,5,0
68 1110 DATA CAPTAIN,MAJOR,COLON
       EL,GENERAL,WARRIOR
D6 1120 DATA 216,120,133,69,134,
       70
2E 1130 DATA 132,71,166,7,10,10
44 1140 DATA 176,4,16,62,48,4
B8 1150 DATA 16,1,232,232,10,134
61 1160 DATA 27,24,101,6,133,26
A3 1170 DATA 144,2,230,27,165,40
95 1180 DATA 133,8,165,41,41,3
81 1190 DATA 5,230,133,9,162,8
18 1200 DATA 160,0,177,26,36,50
63 1210 DATA 48,2,73,127,164,36
47 1220 DATA 145,8,230,26,208,2
9F 1230 DATA 230,27,165,9,24,105
IF 1240 DATA 4,133,9,202,208,226
87 1250 DATA 165,69,166,70,164,7
       1
72 1260 DATA 88,76,240,253
6A 1270 DATA 0,0,0,0,0,0,0,0
E8 1280 DATA 0,0,0,0,0,40,42,2
5D 1290 DATA 64,64,96,16,21,117,
       112,0
19 1300 DATA 0,0,1,2,42,43,3,0
B7 1310 DATA 0,0,0,0,0,5,21,16
B4 1320 DATA 0,0,0,0,64,104,66,0
A9 1330 DATA 0,0,0,1,3,23,67,0
41 1340 DATA 0,0,0,0,8,42,0,0
74 1350 DATA 0,0,0,0,64,84,21,1
2A 1360 DATA 32,32,112,8,10,122,
       120,0
C3 1370 DATA 0,0,0,1,21,85,65,0
64 1380 DATA 0,0,0,0,0,2,10,8
12 1390 DATA 0,0,0,64,96,116,97,
       0
E7 1400 DATA 0,0,0,0,1,11,33,0
22 1410 DATA 0,0,0,0,4,21,0,0
45 1420 DATA 24,48,24,64,118,3,5
       6,0
9D 1430 DATA 56,99,48,55,88,111,
       102.0
A4 1440 DATA 6,12,63,27,113,31,1
       12,0
75 1450 DATA 3,6,48,108,12,51,0,
       0
BB 1460 DATA 0,56,99,48,55,88,0,
       0
7F 1470 DATA 0,6,12,63,27,113,0,
       0
5A 1480 DATA 0,0,76,118,54,0,0,0