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 |