Rev 1643 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log
Rev 1643 | Rev 1657 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | COMINT_ EQU 0X026E |
7 | COMINT_ EQU 0X026E |
8 | 8 | ||
9 | _DEV_READ=2 |
9 | _DEV_READ=2 |
10 | _DEV_WRITE=3 |
10 | _DEV_WRITE=3 |
11 | 11 | ||
12 | P_DATA EQU 0X57 |
- | |
13 | P_CONF EQU 0X77 |
- | |
14 | - | ||
15 | CMD_09 EQU 0X49 ;SEND_CSD |
- | |
16 | CMD_12 EQU 0X4C ;STOP_TRANSMISSION |
- | |
17 | CMD_17 EQU 0X51 ;READ_SINGLE_BLOCK |
- | |
18 | CMD_18 EQU 0X52 ;READ_MULTIPLE_BLOCK |
- | |
19 | CMD_24 EQU 0X58 ;WRITE_BLOCK |
- | |
20 | CMD_25 EQU 0X59 ;WRITE_MULTIPLE_BLOCK |
- | |
21 | CMD_55 EQU 0X77 ;APP_CMD |
- | |
22 | CMD_58 EQU 0X7A ;READ_OCR |
- | |
23 | CMD_59 EQU 0X7B ;CRC_ON_OFF |
- | |
24 | ACMD_41 EQU 0X69 ;SD_SEND_OP_COND |
- | |
25 | 12 | ||
26 | ;АДРЕС УСТАНОВЩИКА ДРАЙВЕРА НА NeoGS |
13 | ;АДРЕС УСТАНОВЩИКА ДРАЙВЕРА НА NeoGS |
27 | SETUPSD EQU 0X5B00 |
14 | SETUPSD EQU 0X5B00 |
28 | 15 | ||
29 | ;ДРАЙВЕР SD-CARD ДЛЯ NGS |
16 | ;ДРАЙВЕР SD-CARD ДЛЯ NGS |
Line 127... | Line 114... | ||
127 | XOR A |
114 | XOR A |
128 | ;OUT (C),A |
115 | ;OUT (C),A |
129 | POP BC |
116 | POP BC |
130 | POP DE |
117 | POP DE |
131 | RET |
118 | RET |
- | 119 | |
|
- | 120 | display "GS_INIT ",$ |
|
132 | GS_INIT |
121 | GS_INIT |
133 | XOR A |
122 | XOR A |
134 | OUT (GSDAT),A |
123 | OUT (GSDAT),A |
135 | ld a,0x23 ;Get number of RAM Pages |
124 | ld a,0x23 ;Get number of RAM Pages |
136 | OUT (GSCOM),A |
125 | OUT (GSCOM),A |
Line 138... | Line 127... | ||
138 | halt |
127 | halt |
139 | IN A,(GSDAT) |
128 | IN A,(GSDAT) |
140 | inc a |
129 | inc a |
141 | cp 3+1 |
130 | cp 3+1 |
142 | jr c,SD_NO ;не может быть <3 pages or 0xff pages |
131 | jr c,SD_NO ;не может быть <3 pages or 0xff pages |
- | 132 | |
|
- | 133 | ;в еве драйвер уже установлен ЕРСом |
|
- | 134 | if atm != 1 |
|
143 | JP INSTSDD |
135 | JP INSTSDD |
- | 136 | endif |
|
144 | 137 | ||
145 | ;ИНИЦИАЛИЗАЦИЯ КАРТОЧКИ |
138 | ;ИНИЦИАЛИЗАЦИЯ КАРТОЧКИ |
146 | GSDINIT XOR A |
139 | GSDINIT XOR A |
147 | GSDINIT1 CALL COMM2SD |
140 | GSDINIT1 CALL COMM2SD |
148 | CALL WN_ |
141 | CALL WN_ |
Line 160... | Line 153... | ||
160 | ;ПЕРЕДАТЧИК КОМАНД/ПАРАМЕТРОВ В ДРАЙВЕР НА NeoGS |
153 | ;ПЕРЕДАТЧИК КОМАНД/ПАРАМЕТРОВ В ДРАЙВЕР НА NeoGS |
161 | COMM2SD OUT (GSDAT),A ;УШЛА КОМАНДА ДРАЙВЕРУ |
154 | COMM2SD OUT (GSDAT),A ;УШЛА КОМАНДА ДРАЙВЕРУ |
162 | LD A,0X1E |
155 | LD A,0X1E |
163 | OUT (GSCOM),A |
156 | OUT (GSCOM),A |
164 | CALL WC_ ;УШЛА КОМАНДА ПРОШИВКЕ |
157 | CALL WC_ ;УШЛА КОМАНДА ПРОШИВКЕ |
- | 158 | bit 6,a ;ждет ли команда данные |
|
- | 159 | jr z,SD_DRV_PRESENT |
|
- | 160 | pop af ;снимем со стека адрес возврата |
|
- | 161 | xor a |
|
- | 162 | JR SD_NO ;если команда не ждет данные, то считаем что драйвер не установлен |
|
- | 163 | SD_DRV_PRESENT: |
|
165 | LD A,B |
164 | LD A,B |
166 | OUT (GSDAT),A |
165 | OUT (GSDAT),A |
167 | CALL WD_ ;УШЛИ БИТЫ 31-24 ПАРАМЕТРОВ ;savelij13: тут виснет |
166 | CALL WD_ ;УШЛИ БИТЫ 31-24 ПАРАМЕТРОВ ;savelij13: тут виснет |
168 | LD A,C |
167 | LD A,C |
169 | OUT (GSDAT),A |
168 | OUT (GSDAT),A |
Line 196... | Line 195... | ||
196 | WC_ IN A,(GSCOM) |
195 | WC_ IN A,(GSCOM) |
197 | RRA |
196 | RRA |
198 | JR C,$-3 |
197 | JR C,$-3 |
199 | RET |
198 | RET |
200 | 199 | ||
- | 200 | if atm != 1 |
|
201 | ;УСТАНОВЩИК ДРАЙВЕРА НА NeoGS |
201 | ;УСТАНОВЩИК ДРАЙВЕРА НА NeoGS |
202 | INSTSDD |
202 | INSTSDD |
203 | LD BC,GSCFG0 |
203 | LD BC,GSCFG0 |
204 | IN A,(C) |
204 | IN A,(C) |
205 | CP 0xFF |
205 | CP 0xFF |
Line 272... | Line 272... | ||
272 | XOR A |
272 | XOR A |
273 | JP GSDINIT |
273 | JP GSDINIT |
274 | 274 | ||
275 | UKLAD1 ;ОТКУДА КОД НА НГС ЗАКИДЫВАТЬ |
275 | UKLAD1 ;ОТКУДА КОД НА НГС ЗАКИДЫВАТЬ |
276 | incbin "ngssd.bin" |
276 | incbin "ngssd.bin" |
277 | 277 | |
|
- | 278 | endif |
|
- | 279 | ||
278 | 280 |