Subversion Repositories NedoOS

Rev

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