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

User Tag List

Страница 127 из 161 ПерваяПервая ... 123124125126127128129130131 ... ПоследняяПоследняя
Показано с 1,261 по 1,270 из 1609

Тема: Эмулятор ДВК

  1. #1261
    Veteran
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    1,100
    Благодарностей: 125
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    To Patron:

    Опять отправил в личку

  2. Этот пользователь поблагодарил Hunta за это полезное сообщение:
    hobot (26.07.2017)

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

  4. #1262
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta
    Добрый день.

    Странность в поведении эмулятора.

    Отлаживаю драйвер под диск 1024*8*16 (вроде как стандартный с размером 67108864?)

    Во первых, если явно не описывать геометрию в конфиге - после запуска и выхода в конфиг добавляются

    NonStandardDrive_Tracks=155
    NonStandardDrive_Heads=4
    Параметры со значениями по умолчанию

    NonStandardDrive_Tracks=155
    NonStandardDrive_Heads=4

    добавляются в конфиг, если их там вообще нет.

    Геометрия 1024*8*16 автоматически выбирается для стандартного размера 67108864, поэтому нет нужды задавать аналогичную нестандартную геометрию.


    Цитата Сообщение от Hunta
    Если я явно прописываю 1024 и 8, то начинает работать, но без ошибок(!) работает только чтение. Как только идёт попытка записи на головки 4-7 - например только что при попытке записи в цилиндр 1, головку 4 и сектор 3 - устройство возвращает код ошибки 50400 (csr2) и 22000 (err)

    Драйвер в варианте 615*4*16 работал без ошибок, изменения фактически были сделаны только в описании геометрии - дальше используется стандартная подпрограмма из RSX преобразования номера блока в chs - то есть я пока у себя в коде ошибки не наблюдаю. Попробую сейчас другой вариант диска с числом головок до 4 - позже напишу, что получилось.

    ...

    В догонку - в программе TESTDW из DW_System54.DSK вроде как похожая ситуация - как только выставляю головки больше третьей - ошибка поиска адреса
    Нестареющая классика.

    Код чтения:

    Код:
    bNotFound = false;
    
    if( nCmdTrack > nMaxTrack || nCmdSide > nMaxSide || nCmdSect > 15 )
    {
    	if( nCmdTrack > nMaxTrack ) { nCmdTrack = nMaxTrack; }
    	if( nCmdSide  > nMaxSide  ) { nCmdSide  = nMaxSide;  }
    	if( nCmdSect  > 15        ) { nCmdSect  = 15;        }
    
    	bError = true;
    	bNotFound = true;
    
    	REG_WORD( DW_CSR2 )  = BIT_14 | BIT_12 |( BIT_11 * bAsk2 )|( BIT_8 * bError );
    	REG_WORD( DW_ERROR ) = ( BIT_14 * bBadCRC )|( BIT_12 * bNotFound )|( BIT_10 * bBadCmd );
    }
    Код записи:

    Код:
    bNotFound = false;
    
    if( nCmdTrack > nMaxTrack || nCmdSide > 3 || nCmdSect > 15 )
    {
    	if( nCmdTrack > nMaxTrack ) { nCmdTrack = nMaxTrack; }
    	if( nCmdSide  > nMaxSide  ) { nCmdSide  = nMaxSide;  }
    	if( nCmdSect  > 15        ) { nCmdSect  = 15;        }
    
    	bError = true;
    	bNotFound = true;
    
    	REG_WORD( DW_CSR2 )  = BIT_14 | BIT_12 |( BIT_11 * bAsk2 )|( BIT_8 * bError );
    	REG_WORD( DW_ERROR ) = ( BIT_14 * bBadCRC )|( BIT_12 * bNotFound )|( BIT_10 * bBadCmd );
    }
    ...

    Удачно этот баг попался, а то когда бы я ещё добавил в эмулятор возможность использования нескольких контроллеров DW с разными адресами.
    Последний раз редактировалось Patron; 26.07.2017 в 15:46.

  5. Эти 2 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    hobot (26.07.2017), Hunta (26.07.2017)

  6. #1263
    Veteran
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    1,100
    Благодарностей: 125
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, на самом деле я и в своём драйвере выловил.... скажем так - некоторое количество неправильностей, которые вылезли на устройстве с большем, чем 177777 секторов
    Когда оно у меня читалось, но не писалось - глаза как то в разные стороны пошли - код то почти один и тот же используется. Ну, а когда запустил BAD MW:/LI и оно начало сыпать зонами плохие блоки.. прогулялся с отладчиком и только подтвердил мысль о головках 4-7

  7. #1264
    Guru Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,776
    Благодарностей: 1101
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Удачно этот баг попался, а то когда бы я ещё добавил в эмулятор возможность использования нескольких контроллеров DW с разными адресами.
    Цитата Сообщение от Patron Посмотреть сообщение
    и сделаю новый релиз эмулятора.
    Patron, вопрос по эмуляции не связанных с хранением информации железяк - насколько вообще он обсуждаем?
    Я конечно говорю о граф. платах для ДВК любой модификации ) Каковы вообще авторские планы по эмулятору?
    В любом случае любые анонсы по грядущему (возможно) релизу были бы полезны, поскольку от вас последнее
    время в этой теме информации практически не поступает.
    Спасибо!
    Последний раз редактировалось hobot; 26.07.2017 в 16:05.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  8. #1265
    Veteran
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    1,100
    Благодарностей: 125
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И наверное эти проверки надо объединить в какой нибудь метод-подпрограмму - повторяющийся код при модификации - как раз та самая нестареющая классика генерации ошибок логики программы

  9. #1266
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Я конечно говорю о граф. платах для ДВК любой модификации
    Я только об этом и думаю - надо создать универсальный графический API, позволяющий нескольким одновременно запущенным копиям эмулятора ДВК выводить по несколько графических окон от нескольких не знающих друг о друге эмуляторов графических устройств без искажений картинки и потери скорости.

  10. Этот пользователь поблагодарил Patron за это полезное сообщение:
    hobot (26.07.2017)

  11. #1267
    Guru Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,776
    Благодарностей: 1101
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    надо создать универсальный графический API, позволяющий нескольким одновременно запущенным копиям эмулятора ДВК выводить по несколько графических окон от нескольких не знающих друг о друге эмуляторов графических устройств без искажений картинки и потери скорости.
    и что бы не тормозило -

    ОТВЕТА НЕ ТРЕБ. ПРОСТО РАССУЖДЕНИЯ

    может быть реализовать например параметр KGD_KCGD ON\OFF который включал бы некую процедуру\подпрограмму обслуживания всех запущенных копий эмулятора но сам был бы в памяти один и скомпилирован был бы так, что заведомо например брал бы под себя 1 ядро процесора хоста - я не программер
    поэтому пишу как проще мне идею\мысль сказать - иначе, мне кажется, задача не выполнима - будет тормозить и сильно ))) хотя... могу ошибаться сильно я.

    как только обращение в нативной сессии RT-11 на одной из вирт. ДВКашек на хосте хочет графику - процедура её
    обрабатывает напрямую взаимодействую только с той вирт. машинкой где необходимость возникла (как-то так).
    [свернуть]

    ещё сложнее наверное с настоящей эмуляцией граф. экрана - мне например совершенно не понятно
    какой дисплей может быть выбран хотя бы для эмуляции КГД например? Фрязинский? Было бы просто замечательно!

    В любом случае, благодарю за ответ!
    Последний раз редактировалось hobot; 26.07.2017 в 17:08.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  12. #1268
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_26.07.17_18-06

    Изменения:

    1. Исправлена ошибка в эмуляции контроллера DW, не позволявшая использовать при записи головки 4,5,6,7.

    2. В настройки объекта DW добавлены параметры BaseIO_Address и BaseVectorAddress, дающие возможность эмулировать контроллеры с нестандартными адресами. Значения по умолчанию 0174000 и 0300 соответствуют стандартным адресам контроллера DW.

    Для добавления в эмулируемую конфигурацию второго контроллера DW с адресом 0174060 и вектором 0310 - нужно внести в файл конфигурации следующие дополнения:

    Код:
    [objects]
    DW1 = DSK_module:DW
    
    [links]
    bus & DW1
    
    [DW1.ini]
    DW0 = DW.DSK
    BaseIO_Address = 0174060
    BaseVectorAddress = 0310


    Для возможности выбирать образ, подключенный к этому дополнительному контроллеру, при помощи кнопки выбора образов - новый объект DW1 надо подключить к кнопке:

    Код:
    [links]
    Config + MediaButton + HD | MX | MY | DW | DW1 | DX | PC | RK | MT
    Последний раз редактировалось Patron; 26.07.2017 в 18:51.

  13. Эти 4 пользователя(ей) поблагодарили Patron за это полезное сообщение:
    hobot (26.07.2017), Hunta (26.07.2017), MiX (26.07.2017), ZEman (26.07.2017)

  14. #1269
    Veteran
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    1,100
    Благодарностей: 125
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    to Patron:

    Огромное спасибо Сейчас попробую

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

    to Patron:
    А вот на это

    [links]
    Config + MediaButton + HD | MX | MY | DW | DW1 | DX | PC | RK | MT

    .................................................. ......................................^^


    он ругаиЦЦо

  15. #1270
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,654
    Благодарностей: 2788
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    он ругаиЦЦо
    Кнопка ругается, когда объект с указанным именем отсутствует. Можно подключать объекты к кнопке по одному и таким образом найти лишний:

    Код:
    Config + MediaButton
    MediaButton + HD
    MediaButton + MX
    MediaButton + MY
    MediaButton + DW
    MediaButton + DW1
    MediaButton + DX
    MediaButton + PC
    MediaButton + RK
    MediaButton + MT

  16. Этот пользователь поблагодарил Patron за это полезное сообщение:
    Hunta (26.07.2017)

Страница 127 из 161 ПерваяПервая ... 123124125126127128129130131 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 12
    Последнее: 12.06.2011, 16:38
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 12:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 08:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 17:53

Ваши права

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