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

User Tag List

Страница 7 из 50 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 491

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

  1. #61
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию МикроДОС 3.2 c Bold BIOS 3.x - Обновление

    Поглядел внимательно на наши МикроДОСы, и обнаружил, что Серёга пропустил один инкремент при определении типа процессора в POST.
    И с тех пор, с 94 года POST "определял" любой проц как i8080.
    Такого позора я стерпеть больше не смог и пофиксил определялку заодно добавив определение КР580ВМ1 до кучи.

    Ну а разогнавшись, дописал определение Омского RTC, так что POST теперь при входе показывает текущее время или ругается что RTC не найдена.

    Обе операционки прилагаются. POST запускается удерживанием клавиши УС при нажатии БЛК + ВВД после загрузки системы с диска.
    Форматы квазидисков у МикроДОС 56К и 47К несовместимы, при переходе с одной на другую, форматите квазидиск (вот POST и увидите )
    Вложения Вложения

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

  3. #62
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Летом 2011 протестировал несколько ДОСов на предмет скорости вывода символов:
    Код:
    Вывод 960 символов
    
    mdos311 - 10106800 тактов=3.3689 секунд=284.9567 символов в секунду
    f51 - 9942280 тактов=3.3141 секунд=289.6720 символов в секунду
    fph511 - 9939296 тактов=3.3131 секунд=289.7590 символов в секунду
    mdosf143 - 9939128 тактов=3.3130 секунд=289.7639 символов в секунду
    cpm59 - 9653424 тактов=3.2178 секунд=298.3397 символов в секунду
    mdos30 - 9361568 тактов=3.1205 секунд=307.6408 символов в секунду
    mdos23 - 9361116 тактов=3.1204 секунд=307.6556 символов в секунду
    mdos28 - 9357644 тактов=3.1192 секунд=307.7698 символов в секунду
    mdos31 - 9082188 тактов=3.0274 секунд=317.1042 символов в секунду
    
    cpm39 - 7131864 тактов=2.3773 секунд=403.8215 символов в секунду
    
    mdbold56 - 6871404 тактов=2.2905 секунд=419.1283 символов в секунду
    mdbold47 - 6191992 тактов=2.0640 секунд=465.1169 символов в секунду
    
    mdos34 - 4059448 тактов=1.3531 секунд=709.4561 символов в секунду
    t72 - 3856532 тактов=1.2855 секунд=746.7849 символов в секунду
    
    rds2.01 - 3708984 тактов=1.2363 секунд=776.4930 символов в секунду
    Запускал программку в EMU, ставил бряки на начало вывода и конец, получал число тактов (точность эмуляции вектора очень хорошая, думаю тут вопросов нет). Абсолютные цифры IMHO не особо важны, т.к. зависят от конкретной программы, интереснее сравнить относительную скорость вывода символов в разных ОСах.
    Вложения Вложения
    • Тип файла: zip chspeed.zip (401 байт, Просмотров: 124)

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

    svofski (11.07.2022)

  5. #63
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Несколько сомнительные штуки, но решил все же выложить, в EMU работает.
    Пока нет общедоступных копий оригинальных загрузочных дискет для CPM59 можно воспользоваться такими самопальными образами:
    CPM59FDDS.ZIP
    Используется поддержка этой системой формата диска МикроДОС и то что "дискета любого формата может быть системной"
    Стартуем конфиг vector06c-coman, выбираем один из образов для правого (второго) дисковода (можно и в первый вставить, но возникнут кое-какие проблемы), жмем F12.
    После старта системы будут доступны 2 диска - A: (ERAM) и F: (второй дисковод с дискетой МикроДОС). Очень рекомендую почитать описание этого ОСа, т.к. названия дисков не очевидны. На образы записан STAT, им можно посмотреть параметры дисков (написал примеры вызова STAT - форум преобразовал их в смайлы, RTFM, короче).
    Момент не отмеченный в документации - cpm256 и cpm512/cpm768 ожидают увидеть каталог на МикроДОСовском диске F: на разных дорожках. К счастью в МикроДОС есть команда О.
    Можно "сделать" дискету в "родном" формате - создаем файл 655360 байт заполненный E5, даем ему расширение .trd, после вставляем в первый дисковод (обратите внимание, в данном случае это будет буква C: ) и переписываем с F: (или через отладчик в память, потом SAVE на диск) что нужно. Сделать диск "родного" формата системным у меня не получилось, но я в этом не специалист.
    Можно сделать ROM-диск и грузить ДОС с него.

  6. #64
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

  7. #65
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Kernel code в main RAM до 0xF000
    На практике, без существенных перетолмачиваний для 6128 бы сгодилось, но там только ещё один банк и 8085, а не z80.
    В принципе, при определённом количестве свободного времени и наличии исходников, возможно можно портировать с C на 80й ассемблер и завести под Вектор-06ц/02 с квазидиском Баркаря. Но имхо усилий стоит таких же как и написание proprietary многозадачного микрокернела для стандарных Векторов. Я думал на эту тему, взяв за основу что-либо подобное FreeRTOS или Nucleus в смысле планировщика задач, но пришёл к выводу, что в одиночку потребует слишком много лет и усилий.

  8. #66
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если говорить про классические железки, то ERAM вроде почти подходит. Переписывать с C имхо абсолютно не реально, тут лучше супервектор (быстрый z80 + подходящий менеджер памяти) бы подошел.

  9. #67
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если говорить про классические железки, то ERAM вроде почти подходит.
    Ну я об этом и написал. Там проблема без переделок выполнение кода возможно только в 16k окнах. Без переделок будет необходим динамический runtime linker (есть статьи, как это сделать для 8080/z80) и своп, а если брать во внимание хотя-бы "старые" задачи под CP/M, то их исполнение даже в режиме "эмуляции" становится цирковым представлением, причём всё равно в однозадачном режиме, ибо.
    Проще подумать о простой переделке ERAM маппера и буткода чтобы дома с паяльником можно было повторить, обеспечив возможность мапить любые 16К страницы. Тогда и что либо юниксоподобное становится реальностью и MP/M можно портануть и native задачи (игрушки) можно пускать в монопольном режиме, но обеспечив возврат в систему.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Переписывать с C имхо абсолютно не реально, тут лучше супервектор (быстрый z80 + подходящий менеджер памяти) бы подошел.
    Согласен. Я поэтому и писал, что портировать фузикс на асм практически нереально. Проще-по шагам: написать на асме минималистическое мультизадачное ядро, взяв за основу планировщик из какой-нибудь компактной RTOS, а файловые системы, командный язык, консоли и гуи наворотить уже поверх, драйверами. В общем типичный миникернел-наше всё. Но и в этом случае-годы.

    Наворотить-то можно что угодно, но супервектор не особо интересует. Он будет ничем не лучше сонма существующих уже "супер" платформ на основе FPGA. ПМСМ будет очередной сфероконь с очень узкой группой потребителей. Ну а как есть (с минимальными переделками буткода и memory маппера), годится только ассемблер. Код на C, даже если брать самый быстрый код, генерируемый C компилятором WhiteSmith от Плаугера (раза в полтора быстрее чем код, генерируемый K&R-нестандартным BDS), всё равно будет раз в 5 менее эффективным по быстродействию, чем то, чего можно добиться асмом.
    Совершенно не пытаюсь демотивировать. Просто мои 5c.

  10. #68
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за наводку на whitesmith, нагуглил пару интересных текстов
    ERAM я имел в виду comanовский, КД баркаря и 6128 имхо все же меньше подходят

  11. #69
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

  12. #70
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,105
    Спасибо Благодарностей отдано 
    772
    Спасибо Благодарностей получено 
    643
    Поблагодарили
    398 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, а тебе никогда не хотелось радикально оптимизировать вывод текста в МикроДОС-е? Мне кажется, что если сделать буферизацию и рисовать по нескольку символов пачками (кратно 4-м, чтобы выравнивать по границам байтов), либо по переполнению буфера, либо по прерыванию, можно ускорить вывод в разы. По крайней мере для наиболее типичных ситуаций, когда выводится много символов подряд один за другим. Или это все уже проверено и существенных выгод не дает?
    Больше игр нет

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

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

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

Эту тему просматривают: 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

Ваши права

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