GAMEPAD 1 RANDOMIZE TIMER REM WAS8BIT PAUSE OFF GLOBAL GATE,CASH,IBUY,IMESSAGE,IGOAL,ICOUNT,ILEVEL,IGATE,IMOVE DIM GLOBAL BUYTEXT$(9),BUYPRICE(9),BUYCELL(9),GOAL(9) FOR I=1 TO 1 READ GOAL(I) NEXT I DATA 20 FOR I=1 TO 3 READ BUYTEXT$(I),BUYPRICE(I),BUYCELL(I) NEXT I DATA "SHOVEL= $6",6,19 DATA " CART=$24",24,23 DATA " ",99999,0 REM LOAD GAME FROM PERSIST MEMORY COPY $E000,$1000 TO $9000 CALL EXTRACT REM START NEW GAME IF ILEVEL<1 THEN ILEVEL=1 IBUY=1 CASH=0 CALL SHOWLEVEL BG 1 BG COPY 0,0,20,16 TO 0,0 BG 0 PAL 3 TEXT 0,0,"FARM LIFE L#1 ##/##" NUMBER 17,0,GOAL(ILEVEL),2 PAL 6 TEXT 0,14," BAA" PAL 3 TEXT 0,15,"$" CALL SHOWMONEY IMESSAGE=-1 CALL DOMESSAGE(0) END IF NEXTLEVEL: REM LOAD GAME VARS IGOAL=GOAL(ILEVEL) ISAVE=0 IF ILEVEL=1 THEN GOTO LEVEL1 PRINT "OOPS..." END LEVEL1: DO BG 1 ICOUNT=0 IMOVE=0 FOR Y=2 TO 12 FOR X=1 TO 18 C=CELL.C(X,Y) IF C>1 THEN IF C=3 THEN R=RND(100) IF R=0 THEN DX=RND(1)*2-1 ELSE DX=0 IF R=1 THEN DY=RND(1)*2-1 ELSE DY=0 CALL DOHORSE(X,Y,DX,DY) END IF IF C>=7 AND C<=13 THEN INC ICOUNT IF C=13 AND RND(100)=0 THEN CELL X,Y,0 PLAY 1,90,20 END IF IF C=14 THEN IF CASH>=BUYPRICE(IBUY) THEN P=5 ELSE P=4 TINT X,Y PAL P END IF IF C=30 THEN IF ISAVE=1 THEN P=5 ELSE P=4 TINT X,Y PAL P END IF IF C>=17 AND C<=29 THEN IF PAUSE THEN IF C=17 THEN C=18 IF C=19 THEN C=22 IF C=23 THEN C=29 PAL 1 CELL X,Y,C END IF M=CELL.C(X,Y-1) IF M>=7 AND M<=12 THEN CALL DOMESSAGE(1) ELSE IF M=14 THEN CALL DOMESSAGE(2) ELSE IF M=30 THEN CALL DOMESSAGE(3) ELSE CALL DOMESSAGE(0) END IF LR=RIGHT(0) OR LEFT(0) UD=UP(0) OR DOWN(0) IF RIGHT(0) AND NOT UD AND IMOVE=0 THEN CALL DOPLAYER(X,Y,1,0) IF LEFT(0) AND NOT UD AND IMOVE=0 THEN CALL DOPLAYER(X,Y,-1,0) IF UP(0) AND NOT LR AND IMOVE=0 THEN CALL DOPLAYER(X,Y,0,-1) IF DOWN(0) AND NOT LR AND IMOVE=0 THEN CALL DOPLAYER(X,Y,0,1) 'B-BUTTON IF BUTTON(0,1) THEN CUP=CELL.C(X,Y-1) IF CUP=14 THEN IF CASH>=BUYPRICE(IBUY) THEN CASH=CASH-BUYPRICE(IBUY) PAL 1 CELL X,Y,BUYCELL(IBUY) PLAY 2,80,2 WAIT 60 INC IBUY CALL SHOWMONEY ELSE PLAY 2,25,2 END IF ELSE IF CUP=30 THEN REM SAVE GAME TO PERSIST COPY $9000,$1000 TO $E000 TINT X,Y-1 PAL 4 PLAY 3,90,10 ISAVE=0 WAIT 60 END IF END IF 'A-BUTTON IF BUTTON(0,0) THEN CUP=CELL.C(X,Y-1) IF C>=18 OR C<=29 THEN POOP=0 IF C=18 THEN POOP=1 IF C>=20 AND C<=22 THEN POOP=C-19 IF C>=24 AND C<=29 THEN POOP=C-23 IF CUP>=7 AND CUP<13 THEN POT=13-CUP IF POOP<=POT THEN GO=POOP ELSE GO=POT REM NUMBER 0,0,GO,2 CPLAY=C-GO CCART=CUP+GO PAL 1 CELL X,Y,CPLAY PAL 2 CELL X,Y-1,CCART IF GO<>0 THEN PLAY 1,90,1 ISAVE=1 ELSE PLAY 1,30,1 END IF CASH=CASH+GO CALL SHOWMONEY END IF END IF END IF END IF END IF NEXT X NEXT Y PAL 3 BG 0 NUMBER 14,0,IGOAL-ICOUNT,2 IF ICOUNT=0 THEN ILEVEL=2 CALL SHOWLEVEL GOTO NEXTLEVEL END IF WAIT VBL LOOP REM END LEVEL1 SUB SHOWLEVEL CLS BG 1 BG SOURCE ROM(14) BG COPY 0,0,20,16 TO 0,0 PAL 3 TEXT 4,8,"** LEVEL "+STR$(ILEVEL)+" **" WAIT 240 CLS BG SOURCE ROM(ILEVEL+2) END SUB SUB EXTRACT BG 0 B=CELL.C(1,14)-225 IBUY=B C1=CELL.C(1,15)-208 C2=CELL.C(2,15)-208 C3=CELL.C(3,15)-208 C4=CELL.C(4,15)-208 CASH=C1*1000+C2*100+C3*10+C4 L=CELL.C(12,0)-208 ILEVEL=L END SUB SUB DOMESSAGE(I) IF I<>IMESSAGE THEN PAL 3 IF I=0 THEN TEXT 8,14,"ARROWS MOVE" IF I=1 THEN TEXT 8,14,"(A) UNLOADS" IF I=2 THEN TEXT 8,14,"(B) TO BUY " IF I=3 THEN TEXT 8,14,"(B) TO SAVE" IMESSAGE=I END IF END SUB SUB SHOWMONEY BG 0 PAL 3 NUMBER 1,15,CASH,4 TEXT 8,15,BUYTEXT$(IBUY) PAL 6 CELL 1,14,225+IBUY BG 1 END SUB SUB DOPLAYER(X,Y,DX,DY) IMOVE=1 IF DX<0 THEN LL=1 ELSE LL=0 MX=X+DX MY=Y+DY C=CELL.C(X,Y) CM=CELL.C(MX,MY) IF CM=0 THEN IF IGATE=0 THEN CELL X,Y,0 PAL 1 CELL MX,MY,C PLAY 0,20,1 ELSE PAL 0 CELL X,Y,2 PAL 1 CELL MX,MY,C IGATE=0 PLAY 0,50,1 END IF ELSE IF CM=2 THEN IGATE=1 CELL X,Y,0 PAL 1 CELL MX,MY,C PLAY 0,52,1 ELSE IF CM=4 THEN IF C<>18 AND C<>22 AND C<>29 THEN CC=C+1 PAL 0 CELL X,Y,0 PAL 1 FLIP LL,0 CELL MX,MY,CC PLAY 0,38,1 WAIT VBL ELSE IF C<>2 THEN PAL 0 CELL X,Y,0 PAL 1 FLIP LL,0 CELL MX,MY,C WAIT VBL END IF PLAY 0,90,1 END IF FLIP 0,0 WAIT 5 END SUB 'LEVEL1 SUB DOHORSE(X,Y,DX,DY) CM=CELL.C(X+DX,Y+DY) IF CM=0 OR CM=4 THEN PAL 1 IF DX=1 THEN FLIP 1,0 CELL X+DX,Y+DY,3 IF RND(5)=0 THEN PLAY 0,20,3 PAL 0 CELL X,Y,4 ELSE CELL X,Y,0 END IF FLIP 0,0 END IF END SUB #1:MAIN PALETTES 0824070C00000F2400240015000C0C00 00000015003C001500080804003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 44FF44FF44FF44FF0000000000000000 81C3BDA5A5BDC3810000000000000000 2060FE3C3C2424242020FE3C3C242424 00000000000018180000000000000000 387C7C7C38101010387C7C5428000000 000000000000000000000000007EFF7E 000000000042A54200818181FF5AE742 000060600042A54200818181FF5AE742 000078780042A54200818181FF5AE742 00007E7E0042A54200818181FF5AE742 60607E7E0042A54200818181FF5AE742 78787E7E0042A54200818181FF5AE742 7E7E7E7E0042A54200818181FF5AE742 0000003CFFFFFFFF183C7EFFFFA5E7E7 001F306F5F5C5B5B001F3F7F7F7F7F7F 00000000000000000000184242000066 00000000000000000000185A7E182466 0000001818000000000018183C182466 00000000000804030000303038305088 00000000000B07030000303038335388 00000003030B0703000030333B335388 00030303030B0703000333333B335388 0000000000213F120000C0C0E0C0C0A0 0000000018393F120000C0C0F8D8C0A0 000000001E3F3F120000C0C0FEDEC0A0 000018181E3F3F120000D8D8FEDEC0A0 00001E1E1E3F3F120000DEDEFEDEC0A0 18181E1E1E3F3F121818DEDEFEDEC0A0 1E1E1E1E1E3F3F121E1EDEDEFEDEC0A0 000000187E7E7E7E0000187E7E4A4E4E 5A5A5A5A5A5A5A5A7E7E7E7E7E7E7E7E #3:BG LEVEL1 00001410000200020002000200020002 00020002000200020002000200020002 00000000000000000000000001020102 01020102010201020102010201020102 01020102010201020102010201020102 01020102010000000000000000000000 00000000000000000301000001000500 0E0401020702000207020F0201000000 03010000000000000301000000000000 03090000010005000000010007020002 07021F02010000000000060005000000 00000008000000000000000001000500 000001000702000207021F0201000000 03090000000000000500060800000000 00000000010000000000010007020002 07021F02010000000000000000000000 00000000000003090000000001000000 000001000702000207021F0201000000 00000500000000000000000000000500 00000000010000000500010007020002 07021F02010001000100010001000100 01000100020001000100010001000000 050001000702000207021F0201021101 00000000000000000000000000000500 05000500010000000000010007020002 07021F020100000A1E04010A01000100 01000100010001000100010001000100 020201000702000207021F0201020000 0000010A050005000000000000000000 00000000050005000000010207020002 07021F02010205000000020A00000000 00000000050005000500000000000000 000002020000000000000F1201020102 01020102010201020102010201020102 01020102010201020102010201020102 01020102000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #14:BG TITLE 00001410000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 01000100010001000000010001000100 01000000010001000100000005000500 05000000000000000100000000000000 00000100000000000100000001000000 00000000000000000000000000000000 01000000000000000000010001000100 01000000010000000100010001000100 01000000000000000100010001000000 00000100000000000100000001000000 01000000010000000100000000000000 01000000000000000000010000000000 01000000010000000100000000000000 01000000000000000100000000000000 00000000000000000000000000000000 00000000000000000000000000000000 01000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000100000000000000 00000000000000000000000000000000 00000000000000000000000000000000 01000000000000000000010000000100 01000000010001000100000005000500 05000000000000000100000000000000 00000100000001000000000001000000 00000000050006000500000000000000 01000000000000000000010000000100 01000000010001000000000005000600 05000000000000000100000000000000 00000100000001000000000001000000 00000000050000000500000000000000 01000100010001000000010000000100 00000000010001000100000005000500 05000000