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

User Tag List

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя
Показано с 51 по 60 из 77

Тема: Альтаир ДОС v3.x

  1. #51
    Activist Аватар для SYR-ALEX
    Регистрация
    12.02.2015
    Адрес
    г. Минск, Беларусь
    Сообщений
    429
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    41 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Версия Altair DOS v3.4t .Скачена по одной из ваших ссылок.
    Последний раз редактировалось SYR-ALEX; 23.07.2015 в 23:17.

  2. #52
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть предложение по ускорению загрузки AltairDOS.
    1. Убрать установку часов при загрузке ДОС. Кому надо пусть настраивает часы через консольную команду.
    2. Упростить тестирование памяти при загрузке. Полностью тестировать опять через консольную команду, кому надо.

    Не понятен физический смысл счетчика sector при загрузке. Если возможно тоже ускорить.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  3. #53
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Есть предложение по ускорению загрузки AltairDOS.
    1. Убрать установку часов при загрузке ДОС. Кому надо пусть настраивает часы через консольную команду.
    Этот кусок в DRIVER.SYS, который загружается еще до выполнения CONFIG.SYS, соответственно, вынести в настройки это не получится, а проверять корректность часов вроде бы надо. Как вариант, можно часть инициализации часов оставить, а интерактивный кусок (который просит ввода с клавиатуры при некорректном времени) вынести в отдельный CLOCK.SYS, который уже запускать из CONFIG.SYS (или не запускать, кому что интереснее)

    Цитата Сообщение от OrionExt Посмотреть сообщение
    2. Упростить тестирование памяти при загрузке. Полностью тестировать опять через консольную команду, кому надо.
    Тестирование памяти в любом случае проводится: системе при старте надо понимать чем она располагает чтобы потом корректно выделять память приложениям. В настоящее время тест имеет два режима: по-умолчанию проверяет каждый байт памяти (двумя константами 55 и AA, т.е. тест вполне достоверный), но если при тесте нажать любую клавишу, то переходит к проверке только одного байта из каждого 4к блока (чтобы пометить блоки на доступность), что ускоряет в разы. Как вариант, могу сделать условную компиляцию при которой выполняется либо управляемо полный/быстрый (что описал выше), либо только быстро. Исключать вывод на экран можно, но это ускорит несущественно (там выводится по 9 символов на каждые 4к), а информативность "на чем увисло" упадет.

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Не понятен физический смысл счетчика sector при загрузке. Если возможно тоже ускорить.
    Чтобы когда оно вдруг не грузится (а такое бывает, например при отладке ПРО) понимать на каком этапе все встряло.
    Предлагаю сделать аналогично: будет управляться от ключа компиляции (например, "VERBOSE"), и можно будет собрать версию для себя.

    Самая большая задержка при загрузке не в выводе на экран, а в инициализации модуля SD-карты при отсутствии SD-карты - именно он дает задержку между завершением "SECTOR N" и началом счетчика памяти. Его тоже так просто "на настройках" не обойти, т.к. он тоже выполняется до CONFIG.SYS, подумать надо куда и как его перенести.
    Последний раз редактировалось Error404; 22.09.2016 в 13:42.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  4. #54
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    То то я думаю, у меня база данных форума заглючила. А оказывается сообщение в другую ветку перенесли

    Цитата Сообщение от Error404 Посмотреть сообщение
    Этот кусок в DRIVER.SYS, который загружается еще до выполнения CONFIG.SYS, соответственно, вынести в настройки это не получится, а проверять корректность часов вроде бы надо. Как вариант, можно часть инициализации часов оставить, а интерактивный кусок (который просит ввода с клавиатуры при некорректном времени) вынести в отдельный CLOCK.SYS, который уже запускать из CONFIG.SYS (или не запускать, кому что интереснее)
    Часы конечно инициализировать, если они есть. А если нет, я так понимаю, они эмулируются. Просто при старте пусть запускаются по дефолту, допустим 00:00 01/01/80. А текущее время, дату вводить с консоли командой, уже после загрузки ОС (по желанию). А если реальные часы есть и идут, то и корректировать там нечего при старте.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Тестирование памяти в любом случае проводится: системе при старте надо понимать чем она располагает чтобы потом корректно выделять память приложениям. В настоящее время тест имеет два режима: по-умолчанию проверяет каждый байт памяти (двумя константами 55 и AA, т.е. тест вполне достоверный), но если при тесте нажать любую клавишу, то переходит к проверке только одного байта из каждого 4к блока (чтобы пометить блоки на доступность), что ускоряет в разы. Как вариант, могу сделать условную компиляцию при которой выполняется либо управляемо полный/быстрый (что описал выше), либо только быстро. Исключать вывод на экран можно, но это ускорит несущественно (там выводится по 9 символов на каждые 4к), а информативность "на чем увисло" упадет.
    Если ОС необходимо построить некую таблицу доступности блоков размером в 4 КБайта. Пусть тогда быстренько прощелкает по 1 байту (типа есть/нет) и все. Зачем же каждый байт проверять для этого существуют заточенные программы для теста памяти.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Чтобы когда оно вдруг не грузится (а такое бывает, например при отладке ПРО) понимать на каком этапе все встряло.
    Предлагаю сделать аналогично: будет управляться от ключа компиляции (например, "VERBOSE"), и можно будет собрать версию для себя.
    Тут сложнее как я понял. Все это касается ядра ОС. Тогда собирать 2 сборки. Одна для повседневного использования, другая для отладки (в конце имени букву d поставить).

    Цитата Сообщение от Error404 Посмотреть сообщение
    Самая большая задержка при загрузке не в выводе на экран, а в инициализации модуля SD-карты при отсутствии SD-карты - именно он дает задержку между завершением "SECTOR N" и началом счетчика памяти. Его тоже так просто "на настройках" не обойти, т.к. он тоже выполняется до CONFIG.SYS, подумать надо куда и как его перенести.
    Ну а SD-пусть остается как есть, раз так реализовано. Не выкидывать же поддержку SD карты. Это как при загрузке с FDD, надо его подергать есть там дискета или нет
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  5. #55
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил на гите АльтаирДОС

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Часы конечно инициализировать, если они есть. А если нет, я так понимаю, они эмулируются. Просто при старте пусть запускаются по дефолту, допустим 00:00 01/01/80. А текущее время, дату вводить с консоли командой, уже после загрузки ОС (по желанию). А если реальные часы есть и идут, то и корректировать там нечего при старте.
    Сделал такое, это в Driver.sys. При старте драйвера если аппаратных часов нет, то можно удержать клавишу (выводится информация об этом) и ввести время для часов на прерываниях 50Гц. Иначе (если клавиш не нажат) "эмулируемое" время не вводится (стартует с 00:00) и загрузка продолжается без дополнительных запросов

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Если ОС необходимо построить некую таблицу доступности блоков размером в 4 КБайта. Пусть тогда быстренько прощелкает по 1 байту (типа есть/нет) и все. Зачем же каждый байт проверять для этого существуют заточенные программы для теста памяти.
    Сделал условную компиляцию (ключ VERBOSE) если он 0 (это по умолчанию), то память тестируется по 1 байту из каждого 4к блока и счетчик пролетает моментально, кнопку для этого нажимать не надо (как было ранее).
    Также, при VERBOSE=0 не выводится счетчик секторов при загрузка кода ОС в память.


    Также поправил idebdos.com - сделал чтобы в коде было обе ветки (для схем IDE на 8255 и IDE-RTC) и тип выбирался ключем условной компиляции:
    IDEPRO equ 1 ; 1=OrionPRO IDE/RTC ide ports, 0=8255 PPA ports
    , а также режим когда одно из устройств драйвера является IDE-устройством, а второе - SD-картой (раньше было либо 2 IDE, либо только одно SD-устройство вместо МастерIDE). Сейчас такие варианты:
    IDEBDOS -> 2 IDE-устройства (IDE_master,IDE_slave), автодетект
    IDEBDOS SD -> 1 SD-устройство (мастер), автодетект
    IDEBDOS 0:SD -> Мастер=SD, Slave=IDE_slave, автодетект
    IDEBDOS 1:SD -> Мастер=IDE_master, Slave=SD, автодетект

    При автодетекте если устройство отсутствует, то во-первых вдвое уменьшил интервал опроса (на котором оно висит и нервирует), а во вторых добавил параметр NONE, который можно указать для отсутствующих устройств. Т.е. если у вас подключен только IDE_master, то можно пропустить автодетект IDE_slave (и соответствующую паузу в загрузке) указав 1:none. Параметры можно комбинировать, например так:
    IDEBDOS 0:SD 1:none
    (получится как если запустить IDEBDOS SD)
    Прочие параметры остались как и ранее.

    Еще один ключ компиляции:
    DRIVER equ 0 ; compile as AltairDos driver (with leading 128bytes signature block), COM-file otherwise
    определяет компилировать COM-файл или драйвер (его переименовать в *.SYS). Драйвер можно прописать в config.sys в команде DEVICE - чтобы он грузился при загрузке. Пример для "только Мастер":
    DEVICE = idebdos.sys 1:none

    Также заметил, что может глюкануть NC, если запускать idebdos из него (тот самый глюк "второго запуска", т.к. первым запускали idebdos - без него нормально). Там что-то связано с тем, что для того чтобы после запуска COM-файла автоматически вернуться в NC, он присаживает себя в память в виде драйвера перехватывая вектора BDOS, и idebdos тоже инсталлирует из своего тела драйвер, и в этот момент они там что-то не поделили - еще не разбирался что именно. Если запустить idebdos.com из промпта CPM (или idebdos.sys из config.sys), то после этого NC нормально работает. Ну, с NC еще отдельно буду разбираться - переделывать опрос каталога (большие файлы, ограничение на количество файлов и т.п.), уже нашел и поправил (пока в исходнике только) где оно "No files" запускало.
    Последний раз редактировалось Error404; 04.10.2016 в 10:20.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  6. #56
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да уж. Не такая уже тривиальная задача вышла собрать имидж ром-диска с исходников АльтаирДОС. Особенно если учесть что с АльтаирДОС я особо и не разбирался. Мое ознакомление с АльтаирДОС, остановилось на уровне запуска программ.

    Сборка в процессе…
    Последний раз редактировалось OrionExt; 05.10.2016 в 15:32.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  7. #57
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запрограммировал ПЗУ M27C801 в Орионе, вроде работает последняя сборка Альтаир-ДОС с поста.
    Грузится быстрее, курсор работает в ОС, пусть живет в ПЗУ
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  8. #58
    Master
    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    538
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спрошу здесь. Не знаю в какую тему писать.
    При копировании файлов в образ жесткого диска с помощью плагина OhiWcx, на диске создаются файлы одинакового размера, но с разными именами. Что я делаю не так? или нашел баг в работе плагина?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Безымянный.jpg 
Просмотров:	174 
Размер:	83.2 Кб 
ID:	60856  

  9. #59
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможно образ (основа) повреждена, по этому софт OhiWcx не может адекватно интерпретировать это. Нужен дамп!

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

    Это очень сложная штука! Для Ориона тем более. Тут сам драйвер не написал, не вздохнул.
    Последний раз редактировалось OrionExt; 02.05.2017 в 21:23.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  10. #60
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    Спрошу здесь. Не знаю в какую тему писать.
    При копировании файлов в образ жесткого диска с помощью плагина OhiWcx, на диске создаются файлы одинакового размера, но с разными именами. Что я делаю не так? или нашел баг в работе плагина?
    Ты нашел одновременно особенности файловой системы CP/M и файловой системы MS-DOS. Файлы в CP/M по размеру всегда округляются в размер записи (128 байт). Поэтому при копировании в образ файлов размером 7808 и 7698 в образе оба раза получатся файлы размером 7808. А имена в приведенном скриншоте в правой панели (на файловой системе Винды)- видно что первый раз в формате 8.3, а вот второй - в формате LFN. Плагин при упаковке заменяет в имени нештатные для режима 8.3 символы но нормальные для LFN (например, пробелы) знаком подчеркивания. И если приглядеться то и имена не одинаковые, а на одну буковку различаются (на неудачную буковку - совпадающую с соседней, и зрительно теряющейся).
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

Страница 6 из 8 ПерваяПервая ... 2345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Альтаир 8800 помошь
    от Kakos_nonos в разделе Зарубежные компьютеры
    Ответов: 27
    Последнее: 25.04.2011, 21:55

Ваши права

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