C64 Software  <  SCA: The C64 Software Collection / EPI3

  Run
1 IF CH=1 THEN 127
2 GOSUB 74:POKE53280,13:POKE53281,13:SYS 26624
3 N1$="":N2$="":BK=13:LG=1:NM$=N2$:GOTO119
4 POKE50950,2:SYS50944:EC=0:XD=0:YD=0:LI=40:HI=24:XA=0:YA=0:GOSUB249
5 LG=2:NM$=N1$:GOTO119
6 GOSUB 263
7 SC=1
8 GOSUB 81:POKE25765,85:POKE25793,221:POKE25821,221
9 GOSUB 212:POKE53269,127:X=1:Y=5:GA=0:POKE53264,0:POKE53269,1
10 GOSUB 137
11 GOSUB19
12 POKE 816,165:POKE817,244:GOSUB244
13 POKE53265,PEEK(53265)AND239:POKE53280,0:SYS50947
14 PRINT"";CHR$(34);"";CHR$(34);""
15 PRINT"":CLR
16 POKE631,13:POKE632,13:POKE198,2
17 NEW
18 END
19 SYS49306:T=PEEK(49381)
20 GOSUB 72
21 IF T=2 THEN 25
22 IF T=1 THEN 42
23 IF T=16 THEN 61
24 GOTO 19
25 SP=PEEK(25600+(3−SC)*48+Y*8+X)
26 IF SP=7 THEN 60
27 IF Y=5 THEN SC=SC−1:Y=0:GOSUB137:GOTO71
28 SF=PEEK(25600+(3−SC)*48+(Y+1)*8+X)
29 IF (SF<>1)AND (SF<>7) THEN 31
30 Y=Y+1:FOR I=32 TO 0 STEP−2:POKE53249,32*Y−I+YS:NEXTI:GOTO71
31 IF SF<>2 THEN 36
32 Y=Y+2:X=X+1:FOR I=63 TO 50 STEP−2:POKE53249,32*Y−I+YS:NEXTI
33 POKE2040,34:FOR I=49 TO 13 STEP−2:POKE53249,32*Y−I+YS
34 POKE53248,24*X−(I−13)/36*24+XS:NEXTI:POKE2040,32
35 FOR I=12 TO 0 STEP−2:POKE53249,32*Y−I+YS:NEXTI:GOTO71
36 IF SF<>4 THEN 41
37 Y=Y+2:X=X−1:FOR I=63 TO 50 STEP−2:POKE53249,32*Y−I+YS:NEXTI
38 POKE2040,33:FOR I=49 TO 13 STEP−2:POKE53249,32*Y−I+YS
39 POKE53248,24*X+(I−13)/36*24+XS:NEXTI:POKE2040,32
40 FOR I=12 TO 0 STEP−2:POKE53249,32*Y−I+YS:NEXTI:GOTO71
41 GOTO24
42 SP=PEEK(25600+(3−SC)*48+Y*8+X)
43 IF SP=6 THEN 60
44 IF Y>0 THEN 47
45 IF SC=3 THEN GA=1:RETURN
46 SC=SC+1:Y=5:GOSUB137:GOTO71
47 SF=PEEK(25600+(3−SC)*48+(Y−1)*8+X)
48 IF (SF<>1)AND (SF<>6) THEN 50
49 Y=Y−1:FOR I=32 TO 0 STEP−2:POKE53249,32*Y+I+YS:NEXTI:GOTO71
50 IF SF<>5 THEN 55
51 Y=Y−2:X=X+1:FOR I=63 TO 50 STEP−2:POKE53249,32*Y+I+YS:NEXTI
52 POKE2040,33:FOR I=49 TO 13 STEP−2:POKE53249,32*Y+I+YS
53 POKE53248,24*X−(I−13)/36*24+XS:NEXTI:POKE2040,32
54 FOR I=12 TO 0 STEP−2:POKE53249,32*Y+I+YS:NEXTI:GOTO71
55 IF SF<>3 THEN 60
56 Y=Y−2:X=X−1:FOR I=63 TO 50 STEP−2:POKE53249,32*Y+I+YS:NEXTI
57 POKE2040,34:FOR I=49 TO 13 STEP−2:POKE53249,32*Y+I+YS
58 POKE53248,24*X+(I−13)/36*24+XS:NEXTI:POKE2040,32
59 FOR I=12 TO 0 STEP−2:POKE53249,32*Y+I+YS:NEXTI:GOTO71
60 GOTO24
61 GX=X*3:GY=Y*4:J=0
62 FOR MA=1 TO 4:IF (GX=XM(MA,SC,0))AND(ABS(GY−XM(MA,SC,1))<2)THENJ=MA:MA=4
63 NEXTMA
64 IF J=0 THEN 19
65 AI=AA(J,SC):SE=EA(J,SC)
66 AI(AI,SE)=1−AI(AI,SE):M(J,SC)=1−M(J,SC)
67 SA=J
68 GOSUB 156
69 XA=XM(SA,SC,0):YA=XM(SA,SC,1):LI=1:HI=3:YD=4:XD=M(SA,SC):EC=1:GOSUB249
70 GOTO19
71 GOTO24
72 POKE53249,32*Y+YS
73 POKE53248,24*X+XS:RETURN
74 SYS50947:IF PEEK(49152)<>120 THEN LOAD"",8,1
75 IF PEEK(24955)<>32 THEN LOAD"",8,1
76 CT=CT+1:IFCT=1THEN POKE816,165:POKE817,244:LOAD"",8,1
77 RETURN
78 PRINT"";
79 FOR I=1 TO 4:PRINT"";:NEXTI
80 RETURN
81 REM
82 DEF FNLO(X)=X−INT(X/10)*10
83 DEF FNHI(X)=INT(X/10)
84 XS=26:YS=52
85 POKE25360,0:POKE25361,0
86 POKE25362,8:POKE25363,6
87 POKE25364,0:POKE25365,100
88 POKE25366,0
89 POKE25367,3:POKE25368,4
90 POKE25369,10
91 DIMXM(4,3,1)
92 FOR EC=1 TO 3:FOR AI=1 TO 4:FOR CO=0 TO 1:READXM(AI,EC,CO):NEXT CO,AI,EC
93 DATA 3,19,6,19,12,13,15,21, 3,11,3,1,6,12,9,21, 0,20,0,1,12,5,24,18
94 REM
95 DIM EA(4,3)
96 FOR EC=1 TO 3:FOR AI=1 TO 4:READEA(AI,EC):NEXTAI,EC
97 DATA 1,3,2,1 ,2,2,2,1 ,3,3,3,3
98 DATA 1,2,4,3 ,1,2,3,2 ,3,1,4,1
99 REM
100 DIMAA(4,3)
101 FOR EC=1 TO 3:FOR AI=1 TO 4:READAA(AI,EC):NEXTAI,EC
102 REM
103 DIM M(4,3)
104 FOR EC=1 TO3 :FOR MA=1 TO 4:READ M(MA,EC):NEXTMA,EC
105 DATA 0,0,1,0, 0,1,0,1 ,1,0,1,0
106 DIM PO(4,3)
107 REM
108 FOR EC=1 TO 3:FOR AI=1 TO 4:READPO(AI,EC):NEXT AI,EC
109 DATA 30,24,45,00 ,41,22,43,35 ,20,41,44,25
110 DIMTAI(4,3)
111 FOR EC=1 TO 3:FOR AI=1 TO 4:READTAI(AI,EC):NEXT AI,EC
112 DATA 2,1,3,0 ,1,1,1,2 ,1,1,2,2
113 DIM AI(4,3)
114 FOR EC=1 TO 3:FOR AI=1 TO 4:READAI(AI,EC):NEXT AI,EC
115 DATA1,1,0,0, 0,1,0,1 ,0,1,0,0
116 REM
117 FOR SE=1 TO 3:FOR AI=1 TO 4:GOSUB 156:NEXTAI,SE
118 RETURN
119 REM
120 REM
121 REM
122 REM
123 IF NM$="" THEN 132
124 POKE53265,PEEK(53265)AND 239
125 E=0:CH=1
126 POKE53281,BK
127 E=E+1
128 POKE 53280,E−1:SYS50947
129 IF E=1 THEN LOAD""+NM$,8,1
130 IF E=2 THEN LOAD""+NM$,8,1
131 IF E=3 THEN LOAD""+NM$,8,1
132 CH=0
133 IF LG=1 THEN 4
134 IF LG=2 GOTO 6
135 IF LG=3 GOTO 63999
136 IF LG=4 GOTO 63999
137 REM
138 REM
139 REM
140 POKE53280,0:POKE53265,PEEK(53265)AND239
141 REM
142 SYS25744:SC=4−SC
143 POKE25364,48*(SC−1):SYS 25376
144 XD=28:YD=0:LI=12:HI=24:XA=25:YA=0:EC=1:GOSUB 249
145 ON SC GOTO 146,147,148
146 GOTO149
147 XD=10:YD=4:LI=7:HI=20:XA=31:YA=2:EC=1:GOSUB 249:GOTO149
148 XD=17:YD=4:LI=11:HI=20:XA=28:YA=4:EC=1:GOSUB 249:GOTO149
149 SC=4−SC:FOR MA=1 TO 4:XA=XM(MA,SC,0):YA=XM(MA,SC,1):YD=4:XD=M(MA,SC)
150 LI=1:HI=3:EC=1:GOSUB249:NEXTMA
151 POKE53265,PEEK(53265)OR16
152 RETURN
153 REM
154 REM
155 REM
156 IF  AI(AI,SE)=1 THEN 164
157 IF TAI(AI,SE)=0 THEN RETURN
158 ON TAI(AI,SE) GOTO 160,161,162,163
159 GOTO 170
160 N1=1:N2=0:GOSUB171:GOTO170
161 N1=0:N2=1:GOSUB171:GOTO170
162 N1=1:N2=0:GOSUB171:GOTO170
163 N1=1:N2=1:GOSUB171:GOTO170
164 ON TAI(AI,SE) GOTO 166,167,168,169
165 GOTO 170
166 N1=2:N2=3:GOSUB171:GOTO170
167 N1=2:N2=3:GOSUB171:GOTO170
168 N1=5:N2=4:GOSUB171:GOTO170
169 N1=2:N2=3:GOSUB171:GOTO170
170 RETURN
171 XA=FNLO(PO(AI,SE)):YA=FNHI(PO(AI,SE))
172 POKE 25600+(3−SE)*48+YA*8+XA,N1
173 POKE 25600+(3−SE)*48+YA*8+XA+1,N2
174 XA=XA*3:YA=YA*4
175 IF SE<>SC THEN 179
176 EC=1:XD=N1*3:YD=0:LI=3:HI=4
177 GOSUB249
178 XA=XA+3:XD=N2*3:GOSUB249
179 RETURN
180 REM
181 REM
182 REM
183 DATA 0,0,63,128,0,255,224,3,251
184 DATA 248,3,241,248,3,228,248,3
185 DATA 241,248,3,251,248,3,255,248
186 DATA 3,192,120,6,63,140,6,224
187 DATA 236,6,255,236,6,191,172,12
188 DATA 191,166,12,191,166,12,187
189 DATA 166,12,255,230,12,255,230
190 DATA 12,255,230,12,128,38,7,255
191 DATA 252
192 REM
193 DATA 0,0,1,224,0,3,240,0,7,248,0
194 DATA 15,252,0,63,30,0,126,79,0
195 DATA 198,239,3,186,79,7,117,31
196 DATA 12,218,254,25,189,124,19
197 DATA 126,184,13,239,176,4,253
198 DATA 176,2,123,96,1,54,192,0,157
199 DATA 128,0,73,128,0,51,0,0,22
200 DATA 0,0,12,0
201 REM
202 REM
203 DATA 0,7,128,0,15,192,0,31,224,0
204 DATA 63,240,0,120,252,0,242,126
205 DATA 0,247,99,0,242,93,192,248
206 DATA 174,224,127,91,48,62,189
207 DATA 152,29,126,200,13,247,176
208 DATA 13,191,32,6,222,64,3,108
209 DATA 128,1,185,0,1,146,0,0,204
210 DATA 0,0,104,0,0,48,0
211 REM
212 REM
213 REM
214 NL=1/2
215 FOR SJ=0 TO 2:READ CO
216 POKE 2040+SJ,32+SJ
217 FOR I=0 TO 62:READ V:POKE 2048+64*SJ+I,V:NEXTI
218 NL=2*NL
219 OL=255−1
220 REM
221 POKE53276,0
222 POKE53287+SJ,CO
223 POKE 53285,0
224 NEXT SJ
225 RETURN
226 REM
227 REM
228 REM
229 POKE49266,208:POKE49267,20:POKE49271,27:POKE49273,200
230 REM
231 POKE49274,24:POKE49269,00
232 REM
233 POKE 49276,15:POKE49277,0
234 REM
235 POKE49278,151
236 HO=8192
237 REM
238 POKE49268,BK:POKE49269,0
239 SYS49152
240 RETURN
241 REM
242 REM
243 REM
244 SYS49296
245 RETURN
246 REM
247 REM
248 REM
249 POKE49603,EC
250 REM
251 REM
252 POKE49288,XD
253 POKE49289,YD
254 POKE49290,LI
255 POKE49291,HI
256 REM
257 REM
258 POKE49292,XA
259 POKE49293,YA
260 REM
261 SYS 50096
262 RETURN
263 REM
264 REM
265 REM
266 POKE53265,PEEK(53265)OR32
267 POKE53270,PEEK(53270)OR16
268 POKE53272,PEEK(53272)OR 8
269 RETURN
READY.