/[projet1]/public/atari/demos/defenceforce/savetheearth/piracy.s
Defence Force logotype

Contents of /public/atari/demos/defenceforce/savetheearth/piracy.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 172 - (show annotations)
Sat Nov 28 13:10:37 2009 UTC (10 years, 2 months ago) by dbug
File size: 19069 byte(s)
Added the source code of "Save The Earth", the Atari STe demo presented at Kindergarden 2009
1
2 PIRACY_LETTER_A equ 24*0
3 PIRACY_LETTER_B equ 24*1
4 PIRACY_LETTER_C equ 24*2
5 PIRACY_LETTER_D equ 24*3
6 PIRACY_LETTER_E equ 24*4
7 PIRACY_LETTER_G equ 24*5
8 PIRACY_LETTER_H equ 24*6
9 PIRACY_LETTER_I equ 24*7
10 PIRACY_LETTER_L equ 24*8
11 PIRACY_LETTER_M equ 24*0+72*216
12 PIRACY_LETTER_O equ 24*1+72*216
13 PIRACY_LETTER_P equ 24*2+72*216
14 PIRACY_LETTER_R equ 24*3+72*216
15 PIRACY_LETTER_T equ 24*4+72*216
16 PIRACY_LETTER_U equ 24*5+72*216
17 PIRACY_LETTER_V equ 24*6+72*216
18 PIRACY_LETTER_W equ 24*7+72*216
19 PIRACY_LETTER_Y equ 24*8+72*216
20
21
22 SECTION TEXT
23
24 even
25
26 PiracyInit
27 move.w #20,big_buffer_start+piracy_sync_speed
28 move.w #0,big_buffer_start+piracy_sync_position
29 move.l #DummyRoutine,_AdrPiracyPlayRoutine
30
31 lea dmaplay_sequence,a0
32 lea dmaplay_addresstable,a1
33 bsr DmaSequencePlayerInit
34
35 ; Using the template data, we generate the fullscreen
36 lea PanoramicTemplate_DisplayList,a0
37 lea big_buffer_start+piracy_fullscreen,a1
38 bsr GenerateOverscan
39 rts
40
41 PiracyPlay
42 COLORHELP #$070
43 bsr SequencerPlay
44 COLORHELP #$707
45 _AdrPiracyPlayRoutine=*+2
46 jsr DummyRoutine
47 COLORHELP #$000
48
49 DEBUG_START
50 DEBUG_PRINT_VALUE dmaplay_sequence_index
51 DEBUG_PRINT_STRING 32
52 DEBUG_FINISH
53 rts
54
55
56 PiracyTerminate
57 ;bsr FadeAudioOut
58 ;move.l #DummyRoutine,_AdrMusicVblRoutine
59 bsr TerminateFullscreenTimer
60
61 ;bsr WaitVbl
62
63 ; Reset the volume
64 move.w #LMC_MASTERVOL+%101000,d0 ; -0db master volume
65 bsr SetMixer
66 rts
67
68
69
70
71 PiracyEffectDoNothing
72 rts
73
74
75 PiracyEffectShakeIt
76 bsr.s .shake
77
78 ; a0=screen adress (*256 + pixelshift in low byte)
79 ; a1=palette adress
80 ; a2=display list pointer
81 ; d0=screen increment (*256)
82 ; d1=palette increment
83 ;
84 lea big_buffer_start+piracy_depacked_font,a1 ; Palette
85 move.l big_buffer_start+piracy_picture_1,d0
86
87 move pos_scr_y,d1
88 mulu #208,d1
89 add.l d1,d0 ; Vertical offset
90 lsl.l #8,d0
91 move.l d0,a0
92
93 lea TableShifterShift,a2
94 move.w pos_scr_x,d1
95 add.w d1,d1
96 add.w (a2,d1),a0
97
98 lea DisplayList,a2 ; Target display list
99 move.l #208*256,d0
100 moveq #0,d1
101 bsr DisplayListInit200
102 rts
103
104 .shake
105 ; Move the snow using random
106 ; position on the screen.
107 not.b big_buffer_start+piracy_flipflop
108 beq.s .y
109 move pos_scr_x,d0
110 addq #2,d0
111 and #$0007,d0
112 move d0,pos_scr_x
113 rts
114
115 .y
116 move pos_scr_y,d0
117 addq #1,d0
118 and #$0003,d0
119 move d0,pos_scr_y
120 rts
121
122
123
124 PiracyEffectLostSync
125 move big_buffer_start+piracy_sync_position,d2
126 lsl.l #3,d2
127
128 move.l big_buffer_start+piracy_picture_1,d0
129 move.l d0,a1
130 add.l #32*200,d0
131 lsl.l #8,d0
132 move.l d0,a0
133
134 move.l #208*256,d0
135 moveq #32,d1
136
137 movem.l a0/a1,-(sp)
138
139 lea DisplayList_Top,a2
140 add d2,a2
141 bsr DisplayListInit200
142
143 movem.l (sp)+,a0/a1
144
145 lea DisplayList,a2
146 add d2,a2
147 bsr DisplayListInit200
148
149 ;
150 lea sine_255,a0
151 move big_buffer_start+piracy_sync_angle,d2
152 addq #1,big_buffer_start+piracy_sync_angle
153 and #255,d2
154 add d2,d2
155 move 0(a0,d2),d1 ; 16 bits, between 00 and 127
156 lsr #1,d1 ; 0,64
157 sub #32,d1 ; -32,+31
158 move.w d1,big_buffer_start+piracy_sync_speed
159
160 move.w big_buffer_start+piracy_sync_position,d0
161 sub.w big_buffer_start+piracy_sync_speed,d0
162 .loop
163 bmi.s .underflow
164 cmp.w #200,d0
165 bge.s .overflow
166 bra.s .end
167
168 .underflow
169 add.w #200,d0
170 bra.s .loop
171
172 .overflow
173 sub.w #200,d0
174 bra.s .loop
175
176
177 .end
178 move.w d0,big_buffer_start+piracy_sync_position
179 rts
180
181
182
183 ; 5 pictures d0/d1/d2/d3/d4
184 ; 5 palette a0/a1/a2/a3/a4
185 ; 1 target a5
186 ; 2 offsets d5/d6
187 ; 1 counter d7
188 ;
189 PiracyEffectSineBlendInit
190 lea big_buffer_start+piracy_palette_table,a0
191 lea big_buffer_start+piracy_picture_table,a1
192
193 move.l #big_buffer_start+piracy_depacked_girl,d0
194 move.l d0,(a0)+
195 add.l #32*200,d0
196 lsl.l #8,d0
197 move.l d0,(a1)+
198
199 move.l #big_buffer_start+piracy_depacked_bag,d0
200 move.l d0,(a0)+
201 add.l #32*200,d0
202 lsl.l #8,d0
203 move.l d0,(a1)+
204
205 move.l #big_buffer_start+piracy_depacked_car,d0
206 move.l d0,(a0)+
207 add.l #32*200,d0
208 lsl.l #8,d0
209 move.l d0,(a1)+
210
211 move.l #big_buffer_start+piracy_depacked_tv,d0
212 move.l d0,(a0)+
213 add.l #32*200,d0
214 lsl.l #8,d0
215 move.l d0,(a1)+
216
217 move.l #big_buffer_start+piracy_depacked_film,d0
218 move.l d0,(a0)+
219 add.l #32*200,d0
220 lsl.l #8,d0
221 move.l d0,(a1)+
222
223 ; Precalc sinus tables
224 lea sine_255,a0 ; 16 bits, unsigned between 00 and 127
225 lea big_buffer_start+piracy_table_sine_16,a1
226 lea big_buffer_start+piracy_table_sine_64,a2
227 move #256-1,d7
228 .loop
229 move.w (a0)+,d0
230 lsr #1,d0
231 move.b d0,256(a2)
232 move.b d0,(a2)+
233 lsr #3,d0
234 move.b d0,256(a1)
235 move.b d0,(a1)+
236 dbra d7,.loop
237
238
239 rts
240
241
242 PiracyEffectSineBlend
243 lea big_buffer_start+piracy_table_sine_64,a2
244 move big_buffer_start+piracy_sync_angle,d2
245 addq #1,big_buffer_start+piracy_sync_angle
246 and #255,d2
247 add d2,a2
248
249 lea big_buffer_start+piracy_table_sine_64,a3
250 move big_buffer_start+piracy_sync_angle2,d2
251 subq #2,big_buffer_start+piracy_sync_angle2
252 and #255,d2
253 add d2,a3
254
255 lea big_buffer_start+piracy_table_sine_16,a4
256 move big_buffer_start+piracy_sync_angle3,d2
257 subq #2,big_buffer_start+piracy_sync_angle3
258 and #255,d2
259 add d2,a4
260
261 lea big_buffer_start+piracy_picture_table,a0 ; The pictures
262 lea big_buffer_start+piracy_palette_table,a1 ; The palettes
263 moveq.l #0,d0 ; The screen offset
264 moveq.l #0,d1 ; The palette offset
265 move.l #208*256,d2 ; The screen increment
266 move.l #32,d3 ; The palette increment
267
268
269 lea PictureGradientTable,a5
270
271 lea DisplayList,a6 ; Target display list
272 moveq #0,d4
273 var set -127
274 REPT 200
275 move.b (a2)+,d4 ; 0,64
276 add.b (a3)+,d4
277 move.b (a5,d4),d4 ; Picture offset (0,4,8,12,16)
278
279 move.l (a0,d4),d5 ; Picture
280 move.l (a1,d4),d6 ; Palette
281
282 move.b (a4)+,d5 ; 0,15
283
284 add.l d0,d5
285 add.l d1,d6
286
287 move.l d5,(a6)+
288 move.l d6,(a6)+
289
290 add.l d2,d0
291 add.l d3,d1
292 var set var+1
293 ENDR
294
295 rts
296
297
298
299 PiracyDrawText_CopyACar
300 lea PiracyMessage_CopyACar,a0
301 bra.s PiracyDrawText_Common
302
303 PiracyDrawText_MoveATv
304 lea PiracyMessage_MoveATv,a0
305 bra.s PiracyDrawText_Common
306
307 PiracyDrawText_HideAMovie
308 lea PiracyMessage_HideAMovie,a0
309 bra.s PiracyDrawText_Common
310
311 PiracyDrawText_TouchABag
312 lea PiracyMessage_TouchABag,a0
313 bra.s PiracyDrawText_Common
314
315 ; a0=pointer on second text
316 PiracyDrawText_Common
317 movem.l a0/a1,-(sp)
318 lea big_buffer_start+piracy_screen_buffer,a0
319 lea big_buffer_start+piracy_screen_buffer_end,a1
320 bsr MemoryClear
321 movem.l (sp)+,a0/a1
322
323 bsr PiracyDrawTextString
324 lea PiracyMessage_WouldYou,a0
325 bsr PiracyDrawTextString
326
327 bsr SubtitleClearBuffer
328
329 move.l #big_buffer_start+piracy_screen_buffer,big_buffer_start+piracy_picture_1
330 move.l #PiracyEffectShakeIt,_AdrPartVblRoutine
331
332 move.w #0,pos_scr_x
333 move.w #0,pos_scr_y
334 rts
335
336
337 PiracyDrawTextString
338 .loop
339 move.w (a0)+,d2 ; Font offset
340 bmi .done
341
342 move.w (a0)+,d0 ; x
343 move.w (a0)+,d1 ; y
344
345 move.l a0,-(sp)
346
347 lea big_buffer_start+piracy_depacked_font+32,a0
348 add.w d2,a0
349
350 bsr ComputeScreenOffset
351 move.l character_buffer_base,a1 ; Destination
352
353 lea big_buffer_start+piracy_screen_buffer,a1
354 add.l d2,a1 ; +actual offset
355
356 lea 0,a2 ; No mask
357 move.w #3,d0
358 move.w #72,d1
359 move #216-8-8,d2
360 move #208-8-8,d3
361 moveq #0,d4
362
363 ; a0=source
364 ; a1=destination
365 ; a2=mask
366 ; d0=width in words
367 ; d1=height
368 ; d2=skip line source
369 ; d3=skip line dest
370 ; d4=pixel offset
371
372 bsr WaitVbl
373 bsr BlitterDrawSprite
374
375 move.l (sp)+,a0
376 bra .loop
377 .done
378 rts
379
380 SECTION DATA
381
382 even
383
384 ; Unpacked: 41632 (each picture) / 48000 with multi-palette
385 ; Packed: 11-39 kb
386 FILE "pir_girl.pik",picture_piracy_girl
387
388 FILE "pir_tv.pik",picture_piracy_tv
389 FILE "pir_film.pik",picture_piracy_film
390 FILE "pir_car.pik",picture_piracy_car
391 FILE "pir_bag.pik",picture_piracy_bag
392
393 FILE "copydemo.pik",picture_copy_demo
394
395
396 ; Unpacked: 31136
397 ; Packed: 10278
398 FILE "font_pir.pik",font_piracy
399
400
401 piracy_force_unpack equ 0
402 piracy_force_test_sine_blend equ 0
403
404
405 current_wait_delay set 0
406
407 WAITSEQUENCER macro
408 current_wait_delay set current_wait_delay+\1
409 SEQUENCE_WAIT_WORD dmaplay_sequence_index,current_wait_delay
410 endm
411
412 PiracySequencer
413 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
414 SEQUENCE_SETPICTURE_DISPLAYLIST 0,big_buffer_start+piracy_depacked_copy_demo ; Not yet depacked, so all black
415 SEQUENCE_CALLBACK PiracyEffectSineBlendInit
416
417 ifne piracy_force_unpack
418 ; Debugging
419 SEQUENCE_DEPACK_LZSS picture_piracy_girl,big_buffer_start+piracy_depacked_girl,48000
420 SEQUENCE_DEPACK_LZSS font_piracy,big_buffer_start+piracy_depacked_font,31136
421 SEQUENCE_DEPACK_LZSS picture_piracy_car,big_buffer_start+piracy_depacked_car,48000
422 SEQUENCE_DEPACK_LZSS picture_piracy_tv,big_buffer_start+piracy_depacked_tv,48000
423 SEQUENCE_DEPACK_LZSS picture_piracy_film,big_buffer_start+piracy_depacked_film,48000
424 SEQUENCE_DEPACK_LZSS picture_piracy_bag,big_buffer_start+piracy_depacked_bag,48000
425 endc
426
427 ifne piracy_force_test_sine_blend
428 ; Debugging
429 SEQUENCE_CALLBACK PiracyEffectSineBlendInit
430 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
431 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectSineBlend
432 SEQUENCE_END
433 endc
434
435
436 ; Girl on her computer
437 ; Depack
438 SEQUENCE_DEPACK_LZSS picture_piracy_girl,big_buffer_start+piracy_depacked_girl,48000
439 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_girl
440
441 ; Start music and real sequencing
442 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
443 SEQUENCE_SETPTR _AdrMusicVblRoutine,DmaSequencePlayerVbl
444 SEQUENCE_SUBTITLE <"Does she count as a",13," RANDOM GIRL WITH HARDWARE?">
445 SEQUENCE_DEPACK_LZSS font_piracy,big_buffer_start+piracy_depacked_font,31136
446 WAITSEQUENCER 8
447
448 ;
449 ; Would you copy a car
450 SEQUENCE_CALLBACK PiracyDrawText_CopyACar
451 SEQUENCE_DEPACK_LZSS picture_piracy_car,big_buffer_start+piracy_depacked_car,48000
452 WAITSEQUENCER 4
453
454 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
455 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_car
456 SEQUENCE_SUBTITLE <"Yes, but only if it is energy efficient.",13,"Not like this old one there.">
457 WAITSEQUENCER 8
458
459 ;
460 ; Would you move a tv
461 SEQUENCE_CALLBACK PiracyDrawText_MoveATv
462 SEQUENCE_DEPACK_LZSS picture_piracy_tv,big_buffer_start+piracy_depacked_tv,48000
463 WAITSEQUENCER 4
464
465 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
466 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_tv
467 SEQUENCE_SUBTITLE <"If it still working fine I'm not going",13,"to throw it away. Would you?">
468 WAITSEQUENCER 8
469
470 ;
471 ; Would you hide a movie
472 SEQUENCE_CALLBACK PiracyDrawText_HideAMovie
473 SEQUENCE_DEPACK_LZSS picture_piracy_film,big_buffer_start+piracy_depacked_film,48000
474 WAITSEQUENCER 4
475
476 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
477 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_film
478 SEQUENCE_SUBTITLE <"Definitely not that one! Everybody",13,"should watch it, it's great!">
479 WAITSEQUENCER 8
480
481 ;
482 ; Would you touch a bag
483 SEQUENCE_CALLBACK PiracyDrawText_TouchABag
484 SEQUENCE_DEPACK_LZSS picture_piracy_bag,big_buffer_start+piracy_depacked_bag,48000
485 WAITSEQUENCER 4
486
487 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
488 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_bag
489 SEQUENCE_SUBTITLE <"Possibly, but only if it's made of ",13,"easily recyclable materials!">
490 WAITSEQUENCER 8
491
492 ; Now set all the picture fast in some kind of random order
493 SEQUENCE_SUBTITLE <"">
494
495 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
496 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectDoNothing
497 REPT 1
498 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_car
499 WAITSEQUENCER 1
500 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_tv
501 WAITSEQUENCER 1
502 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_film
503 WAITSEQUENCER 1
504 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_bag
505 WAITSEQUENCER 1
506 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_girl
507 WAITSEQUENCER 1
508 ENDR
509
510 SEQUENCE_SETPTR big_buffer_start+piracy_picture_1,big_buffer_start+piracy_depacked_girl
511 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectLostSync
512 WAITSEQUENCER 6
513
514 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectSineBlend
515 WAITSEQUENCER 14
516
517
518 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
519 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectDoNothing
520 REPT 1
521 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_car
522 WAITSEQUENCER 1
523 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_tv
524 WAITSEQUENCER 1
525 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_film
526 WAITSEQUENCER 1
527 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_bag
528 WAITSEQUENCER 1
529 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_girl
530 WAITSEQUENCER 1
531 ENDR
532
533 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectSineBlend
534 WAITSEQUENCER 10
535
536 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
537 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectDoNothing
538 REPT 1
539 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_car
540 WAITSEQUENCER 1
541 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_tv
542 WAITSEQUENCER 1
543 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_film
544 WAITSEQUENCER 1
545 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_bag
546 WAITSEQUENCER 1
547 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_girl
548 WAITSEQUENCER 1
549 ENDR
550
551
552 ; Finally the "copy this demo" message
553 SEQUENCE_SETPTR _AdrPiracyPlayRoutine,PiracyEffectDoNothing
554 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
555
556 SEQUENCE_DEPACK_LZSS picture_copy_demo,big_buffer_start+piracy_depacked_copy_demo,48000
557 SEQUENCE_SETPICTURE_DISPLAYLIST 1,big_buffer_start+piracy_depacked_copy_demo
558 SEQUENCE_SETPTR _AdrPartVblRoutine,PiracyEffectDoNothing
559
560 WAITSEQUENCER 16
561
562 ; Fades the music out
563 SEQUENCE_CALLBACK FadeAudioOut
564 ; Stop the player (but the dma stuff can still play for a fraction of a second)
565 SEQUENCE_SETPTR _AdrMusicVblRoutine,DummyRoutine
566 SEQUENCE_TEMPORIZE 50*2
567
568 ; And leave
569 SEQUENCE_GO_NEXT_PART
570
571 SEQUENCE_END
572
573
574 even
575
576
577 PiracyMessage_WouldYou
578 dc.w PIRACY_LETTER_W,66,34
579 dc.w PIRACY_LETTER_O,110,33
580 dc.w PIRACY_LETTER_U,141,31
581 dc.w PIRACY_LETTER_L,172,40
582 dc.w PIRACY_LETTER_D,189,26
583
584 dc.w PIRACY_LETTER_Y,243,37
585 dc.w PIRACY_LETTER_O,278,42
586 dc.w PIRACY_LETTER_U,312,38
587 dc.w -1,0,0
588
589 PiracyMessage_CopyACar
590 dc.w PIRACY_LETTER_C,56,107
591 dc.w PIRACY_LETTER_O,83,106
592 dc.w PIRACY_LETTER_P,117,116
593 dc.w PIRACY_LETTER_Y,151,111
594
595 dc.w PIRACY_LETTER_A,208,107
596
597 dc.w PIRACY_LETTER_C,276,113
598 dc.w PIRACY_LETTER_A,306,118
599 dc.w PIRACY_LETTER_R,343,108
600 dc.w -1,0,0
601
602 PiracyMessage_MoveATv
603 dc.w PIRACY_LETTER_M,61,102
604 dc.w PIRACY_LETTER_O,103,104
605 dc.w PIRACY_LETTER_V,137,104
606 dc.w PIRACY_LETTER_E,171,106
607
608 dc.w PIRACY_LETTER_A,238,107
609
610 dc.w PIRACY_LETTER_T,301,110
611 dc.w PIRACY_LETTER_V,324,120
612 dc.w -1,0,0
613
614 PiracyMessage_HideAMovie
615 dc.w PIRACY_LETTER_H,33,106
616 dc.w PIRACY_LETTER_I,67,99
617 dc.w PIRACY_LETTER_D,80,110
618 dc.w PIRACY_LETTER_E,121,117
619
620 dc.w PIRACY_LETTER_A,182,104
621
622 dc.w PIRACY_LETTER_M,237,111
623 dc.w PIRACY_LETTER_O,274,120
624 dc.w PIRACY_LETTER_V,306,120
625 dc.w PIRACY_LETTER_I,337,114
626 dc.w PIRACY_LETTER_E,353,120
627 dc.w -1,0,0
628
629 PiracyMessage_TouchABag
630 dc.w PIRACY_LETTER_T,30,107
631 dc.w PIRACY_LETTER_O,61,115
632 dc.w PIRACY_LETTER_U,90,112
633 dc.w PIRACY_LETTER_C,122,116
634 dc.w PIRACY_LETTER_H,154,112
635
636 dc.w PIRACY_LETTER_A,208,109
637
638 dc.w PIRACY_LETTER_B,282,114
639 dc.w PIRACY_LETTER_A,318,115
640 dc.w PIRACY_LETTER_G,352,114
641 dc.w -1,0,0
642
643
644 PictureGradientTable
645 REPT 13
646 dc.b 0*4
647 ENDR
648
649 dc.b 1*4
650 dc.b 0*4
651 dc.b 0*4
652 dc.b 0*4
653 dc.b 1*4
654 dc.b 1*4
655 dc.b 0*4
656 dc.b 0*4
657 dc.b 1*4
658 dc.b 1*4
659 dc.b 1*4
660 dc.b 0*4 ; 12
661
662 REPT 13
663 dc.b 1*4
664 ENDR
665
666 dc.b 2*4
667 dc.b 1*4
668 dc.b 1*4
669 dc.b 1*4
670 dc.b 2*4
671 dc.b 2*4
672 dc.b 1*4
673 dc.b 1*4
674 dc.b 2*4
675 dc.b 2*4
676 dc.b 2*4
677 dc.b 1*4
678
679 REPT 13
680 dc.b 2*4
681 ENDR
682
683 dc.b 3*4
684 dc.b 2*4
685 dc.b 2*4
686 dc.b 2*4
687 dc.b 3*4
688 dc.b 3*4
689 dc.b 2*4
690 dc.b 2*4
691 dc.b 3*4
692 dc.b 3*4
693 dc.b 3*4
694 dc.b 2*4
695
696 REPT 13
697 dc.b 3*4
698 ENDR
699
700 dc.b 4*4
701 dc.b 3*4
702 dc.b 3*4
703 dc.b 3*4
704 dc.b 4*4
705 dc.b 4*4
706 dc.b 3*4
707 dc.b 3*4
708 dc.b 4*4
709 dc.b 4*4
710 dc.b 4*4
711 dc.b 3*4
712
713 REPT 13
714 dc.b 4*4
715 ENDR
716
717 dc.b 0*4
718 dc.b 4*4
719 dc.b 4*4
720 dc.b 4*4
721 dc.b 0*4
722 dc.b 0*4
723 dc.b 4*4
724 dc.b 4*4
725 dc.b 0*4
726 dc.b 0*4
727 dc.b 0*4
728 dc.b 4*4
729
730 ;
731 REPT 50
732 dc.b 0*4
733 dc.b 0*4
734 ENDR
735
736
737 var set 0
738 REPT 128
739 dc.b ((var*5)/128)*4
740 var set var+1
741 ENDR
742
743
744
745
746 dmaplay_sequence
747 rept 1
748 dc.b 00,01,02,03
749 dc.b 00,01,04,05
750 endr
751
752 rept 1
753 dc.b 17,01,02,03
754 dc.b 00,01,04,05
755 endr
756
757 rept 1
758 dc.b 00,01,02,03
759 dc.b 00,01,04,05
760 endr
761
762 rept 0
763 dc.b 17,01,02,03
764 dc.b 00,01,04,21-1
765 dc.b 21-1,01,02,03
766 dc.b 00,01,18,19
767 endr
768
769 rept 1
770 dc.b 17,01,19-1,20-1
771 dc.b 21-1,01,22-1,23-1
772 dc.b 17,01,19-1,20-1
773 dc.b 15,15,16,16
774 endr
775
776 rept 1
777 dc.b 00,01,02,03
778 dc.b 00,01,04,05
779 endr
780
781 rept 2
782 dc.b 08,09,10,11
783 dc.b 12,09,13,14
784 dc.b 08,09,10,11
785 dc.b 06,06,07,07
786 endr
787
788 rept 4
789 dc.b 17,01,19-1,20-1
790 dc.b 21-1,01,22-1,23-1
791 dc.b 17,01,19-1,20-1
792 dc.b 15,15,16,16
793
794 dc.b 08,09,10,11
795 dc.b 12,09,13,14
796 dc.b 08,09,10,11
797 dc.b 06,06,07,07
798 endr
799
800 dc.b -1
801
802 even
803
804
805 dmaplay_addresstable
806 var set 0
807 REPT 24
808 dc.l dmaplay_sample+var
809 var set var+11000
810 ENDR
811
812 even
813 dmaplay_sample
814 incbin "xia.raw" ; copy /b da1.r+da2.r+da3.r+da4.r+db3.r+db4.r+ea1.r+ea3.r+fa1.r+fa2.r+fa3.r+fa4.r+fb1.r+fb3.r+fb4.r+nea1.r+nea3.r+nfa1.r+nfa3.r+nfa4.r+nfb1.r+nfb3.r+nfb4.r xia.raw
815
816
817 SECTION BSS
818
819 even
820
821 ;
822 ; The content of this buffer is going to be stored in
823 ; the big common table.
824 ; 41632
825 rsreset
826 piracy_fullscreen rs.b Size_PanoramicRoutine_DisplayList
827 piracy_depacked_girl rs.b 48000
828 piracy_depacked_tv rs.b 48000
829 piracy_depacked_film rs.b 48000
830 piracy_depacked_car rs.b 48000
831 piracy_depacked_bag rs.b 48000
832 piracy_depacked_copy_demo rs.b 48000
833 piracy_screen_buffer rs.b 208*203
834 piracy_screen_buffer_end rs.b 0
835
836 piracy_picture_1 rs.l 1
837
838 piracy_picture_table rs.l 5
839 piracy_palette_table rs.l 5
840
841 piracy_depacked_font rs.b 31136
842
843 piracy_table_sine_16 rs.b 256*2 ; Doubled sine table with values in the 0-15 range
844 piracy_table_sine_64 rs.b 256*2 ; Doubled sine table with values in the 0-63 range
845
846 piracy_sync_position rs.w 1
847 piracy_sync_speed rs.w 1
848 piracy_sync_angle rs.w 1
849 piracy_sync_angle2 rs.w 1
850 piracy_sync_angle3 rs.w 1
851 piracy_sync_angle4 rs.w 1
852 piracy_flipflop rs.b 1
853
854 update_buffer_size
855
856
857

  ViewVC Help
Powered by ViewVC 1.1.26