Subversion Repositories Kolibri OS

Rev

Rev 19 | Rev 115 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 19 Rev 75
Line 40... Line 40...
40
; òðåõäþéìîâîãî ãèáêîãî äèñêà îáúåìîì 1,44 Ìá)
40
; òðåõäþéìîâîãî ãèáêîãî äèñêà îáúåìîì 1,44 Ìá)
41
MAX_Track   equ 79
41
MAX_Track   equ 79
42
MAX_Head    equ  1
42
MAX_Head    equ  1
43
MAX_Sector  equ 18
43
MAX_Sector  equ 18
Line -... Line 44...
-
 
44
 
44
 
45
uglobal
45
; Ñ÷åò÷èê òèêîâ òàéìåðà
46
; Ñ÷åò÷èê òèêîâ òàéìåðà
46
TickCounter dd ?
47
TickCounter dd ?
47
; Êîä çàâåðøåíèÿ îïåðàöèè ñ êîíòðîëëåðîì ÍÃÌÄ
48
; Êîä çàâåðøåíèÿ îïåðàöèè ñ êîíòðîëëåðîì ÍÃÌÄ
48
FDC_Status  DB ?
49
FDC_Status  DB ?
Line 67... Line 68...
67
FDC_N   DB ?
68
FDC_N   DB ?
68
; Ñ÷åò÷èê ïîâòîðåíèÿ îïåðàöèè ÷òåíèÿ
69
; Ñ÷åò÷èê ïîâòîðåíèÿ îïåðàöèè ÷òåíèÿ
69
ReadRepCounter  DB ?
70
ReadRepCounter  DB ?
70
; Ñ÷åò÷èê ïîâòîðåíèÿ îïåðàöèè ðåêàëèáðîâêè
71
; Ñ÷åò÷èê ïîâòîðåíèÿ îïåðàöèè ðåêàëèáðîâêè
71
RecalRepCounter DB ?
72
RecalRepCounter DB ?
-
 
73
endg
72
; Îáëàñòü ïàìÿòè äëÿ õðàíåíèÿ ïðî÷èòàííîãî ñåêòîðà
74
; Îáëàñòü ïàìÿòè äëÿ õðàíåíèÿ ïðî÷èòàííîãî ñåêòîðà
73
;FDD_DataBuffer:  times 512 db 0   ;DB 512 DUP (?)
75
;FDD_DataBuffer:  times 512 db 0   ;DB 512 DUP (?)
74
fdd_motor_status db 0
76
fdd_motor_status db 0
75
timer_fdd_motor  dd 0
77
timer_fdd_motor  dd 0
Line 109... Line 111...
109
;* Ïàðàìåòðû:                      *
111
;* Ïàðàìåòðû:                      *
110
;* AL - âûâîäèìûé áàéò.            *
112
;* AL - âûâîäèìûé áàéò.            *
111
;***********************************
113
;***********************************
112
FDCDataOutput:
114
FDCDataOutput:
113
;        pusha
115
;        pusha
114
        push ax cx dx
116
        push eax ecx edx
115
        mov     AH,AL     ;çàïîìíèòü áàéò â AH
117
        mov     AH,AL     ;çàïîìíèòü áàéò â AH
116
; Ñáðîñèòü ïåðåìåííóþ ñîñòîÿíèÿ êîíòðîëëåðà
118
; Ñáðîñèòü ïåðåìåííóþ ñîñòîÿíèÿ êîíòðîëëåðà
117
        mov     [FDC_Status],FDC_Normal
119
        mov     [FDC_Status],FDC_Normal
118
; Ïðîâåðèòü ãîòîâíîñòü êîíòðîëëåðà ê ïðèåìó äàííûõ
120
; Ïðîâåðèòü ãîòîâíîñòü êîíòðîëëåðà ê ïðèåìó äàííûõ
119
        mov     DX,3F4h   ;(ïîðò ñîñòîÿíèÿ FDC)
121
        mov     DX,3F4h   ;(ïîðò ñîñòîÿíèÿ FDC)
120
        xor     CX,CX     ;óñòàíîâèòü ñ÷åò÷èê òàéì-àóòà
122
        mov     ecx, 0x10000 ;óñòàíîâèòü ñ÷åò÷èê òàéì-àóòà
121
@@TestRS:
123
@@TestRS:
122
        in      AL,DX     ;ïðî÷èòàòü ðåãèñòð RS
124
        in      AL,DX     ;ïðî÷èòàòü ðåãèñòð RS
123
        and     AL,0C0h   ;âûäåëèòü ðàçðÿäû 6 è 7
125
        and     AL,0C0h   ;âûäåëèòü ðàçðÿäû 6 è 7
124
        cmp     AL,80h    ;ïðîâåðèòü ðàçðÿäû 6 è 7
126
        cmp     AL,80h    ;ïðîâåðèòü ðàçðÿäû 6 è 7
125
        je      @@OutByteToFDC
127
        je      @@OutByteToFDC
Line 132... Line 134...
132
        inc     DX
134
        inc     DX
133
        mov     AL,AH
135
        mov     AL,AH
134
        out     DX,AL
136
        out     DX,AL
135
@@End_5:
137
@@End_5:
136
;        popa
138
;        popa
137
        pop dx cx ax 
139
        pop edx ecx eax 
138
        ret
140
        ret
Line 139... Line 141...
139
 
141
 
140
;******************************************
142
;******************************************
141
;*   ÏÐÎ×ÈÒÀÒÜ ÁÀÉÒ ÈÇ ÏÎÐÒÀ ÄÀÍÍÛÕ FDC   *
143
;*   ÏÐÎ×ÈÒÀÒÜ ÁÀÉÒ ÈÇ ÏÎÐÒÀ ÄÀÍÍÛÕ FDC   *