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

User Tag List

Страница 22 из 50 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 494

Тема: Вектор-06Ц: Операционные системы

  1. #211

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я исполнил то, о чём ворчал b2m, удалил лишнее, плюс ещё развернул ненужный уже вызов подпрограммы и собрал все исходники в один архив: T72m4src.7z
    В остальном это вариант ivagor-а.
    И не стоит забывать, что в этой версии есть ограничение:
    Цитата Сообщение от b2m Посмотреть сообщение
    "цилиндров*головок"<65536
    - - - Добавлено - - -

    Цитата Сообщение от b2m Посмотреть сообщение
    И да, цикл чтения/записи сектора я бы разделил. Какой смысл каждые 2 байта анализировать чтение нужно или запись? Ускорение будет 5-10%.
    В последней версии разделил, для проверки. Прирост в скорости копирования файлов с одной дискеты НЖМД на другую примерно 5%, но это с учётом того, что сейчас расчёт цилиндра/головки/сектора выполняется по новому алгоритму.
    Последний раз редактировалось Improver; 07.04.2020 в 10:23. Причина: Ещё немного поправил...

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

  3. #212

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет ограничения (цилиндров*головок)<65536. Как я понимаю, максимальный возможный размер в этом случае 4095*16*63*512=2113413120 байт, т.е. >2 Гб. Если понадобится 8 гигов, то можно процедуру деления и апгрейдить, вопрос в востребованности.

  4. #213

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не останавливаемся на достигнутом.

    Новая версия, Т-72hl, теперь обращение к диску выполняется в режиме LBA: T72hl_src.7z

    Ограничение по размеру диска составляет 8Гб (используются 24 бита, 25..28 -- нули), все остальные ограничения снялись сами собой, единственное, что читается из конфигурации НЖМД -- это максимальное количество дискет. Проверил в эмуляторе, работает с разными дисками корректно, причём скорость возросла ещё примерно на 5%, но вот только на реале проверить не успел, поэтому пока пользуйтесь с долей осторожности...

    Эти 5 пользователя(ей) поблагодарили Improver за это полезное сообщение:

    b2m(07.04.2020), electroscat(08.04.2020), ivagor(07.04.2020), KTSerg(07.04.2020), svofski(07.04.2020)

  5. #214

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запись сектора сейчас требует 92 такта/каждые 2 байта, можно сократить до 84, признак чтения/записи в E вроде не нужно сохранять

    Скрытый текст

    Код:
    L_D8CF:
    	mov e,m
    	inx h
    	mov a,m
    	out 58h
    	mov a,e
    	out 50h
    	inx h
    	dcr d
    	jnz L_D8CF
    [свернуть]


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

    Познавательный вопрос - винты и CF могут читать по 255 секторов или только по 1?

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver(07.04.2020)

  6. #215

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Познавательный вопрос - винты и CF могут читать по 255 секторов или только по 1?
    Ну... Два сектора подряд читают (и пишут) без проблем, больше не пробовал. Подозреваю, что есть желание читать сразу весь файл в память?

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

    Цитата Сообщение от Improver Посмотреть сообщение
    Ограничение по размеру диска составляет 8Гб (используются 24 бита, 25..28 -- нули)
    Кстати, а что если в 25..28 битах использовать не нули? Тогда же можно будет разбивать физический диск на логические, до 16 штук, и переключать их, граница будет в 120Гб, если не ошибаюсь... Или подвинуть используемую Вектором область в конец жёсткого диска, а в начале сделать стандартный раздел для ПК... В общем, тут тоже есть скрытые возможности.

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    KTSerg(07.04.2020)

  7. #216

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если максимально развернуть чтение сектора, то чтение байта с записью в память стремится к 28 тактам, пусть с минимальными накладными расходами (раз уж LBA) будет 32. Тогда можно стримить видео без компрессии с винта. При 25 кадрах/секунду успеваем прочитать до 3744 байт, если использовать двойную буферизацию и читать прямо в видеопамять, то это и будет доступный размер кадра. Как использовать - возможны варианты, например при 8 цветах (или оттенках) можно играть в окошке 112x88, при 2 цветах - 192x152. Минута такого видео - примерно 5 Мб.

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

    Чтение, конечно, мимо доса, сугубо "свое".

  8. #217

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    ...
    Кстати, а что если в 25..28 битах использовать не нули? Тогда же можно будет разбивать физический диск на логические, до 16 штук, и переключать их, граница будет в 120Гб, если не ошибаюсь... Или подвинуть используемую Вектором область в конец жёсткого диска, а в начале сделать стандартный раздел для ПК... В общем, тут тоже есть скрытые возможности.
    Вот сдвинуть образ на CF-карте было бы очень полезно.
    Сначала рассчитать размер, и записать на CF-карту "пустой" файл, а за ним всегда будет образ диска для Вектора.
    Тогда без заморочек образ можно писать/читать на ПК и без плясок с бубном.
    Кстати смещение, может быть заложено в ДОС установкой нужного (25...28) бита в "1".

    Упс... CF-карточки обычно не больше 8Г. У меня самая крутая 256М
    Последний раз редактировалось KTSerg; 07.04.2020 в 14:52.

  9. #218

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Использовать старшие биты LBA для смещения можно, но как показывает пример KTSerg неудобно. Но это не помеха введению смещения, сейчас оно "жесткое", а можно сделать настраиваемым (пусть даже в рамках 24 бит).

  10. #219

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ещё один вариант использования смещения: при должном умении, на диске или карте, отформатированной в FAT, можно создать файл, а МДОС с Вектора будет писать точно в эту область. А на ПК этот файл можно использовать, как образ в эмуляторе, единственное, нужно будет следить, чтобы файл физически оставался на тех же секторах диска/карты.

    А вот смещение не кратное 8Гб сделать будет немного сложнее, но вполне осуществимо -- нужно просто поправить константы в подпрограмме команды "9", и она будет выдавать увеличенные на нужный размер значения. Ну ещё и доступ к конфигурации диска в нулевой сектор тоже как-то сместить...

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

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Сначала рассчитать размер, и записать на CF-карту "пустой" файл, а за ним всегда будет образ диска для Вектора.
    Упс... Это та же идея, что и у меня, или "за ним" обозначает немного другой метод?

  11. #220

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Но это не помеха введению смещения, сейчас оно "жесткое", а можно сделать настраиваемым (пусть даже в рамках 24 бит).
    А смещение пусть загрузчик рассчитывает, с учётом того, что карта/винт отформатирована FAT. Этот код может быть каким угодно большим, он же не будет перемещаться по нужным адресам. Можно даже имя файла запросить/выбрать, если таких образов на карте/винте несколько (в корневой директории). Можно даже наличие таблицы разделов учесть. Часть такого кода можно взять из моей читалки SDOS, которую PVV развивает. Сначала устанавливаем смещение 0, затем вычисляем и устанавливаем смещение нужного раздела (если есть таблица разделов), и под конец - смещение нужного файла.

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

    Цитата Сообщение от Improver Посмотреть сообщение
    А вот смещение не кратное 8Гб сделать будет немного сложнее
    Просто добавь воды:
    Код:
    LXI D,xxxx
    DAD D
    ACI yy
    после получения 24-битного номера в A,HL

Страница 22 из 50 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 213
    Последнее: 13.06.2022, 14:02
  2. Ответов: 4
    Последнее: 20.08.2007, 16:14
  3. Организация plug-in'нной системы
    от CityAceE в разделе Программирование
    Ответов: 9
    Последнее: 20.09.2005, 12:45
  4. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  5. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

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