User Tag List

Страница 31 из 51 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя
Показано с 301 по 310 из 562

Тема: DSDOS для ПРК "Орион-128"

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    11.04.2017
    Адрес
    г. Нижний Новгород
    Сообщений
    114
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собственно да, только 8 и наблюдаю.
    Собрал на макетке делитель, уже можно различить красный и розовый, но нужно подобрать номиналы.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Cool HDD Info @ DSDOS

    Разбираюсь потихоньку с интерфейсом IDE-устройств на Орионе. В связи с этим родилась небольшая утилита вывода ТТХ винчестера, может кому-нибудь пригодится в хозяйстве:



    Утилита униплатформенная, традиционно поддерживаются Орион-128 и Орион-ПРО (автодетект средствами API DSDOS).
    КНЖМД на Орион-128 ищется по базовому адресу F790h (DS-Card), на Орион-ПРО - 50h (карта IDE-RTC).

    В случае ошибки выводится её подробная расшифровка (не безликий код, как в популярных тестах).


    Ссылка для скачивания - http://denn.ru/8bit/orion/soft/hdd/hddinfo.ori - обновлена 03.03.2018 !


    П.С. фото с Орион-128:





    Ссылки по теме:

    Программирование жесткого диска

    Описание стандарта ATA с командами

    Коды обязательных команд АТА

    Немного про LBA режим

    Информация о жестких дисках
    Последний раз редактировалось Denn; 03.03.2018 в 22:52. Причина: добавил ссылки
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #3

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up Поддержка НЖМД

    Мини отчёт, вести с полей так сказать.
    Наконец-то, дошли руки до жёстких дисков. Разработан оптимизированный под 8-битные реалии формат хранения данных, написана утилита форматирования диска и драйвер под ОС DSDOS.
    Вариант подключения по схемотехнике от ОРИОН-ПРО (карта IDE-RTC, как я понимаю - калька с "вражеского" NEMO_IDE).
    Скорость работы порадовала безумно! Файлы летают со скоростью самолёта Вот небольшой наколенный ролик:



    Пилотная версия драйвера пока не поддерживает подкаталоги, впоследствии данный функционал будет добавлен.
    Утилита форматирования выполняет разметку с учётом будущего расширения функционала драйвера. Поддерживаются накопители от 16 Мб до 1 Тб! Однако нижний предел теоретический.. Дело в том, что работа с НЖМД организована строго в режиме LBA, который, судя по информации из интернетов, поддерживают только накопители от 512 Мб и выше.

    Организация информации на диске следующая. Традиционно, ОС DSDOS ничего не "знает" о больших носителях и подкаталогах, она работает с текущим диском, максимальное количество файлов на котором - 255, соответственно суммарный (теоретический) объём не более 16 Мб.
    В случае больших носителей вводится понятие подкаталога (диск в диске), т.о. в основном (корневом каталоге) может быть до 255 подкаталогов (на самом деле 254 из-за особенностей устройства FAT DSFS). Подкаталог представляет собой 16-мегабайтный сегмент общего пространства. Т.о. суммарно корневой каталог + 254 подкаталога займут 16 Мб х 256 = 4096 Мб = 4 Гб. Для возможности использования ещё большего пространства используется второй уровень виртуализации - каждый подкаталог также может содержать подкаталоги. Т.о. возможно использование до 4 Гб х 256 = 1024 Гб = 1 Тб дискового пространства.

    В результате имеем следующее. Если объём диска менее 4 Гб, то доступен корневой каталог и некоторое кол-во (в зависимости от объёма) подкаталогов первого уровня, если объём диска ровно 4 Гб, то доступно максимальное кол-во подкаталогов - 254. Если объём диска равен 8 Гб, то доступен корневой каталог + 254 подкаталога + по одному подкаталогу второго уровня в каждом подкаталоге первого уровня. И так далее: каждые 4 Гб добавляют ещё один "слой" подкаталогов второго уровня.

    Организация достаточно мудрёная, однако её поддержка использует минимум ресурсов ПРК и при этом скорость работы чрезвычайно быстрая!

    Аналогично будет сделана поддержка карт SDHC в ОС DSDOS. В следующей версии ОС поддержка больших накопителей будет включена.
    Последний раз редактировалось Denn; 09.03.2018 в 23:32.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #4

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Дело в том, что работа с НЖМД организована строго в режиме LBA, который, судя по информации из интернетов, поддерживают только накопители от 512 Мб и выше.
    Врут интернетчики, еще когда начинал играть с IDE и с разбора еще были диски мелких размеров, успел пощупать несколько ноутбучных винтов середины прошлого века (2.5" но толстенькие - одни из первых выпущенных такого формфактора, я брал только ноутбучные чтобы было питание только +5В) все они были объемом от 100 до 200 Мб и все поддерживали LBA.

    Цитата Сообщение от Denn Посмотреть сообщение
    Аналогично будет сделана поддержка карт SDHC в ОС DSDOS. В следующей версии ОС поддержка больших накопителей будет включена.
    Сразу предлагаю определиться со схемотехникой. КМК лучшим вариантом для Ориона был бы вариант схемы на ИР24(29) - максимальная возможная для Z80 скорость при затратах (в минималке) в полдюжины корпусов дешевой мелкой логики. Предлагаю вариант от PVV из соседней профильной темы. У него получился самый быстродействующий вариант (думаю, по скорости уделает IDE любой схемы) т.к. в моем варианте на ИР24 я сэкономил один корпус за счет выполнения двух IN/OUT (второй для запуска счетчика пакета), а у него запуск регистра автоматизирован и байт с SD читается за один IN/OUT. Единственно, я бы добавил узел предустановки обеспечивающий пакеты не кратные 8 (как в моей схеме), но это уже детали к списку TODO.

    - - - Добавлено - - -

    Цитата Сообщение от Denn Посмотреть сообщение
    Мини отчёт, вести с полей так сказать.
    Вариант подключения по схемотехнике от ОРИОН-ПРО (карта IDE-RTC, как я понимаю - калька с "вражеского" NEMO_IDE).
    Планируешь ли добавить вариант для схемы на ВВ55? Вариант от ПРО хотя и побыстрее, но он проблемный (у меня на нем запустилось куда меньшее количество приводов чем на ВВ55), а схема с ВВ55 есть "искаропки" на всех реализациях Ревизии-512, да и ручками паяется за вечер (чего там паять - разъем IDC40 и одна ЛН1).
    Тем более что драйвер тоже уже есть (например в варианте для Z80, думаю что тип проца не проблема).

    - - - Добавлено - - -

    В итоге я свой ПРО переделал под схему с ВВ55, прямо на ВВ55 на материнской плате (бывший порт принтера и конфигурации, конфиг DIP теперь у меня читается с АП6 - в версии 3.20 для этого есть слепыши под ВВ55).
    Последний раз редактировалось Error404; 10.03.2018 в 11:50.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #5

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Сразу предлагаю определиться со схемотехникой. КМК лучшим вариантом для Ориона был бы вариант схемы на ИР24(29) - максимальная возможная для Z80 скорость при затратах (в минималке) в полдюжины корпусов дешевой мелкой логики.
    Насчёт ПРО пока не знаю. Если будет готовое работающее и быстрое решение, то вполне можно поддержать его.
    На О-128 уже разработана схемотехника аппаратного контроллера SDHC, и даже сделан опытный образец, осталось дело за программной поддержкой (после того, как до конца разберусь с НЖМД, сразу возьмусь за карты). Если контроллер покажет рекордную скорость обмена, тогда имеет смысл ориентироваться на него, имхо. Если чудо не случится, тогда будем ориентироваться на схемотехнически простое решение.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Предлагаю вариант от PVV из соседней профильной темы. У него получился самый быстродействующий вариант (думаю, по скорости уделает IDE любой схемы)
    Если будет готовая схемотехника для ПРО, то можно попробовать спаять. В любом случае, без железки отлаживать ПО невозможно.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Единственно, я бы добавил узел предустановки обеспечивающий пакеты не кратные 8 (как в моей схеме), но это уже детали к списку TODO.
    В своём ПО я использую два вида чтения сектора: целосекторное (512 байт) и побайтное. Запись всегда целосекторная. Это связано с особенностью работы НЖМД: он всегда читает целый сектор в свой буфер, а выдавать содержимое буфера хосту может как угодно. Т.о. для экономии времени читается только нужное кол-во данных (N целых секторов "оптом" + некратный хвост). Запись неполного сектора, к сожалению, физически невозможна, поэтому пишем всегда N секторов, с округлением в большую сторону ((
    Т.е. требуется возможность чтения кратно одному байту.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Планируешь ли добавить вариант для схемы на ВВ55?
    Если останется место в финальной версии драйвера (после добавления поддержки подкаталогов), то можно сделать.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Вариант от ПРО хотя и побыстрее, но он проблемный (у меня на нем запустилось куда меньшее количество приводов чем на ВВ55)
    У меня весь зоопарк имеющихся винтов прекрасно работает с ПРОшной "нэмой". Были какие-то странные проблемы с тестами из интернетов (типа не работали механические "винты" на длинных шлейфах), но в итоге я изучил оригинальную документацию по протоколу АТА, согласно "учебникам" написал свои п/п работы с IDE-устройствами, и все винты и шлейфы любой длины заработали без каких-либо проблем.


    Цитата Сообщение от Error404 Посмотреть сообщение
    схема с ВВ55 есть "искаропки" на всех реализациях Ревизии-512, да и ручками паяется за вечер (чего там паять - разъем IDC40 и одна ЛН1).
    На рев.512 я запаял насмерть ВВ55, до ЛН1 мне уже не добраться ))
    Вроде в эмуле b2m есть поддержка КНГМД на ВВ55+ЛН1, как-нибудь поковыряю этот вариант. В любом случае, нужна аппаратная часть для отладки ПО.


    Цитата Сообщение от Error404 Посмотреть сообщение
    В итоге я свой ПРО переделал под схему с ВВ55, прямо на ВВ55 на материнской плате (бывший порт принтера и конфигурации, конфиг DIP теперь у меня читается с АП6 - в версии 3.20 для этого есть слепыши под ВВ55).
    На 10 МГц она тоже стабильно работает?

    Насколько проигрывает по скорости "нэме" ?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  7. #6

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Насчёт ПРО пока не знаю. Если будет готовое работающее и быстрое решение, то вполне можно поддержать его.
    На О-128 уже разработана схемотехника аппаратного контроллера SDHC, и даже сделан опытный образец, осталось дело за программной поддержкой (после того, как до конца разберусь с НЖМД, сразу возьмусь за карты). Если контроллер покажет рекордную скорость обмена, тогда имеет смысл ориентироваться на него, имхо. Если чудо не случится, тогда будем ориентироваться на схемотехнически простое решение.

    Если будет готовая схемотехника для ПРО, то можно попробовать спаять. В любом случае, без железки отлаживать ПО невозможно.
    В своём ПО я использую два вида чтения сектора: целосекторное (512 байт) и побайтное. Запись всегда целосекторная. Это связано с особенностью работы НЖМД: он всегда читает целый сектор в свой буфер, а выдавать содержимое буфера хосту может как угодно. Т.о. для экономии времени читается только нужное кол-во данных (N целых секторов "оптом" + некратный хвост). Запись неполного сектора, к сожалению, физически невозможна, поэтому пишем всегда N секторов, с округлением в большую сторону ((
    Т.е. требуется возможность чтения кратно одному байту.
    Схемотехника у нас с PVV в виде платы подключающейся к ШД/ШУ любого 8080/Z80 компа, только селект требуемого порта определить. Готовой платы для ПРО конечно нет.
    И процессор Ориона там работает с SD с той же скоростью, с какой он работает с памятью (или портами), и при этом следующий байт всегда готов (т.е. тупо цикл "читай да клади в буфер" из трех опкодов). Поэтому на "сырых" секторах (т.е. чтении/записи без ньюансов обработки) контроллер SD на внешнем микроконтроллере может быть быстрее только если он кладет сектор в память Ориона через DMA, во всех других случаях скорость внешнего контроллера будет такая же, а всего вероятнее она будет меньше, т.к. не думаю, что 10-МГц Z80 удастся так подружить с внешним контроллером, чтобы внешний был всегда готов для очередного обращения Z80, кроме того наверное внешнему нужно время на чтобы после получения номера сектора этот сектор прочитать (а схеме на регистре - нет), вряд ли он будет успевать между двумя соседними обращениями Z80 (4 такта) еще на SD лазать? Также, есть тема с мультисекторным чтением (когда "одной командой" а не посекторно можно прочитать с SD-карты хоть сотню секторов начиная с какого-то, а внешнему контроллеру такой объем просто негде буферизировать, да и если поставить дорогой контроллер с сотнями килобайт ОЗУ, то задержка хоста на предварительное чтение {там же не сквозной канал прямого доступа к SD} большого блока уже станет сильно заметной в сравнении с задержкой которую внешний дает при подсасывании одного очередного сектора).

    Цитата Сообщение от Denn Посмотреть сообщение
    У меня весь зоопарк имеющихся винтов прекрасно работает с ПРОшной "нэмой". Были какие-то странные проблемы с тестами из интернетов (типа не работали механические "винты" на длинных шлейфах), но в итоге я изучил оригинальную документацию по протоколу АТА, согласно "учебникам" написал свои п/п работы с IDE-устройствами, и все винты и шлейфы любой длины заработали без каких-либо проблем.
    Если попадутся ошибки в моей реализации, телеграфируй.
    Исходники уж не прошу.

    Цитата Сообщение от Denn Посмотреть сообщение
    На 10 МГц она тоже стабильно работает?
    Насколько проигрывает по скорости "нэме" ?
    Работает нормально на обоих частотах. Там у меня так получалось: те экземпляры приводов что работали в данной из схем (ПРО/ВВ55) работали (или не работали) на любой частоте проца. Поэтому у меня даже мыслю была убрать такты WAIT что делает ПРО при обращении к портам (типа ускорить работу с IDE). Хотя как по мне, скорости и так вполне хватает даже для CP/M (активно пользующей носитель).
    Те приводы что работали в схеме ВВ55 на ПРО тоже работали все, а вот наоборот нет. Но тут я должен заметить, что именно HDD (т.е. привод с блинами и магнитными головками) я проверял только один (других нет, т.к. не планирую ими пользоваться ввиду меньшей удобности носителя), а вот CF попробовал до десятка от разных производителей и адаптеров CF->IDE четыре штуки разных.

    При том, я пробовал и код написанный авторами ПРО (их загрузчик с НДД стартующий из ПЗУ, он урезанный по части команд АТА, я уже не помню точно в чем, помню только что мне не понравилось как там написано) и мой код (который отчасти тоже подсмотренный и Инете), приводы работали или не работали одинаково.

    - - - Добавлено - - -

    По скорости вариант ПРО с ВВ55 я не мерял, но если заглянуть в код, то вариант с ВВ55 думаю раза в два-три медленнее.
    Последний раз редактировалось Error404; 10.03.2018 в 16:48.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  8. #7

    Регистрация
    18.07.2010
    Адрес
    Ульяновск
    Сообщений
    852
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А Compact Flash разве не все в режиме LBA работают? А то у мня валяются парочка на 128Мб...

  9. #8

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    А Compact Flash разве не все в режиме LBA работают? А то у мня валяются парочка на 128Мб...
    Не могу сказать, всё многообразие накопителей в мире не изучал. Ранее выкладывал утилиту, которая расскажет всю правду о накопителе, в т.ч. и про поддержку LBA. Также можно "пробить" в гугле ТТХ своего диска.
    Утилита форматирования проверяет факт поддержки режима LBA, и в случае её отсутствия, выдаст соответствующую ошибку.
    Последний раз редактировалось Denn; 09.03.2018 в 15:03.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  10. #9

    Регистрация
    14.01.2010
    Адрес
    г. Шумерля, Чувашия
    Сообщений
    1,358
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возник вопрос.
    Возможна ли работа с ORI-сервером на "Орион-Про" через "прошную" плату COM-портов?
    Вроде порты определяются, выделяется диск "G". На РС запускаю oriserv.exe, но связь не устанавливается.
    DSDOS сборки 3.87. Как я понимаю, link.exe на "Орионе" в этой сборке отсутствует, вернее запускается с загрузкой ОС. Верно?
    Прежние версии ОС не скачать, т.к. выходит сообщение, что сайт на реконструкции.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	System.jpg 
Просмотров:	213 
Размер:	71.8 Кб 
ID:	64627   Нажмите на изображение для увеличения. 

Название:	Начало.jpg 
Просмотров:	228 
Размер:	39.4 Кб 
ID:	64628  
    Последний раз редактировалось АлександрПП; 15.03.2018 в 13:01.

  11. #10

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от АлександрПП Посмотреть сообщение
    Возможна ли работа с ORI-сервером на "Орион-Про" через "прошную" плату COM-портов?
    Да, конечно.


    Цитата Сообщение от АлександрПП Посмотреть сообщение
    Вроде порты определяются, выделяется диск "G".
    Прекрасно. Все шансы на успех есть!


    Цитата Сообщение от АлександрПП Посмотреть сообщение
    На РС запускаю oriserv.exe, но связь не устанавливается.
    Порты, собранные по родной схемотехнике, ОС настраивает на скорость 38400 Бод (8-N-1). Не самые древние ВВ51А должны работать нормально.
    Аналогичные настройки порта должны быть и на PC (конкретно в oriserv.exe). Ещё в настройках порта на сервере нужно правильно выставить контроль протокола ("hardware" или "none" - в зависимости от аппаратной реализации соединения). Само собой должен быть аппаратный линк между портами Ориона и PC (нуль-модемным кабелем), порты должны быть исправны.

    В сборках ОС есть тесты COM-портов (если нет в сборке, то можно взять тут), со стороны PC можно использовать эту утилиту. Т.о. можно наглядно проверить соединение.


    Цитата Сообщение от АлександрПП Посмотреть сообщение
    Как я понимаю, link.exe на "Орионе" в этой сборке отсутствует, вернее запускается с загрузкой ОС. Верно?
    link$ уже давно не используется в виду неактуальности, поэтому в сборки и не включается. Но работать он по-прежнему может, разумеется.
    При загрузке ОС устанавливается не link, а драйвер поддержки более продвинутого протокола файлообмена.
    Последний раз редактировалось Denn; 15.03.2018 в 17:23.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 31 из 51 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. продам платы "Орион-128"
    от AHTuXPuCT в разделе Барахолка (архив)
    Ответов: 70
    Последнее: 19.06.2012, 20:39
  3. Платы ром-диска "Орион-128"
    от AL.EX в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 10.06.2012, 12:54
  4. Куплю плату "Орион-ПРО"
    от АлександрПП в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 15.05.2011, 20:48
  5. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

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