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

User Tag List

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

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

  1. #1
    Master Аватар для Northwood
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    804
    Спасибо Благодарностей отдано 
    43
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    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 в 15:46.
    С уважением, Александр

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

  3. #2
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #3
    Master Аватар для Northwood
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    804
    Спасибо Благодарностей отдано 
    43
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    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 сделать возможность только управлять разделами и томами, и всё. А для полноценной работы с файлами делать отдельную программу.
    С уважением, Александр

  5. #4
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 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 в 15:23.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #5
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #6
    Master Аватар для Northwood
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    804
    Спасибо Благодарностей отдано 
    43
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    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 с такой доработкой ?
    С уважением, Александр

  8. #7
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  9. #8
    Master Аватар для Northwood
    Регистрация
    06.01.2011
    Адрес
    г. Днепр, Украина
    Сообщений
    804
    Спасибо Благодарностей отдано 
    43
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    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, мне пока не известно, буду искать инфу.
    С уважением, Александр

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

    По умолчанию

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

  11. #10
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

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

Ваши права

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