source: thomson/code/3rdparty/sources2-hcl/HCL Megademo/Megaspreader/SPREADER.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 7.2 KB
Line 
1****************************************
2* *
3* MEGADEMO SPREADER: 640Ko EN 3 PASSES *
4* *
5****************************************
6* Bâclé par un Doctor Lô très pressé ! *
7
8
9FONTE EQU $7770
10MESG EQU $7A70
11MAP2 EQU MAP+$2A6
12CHECKS EQU $B980 B900= sector 53-1
13COULR EQU $3E3E
14COULW EQU $2C2C
15CART EQU 13
16 ORG $7C00
17
18G ORCC #80
19 LDA #$E7
20 EXG A,DP
21 STA RDP+1
22 STS RDP-2
23 LDD #32
24 STA <$DB
25 STA <$DA
26 DECB
27 BNE *-3
28 LDA #$21
29 STA <$DC
30 CLR <$DD
31 LDA <$C3
32 ORA #1
33 STA <$C3
34 LDX #$4000
35 CLR ,X+
36 CMPX #$5F40
37 BNE *-5
38 DEC <$C3
39 CLR ,-X
40 CMPX #$4000
41 BNE *-5
42 LDX #MAP
43 STX $616B
44 LDD #$FF0E
45 STA $6249
46 STB $616D
47 LDD #$60B
48 STD $61D6
49 CLR $6288
50 LDB #69
51 JSR $EC0C
52 LDA #255
53 LDX #COLORS-40
54 JSR $EC00
55 LDA <$CD
56 BITA #64
57 BNE *-4
58 LDD #32
59 STA <$DB
60 STA <$DA
61 DECB
62 BNE *-3
63 STB <$DC
64 LDX #MAP2
65 STX $616B
66 LDD #$FF0E
67 STA $6249
68 STB $616D
69 LDD #$100
70 STD $61D6
71 CLR $6288
72 LDB #69
73 JSR $EC0C
74
75 LDA <$C3
76 ORA #1
77 STA <$C3
78 LDX #CHECKS
79 LDY #PRINT-3
80 LDS #$5D20
81 TST 8,X
82 BEQ PACHEK
83 LDB #$26
84 STB TCHEK
85 LDD 9,X
86 STD -3,Y
87 LDA 11,X
88 STA -1,Y
89
90PACHEK LDA #8
91 STA ,Y
92 LDB ,X+
93 LDA #5
94 MUL
95 LDU #FONTE+32
96 LEAU D,U
97 LDD ,U++
98 STA 80,S
99 STB 40,S
100 LDD ,U++
101 STA ,S+
102 STB -41,S
103 LDA ,U
104 STA -81,S
105 DEC ,Y
106 BNE PACHEK+4
107 LDS RDP-2
108 LDA #255
109 LDX #COLORS-32
110 JSR $EC00
111
112 LDA #$60
113 TFR A,DP
114 CLR <$49
115 CLR <$50
116 LDD #$301
117 JSR PRINT
118CLAV JSR $E806
119 CMPB #48
120 BLO CLAV
121 CMPB #57
122 BHI CLAV
123 SUBB #48
124 LBEQ RDP-4
125 STB PRINT-2
126
127 LDD #$9002
128 LDX #0
129 LDY #$4504
130 JSR DISK
131 LDX #$9000
132 JSR CHECK
133
134 LDA PRINT-2
135WRITE1 STA PRINT-3
136 ADDA #16
137 STA MESG+276
138 LDD #$9008
139 LDX #0
140 LDY #$4504
141 JSR DISK
142 LDA PRINT-3
143 DECA
144 BNE WRITE1
145
146 LDD #$8002
147 LDX #53
148 LDY #$4D4C
149 JSR DISK
150 LDX #$8100 checksector = 8000
151 JSR CHECK
152
153 JSR COMPT
154 LDA PRINT-2
155WRITE2 STA PRINT-3
156 ADDA #16
157 STA MESG+276
158 LDD #$8008
159 LDX #53
160 LDY #$4D4C
161 CLR <$49
162 JSR DISK
163 LDA PRINT-3
164 DECA
165 BNE WRITE2
166
167 LDD #$9002
168 LDX #27
169 LDY #$55BC
170 JSR DISK
171 LDX #$9000
172 JSR CHECK
173
174 LDA PRINT-2
175WRITE3 STA PRINT-3
176 ADDA #16
177 STA MESG+276
178 LDD #$9008
179 LDX #27
180 LDY #$55BC
181 JSR DISK
182 LDA PRINT-3
183 DECA
184 BNE WRITE3
185
186 CLR <$49
187 JMP QUIT
188
189DISK PSHS A,B,X,Y
190 CMPB #2
191 BEQ READ
192 LDD #$600
193 JSR PRINT
194 LDD #$201
195 JSR PRINT
196 JSR ACTION
197 LDD #0
198 JSR PRINT
199 LDD #$701
200 JSR PRINT
201 LDU #COULW
202 BRA JOIN
203READ LDD #$400
204 JSR PRINT
205 LDD #$201
206 JSR PRINT
207 JSR ACTION
208 LDD #0
209 JSR PRINT
210 LDD #$501
211 JSR PRINT
212 LDU #COULR
213JOIN PULS Y,X,B,A
214 STB <$48
215 STX <$4A
216 LDB #2
217 STB $E7E5
218 LDB #1
219 STB <$4C
220 STA <$4F
221CHARGE TST $E7C8
222 BEQ *+5
223 JMP RDP-4
224 JSR $E004
225 BCS ERROR
226 STU ,Y++
227 INCB
228 CMPB #17
229 BNE GOON+2
230 LDB #1
231 LEAY 8,Y
232 LEAX 1,X
233 CMPX #80
234 BNE GOON
235 LDX #0
236 LDB <$49
237 EORB #1
238 LDX #0
239 STB <$49
240GOON STX <$4A
241 STB <$4C
242 INCA
243 STA <$4F
244 CMPA #$E0
245 BNE CHARGE
246 LDA $E7E5
247 INCA
248 CMPA #CART
249 BNE *+3
250 INCA
251 CMPA #16
252 BEQ *+9
253 STA $E7E5
254 LDA #$A0
255 BRA CHARGE-2
256 RTS
257
258ERROR LDB <$4E
259 CMPB #2
260 BEQ CHARGE
261 LDX #COLORS+32
262 LDU #MESG+387
263 LSRB
264 LSRB
265 LSRB
266 LSRB
267 LDA B,X
268 LDB <$4E
269 ANDB #15
270 LDB B,X
271 STD ,U++
272 LDB <$48
273 LDA B,X
274 LDB <$49
275 LDB B,X
276 STD ,U++
277 LDB <$4B
278 LSRB
279 LSRB
280 LSRB
281 LSRB
282 LDA B,X
283 LDB <$4B
284 ANDB #15
285 LDB B,X
286 STD ,U++
287 LDB <$4C
288 LSRB
289 LSRB
290 LSRB
291 LSRB
292 LDA B,X
293 LDB <$4C
294 ANDB #15
295 LDB B,X
296 STD ,U
297 LDD #$900
298 JSR PRINT
299QUIT LDD #$101
300 JSR PRINT
301 TST $E7C8
302 BEQ *-3
303 LDS #0
304RDP LDA #0
305 TFR A,DP
306 LDA #255
307 LDX #COLORS
308 JSR $EC00
309 RTS
310 FDB 0,15,2,6
311 FDB 0,$FD0,$FB0,$F90,$F70,$F50
312 FDB $F30,4095,$666,$222,5,10
313 FDB $500,$A00,$50,$A0
314COLORS FDB 0,15,240,255,3840,3855
315 FDB 4080,4095,1911,826,931
316 FDB 938,2611,2618,3815,123
317 FDB $1011,$1213,$1415,$1617
318 FDB $1819,$2122,$2324,$2526
319 FDB 0,0,0
320PRINT LDX #MESG
321 LDU #$4078
322 TSTB
323 BEQ *+5
324 LDU #$41B8
325 LDB #40
326 MUL
327 LEAY D,X
328 LDA #40
329 STA PRINT-1
330 LDA $E7C3
331 ORA #1
332 STA $E7C3
333
334CHAR LDB ,Y+
335 LDA #8
336 MUL
337 LDX #FONTE
338 LEAX D,X
339 LDD ,X++
340 STA 160,U
341 STB 120,U
342 LDD ,X++
343 STA 80,U
344 STB 40,U
345 LDD ,X++
346 STA ,U+
347 STB -41,U
348 LDD ,X
349 STA -81,U
350 STB -121,U
351 DEC PRINT-1
352 BNE CHAR
353 DEC $E7C3
354 RTS
355ACTION LDA $E7CD
356 BITA #64
357 BNE ACTION
358 RTS
359CHECK LDD #2
360 STB $E7E5
361 ADDA ,X+
362 CMPX #$E000
363 BNE *-5
364 LDX #$A000
365 INCB
366 CMPB #CART
367 BNE *+3
368 INCB
369 CMPB #16
370 BNE CHECK+3
371 CMPA PRINT-6
372TCHEK LDA #4 -> BNE *+6
373 INC *-3
374 RTS
375 LDD #$800
376 JSR PRINT
377 JMP QUIT
378COMPT LDX #$8088
379 LDA ,-X
380 INCA
381 CMPA #10
382 BNE *+9
383 CLR ,X
384 CMPX #$8000
385 BNE COMPT+3
386 STA ,X
387 RTS
388MAP
389 END
Note: See TracBrowser for help on using the repository browser.