User Tag List

Страница 18 из 29 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 287

Тема: ПК8000 - Контроллер дисковода

  1. #171

    Регистрация
    15.02.2009
    Адрес
    Зерноград
    Сообщений
    568
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DemonId7 Посмотреть сообщение
    В том же протеусе можно подключить к какому-нибудь счетчику/МК и быстро проверить весь диапазон дешифратора.
    Точно.. Я почему то не догадался это сделать..)) Собрал в протеусе свой дешифратор- не работает. Переделал. Прогнал в протезе- вроде всё как надо. Запустил тест ВГшки. Не бегают головы. На экране появляются надписи, что поиск дорожки 1, потом другой дорожки, потом ещё и ещё, но голова стоит. Глянул осциллом-на 19 ноге ВГшки ноль. (7 бит порта ТМ8). Если подать туда принудительно 1, то начинают бегать. Только по моему не правильно определяются дорожки. Первая дорожка как и должно быть, едет в начало. А вот 79 дорожка -головка доезжает до середины всего лишь, а должна доезжать до конца диска. Ну и так, там 46 по моему есть, головка должна где то в район середины ехать, а доезжает где то на четверть диска. Что за напасть то с этим 7 битом? Порт ТМ8 то работает, или вы забыли туда 1 записать?
    Вложения Вложения
    ZX-Spectrum 128(краснодарский вариант)+YM+Covox+3,5" FDD+5,25" FDD+Nemo controller+HDD+CD-ROM+PS/2 Keyboard+PS/2 Mouse (остальное в проекте...) (Всё самодельное) Плата Внутри Внешний вид

  2. #172

    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    407
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mifody Посмотреть сообщение
    Только по моему не правильно определяются дорожки. Первая дорожка как и должно быть, едет в начало. А вот 79 дорожка -головка доезжает до середины всего лишь, а должна доезжать до конца диска. Ну и так, там 46 по моему есть, головка должна где то в район середины ехать, а доезжает где то на четверть диска.
    Странно. Нужно будет подумать. Пока же уточняющий вопрос. Сравните надписи в эмуляторе и на реале. Расположение и количество точек совпадает? Это я так состояние контроллера обозначил, лень было что-то более наглядное делать

    Что за напасть то с этим 7 битом? Порт ТМ8 то работает, или вы забыли туда 1 записать?
    Практически весь код - это рип с оригинала. На всякий случай завтра тщательно проверю код. Но по моему там в принципе не может быть установки этого бита. Засылка значения в TM8 осуществляется посредством одной подпрограммы:
    Код:
    fdd_MotorOn:
            push    B               ; формируем биты включения мотора дисковода
            lda     dskSel          ; <- биты выделенного диска и мотора
            ani     10011b          ; выделяем сторону (bit 4) и номер диска (bit 0-1)
            mov     B, A
            rrc
            rrc
            rrc
            ani     1100000b        ; 0XX00000 - биты включения мотора
            ora     B
            sta     7FF7h           ; выставляем номер дисковода, стороны и биты мотора
    Выделенные команды - это операция AND. Поэтому здесь 7-й бит полюбому будет равен нулю
    Завтра тщательно проверю весь код. По идее этот бит действительно должен бы выставляться.

  3. #173

    Регистрация
    15.02.2009
    Адрес
    Зерноград
    Сообщений
    568
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Первая фотка-19 нога ВГшки подключена на своё место к порту ТМ8
    Вторая фотка-принудительно еденица на 19 ноге.
    Третья фотка - из эмуля.
    Если подать единицу на 19 ногу ВГшки, то почти всё совпадает с эмулем, за исключением того, что в эмуле ещё 2 точки перед поиском первой дорожки.
    ..Seek to track 1. - в эмуле.
    Seek to track 1. - на реале.
    Что это значит?
    А дискета не важно какая вставлена в дисковод? Я от спектрума вставил.. Дискету пока не записывал, всё равно до чтения пока не дошло..
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	19 нога ВГ93 подключена к порту ТМ8.jpg 
Просмотров:	241 
Размер:	84.7 Кб 
ID:	50198   Нажмите на изображение для увеличения. 

Название:	пренудительно еденица на 19 ноге ВГ93.jpg 
Просмотров:	209 
Размер:	85.3 Кб 
ID:	50199   Нажмите на изображение для увеличения. 

Название:	картинка теста ВГ93 из эмуля.jpg 
Просмотров:	231 
Размер:	25.2 Кб 
ID:	50203  
    Последний раз редактировалось Mifody; 09.12.2014 в 00:44.
    ZX-Spectrum 128(краснодарский вариант)+YM+Covox+3,5" FDD+5,25" FDD+Nemo controller+HDD+CD-ROM+PS/2 Keyboard+PS/2 Mouse (остальное в проекте...) (Всё самодельное) Плата Внутри Внешний вид

  4. #174

    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    407
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ясно. После выполнения любой команды программа ожидает от контроллера подтверждения. Отсутствие точки - это признак того, что подтверждение так и не пришло. Две отсутствующие точки перед "Seek to track 1" показывают одно - инициализация контроллера прошла неудачно. Зато команды поиска, с точки зрения контроллера, выполнялись успешно.

    Цитата Сообщение от Mifody Посмотреть сообщение
    А дискета не важно какая вставлена в дисковод? Я от спектрума вставил.. Дискету пока не записывал, всё равно до чтения пока не дошло..
    С этим контроллером дел не имел, как и с болгарскими/советскими дисководами. На PC позиционирование не зависит от наличия дискеты. По идее и здесь тоже.

  5. #175

    Регистрация
    15.02.2009
    Адрес
    Зерноград
    Сообщений
    568
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что эти подтверждения формирует? ВГшка? То есть, после выполнения какой либо команды ВГшкой она должда выдать на ШД байт "исполнено", но не делает этого? Это что получается, что запись в ВГшку происходит, а чтение нет? Так нет же.. Как я понял, подтверждения приходят при поиске дорожек. Там при инициализации происходит запись в ИР26, может с ИРками проблемы и запись не происходит.. Или этот тест не затрагивает ИРки? Да, позиционирование головок происходит даже без дискеты.
    А по поводу номеров дорожек, может там номера дорожек 0-159, для двух сторон диска сразу?
    Последний раз редактировалось Mifody; 09.12.2014 в 10:45.
    ZX-Spectrum 128(краснодарский вариант)+YM+Covox+3,5" FDD+5,25" FDD+Nemo controller+HDD+CD-ROM+PS/2 Keyboard+PS/2 Mouse (остальное в проекте...) (Всё самодельное) Плата Внутри Внешний вид

  6. #176

    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    407
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mifody Посмотреть сообщение
    А что эти подтверждения формирует? ВГшка? То есть, после выполнения какой либо команды ВГшкой она должда выдать на ШД байт "исполнено", но не делает этого?
    Почти так. Она в регистр состояния (7FF8) выдает код своего состояния.

    Это что получается, что запись в ВГшку происходит, а чтение нет? Так нет же.. Как я понял, подтверждения приходят при поиске дорожек.
    Получается, что именно при инициализации возникли проблемы. Чтение/запись команд проходят. Немного поправил последовательность команд инициализации.

    Там при инициализации происходит запись в ИР26, может с ИРками проблемы и запись не происходит.. Или этот тест не затрагивает ИРки?
    Этот тест выбрал как раз из-за ненужности ИР26, они пока "отдыхают".

    Да, позиционирование головок происходит даже без дискеты.
    А по поводу номеров дорожек, может там номера дорожек 0-159, для двух сторон диска сразу?
    Дорожек именно по 80. Просто я забыл, что у меня логическая адресация, при переводе в физические номер дорожки берется как деленная на двое логическая. Поправил, теперь должны ездить как положенно.

    В аттаче исправленная версия, даже вывод состояния сделал по человечески. А вот как с битом 7 ТМ8 быть - не знаю. Прогнал загрузку в эмуле пошагово. Этот бит всегда равен нулю. Только в самом начале выдается испульс из перехода с высокого на низкий уровень. На низком он впоследствии и остается. Может этот вход работает не уровню, а по перепаду?
    Попробуйте, эта версия теста от и до взята с ПЗУ контроллера, даже инициализацию переменных взял с оригинала. Если не заработает, значит проблемы в железе. Свои соображения дам после теста.
    Вложения Вложения
    • Тип файла: zip SEEK.ZIP (758 байт, Просмотров: 117)

  7. #177

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DemonId7 Посмотреть сообщение
    Прогнал загрузку в эмуле пошагово. Этот бит всегда равен нулю.
    Не забывайте, что эмуль не всегда точно эмулирует железо. Иногда достаточно, чтобы имеющийся софт просто работал.

  8. #178

    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    407
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дык ТМ8 устанавливается исключительно программным путем, здесь эмулятор вряд ли ошибётся

  9. #179

    Регистрация
    15.02.2009
    Адрес
    Зерноград
    Сообщений
    568
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проверил новый тест. Результат на фото. Фото 1- 19 нога ВГшки на еденице, фото 2- 19 нога ВГшки на порту ТМ8, Фото 3- смотрите ниже.. В принципе, ничего не поменялось, только голова стала ездить правильно. И ещё, в процессе измерений осциллом и танцев с бубном вокруг платы случайно повредил конденсатор С29 (стоит между землёй и /ОЕ ПЗУ). Он раскололся пополам, то есть его как бы не стало. И получил результат на фото 3. Причём, это ВГшка не вставлена. Если вставить ВГшку, то результат такой же как на фото 1 и 2, в зависимости от состояния ноги 19. Что бы это могло значить?
    Проверьте пожалуйста дешифратор, кто понимает.. В сообщении 171 схема.. Может я там где то накосячил и поэтому не работает..(((
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Изменение размера 19 нога на еденице.jpg 
Просмотров:	229 
Размер:	91.0 Кб 
ID:	50219   Нажмите на изображение для увеличения. 

Название:	Изменение размера 19 нога на порту ТМ8.jpg 
Просмотров:	216 
Размер:	91.2 Кб 
ID:	50220   Нажмите на изображение для увеличения. 

Название:	Изменение размера Без конденсатора С29 и ВГшки.jpg 
Просмотров:	229 
Размер:	92.8 Кб 
ID:	50221  
    Последний раз редактировалось Mifody; 10.12.2014 в 01:37.
    ZX-Spectrum 128(краснодарский вариант)+YM+Covox+3,5" FDD+5,25" FDD+Nemo controller+HDD+CD-ROM+PS/2 Keyboard+PS/2 Mouse (остальное в проекте...) (Всё самодельное) Плата Внутри Внешний вид

  10. #180

    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    407
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Отрицательный результат - тоже результат. Может быть прошивка не соответствует схеме? Кто-нибудь проверял на оригинальной плате разводку 19-й ноги ВГ93?

    Цитата Сообщение от Mifody Посмотреть сообщение
    И ещё, в процессе измерений осциллом и танцев с бубном вокруг платы случайно повредил конденсатор С29 (стоит между землёй и /ОЕ ПЗУ). Он раскололся пополам, то есть его как бы не стало. И получил результат на фото 3. Причём, это ВГшка не вставлена. Если вставить ВГшку, то результат такой же как на фото 1 и 2, в зависимости от состояния ноги 19. Что бы это могло значить?
    Здесь как раз все объяснимо. В отсутствии ВГ из порта читается мусор, с обнуленным 0-м битом, что воспринимается программой как успешное выполнение команды.

    В общем осталась пара неясных моментов. На неудачную инициализацию пока забьем, мы же не знаем как она проходит на оригинальном железе, может так и должно быть, там как раз результат выполнения инициализации не проверяется (а в доку углубляться не хочется). Раз позиционирование проходит нормально, то можно попробовать прочитать сектор, с принудительной подтяжкой 19-й ноги ВГ93. Посмотрим какую ошибку вернет контроллер. Или попробуйте оригинальный ПЗУ, подтянув 19-ю ногу. Вполне возможно, что проблема в этой ножке.

Страница 18 из 29 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Контроллер дисковода
    от andrew76 в разделе Внешние накопители
    Ответов: 55
    Последнее: 12.04.2024, 16:33
  2. Ответов: 26
    Последнее: 25.01.2019, 18:31
  3. Ответов: 24
    Последнее: 30.04.2016, 23:47
  4. Не работает контроллер дисковода GRM2+
    от Shnurkov в разделе Внешние накопители
    Ответов: 5
    Последнее: 16.03.2009, 00:59
  5. Куплю контроллер дисковода для УКНЦ
    от tnt23 в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 27.02.2009, 08:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •