FromNet: NET_Moscow_Russia_(245_02/09/2005) (commserv.rpb.ru)

Здравствуй, Dima!

Чтв, 27 Окт 05 в 01:16, Dima Bystrov -> Kirill Frolov:

Какой код этой команды, которую ты имеешь в виду?
Hаверное #10 - рекалибровка. Винт по-немовски и инициализирую так. Взято кстати из леонтьевских драйверов:

LD A,(CURDRV) ;master or slave
OUT (#D0),A
LD A,#0C
OUT (#C8),A
LD B,#00
1$ DJNZ 1$ ;пауза
LD A,#08
OUT (#C8),A ;собсно, здесь винт уже проинитился
2$ IN A,(#F0) ;ждем снятия BSY
RLCA
JR C,2$
LD A,#10
OUT (#F0),A ;команда "рекалибровка"
EI
__WAIT CALL BRKTST ;проверка на BREAK
RET C
IN A,(#F0)
BIT 7,A
JR NZ,__WAIT ;ждем исполнения
CP #50 ;винт в порядке?
RET Z
JR SRESET

Скорповый теневик инициализирует винт так:
;soft reset routine.

PUSH BC
LD BC,#FFBA ;SMUC control register
LD A,(LDFF0)
PUSH AF
OR #80
OUT (C),A ;сменили рег. набор.
PUSH BC
LD BC,#FEBE ;рег. упр. состоянием (DCR)
LD A,#C
OUT (C),A
CALL PAUSE
XOR A
OUT (C),A
POP BC
POP AF
AND #7F
OUT (C),A ;вернули рег. набор
LD (LDFF0),A
POP BC
POP AF
RET

LDFF0 DEFB #77

M1 DJNZ M1
POP BC
RET


Как видишь - практически одно и тоже. Установить 2-й бит в DCR, подождать, сбросить его, вот и вся инициализация.


WBR, Jason.

_/(ZX)/_ /*e-mail: jason2000(не кошка)yandex.ru ICQ: 62235830*/

/np:/ *silence*