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

User Tag List

Страница 6 из 6 ПерваяПервая ... 23456
Показано с 51 по 59 из 59

Тема: Эмуляция сети

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

    По умолчанию

    Цитата Сообщение от anasana Посмотреть сообщение
    Теперь что бы понять как это заюзать нужно перетащить всё с Паскаля в Студию на VС .
    Не знаю как насчет именно в VC, но в синтаксисе С в исходниках это все есть в эмуляторе Q-Emu (я вприглядку туда писал). Я себе задачу ставил противоположную: для понятности максимально упростить (в исходниках Q-Emu из-за интеграции собственно с остальным Q-Emu в этом модуле много лишних сложностей)

    Цитата Сообщение от anasana Посмотреть сообщение
    "Enumerator" под в Вин7 судя по всему не отработал (выпадающее меню Connections пустое, в ХРхе всё есть).
    Я для простоты просто из реестра читаю. В винде7 видимо это в другом месте. Надо значит делать более сложный енумератор.

    Цитата Сообщение от anasana Посмотреть сообщение
    Теперь что можно с этим сделать... на машинке уже есть лан-сеть 192.168.0.100, я поставил драйвер TAP, запускаю TestEth.exe при нажатии на кнопку "Start Process Packets" новому TAP интерфейсу "даётся кабель" и присваивается адрес 169.254.154.131, я с этой машины могу его пинговать, а при попытке пропинговать с соседнего компа (lan адрес 192.168.0.222), тот комп в котором есть ТАР (+ lan адрес 192.168.0.100) отвечает, что недоступен.
    ТАР-адаптер видимо пытается получать адрес по DHCP, и не получив (оно и понятно - адаптер пока что обособлен от всего) назначает себе автоконфигурируемый IP 169.254.154.131. Соотвтетсвнно в testeth.exe в поле IP-адреса перед выполнением "Start Process Packets" надо назначить IP-адрес из этой же сети (типа 169.254.154.135) и маску такую же). Или для ТАР-адаптера установить фиксированный IP как 172.20.0.13 (к примеру) - т.е. одно из двух, но чтобы и testeth.exe и ТАР-адаптер логически были в общем сегменте IP-сети (физически они и так, понятно, в общем сегменте - типа как кросовером соединены). Тогда из Винды можно будет пинговать IP-адрес, назначенный в testeth.exe. Снаружи ни адрес testeth.exe ни адрес ТАР-адаптера пинговать нельзя, если в Винде не включен форвардинг пакетов (т.е. между реальным адаптером и TAP-адаптером). Также чтобы выпустить эмулятор "наружу" есть вариант с бриджем - когда ТAP и реальный адаптер объединяются в общее (единое) метаустройство с единственным IP (единым), но это уже совсем другая история.

    Цитата Сообщение от anasana Посмотреть сообщение
    Какие варианты доступа вообще можно придумать, кроме как по IP, вообще в будующем интересует вывод сетевой которая в эмуляторе должна откликаться как "узел" DecNET.
    В testeth.exe любые протоколы можно нарисовать, в т.ч. и "узел" DecNET. Она получает сырые пакета уровня Layer2 - это в модуле EthThrd.pas. Если посмотришь, дальше в файле Unit1.pas написан самый начальный уровень стека TCP (столько, сколько по минимуму надо чтобы описать ICMP echo reply). Если вместо него написать инкапсуляцию содержимого пакетов по правилам стека DecNET, то это будет эмулятор "узла" DecNET.

    Если же есть реальный эмулятор, то DecNET будет эмулировать сам VAX-код в эмуляторе (самому писать стек не надо будет) - надо только правильно (через эмуляцию Ethernet-чипа/контроллера) предоставить VAX-коду доступ к этим самым сырым пакетам уровня Layer2 (т.е. тогда интерес будет представлять только модуль EthThrd.pas и его интеграция в готовый эмулятор через эмуляцию Ethernet-чипа).
    Последний раз редактировалось Error404; 13.05.2011 в 00:28.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Исходник я уже поместил в архив. Если кто-то из реальщиков сможет подключить ISA-карту (и не спалить комп), то будет вообще замечательно. А я могу к любому из эмулируемых компов прикрутить.
    b2m, а ты ассемблерный примерчик на основе чего делал? Есть какое-то хавту "программируем rtl8019"? Этого же нет в фирменной спецификации на чип.
    Просто я пытаюсь понять что в этом примере к чему, накладывая на фирменную спецификацию, и местами недопонимаю: в исходничке непонятно зачем некие биты в командах дергаются, а некоторые наоборот недодергиваются (если сравнивать с исходниками драйверов на rtl8019, которые удалось найти по инет-помойкам).
    Последний раз редактировалось Error404; 17.05.2011 в 15:56.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  3. #53
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, я же сначала эмуляцию rtl8019as сделал, а уж потом писал примерчик, чтобы мой rtl8019as заработал. Фактически, этот пример, может быть, нигде кроме моего эмулятора и не заработает. Цель примерчика была иная - проверить, правильно ли я сделал работу с TAP-драйвером.

    Я нагуглил какую-то другую доку по NE2000-совместимому чипу (DP83901A), там подробно рассказывается, как работает сетевая карта.

    Реальный пример можно взять из софта для ObsoNET на MSX. Я, кстати, пробовал запускать ихний софт в своём эмуляторе. Результат был, вобщем-то, не очень. Я всякие loopback-и не стал пока делать (не разобрался окончательно), а они, похоже, используют эту фичу, чтобы MAC-адрес адаптера получить (при инициализации). Пришлось сделать костыль, чтобы ихний софт всё-таки получил MAC-адрес, заданный для адаптера в конфиге. Потом ещё какой-то бит статуса пришлось подкорректировать. Зато после всех манипуляций ихний аналог telnet-а заработал у меня в эмуляторе! Другой софт, правда, не работает. То ли оттого, что у меня в эмуляторе только первая версия msx dos, то ли где-то глюк в эмуляции. Но главное, это то, что ихний TCP/IP стек и драйвер ObsoNET работает с моей версией rtl8019as.

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Error404, я же сначала эмуляцию rtl8019as сделал, а уж потом писал примерчик, чтобы мой rtl8019as заработал. Фактически, этот пример, может быть, нигде кроме моего эмулятора и не заработает. Цель примерчика была иная - проверить, правильно ли я сделал работу с TAP-драйвером.

    Я нагуглил какую-то другую доку по NE2000-совместимому чипу (DP83901A), там подробно рассказывается, как работает сетевая карта.

    Реальный пример можно взять из софта для ObsoNET на MSX. Я, кстати, пробовал запускать ихний софт в своём эмуляторе. Результат был, вобщем-то, не очень. Я всякие loopback-и не стал пока делать (не разобрался окончательно), а они, похоже, используют эту фичу, чтобы MAC-адрес адаптера получить (при инициализации). Пришлось сделать костыль, чтобы ихний софт всё-таки получил MAC-адрес, заданный для адаптера в конфиге. Потом ещё какой-то бит статуса пришлось подкорректировать. Зато после всех манипуляций ихний аналог telnet-а заработал у меня в эмуляторе! Другой софт, правда, не работает. То ли оттого, что у меня в эмуляторе только первая версия msx dos, то ли где-то глюк в эмуляции. Но главное, это то, что ихний TCP/IP стек и драйвер ObsoNET работает с моей версией rtl8019as.
    Понятно. А после корректировки эмуляции rtl8019as, твой тутошний пример работает?

    Я пытаюсь найти готовый пример, под который подгоню эмуляцию чипа. Т.к. голая спецификация оставляет слишком обширный полет для фантазии.
    Соответственно, интересует поправленный пример, а то я там такого наподгоняю.
    У меня есть на С примеры, но на асм было бы удобнее (его трассировать удобнее).

    Во вложении наиболее читабельно оформленный примерчик драйвера rtl8019 из тех что попадались мне, как раз для режима без ДМА и прерываний - для режима поллинга (который, кстати, они делают через опрос регистра ISR, а не по указателям буфера, - может и в ObsoNET так же?). Но опять же - это С. Его еще сначала надо странслировать, и шагать неудобно (в CP/M нет source-level отладчиков для С).

    Вот где написано, что poll надо делать на регистре ISR? Во всех драйверах делают именно так. Но в спеке про это явно не пишут. Значит, где-то есть мануал по применению чипа именно с точки зрения его программирования. Вот такой мануал и хотелось бы найти. А то потом можно долго будет гадать отчего в эмуляторе моя писанина заработает, а на реале - нет.
    Вложения Вложения
    Последний раз редактировалось Error404; 17.05.2011 в 18:40.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  5. #55
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Понятно. А после корректировки эмуляции rtl8019as, твой тутошний пример работает?
    А что ему сделается то, конечно работает

    Цитата Сообщение от Error404 Посмотреть сообщение
    Соответственно, интересует поправленный пример, а то я там такого наподгоняю.
    Во-во. Может не стоит ориентироваться на мой пример?

    Цитата Сообщение от Error404 Посмотреть сообщение
    Его еще сначала надо странслировать, и шагать неудобно (в CP/M нет source-level отладчиков для С)
    Вот, кстати, тоже интересная задачка. А нет ли кросс-компиляторов для i8080/Z80, которые бы отладочную информацию выдавали? В идеале, хотелось бы какой-нибудь source-level отладчик к эмулятору прикрутить.

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Я нагуглил какую-то другую доку по NE2000-совместимому чипу (DP83901A), там подробно рассказывается, как работает сетевая карта.
    Кое-что можно почерпнуть здесь:
    "Networking and internetworking with microcontrollers" By Fred Eady

    читаю на ночь, засыпаю почти мгновенно.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Кое-что можно почерпнуть здесь:
    "Networking and internetworking with microcontrollers" By Fred Eady

    читаю на ночь, засыпаю почти мгновенно.
    Допилил таки и я свой эмулятор до эмуляции RTL8019AS.
    Примерчик от b2m под CP/M пингуется.
    Что дальше делать будем?
    Что наиболее перспективно для портирования? Особенно по критерию простоты реализации и естественно наличия исходников.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #58
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Что наиболее перспективно для портирования? Особенно по критерию простоты реализации и естественно наличия исходников.
    Цитата Сообщение от Error404
    А все это obso* - оно в исходниках?
    Насколько сложное, привязано ли к MSX? Как оно будет в плане портируемости на другие 8-битки под CP/M (при наличии там rtl8019)?
    Можно ознакомится с исходниками INL (они есть на sourceforge). Исходники утилит - прямо на сайте konamiman-а.

    Те, что написаны исключительно для MSXDOS2 надо будет адаптировать, т.к. они используют "новые" функции, которых нет в CP/M.

    Зато некоторые исходники на С, ты это любишь

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Можно ознакомится с исходниками INL (они есть на sourceforge). Исходники утилит - прямо на сайте konamiman-а.

    Те, что написаны исключительно для MSXDOS2 надо будет адаптировать, т.к. они используют "новые" функции, которых нет в CP/M.

    Зато некоторые исходники на С, ты это любишь
    Посмотрел по диагонали.
    Исходники на C заточены под SDCC, его я как раз и не люблю.
    В принципе не беда, можно было бы адаптировать.
    Странно, а на MSX что - нет нормального нативного С-компилятора, что разработка ведется на РС?

    Исходники INL на АSM конечно убили. Слабо откоментированы, и 250кб исходника резидента (плюс сколько-то нерезидента) - это конечно перебор чтобы вот так вот снаскоку всё порешать (как я люблю). А что за компилятор ассемблера они используют? Явно не M80\L80. Тож PC-версию какую-нибудь?

    Поэтому решил пока ковырять uIP - он очень хорошо описан. Хотя по логике строения программ он мне не нравится - вариант от MSX как-то симпатичнее (и более лег бы как на архитектуру Ориона, так и на ZX). Но в привязках к архитектуре MSX я, боюсь, зароюсь, поэтому пока будем по принципу "лучшее враг хорошего" - ковырять uIP.
    Последний раз редактировалось Error404; 20.02.2018 в 12:30.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

Страница 6 из 6 ПерваяПервая ... 23456

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

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

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

Похожие темы

  1. Гейтование в FTN-сети
    от CityAceE в разделе Форум
    Ответов: 12
    Последнее: 31.12.2006, 08:19
  2. Soccer managers по сети!
    от Addison в разделе Игры
    Ответов: 4
    Последнее: 26.03.2006, 17:09

Ваши права

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