' ' =S=P=A=C=E= =C=O=L=O=N=Y= ' ' .... BOT COMMAND INSTRUCTIONS .... ' ' BULLDOZER BOT: ' (PAUSE) TURNS BOT OFF ' (A)+ARROWS MOVES BOT ' (B)+ARROWS BULLDOZES PATHS ' ' TRANSPORTER BOT: ' (PAUSE) TURNS BOT OFF ' (A)+ARROWS MOVES BOT ' (B)+ARROWS ' ' CONSTRUCTOR BOT: ' (PAUSE) TURNS BOT OFF ' (A)+ARROWS MOVES BOT ' (B)+ARROWS ' ' ' FACTORY BOT ... NOT PROGRAMMED YET ' ' ' ... END OF BOT COMMAND INSTRUCTIONS ... ' COPY $E000,$1000 TO $9000 '============ 'SPACE COLONY 'WAS8BIT GAME '============ GAMEPAD 1 PAUSE OFF BG 0 IF CELL.C(20,20)=0 THEN CELL 20,20,247 BG FILL 0,0 TO 19,16 CHAR 64 ATTR(0) FOR X=3 TO 16 CELL X,9,0 CELL X,8,0 NEXT X ATTR(1) CELL 7,8,65 CELL 11,8,96 ATTR(5) CELL 2,8,114 CELL 17,8,117 ATTR(2) CELL 8,8,33 CELL 9,8,38 CELL 10,8,43 END IF BG 1 CELL 2,8,175 CELL 17,8,175 BG 0 SPRITE 0,0,0,80 SPRITE.A 0,(4) GLOBAL XCUR,YCUR,ICURSOR XCUR=0 YCUR=0 ICURSOR=0 DIM GLOBAL XDIR(4),YDIR(4) FOR I=1 TO 4 READ XDIR(I),YDIR(I) NEXT I DATA 0,-1,1,0,0,1,-1,0 IACTION=0 DO 'COMMAND BOTS UDLR=UP(0) OR DOWN(0) OR LEFT(0) OR RIGHT(0) IF NOT BUTTON(0,0) AND NOT BUTTON(0,1) THEN IF LEFT(0) THEN CALL DOCURSOR(-1,0) IF RIGHT(0) THEN CALL DOCURSOR(1,0) IF UP(0) THEN CALL DOCURSOR(0,-1) IF DOWN(0) THEN CALL DOCURSOR(0,1) IF PAUSE THEN CALL BOTOFF(XCUR,YCUR) ELSE IF BUTTON(0,0) THEN IF LEFT(0) THEN CALL TURNBOTA(3) IF RIGHT(0) THEN CALL TURNBOTA(1) IF UP(0) THEN CALL TURNBOTA(0) IF DOWN(0) THEN CALL TURNBOTA(2) ELSE IF BUTTON(0,1) THEN C=CELL.C(XCUR,YCUR) IF C<=63 THEN IF LEFT(0) THEN CALL TURNBOTB(3) IF RIGHT(0) THEN CALL TURNBOTB(1) IF UP(0) THEN CALL TURNBOTB(0) IF DOWN(0) THEN CALL TURNBOTB(2) END IF END IF 'MOVE BOTS IF IACTION=0 THEN COPY $9000,$1000 TO $E000 WAIT VBL FOR Y=0 TO 15 FOR X=0 TO 19 C=CELL.C(X,Y) A=CELL.A(X,Y) IF C<=63 AND C>0 THEN CM=C MOD 16 '{MOVE BOTS} IF (CM>=2 AND CM<=3) OR (CM>=7 AND CM<=10) OR (CM>=12 AND CM<=13) THEN ATTR(A) CC= C-CM IDIR=(CC\16)+1 BG 1 F=CELL.C(X,Y) BG 0 '{ANIMATE} IF F>160 THEN BG 1 CELL X,Y,F-1 BG 0 IF F=161 THEN CELL X,Y,C+1 END IF ELSE '{MOVE} XX=X+XDIR(IDIR) YY=Y+YDIR(IDIR) CH=CELL.C(XX,YY) IF CH=0 THEN BG 1 CELL X,Y,0 CELL XX,YY,163 BG 0 CELL X,Y,0 ATTR(A) CELL XX,YY,C-1 ELSE '{UPGRADE COMMAND CENTER} IF CH>=65 AND CH<79 AND CM=10 THEN ATTR(2) CELL X,Y,C-2 ATTR(1) CELL XX,YY,CH+1 PLAY 2,90,1 SOUND 5 WAIT VBL PLAY 3,80,1 SOUND 5 WAIT VBL END IF IF CM<=3 THEN CALL BOTOFF(X,Y) '{MINE,GET GOLD} IF CH=116 THEN BG 1 CELL XX,YY,175 BG 0 ATTR(5) CELL XX,YY,114 ATTR(2) CELL X,Y,9+((IDIR-1)*16) PLAY 3,90,10 SOUND 4 '{MINE,GET ORE} ELSE IF CH=119 THEN BG 1 CELL XX,YY,175 BG 0 ATTR(5) CELL XX,YY,117 ATTR(3) CELL X,Y,9+((IDIR-1)*16) PLAY 3,90,10 SOUND 4 ELSE CALL BOTOFF(X,Y) END IF END IF END IF '{BULLDOZE} ELSE IF CM=4 OR CM=5 THEN ATTR(2) CC= C-CM IDIR=(CC\16)+1 BG 1 F=CELL.C(X,Y) BG 0 IF F>160 THEN BG 1 CELL X,Y,F-1 BG 0 IF F=161 OR F=163 OR F=165 THEN CELL X,Y,C+1 ELSE IF F=162 OR F=164 THEN CELL X,Y,C-1 END IF ELSE XX=X+XDIR(IDIR) YY=Y+YDIR(IDIR) CH=CELL.C(XX,YY) IF (CH=0 OR CH=64) AND XX>=0 AND YY>0 AND XX<=19 AND YY<=15 THEN BG 1 CELL X,Y,0 CELL XX,YY,166 BG 0 CELL X,Y,0 CELL XX,YY,C-1 ELSE CALL BOTOFF(X,Y) END IF END IF END IF ELSE IF C>=113 AND C<=127 THEN '{DO GOLD MINE} IF C=114 OR C=115 THEN BG 1 CV=CELL.C(X,Y) BG 0 IF CV>160 THEN BG 1 CELL X,Y,CV-1 BG 0 ELSE IF CV=160 THEN BG 1 CELL X,Y,175 BG 0 ATTR(5) CELL X,Y,C+1 IF C+1=116 THEN PLAY 3,40,10 SOUND 4 END IF '{DO ORE MINE} ELSE IF C=117 OR C=118 THEN BG 1 CV=CELL.C(X,Y) BG 0 IF CV>160 THEN BG 1 CELL X,Y,CV-1 BG 0 ELSE IF CV=160 THEN BG 1 CELL X,Y,175 BG 0 ATTR(5) CELL X,Y,C+1 IF C+1=119 THEN PLAY 3,40,10 SOUND 4 END IF END IF END IF NEXT X NEXT Y END IF ADD ICURSOR,1,0 TO 5 ADD IACTION,1,0 TO 60 WAIT VBL LOOP SUB DOCURSOR(DX,DY) IF ICURSOR=0 THEN ADD XCUR,DX,0 TO 19 ADD YCUR,DY,0 TO 15 SPRITE 0,XCUR*8,YCUR*8, PLAY 0,80,1 SOUND 0 END IF END SUB SUB BOTOFF(XOFF,YOFF) C=CELL.C(XOFF,YOFF) CC=C CMOD= C MOD 16 CDIR=(C-CMOD)\16 IF C<64 THEN IF CMOD>1 AND CMOD<6 THEN C=1+(16*CDIR) ELSE IF CMOD>6 AND CMOD<9 THEN C=6+(16*CDIR) ELSE IF CMOD>11 AND CMOD<16 THEN C=11+(16*CDIR) END IF END IF IF CC<>C THEN PLAY 0,60,1 SOUND 3 ATTR(2) CELL XOFF,YOFF,C END IF END SUB SUB TURNBOTA(D) C=CELL.C(XCUR,YCUR) A=CELL.A(XCUR,YCUR) CC=C CMOD= C MOD 16 IF C<64 THEN IF CMOD>=1 AND CMOD<6 THEN C=2+(16*D) ELSE IF CMOD>=6 AND CMOD<9 THEN C=7+(16*D) ELSE IF CMOD>=9 AND CMOD<11 THEN C=9+(16*D) ELSE IF CMOD>=11 AND CMOD<16 THEN C=12+(16*D) END IF END IF IF CC<>C THEN PLAY 0,60,1 SOUND 1 ATTR(A) CELL XCUR,YCUR,C BG 1 CELL XCUR,YCUR,163 BG 0 END IF END SUB SUB TURNBOTB(D) C=CELL.C(XCUR,YCUR) CC=C CMOD= C MOD 16 IF CMOD<64 THEN IF CMOD>=1 AND CMOD<6 THEN C=4+(16*D) ATTR(2) CELL XCUR,YCUR,C BG 1 CELL XCUR,YCUR,163 BG 0 ELSE IF CMOD>=6 AND CMOD<9 THEN REM C=7+(16*D) ELSE IF CMOD>=9 AND CMOD<11 THEN REM C=9+(16*D) ELSE IF CMOD>=11 AND CMOD<16 THEN REM C=14+(16*D) END IF END IF IF CC<>C THEN PLAY 0,50,1 SOUND 2 END SUB #1:MAIN PALETTES 153F1000002B171500383F3400382B34 00302A15002B3C15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 003C3CBDFFBD1800000000A581810000 003C3C18FFBD99000000002481818100 003CBD99FF3C1800000081A581000000 FF241899FFBD1800000000A581810000 007E3C99FFBD1800000000A581810000 000018BDFFBD1800000000A581810000 00001818FFBD99000000002499998100 00009999FF3C1800000081A599180000 00001818E7A599000000002499998100 00009999E7241800000081A599180000 002418BDFFBD1800000000A581810000 00241818FFBD99000000002481818100 00249999FF3C1800000081A581000000 24241899FFBD1800000000A581810000 42241899FFBD1800000000A581810000 00000000000000000000000000000000 38103E7E7E3E10383800080000080038 7010367E7E3610707000080000080070 1C10367E7E36101C1C0008000008001C 3911337D7D3311393800080000080038 3812367E7E3612383800080000080038 3810387C7C3810383800080000080038 7010307C7C3010707000083030080070 1C10307C7C30101C1C0008303008001C 7010304C4C3010707000083030080070 1C10304C4C30101C1C0008303008001C 38103A7C7C3A10383800080000080038 7010327C7C3210707000080000080070 1C10327C7C32101C1C0008000008001C 3810337C7C3310383800080000080038 3811327C7C3211383800080000080038 00000000000000000000000000000000 0018BDFFBD3C3C0000008181A5000000 0099BDFF183C3C000081818124000000 00183CFF99BD3C0000000081A5810000 0018BDFF991824FF00008181A5000000 0018BDFF993C7E0000008181A5000000 0018BDFFBD18000000008181A5000000 0099BDFF181800000081999924000000 00183CFF9999000000001899A5810000 0099A5E7181800000081999924000000 001824E79999000000001899A5810000 0018BDFFBD18240000008181A5000000 0099BDFF181824000081818124000000 00183CFF9999240000000081A5810000 0018BDFF9918242400008181A5000000 0018BDFF9918244200008181A5000000 00000000000000000000000000000000 1C087C7E7E7C081C1C0010000010001C 0E086C7E7E6C080E0E0010000010000E 38086C7E7E6C08383800100000100038 9C88CCBEBECC889C1C0010000010001C 1C486C7E7E6C481C1C0010000010001C 1C081C3E3E1C081C1C0010000010001C 0E080C3E3E0C080E0E00100C0C10000E 38080C3E3E0C08383800100C0C100038 0E080C32320C080E0E00100C0C10000E 38080C32320C08383800100C0C100038 1C085C3E3E5C081C1C0010000010001C 0E084C3E3E4C080E0E0010000010000E 38084C3E3E4C08383800100000100038 1C08CC3E3ECC081C1C0010000010001C 1C884C3E3E4C881C1C0010000010001C 20000000020400082002044022040008 FFFFFFC7BBBB7D6DFFFFFFFFFFEFEFD7 FFFFFFC3BDBD7E66FFFFFFFFFFE7E7DB FFFFFFC3BD7EFFE7FFFFFFFFFFE7C399 FFFFC3BDBD7EFFE7FFFFFFFFE7E7C399 FFFFC3BD7EFFFFE7FFFFFFFFE7C38118 FFC3BD7E7EFFFFE7FFFFFFE7E7C38118 FFC3BD7EFFE7FFE7FFFFFFE7C3990018 C3BDBD7EFFE7FFE7FFFFE7E7C3990018 C3BD7EFFFFE7FFE7FFFFE7C381990018 BDBD7EFFFFE7FFE7FFE7E7C381990018 BD7EFFF7FFE7FFE7FFE7C38981990018 BD7EFFE7FFE7FFE7E7E7C39981990018 7EF7FFE7FFE7FFE7E7CB819981990018 FFE7FFE7FFC3FFC3E75A8199813C003C FFE7FFC3FF81FF81665A81BD007E007E FF818181818181FF0000000000000000 FFFFEBD5DDFFFFFFC381142A22003C7E FFFFEBD5DDFFDFFFC381142A22003C7E FFFFEBD5DDFFCFFFC381142A22003C7E FFFFEBD5DDFFC7FFC381142A22003C7E FFFFEBD5DDFFC3FFC381142A22003C7E FFCFDFCFDFFFFFFFC3B1203020003C7E FFCFDFCFDFFFDFFFC3B1203020003C7E FFCFDFCFDFFFCFFFC3B1203020003C7E FFCFDFCFDFFFC7FFC3B1203020003C7E FFCFDFCFDFFFC3FFC3B1203020003C7E FFF7F7FFF7FFFFFFC389080008003C7E FFF7F7FFF7FFFFFFC389080008003C7E FFF7F7FFF7FFFFFFC389080008003C7E FFF7F7FFF7FFFFFFC389080008003C7E FFF7F7FFF7FFFFFFC389080008003C7E FFFFFFFFFFFFFFFFC381003C3C003C7E FFDFCFD7CFFFFFFFC3A1302830003C7E FFDFCFD7CFFFDFFFC3A1302830003C7E FFDFCFD7CFFFCFFFC3A1302830003C7E FFDFCFD7CFFFC7FFC3A1302830003C7E FFDFCFD7CFFFC3FFC3A1302830003C7E FFFFC7EFEFFFFFFFC381381010003C7E FFFFC7EFEFFFDFFFC381381010003C7E FFFFC7EFEFFFCFFFC381381010003C7E FFFFC7EFEFFFC7FFC381381010003C7E FFFFC7EFEFFFC3FFC381381010003C7E FFE7DFDFE7FFFFFFC399202018003C7E FFE7DFDFE7FFDFFFC399202018003C7E FFE7DFDFE7FFCFFFC399202018003C7E FFE7DFDFE7FFC7FFC399202018003C7E FFE7DFDFE7FFC3FFC399202018003C7E 200000181A0400082002044022040008 FFFFFFE7E7FFFFFFFFFFE7DBDBE7FFFF FFFFFFE7E7FFFFFFFFE7DBBDBDDBE7FF FFBDFFE7E7FFBDFFFFE7DBBDBDDBE7FF 3C3CFFE7E7FF3C3CFFE7DBBDBDDBE7FF FFFFEFD7EBF7FFFFFFE7DBBDBDDBE7FF FFBDEFD7EBF7BDFFFFE7DBBDBDDBE7FF 5ABD6ED7EB76BD5AFFE7DBBDBDDBE7FF FFFFFFFFDFFFFFFFC381003C3C003C7E FFFFFFFFCFFFFFFFC381003C3C003C7E FFFFFFFFC7FFFFFFC381003C3C003C7E FFFFFFFFC3FFFFFFC381003C3C003C7E FFFFFFDFC3FFFFFFC381003C3C003C7E FFFFFFCFC3FFFFFFC381003C3C003C7E FFFFFFC7C3FFFFFFC381003C3C003C7E FFFFFFC3C3FFFFFFC381003C3C003C7E #3:MAIN BG 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #15:MAIN SOUND 2800F03310005F001800F077103C0F00 0800F03310FC0F002800303019FE0000 380003D3000000000800200000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000