<none>
ZXNet эхоконференция «real.speccy»
От Aleksey Malov → Кому All 13.11.2001
Hадо узнать, какой сектор (номер) находится в начале дорожки.
Как это сделать?
Есть подозрение, что надо спозиционироваться и выдать команду "чтение
заголовка", а какую процедуру вызывать, чтобы заголовок считать по нужному
адресу. И, главное, как узнать, что этот сектор находится в начале дорожки.
То, что это возможно сделать я знаю. RDS ведь умеет. Hо он считывает данные обо
всех секторах дорожки (довольно долго), а мне надо узнать только номер первого
сектора.
Очень нужно.
Bye, All.
WBR, Vivid^Brainwave.
От Kirill Frolov → Кому All 13.11.2001
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м...
От Aleksey Malov → Кому All 14.11.2001
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.
От Yuri Potapov → Кому All 15.11.2001
Как-то Вторник 13 оябрь 2001 в 21:24:00, Aleksey и All спорили на тему AM> Есть подозрение, что надо спозиционироваться и выдать AM> То, что это возможно сделать я знаю. RDS ведь умеет. Hо он и это говорит главный кодер BrainVawe а... спозиционироваться, считать весь трек, считать заголовок - [El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
AM> команду "чтение
AM> заголовка", а какую процедуру вызывать, чтобы заголовок
AM> считать по нужному
AM> адресу. И, главное, как узнать, что этот сектор находится в
AM> начале дорожки.
AM> считывает данные обо
AM> всех секторах дорожки (довольно долго), а мне надо узнать
AM> только номер первого
AM> сектора.
Гарантированно будешь знать номер первого сектора за 2 оборота
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/
От Dmitriy Nesmachny → Кому All 16.11.2001
Вторник 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.
От Kirill Frolov → Кому All 17.11.2001
15 Nov 01 23:29, Yuri Potapov wrote to Aleksey Malov:
YP> спозиционироваться, считать весь трек, считать заголовок -
YP> Гарантированно будешь знать номер первого сектора за 2 оборота
А чтение трека точно не прервётся раньше времени?
От Nick Patlaenko → Кому All 18.11.2001
AM>> адресу. И, главное, как узнать, что этот сектор находится
AM>> в
AM>> начале дорожки.
Hужно дождатся индексного импульса, а потом дoвать команду чтения заголовка!
Load ..... ; Позицеонирование на ТРЕК!
..... ; Ждём индексного импульса!
ld a,#c0 ; Команда чтения заголовка!
call reg_1f;регистр команд #2fc3P!
ld hl,buff; буфер куда это всё дело кидать.
ld c,#7f; Регист данных.
call read;процедура чтения по адресу #3fe5
ret
От Nick Patlaenko → Кому All 18.11.2001
Случайно пoдслушав разговор про " YP>> спозиционироваться, считать весь трек, считать заголовок
Potapov, я
решил в него встрять...
YP>> Гарантированно будешь знать номер первого сектора за 2
YP>> оборота
Зачем читать целый трек, это ведь долго и ненужно т.к
Hадо всeго лишь прочитать номер 1го сектора!
От Yuri Potapov → Кому All 18.11.2001
[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/
От Aleksey Malov → Кому All 19.11.2001
Sun 18 Nov 2001, at 07:33:39 Nick Patlaenko told Aleksey Malov about NP> Hужно дождатся индексного импульса, а потом дoвать команду чтения NP> Load ..... ; Позицеонирование на ТРЕК! NP> Выше стоящий алгоритм даст тебе именно первый сектор, если повторить чтение
NP> заголовка!
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> то и второй,третий...
Это я знаю. Интересовало именно после какой команды опрашивать регистр
состояния.
От Kirill Frolov → Кому All 19.11.2001
YP>>> Гарантированно будешь знать номер первого сектора за 2
YP>>> оборота
KF>> А чтение трека точно не прервётся раньше времени?
От Yuri Potapov → Кому All 19.11.2001
NP> Зачем? Ведь это долго!
NP> Ещё, ведь нужно найти заголовок этого сектора!
не знам не знам... зато точно знаю что это сработает :)
когда я анализировал формат диска от zx power 4, я делал именно так
От Yuri Potapov → Кому All 21.11.2001
Как-то Пятница 16 Hоябрь 2001 в 08:29:08, Dmitriy и Aleksey спорили на тему DN> Когда то давно я экспериментировал с этой командой: чушь... между заголовками туева хуча места... как ты опрашивал регистр #1F? ты видел как работает Anamnesis или Kag? там у каждого сектора по 2 заголовка DN> Имхо только один способ: прочитать дорожку и тоже способ... но долгий
DN> последовательно читал
DN> заголовки с трека - нифига не успевает: допустим, порядок
DN> следования секторов
DN> 1-2-3-4..., а он в буфер читает в таком порядке: 3,6,9 и
DN> т.д. (не помню только
DN> сколько точно пропускало).
из них один с установленым 6ым битом чтобы точно определять где именно
находится головка
DN> проанализировать ее заголовки.
От Nick Patlaenko → Кому All 22.11.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> только сколько точно пропускало).
От Dmitriy Nesmachny → Кому All 25.11.2001
YP> чушь... между заголовками туева хуча места...
Hе чушь. Места между заголовками действительно много, но факт остался фактом.
Сектора контроллер считывать подряд успевает, а заголовки почему то нет.
YP> как ты опрашивал регистр #1F?
Hу наизусть не помню, как у Ларченко и Родионова описано. Дело в том, что и
дырдосина у меня неизнасилованная и софтина задумывалась не как для себя онли,
так что IN (#1F) ни как не прокатило бы.
YP> ты видел как работает Anamnesis или Kag?
Честно говоря нет, у меня уже давно нет времени даже посмотреть новые демы,
не говоря уже о том, что бы копаться в них.
YP> там у каждого сектора по 2 заголовка
YP> из них один с установленым 6ым битом чтобы точно определять
YP> где именно
YP> находится головка
От Yuri Potapov → Кому All 28.11.2001
Как-то Воскресенье 25 Hоябрь 2001 в 08:53:05, Dmitriy и Yuri спорили на тему DN> В общем если есть желание, найду тебе исходники. Hо странно... может диск был отформачен ТРДосом?
DN> принцип там такой был:
DN> все один в один как для загрузки но вместо чтения сектора
DN> подставлялось чтение
DN> адреса. Сектора читались на ура, а вот заголовки
DN> проскакивали.
От Dmitriy Nesmachny → Кому All 30.11.2001
YP> странно... может диск был отформачен ТРДосом?
Да нет, что ты, под виндой форматил! ;-)))
Чем же кроме тырдоса на спеке диски форматить по твоему? Hе знаю, может там
от дискогрыза что зависело, я на одном только тестил, потом плюнул и стал весь
трек читать. А задача была тривиальная: определить normal/fast disk.
С уважением, Dmitriy.