Приветствую Вас Гость | RSS


Главная страница » IS-DOS - Страница 9 - ZX-Форум » Регистрация » ВходПятница
2024-04-26
18:47:53
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 9 из 10
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
  • 10
  • »
ZX-Форум » Software » Utilities » IS-DOS (Всё про неё и с ней связанное...)
IS-DOS
deathsoftДата: Среда, 2009-03-18, 18:17:36 | Сообщение # 121
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (lvd)
Это ты, видимо, сам проверял (паял девайсы), раз так уверенно говоришь.

Советую посмотреть спецификацию на CF - специально залил на сервер (аж 2 штуки 2.1 и 3.0).
 
Black_CatДата: Среда, 2009-03-18, 19:00:48 | Сообщение # 122
Не умею ничего делать, потому учу
Группа: Заблокированные
Сообщений: 659
Репутация: -14
Статус: Offline
Quote (deathsoft)
Старые винты в 8 битный режим переключались аппаратно сигналом /IOCS16 (подать 1).

эт ты фигню однако сморозил.. винты в 8ми битный режим не переключаются никак, а /IOCS16 - это выход винта, сообщающий на шину ISA, что винт в данный момент юзает 16 битную шину данных.
Соответственно ничего подать по этому выводу на винт нельзя в принципе.
Quote (deathsoft)
Советую посмотреть спецификацию на CF

CF и винт - это две большие разницы, мешать которые не надо


"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!".
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
 
deathsoftДата: Среда, 2009-03-18, 19:22:11 | Сообщение # 123
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (Black_Cat)
эт ты фигню однако сморозил.. винты в 8ми битный режим не переключаются никак, а

Иди родимый на t13.org и читай спецификацию ATA-1 и ATA-2 (читай про команду set features и feature #1). На счет /IOCS16 - да - это лажа с моей стороны.

А на счет пометок obsolete - надо все проверять, ибо на винтах WD все что помечено как obsolete прекрасно работало вплоть до ATA-4 (дальше на самых новых винтах я уже не проверял).

Сообщение отредактировал deathsoft - Среда, 2009-03-18, 19:33:53
 
SinglWolfДата: Среда, 2009-03-18, 19:54:59 | Сообщение # 124
Активист
Группа: Человеки
Сообщений: 168
Репутация: 0
Статус: Offline
Black_Cat, блин, про ИС-ДОС не даёшь ничего написать. Иди в соответствующую ветку и... angry
 
Black_CatДата: Среда, 2009-03-18, 19:56:56 | Сообщение # 125
Не умею ничего делать, потому учу
Группа: Заблокированные
Сообщений: 659
Репутация: -14
Статус: Offline
Quote (deathsoft)
читай спецификацию ATA-1 и ATA-2

Это я и без спецификаций знаю - ни один IDE винт в принципе не может переключаться в 8ми битный режим в отличие от CF

Quote (SinglWolf)
Black_Cat, блин, про ИС-ДОС не даёшь ничего написать

звыняйтэ


"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!".
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.


Сообщение отредактировал Black_Cat - Среда, 2009-03-18, 20:00:27
 
deathsoftДата: Среда, 2009-03-18, 19:58:58 | Сообщение # 126
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 1587
Репутация: 9
Статус: Offline
Quote (Black_Cat)
ни один IDE винт в принципе не может переключаться в 8ми битный режим

Кури спецификацию до посинения, и еще кури что такое PIO Mode. (для CF отдельная спецификация и на другом сайте лежит).

П.С. ATA-1 спецификация исключительно на HDD.

ППС Вот специально для мега знатаков:

"5.2.11 IOCS16- (Device 16-bit I/O)
During PIO transfer modes 0, 1 or 2, IOCS16- indicates to the host system that the 16-bit data port has been
addressed and that the device is prepared to send or receive a 16-bit data word. This shall be an open
collector output.
- When transferring in any PIO mode and accessing any register except the data port, transfers shall
be 8-bit using DD0-7;
- When transferring in PIO modes 0, 1 or 2, if IOCS16- is not asserted, transfers shall be 8-bit using
DD0-7;
- When transferring in PIO modes 0, 1 or 2, if IOCS16- is asserted, transfers shall be 16-bit using
DD0-15;
- When transferring in PIO modes 3 or 4, IOCS16- shall not be used by the host, and all transfers
shall be 16-bit using DD0-15, except for bytes beyond the 512th byte for READ LONG and WRITE
LONG commands which shall be 8-bit using DD0-7;
- When transferring in DMA mode, the host shall use a 16-bit DMA channel and IOCS16- shall not
be asserted."

"Table 14 - SET FEATURES register definitions
01h Enable 8-bit data transfers (see 6.2.5)"

"6.2.5 Data register
The data register is either 8-bits or 16-bits depending on the interface width currently selected and/or the type
of data being transferred by the current command."

Спецификация, если конечно соизволишь прочесть, лежит тут http://www.t13.org/Documen....A-2.pdf

Сообщение отредактировал deathsoft - Среда, 2009-03-18, 20:07:19
 
lvdДата: Среда, 2009-03-18, 20:14:41 | Сообщение # 127
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
я же предупреждал - не разговаривайте с ботами. А теперь хуле - тему боты вам засрали.

Многого нет здесь: http://lvd.nedopc.com
 
SinglWolfДата: Среда, 2009-03-18, 21:33:22 | Сообщение # 128
Активист
Группа: Человеки
Сообщений: 168
Репутация: 0
Статус: Offline
Quote (Black_Cat)
звыняйтэ

Нема за шо! angry
 
jdigrezeДата: Четверг, 2009-03-19, 08:24:21 | Сообщение # 129
Креветко
Группа: Человеки
Сообщений: 322
Репутация: 0
Статус: Offline
Quote (lvd)
Сейчас вроде выходит, что 16 бит сразу с фпги прут на буферы и в винт. Все 8<>16 будут внутри фпга, что позволит делать более вразумительные времянки.
Я имел ввиду чтобы 16 бит писалось/читалось в/из винта через один адрес.
Т.е. н-р порт #1234, он 8бит, два раза в/из него пишешь/читаешь, а интерфейс по окончании/начале второй/первой записи/чтения в/из этого порта выдавал -RD/-WR (или как там эти сигналы зовутся по именам) в винт. Т.е. шоб не надо было для записи сначала записать страший(младший) байт в один порт, а потом младший(старший) писать в другой порт. Согласись, что для програмёра это гемор, и лишние такты/байты в драйвере. Винты щас по-любому работают быстрее самого быстрого Спека.
 
нолькаДата: Четверг, 2009-03-19, 09:48:07 | Сообщение # 130
рОвный
Группа: Человеки
Сообщений: 712
Репутация: 5
Статус: Offline
1 порт - не совсем корректно. лучше разделение старший-младший по A8, при этом чтение идет без проблем (см. например контроллер иде0немо с доработкой А8), но с записью есть засада. При записи в винт идет 16ьитное слово целиком сразу, а в памяти у нас данные идут младший-старший, т.е. надо чтобы сначала младший записывался в буф. регистр, а потом вместе со старшим от проца и буферным младшим писалось в винт. Поскольку я делал свой контроллер на дискретах, то решил это разделением портов адреса #90-#97 8-битные и #0x80 r/w 16-битные (с учетом того что в командах outi и otir регистр B декрементится до вывода в порт в отличие от ini/inir) и установкой доп. регистра для старшего байта. В спринтере схема чуть иная - на регистр сэкономлено, но там логика в альтере и поэтому немного сложнее.
В итоге и в моем и в спринтеровском вариантах чтение сектора идет inir:inir (или 512шт ini), а запись otir:otir (или 512 шт. outi).


я проснулся среди ночи и понял, что всё...
всё идет по плану
 
jdigrezeДата: Четверг, 2009-03-19, 12:03:15 | Сообщение # 131
Креветко
Группа: Человеки
Сообщений: 322
Репутация: 0
Статус: Offline
Quote (нолька)
1 порт - не совсем корректно
А по-моему в самый раз. wink

Quote (нолька)
но с записью есть засада
Вооот! Про то и речь. Тем более коли речь зашла про fpga. Еще б отрубить декремент "В", было бы вообще красиво, но увы и ах...
Правда самое красивое все-таки dma, но боюсь что логики будет в разы больше задействовано. Ежели такое делать, то точно не только на винт, но например и на копирование блоков памяти.


Сообщение отредактировал jdigreze - Четверг, 2009-03-19, 12:05:58
 
нолькаДата: Четверг, 2009-03-19, 12:21:40 | Сообщение # 132
рОвный
Группа: Человеки
Сообщений: 712
Репутация: 5
Статус: Offline
Quote (jdigreze)
А по-моему в самый раз.
ну глюкнет у тебя прога - не допишет 1 байт в сектор, триггер не переключится - младший старший, а после следующей команды запись или чтение попрет не с младшего, а со старшего байта. Плюс будет нужна инициализация это триггера ресетом, геморрой сплошной, для прогописателей особенно. Да и вообще я думаю, что нынче вряд ли кто-то будет делать что-то отличное от немо-иде, а там чтение и так ini:ini, а операции записи бывают на порядок реже.


я проснулся среди ночи и понял, что всё...
всё идет по плану
 
lvdДата: Четверг, 2009-03-19, 21:52:52 | Сообщение # 133
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Quote (нолька)
В итоге и в моем и в спринтеровском вариантах чтение сектора идет inir:inir (или 512шт ini), а запись otir:otir (или 512 шт. outi).

Самое (и единственное) разумное предложение. Чтоб туда - отир (или оути), обратно - инир (или ини).
Только вот хуй. В НГС не хуй, а в коесдях и немоидях - хуй. Максимум в одну сторону.

В фпга так сделать, само собой можно. ВОт только это будет новый стандарт - кто его поддержит?

Quote (jdigreze)
Правда самое красивое все-таки dma, но боюсь что логики будет в разы больше задействовано. Ежели такое делать, то точно не только на винт, но например и на копирование блоков памяти.

Аналогично. Кто поддержит?


Многого нет здесь: http://lvd.nedopc.com
 
lvdДата: Четверг, 2009-03-19, 21:55:18 | Сообщение # 134
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Quote (нолька)
ну глюкнет у тебя прога - не допишет 1 байт в сектор, триггер не переключится - младший старший, а после следующей команды запись или чтение попрет не с младшего, а со старшего байта.

Если прога так глюкнёт, то даже при никаких последствиях - это пиздец и ахтунг, кончающийся зависанием и засиранием данных на винте уж совершенно точно. А ты, случаем, вочдоги к спектруму не прикручивал?


Многого нет здесь: http://lvd.nedopc.com
 
KOEДата: Четверг, 2009-03-19, 22:39:57 | Сообщение # 135
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (lvd)
а в коесдях - хуй.

это почему же?


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
ZX-Форум » Software » Utilities » IS-DOS (Всё про неё и с ней связанное...)
  • Страница 9 из 10
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
  • 10
  • »
Поиск:

the DLCorp © 2006