8-Bit Software Online Conversion
Push The Bale - Listing
50MODE7
51PROCchrs
52PROCstart
53MODE5
60VDU5:IFK%=78 PROCnew
70REPEAT:CLS:PROCmap
80REPEAT:K%=0:K%=INKEY(10)
90IFK%=47 OR K%=58 OR K%=88 OR K%=90P
ROCtest:*FX21,0
130IFK%=127 PROCback
140IFK%=27 PROCclean:PROCmap
150UNTILK%=78 OR K%=81 OR P%=A%
160IFP%=A% PROCcomp
170IFK%=78 PROCnew
180UNTILK%=81:MODE7:END
200DEFPROCtest:D%=1:Z%=0
210N%=Y%:E%=X%:W%=Y%:V%=X%
220IFK%=47 Y%=Y%-1:W%=Y%-1:M$=D$
230IFK%=58 Y%=Y%+1:W%=Y%+1:M$=U$
240IFK%=88 X%=X%+1:V%=X%+1:M$=R$
250IFK%=90X%=X%-1:V%=X%-1:M$=L$
260C%=POINT(X%*64+32,Y%*32-16)
270IFC%=3 PROCmove:F%=1
280IFC%=1 Y%=N%:X%=E%
290IFC%=0PROCmove:F%=0
300IFC%=2 PROCpush
310FORT%=1 TO 300:NEXT:ENDPROC
330DEFPROCmove
340MOVEE%*64,N%*32:PRINT X$;
350IFF%=1 PRINT A$
360MOVEX%*64,Y%*32:PRINT M$:ENDPROC
380DEFPROCpush
390C%=POINT(V%*64+32,W%*32-16)
400IFC%=1 OR C%=2 Y%=N%:X%=E%:Z%=0:END
PROC
410D%=POINT(X%*64+16,Y%*32-16)
420MOVEX%*64,Y%*32:PRINT X$
430MOVEV%*64,W%*32
440IFC%=3 PRINT P$ ELSE PRINT B$
450PROCmove:F%=0:IFC%=3 P%=P%+1
460IFD%=1 F%=1:P%=P%-1
470Z%=1:ENDPROC
490DEFPROCback:IFD%=0ENDPROC
500MOVEX%*64,Y%*32:PRINT X$;
510IFF%=1 PRINT A$:F%=0
520IFPOINT(E%*64+32,N%*32-16)=3 F%=1
530MOVEE%*64,N%*32:PRINT M$
540IFZ%=1 PROCBale
550Y%=N%:X%=E%:D%=0:ENDPROC
570DEFPROCBale
580C%=POINT(V%*64+16,W%*32-16)
590MOVEV%*64,W%*32:PRINT X$;
600IFC%=1 PRINT A$:P%=P%-1
610C%=POINT(X%*64+32,Y%*32-16)
620MOVEX%*64,Y%*32
630IFC%=3 PRINT P$:P%=P%+1
640IFC%=0PRINT B$
650ENDPROC
670DEFPROCcomp:VDU19,2,11,0,0,0
680S%=S%+1:IFS%=51 S%=1
690TIME=0:REPEAT:UNTILTIME>800
700VDU19,2,3,0,0,0:ENDPROC
720DEFPROCmap:P%=0:A%=0:F%=0
730RESTORE (1690+10*S%)
740READ R%:U%=(32-R%)/2
750FORY%=1 TO R%:READ Z$
760IFK%=27 NEXT ELSE PROCconv:PROCplot
(W$):NEXT
770FORY%=2 TO R%-1:READ Z$
780IFZ$="X" Z$="0":Y%=R%-1
790IFZ$<>"0" PROCconv:PROCplot(A$)
800NEXT:FORY%=3 TO R%-2:READ Z$
810IFZ$<>"0" PROCconv:PROCplot(B$)
820NEXT:READ X%,Y%:Y%=Y%+U%
830MOVE300,900:PRINT"SCREEN - ";S%
840MOVEX%*64,32*Y%:PRINT S$:ENDPROC
860DEFPROCconv:Y$=""
870REPEAT:Z$="0"+Z$:UNTILLEN(Z$)=6
880FORI%=2 TO 6:N$=MID$(Z$,I%,1)
890IFN$="0" N$="0000"
900IFN$="1" N$="0001"
910IFN$="2" N$="0010"
920IFN$="3" N$="0011"
930IFN$="4" N$="0100"
940IFN$="5" N$="0101"
950IFN$="6" N$="0110"
960IFN$="7" N$="0111"
970IFN$="8" N$="1000"
980IFN$="9" N$="1001"
990IFN$="A" N$="1010"
1000IFN$="B" N$="1011"
1010IFN$="C" N$="1100"
1020IFN$="D" N$="1101"
1030IFN$="E" N$="1110"
1040IFN$="F" N$="1111"
1050Y$=Y$+N$:NEXT:ENDPROC
1070DEFPROCplot(I$):MOVE64,(Y%+U%)*32
1080FORX%=2 TO 20:N$=MID$(Y$,X%,1)
1090IFN$="1" N$=I$ ELSE N$=O$
1100IFN$=B$ A%=A%+1:IFPOINT(X%*64-32,(Y
%+U%)*32-16)=3 N$=P$:P%=P%+1
1110PRINT N$;:NEXT:ENDPROC
1130DEFPROCclean:FORY%=2 TO R%-1
1140MOVE128,(Y%+U%)*32:FORX%=3 TO 19
1150IFPOINT(X%*64-32,(Y%+U%)*32-16)<>1
PRINTH$; ELSE PRINTO$;
1160NEXT:NEXT:ENDPROC
1180DEFPROCstart:S%=1
1190VDU23;8202;0;0;0;:*FX229,1
1200T$="Public Domain - 8BS "
1210PRINTTAB(3,16)"From:"SPC4"8-Bit Sof
tware,"'SPC12"17 Lambert Park Road,"'SPC
12"Hedon,"'SPC12"Hull HU12 8HF."
1220FORI%=3 TO 4:PRINTTAB(5,I%)CHR$141C
HR$129CHR$157CHR$135T$CHR$156:NEXT
1230T$="PUSH-the-Bale by Carl Wheat"
1240PRINTTAB(4,9)CHR$141T$
1250PRINTTAB(4,10)CHR$141T$
1260T$=STRING$(29,"£")
1270PRINTTAB(3,8)CHR$147T$
1280PRINTTAB(3,12)CHR$147T$
1290PRINTTAB(2,23)CHR$134"Do you want i
nstructions? - Y/N"
1300K$=GET$:IFK$="N" ENDPROC
1310CLS:PRINTTAB(0,2)CHR$131"Your view
is from above looking at a"'CHR$131"man
working in a wharehouse."
1320PRINTTAB(0,5)CHR$131"All the yellow
Bales have to be pushed"'CHR$131"onto t
he white targets. The following"'CHR$131
"keys can be used to move the man:"
1330PRINTTAB(6,9)"Z - LEFT"SPC(7)"X - R
IGHT"TAB(6,11)": - UP"SPC(9)"/ - DOWN"
1340PRINTTAB(0,13)CHR$131"Or a Joystick
can be used. Also use;"
1350PRINTTAB(6,15)"DELETE - backspace l
ast move"TAB(6,17)"ESCAPE - Resets the s
creen"TAB(6,19)"N - enter New screen num
ber"TAB(6,21)"Q - to Quit the game"
1360PRINTTAB(9,23)CHR$129CHR$157CHR$135
"Press Any Key "CHR$156
1370K%=GET:ENDPROC
1390DEFPROCnew:REPEAT:GCOL0,2
1400MOVE160,200:PRINT"INPUT NEW SCREEN"
:MOVE224,150:PRINT"NUMBER, 1 - 50"
1410MOVE300,50:INPUT"SCREEN ";S%
1420MOVE812,50:PRINTSTRING$(8,H$)
1430UNTILS%>0AND S%<51:ENDPROC
1450DEFPROCchrs
1460VDU23,224,0,24,60,60,24,0,0,102
1470VDU23,225,0,0,66,66,102,102,102,0
1480VDU23,226,102,0,0,24,60,60,24,0
1490VDU23,227,0,102,102,102,66,66,0,0
1500VDU23,228,0,128,140,30,30,140,128,0
,23,229,0,124,112,0,0,112,124,0
1510VDU23,230,0,1,49,120,120,49,1,0
1520VDU23,231,0,62,14,0,0,14,62,0
1530VDU23,232,0,0,24,60,60,24,0,0
1540VDU23,233,0,0,0,66,66,102,0,0
1550VDU23,234,0,66,0,24,24,0,66,0,23,23
5,126,231,255,189,189,255,231,126
1560VDU23,236,255,68,68,255,255,17,17,2
55,23,237,0,36,90,36,36,90,36,0
1570VDU23,238,0,0,0,0,0,0,0,0,23,255,25
5,255,255,255,255,255,255,255
1580H$=CHR$18+CHR$0+CHR$0+CHR$255
1590B$=CHR$18+CHR$0+CHR$2+CHR$235
1600P$=CHR$18+CHR$0+CHR$2+CHR$235+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$237
1610W$=CHR$18+CHR$0+CHR$3+CHR$255+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$236
1620A$=CHR$18+CHR$0+CHR$3+CHR$234
1630D$=CHR$18+CHR$0+CHR$3+CHR$224+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$225
1640U$=CHR$18+CHR$0+CHR$3+CHR$226+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$227
1650L$=CHR$18+CHR$0+CHR$3+CHR$228+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$229
1660R$=CHR$18+CHR$0+CHR$3+CHR$230+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$231
1670S$=CHR$18+CHR$0+CHR$3+CHR$232+CHR$8
+CHR$18+CHR$0+CHR$1+CHR$233
1680O$=CHR$238:X$=H$+CHR$8:ENDPROC
1700DATA11,7F00,41FF,7DD61,40001,45BE1,
75A3F,10200,1C600,4400,4400,7C00,0,6,6,6
,X,0,12000,0,0,2800,800,2000,12,3
1710DATA10,3FFC,E084,8084,9E84,9804,C28
4,86FC,8010,8210,FFF0,18,18,18,18,18,X,1
200,100,0,1000,2800,2A40,10,5
1720DATA10,3FC00,207FE,30002,20602,3FE2
E,308,208,24C,204,3FC,1E000,E000,1E000,X
,120,90,80,A0,90,A0,16,9
1730DATA14,7FF00,42180,42080,40180,4218
0,6FF80,42080,420FF,40081,42081,42001,7F
F81,81,FF,0,0,0,0,0,0,0,1E,1E,1E,1E,1E,D
800,1000,0,0,8000,19500,8200,1D200,500,0
,11,3
1740DATA13,FC,84,3B4,204,3FE0C,20604,20
00C,2060E,3FEE2,202,2B2,23E,3E0,0,0,0,0,
1E000,1E000,1E000,X,0,A0,40,120,160,90,0
,8,40,16,6
1750DATA11,39F8,6D08,4708,4008,4508,45C
8,4478,4440,4040,4640,7FC0,30,30,30,30,3
0,X,0,1800,1000,1000,900,1200,900,6,3
1760DATA12,7800,4EF8,4288,4388,4008,438
8,77DC,41C4,4004,6984,3F8C,F8,0,70,70,70
,30,X,1800,0,1500,1000,20,800,200,30,10,
10
1770DATA16,7F80,4080,4080,4080,4080,408
0,1F3FE,10002,1028A,14062,1CA7A,4042,488
2,4002,4FFE,7800,3F00,3F00,3F00,X,0,0,0,
0,0,10A8,900,2A00,1000,A00,1210,228,4,10
1780DATA14,1FE0,1020,3F03E,20002,31022,
1F03E,1060,1DFE,D82,982,802,F82,82,FE,0,
0,0,0,0,0,0,1C,1C,14,1C,1C,680,4848,A00,
280,700,0,0,0,0,0,3,4
1790DATA16,7FFF,4005,5FF5,7D015,45005,4
5005,4D019,69011,43F71,41011,71011,41011
,41011,40001,6F011,39FFF,2,2,2,18002,180
02,6,E,E,E,E,E,E,E,0,0,0,770,200,6A0,280
,0,540,200,106C0,E080,18CA0,3,15
1800DATA15,3C00,25E0,2738,200C,3606,20D
2,740A,7C482,4410F,4006F,7F9C1,F41,51,41
,7F,0,0,0,0,0,0,0,0,0,2,36,2E,3E,800,400
,1A0,20,1A0,1020,1800,100,0,0,0,12,4
1810DATA13,3F8,208,3E0E,3E362,20B62,2E0
62,28062,2A0E2,28036,28024,2BF04,20004,3
FFFC,0,0,1C,1C,1C,1C,1C,X,0,0,0,1D00,A00
,1500,A00,1540,0,9,9
1820DATA13,3C000,243FF,27E19,60001,444A
9,46601,402A9,4A201,526A9,42481,70487,18
CF8,FF80,0,0,1C,14,14,14,14,14,1C,X,1000
0,9120,10040,140,10800,1000,4800,9000,0,
7,9
1830DATA16,1E,FF2,822,3B8A,3E00A,2038A,
2009A,2420A,31EEB,17001,10035,17031,111F
F,10410,1FC10,7F0,0,0,0,0,0,0,0,0,FC0,FC
0,FC0,X,0,0,80,2860,5C20,2040,4,0,1000,0
,C000,140,12,14
1840DATA16,1F00,3F100,24100,20900,23BF8
,32088,1002E,120A2,1BD82,1201E,12090,106
10,1D0F0,4080,4480,7F80,0,0,0,0,1F00,1F0
0,1F00,X,0,C000,0,0,2640,4000,200,40,220
,2100,800,800,8,11
1850DATA15,7800,4800,4FF8,4208,4208,E06
8,9628,86C8,9818,1C830,10020,10F20,109E0
,11800,1F000,0,0,1F0,1F0,190,10,10,X,0,1
800,80,200,900,2000,140,400,3440,4000,0,
6,10
1860DATA14,3F00,2100,1EDFC,10046,14042,
107D2,1ECF6,4992,4002,7F26,213C,2010,211
0,3FF0,0,0,0,0,0,0,0,0,0,1800,1800,1800,
0,2400,1210,2000,0,0,0,0,0,0,5,4
1870DATA13,1E00F,13FF9,10001,10A4D,1A10
5,7B445,4066D,44021,64707,3ECBC,2808,208
8,3FF8,0,0,0,0,0,3000,3800,1800,300,400,
400,0,2010,B0,4900,0,10084,0,0,0,14,11
1880DATA16,7FFFF,404C1,78401,40005,41EA
1,6E2BF,6A8A0,682A0,60EA0,600A0,44FA0,44
C20,461E0,7C100,10F00,1F800,1E,1E,1A,1E,
X,4900,1100,8000,0,1000,1000,A000,9000,1
0000,10000,0,1000,7,15
1890DATA16,FF00,81BF,80E1,79C21,40825,5
0021,509E5,5C921,53B05,50821,50125,50D21
,5FDE7,41024,7C03C,7FE0,0,1E,16,2,16,2,6
,2,6,2,6,X,600,2010,2280,8910,200,10,0,4
010,4800,10,200,100,15,14
1900DATA15,7C0,C7C,F844,8AC4,A284,8C04,
1E024,12C3C,12C20,10020,1AC20,1BD20,101E
0,10100,1FF00,0,38,38,68,78,X,200,0,0,0,
740,80,100,74C0,0,0,0,7,11
1910DATA16,7FFFF,40101,6FC7D,40001,41C0
3,41EF2,51012,50002,59012,51012,43FFB,60
481,40081,42411,43F9F,7E0F0,0,0,0,0,0,F6
0,FF0,7E0,FE0,X,100,10520,10110,A104,400
0,1008,0,4,8000,14020,9228,4080,11,13
1920DATA14,7F0,3C90,649F,4491,3C491,244
11,20481,24491,24091,64491,44491,44491,4
7CF3,7C79E,00,00,6,6,2,6,6,6,6,6,6,4,140
,00,2140,800,1040,900,2040,B00,A040,00,1
6,8
1930DATA16,3FFF0,26490,2401F,20411,2100
1,7034B,7093B,45C3B,44B3B,408CB,6F109,40
001,7FF23,40012,4001E,7FFF0,0,0,0,0,0,0,
0,0,0,0,0,0,3FF20,3FF20,800,4B80,8250,80
0,2000,12000,8000,0,20,904,80,C0,4,2
1940DATA16,7FE1F,40211,5FBF1,51B07,5002
2,5E802,40857,42301,641F9,441F9,46FCF,68
004,4AF84,48204,4FFFC,78000,0,0,0,0,0,0,
0,0,0,0,7F8,38,DF8,X,404,0,800,7C0,28,9C
00,11000,10000,1000,10000,0,0,17,10
1950DATA12,3FC,206,7E62,C822,C002,89FE,
8904,8804,8904,C91C,49F0,7F00,0,0,0,0,0,
E8,E0,E0,E0,X,18,180,2028,200,1000,2600,
1000,0,17,3
1960DATA13,FC0,3F860,2033F,20001,26E99,
30081,1059B,7FC01,40929,40821,601A9,2042
3,3FFFE,0,0,0,0,0,0,0,3F000,3F000,1F000,
1C000,8480,B048,4,1020,244,128,0,100,204
,11,2
1970DATA15,1F0,3F10,201E,2022,6002,3C03
2,24DE2,20842,34842,27EE2,20032,3E01A,30
1E,1F10,1F0,0,0,4,1C,C,1C,38,38,18,C,4,X
,280,C80,520,B00,2000,8000,0,0,300,940,4
80,3,7
1980DATA13,7FFFF,48889,40001,4FFD9,6C00
B,4C00B,4EFFB,48041,68511,6A03F,43FE0,46
000,7C000,0,0,0,1FE0,1FE0,X,8908,10004,1
4A0,400,0,104,A00,0,10000,12,9
1990DATA14,7C3E,7C7E3,4C4C1,40441,4EC43
,68042,68EFA,6E2C2,402C2,462C2,47CD6,7C8
02,882,FFE,1C,3C,34,3C,3C,X,1000,11008,1
00,200,4,0,11838,10010,100,28,6,9
2000DATA16,7C00,4400,4600,43C0,1E078,12
008,339C8,20A48,2006F,24A01,31A01,10213,
1101E,19910,9FF0,F000,3800,3800,3C00,1F8
0,1E00,X,0,0,0,0,20,A400,8480,38,2140,90
A0,2500,0,10,13
2010DATA15,3C0,240,270,238,7E08,4208,40
18,4210,4210,F610,8210,C370,6040,3E40,3C
0,0,0,0,0,3800,3C00,3C00,3C00,X,100,0,14
0,80,C0,20,140,20,2880,1000,80,5,11
2020DATA15,FFF0,E610,C210,8250,F050,82F
0,9210,9210,8A30,82F0,8210,F610,C010,C19
0,FFF0,1800,3C00,7C00,C00,C00,X,40,80,10
0,0,2400,40,80,3800,800,C0,440,14,5
2030DATA15,1E00,13E0,7038,4208,436C,4E6
4,5034,4024,DC04,8264,824C,C298,5430,406
0,7FC0,0,0,0,0,0,0,0,0,0,3C00,3C00,2800,
3C00,A00,840,0,0,280,2540,80,110,0,0,80,
14,12
2040DATA16,3F7E0,21420,6DC20,40020,436B
E,500A2,405A3,4A1A1,7A7AD,20C81,200AF,6D
C81,45C41,41001,442E1,7FFBF,0,0,0,0,0,0,
0,0,0,0,1E,1E,3E,1E,100,18300,8000,5000,
12000,1000,0,5000,A000,0,0,6000,11,14
2050DATA16,7FF0,4010,4010,3F870,208C8,2
0408,211CE,21DC3,37CC1,17DF1,70D83,40002
,41B66,47804,7CFC4,7C,3FE0,3FE0,680,X,0,
0,0,D060,8000,8210,8000,C,4000,5048,1000
0,150,11,9
2060DATA15,700,7DF0,C510,8010,81BF,1DA1
9,10299,10019,70889,45F09,40271,4E001,40
131,401FF,7FF00,0,0,0,0,0,0,0,0,38000,38
000,30000,3F000,3F000,0,480,1400,0,2144,
3520,44,2000,2800,840,0,10,2
2070DATA11,3C00,27F0,2010,2290,28B0,202
0,68A0,4320,4020,7F20,1E0,0,0,0,500,700,
700,X,1200,40,0,800,1000,440,100,13,10
2080DATA16,3E00,7E380,42080,420BC,420E4
,40404,4E5F7,60181,6FBB7,43081,430A1,400
81,43061,63061,3FFE1,3F,0,0,0,0,0,0,8,8,
1E,E,1E,1E,1E,1E,600,1C800,9500,4000,100
00,2400,0,8400,8600,D00,C200,0,12,13
2090DATA16,3FE00,20200,20200,28600,213F
C,3F044,4314,4984,6034,4414,4114,6D16,25
32,2502,2006,3FFC,1E000,1E000,17000,1E00
0,X,0,0,0,C00,60,10,A00,100,480,40,1200,
D0,17,13
2100DATA15,1E,33,7FFE1,40021,57F23,57F6
3,40001,4FF61,7881F,804,C04,604,304,18C,
F8,0,0,3FF80,20080,20000,20000,X,4,0,14,
0,1C,0,C0,210,190,60,0,18,7
2110DATA13,7C0,FC7E,8002,38002,23B83,28
011,28081,20091,38083,B683,8601,F03F,1FE
0,0,0,0,0,3F00,3F00,3F00,3F00,X,A48,A48,
4048,64,48,0,18,154,A0,18,11
2120DATA11,1FF,7FB11,44E01,440BB,40591,
4E401,60537,3D1B2,4402,7C9E,7F0,0,38000,
38000,38000,X,48,0,0,A48,0,C00,40,10,4
2130DATA15,1FF,101,175,3D45,7E701,40145
,4416D,67B01,2FA4F,2F008,23388,201F8,2BF
80,22000,3E000,0,0,38,38,38,X,0,0,0,0,88
00,80,20,420,8800,400,0,10,12
2140DATA14,1C000,161E0,13F38,1100E,1000
2,11402,135DE,16104,1C304,18604,10C1C,11
C10,114F0,1F780,0,0,0,0,0,0,0,3800,7800,
F000,E000,E000,0,5A0,2210,4240,0,20,50,2
0,120,80,8,5
2150DATA16,3FE0,2020,2038,2008,33E8,162
8,1408,1038,3408,2698,E09C,8084,A004,BF4
C,8078,FFC0,1FC0,1FC0,X,0,0,0,0,40,280,8
40,20,1300,40,A90,0,15,9
2160DATA11,F000,9FC0,3807F,20061,22E01,
28081,280B1,23631,3001F,1FF30,1E0,0,0,1E
,E,E,E,E,X,4000,9900,4180,0,6B40,0,2040,
9,6
2170DATA17,0,1FF0,1110,1010,1010,1010,1
010,1C70,440,7EFC,4004,4004,600C,2008,20
08,27C8,3C78,0,EE0,FE0,FE0,FE0,FE0,X,AA0
,540,AA0,540,AA0,0,0,0,0,1550,AA0,1550,2
80,11,15
2180DATA15,3FE,262,E02,7836,1CF74,10A14
,14014,10A04,1CBE4,7804,E0C,218,230,260,
3C0,0,0,0,0,1E0,1E0,1E0,X,80,108,0,2080,
400,10,0,40,120,C0,0,10,4
2190DATA16,1E07E,12043,138C1,10889,12F8
1,1015F,70554,40144,40E56,4D002,7890A,85
42,C2A6,6002,3022,1FFE,0,0,0,0,0,0,0,0,0
,7000,7800,3C00,1C00,C00,0,8000,4000,100
0,C000,11000,A000,0,0,1010,810,508,3,9