User Tag List

Страница 51 из 85 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя
Показано с 501 по 510 из 849

Тема: Пожелания и планы по эмулятору Башкирия-2М

  1. #501

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

    По умолчанию

    Цитата Сообщение от BYTEMAN Посмотреть сообщение
    Только что увидел, что есть эмуляция Арго А фиолетовый цвет в цветном режиме - это взято на основании чего? И, кстати, может ли так быть, что у Арго аналогичная реализация цвета, как и в Юниоре?
    Насчёт цвета - пока не ясно. К сожалению, пока нет ни одной программы для Арго. Вот если бы кто-то нашёл кассету, которая была в стандартной поставке, там был эмулятор ZX-Spectrum, вот тогда бы и с цветом яснее стало, и с портами. Агро достаточно сильно от Юниора отличается, в железном плане.

    Цитата Сообщение от Error404 Посмотреть сообщение
    у тебя регистры identify правильно возвращаются?
    Это откуда кусок кода? В etherdev.c такого нет. RCBR это же просто счётчик, или он после сброса имеет указанное в коде значение?

    Цитата Сообщение от Error404 Посмотреть сообщение
    Под VirtualBox (на "честной" винде не проверял) emu при переключении пропорций в 2:1 такие корки мочит... ... На ПринтСкрин оно не попадает: показать не могу.
    Не надо показывать, я видел Такое происходит, если директ-х-шное окно выходит за пределы виртуального экрана (т.е. достаточно окно эмулятора за границу десктопа подвинуть). Возможно, это фича виртуализации, как с ней бороться - я не знаю.

    ---------- Post added 26.06.2011 at 00:51 ---------- Previous post was 25.06.2011 at 23:40 ----------

    Добавил identify, icmpecho заработало.

    ---------- Post added at 00:51 ---------- Previous post was at 00:51 ----------

    Добавил identify, icmpecho заработало.

  2. #502

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Это откуда кусок кода? В etherdev.c такого нет. RCBR это же просто счётчик, или он после сброса имеет указанное в коде значение?
    Добавил identify, icmpecho заработало.
    Это я добавил, отсебятинка. В etherdev.c меня заинтриговало такое назначение регистров, описывающих буфер отправки и кольцо приема:
    Код:
    #define ETH_TX_PAGE_START  0x40    /* 0x4000 Tx buffer is  6 * 256 = 1536 bytes */
    #define ETH_RX_PAGE_START  0x46    /* 0x4600 Rx buffer is 26 * 256 = 6656 bytes */
    #define ETH_RX_PAGE_STOP   0x60    /* 0x6000 */
    Оно конечно работает, но нафига? Почему не от нуля? Памяти то 16к.
    И самое интересное - все писатели (я с полдюжины проектов на RTL пересмотрел на разных контроллерах) копируют к себе такую инициализацию (у всеx функция init практически один-в-один).
    Последний раз редактировалось Error404; 26.06.2011 в 09:17.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  3. #503

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В-общем, httpd в EMU.EXE не заработало тоже (как и telnetd).
    Может, посмотришь? Мыслей пока нет.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  4. #504

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    В-общем, httpd в EMU.EXE не заработало тоже (как и telnetd).
    Может, посмотришь? Мыслей пока нет.
    Могу предложить новый метод отладки всего этого хозяйства.
    Я скрестил исходники telnet+uIP с моими исходниками эмуляции rtl8019as. И отлаживал уже в IDE.

    Как и следовало ожидать, ничего не заработало. Кроме того, грузит процессор чуть ли не на 100%, но это, в принципе, понятно. Стал копать, выяснил, что в определённый момент отправка/приём деактивируется и больше не активируется. И момент этот - в самом конце приёма пакета. Если, однако, после приёма происходит отправка, то отправка/приём снова реанимируется. Получается, если приняли пакет, и ничего не отправили, то вилы.

    А получается это, потому-что включение страницы регистров ты сделал так:
    Код:
    #define ETHERDEV_REG_PAGE(page) ETHERDEV_REG_WRITE(CR,(page << 6)|RD2|STP)
    А в оригинале было так:
    Код:
    #define ETHERDEV_SELECT_REG_PAGE(page)                                      \
              do                                                                \
              {                                                                 \
                  etherdev_reg_write(CR, etherdev_reg_read(CR) & ~(PS1 | PS0)); \
                  etherdev_reg_write(CR, etherdev_reg_read(CR) | (page << 6));  \
              } while(0)
    Поэтому, после того, как я сделал:
    Код:
    #define ETHERDEV_REG_PAGE(page) ETHERDEV_REG_WRITE(CR,(page << 6) | (ETHERDEV_REG_READ(CR) & 0x3F))
    всё заработало и у меня.

  5. #505

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Могу предложить новый метод отладки всего этого хозяйства.
    Я скрестил исходники telnet+uIP с моими исходниками эмуляции rtl8019as. И отлаживал уже в IDE.

    Как и следовало ожидать, ничего не заработало. Кроме того, грузит процессор чуть ли не на 100%, но это, в принципе, понятно. Стал копать, выяснил, что в определённый момент отправка/приём деактивируется и больше не активируется. И момент этот - в самом конце приёма пакета. Если, однако, после приёма происходит отправка, то отправка/приём снова реанимируется. Получается, если приняли пакет, и ничего не отправили, то вилы.

    А получается это, потому-что включение страницы регистров ты сделал так:
    Код:
    #define ETHERDEV_REG_PAGE(page) ETHERDEV_REG_WRITE(CR,(page << 6)|RD2|STP)
    А в оригинале было так:
    Код:
    #define ETHERDEV_SELECT_REG_PAGE(page)                                      \
              do                                                                \
              {                                                                 \
                  etherdev_reg_write(CR, etherdev_reg_read(CR) & ~(PS1 | PS0)); \
                  etherdev_reg_write(CR, etherdev_reg_read(CR) | (page << 6));  \
              } while(0)
    Поэтому, после того, как я сделал:
    Код:
    #define ETHERDEV_REG_PAGE(page) ETHERDEV_REG_WRITE(CR,(page << 6) | (ETHERDEV_REG_READ(CR) & 0x3F))
    всё заработало и у меня.
    Я, помнится, долго думал над глубоким смыслом этих строк в исходнике, и поскольку такое задание регистров не следует из спецификаци, и более того - далеко не во всех драйверах используется, то "выкинул лишнее".

    Ладно, добавим.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  6. #506

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Я, помнится, долго думал над глубоким смыслом этих строк
    А смысл очень прост - нужно изменить только старшие два бита (номер страницы), а вот другие менять не надо. В оригинале, правда, это сделано слишком уж оригинально

    ---------- Post added at 21:40 ---------- Previous post was at 21:38 ----------

    Конечно, если известно, какие младшие биты установлены, то можно было бы и обойтись без чтения регистра CR. Но тут - общий случай.

    ---------- Post added at 21:42 ---------- Previous post was at 21:40 ----------

    Например, можно запоминать последний вывод в CR в какой-нибудь переменной.

    ---------- Post added at 21:43 ---------- Previous post was at 21:42 ----------

    Но какой смысл? Если эта переменная и регистр CR фактически одно и то-же

  7. #507

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А смысл очень прост - нужно изменить только старшие два бита (номер страницы), а вот другие менять не надо. В оригинале, правда, это сделано слишком уж оригинально

    ---------- Post added at 21:40 ---------- Previous post was at 21:38 ----------

    Конечно, если известно, какие младшие биты установлены, то можно было бы и обойтись без чтения регистра CR. Но тут - общий случай.

    ---------- Post added at 21:42 ---------- Previous post was at 21:40 ----------

    Например, можно запоминать последний вывод в CR в какой-нибудь переменной.

    ---------- Post added at 21:43 ---------- Previous post was at 21:42 ----------

    Но какой смысл? Если эта переменная и регистр CR фактически одно и то-же

    Ну и как тебе Web-сервер? По-моему, мощно!
    Тут и сервер, и стек, и CGI, и файловая система (вместе с файлами) - и все в 18кб. А если на экран ничего не выводить, то и в 16Кб можно влезть. И ведь это не ассемблер, а С!
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #508

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Ну и как тебе Web-сервер? По-моему, мощно!
    А вот его я и не пробовал, ограничился telnet-ом. Ты уже собрал бинарники с обещанным исправлением?

  9. #509

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А вот его я и не пробовал, ограничился telnet-ом. Ты уже собрал бинарники с обещанным исправлением?
    Да. Пересобрал - теперь все работает.
    И перезалил на форум в те же сообщения что и до того.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  10. #510

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

    По умолчанию

    Да, теперь работает, только медленно

Страница 51 из 85 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1034
    Последнее: 29.10.2021, 07:15
  2. Жалобы/пожелания по работе форума
    от Conan в разделе Форум
    Ответов: 6289
    Последнее: 14.03.2021, 00:19
  3. пожелания создателям эмуляторов
    от проф в разделе Эмуляторы
    Ответов: 24
    Последнее: 09.02.2007, 01:31
  4. Пожелания по сервисам форума
    от andrews в разделе Форум
    Ответов: 10
    Последнее: 14.08.2006, 13:47

Ваши права

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