;----------------------------------------------------------------- ; /--||--\ /------\/-\ /-\/--\ /-\ Oriens/1992 ; | || | | |\ \ / /| | / / ; | -- | | == | \ \ / / | |/ / ; | -- | | | \ \/\/ / | | ; | || | | || | \ / | |\ \ ; \--||--/ \--/\--/ \----/ \--/ \--\ ; ; Demo BTS. ; ;----------------------------------------------------------------- ORG $1A000 LOAD $1A000 ;----------------------------------------------------------------- ST: ;---------------------------------------------------------------- ; lea bt1,a0 ; lea bt3+[300*40],a1 ;eff: clr.w (a0)+ ; cmp.l a0,a1 ; bne eff bsr fill_board Bsr put_plans Bsr Construit_damier ; MOVE.L #$2e8135C1,$8E(A6) ; damier ; MOVE.L #$003800D0,$92(A6) ; bsr init_sprites lea m1,a0 bsr put_pointeurs bsr.w mt_init BSR.W SAVE_ALL ; FORBID & SAVE POINTEURS ;---------------------------------------------------------------- Lea $DFF000,A6 MOVE.W #$7FFF,$9A(A6) MOVE.W #$7FFF,$96(A6) MOVE.L #$277030C1,$8E(A6) CLR.L $102(A6) MOVE.L #$00000000,$DFF108 MOVE.L #$003800D0,$92(A6) MOVE.L #Copper1,$DFF080 CLR.W $DFF088 ;--------------------------------------------------------------- MOVE.L #IRQ,$6C MOVE.W #%1100000000010000,$9A(A6) MOVE.W #%1000011111000000,$96(A6) ;--------------------------------------------------------------- ATTEN: cmp.b #50,$dff006 bne atten cmp.w #1,start_damier bne no_start bsr damier_R no_start: cmp.b #1,end_Demo beq end_do BTST #6,$BFE001 bne ATTEN end_do: bsr.w mt_end BSR.W RESTORE_ALL Rts Damier_r: Bsr Fill_Board add.w #1,tempo_d cmp.w #3,tempo_d bne no_anim clr.w tempo_d Bsr scroll_damier Bsr Anim_board no_anim Rts start_Damier: dc.w 0 ;--------------------------------------------------------------- ; ----- OFFSET LIBRAIRYS ;--------------------------------------------------------------- openlibrary= -408 closelibrary= -414 execbase= $04 ;---------------------------------------------------------------- ; IRQ ;---------------------------------------------------------------- IRQ: MOVEM.L D0-D7/A0-A7,-(SP) MOVE.W $DFF01C,D0 AND.W $DFF01E,D0 BTST #4,D0 BEQ.W FINIRQ add.w #1,compt_all cmp.w #1,start_damier beq no_do cmp.w #0,compt_all ; m1 bne no_m1_up bsr init_up_1 no_m1_up: cmp.w #400,compt_all bne no_m1_down bsr init_down_1 no_m1_down: cmp.w #450,compt_all ; m2 bne no_m2_up bsr init_up_1 lea m2,a0 bsr put_pointeurs no_m2_up: cmp.w #800,compt_all bne no_m2_down bsr init_down_1 no_m2_down: cmp.w #850,compt_all ; m3 bne no_m3_up lea m3,a0 bsr put_pointeurs bsr init_up_1 no_m3_up: cmp.w #1250,compt_all bne no_m3_down bsr init_down_1 no_m3_down: cmp.w #1300,compt_all ; m4 bne no_m4_up lea m4,a0 bsr put_pointeurs bsr init_up_1 no_m4_up: cmp.w #1700,compt_all bne no_m4_down bsr init_down_1 no_m4_down: cmp.w #1750,compt_all ; m5 bne no_m5_up lea m5,a0 bsr put_pointeurs bsr init_up_1 no_m5_up: cmp.w #2150,compt_all bne no_m5_down bsr init_down_1 no_m5_down: cmp.w #2200,compt_all ; m6 bne no_m6_up lea m6,a0 bsr put_pointeurs bsr init_up_1 no_m6_up: cmp.w #2600,compt_all bne no_m6_down bsr init_down_1 no_m6_down: cmp.w #2650,compt_all ; m7 bne no_m7_up lea m7,a0 bsr put_pointeurs bsr init_up_1 no_m7_up: cmp.w #3050,compt_all bne no_m7_down bsr init_down_1 no_m7_down: cmp.w #3100,compt_all ; m8 bne no_m8_up lea m8,a0 bsr put_pointeurs bsr init_up_1 no_m8_up: cmp.w #3500,compt_all bne no_m8_down bsr init_down_1 no_m8_down: cmp.w #3550,compt_all ; pic1 bne no_pic1_up lea pic1,a0 bsr put_pointeurs_1 move.l #copper2,$dff080 clr.w $dff088 bsr init_up_pic1 no_pic1_up: cmp.w #3950,compt_all bne no_pic_down bsr init_down_pic no_pic_down: cmp.w #4000,compt_all ; pic2 bne no_pic2_up lea pic2,a0 bsr put_pointeurs_1 bsr init_up_pic2 no_pic2_up: cmp.w #4400,compt_all bne no_pic2_down bsr init_down_pic no_pic2_down: cmp.w #4450,compt_all ; pic3 bne no_pic31_up lea pic3,a0 bsr put_pointeurs_2 move.l #copper3,$dff080 clr.w $dff088 bsr init_up_pic31 no_pic31_up: cmp.w #4468,compt_all bne no_pic32_up bsr init_up_pic32 no_pic32_up: cmp.w #4486,compt_all bne no_pic33_up bsr init_up_pic33 no_pic33_up: cmp.w #4886,compt_all bne no_pic31_down bsr init_down_pic31 no_pic31_down: cmp.w #4904,compt_all bne no_pic32_down bsr init_down_pic32 no_pic32_down: cmp.w #4922,compt_all bne no_pic33_down bsr init_down_pic33 no_pic33_down: cmp.w #4990,compt_all ; pic4 bne no_pic4_up lea pic4,a0 bsr put_pointeurs_1 move.l #copper2,$dff080 clr.w $dff088 bsr init_up_pic4 no_pic4_up: cmp.w #5400,compt_all bne no_pic4_down bsr init_down_pic no_pic4_down: cmp.w #5450,compt_all ; m13 bne no_m13_up move.l #copper1,$dff080 clr.w $dff088 lea m13,a0 bsr put_pointeurs bsr init_up_1 no_m13_up: cmp.w #5950,compt_all bne no_m13_down bsr init_down_1 no_m13_down: cmp.w #6000,compt_all ; m14 bne no_m14_up lea m14,a0 bsr put_pointeurs bsr init_up_1 no_m14_up: cmp.w #6400,compt_all bne no_m14_down bsr init_down_1 no_m14_down: cmp.w #6450,compt_all ; m15 bne no_m15_up lea m15,a0 bsr put_pointeurs bsr init_up_1 no_m15_up: cmp.w #6850,compt_all bne no_m15_down bsr init_down_1 no_m15_down: cmp.w #6900,compt_all ; m16 bne no_m16_up lea m16,a0 bsr put_pointeurs bsr init_up_1 no_m16_up: cmp.w #7400,compt_all bne no_m16_down bsr init_down_1 no_m16_down: cmp.w #7450,compt_all ; m17 bne no_m17_up move.l #copper_damier,$dff080 clr.w $dff088 bsr put_pointeurs_damier bsr init_up_damier no_m17_up: cmp.w #7550,compt_all bne no_m17_down move.w #1,start_damier no_m17_down: suite: cmp.b #1,slide_up_ok bne no_up bsr slide_up no_up: cmp.b #1,slide_down_ok bne no_down bsr slide_down no_down: no_do: bsr.w mt_music MOVE.W #$10,$DFF09C FINIRQ: MOVEM.L (SP)+,D0-D7/A0-A7 RTE ;--------------------------------------------------------------- end_demo: dc.b 0 slide_up_ok: dc.b 0 slide_down_ok: dc.b 0 stop_all: dc.b 0 even compt_all: dc.w -50 tempo: dc.w 0 ; temporisation slide_compt: dc.w 0 ; compteur 0-16 pointeur_courant: dc.l 0 nb_courant: dc.w 0 pal_courant: dc.l 0 tempo_courant: dc.w 0 Blanc: dc.w $fff init_up_1: clr.w slide_compt clr.w tempo move.w #4,tempo_courant move.b #1,slide_up_ok move.l #pal1,pointeur_courant move.l #pal_m1,pal_courant move.w #4,nb_courant rts init_down_1: clr.w slide_compt clr.w tempo move.w #2,tempo_courant move.b #1,slide_down_ok move.l #pal1,pointeur_courant move.w #4,nb_courant rts init_up_Damier: clr.w slide_compt clr.w tempo move.w #4,tempo_courant move.b #1,slide_up_ok move.l #pal_Damier,pointeur_courant move.l #Blanc,pal_courant move.w #1,nb_courant rts init_up_pic1: clr.w slide_compt clr.w tempo move.w #4,tempo_courant move.b #1,slide_up_ok move.l #pal2,pointeur_courant move.l #pal_pic1,pal_courant move.w #32,nb_courant rts init_up_pic2: clr.w slide_compt clr.w tempo move.w #4,tempo_courant move.b #1,slide_up_ok move.l #pal2,pointeur_courant move.l #pal_pic2,pal_courant move.w #32,nb_courant rts init_up_pic4: clr.w slide_compt clr.w tempo move.w #4,tempo_courant move.b #1,slide_up_ok move.l #pal2,pointeur_courant move.l #pal_pic4,pal_courant move.w #32,nb_courant rts init_up_pic31: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_up_ok move.l #pal31,pointeur_courant move.l #pal_pic31,pal_courant move.w #32,nb_courant rts init_up_pic32: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_up_ok move.l #pal32,pointeur_courant move.l #pal_pic32,pal_courant move.w #32,nb_courant rts init_up_pic33: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_up_ok move.l #pal33,pointeur_courant move.l #pal_pic33,pal_courant move.w #32,nb_courant rts init_down_pic: clr.w slide_compt clr.w tempo move.w #2,tempo_courant move.b #1,slide_down_ok move.l #pal2,pointeur_courant move.w #32,nb_courant rts init_down_pic31: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_down_ok move.l #pal31,pointeur_courant move.w #32,nb_courant rts init_down_pic32: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_down_ok move.l #pal32,pointeur_courant move.w #32,nb_courant rts init_down_pic33: clr.w slide_compt clr.w tempo move.w #1,tempo_courant move.b #1,slide_down_ok move.l #pal33,pointeur_courant move.w #32,nb_courant rts slide_up: ; long ; long[0000 et col] add.w #1,tempo move.w tempo_courant,d0 cmp.w tempo,d0 bne.w no_end_up clr.w tempo move.w slide_compt,d0 move.w nb_courant,d5 subq #1,d5 move.l pointeur_courant,a0 move.l pal_courant,a1 boucle16: move.w 2(a0),d1 move.w (a1),d2 and.w #$000f,d1 and.w #$000f,d2 cmp.w d1,d2 beq.B no_11 add.w #0001,2(a0) no_11: move.w 2(a0),d1 move.w (a1),d2 and.w #$00f0,d1 and.w #$00f0,d2 cmp.w d1,d2 beq.B no_21 add.w #$0010,2(a0) no_21: move.w 2(a0),d1 move.w (a1),d2 and.w #$0f00,d1 and.w #$0f00,d2 cmp.w d1,d2 beq.B no_31 add.w #$0100,2(a0) no_31: add.l #4,a0 add.l #2,a1 dbra d5,boucle16 add.w #1,slide_compt cmp.w #16,slide_compt bne.b no_end_up move.b #0,slide_up_ok no_end_up: rts slide_down: ; long ; long[0000 et col] add.w #1,tempo move.w tempo_courant,d0 cmp.w tempo,d0 bne.w no_end_up clr.w tempo move.w slide_compt,d0 move.w nb_courant,d5 subq #1,d5 move.l pointeur_courant,a0 boucle16d: move.w 2(a0),d1 and.w #$000f,d1 cmp.w #0,d1 beq.B no_11d sub.w #0001,2(a0) no_11d: move.w 2(a0),d1 and.w #$00f0,d1 cmp.w #0,d1 beq.B no_21d sub.w #$0010,2(a0) no_21d: move.w 2(a0),d1 and.w #$0f00,d1 cmp.w #0,d1 beq.B no_31d Sub.w #$0100,2(a0) no_31d: add.l #4,a0 dbra d5,boucle16d add.w #1,slide_compt cmp.w #16,slide_compt bne.b no_end_down move.b #0,slide_down_ok no_end_down: rts ;--------------------------------------------------------------- TEST: BTST #6,$DFF002 BNE.B TEST RTS ;--------------------------------------------------------------- put_pointeurs_damier: move.l #m17,d0 lea pt_damier,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) rts ;--------------------------------------------------------------- put_pointeurs: move.l a0,d0 move.l #plan1,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) swap d0 lea plan2,a0 sub.l #[40*3],d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) rts ;--------------------------------------------------------------- put_pointeurs_1: move.l a0,d0 move.l d0,d1 move.l #plan11,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan22,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan33,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan44,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan55,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) rts ;--------------------------------------------------------------- put_pointeurs_2: move.l a0,d0 move.l d0,d1 move.l #plan111,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan221,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan331,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan441,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) add.l #[200*40],d1 move.l d1,d0 move.l #plan551,a0 move.w d0,6(a0) swap d0 move.w d0,2(a0) rts ;--------------------------------------------------------------- ; ; Damier 4096 couleurs ; ; Oriens/HAWK 1992 ; ;----------------------------------------------------------------- ;--------------------------------------------------------------- ; Routine damier ;--------------------------------------------------------------- Scroll_damier: lea table_couleur+[60*2],a0 lea table_couleur,a1 clr.l d0 clr.l d1 move.w #13,d1 scroll_b2: move.l a0,a2 move.l a1,a3 move.w #59,d0 scroll_b1: move.w (a2)+,(a3)+ dbra d0,scroll_b1 add.l #60*2,a0 add.l #60*2,a1 dbra d1,scroll_b2 Rts ;--------------------------------------------------------------- Compteur_ligne: dc.w 0 ;--------------------------------------------------------------- Anim_board: clr.l d0 move.w compteur_ligne,d0 lea motif,a0 cmp.w #$ffff,(a0,d0.w) bne ok_go_anim1 move.w #0,compteur_ligne bra anim_board ok_go_anim1: add.l d0,a0 lea table_couleur+[120*14],a2 move.l a0,a1 move.l a2,a3 clr.l d1 move.w #59,d1 fill_a1: move.w (a1)+,(a3)+ dbra d1,fill_a1 add.w #[60*2],compteur_ligne Rts ;--------------------------------------------------------------- Motif: ; par lignes de 60 blk.w [60]*[86],0 dc.w $ffff ;--------------------------------------------------------------- tempo_d:dc.w 0 ;--------------------------------------------------------------- Module: dc.l Table_couleur ; addresse de la table dc.l 60 ; modulo dc.l table_couleur ; restart ;--------------------------------------------------------------- Fill_board: lea module,a0 move.l (a0),a1 move.w #14,fade_coef lea l1+6,a2 bsr Fill_ligne2 move.w #12,fade_coef lea l2+6,a2 bsr Fill_ligne2 move.w #10,fade_coef lea l3+6,a2 bsr Fill_ligne2 move.w #8,fade_coef lea l4+6,a2 bsr Fill_ligne2 move.w #6,fade_coef lea l5+6,a2 bsr Fill_ligne2 move.w #4,fade_coef lea l6+6,a2 bsr Fill_ligne2 move.w #3,fade_coef lea l7+6,a2 bsr Fill_ligne2 move.w #2,fade_coef lea l8+6,a2 bsr Fill_ligne2 move.w #1,fade_coef lea l9+6,a2 bsr Fill_ligne2 lea l10+6,a2 bsr Fill_ligne1 lea l11+6,a2 bsr Fill_ligne1 lea l12+6,a2 bsr Fill_ligne1 lea l13+6,a2 bsr Fill_ligne1 Rts ;--------------------------------------------------------------- fill_ligne1: ; sans fade et toute la ligne clr.l d0 move.w #29,d0 fill_b1: move.w (a1)+,(a2) addq #4,a2 dbra d0,fill_b1 add.l 4(a0),a1 ; plus modulo Rts ;--------------------------------------------------------------- fill_ligne2: ; plus fade et toute la ligne clr.l d0 move.w #29,d0 fill_b2: move.w (a1)+,d1 ; d1>(a2) bsr fade_in move.w d1,(a2) addq #4,a2 dbra d0,fill_b2 add.l 4(a0),a1 ; plus modulo Rts ;--------------------------------------------------------------- fade_ok: dc.w 0 fade_coef: dc.w 0 ;--------------------------------------------------------------- fade_in: move.w d1,d2 and.w #$f,d2 sub.w fade_coef,d2 bpl no_zero1 clr.w d2 no_zero1: and.w #$ff0,d1 or.w d2,d1 move.w d1,d2 lsr #4,d2 and.w #$f,d2 sub.w fade_coef,d2 bpl no_zero2 clr.w d2 no_zero2: and.w #$f0f,d1 lsl #4,d2 or.w d2,d1 move.w d1,d2 lsr #8,d2 and.w #$f,d2 sub.w fade_coef,d2 bpl no_zero3 clr.w d2 no_zero3: and.w #$0ff,d1 lsl #8,d2 or.w d2,d1 Rts ;--------------------------------------------------------------- dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 motif_depart: dc.w 0,0,0,0,0,0,0,0,0 dc.w $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$a0a,$b0b dc.w $c0c,$d0d,$e0e,$f0f dc.w $f1f,$f2f,$f3f,$f4f,$f5f,$f6f,$f7f,$f8f,$f9f,$faf,$fbe,$fcd dc.w $fed,$ffc,$fec,$fdb,$fcb,$ebb,$dab,$cbb,$bba,$aba,$9c9,$8c7 dc.w $7c5,$6d3,$5c2,$4b2,$3a2,$392,$382,$372,$363,$363,$353 dc.w $242,$131,$020,$010 dc.w $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0 ;--------------------------------------------------------------- Construit_damier: lea motif,a0 lea motif_depart,a1 clr.l d2 clr.l d4 move.w #80,d1 Cons_c2: move.l a0,a2 lea motif_depart,a1 add.l d4,a1 add.l #2,d4 add.w #1,d2 move.w d2,d3 Cons_c1: move.w -(a1),(a2)+ dbra d3,cons_c1 add.l #120,a0 dbra d1,cons_c2 Rts ;--------------------------------------------------------------- Put_plans: lea pt1,a0 move.l #damier,d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) lea pt2,a0 move.l #damier+[137*40],d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) lea pt3,a0 move.l #damier+[137*40*2],d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) lea pt4,a0 move.l #damier+[137*40*3],d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) lea pt5,a0 move.l #damier+[137*40*4],d0 move.w d0,6(a0) swap d0 move.w d0,2(a0) Rts ;--------------------------------------------------------------- COPPer_damier: DC.L $01000200,$00960020,$01020000 DC.L $01800000,$01080000,$010a0000 dc.l $01040000,$008e2570,$009035c1 dc.l $250ffffe,$01001200 pt_damier: dc.l $00e00000 dc.l $00e20000 pal_damier: dc.l $01820000 dc.b start-2,$01,$ff,$fe dc.l $01000200 start=$99+22 Dc.b start-1,$01,$FF,$FE pt1: dc.l $00e00000,$00e20000 pt2: dc.l $00e40000,$00e60000 pt3: dc.l $00e80000,$00ea0000 pt4: dc.l $00ec0000,$00ee0000 pt5: dc.l $00f00000,$00f20000 Dc.l $01005200 l1: Dc.b start,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l2: Dc.b start+1,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l3: Dc.b start+2,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$019000d0,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00400,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l4: Dc.b start+3,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l5: Dc.b start+5,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l6: Dc.b start+8,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l7: Dc.b start+11,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l8: Dc.b start+17,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l9: Dc.b start+26,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l10: Dc.b start+38,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00400,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l11: Dc.b start+57,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 dc.b $ff,$df,$ff,$fe l12: Dc.b 5,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l13: Dc.b 41,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l14: Dc.b $36,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 l15: Dc.b $37,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 lfin: Dc.b $38,$01,$FF,$FE Dc.l $01820000,$01840000,$01860000,$01880000,$018a0000 Dc.l $018c0000,$018e0000,$01900000,$01920000,$01940000 Dc.l $01960000,$01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 Dc.l $01aa0000,$01ac0000,$01ae0000,$01b00000,$01b20000 Dc.l $01b40000,$01b60000,$01b80000,$01ba0000,$01bc0000 dc.l $01000200 DC.L $009C8010,$FFFFFFFE ; END COPPER ;--------------------------------------------------------------- ;--------------------------------------------------------------- SAVE_ALL: ; MOVE.B #$87,$BFD100 ; STOP DRIVE MOVE.L $00000004,A6 JSR -132(A6) MOVE.L $6C,SAVEIRQ MOVE.W $DFF01C,SAVEINT OR.W #$C000,SAVEINT MOVE.W $DFF002,SAVEDMA OR.W #$8100,SAVEDMA RTS RESTORE_ALL: MOVE.L SAVEIRQ,$6C MOVE.W #$7FFF,$DFF09A MOVE.W SAVEINT,$DFF09A MOVE.W #$7FFF,$DFF096 MOVE.W SAVEDMA,$DFF096 MOVE.L $00000004,A6 LEA NAME,A1 MOVEQ #0,D0 JSR -552(A6) MOVE.L D0,A0 MOVE.L 38(A0),$DFF080 CLR.W $DFF088 MOVE.L D0,A1 JSR -414(A6) JSR -138(A6) RTS ;--------------------------------------------------------------- Saveint:Dc.w 0 SaveDMA:Dc.w 0 SaveIRQ:Dc.l 0 Name:DC.B "graphics.library",0 Even sprn: dc.l 0,0 ;--------------------------------------------------------------- init_sprites: move.l #spr0,a0 MOVE.L #SPRn,D0 MOVE.W D0,6(A0) SWAP D0 MOVE.W D0,2(A0) MOVE.L #SPRn,D0 MOVE.W D0,14(A0) SWAP D0 MOVE.W D0,10(A0) MOVE.L #SPRn,D0 MOVE.W D0,22(A0) SWAP D0 MOVE.W D0,18(A0) MOVE.L #SPRn,D0 MOVE.W D0,30(A0) SWAP D0 MOVE.W D0,26(A0) MOVE.L #SPRn,D0 MOVE.W D0,38(A0) SWAP D0 MOVE.W D0,34(A0) MOVE.L #SPRn,D0 MOVE.W D0,46(A0) SWAP D0 MOVE.W D0,42(A0) MOVE.L #SPRn,D0 MOVE.W D0,54(A0) SWAP D0 MOVE.W D0,50(A0) MOVE.L #SPRn,D0 MOVE.W D0,62(A0) SWAP D0 MOVE.W D0,58(A0) RTS ;--------------------------------------------------------------- mt_init:lea mt_data,a0 move.l a0,a1 add.l #$3b8,a1 moveq #$7f,d0 moveq #0,d1 mt_loop:move.l d1,d2 subq.w #1,d0 mt_lop2:move.b (a1)+,d1 cmp.b d2,d1 bgt.s mt_loop dbf d0,mt_lop2 addq.b #1,d2 lea mt_samplestarts(pc),a1 asl.l #8,d2 asl.l #2,d2 add.l #$43c,d2 add.l a0,d2 move.l d2,a2 moveq #$1e,d0 mt_lop3:clr.l (a2) move.l a2,(a1)+ moveq #0,d1 move.w 42(a0),d1 asl.l #1,d1 add.l d1,a2 add.l #$1e,a0 dbf d0,mt_lop3 or.b #$2,$bfe001 move.b #$6,mt_speed clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 clr.b mt_songpos clr.b mt_counter clr.w mt_pattpos rts mt_end: clr.w $dff0a8 clr.w $dff0b8 clr.w $dff0c8 clr.w $dff0d8 move.w #$f,$dff096 rts mt_music: movem.l d0-d4/a0-a3/a5-a6,-(a7) lea mt_data,a0 addq.b #$1,mt_counter move.b mt_counter,D0 cmp.b mt_speed,D0 blt.s mt_nonew clr.b mt_counter bra.w mt_getnew mt_nonew: lea mt_voice1(pc),a6 lea $dff0a0,a5 bsr.w mt_checkcom lea mt_voice2(pc),a6 lea $dff0b0,a5 bsr.w mt_checkcom lea mt_voice3(pc),a6 lea $dff0c0,a5 bsr.w mt_checkcom lea mt_voice4(pc),a6 lea $dff0d0,a5 bsr.w mt_checkcom bra.w mt_endr mt_arpeggio: moveq #0,d0 move.b mt_counter,d0 divs #$3,d0 swap d0 cmp.w #$0,d0 beq.s mt_arp2 cmp.w #$2,d0 beq.s mt_arp1 moveq #0,d0 move.b $3(a6),d0 lsr.b #4,d0 bra.s mt_arp3 mt_arp1:moveq #0,d0 move.b $3(a6),d0 and.b #$f,d0 bra.s mt_arp3 mt_arp2:move.w $10(a6),d2 bra.s mt_arp4 mt_arp3:asl.w #1,d0 moveq #0,d1 move.w $10(a6),d1 lea mt_periods(pc),a0 moveq #$24,d7 mt_arploop: move.w (a0,d0.w),d2 cmp.w (a0),d1 bge.s mt_arp4 addq.l #2,a0 dbf d7,mt_arploop rts mt_arp4:move.w d2,$6(a5) rts mt_getnew: lea mt_data,a0 move.l a0,a3 move.l a0,a2 add.l #$c,a3 add.l #$3b8,a2 add.l #$43c,a0 moveq #0,d0 move.l d0,d1 move.b mt_songpos,d0 move.b (a2,d0.w),d1 asl.l #8,d1 asl.l #2,d1 add.w mt_pattpos,d1 clr.w mt_dmacon lea $dff0a0,a5 lea mt_voice1(pc),a6 bsr.s mt_playvoice lea $dff0b0,a5 lea mt_voice2(pc),a6 bsr.s mt_playvoice lea $dff0c0,a5 lea mt_voice3(pc),a6 bsr.s mt_playvoice lea $dff0d0,a5 lea mt_voice4(pc),a6 bsr.s mt_playvoice bra.w mt_setdma mt_playvoice: move.l (a0,d1.l),(a6) addq.l #4,d1 moveq #0,d2 move.b $2(a6),d2 and.b #$f0,d2 lsr.b #4,d2 move.b (a6),d0 and.b #$f0,d0 or.b d0,d2 tst.b d2 beq.s mt_setregs moveq #0,d3 lea mt_samplestarts(pc),a1 move.l d2,d4 subq.l #$1,d2 asl.l #2,d2 mulu #$1e,d4 move.l (a1,d2.l),$4(a6) move.w (a3,d4.l),$8(a6) move.w $2(a3,d4.l),$12(a6) move.w $4(a3,d4.l),d3 tst.w d3 beq.s mt_noloop move.l $4(a6),d2 asl.w #1,d3 add.l d3,d2 move.l d2,$a(a6) move.w $4(a3,d4.l),d0 add.w $6(a3,d4.l),d0 move.w d0,8(a6) move.w $6(a3,d4.l),$e(a6) move.w $12(a6),$8(a5) bra.s mt_setregs mt_noloop: move.l $4(a6),d2 add.l d3,d2 move.l d2,$a(a6) move.w $6(a3,d4.l),$e(a6) move.w $12(a6),$8(a5) mt_setregs: move.w (a6),d0 and.w #$fff,d0 beq.w mt_checkcom2 move.b $2(a6),d0 and.b #$F,d0 cmp.b #$3,d0 bne.s mt_setperiod bsr.w mt_setmyport bra.w mt_checkcom2 mt_setperiod: move.w (a6),$10(a6) and.w #$fff,$10(a6) move.w $14(a6),d0 move.w d0,$dff096 clr.b $1b(a6) move.l $4(a6),(a5) move.w $8(a6),$4(a5) move.w $10(a6),d0 and.w #$fff,d0 move.w d0,$6(a5) move.w $14(a6),d0 or.w d0,mt_dmacon bra.w mt_checkcom2 mt_setdma: move.w #$12c,d0 mt_wait:dbf d0,mt_wait move.w mt_dmacon,d0 or.w #$8000,d0 move.w d0,$dff096 move.w #$12c,d0 mt_wai2:dbf d0,mt_wai2 lea $dff000,a5 lea mt_voice4(pc),a6 move.l $a(a6),$d0(a5) move.w $e(a6),$d4(a5) lea mt_voice3(pc),a6 move.l $a(a6),$c0(a5) move.w $e(a6),$c4(a5) lea mt_voice2(pc),a6 move.l $a(a6),$b0(a5) move.w $e(a6),$b4(a5) lea mt_voice1(pc),a6 move.l $a(a6),$a0(a5) move.w $e(a6),$a4(a5) add.w #$10,mt_pattpos cmp.w #$400,mt_pattpos bne.s mt_endr mt_nex: clr.w mt_pattpos clr.b mt_break addq.b #1,mt_songpos and.b #$7f,mt_songpos move.b mt_songpos,d1 cmp.b mt_data+$3b6,d1 bne.s mt_endr move.b mt_data+$3b7,mt_songpos mt_endr:tst.b mt_break bne.s mt_nex movem.l (a7)+,d0-d4/a0-a3/a5-a6 rts mt_setmyport: move.w (a6),d2 and.w #$fff,d2 move.w d2,$18(a6) move.w $10(a6),d0 clr.b $16(a6) cmp.w d0,d2 beq.s mt_clrport bge.s mt_rt move.b #$1,$16(a6) rts mt_clrport: clr.w $18(a6) mt_rt: rts mt_myport: move.b $3(a6),d0 beq.s mt_myslide move.b d0,$17(a6) clr.b $3(a6) mt_myslide: tst.w $18(a6) beq.s mt_rt moveq #0,d0 move.b $17(a6),d0 tst.b $16(a6) bne.s mt_mysub add.w d0,$10(a6) move.w $18(a6),d0 cmp.w $10(a6),d0 bgt.s mt_myok move.w $18(a6),$10(a6) clr.w $18(a6) mt_myok:move.w $10(a6),$6(a5) rts mt_mysub: sub.w d0,$10(a6) move.w $18(a6),d0 cmp.w $10(a6),d0 blt.s mt_myok move.w $18(a6),$10(a6) clr.w $18(a6) move.w $10(a6),$6(a5) rts mt_vib: move.b $3(a6),d0 beq.s mt_vi move.b d0,$1a(a6) mt_vi: move.b $1b(a6),d0 lea mt_sin(pc),a4 lsr.w #$2,d0 and.w #$1f,d0 moveq #0,d2 move.b (a4,d0.w),d2 move.b $1a(a6),d0 and.w #$f,d0 mulu d0,d2 lsr.w #$6,d2 move.w $10(a6),d0 tst.b $1b(a6) bmi.s mt_vibmin add.w d2,d0 bra.s mt_vib2 mt_vibmin:sub.w d2,d0 mt_vib2:move.w d0,$6(a5) move.b $1a(a6),d0 lsr.w #$2,d0 and.w #$3c,d0 add.b d0,$1b(a6) rts mt_nop: move.w $10(a6),$6(a5) rts mt_checkcom: move.w $2(a6),d0 and.w #$fff,d0 beq.s mt_nop move.b $2(a6),d0 and.b #$f,d0 tst.b d0 beq.w mt_arpeggio cmp.b #$1,d0 beq.s mt_portup cmp.b #$2,d0 beq.w mt_portdown cmp.b #$3,d0 beq.w mt_myport cmp.b #$4,d0 beq.w mt_vib move.w $10(a6),$6(a5) cmp.b #$a,d0 beq.s mt_volslide rts mt_volslide: moveq #0,d0 move.b $3(a6),d0 lsr.b #4,d0 tst.b d0 beq.s mt_voldown add.w d0,$12(a6) cmp.w #$40,$12(a6) bmi.s mt_vol2 move.w #$40,$12(a6) mt_vol2:move.w $12(a6),$8(a5) rts mt_voldown: moveq #0,d0 move.b $3(a6),d0 and.b #$f,d0 sub.w d0,$12(a6) bpl.s mt_vol3 clr.w $12(a6) mt_vol3:move.w $12(a6),$8(a5) rts mt_portup: moveq #0,d0 move.b $3(a6),d0 sub.w d0,$10(a6) move.w $10(a6),d0 and.w #$fff,d0 cmp.w #$71,d0 bpl.s mt_por2 and.w #$f000,$10(a6) or.w #$71,$10(a6) mt_por2:move.w $10(a6),d0 and.w #$fff,d0 move.w d0,$6(a5) rts mt_portdown: clr.w d0 move.b $3(a6),d0 add.w d0,$10(a6) move.w $10(a6),d0 and.w #$fff,d0 cmp.w #$358,d0 bmi.s mt_por3 and.w #$f000,$10(a6) or.w #$358,$10(a6) mt_por3:move.w $10(a6),d0 and.w #$fff,d0 move.w d0,$6(a5) rts mt_checkcom2: move.b $2(a6),d0 and.b #$f,d0 cmp.b #$e,d0 beq.s mt_setfilt cmp.b #$d,d0 beq.s mt_pattbreak cmp.b #$b,d0 beq.s mt_posjmp cmp.b #$c,d0 beq.s mt_setvol cmp.b #$f,d0 beq.s mt_setspeed rts mt_setfilt: move.b $3(a6),d0 and.b #$1,d0 asl.b #$1,d0 and.b #$fd,$bfe001 or.b d0,$bfe001 rts mt_pattbreak: not.b mt_break rts mt_posjmp: move.b $3(a6),d0 subq.b #$1,d0 move.b d0,mt_songpos not.b mt_break rts mt_setvol: cmp.b #$40,$3(a6) ble.s mt_vol4 move.b #$40,$3(a6) mt_vol4:move.b $3(a6),$8(a5) rts mt_setspeed: cmp.b #$1f,$3(a6) ble.s mt_sets move.b #$1f,$3(a6) mt_sets:move.b $3(a6),d0 beq.s mt_rts2 move.b d0,mt_speed clr.b mt_counter mt_rts2:rts mt_sin: dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18 mt_periods: dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0 dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087 dc.w $007f,$0078,$0071,$0000,$0000 mt_speed: dc.b $6 mt_songpos: dc.b $0 mt_pattpos: dc.w $0 mt_counter: dc.b $0 mt_break: dc.b $0 mt_dmacon: dc.w $0 mt_samplestarts:blk.l $1f,0 mt_voice1: blk.w 10,0 dc.w $1 blk.w 3,0 mt_voice2: blk.w 10,0 dc.w $2 blk.w 3,0 mt_voice3: blk.w 10,0 dc.w $4 blk.w 3,0 mt_voice4: blk.w 10,0 dc.w $8 blk.w 3,0 ;---------------------------------------------------------------- COPPER1:DC.L $01000200,$00960020,$01020030,$008e2670,$009020c1 dc.l $01040008 dc.l $01900000,$01920000,$01940000,$01960000,$01980000 dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 spr0: dc.l $01200000,$01220000 dc.l $01240000,$01260000 dc.l $01280000,$012a0000 dc.l $012c0000,$012e0000 dc.l $01300000,$01320000 dc.l $01340000,$01360000 dc.l $01380000,$013a0000 dc.l $013c0000,$013e0000 DC.L $2701FFFE pal1: Dc.l $01800000,$01820000,$01840000,$01860000 Dc.l $01080000,$010A0000 ; Modulo Dc.l $2801FFFE ; Starring PLAN1: Dc.l $00E00000,$00E20000 PLAN2: Dc.l $00E40000,$00E60000 Dc.l $01002600 ; Dc.l $3601fffe,$01000200 dc.l $009C8010,$FFFFFFFE ; FIN COPPER 1 ;---------------------------------------------------------------- COPPER2:DC.L $01000200,$00960020,$01020044,$008e2670,$009000c1 dc.l $01040000 dc.l $01900000,$01920000,$01940000,$01960000,$01980000 dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 ;spr1: dc.l $01200000,$01220000 ; dc.l $01240000,$01260000 ; dc.l $01280000,$012a0000 ; dc.l $012c0000,$012e0000 ; dc.l $01300000,$01320000 ; dc.l $01340000,$01360000 ; dc.l $01380000,$013a0000 ; dc.l $013c0000,$013e0000 DC.L $2701FFFE pal2: Dc.l $01800000,$01820000,$01840000,$01860000 Dc.l $01880000,$018a0000,$018c0000,$018e0000 Dc.l $01900000,$01920000,$01940000,$01960000 Dc.l $01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000 Dc.l $01a80000,$01aa0000,$01ac0000,$01ae0000 Dc.l $01b00000,$01b20000,$01b40000,$01b60000 Dc.l $01b80000,$01ba0000,$01bc0000,$01be0000 Dc.l $01080000,$010A0000 ; Modulo Dc.l $2801FFFE ; Starring PLAN11: Dc.l $00E00000,$00E20000 PLAN22: Dc.l $00E40000,$00E60000 PLAN33: Dc.l $00E80000,$00Ea0000 PLAN44: Dc.l $00Ec0000,$00Ee0000 PLAN55: Dc.l $00f00000,$00f20000 Dc.l $01005200 Dc.l $f001fffe,$01000200 dc.l $009C8010,$FFFFFFFE ; FIN COPPER 1 ;---------------------------------------------------------------- COPPER3:DC.L $01000200,$00960020,$01020044,$008e2670,$009000c1 dc.l $01040000 dc.l $01900000,$01920000,$01940000,$01960000,$01980000 dc.l $01a00000,$01a20000,$01a40000,$01a60000,$01a80000 ;spr1: dc.l $01200000,$01220000 ; dc.l $01240000,$01260000 ; dc.l $01280000,$012a0000 ; dc.l $012c0000,$012e0000 ; dc.l $01300000,$01320000 ; dc.l $01340000,$01360000 ; dc.l $01380000,$013a0000 ; dc.l $013c0000,$013e0000 DC.L $2701FFFE pal31: Dc.l $01800000,$01820000,$01840000,$01860000 Dc.l $01880000,$018a0000,$018c0000,$018e0000 Dc.l $01900000,$01920000,$01940000,$01960000 Dc.l $01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000 Dc.l $01a80000,$01aa0000,$01ac0000,$01ae0000 Dc.l $01b00000,$01b20000,$01b40000,$01b60000 Dc.l $01b80000,$01ba0000,$01bc0000,$01be0000 Dc.l $01080000,$010A0000 ; Modulo Dc.l $2801FFFE ; Starring PLAN111: Dc.l $00E00000,$00E20000 PLAN221: Dc.l $00E40000,$00E60000 PLAN331: Dc.l $00E80000,$00Ea0000 PLAN441: Dc.l $00Ec0000,$00Ee0000 PLAN551: Dc.l $00f00000,$00f20000 Dc.l $01005200 DC.L $6e01FFFE pal32: Dc.l $01800000,$01820000,$01840000,$01860000 Dc.l $01880000,$018a0000,$018c0000,$018e0000 Dc.l $01900000,$01920000,$01940000,$01960000 Dc.l $01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000 Dc.l $01a80000,$01aa0000,$01ac0000,$01ae0000 Dc.l $01b00000,$01b20000,$01b40000,$01b60000 Dc.l $01b80000,$01ba0000,$01bc0000,$01be0000 DC.L $Bf01FFFE pal33: Dc.l $01800000,$01820000,$01840000,$01860000 Dc.l $01880000,$018a0000,$018c0000,$018e0000 Dc.l $01900000,$01920000,$01940000,$01960000 Dc.l $01980000,$019a0000,$019c0000,$019e0000 Dc.l $01a00000,$01a20000,$01a40000,$01a60000 Dc.l $01a80000,$01aa0000,$01ac0000,$01ae0000 Dc.l $01b00000,$01b20000,$01b40000,$01b60000 Dc.l $01b80000,$01ba0000,$01bc0000,$01be0000 Dc.l $f001fffe,$01000200 dc.l $009C8010,$FFFFFFFE ; FIN COPPER 1 ;---------------------------------------------------------------- pal_m1: dc.w $9,$fff,$0,$fff blk.b [40*3],0 m1: blk.b [256*40],$f m2: blk.b [212*40],$f m3: blk.b [239*40],$f m4: blk.b [198*40],$f m5: blk.b [214*40],$f m6: blk.b [225*40],$f m7: blk.b [245*40],$f m8: blk.b 10240,$f m13: blk.b 10240,$f m14: blk.b 10240,$f m15: blk.b 10240,$f m16: blk.b 10240,$f m17: blk.b [150*40],$f pal_pic31: dc.w $0,$242,$400,$820,$aec,$e80,$a00,$a60,$ec2,$a64,$e00 dc.w $aa6,$642,$862,$a86,$464 dc.w $a00,$a00,$a00,$a00,$a00,$a00,$a00,$a00 dc.w $a00,$a00,$a00,$a00,$a00,$a00,$a00,$a00 pal_pic32: dc.w $0,$24,$400,$820,$eee,$00e,$a00,$a42,$ec2,$06e,$e00 dc.w $c80,$642,$862,$884,$ea6 dc.w 0,0,0,0,0,0,0,0 dc.w 0,0,0,0,0,0,0,0 pal_pic1: blk.b 64,$f pic1: blk.b 40000,$f pal_pic2: blk.b 64,$f pic2: blk.b 40000,$f pal_pic33: blk.b 64,$f pic3: blk.b 40000,$f pal_pic4: blk.b 64,$f pic4: blk.b 40000,$f mt_data: BLK.B 83302,0 Table_couleur: blk.w [30*2]*16 Damier: blk.b [137*40]*5 >extern "df1:datas/damier1.bt",damier * END * end_data: ;>extern "df1:datas/Nm01.bt",m1 ;>extern "df1:datas/Nm02.bt",m2 ;>extern "df1:datas/Nm03.bt",m3 ;>extern "df1:datas/Nm04.bt",m4 ;>extern "df1:datas/Nm05.bt",m5 ;>extern "df1:datas/Nm06.bt",m6 ;>extern "df1:datas/Nm07.bt",m7 ;>extern "df1:datas/Nm08.bt",m8 ;>extern "df1:datas/pic1.bt",pal_pic1 ;>extern "df1:datas/pic2.bt",pal_pic2 ;>extern "df1:datas/pic3.bt",pal_pic33 ;>extern "df1:datas/pic4.bt",pal_pic4 ;>extern "df1:datas/Nm13.bt",m13 ;>extern "df1:datas/Nm14.bt",m14 ;>extern "df1:datas/Nm15.bt",m15 >extern "df1:datas/Nm16.bt",m16 >extern "df1:datas/Nm17.bt",m17 >extern "df1:music/module",mt_data