forked from bboxy/bitfire
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlink_macros_64tass.inc
145 lines (124 loc) · 2 KB
/
link_macros_64tass.inc
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
link_load_next_raw_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_load_next_raw
.endm
link_load_next_comp_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_load_next_comp
.endm
link_decomp_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_decomp
.endm
link_load_next_double_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_load_next_double
.endm
link_load_next_raw_decomp_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_load_next_raw_decomp
.endm
link_decomp_under_io_jmp .macro
lda #>(\1)-1
pha
lda #<(\1)-1
pha
jmp link_decomp_under_io
.endm
link_player_irq .macro
sei
lda #<link_player
sta $fffe
lda #>link_player
sta $ffff
lda #$ff
sta $d012
cli
.endm
request_disk .macro
lda #(\1) + $f0
jsr bitfire_send_byte_
lda #$3f
sta $dd02
.endm
link_wait_syncpoint .macro
l1 lda link_syncpoint
cmp #\1
bcc l1
.endm
clear_frame_count .macro
lda #$00
sta link_frame_count + 0
sta link_frame_count + 1
.endm
wait_frame_count .macro
l1 lda link_frame_count + 1
cmp #>(\1)
bcc l1
l2 lda link_frame_count + 0
cmp #<(\1)
bcc l2
.endm
bus_lock .macro
lda #$c7
sta $dd02
.endm
bus_unlock .macro
lda #(\1 & 3) | $c0
sta $dd00
lda #$3f
sta $dd02
.endm
set_depack_pointers .macro
lda #<(\1)
sta bitfire_lz_sector_ptr1
sta bitfire_lz_sector_ptr2
lda #>(\1)
sta bitfire_lz_sector_ptr1 + 1
sta bitfire_lz_sector_ptr2 + 1
.endm
start_music_nmi .macro
ldx #<link_player
lda #>link_player
stx $fffa
sta $fffb
lda #$00
sta $dd0e
lda $dd0d
lda #$c7
sta $dd04
lda #$4c
sta $dd05
lda #$81
sta $dd0d
lda #$ff
l1 cmp $d012
bne l1
lda #$11
sta $dd0e
.endm
stop_music_nmi .macro
lda #$7f
sta $dd0d
lda $dd0d
.endm
restart_music_nmi .macro
lda $dd0d
lda #$81
sta $dd0d
.endm