управление дискетником через порты.

Все что связано с программированием на Амиге.

Модераторы: striimii, Vinnny

управление дискетником через порты.

Сообщение Opk 12 ноя 2005, 11:14

привет всем.
долго думал спрашивать или нет. но в конце концов ничего не теряю, да и ладно :) значит есть а1200. есть эскоовский дисковод, уже с глюком определения. нку это ладно, АЛЛ поможет, привет All :)

хочется разобраться. как работает это дело.
что я уже знаю: 1)данные передаются чеез дисковый канал ДМА
2) шагом головки, мотором,перемещением на трэк 0, направлением шага - заведует CIA-A и CIA-B. там же индикаторы защиты от записи, присутствия диска.

что уже смог:1)составил список хардвейр-регистров 2) назначение битов 3) заставил шагать от центра к краю

че требуется еще:1)как менять направление шага? (установка/обнуление бита /dir не дает эффекта) 2) как заставить передти на трэк0?(переходит магически редкооо, при этом возвращается на середину)

Что проделал:1)скачал пример trackload.asm с аминэта (виснет все. не меняет направления шага, единственное - включает диод на секунду)
2)попытался воспользоваться секторно/дорожечной читалкой (виснет, +нет опыта для дизасемблирования, чтобы смотреть как) 3)перебрал все мыслимые комбинации битов регистров cia.

вообщем, застрял на дисководе :? кто работал в этом же направлении, подскажите

счастливо!
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Re: управление дискетником через порты.

Сообщение Vinnny 12 ноя 2005, 11:31

Opk писал(а):как заставить передти на трэк0?(переходит магически редкооо, при этом возвращается на середину)

кто сказал, что трек0 находится на краю дискеты? :)
Аватара пользователя
Vinnny
Менеджер
Менеджер
 
Сообщения: 2433
Зарегистрирован: 18 май 2002, 12:56
Откуда: NiNo

Сообщение Opk 12 ноя 2005, 11:38

а откуда мне знать :)
Кроме того, где бы он не находился, перехода все равно не происходит. Единственное, однажды влючил rdy tr0 mtr sel0 и увидел, что головка проехалась по диску, и вернулассь на середину. Запустил снова - голова прошагала 10 раз. выход из цикла, "магический" фрагмент... Без эффекта. Магия :Ъ
Последний раз редактировалось Opk 12 ноя 2005, 11:55, всего редактировалось 1 раз.
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Opk 12 ноя 2005, 11:53

8O трэк 0 расположен на середине?... не.... не может этого быть, только не это.. :)
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Сообщение Opk 13 ноя 2005, 06:17

тек, уже чето проясняется. /tk0 - индикаторный бит, шагать придется по-простому, в цикле с проверкой достижения.
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда

Re: управление дискетником через порты.

Сообщение AmiS 13 ноя 2005, 17:31

Opk писал(а):привет всем.
долго думал спрашивать или нет. но в конце концов ничего не теряю, да и ладно :) значит есть а1200. есть эскоовский дисковод, уже с глюком определения. нку это ладно, АЛЛ поможет, привет All :)

хочется разобраться. как работает это дело.

счастливо!


Извиняюсь за вопрос, но для чего Вам понадобилось работать с дисководом через железо? Почему нельзя использовать trackdisk.device?
AmiS
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 110
Зарегистрирован: 19 май 2002, 01:33
Откуда: Москва

Сообщение Opk 13 ноя 2005, 20:01

всё, разобрался, закрыто 8)
Я люблю людей
Opk
Уважаемый Амиговед
Уважаемый Амиговед
 
Сообщения: 106
Зарегистрирован: 03 окт 2005, 03:08
Откуда: от верблюда


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

cron