/[projet1]/public/atari/tools/MOULINEX/PRES7.S
Defence Force logotype

Contents of /public/atari/tools/MOULINEX/PRES7.S

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1389 - (show annotations)
Tue Mar 7 19:16:33 2017 UTC (2 years, 6 months ago) by dbug
File size: 11153 byte(s)
Added Moulinex, old tool to convert MOD files to LOW format and vice versa
1 opt d+,o+,w-
2 move #0,-(sp)
3 move.l #-1,-(sp)
4 move.l #-1,-(sp)
5 move #5,-(sp)
6 trap #14
7 lea 12(sp),sp
8
9 output pres.prg
10 ; org $80+28
11 pea debut0
12 move #$26,-(sp)
13 trap #14
14 addq.l #6,sp
15 move #1,-(sp)
16 move.l #-1,-(sp)
17 move.l #-1,-(sp)
18 move #5,-(sp)
19 trap #14
20 lea 12(sp),sp
21 clr -(sp)
22 trap #1
23
24 include playmode.s
25 modfile incbin f:\krom_mit.prg\modules.low\concert.low
26 fmode
27 even
28 debut0
29 move #$2700,sr
30 lea garf,a0
31 movem.l $ffff8240.w,d0-d7
32 movem.l d0-d7,(a0)
33 lea $ffff8240.w,a1
34 rept 8
35 clr.l (a1)+
36 endr
37 lea 8*4(a0),a0
38 move.l $70.w,(a0)+
39 move.b $fffffa07.w,(a0)+
40 move.b $fffffa09.w,(a0)+
41 move.b $fffffa13.w,(a0)+
42 move.b $fffffa17.w,(a0)+
43
44 jsr debut
45
46 move #$2700,sr
47 lea garf,a0
48 movem.l (a0)+,d0-d7
49 movem.l d0-d7,$ffff8240.w
50 move.l (a0)+,$70.w
51 move.b (a0)+,$fffffa07.w
52 move.b (a0)+,$fffffa09.w
53 move.b (a0)+,$fffffa13.w
54 move.b (a0)+,$fffffa17.w
55 move #$2300,sr
56 rts
57
58 garf ds.l 4+8
59
60 wait macro
61 move d0,-(sp)
62 moveq #\1,d0
63 .\@
64 bsr vsync
65 dbra d0,.\@
66 move (sp)+,d0
67 endm
68
69 debut
70 move #$2700,sr
71 move.l a7,spile
72 lea npile,a7
73 lea $fffffa00.w,a0
74 clr.b 7(a0)
75 clr.b 9(a0)
76 clr.b 17(a0)
77 move.l #screen,d0
78 clr.b d0
79 add.l #256,d0
80 lea $ffff8201.w,a0
81 move.l d0,buf1
82 add.l #32000,d0
83 move.l d0,buf2
84 lsr.l #8,d0
85 movep d0,(a0)
86 move.l #nvbl,$70.w
87 moveq #7,d0
88 lea $ffff8240.w,a0
89 .arg
90 clr.l (a0)+
91 dbra d0,.arg
92 move.l buf1,a0
93 move #(64000/8)-1,d0
94 .eff
95 clr.l (a0)+
96 clr.l (a0)+
97 dbra d0,.eff
98
99 jsr joue_strk
100 move #$2300,sr
101 *
102 lea data,a6 * ne plus topucher a a6
103 movem.l (a6)+,d0-d7
104 *
105 move.l buf1,a0
106 move #199,d0
107 .rf
108 move.l 1600(a6),160-8(a0)
109 move.l (a6)+,(a0)+
110 move.l 1600(a6),160-8(a0)
111 move.l (a6)+,(a0)+
112 lea 160-8(a0),a0
113 dbra d0,.rf
114 move.l buf1,a0
115
116 lea data+3232,a6 * ne plus topucher a a6
117 moveq #6,d1
118 moveq #18*2-1,d0
119 addq.l #8,a0
120 .rf1
121 move.l (a6)+,(a0)+
122 dbra d0,.rf1
123 moveq #18*2-1,d0
124 lea 16(a0),a0
125 dbra d1,.rf1
126 lea 160*(200-17-7)(a0),a0
127
128 moveq #16,d1
129 moveq #18*2-1,d0
130 .rf2
131 move.l (a6)+,(a0)+
132 dbra d0,.rf2
133 moveq #18*2-1,d0
134 lea 16(a0),a0
135 dbra d1,.rf2
136
137 move.l buf1,a0
138 lea 7*160+8(a0),a0
139 move #(200-7-17)-1,d0
140 moveq #17,d1
141 .rf3
142 move.l #$ffff0000,(a0)+
143 move.l #0,(a0)+
144 dbra d1,.rf3
145 lea 16(a0),a0
146 moveq #17,d1
147 dbra d0,.rf3
148
149 lea datasnurf,a6
150 move.l buf1,a1
151 bsr copie_gris
152 move.l buf1,a1
153 bsr sprmerde
154
155 move.l buf1,a0
156 move.l buf2,a1
157 move #(32000/4)-1,d0
158 .aff0
159 move.l (a0)+,(a1)+
160 dbra d0,.aff0
161
162 *
163 lea $ffff8240.w,a0
164 lea palettes,a1
165 moveq #15,d0
166 .scroll
167 wait 2
168 movem.l 8(a1),d2-d7
169 movem.l d2-d7,8(a0)
170 lea 8*4(a1),a1
171 dbra d0,.scroll
172 *
173 wait 100
174
175 lea $ffff8240.w,a0
176 lea palettes,a1
177 moveq #15,d0
178 .scroll1
179 wait 2
180 move.l (a1),(a0)
181 move.l 4(a1),4(a0)
182 lea 8*4(a1),a1
183 dbra d0,.scroll1
184
185
186 *--------------------------
187 *
188 * aparition de la pyramide
189 bsr pyramide
190 *
191 *
192 *
193 * ALEANG Jean Marc
194 * 27 rue Eggerickx
195 * 1150 BRUXELLE
196 * TEL : 762-22-67 .....
197 * Accessible .
198 *
199 *
200 *--------------------------
201
202 * tout tremble
203 bsr tremble
204
205 * les eclair surgissent
206 bsr ecl
207
208 * a la fin , apparition des flammes
209 bsr flamme
210
211 wait
212 bsr vsync
213 cmp.b #$b9,$fffffc02.w
214 bne.s wait
215
216 * fin...
217 jsr joue_strk
218 move.l spile,a7
219 move #$2700,sr
220 rts
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236 **********************************************************************
237 ******* routine ki vont etre apele durant la presente ***************
238 **********************************************************************
239
240 exscreen
241 movem.l a0/d0,-(sp)
242 lea $ffff8201.w,a0
243 move.l buf2,d0
244 move.l buf1,buf2
245 move.l d0,buf1
246 lsr.l #8,d0
247 movep d0,0(a0)
248 movem.l (sp)+,a0/d0
249 rts
250
251 pyramide
252 wait 101
253 * on affiche la pyramide en transparent inverse
254 moveq #99,d7
255 lea datasnurf,a6
256
257 .loop
258
259 move.l buf2,a1
260 bsr copie_gris
261
262 lea data+8928,a0
263 move.l buf2,a1
264 lea 7*8+104*160(a1),a1 * au mex de haut de x_ray sprite
265 adda.w (a6)+,a1
266 move (a6)+,d0
267
268 nvb=0
269 ifeq nvb
270
271 .temple
272 x set 0
273 rept 4
274 movem.l (a0)+,d1-d4
275
276 move.l x(a1),d5
277 move.l d5,d6
278 swap d5
279 or.l d6,d5
280 not.l d5
281 and.l d5,d1
282 and.l d5,d2
283 or.l d6,d1
284
285 move.l x+8(a1),d5
286 move.l d5,d6
287 swap d5
288 or.l d6,d5
289 not.l d5
290 and.l d5,d3
291 and.l d5,d4
292 or.l d6,d3
293
294 movem.l d1-d4,x(a1)
295 x set x+16
296 endr
297
298 lea 160(a1),a1
299 dbra d0,.temple
300
301 endc
302
303 * merde en haut a gauche...
304 move.l buf2,a1
305 bsr sprmerde
306 *
307 bsr exscreen
308
309 * attente
310 ; bsr vsync
311 *
312 dbra d7,.loop
313
314 wait 71
315 rts
316
317
318 ecl
319 bsr peclair
320 bsr peclair
321
322 bsr eff_eclair
323
324 wait 100
325
326 bsr geclair
327 rts
328
329
330 tremble
331 moveq #4,d1
332 .vs0a
333 wait 11
334 bsr exscreen
335 dbra d1,.vs0a
336
337 moveq #4,d1
338 .vs0b
339 wait 8
340 bsr exscreen
341 dbra d1,.vs0b
342
343 moveq #15,d1
344 .vs0c
345 wait 5
346 bsr exscreen
347 dbra d1,.vs0c
348
349
350 move.l buf1,a0
351 move.l buf2,a1
352 move #(32000/4)-1,d0
353 .rexc2
354 move.l (a0)+,(a1)+
355 dbra d0,.rexc2
356 rts
357
358
359 flamme
360 lea data+25600,a0
361 moveq #8,d7
362 .hui0
363 move.l buf2,a2
364 lea 66*160+11*8(a2),a2
365
366 moveq #42-4,d6
367 .hui
368 ; rept 4
369 moveq #0,d4
370 moveq #0,d5
371 rept 2
372 lsr (a0)
373 roxr 8(a0)
374 swap d4
375 roxr d4
376 swap d4
377 lsr 2(a0)
378 roxr 8+2(a0)
379 roxr d4
380 lsr 4(a0)
381 roxr 8+4(a0)
382 swap d5
383 roxr d5
384 swap d5
385 lsr 6(a0)
386 roxr 8+6(a0)
387 roxr d5
388 endr
389
390 movem.l (a0)+,d0-d3
391 movem.l d0-d5,(a2)
392 ; endr
393
394 lea 64-16(a1),a1
395 lea 160(a2),a2
396 dbra d6,.hui
397
398 lea data+8928+4*8,a1
399 moveq #3,d6
400 .hui1
401 ; rept 4
402 moveq #0,d4
403 moveq #0,d5
404 movem.l (a1)+,d0-d3
405 rept 2
406 lsr (a0)
407 roxr 8(a0)
408 swap d4
409 roxr d4
410 swap d4
411 lsr 2(a0)
412 roxr 8+2(a0)
413 roxr d4
414 lsr 4(a0)
415 roxr 8+4(a0)
416 swap d5
417 roxr d5
418 swap d5
419 lsr 6(a0)
420 roxr 8+6(a0)
421 roxr d5
422 endr
423
424 or.l (a0)+,d0
425 or.l (a0)+,d1
426 or.l (a0)+,d2
427 or.l (a0)+,d3
428 movem.l d0-d5,(a2)
429 ; endr
430
431 lea 64-16(a1),a1
432 lea 160(a2),a2
433 dbra d6,.hui1
434 bsr exscreen
435 wait 13
436 dbra d7,.hui0
437 rts
438
439
440
441 sprmerde
442 lea data+13088,a0
443 lea 7*160+8(a1),a1
444 moveq #7,d6
445 .afmerde
446 movem.l (a0)+,d0-d3
447 move.l d0,d4
448 or.l d1,d4
449 swap d4
450 or.l d1,d4
451 or.l d0,d4
452 move.l d2,d5
453 or.l d3,d5
454 swap d5
455 or.l d2,d5
456 or.l d3,d5
457 not.l d4
458 not.l d5
459 *
460 and.l d4,(a1)
461 and.l d4,4(a1)
462 or.l d0,(a1)+
463 or.l d1,(a1)+
464 and.l d5,(a1)
465 and.l d5,4(a1)
466 or.l d2,(a1)+
467 or.l d3,(a1)+
468 lea 160-16(a1),a1
469 dbra d6,.afmerde
470
471 rts
472
473 copie_gris
474 lea data+13216,a0
475 adda.w (a6)+,a0
476 lea 7*160+8(a1),a1
477 move (a6)+,d0
478
479 .recopiebeu
480 x set 0
481 rept 18
482 move.l (a0)+,x(a1)
483 x set x+8
484 endr
485 lea 160(a1),a1
486 dbra d0,.recopiebeu
487 rts
488
489
490
491
492
493 eclair
494 move.l buf2,a1
495 lea 17*160+64(a1),a1
496 lea data,a3
497 *
498
499 moveq #19,d7
500 .aff_eclair0
501 moveq #2,d6
502 .prenub
503 movem.l (a1),d0-d3
504 movem.l d0-d3,(a3)
505 ;
506 move.l d0,d4
507 swap d4
508 or.l d0,d4
509 not.l d4
510 move.l d2,d5
511 swap d5
512 or.l d2,d5
513 not.l d5
514 movem.l (a0)+,d0-d3
515 and.l d4,d0
516 and.l d4,d1
517 and.l d5,d2
518 and.l d5,d3
519 or.l d0,(a1)+
520 or.l d1,(a1)+
521 or.l d2,(a1)+
522 or.l d3,(a1)+
523 lea 4*4(a3),a3
524 dbra d6,.prenub
525 move.l (a1),d0
526 move.l 4(a1),d1
527 move.l d0,(a3)+
528 move.l d1,(a3)+
529 ;
530 move.l d0,d4
531 swap d4
532 or.l d0,d4
533 not.l d4
534 move.l (a0)+,d0
535 move.l (a0)+,d1
536 and.l d4,d0
537 and.l d4,d1
538 or.l d0,(a1)+
539 or.l d1,(a1)+
540 ;
541
542
543 lea 160-(14*4)(a1),a1
544 dbra d7,.aff_eclair0
545
546 moveq #87-20,d7
547 .aff_eclair
548 movem.l (a0)+,d0-d6
549 movem.l d0-d6,(a1)
550 movem.l (a0)+,d0-d6
551 movem.l d0-d6,7*4(a1)
552 lea 160(a1),a1
553 dbra d7,.aff_eclair
554 rts
555
556 eff_eclair
557 move.l buf2,a1
558 move.l buf1,a2
559 lea 17*160+64(a1),a1
560 lea 17*160+64(a2),a2
561 lea data,a3
562 *
563 moveq #19,d7
564 .aff_eclair0
565 movem.l (a3)+,d0-d6
566 movem.l d0-d6,(a1)
567 movem.l d0-d6,(a2)
568 movem.l (a3)+,d0-d6
569 movem.l d0-d6,7*4(a1)
570 movem.l d0-d6,7*4(a2)
571 lea 160(a1),a1
572 lea 160(a2),a2
573 dbra d7,.aff_eclair0
574 moveq #0,d0
575 moveq #0,d1
576 moveq #0,d2
577 moveq #0,d3
578 moveq #0,d4
579 moveq #0,d5
580 moveq #0,d6
581 moveq #87-20,d7
582 .aff_eclair
583 movem.l d0-d6,(a1)
584 movem.l d0-d6,(a2)
585 movem.l d0-d6,7*4(a1)
586 movem.l d0-d6,7*4(a2)
587 lea 160(a1),a1
588 lea 160(a2),a2
589 dbra d7,.aff_eclair
590 rts
591
592 eff_eclair0
593 move.l buf2,a1
594 lea 17*160+64(a1),a1
595 lea data,a3
596 *
597 moveq #19,d7
598 .aff_eclair0
599 movem.l (a3)+,d0-d6
600 movem.l d0-d6,(a1)
601 movem.l (a3)+,d0-d6
602 movem.l d0-d6,7*4(a1)
603 lea 160(a1),a1
604 dbra d7,.aff_eclair0
605 moveq #0,d0
606 moveq #0,d1
607 moveq #0,d2
608 moveq #0,d3
609 moveq #0,d4
610 moveq #0,d5
611 moveq #0,d6
612 moveq #87-20,d7
613 .aff_eclair
614 movem.l d0-d6,(a1)
615 movem.l d0-d6,7*4(a1)
616 lea 160(a1),a1
617 dbra d7,.aff_eclair
618 rts
619
620
621 peclair
622 lea data+31792,a0
623 moveq #5,d7
624 .peclair
625 move d7,-(sp)
626 bsr eclair
627 move (sp)+,d7
628 bsr exscreen
629 move d7,-(sp)
630 bsr eff_eclair0
631 move (sp)+,d7
632 wait 9
633 dbra d7,.peclair
634 wait 10
635
636 bsr eff_eclair
637 wait 24
638 rts
639
640 bouge macro
641 moveq #0,d0
642 moveq #15,d1
643 .\@
644 lsr (a1)
645 roxl d0
646 dbra d1,.\@
647 move d0,(a1)+
648 endm
649
650 bouge1 macro
651 move.l \1(a1),d0
652 move.l \2(a1),\1(a1)
653 move.l d0,\2(a1)
654 endm
655
656 ret_g_eclair
657 lea data+61360,a1
658 moveq #90,d7
659 .ret0
660
661 moveq #(9*4)-1,d2
662 .ret1
663 bouge
664 dbra d2,.ret1
665
666 lea -9*8(a1),a1
667
668 bouge1 0,8*8
669 bouge1 4,8*8+4
670
671 bouge1 8,7*8
672 bouge1 8+4,7*8+4
673
674 bouge1 8*2,6*8
675 bouge1 8*2+4,6*8+4
676
677 bouge1 8*3,5*8
678 bouge1 8*3+4,5*8+4
679 lea 9*8(a1),a1
680 dbra d7,.ret0
681 rts
682
683 aff_g_eclair
684 lea data+61360,a0
685 lea data,a3
686 *
687 moveq #90,d7
688 .aff_eclair0
689 moveq #8,d6
690 .prenub
691 move.l (a1),d0
692 move.l 4(a1),d1
693 move.l d0,(a3)+
694 move.l d1,(a3)+
695 ;
696 move.l d0,d2
697 swap d2
698 or.l d0,d2
699 not.l d2
700 move.l (a0)+,d0
701 move.l (a0)+,d1
702 and.l d2,d0
703 and.l d2,d1
704 or.l d0,(a1)+
705 or.l d1,(a1)+
706 dbra d6,.prenub
707 lea 160-(9*8)(a1),a1
708 dbra d7,.aff_eclair0
709 rts
710
711
712 eff_g_eclair
713 lea data,a3
714 *
715 moveq #90,d7
716 .eff_eclair0
717 moveq #8,d6
718 .prenub
719 move.l (a3),(a2)+
720 move.l (a3)+,(a1)+
721 move.l (a3),(a2)+
722 move.l (a3)+,(a1)+
723 dbra d6,.prenub
724 lea 160-(9*8)(a1),a1
725 lea 160-(9*8)(a2),a2
726 dbra d7,.eff_eclair0
727 rts
728
729 geclair
730 move.l buf2,a1
731 lea 18*160+80(a1),a1
732 bsr aff_g_eclair
733 bsr exscreen
734 wait 15
735 bsr exscreen
736 wait 5
737 bsr exscreen
738
739 bsr ret_g_eclair
740 wait 2
741
742 move.l buf2,a1
743 move.l buf1,a2
744 lea 18*160+80(a1),a1
745 lea 18*160+80(a2),a2
746 bsr eff_g_eclair
747
748 move.l buf2,a1
749 lea 16*160+32(a1),a1
750 bsr aff_g_eclair
751 bsr exscreen
752 wait 10
753
754
755 ; bsr ret_g_eclair
756 wait 20
757
758 move.l buf2,a1
759 move.l buf1,a2
760 lea 16*160+32(a1),a1
761 lea 16*160+32(a2),a2
762 bsr eff_g_eclair
763 move.l buf2,a1
764 lea 39*160+16(a1),a1
765 bsr aff_g_eclair
766 bsr exscreen
767 wait 10
768
769
770 move.l buf2,a1
771 move.l buf1,a2
772 lea 39*160+16(a1),a1
773 lea 39*160+16(a2),a2
774 bsr eff_g_eclair
775
776 wait 50
777 rts
778
779 nvbl
780 eor #1,vs
781 rte
782
783 vsync
784 move d0,-(sp)
785 move vs,d0
786 .loop
787 cmp vs,d0
788 beq.s .loop
789 move (sp)+,d0
790 rts
791
792 palettes
793 incbin f:\krom_mit.prg\palettes.dat"
794 data
795 incbin f:\krom_mit.prg\da1.dat"
796
797 even
798 datasnurf
799 x set 0
800 rept 100-65
801 dc.w 72*(172-72-x),71+x,65*160,0
802 x set x+1
803 endr
804 rept 65
805 dc.w 72*(172-72-x),71+x,65*160-((x-(100-65))*160),x-(100-65)
806 x set x+1
807 endr
808
809 section bss
810 even
811
812 screen ds.b 32000*2+256
813 vs ds.w 1
814 buf1 ds.l 1
815 buf2 ds.l 1
816 spile ds.l 1
817 ds.l 400
818 npile

  ViewVC Help
Powered by ViewVC 1.1.26