-
Notifications
You must be signed in to change notification settings - Fork 0
/
Super Mighty Cycle code.asm
executable file
·76 lines (73 loc) · 1.75 KB
/
Super Mighty Cycle code.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
move.b (Super_Sonic_palette).w,d0
beq.s return3_2186
bmi.w loc3_21E6
subq.b #1,d0
bne.s loc3_2188
subq.b #1,(Palette_frame_count).w
bpl.s return3_2186
move.b #3,(Palette_frame_count).w
lea (SuperMighty_Pal).l,a0
move.w ($FFFFF65C).w,d0
addq.w #8,($FFFFF65C).w
cmpi.w #$30,($FFFFF65C).w
bcs.s supmty1
move.b #-1,(Super_Sonic_palette).w
move.b #0,(MainCharacter+obj_control).w
supmty1:
lea (Normal_palette+4).w,a1
move.l (a0,d0.w),(a1)+
move.l 4(a0,d0.w),(a1)
return3_2186:
rts
; ===========================================================================
loc3_2188:
subq.b #1,(Palette_frame_count).w
bpl.s return3_2186
move.b #3,(Palette_frame_count).w
lea (SuperMighty_Pal).l,a0
move.w ($FFFFF65C).w,d0
subq.w #8,($FFFFF65C).w
bcc.s loc3_21B0
move.b #0,($FFFFF65C).w
move.b #0,(Super_Sonic_palette).w
loc3_21B0:
lea (Normal_palette+4).w,a1
move.l (a0,d0.w),(a1)+
move.l 4(a0,d0.w),(a1)
lea (Pal_22C6).l,a0
cmpi.b #$2,(Current_Zone).w
beq.s supmty2
cmpi.b #$F,(Current_Zone).w
bne.s return3_2186
lea (Pal_2346).l,a0
supmty2:
lea (Underwater_palette+4).w,a1
move.l (a0,d0.w),(a1)+
move.l 4(a0,d0.w),(a1)
rts
; ===========================================================================
loc3_21E6:
subq.b #1,(Palette_frame_count).w
bpl.s return3_2186
move.b #7,(Palette_frame_count).w
lea (SuperMighty_Pal).l,a0
move.w ($FFFFF65C).w,d0
addq.w #8,($FFFFF65C).w
cmpi.w #$78,($FFFFF65C).w
bcs.s supmty3
move.w #$30,($FFFFF65C).w
supmty3:
lea (Normal_palette+4).w,a1
move.l (a0,d0.w),(a1)+
move.l 4(a0,d0.w),(a1)
lea (Pal_22C6).l,a0
cmpi.b #$1,(Current_Zone).w
beq.s supmty4
cmpi.b #$F,(Current_Zone).w
bne.w return3_2186
lea (Pal_2346).l,a0
supmty4:
lea (Underwater_palette+4).w,a1
move.l (a0,d0.w),(a1)+
move.l 4(a0,d0.w),(a1)
rts