/[projet1]/public/oric/demos/buggy_boy/LcpIntro/fx.s
Defence Force logotype

Contents of /public/oric/demos/buggy_boy/LcpIntro/fx.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 903 - (show annotations)
Sun Jan 13 15:30:30 2013 UTC (6 years, 10 months ago) by dbug
File size: 14281 byte(s)
Added the Buggy Boy demo.
Please note that the building of the DSK file requires working versions of Tap2Dsk and Old2Mfm, they may not work on recent windows versions.
1
2
3
4 _Fx_CutSound
5 .(
6 // Canal settings
7 ldy #7
8 ldx #%11111111
9 jsr _PsgSetRegister
10
11 // Volume
12 ldy #8
13 ldx #0
14 jsr _PsgSetRegister
15 ldy #9
16 ldx #0
17 jsr _PsgSetRegister
18 ldy #10
19 ldx #0
20 jsr _PsgSetRegister
21
22 rts
23 .)
24
25
26
27 // A normal TV mire with color bars, and a disturbing sound
28 // blanc, jaune, cyan, vert, viloet, rouge, bleu, noir
29 _Fx_TvMire
30 .(
31 //
32 // Switch to the right resolution
33 //
34 jsr _SwitchToHires
35 jsr _ClearHiresScreen
36
37
38 //
39 // Display the bars
40 //
41 lda #<$a000
42 sta tmp0+0
43 lda #>$a000
44 sta tmp0+1
45
46 .(
47 ldx #200
48 loop
49 lda #16+7
50 ldy #0
51 sta (tmp0),y
52
53 lda #16+3
54 ldy #5
55 sta (tmp0),y
56
57 lda #16+6
58 ldy #10
59 sta (tmp0),y
60
61 lda #16+2
62 ldy #15
63 sta (tmp0),y
64
65 lda #16+5
66 ldy #20
67 sta (tmp0),y
68
69 lda #16+1
70 ldy #25
71 sta (tmp0),y
72
73 lda #16+4
74 ldy #30
75 sta (tmp0),y
76
77 lda #16+0
78 ldy #35
79 sta (tmp0),y
80
81 clc
82 lda tmp0+0
83 adc #40
84 sta tmp0+0
85 bcc skip
86 inc tmp0+1
87 skip
88
89 dex
90 bne loop
91 .)
92
93 //
94 // Do awfull sounds
95 //
96 // Freq 0
97 ldy #0
98 ldx #150
99 jsr _PsgSetRegister
100
101 ldy #1
102 ldx #0
103 jsr _PsgSetRegister
104
105 // Canal settings
106 ldy #7
107 ldx #%11111110
108 jsr _PsgSetRegister
109
110 // Volume
111 ldy #8
112 ldx #15
113 jsr _PsgSetRegister
114
115
116 //
117 // Temporisation
118 //
119 ldx #150 // 3 seconds
120 loop
121 jsr _VSync
122 dex
123 bne loop
124
125 jsr _Fx_CutSound
126
127 rts
128 .)
129
130
131 // ========================
132 // Fx Snow
133 // ========================
134
135 _Fx_Snow
136 .(
137 //
138 // Make sure we are in TEXT mode
139 //
140 jsr _SwitchToText
141 jsr _ClearTextScreen
142
143 //
144 // Cause an awfull sound
145 //
146
147 // Noise Freq (5 bits
148 ldy #6
149 ldx #15
150 jsr _PsgSetRegister
151
152 ldy #1
153 ldx #0
154 jsr _PsgSetRegister
155
156 // Canal settings
157 ldy #7
158 ldx #%11000111
159 jsr _PsgSetRegister
160
161 // Volume
162 ldy #8
163 ldx #8
164 jsr _PsgSetRegister
165 ldy #9
166 ldx #8
167 jsr _PsgSetRegister
168 ldy #10
169 ldx #8
170 jsr _PsgSetRegister
171
172 //
173 // Display the patterns
174 //
175 jsr _Fx_Snow_Effect
176 jsr _Fx_Snow_FillScreen
177
178
179 //
180 // Temporisation
181 //
182 ldx #150 // 3 seconds
183 loop
184 txa
185 pha
186 jsr _Fx_Snow_Effect
187 jsr _VSync
188 pla
189 tax
190 dex
191 bne loop
192
193 jsr _Fx_CutSound
194 rts
195 .)
196
197
198
199
200
201 _Fx_Snow_FillScreen
202 .(
203 lda #<$bb80-1
204 sta tmp0+0
205 lda #>$bb80-1
206 sta tmp0+1
207
208 ldx #28
209 loop_y
210
211 ldy #40
212 loop_x
213 jsr _GetRand
214 lda _RandomValue
215 lsr
216 lsr
217 lsr
218 lsr
219 clc
220 adc #65
221
222 sta (tmp0),y
223 dey
224 bne loop_x
225
226 .(
227 clc
228 lda tmp0+0
229 adc #40
230 sta tmp0+0
231 bcc skip
232 inc tmp0+1
233 skip
234 .)
235
236 dex
237 bne loop_y
238 rts
239 .)
240
241
242
243
244 _Fx_Snow_Effect
245 .(
246 //
247 // Generate dithered characters
248 //
249 jsr _GetRand
250 lda _RandomValue
251 lsr
252 lsr
253 lsr
254 lsr
255 lsr
256 clc
257 adc #<_PatternSnow
258 sta __src+1
259 lda #>_PatternSnow
260 adc #0
261 sta __src+2
262
263 lda #<$b400+65*8
264 sta tmp1+0
265 lda #>$b400+65*8
266 sta tmp1+1
267
268 ldy #0
269
270 ldx #16
271 stx tmp2+0
272 loop_outer
273
274 ldx #4
275 stx tmp2+1
276 loop_inner
277 jsr _GetRand
278 lda _RandomValue
279 lsr
280 lsr
281 lsr
282 lsr
283 lsr
284 tax
285
286 __src
287 lda $1234,x
288 sta (tmp1),y
289 iny
290 lda _PatternSnow,x
291 sta (tmp1),y
292 iny
293
294 dec tmp2+1
295 bne loop_inner
296
297 dec tmp2+0
298 bne loop_outer
299
300 rts
301 .)
302
303
304
305
306 // ========================
307 // Fx Digit
308 // ========================
309
310
311 #define SEG_THICK 7
312
313 #define SEG_SEP SEG_THICK+2
314
315 #define SEG_WIDTH SEG_THICK*9
316 #define SEG_HEIGHT SEG_THICK*9
317
318
319
320 _Fx_DigitTableX
321 .byt 78+SEG_SEP
322 .byt 78
323 .byt 78+SEG_SEP*2+SEG_WIDTH+SEG_THICK
324 .byt 78+SEG_SEP
325 .byt 78
326 .byt 78+SEG_SEP*2+SEG_WIDTH+SEG_THICK
327 .byt 78+SEG_SEP
328
329 _Fx_DigitTableY
330 .byt 10
331 .byt 10+SEG_SEP
332 .byt 10+SEG_SEP
333 .byt 10+SEG_HEIGHT+SEG_SEP*2+SEG_THICK
334 .byt 10+SEG_HEIGHT+SEG_SEP*2+SEG_THICK+SEG_SEP
335 .byt 10+SEG_HEIGHT+SEG_SEP*2+SEG_THICK+SEG_SEP
336 .byt 10+SEG_HEIGHT+SEG_SEP*2+SEG_THICK+SEG_HEIGHT+SEG_SEP*2+SEG_THICK
337
338 _Fx_DigitTableW
339 .byt 1+SEG_WIDTH
340 .byt 1+0
341 .byt 1+0
342 .byt 1+SEG_WIDTH
343 .byt 1+0
344 .byt 1+0
345 .byt 1+SEG_WIDTH
346
347 _Fx_DigitTableH
348 .byt 1+0
349 .byt 1+SEG_HEIGHT
350 .byt 1+SEG_HEIGHT
351 .byt 1+0
352 .byt 1+SEG_HEIGHT
353 .byt 1+SEG_HEIGHT
354 .byt 1+0
355
356 _Fx_Digit_Shift .byt 0
357
358
359 //
360 // 1
361 // 2 4
362 // 8
363 // 16 32
364 // 64
365 //
366
367 #define LCD_DIGIT_0 1+2+4+16+32+64
368 #define LCD_DIGIT_1 4+32
369 #define LCD_DIGIT_2 1+4+8+16+64
370 #define LCD_DIGIT_3 1+4+8+32+64
371 #define LCD_DIGIT_4 2+4+8+32
372 #define LCD_DIGIT_5 1+2+8+32+64
373 #define LCD_DIGIT_6 1+2+8+16+32+64
374 #define LCD_DIGIT_7 1+4+32
375 #define LCD_DIGIT_8 1+2+4+8+16+32+64
376 #define LCD_DIGIT_9 1+2+4+8+32+64
377
378
379 _Fx_DigitMask .byt 0
380
381 _Fx_DrawDigit_0
382 lda #LCD_DIGIT_0
383 jmp Fx_DrawDigit
384 rts
385
386 _Fx_DrawDigit_1
387 lda #LCD_DIGIT_1
388 jmp Fx_DrawDigit
389 rts
390
391 _Fx_DrawDigit_2
392 lda #LCD_DIGIT_2
393 jmp Fx_DrawDigit
394 rts
395
396 _Fx_DrawDigit_3
397 lda #LCD_DIGIT_3
398 jmp Fx_DrawDigit
399 rts
400
401 _Fx_DrawDigit_4
402 lda #LCD_DIGIT_4
403 jmp Fx_DrawDigit
404 rts
405
406 _Fx_DrawDigit_5
407 lda #LCD_DIGIT_5
408 jmp Fx_DrawDigit
409 rts
410
411 _Fx_DrawDigit_6
412 lda #LCD_DIGIT_6
413 jmp Fx_DrawDigit
414 rts
415
416 _Fx_DrawDigit_7
417 lda #LCD_DIGIT_7
418 jmp Fx_DrawDigit
419 rts
420
421 _Fx_DrawDigit_8
422 lda #LCD_DIGIT_8
423 jmp Fx_DrawDigit
424 rts
425
426 _Fx_DrawDigit_9
427 lda #LCD_DIGIT_9
428 jmp Fx_DrawDigit
429 rts
430
431
432
433 Fx_DrawDigit
434 .(
435 ldx #1
436 stx _Fx_Digit_Shift
437
438 ldx #0
439 loop
440 pha
441 eor _Fx_DigitMask
442 and _Fx_Digit_Shift
443 beq skip
444
445 lda _Fx_DigitMask
446 eor _Fx_Digit_Shift
447 sta _Fx_DigitMask
448
449 pha
450 txa
451 pha
452 tya
453 pha
454
455 jsr Fx_DrawSegment
456
457 pla
458 tay
459 pla
460 tax
461 pla
462
463 skip
464 asl _Fx_Digit_Shift
465
466 pla
467
468 inx
469 cpx #7
470 bne loop
471
472 //
473 // Do a stupid beep
474 //
475 ldy #0
476 ldx #150
477 jsr _PsgSetRegister
478
479 ldy #1
480 ldx #0
481 jsr _PsgSetRegister
482
483 ldy #2
484 ldx #149
485 jsr _PsgSetRegister
486
487 ldy #3
488 ldx #0
489 jsr _PsgSetRegister
490
491 ldy #4
492 ldx #147
493 jsr _PsgSetRegister
494
495 ldy #5
496 ldx #0
497 jsr _PsgSetRegister
498
499
500 // Canal settings
501 ldy #7
502 ldx #%11111000
503 jsr _PsgSetRegister
504
505 // Volume => Use enveloppe
506 ldy #8
507 ldx #16
508 jsr _PsgSetRegister
509 ldy #9
510 ldx #16
511 jsr _PsgSetRegister
512 ldy #10
513 ldx #16
514 jsr _PsgSetRegister
515
516 #define FX_DIGIT_BEEP_DURATION $2FF
517
518 // Enveloppe duration
519 ldy #11
520 ldx #<FX_DIGIT_BEEP_DURATION
521 jsr _PsgSetRegister
522
523 ldy #12
524 ldx #>FX_DIGIT_BEEP_DURATION
525 jsr _PsgSetRegister
526
527 // Enveloppe shape => \___
528 ldy #13
529 ldx #0
530 jsr _PsgSetRegister
531
532 rts
533 .)
534
535
536 // X: Number of segment to draw
537 Fx_DrawSegment
538 .(
539 lda _Fx_DigitTableX,x
540 sta _CurrentPixelX
541 clc
542 adc _Fx_DigitTableW,x
543 sta _OtherPixelX
544
545 lda _Fx_DigitTableY,x
546 sta _CurrentPixelY
547 sta _OtherPixelY
548
549 // Top part
550 .(
551 ldy #SEG_THICK
552 loop
553 jsr _DrawHLine
554
555 dec _CurrentPixelX
556 inc _OtherPixelX
557 inc _CurrentPixelY
558 inc _OtherPixelY
559
560 dey
561 bne loop
562 .)
563
564 // Middle part
565 .(
566 ldy _Fx_DigitTableH,x
567 loop
568 jsr _DrawHLine
569
570 inc _CurrentPixelY
571 inc _OtherPixelY
572
573 dey
574 bne loop
575 .)
576
577 // Bottom part
578 .(
579 ldy #SEG_THICK
580 loop
581 inc _CurrentPixelX
582 dec _OtherPixelX
583
584 jsr _DrawHLine
585
586 inc _CurrentPixelY
587 inc _OtherPixelY
588
589 dey
590 bne loop
591 .)
592
593 rts
594 .)
595
596
597
598 _Fx_DisplayMessage
599 .(
600 //
601 // Display warning text in TEXT
602 //
603 jsr _SwitchToText
604 jsr _ClearTextScreen
605 jsr _Text_RedefineCharset
606
607 .(
608 lda #<$bb80
609 sta tmp0+0
610 lda #>$bb80
611 sta tmp0+1
612
613 loop_line
614 ldy #0
615 loop_char
616 pha
617 txa
618 pha
619 tya
620 pha
621
622 .(
623 ldy #0
624 lda (greetings_pointer),y
625 sta tmp2
626 inc greetings_pointer+0
627 bne skip
628 inc greetings_pointer+1
629 skip
630 .)
631
632 pla
633 tay
634 pla
635 tax
636 pla
637
638 lda tmp2
639 cmp #255
640 beq end_message
641 cmp #254
642 beq new_line
643 cmp #253
644 beq skip_9
645
646 sta (tmp0),y
647
648 iny
649 jmp loop_char
650
651 skip_9
652 tya
653 clc
654 adc #9
655 tay
656 jmp loop_char
657
658 new_line
659 .(
660 clc
661 lda tmp0+0
662 adc #40
663 sta tmp0+0
664 bcc skip
665 inc tmp0+1
666 skip
667 .)
668
669 jmp loop_line
670
671 end_message
672 .)
673
674
675 //
676 // Temporisation
677 //
678 .(
679 ldx #250
680 loop
681 jsr _VSync
682 dex
683 bne loop
684 .)
685
686
687 rts
688 .)
689
690 /*
691 .....ooo.x.oooo..o...ooo.
692 ....o...x..o...o.o..o...o
693 ...o...x.o.o...o.o.o.....
694 ...o..x..o.oooo..o.o.....
695 ...o.x...o.o.o...o.o.....
696 ....x...o..o..o..o..o...o
697 ...x.ooo...o...o.o...ooo.
698 ..xxxxxxxxxxxxxxxxxxxxxxxx
699 */
700
701 Fx_PcMessage
702 .byt 10,"This is no",3,"PC",7,"DEMO",254
703 .byt 10,"This is no",1,"PC",7,"DEMO",254
704 .byt 254
705 .byt 254
706 .byt 10," This is no",6,"Farbraush",7,"demo",254
707 .byt 10," This is no",4,"Farbraush",7,"demo",254
708 .byt 254
709 .byt 254
710 .byt 10," This is no",4,"C= 64",7,"demo",254
711 .byt 10," This is no",1,"C= 64",7,"demo",254
712 .byt 254
713 .byt 254
714 .byt 10,3," This is just a 64k",254
715 .byt 10,1," This is just a 64k",254
716
717 .byt 254
718 .byt 254
719
720 .byt 16,16,16,16,16,16,23,23,23,16,17,16,23,23,23,23,16,16,23,16,16,16,23,23,23,16,16,254
721 .byt 16,16,16,16,16,23,16,16,16,17,16,16,23,16,16,16,23,16,23,16,16,23,16,16,16,23,16,254
722 .byt 16,16,16,16,23,16,16,16,17,16,23,16,23,16,16,16,23,16,23,16,23,16,16,16,16,16,16,254
723 .byt 16,16,16,16,23,16,16,17,16,16,23,16,23,23,23,23,16,16,23,16,23,16,16,16,16,16,16,254
724 .byt 16,16,16,16,23,16,17,16,16,16,23,16,23,16,23,16,16,16,23,16,23,16,16,16,16,16,16,254
725 .byt 16,16,16,16,16,17,16,16,16,23,16,16,23,16,16,23,16,16,23,16,16,23,16,16,16,23,16,254
726 .byt 16,16,16,16,17,16,23,23,23,16,16,16,23,16,16,16,23,16,23,16,16,16,23,23,23,16,16,254
727 .byt 16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,254
728
729 .byt 254
730 .byt 254
731
732 .byt 10," intro",254
733 .byt 10," intro",254
734
735 .byt 255
736
737
738
739
740 _Fx_PcWarning
741 .(
742 lda #<Fx_PcMessage
743 sta greetings_pointer+0
744 lda #>Fx_PcMessage
745 sta greetings_pointer+1
746
747 jsr _Fx_DisplayMessage
748 rts
749 .)
750
751
752
753 // ========================
754 // Fx Bear
755 // ========================
756
757 Fx_BearMessage
758 .byt 16+7,253,16+4," ",16+7,254
759 .byt 16+7,253,16+4," ",16+7,254
760 .byt 16+7,253,16+4," ",16+7,254
761 .byt 16+7,253,16+4," ",16+7,254
762 .byt 16+7,253,16+4," ",16+7,254
763 .byt 16+7,253,16+4," ",16+7,254
764 .byt 16+7,253,16+4," ",16+7,254
765 .byt 16+4,254
766 .byt 16+4,254
767 .byt 16+7,253,16+4," ",16+7,254
768 .byt 16+7,253,16+4," ",16+7,254
769 .byt 16+7,253,16+4," ",16+7,254
770 .byt 16+7,253,16+4," ",16+7,254
771 .byt 16+7,253,16+4," ",16+7,254
772 .byt 16+7,253,16+4," ",16+7,254
773 .byt 16+7,253,16+4," ",16+7,254
774 .byt 254
775 .byt 17,254
776 .byt 17,3,14," SURGEON GENERAL WARNING:",254
777 .byt 17,3,14," SURGEON GENERAL WARNING:",254
778 .byt 17,254
779 .byt 16,254
780 .byt 16+7,254
781 .byt 16+7,4," Drinking Finish",1,"Bears",4,"may cause",254
782 .byt 16+7,254
783 .byt 16+7,4," serious harm to your health.",254
784 .byt 16+7,254
785 .byt 16,254
786 .byt 255
787
788
789
790
791
792 _Fx_BearWarning
793 .(
794 lda #<Fx_BearMessage
795 sta greetings_pointer+0
796 lda #>Fx_BearMessage
797 sta greetings_pointer+1
798
799 jsr _Fx_DisplayMessage
800
801
802 //
803 // Display the Bear in HIRES
804 //
805 jsr _SwitchToHires
806 jsr _ClearHiresScreen
807
808
809 // Source adress
810 lda #<_Picture_Karhu
811 sta tmp0+0
812 lda #>_Picture_Karhu
813 sta tmp0+1
814
815 // Destination adress
816 lda #<_BigBuffer
817 sta tmp1+0
818 lda #>_BigBuffer
819 sta tmp1+1
820
821 jsr _System_DataUnpack
822
823 //
824 // And then copy the buffer to screen
825 //
826 .(
827 // Source
828 lda #<_BigBuffer
829 sta tmp0+0
830 lda #>_BigBuffer
831 sta tmp0+1
832
833 lda #<_BigBuffer+40*199
834 sta tmp2+0
835 lda #>_BigBuffer+40*199
836 sta tmp2+1
837
838 // Dest
839 lda #<$a000
840 sta tmp1+0
841 lda #>$a000
842 sta tmp1+1
843
844 lda #<$a000+40*199
845 sta tmp3+0
846 lda #>$a000+40*199
847 sta tmp3+1
848
849 ldx #100
850 loop_y
851 ldy #0
852 loop_x
853 lda (tmp0),y
854 sta (tmp1),y
855
856 lda (tmp2),y
857 sta (tmp3),y
858
859 iny
860 cpy #40
861 bne loop_x
862
863 .(
864 clc
865 lda tmp0+0
866 adc #40
867 sta tmp0+0
868 bcc skip
869 inc tmp0+1
870 skip
871 .)
872
873 .(
874 clc
875 lda tmp1+0
876 adc #40
877 sta tmp1+0
878 bcc skip
879 inc tmp1+1
880 skip
881 .)
882
883 .(
884 sec
885 lda tmp2+0
886 sbc #40
887 sta tmp2+0
888 bcs skip
889 dec tmp2+1
890 skip
891 .)
892
893 .(
894 sec
895 lda tmp3+0
896 sbc #40
897 sta tmp3+0
898 bcs skip
899 dec tmp3+1
900 skip
901 .)
902
903 jsr _VSync
904
905 dex
906 beq end
907 jmp loop_y
908 end
909 .)
910
911
912 //
913 // Temporisation
914 //
915 .(
916 ldx #250
917 loop
918 jsr _VSync
919 dex
920 bne loop
921 .)
922
923 rts
924 .)
925
926 #define FX_TEXT_OFFSET(size) 19-((size)*3-1)/2
927
928
929 _FxTitle_NameList
930 .byt FX_TEXT_OFFSET(8),0,"YOU HAVE",0
931 .byt FX_TEXT_OFFSET(4),0,"BEEN",0
932 .byt FX_TEXT_OFFSET(8),0,"WATCHING",0
933 .byt 2,0," ",0
934 .byt FX_TEXT_OFFSET(11),28,".BUGGY BOY.",0
935 .byt 2,0," ",0
936 .byt FX_TEXT_OFFSET(7),0,"A 36415",0
937 .byt FX_TEXT_OFFSET(10),0,"BYTES LONG",0
938 .byt FX_TEXT_OFFSET(10),0,"ORIC INTRO",0
939 .byt FX_TEXT_OFFSET(2) ,0,"BY",0
940 .byt FX_TEXT_OFFSET(12),28,"DEFENCEFORCE",0
941 .byt FX_TEXT_OFFSET(11),28,"AND FRIENDS",0
942 .byt FX_TEXT_OFFSET(7),0,"FOR THE",0
943 .byt FX_TEXT_OFFSET(8),56,"LCP 2004",0
944 .byt FX_TEXT_OFFSET(2),0,"IN",0
945 .byt FX_TEXT_OFFSET(9),0,"LINKOPING",0
946 .byt FX_TEXT_OFFSET(6),0,"SWEDEN",0
947 .byt 2,0," ",0
948 .byt FX_TEXT_OFFSET(6),28,"THANKS",0
949 .byt 2,0," ",0
950 .byt 2,0," ",0
951 .byt 2,0," ",0
952 .byt FX_TEXT_OFFSET(9) ,56,"LAST NOTE",0
953 .byt FX_TEXT_OFFSET(10),84,"WORSHIPING",0
954 .byt FX_TEXT_OFFSET(11),84,"RABBITS MAY",0
955 .byt FX_TEXT_OFFSET(9) ,84,"ALSO CAUSE",0
956 .byt FX_TEXT_OFFSET(8) ,84,"TROUBLES",0
957 .byt 2,0," ",0
958 .byt 0
959
960
961 _FxTitle_Scroll
962 .(
963 lda #28
964 sta tmp2
965 big_loop
966 lda #<$a000
967 sta tmp0+0
968 clc
969 adc #80
970 sta tmp1+0
971 lda #>$a000
972 sta tmp0+1
973 adc #0
974 sta tmp1+1
975
976 ldx #198
977 loop_y
978 ldy #0
979 lda (tmp1),y
980 sta (tmp0),y
981 iny
982 // Skip the "black ink" area
983 iny
984 loop_x
985 lda (tmp1),y
986 sta (tmp0),y
987 iny
988 cpy #40
989 bne loop_x
990
991 clc
992 lda tmp1+0
993 sta tmp0+0
994 adc #40
995 sta tmp1+0
996 lda tmp1+1
997 sta tmp0+1
998 adc #0
999 sta tmp1+1
1000
1001 dex
1002 bne loop_y
1003
1004 //jsr _VSync
1005
1006 dec tmp2
1007 bne big_loop
1008
1009 rts
1010 .)
1011
1012
1013 #define MANDEL_NAME_AREA $a000+40*170
1014
1015 _FxTitle_InitBorderColors
1016 .(
1017 lda #<MANDEL_NAME_AREA
1018 sta tmp0+0
1019 lda #>MANDEL_NAME_AREA
1020 sta tmp0+1
1021
1022 ldx #28
1023 loop_y
1024 ldy #1
1025 lda #0
1026 sta (tmp0),y
1027
1028 clc
1029 lda tmp0+0
1030 adc #40
1031 sta tmp0+0
1032 bcc skip
1033 inc tmp0+1
1034 skip
1035
1036 dex
1037 bne loop_y
1038
1039 rts
1040 .)
1041
1042
1043
1044 _Fx_DrawTitle
1045 .(
1046 //
1047 // Prepare the tone mapping
1048 //
1049 jsr _VScroll_GenerateScrollMapping
1050 jsr _FxTitle_InitBorderColors
1051
1052 lda #<_FxTitle_NameList
1053 sta greetings_pointer+0
1054 lda #>_FxTitle_NameList
1055 sta greetings_pointer+1
1056
1057 .(
1058 // First part of scroller, in blue
1059 lda #30
1060 sta tmp3
1061 loop
1062
1063 jsr _Mandel_DisplayGreetings
1064 jsr _FxTitle_Scroll
1065 dec tmp3
1066 bne loop
1067 .)
1068
1069 rts
1070 .)
1071
1072
1073
1074
1075
1076

  ViewVC Help
Powered by ViewVC 1.1.26