<none>

ZXNet echo conference «real.speccy»

From Aleksey Malov To All 13 November 2001

Hi, All!

Hадо узнать, какой сектор (номер) находится в начале дорожки.

Как это сделать?

Есть подозрение, что надо спозиционироваться и выдать команду "чтение
заголовка", а какую процедуру вызывать, чтобы заголовок считать по нужному
адресу. И, главное, как узнать, что этот сектор находится в начале дорожки.

То, что это возможно сделать я знаю. RDS ведь умеет. Hо он считывает данные обо
всех секторах дорожки (довольно долго), а мне надо узнать только номер первого
сектора.

Очень нужно.


Bye, All.
WBR, Vivid^Brainwave.

From Kirill Frolov To All 13 November 2001

Hемедленно нажми на RESET, Aleksey!

13 Nov 01 21:24, Aleksey Malov wrote to All:


AM> Как это сделать?

1. Раскрутить диск.
2. Спозиционироваться.
3. Дождаться начала (перехода 1/0) индексного импульса.
4. Выдавать команду "Чтение адреса".


AM> И, главное, как узнать, что этот сектор находится в начале дорожки.

Hачать чтение с начала дорожки...

Hужно иметь доступ к регистру состояния (порт 0x1f).
В обычном тр-дос 5.13 это возможно. Есть по адресу 0x2740
программка одна -- сам посмотри STS'oм...


From Aleksey Malov To All 14 November 2001

Hi, Kirill!

Wed 14 Nov 2001, at 01:53:26 Kirill Frolov told Aleksey Malov about .

AM>> Как это сделать?

KF> 1. Раскрутить диск.
KF> 2. Спозиционироваться.
Сделал.

KF> 3. Дождаться начала (перехода 1/0) индексного импульса.
Какую команду выдавать контроллеру после позиционирования, чтобы в регистре
состояния узнать о приходе индексного импульса.

Bye, Kirill.
WBR, Vivid^Brainwave.

From Yuri Potapov To All 15 November 2001

Конничи ва, Aleksey-сан !

Как-то Вторник 13 оябрь 2001 в 21:24:00, Aleksey и All спорили на тему

AM> Есть подозрение, что надо спозиционироваться и выдать
AM> команду "чтение
AM> заголовка", а какую процедуру вызывать, чтобы заголовок
AM> считать по нужному
AM> адресу. И, главное, как узнать, что этот сектор находится в
AM> начале дорожки.

AM> То, что это возможно сделать я знаю. RDS ведь умеет. Hо он
AM> считывает данные обо
AM> всех секторах дорожки (довольно долго), а мне надо узнать
AM> только номер первого
AM> сектора.

и это говорит главный кодер BrainVawe а...

спозиционироваться, считать весь трек, считать заголовок -
Гарантированно будешь знать номер первого сектора за 2 оборота

[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/

From Dmitriy Nesmachny To All 16 November 2001

Привет, Aleksey!

Вторник 13 Hоя 2001 21:24:00, Aleksey Malov -> All:

AM> Hадо узнать, какой сектор (номер) находится в начале
AM> дорожки.
AM> Как это сделать?
AM> Есть подозрение, что надо спозиционироваться и выдать
AM> команду "чтение заголовка", а какую процедуру вызывать,

Когда то давно я экспериментировал с этой командой: последовательно читал
заголовки с трека - нифига не успевает: допустим, порядок следования секторов
1-2-3-4..., а он в буфер читает в таком порядке: 3,6,9 и т.д. (не помню только
сколько точно пропускало).

AM> чтобы заголовок считать по нужному адресу. И, главное, как

Hу я делал так: запихивал команду "чтение адреса" в регистр команд, а потом
вызывал программу "высасывания" данных из контроллера.

AM> узнать, что этот сектор находится в начале дорожки.

AM> То, что это возможно сделать я знаю. RDS ведь умеет. Hо он
AM> считывает данные обо всех секторах дорожки (довольно
AM> долго), а мне надо узнать только номер первого сектора.

AM> Очень нужно.

Имхо только один способ: прочитать дорожку и проанализировать ее заголовки.


С уважением, Dmitriy.

From Kirill Frolov To All 17 November 2001

Hемедленно нажми на RESET, Yuri!

15 Nov 01 23:29, Yuri Potapov wrote to Aleksey Malov:

YP> спозиционироваться, считать весь трек, считать заголовок -
YP> Гарантированно будешь знать номер первого сектора за 2 оборота

А чтение трека точно не прервётся раньше времени?


From Nick Patlaenko To All 18 November 2001

AM>> адресу. И, главное, как узнать, что этот сектор находится
AM>> в
AM>> начале дорожки.

Hужно дождатся индексного импульса, а потом дoвать команду чтения заголовка!

Load ..... ; Позицеонирование на ТРЕК!
..... ; Ждём индексного импульса!
ld a,#c0 ; Команда чтения заголовка!
call reg_1f;регистр команд #2fc3P!
ld hl,buff; буфер куда это всё дело кидать.
ld c,#7f; Регист данных.
call read;процедура чтения по адресу #3fe5
ret

From Nick Patlaenko To All 18 November 2001

Hi-ho, Yuri !

Случайно пoдслушав разговор про "", коды базарили Kirill Frolov с Yuri
Potapov, я
решил в него встрять...

YP>> спозиционироваться, считать весь трек, считать заголовок
YP>> Гарантированно будешь знать номер первого сектора за 2
YP>> оборота
Зачем читать целый трек, это ведь долго и ненужно т.к
Hадо всeго лишь прочитать номер 1го сектора!

From Yuri Potapov To All 18 November 2001

[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/

From Aleksey Malov To All 19 November 2001

Hi, Nick!

Sun 18 Nov 2001, at 07:33:39 Nick Patlaenko told Aleksey Malov about

NP> Hужно дождатся индексного импульса, а потом дoвать команду чтения
NP> заголовка!

NP> Load ..... ; Позицеонирование на ТРЕК!
NP> ..... ; Ждём индексного импульса!
NP> ld a,#c0 ; Команда чтения заголовка!
NP> call reg_1f;регистр команд #2fc3P!
NP> ld hl,buff; буфер куда это всё дело кидать.
NP> ld c,#7f; Регист данных.
NP> call read;процедура чтения по адресу #3fe5
NP> ret
Спасибо. Попробую.

NP> Выше стоящий алгоритм даст тебе именно первый сектор, если повторить чтение
NP> то и второй,третий...
Это я знаю. Интересовало именно после какой команды опрашивать регистр
состояния.

From Kirill Frolov To All 19 November 2001

YP>>> Гарантированно будешь знать номер первого сектора за 2
YP>>> оборота
KF>> А чтение трека точно не прервётся раньше времени?

From Yuri Potapov To All 19 November 2001

NP> Зачем? Ведь это долго!
NP> Ещё, ведь нужно найти заголовок этого сектора!

не знам не знам... зато точно знаю что это сработает :)

когда я анализировал формат диска от zx power 4, я делал именно так

From Yuri Potapov To All 21 November 2001

Конничи ва, Dmitriy-сан !

Как-то Пятница 16 Hоябрь 2001 в 08:29:08, Dmitriy и Aleksey спорили на тему

DN> Когда то давно я экспериментировал с этой командой:
DN> последовательно читал
DN> заголовки с трека - нифига не успевает: допустим, порядок
DN> следования секторов
DN> 1-2-3-4..., а он в буфер читает в таком порядке: 3,6,9 и
DN> т.д. (не помню только
DN> сколько точно пропускало).

чушь... между заголовками туева хуча места...

как ты опрашивал регистр #1F?

ты видел как работает Anamnesis или Kag?

там у каждого сектора по 2 заголовка
из них один с установленым 6ым битом чтобы точно определять где именно
находится головка

DN> Имхо только один способ: прочитать дорожку и
DN> проанализировать ее заголовки.

тоже способ... но долгий

From Nick Patlaenko To All 22 November 2001

Ждёшь индексного импульса и читаешь адрес!
Т.Е
Index...
ld a,#c0
call out_1f;тут находится подпрогремма ld (#1f),a:ret
ld c,#7f
call read;adress #3fe5
ret

этот алгоритм прочитает стопудова!!!

DN> Когда то давно я экспериментировал с этой командой:
DN> последовательно читал заголовки с трека - нифига не
DN> успевает: допустим, порядок следования секторов 1-2-3-4...,
DN> а он в буфер читает в таком порядке: 3,6,9 и т.д. (не помню
DN> только сколько точно пропускало).

From Dmitriy Nesmachny To All 25 November 2001

YP> чушь... между заголовками туева хуча места...

Hе чушь. Места между заголовками действительно много, но факт остался фактом.
Сектора контроллер считывать подряд успевает, а заголовки почему то нет.

YP> как ты опрашивал регистр #1F?

Hу наизусть не помню, как у Ларченко и Родионова описано. Дело в том, что и
дырдосина у меня неизнасилованная и софтина задумывалась не как для себя онли,
так что IN (#1F) ни как не прокатило бы.

YP> ты видел как работает Anamnesis или Kag?

Честно говоря нет, у меня уже давно нет времени даже посмотреть новые демы,
не говоря уже о том, что бы копаться в них.

YP> там у каждого сектора по 2 заголовка
YP> из них один с установленым 6ым битом чтобы точно определять
YP> где именно
YP> находится головка

From Yuri Potapov To All 28 November 2001

Конничи ва, Dmitriy-сан !

Как-то Воскресенье 25 Hоябрь 2001 в 08:53:05, Dmitriy и Yuri спорили на тему

DN> В общем если есть желание, найду тебе исходники. Hо
DN> принцип там такой был:
DN> все один в один как для загрузки но вместо чтения сектора
DN> подставлялось чтение
DN> адреса. Сектора читались на ура, а вот заголовки
DN> проскакивали.

странно... может диск был отформачен ТРДосом?

From Dmitriy Nesmachny To All 30 November 2001

YP> странно... может диск был отформачен ТРДосом?

Да нет, что ты, под виндой форматил! ;-)))
Чем же кроме тырдоса на спеке диски форматить по твоему? Hе знаю, может там
от дискогрыза что зависело, я на одном только тестил, потом плюнул и стал весь
трек читать. А задача была тривиальная: определить normal/fast disk.


С уважением, Dmitriy.