forked from bboxy/bitfire
-
Notifications
You must be signed in to change notification settings - Fork 0
/
link_macros_dream.inc
148 lines (131 loc) · 1.99 KB
/
link_macros_dream.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
146
147
148
#ifndef link_dream_inc
link_dream_inc = 1
#macro link_load_next_raw_jmp(addr)
{
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_load_next_raw
}
#macro link_load_next_comp_jmp(addr)
{
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_load_next_comp
}
#macro link_decomp_jmp(addr)
{
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_decomp
}
#macro link_decomp_under_io_jmp(addr)
{
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_decomp_under_io
}
#macro link_load_next_double_jmp(addr)
{
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_load_next_double
}
#macro link_load_next_raw_decomp_jmp(addr) {
lda #>({addr}-1)
pha
lda #<({addr}-1)
pha
jmp link_load_next_raw_decomp
}
#macro link_player_irq
{
sei
lda #<link_player
sta $fffe
lda #>link_player
sta $ffff
lda #$ff
sta $d012
cli
}
#macro request_disk(num) {
lda #{num} + $f0
jsr bitfire_send_byte_
lda #$3f
sta $dd02
}
#macro wait_syncpoint(part)
{
.(
sau:
lda link_syncpoint
cmp #part
bcc sau
.)
}
#macro clear_frame_count
{
lda #$00
sta link_frame_count + 0
sta link_frame_count + 1
}
#macro wait_frame_count(cnt)
{
.(
sau1:
lda link_frame_count+0
cmp #<{cnt}
bcc sau1
sau2:
lda link_frame_count+1
cmp #>{cnt}
bcc sau2
.)
}
#macro bus_lock
{
lda #$c7
sta $dd02
}
#macro bus_unlock(bank)
{
lda #({bank} & 3) | $c0
sta $dd00
lda #$3f
sta $dd02
}
#macro start_music_nmi()
{
.(
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
l:
cmp $d012
bne l
lda #$11
sta $dd0e
.)
}
#endif