Subversion Repositories ngs

Rev

Rev 100 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 100 Rev 101
Line 6... Line 6...
6
	include	"ports.inc"
6
	include	"ports.inc"
7
 
7
 
8
	org	0x4000
8
	org	0x4000
9
 
9
 
10
	di
10
	di
-
 
11
	im	0
11
 
12
	
12
	ld	a,M_NOROM+C_24MHZ+M_EXPAG
13
	ld	a,M_NOROM+C_24MHZ+M_EXPAG
13
	out	(GSCFG0),a
14
	out	(GSCFG0),a
14
 
15
 
15
 
16
	
16
 
17
	
-
 
18
	ld	a,0xC3 ; JP
-
 
19
	ld	(0x28),a
-
 
20
	ld	(0x30),a
-
 
21
	
-
 
22
	ld	hl,MP3_INT
-
 
23
	ld	(0x29),hl
-
 
24
	ld	hl,SD_INT
-
 
25
	ld	(0x31),hl
-
 
26
	
-
 
27
	ld	a,0x7F
-
 
28
	out	(INTENA),a
-
 
29
	out	(INTREQ),a
-
 
30
	ld	a,0x86
-
 
31
	out	(INTENA),a
-
 
32
	
-
 
33
	
-
 
34
	xor	a
-
 
35
	ld	(fin),a
-
 
36
	ld	(fout),a
-
 
37
 
-
 
38
	ld	a,0x81
-
 
39
	ld	(flags),a
-
 
40
	
-
 
41
	call	check
-
 
42
	ei
-
 
43
	
-
 
44
hloop
-
 
45
	halt
-
 
46
	jp	hloop
-
 
47
 
-
 
48
	
-
 
49
SD_INT
-
 
50
	ld	hl,fin
-
 
51
	inc	(hl)
-
 
52
 
-
 
53
	ld	hl,flags
-
 
54
	call	check_sd
-
 
55
	bit	7,(hl)
-
 
56
	call	nz,check_mp3
-
 
57
	ei
-
 
58
	ret
-
 
59
 
-
 
60
	
-
 
61
MP3_INT
-
 
62
	ld	hl,fout
-
 
63
	inc	(hl)
-
 
64
	
-
 
65
	ld	hl,flags
-
 
66
	call	check_mp3
-
 
67
	bit	0,(hl)
-
 
68
	call	nz,check_sd
-
 
69
	ei
-
 
70
	ret
-
 
71
	
-
 
72
	
-
 
73
check	
-
 
74
	ld	hl,flags
-
 
75
	
-
 
76
	bit	0,(hl)
-
 
77
	call	nz,check_sd
-
 
78
	
-
 
79
	bit	7,(hl)
-
 
80
	call	nz,check_mp3
-
 
81
	ret
-
 
82
 
-
 
83
check_sd
-
 
84
	ld	a,(fout)
-
 
85
	ld	c,a
-
 
86
	ld	a,(fin)
-
 
87
	ld	b,a
-
 
88
	sub	c
-
 
89
	cp	128
-
 
90
	jr	c,sd_start
-
 
91
	
-
 
92
	set	0,(hl)
-
 
93
	ret
-
 
94
	
-
 
95
sd_start	
-
 
96
	ld	a,C_DMA_SD
-
 
97
	out	(DMA_MOD),a
-
 
98
	ld	a,1
-
 
99
	out	(DMA_HAD),a
-
 
100
	ld	a,b
-
 
101
	add	a,a
-
 
102
	out	(DMA_MAD),a
-
 
103
	xor	a
-
 
104
	out	(DMA_LAD),a
-
 
105
	ld	a,0x80
-
 
106
	out	(DMA_CST),a
-
 
107
	
-
 
108
	res	0,(hl)
-
 
109
	ret
-
 
110
 
-
 
111
	
-
 
112
	
-
 
113
check_mp3
-
 
114
	ld	a,(fout)
-
 
115
	ld	c,a
-
 
116
	ld	a,(fin)
-
 
117
	ld	b,a
-
 
118
	sub	c
-
 
119
	jr	nz,mp3_start
-
 
120
	
-
 
121
	set	7,(hl)
-
 
122
	ret
-
 
123
	
-
 
124
mp3_start	
-
 
125
	ld	a,C_DMA_MP3
-
 
126
	out	(DMA_MOD),a
-
 
127
	ld	a,1
-
 
128
	out	(DMA_HAD),a
-
 
129
	ld	a,c
-
 
130
	add	a,a
-
 
131
	out	(DMA_MAD),a
-
 
132
	xor	a
-
 
133
	out	(DMA_LAD),a
-
 
134
	ld	a,0x80
-
 
135
	out	(DMA_CST),a
-
 
136
 
-
 
137
	res	7,(hl)
-
 
138
	ret
-
 
139
	
-
 
140
	
-
 
141
	
-
 
142
	
-
 
143
	
-
 
144
	
-
 
145
 
-
 
146
llloop
17
	ld	a,C_DMA_SD
147
	ld	a,C_DMA_SD
18
	out	(DMA_MOD),a
148
	out	(DMA_MOD),a
19
 
149
 
20
	ld	a,1
150
	ld	a,1
21
	out	(DMA_HAD),a
151
	out	(DMA_HAD),a
Line 24... Line 154...
24
	out	(DMA_LAD),a
154
	out	(DMA_LAD),a
25
 
155
 
26
	ld	a,0x80
156
	ld	a,0x80
27
	out	(DMA_CST),a
157
	out	(DMA_CST),a
28
 
158
 
-
 
159
	in	a,(DMA_CST)
-
 
160
	and	0x80
-
 
161
	jr	nz,$-4
-
 
162
 
-
 
163
	
-
 
164
	
-
 
165
	ld	a,C_DMA_MP3
-
 
166
	out	(DMA_MOD),a
-
 
167
	
-
 
168
	ld	a,1
-
 
169
	out	(DMA_HAD),a
29
	jp	$
170
	xor	a
-
 
171
	out	(DMA_MAD),a
-
 
172
	out	(DMA_LAD),a
-
 
173
 
-
 
174
	ld	a,0x80
-
 
175
	out	(DMA_CST),a
-
 
176
	
-
 
177
	in	a,(DMA_CST)
-
 
178
	and	0x80
-
 
179
	jr	nz,$-4
-
 
180
	
-
 
181
	
-
 
182
	
-
 
183
	jp	llloop
-
 
184
 
-
 
185
fin	db	0
-
 
186
fout	db	0
-
 
187
flags	db	0
30
 
188