Важная информация

User Tag List

Страница 1 из 8 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 72

Тема: Partition Magic на Спектруме. Нужен ли ?

  1. #1
    Activist
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    469
    Благодарностей: 216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Partition Magic на Спектруме. Нужен ли ?

    Всем доброго дня.

    По настоянию нашего товарища John North решил сесть за написание на Спектруме утилит для работы с HDD.

    На данный момент на Спектруме с софтом для HDD дела обстоят очень плачевно:

    WDC - копировщик, умеет работать только с одним первичным разделом. Такого понятия как "логические диски" на HDD в этой программе просто не существует.

    Wild Player - проигрыватель, который умеет работать только с 1 первичным разделом и 1 логическим диском из расширенного раздела.

    DNA-OS - умеет работать с 1 первичным разделом и до 4 логических дисков из расширенного раздела.

    И ни одной программы, которая бы умела размечать винчестеры на разделы и форматировать диски.


    Решился засесть за написание программы, некого подобия Partition Magic на ПЦ.


    Что предполагается сделать:

    Поддержка до двух винчестеров - Master и Slave с возможностью переключения, с каким винчестером работать.

    Поддержка до 10 разделов:
    или до 4 первичных разделов,
    или до 3 первичных разделов и до 7 логических дисков расширенного раздела (больше не помещается на экране, и вряд ли будет нужно).

    Поддержка файловых систем FAT-16 и FAT-32.

    Возможность удалять и создавать первичные разделы, расширенный раздел и логические диски в нем.

    Возможность быстрого форматирования (без обнуления всех секторов) дисков в файловую систему FAT-16 и FAT-32, с возможностью выбора желаемого размера кластеров (выбор из списка, ограниченным в соответствии с выбранной файловой системой и размером раздела).

    При необходимости, можно сделать и полное форматирование, но при размерах дисков 10...80 Гигабайт, на форматирование может уйти время от нескольких дней до несколько недель, т.к. скорость чтения и записи на Спектруме без турбо-режима выходит что-то около 50 Кбайт/сек. Считайте сами. На моём Пентагоне-1024 турбированном на 7 МГц без wait-а скорость выходит ровно в 2 раза выше - около 100 Кбайт/сек.

    Будет использоваться адресация LBA. Пока сомневаюсь, нужно ли поддерживать древние винчестеры, которые поддерживают только адресацию CHS.

    Чего однозначно НЕ будет в программе:

    По этой же причине - не высокой скорости чтения и записи, не будет возможности изменять размеры уже созданных разделов и размеры кластеров, не будет возможности двигать разделы по дисковому пространству HDD. Любая из этих процедур даже на ПЦ выполняется долго, а на Спектруме может выполняться неделями. При этом начатую процедуру прерывать ни в коем случае нельзя, т.к. можно потерять данные.

    Что уже сделано:

    Программа уже определяет HDD Master и Slave, позволяет выбирать между ними, выводит на экран существующую таблицу разделов с названиями томов, сегодня вечером доделаю вывод и размеров разделов. Позже сделаю и графическое представление разделов, как в Partition Magic на ПЦ.

    Пока на данный момент программа распознаёт только файловую систему FAT-32. Позже научу её распознавать и FAT-16.

    Пока ничего изменять на жёстком диске нельзя, программа не производит никаких записей на HDD.

    Программа работает с жёсткими дисками через контроллер Nemo-IDE.

    Теоретически её можно доработать и под SMUC, но за неимением такого контроллера у меня, не будет и возможности проверять её на работоспособность под SMUC. Хотя можно будет попробовать тестировать на Unreal Speccy.

    Весь текст выводится на экран в формате 6x8, 42 символа в строке.
    При необходимости, процедуру печати смогу легко модернизировать и до формата 4x8, 64 символа в строке.
    Последний раз редактировалось Northwood; 27.05.2013 в 13:46.
    С уважением, Александр

  2. Эти 22 пользователя(ей) поблагодарили Northwood за это полезное сообщение:
    AHTuXPuCT (27.05.2013), Alex III (27.05.2013), Alex Rider (27.05.2013), alone (28.05.2013), alvis (28.05.2013), Astrolux (16.08.2013), baxter (27.05.2013), Djoni (27.05.2013), doorsfan (02.09.2013), EARL (04.09.2013), hippiman (29.05.2013), John North (27.05.2013), kas29 (27.05.2013), Mad Killer/PG (28.05.2013), palsw (29.05.2013), Protom (27.05.2013), SoftFelix (27.05.2013), solegstar (27.05.2013), Stingrey (27.05.2013), Vitamin (27.05.2013), ZXFanat (28.05.2013), Максагор (27.05.2013)

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

  4. #2
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,234
    Благодарностей: 715
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Northwood, имхо, такая программка имеет место быть.
    Некоторые пожелания:
    + Сделать возможность использовать драйвера под разные контроллеры (NemoIDE, SMUC, Profi и пр...)
    + Реализовать операции копирования/удаления файлов в разделах FAT16/32 (До сих пор нет ни одной программы позволяющей выполнять данные операции).

  5. #3
    Activist
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    469
    Благодарностей: 216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Некоторые пожелания:

    + Сделать возможность использовать драйвера под разные контроллеры (NemoIDE, SMUC, Profi и пр...)
    Про SMUC у меня есть кое-какая информация, если не ошибаюсь, то для переделки под него вроде достаточно только изменить номера портов (с задействованием всех 16 адресных разрядов), и где-то промелькала инфа, что доступ к портам SMUC закрыт TR-DOS-ом, поэтому обращаться к ним можно вызовами по адресу #3D2F.

    Про реализацию HDD на Профи у меня вообще информации ноль, если речь не идет о подключении к нему NemoIDE, как это сделал JohN North.

    Ну и если делать поддержку разных видов контроллеров, то предполагаю сделать их поддержку железно встроенную в программу. А чтобы не приходилось при каждом запуске каждый раз выбирать из списка контроллер, сохранять этот выбор в файл конфигурации.

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    + Реализовать операции копирования/удаления файлов в разделах FAT16/32 (До сих пор нет ни одной программы позволяющей выполнять данные операции).
    Может это лучше сделать в каком-нибудь копировщике ? Я вообще предполагал в Partition Magic сделать возможность только управлять разделами и томами, и всё. А для полноценной работы с файлами делать отдельную программу.
    С уважением, Александр

  6. #4
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,288
    Благодарностей: 749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Northwood Посмотреть сообщение
    Про SMUC у меня есть кое-какая информация, если не ошибаюсь, то для переделки под него вроде достаточно только изменить номера портов (с задействованием всех 16 адресных разрядов), и где-то промелькала инфа, что доступ к портам SMUC закрыт TR-DOS-ом, поэтому обращаться к ним можно вызовами по адресу #3D2F.

    Про реализацию HDD на Профи у меня вообще информации ноль, если речь не идет о подключении к нему NemoIDE, как это сделал JohN North.

    Ну и если делать поддержку разных видов контроллеров, то предполагаю сделать их поддержку железно встроенную в программу. А чтобы не приходилось при каждом запуске каждый раз выбирать из списка контроллер, сохранять этот выбор в файл конфигурации.



    Может это лучше сделать в каком-нибудь копировщике ? Я вообще предполагал в Partition Magic сделать возможность только управлять разделами и томами, и всё. А для полноценной работы с файлами делать отдельную программу.
    В zxmak2 можно включать полное логирование всех операций с ide, в исходниках можно посмотреть порты у профи, смука, атм. Вечером постараюсь выложить эту инфу.

    А программа такаяреально нужна, т.к. с софтом для HDD на спектруме дела плачевные.
    Но у меня предложение не лепить все в одну кучу, а сделать отдельные маленькие утилиты:
    1) fdisk
    2) format
    3) hddinfo
    4) chkdsk
    Последний раз редактировалось ZXMAK; 27.05.2013 в 13:23.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. Эти 2 пользователя(ей) поблагодарили ZXMAK за это полезное сообщение:
    Northwood (27.05.2013), Protom (27.05.2013)

  8. #5
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,234
    Благодарностей: 715
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Northwood Посмотреть сообщение
    и где-то промелькала инфа, что доступ к портам SMUC закрыт TR-DOS-ом, поэтому обращаться к ним можно вызовами по адресу #3D2F.
    В современных смуках есть перемычка закрыты/открыты, по дефолту они открыты. А в старых - да, закрыты, но их осталось не много, да и насколько я знаю - их часто переделывали для открытия портов для повышения скорости обмена информацией с винтом. В общем можно посмотреть драйвера в тех же WDC(исходники пролетали), Fatal.

  9. #6
    Activist
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    469
    Благодарностей: 216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    В современных смуках есть перемычка закрыты/открыты, по дефолту они открыты. А в старых - да, закрыты, но их осталось не много, да и насколько я знаю - их часто переделывали для открытия портов для повышения скорости обмена информацией с винтом. В общем можно посмотреть драйвера в тех же WDC(исходники пролетали), Fatal.
    Значит буду поддерживать только открытые порты.

    Кстати, слышал и про доработку NemoIDE, в котором для дешифрации портов вместо адресного бита A0 задействуется A8, даже WDC поддерживает этот вариант контроллера, наверно стоит и мне поддержать этот вариант.

    Вариант хорош тем, что с ним реализуем более быстрый алгоритм чтения данных с HDD:

    Вместо последовательности

    INI
    INC C
    INI
    DEC C
    INI
    INC C
    INI
    DEC C
    ....

    можно сделать

    INI
    INI
    INI
    INI
    INI
    ....

    т.к. команда группового чтения из порта INI уменьшает на единицу содержимое регистра B, которое в свою очередь выкладывается на старшую половину шины адреса при обращении к портам. Таким образом последовательное обращение к двум портам данных происходит автоматически за счёт циклического изменения бита 0 регистра B, попадающего на разряд A8 шины адреса.

    Интересно, много ли таких контроллеров NemoIDE с такой доработкой ?
    С уважением, Александр

  10. #7
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,234
    Благодарностей: 715
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Northwood Посмотреть сообщение
    Кстати, слышал и про доработку NemoIDE
    На счет этого ничего не скажу, я делал NemoIDE контроллеры без этой доработки. Я так понимаю драйвер не будет работать на недоработанном, потому лучше сделать эту поддержку опциональной.

    ---------- Post added at 14:53 ---------- Previous post was at 14:51 ----------

    Собственно потому и хотелось бы подгружаемые драйвера, дабы потом без перекомпиляции самой проги сделать поддержку других контроллеров.

  11. #8
    Activist
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    469
    Благодарностей: 216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Я так понимаю драйвер не будет работать на недоработанном, потому лучше сделать эту поддержку опциональной.
    Да, именно это я и имел ввиду - поддержка будет опциональной.

    Ну и ещё один важный момент забыл:

    Есть ли смысл в поддержке древних винчестеров, которые поддерживают адресацию к дисковому пространству только через CHS ? Пока на данный момент программа обращается к блокам только по LBA адресации.

    ---------- Post added at 14:58 ---------- Previous post was at 14:56 ----------

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Собственно потому и хотелось бы подгружаемые драйвера, дабы потом без перекомпиляции самой проги сделать поддержку других контроллеров.
    А их вроде не так и много. NemoIDE, NemoIDE-A8, SMUC (из того что я знаю). Что там имеется своего в Profi и ATM, мне пока не известно, буду искать инфу.
    С уважением, Александр

  12. #9
    Member Аватар для Alex III
    Регистрация
    21.05.2006
    Адрес
    г. Старица
    Сообщений
    135
    Благодарностей: 19
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Partition Magic на Спектруме однозначно нужен!

  13. Этот пользователь поблагодарил Alex III за это полезное сообщение:
    alone (28.05.2013)

  14. #10
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    689
    Благодарностей: 226
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На Пентеве Nemo-DIVIDE. Читать и писать можно через один порт #10.
    Код:
    Чтение:
        LD BC,#10
        INIR
        INIR
    
    Запись:
        LD BC,#10
        OTIR
        OTIR

  15. Этот пользователь поблагодарил Blade за это полезное сообщение:
    Northwood (27.05.2013)

Страница 1 из 8 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Интернет на спектруме ?
    от AAA в разделе Разное
    Ответов: 27
    Последнее: 09.11.2015, 01:05
  2. Java на спектруме
    от Uporot в разделе ZX Концепции
    Ответов: 2
    Последнее: 20.04.2010, 08:34
  3. 2D движки на спектруме.
    от moroz1999 в разделе Программирование
    Ответов: 56
    Последнее: 08.09.2009, 10:59
  4. HDD Partition tools
    от breeze в разделе Софт
    Ответов: 18
    Последнее: 14.02.2009, 14:32

Ваши права

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