IS-DOS (Всё про неё и с ней связанное...)

Редакторы, ассемблеры, дисковые утилиты и другие системки

Postby jdigreze » 19 Mar 2009, 08:24

lvd wrote:Сейчас вроде выходит, что 16 бит сразу с фпги прут на буферы и в винт. Все 8<>16 будут внутри фпга, что позволит делать более вразумительные времянки.
Я имел ввиду чтобы 16 бит писалось/читалось в/из винта через один адрес.
Т.е. н-р порт #1234, он 8бит, два раза в/из него пишешь/читаешь, а интерфейс по окончании/начале второй/первой записи/чтения в/из этого порта выдавал -RD/-WR (или как там эти сигналы зовутся по именам) в винт. Т.е. шоб не надо было для записи сначала записать страший(младший) байт в один порт, а потом младший(старший) писать в другой порт. Согласись, что для програмёра это гемор, и лишние такты/байты в драйвере. Винты щас по-любому работают быстрее самого быстрого Спека.
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby нолька » 19 Mar 2009, 09:48

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).
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Postby jdigreze » 19 Mar 2009, 12:03

нолька wrote:1 порт - не совсем корректно
А по-моему в самый раз. wink

нолька wrote:но с записью есть засада
Вооот! Про то и речь. Тем более коли речь зашла про fpga. Еще б отрубить декремент "В", было бы вообще красиво, но увы и ах...
Правда самое красивое все-таки dma, но боюсь что логики будет в разы больше задействовано. Ежели такое делать, то точно не только на винт, но например и на копирование блоков памяти.
Last edited by jdigreze on 19 Mar 2009, 12:05, edited 1 time in total.
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby нолька » 19 Mar 2009, 12:21

jdigreze wrote:А по-моему в самый раз.
ну глюкнет у тебя прога - не допишет 1 байт в сектор, триггер не переключится - младший старший, а после следующей команды запись или чтение попрет не с младшего, а со старшего байта. Плюс будет нужна инициализация это триггера ресетом, геморрой сплошной, для прогописателей особенно. Да и вообще я думаю, что нынче вряд ли кто-то будет делать что-то отличное от немо-иде, а там чтение и так ini:ini, а операции записи бывают на порядок реже.
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Postby lvd » 19 Mar 2009, 21:52

нолька wrote:В итоге и в моем и в спринтеровском вариантах чтение сектора идет inir:inir (или 512шт ini), а запись otir:otir (или 512 шт. outi).

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

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

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

Аналогично. Кто поддержит?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby lvd » 19 Mar 2009, 21:55

нолька wrote:ну глюкнет у тебя прога - не допишет 1 байт в сектор, триггер не переключится - младший старший, а после следующей команды запись или чтение попрет не с младшего, а со старшего байта.


Если прога так глюкнёт, то даже при никаких последствиях - это пиздец и ахтунг, кончающийся зависанием и засиранием данных на винте уж совершенно точно. А ты, случаем, вочдоги к спектруму не прикручивал?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby KOE » 19 Mar 2009, 22:39

lvd wrote:а в коесдях - хуй.

это почему же?
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby lvd » 19 Mar 2009, 23:43

KOE wrote:это почему же?


Ааа... Наглючел... Давно шошлыкаме не кормиле =)
В коесд всё правильно и круто. А в немоиде - аццтойно.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby jdigreze » 20 Mar 2009, 05:48

lvd wrote:Кто поддержит?
Блин, даже пофантазёрствовать не даёт! biggrin
Вопрос даже не в том, кто поддержит, а в том, для каких задач это можно было бы использовать. Реально сейчас софта пишется даже под стд128 ноль целых хрен сотых, из него под винты еще на порядок меньше.
нолька wrote:ну глюкнет у тебя прога - не допишет 1 байт в сектор, триггер не переключится - младший старший, а после следующей команды запись или чтение попрет не с младшего, а со старшего байта.
Тоже самое и с имеющимися контроллерами. Вот представь, прог глюкнул и не записал старшую половинку, какие данные в винт улетят?
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby SinglWolf » 04 May 2009, 19:45

Написал програмулину для тестирования портов\регистров контроллера IDE-NEMO.
HELP прилагается. Образ не загрузочный.
Attachments
Test3_0.rar
(3.25 KB) Downloaded 1314 times
Last edited by SinglWolf on 04 May 2009, 19:47, edited 1 time in total.
User avatar
SinglWolf
 
Posts: 168
Joined: 01 Feb 2009, 16:16
Group: Registered users

Previous

Return to Utilities

Who is online

Users browsing this forum: No registered users and 2 guests