Вход

Просмотр полной версии : Порты контроллера НЕМО.



Sayman
11.04.2008, 19:18
Подскажите. где можно почитать по теме портов контроллера немо. Целью является переписать существующий драйвер дл я ЦПМа...задалбался я с дискетами уже...

Black_Cat
11.04.2008, 19:41
Путеводитель по портам ZX Spectrum (http://zx.clan.su/forum/11-46-1)

Prusak
12.04.2008, 00:07
#F0 - Регистр команд (Command register) (запись) / Регистр состояния (Status register) (чтение)
#D0 - Регистр накопителя/головки (SDH register)
#B0 - Регистр цилиндра (старшая часть) (Cylinder High)
#90 - Регистр цилиндра (младшая часть) (Cylinder Low)
#70 - Регистр номера сектора (Sector number)
#50 - Регистр счетчика секторов (Sector count)
#30 - Регистр доп. возможностей (Features register) (запись) / Регистр ошибки (Error register) (чтение)
#10 - Регистр данных (младшая часть) (Data register)
#11 - Регистр данных (старшая часть) (Data register)

Black_Cat
12.04.2008, 01:05
#11 - Регистр данных (старшая часть) (Data register)это не правильно, по схеме правильное значение #19, т.к. при операциях записи/чтения в/из IDE-hi регистра, выборки CS1Fx, CS3Fx быть не должно.
Кроме того есть ещё регистр IDE ISA #3F6, которому соответствует NemoIDE #C8
..рекомендую всё же всем сверяться с "путеводителем", мож хоть ошибки какие сообща в нём найдёте :v2_laugh: , а я в ближайшие дни постараюсь всё же выложить новую, значительно дополненную и незначительно исправленную версию :)

Sayman
12.04.2008, 09:37
Black_Cat
давай доки, нада...
кстати, насколко сильно немо отличается от схемы профи? я всмысле програмной реализации. какие могут быть "подводные камни"?

кстати, могет уже сёдня заберу профика...ток там ещё наба сматреть чё работает или не работает, и думать на тему к чему подрубать, монитора та нет..но есть два телека )))

Prusak
12.04.2008, 12:23
это не правильно, по схеме правильное значение #19, т.к. при операциях записи/чтения в/из IDE-hi регистра, выборки CS1Fx, CS3Fx быть не должно.

Я не спорю, может и неправильно, но в программах и драйверах под iS-DOS (hdd_boot, ide5.blk и т.п.) используется именно значение #11.

В качестве примера приведу отрывок из программы hdd_boot:

LD C,#10
INI ;чтение младшей части
INC C
INI ;чтение старшей части

Black_Cat
12.04.2008, 14:52
насколко сильно немо отличается от схемы профи? я всмысле програмной реализации. какие могут быть "подводные камни"?ещё схемы Профийного IDE не смотрел, основное отличие - по портам, может так-же несколько отличаться логика обращения к порту ISA #3F6

Добавлено через 32 минуты

но в программах и драйверах под iS-DOS (hdd_boot, ide5.blk и т.п.) используется именно значение #11.с глобальной точки зрения - это в корне неправильно, т.е. ни в коем случае нельзя документировать обращение по другому порту кроме #19!!! Схемотехническая реализация контроллера может отличаться - в результате программное обеспечение просто может неработать! Надо учитывать, что не все программеры глубоко разбираются в железе и в тонкостях знают особенности той или иной схемотехнической реализации.

В качестве примера приведу отрывок из программы hdd_boot:

LD C,#10
INI ;чтение младшей части
INC C
INI ;чтение старшей частида, такой частный случай обращения будет работать, но только при чтении!!! Но необходимо иметь ввиду, что попытка записи в IDE-hi регистр по порту #11 приведёт к записи в IDE ISA #1F0 значения #FFFF

Sayman
13.04.2008, 12:00
я паходу ваще всё позабыл. судя по сорцам драйвера для иде профи, там стоят порты с 2х байтном виде, т.е. 16бит порты. а для немо я смотрю все порты 1байт, т.е. 8бит...или я чёта путаю...млин....всё позабывал напроч...

scooby-do
13.04.2008, 17:19
у меня есть схема контроллера НЖМД (Накопитель Жестких магнитных дисков) "поиск", если надо могу выложить)

Добавлено через 2 минуты
Судя по схеме он для IDE винтов, пёхаеться он "интерфейс"
Также есть для него монтажка..

Sayman
13.04.2008, 20:35
Кстати, была вроде ещё какая то схема...эээ..как его там...Диамонд мне про неё говорил....толи караченцова толи ещё кого то..непомню. но он говорил что схема пролетала в сети и что она вполне нормальная. именно по ней он и собрал себе контроллер...ктонить чёнить знает про неё?

Black_Cat
14.04.2008, 04:05
...толи караченцова толи ещё кого:) Матлаша?

Sayman
14.04.2008, 07:42
эээ...могет быть...непомню...алмаз чёта про каковота караченцева говорил...странна, но я знаю только актёра великого русского с такой фамилией :)

Добавлено через 1 час 9 минут
во...схема та была вот чья:
Сеpгея Каpаченцева )))

icebear
14.04.2008, 11:01
эээ...могет быть...непомню...алмаз чёта про каковота караченцева говорил...странна, но я знаю только актёра великого русского с такой фамилией :)

Добавлено через 1 час 9 минут
во...схема та была вот чья:
Сеpгея Каpаченцева )))

Была такая, в фидо помню в годах 2001-2002 он её освещал. Только вот чем тогда закончилось - без понятия.

caro
14.04.2008, 11:34
Была такая, в фидо помню в годах 2001-2002 он её освещал. Только вот чем тогда закончилось - без понятия.Нашел письмо Сергея Караченцева от 24.07.2000 со схемой его контроллера.
И еще один, мне кажется интересный документ с описанием портов разных версий контроллеров IDE.

savelij
20.04.2008, 11:30
это не правильно, по схеме правильное значение #19, т.к. при операциях записи/чтения в/из IDE-hi регистра, выборки CS1Fx, CS3Fx быть не должно.

Обоснуй откуда ты нарыл этот адрес #19, написал драйвер винта НЕМО именно с адресом #11 и все работает.

Black_Cat
20.04.2008, 19:02
Обоснуй откуда ты нарыл этот адрес #19из схемы, уже объяснял:
по схеме правильное значение #19, т.к. при операциях записи/чтения в/из IDE-hi регистра, выборки CS1Fx, CS3Fx быть не должно.
написал драйвер винта НЕМО именно с адресом #11 и все работает.я уже писал:
да, такой частный случай обращения будет работать, но только при чтении!!! Но необходимо иметь ввиду, что попытка записи в IDE-hi регистр по порту #11 приведёт к записи в IDE ISA #1F0 значения #FFFFЕщё раз объясняю то, что непонятно некоторым кодерам:
1) Существует такое понятие как спецификация на устройство.Спецификация описывает абсолютные свойсва устройства, т.е. те, при соблюдении которых устройство будет работать 100% гарантированно не зависимо от уровня знаний и кривизны рук кодера.
И есть программистские допущения, т.е. отклонения от спецификации, которые возможно применять в тех или иных случаях если знать к каким последствиям может привести такое применение. Дык вот - порт #19 - это действительный порт, обеспечивающий гарантированную адекватность работы устройств подключенных к IDE интерфейсу при любых условиях эксплуатации, а порт #11 - это программистское допущение, которое не обеспечивает гарантированную адекватность работы любых устройств подключенных к IDE интерфейсу, а только тех устройств, о которых известно, что использование этого порта не приведёт к нежелательным последствиям. Если спецификация на внутреннюю логику работы устройства, подключаемого к IDE интерфейсу неизвестна, то получить гарантированно адекватный результат можно только при использовании специфицированных портов, в случае использования всевозможных программистских допущений корректность работы подключаемого устройства не гарантируется.

savelij
20.04.2008, 19:11
из схемы, уже объяснял:я уже писал:Ещё раз объясняю то, что непонятно некоторым кодерам:
1) Существует такое понятие как спецификация на устройство.Спецификация описывает абсолютные свойсва устройства, т.е. те, при соблюдении которых устройство будет работать 100% гарантированно не зависимо от уровня знаний и кривизны рук кодера.
И есть программистские допущения, т.е. отклонения от спецификации, которые возможно применять в тех или иных случаях если знать к каким последствиям может привести такое применение. Дык вот - порт #19 - это действительный порт, обеспечивающий гарантированную адекватность работы устройств подключенных к IDE интерфейсу при любых условиях эксплуатации, а порт #11 - это программистское допущение, которое не обеспечивает гарантированную адекватность работы любых устройств подключенных к IDE интерфейсу, а только тех устройств, о которых известно, что использование этого порта не приведёт к нежелательным последствиям. Если спецификация на внутреннюю логику работы устройства, подключаемого к IDE интерфейсу неизвестна, то получить гарантированно адекватный результат можно только при использовании специфицированных портов, в случае использования всевозможных программистских допущений корректность работы подключаемого устройства не гарантируется.

То то я и смотрю что сначала пишется старший часть слова, потом младшая. Это я у Budderа подсмотрел и понять не мог что за фигня непонятная.

Sayman
21.04.2008, 07:10
а всёровно, неполная адресация, мне кажется сложновато будет переделать дрыва ЦПМа под немовский контроллер. придёца ваять схему пятёрки на 4ку...

Black_Cat
21.04.2008, 09:30
А в чём сложность? имхо более простого контроллера в управлении просто нет, все остальные намного кривее управляются

Sayman
21.04.2008, 09:42
ты про простоту немо? могет быть....но этого контроллера у мну нету...потому хз чё как..