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

User Tag List

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 91

Тема: Обсуждение: Локальная сеть корвет

  1. #41
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Существует несколько вариантов программных эмуляторов корвета. Если к одному из них прикрутить поддержку сетевого адаптера, то можно собрать сеть из реального корвета и эмулятора, и развлекаться с ней сколько угодно.

    Я тут порылся в здешних корветовских темах и нашел ссылку на исходные тексты одного из эмуляторов - korvet-v092.src (изнутри они обзываются ETALON Korvet Emulator). Программа написана простым понятным языком, для сборки используется обыкновеннейший GCC, а для общения с внешним миром программа использует кроссплатформенную библиотеку Allegro. Сейчас попробую собрать ее в своей системе. Если соберется - можно сделать удобный инструмент для исследования сетевых программ.
    ой, это как раз мой эмулятор
    я даже репозиторий сделал, но только перевел в unicode и на это всё
    https://bitbucket.org/esl/korvet-pk8020-emulator

    Он то соберется, только там в аллегре что-то поменялось, надо допиливать
    как-то пробовал собирать, что-то было с клавой

    я то не сильно программист, если ты его собереш - это будет просто супер
    есть даже мысли куда пилить, но сеть - было бы супер!

    кстати в B2M есть попытка сделать сеть корвета, но на очень успешно, не хватало информации, теперь может и можно уговорить b2m допилить.

  2. #42
    Moderator Аватар для BYTEMAN
    Регистрация
    11.01.2006
    Адрес
    Брест/Минск
    Сообщений
    8,394
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    179
    Спасибо Благодарностей получено 
    115
    Поблагодарили
    57 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а разве не esl автор эмулятора?
    С уважением, Александр.
    Scorpion ZS-256 Turbo+ GMX-2048
    SID-Blaster/ZX
    Музей ретрокомпьютеров в Минске!
    Здесь ничего нет => http://byteman.by
    И здесь тоже --->>> http://bytespace.by

  3. #43
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    ой, это как раз мой эмулятор
    я даже репозиторий сделал, но только перевел в unicode и на это всё
    https://bitbucket.org/esl/korvet-pk8020-emulator
    А, так ты же и есть Сергей Ерохин. Ну тогда просто шикарно. Спасибо тебе, у тебя хороший прозрачный стиль написания программ. После всего того говна, в котором приходится по работе ковыряться, это просто луч света.
    Код:
    Он то соберется, только там в аллегре что-то поменялось, надо допиливать
    как-то пробовал собирать, что-то было с клавой
    Он вполне себе собрался полчаса назад с Allegro 4.4 из репозитория дебиана. Правда, о твоем репозитории я не знал, собирал из выложенных исходников. Вообщем, после некоторых правок и переделки Makefile все собралось. Работает. Остались такие проблемы:

    - не работает полноэкранный режим. Точнее говоря, при входе в этот режим мой монитор отказывается показывать картинку. Видимо, аллегровский драйвер выставляет рефреш больше 60 Гц в режиме 640*480. Вставка вызова request_refresh_rate(60) сходу не помогла, и, поскольку с аллегро я раньше дело не имел, проблема пока повисла. Попробую попозже с другим монитором. В окошке все работает, только вот на экране 1920*1080 это окошко уж больно мелко смотрится

    - не работают кнопки shift, ctrl и вообще весь нижний ряд корветовской клавиатуры. То есть кавычку не введешь. В твою реализацию моудля клавиатуры я пока не вникал. Но придется - без кавычки и старших F-кнопок многие вещи не сделаешь.

    Вот вроде пока и все. Первый пункт несущественен, со вторым пока потерпит. Есть вещи поинтереснее. У тебя уже реализовано почти все для поддержки сети - есть модули LAN_read и LAN_write для эмуляции регистров контроллера, и они даже вызываются. Осталось приделать туда собственно работу с последовательным портом, ну и вызов прерывания по приходу байта из сети. Этим я сейчас и занмаюсь. Вот и нашел я себе интересную игрушку на отпуск...

    кстати в B2M есть попытка сделать сеть корвета, но на очень успешно, не хватало информации, теперь может и можно уговорить b2m допилить.
    B2M - это, как я понял, такой универсальнейший эмулятор различных советских компов. Он чисто виндовый, к сожалению, исходников нет, уговаривать кого-либо заняться программированием мне не особо охота. Предпочитаю писать сам - так удобнее, всегда есть возможность сразу реализовать возникающие идеи. Так что давай лучше твой эмулятор доведем до работы с сетью.

  4. #44
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    А, так ты же и есть Сергей Ерохин. Ну тогда просто шикарно. Спасибо тебе, у тебя хороший прозрачный стиль написания программ. После всего того говна, в котором приходится по работе ковыряться, это просто луч света.
    спасибо на добром слове
    там хватает всякого, но я старался

    Цитата Сообщение от forth32 Посмотреть сообщение
    - не работает полноэкранный режим.

    Попробую попозже с другим монитором. В окошке все работает, только вот на экране 1920*1080 это окошко уж больно мелко смотрится
    на имхо полноэкранные не нужен, это атавизм, без него точно жить можно.
    а с мелким экраном, имхо решаемо маштабированием
    хотя я под виндой так и использую.

    Цитата Сообщение от forth32 Посмотреть сообщение
    - не работают кнопки shift, ctrl и вообще весь нижний ряд корветовской клавиатуры. То есть кавычку не введешь. В твою реализацию моудля клавиатуры я пока не вникал. Но придется - без кавычки и старших F-кнопок многие вещи не сделаешь.
    ага, я про это и писал, но там думаю не сильная проблемма должна быть

    Цитата Сообщение от forth32 Посмотреть сообщение

    Вот вроде пока и все. Первый пункт несущественен, со вторым пока потерпит. Есть вещи поинтереснее. У тебя уже реализовано почти все для поддержки сети - есть модули LAN_read и LAN_write для эмуляции регистров контроллера, и они даже вызываются. Осталось приделать туда собственно работу с последовательным портом, ну и вызов прерывания по приходу байта из сети. Этим я сейчас и занмаюсь. Вот и нашел я себе интересную игрушку на отпуск...
    это было бы просто супер!

    еще бы тогда допилить эмуляцию "виртуальной" сети
    для N+1 эмулятора

    Цитата Сообщение от forth32 Посмотреть сообщение
    Так что давай лучше твой эмулятор доведем до работы с сетью.
    я только за, было бы неплохо завести общей репозиторий, могу дать права на тот если устроит.

  5. #45
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    на имхо полноэкранные не нужен, это атавизм, без него точно жить можно.
    а с мелким экраном, имхо решаемо маштабированием
    хотя я под виндой так и использую.
    Не, у меня слишком мелкое окно на экране получается. Тяжело всматриваться. А аллегро поддерживает масштабирование? Надо бы мне доку по нему почитать с allegro.cc, вот вечерком пивка возьму и изучу. Заодно насчет клавиатуры подумаю.
    еще бы тогда допилить эмуляцию "виртуальной" сети
    для N+1 эмулятора
    Это все легко решается механизмом псевдотерминалов, ну или вообще любой реализацией виртуального компорта.

    я только за, было бы неплохо завести общей репозиторий, могу дать права на тот если устроит.
    Я бы не хотел портить твой оригинальный репозиторий. Все-таки мой стиль программирования отличается от твоего, тебя это не напрягает? Ну и, потом, потеряется полная совместимость с виндой. Мне ее проверить не на чем, да и не особо хочется.
    Может, стоит форкнуть твой репозиторий, а ты потом бекпортируешь оттуда к себе мои модификации? Просто я уже изменил кое-какие твои файлы, и даже уже не вспомню что именно и где менял. Но как минимум Makefile под линукс и винду точно нужно делать разные.

  6. #46
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я бы не хотел портить твой оригинальный репозиторий. Все-таки мой стиль программирования отличается от твоего, тебя это не напрягает? Ну и, потом, потеряется полная совместимость с виндой. Мне ее проверить не на чем, да и не особо хочется.
    Может, стоит форкнуть твой репозиторий, а ты потом бекпортируешь оттуда к себе мои модификации? Просто я уже изменил кое-какие твои файлы, и даже уже не вспомню что именно и где менял. Но как минимум Makefile под линукс и винду точно нужно делать разные.
    прекрасный вариант
    более чем устраивает
    я сейчас тоже под линуксом, так что очень удачно.

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

  8. #47
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообщем, я закончил первый, черновой вариант базовой поддержки сети. Базовая - потому что эмуляция сетевого адаптера далеко не полная. То есть настройка режима работы ВВ51 через командный порт не реализована - режим жестко задан как 19200-8-О-1. С другой стороны, а надо ли точно эмулировать этот ВВ51? Вот для ИРПС порта - другое дело.
    Собственно, эмулируются пока только чтение из сети, запись в сеть, проверка готовности приемника (передатчик готов всегда) и прерывание от сети.

    В файл конфигурации я добавил 2 параметра - LANADDR, то есть адрес РМУ в сети, и LANPORT, указывающий имя последовательного устройства, например /dev/ttyS0. Программа открывает этот порт, и взаимодействует через него с подключенным к нему реальным корветом. Как вариант, предусмотрена работа с виртуальными компортами (псевдотерминалами) - если указать LANPORT=/dev/ptmx, то будет создан подчиненный вторичный компорт, имя которого показывается на консоль при старте, например -

    Код:
    forth32@cad ~/korvet/kemu $ ./kdbg 
    
    Последовательный порт /dev/ptmx открыт, fd=5
    Подчиненный псевдотерминал - /dev/pts/3
    Driver: ALSA
    Этот вторичный компорт можно открыть, например, моей программой KL. Ну или запустить еще одну копию эмулятора и указать его в LANPORT.

    Итак, программа STS в эмуляторе работает полностью. Я ее, кстати, впервые увидел в работе. Уродство редкостное. Спрашивает подтверждение на каждый чих. За такое в комплекте КУВТ надо оба яйца с корнем отрывать. Поскольку STS привязана к NETLIB, в CP/M она не работает. А с микродосом возникла проблема - в большинстве микродосов в эмуляторе не работает клавиатура. На реальном корвете работает, а тут - нет. И не поймешь где виснет - отладчик в эмуляторе требует полноэкранный режим и мне, соответственно, недоступен. Единственный рабочий микродос оказался на диске de_9_01.kdi.
    Программа нашла мой реальный корвет, определила его адрес, позволила передать-принять данные. Кстати, на РМУ при этом вывдится текст "Работа прервана загрузкой программы" - хорошая идея, надо ее ко мне в программу вставить.
    Попробовал я CP/N. Он передал клиентскую часть на корвет, она там запустилась и выдала A>, но по первой же команде повисла намертво. КОРНЕТ виснет при загрузке с дискеты, СФЕРА требует сетевой диск B, подробнее я не разбирался.

    Теперь о проблемах. Во-первых, в обратную сторону сеть работать не хочет. То есть когда реальный корвет - сервер, а эмулятор - РМУ. Похоже, теряются прерывания. То есть PIC_IntRequest(3) не вызывает прерывания. Тут придется посидеть в GDB, поотлавливать этот момент. Ну и с псевдотерминалом тоже есть проблема:

    Код:
    forth32@cad ~/korvet/lan $ ./kl -d /dev/pts/3 -vbp -s0 -l100
    
     @ Послан адрес
     @ Послана команда запроса данных типа 3
     + Прием данных:
     - Принят пакет типа N - прерываем прием данных
     - Данные не получены
    То есть эмулятор принимает адрес, и даже пытается отреагировать на команду, но отвечает N. Тут я еще заметил, что через псевдотерминал обмен идет ОЧЕНЬ быстро - понятно, что тут скорость не ограниченна 19200, и очень похоже что эмулятор просто не успевает за потоком данных. Надо разбираться с буферизацией и управлением потоком.

    Ладно, для первого дня и так неплохо. Поскольку насчет репозиториев мы еще не договорились, выкладываю свои труды на яндексдиск - http://yadi.sk/d/9kivUREpRRam3
    Все равно это очень временный файл.

    Но все еще впереди. Разберемся с прерываниями, согласованием потоков данных, клавиатурой - будет отличная игрушка.

  9. #48
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Итак, программа STS в эмуляторе работает полностью. Я ее, кстати, впервые увидел в работе. Уродство редкостное. Спрашивает подтверждение на каждый чих. За такое в комплекте КУВТ надо оба яйца с корнем отрывать. Поскольку STS привязана к NETLIB, в CP/M она не работает. А с микродосом возникла проблема - в большинстве микродосов в эмуляторе не работает клавиатура. На реальном корвете работает, а тут - нет. И не поймешь где виснет - отладчик в эмуляторе требует полноэкранный режим и мне, соответственно, недоступен. Единственный рабочий микродос оказался на диске de_9_01.kdi.
    про отрывать - очень точные слова
    по этому народ и стал писать "заменители"

    по поводу микродоса
    у него тяжкая судьба была

    есть 3 типа микродосов
    для ОПТС 1.x
    для ОПТС 2.x
    для ОПТС 1.x и ОПТС 1.x

    первый и второй можно скачать http://pk8020.narod.ru/s2-download-soft.html
    разница там следующая
    в микродос используется опрос клавиатуры из ПЗУ (в CP/M он свой)
    причем в ОПТС 1 он работает по вызову функции
    а в ОПТС 2 по прерываниям
    соответсвенно и "биос" микродоса должен это учитывать
    и соответственно не работает неправильная версия
    и еще мелочь, в ОПТС1 в конфигурации памяти нет АЦЗУ
    а в ОПТС2 оно есть (как и в CP/M)
    в этом смысле ОПТС2 ближе к CP/M, по крайней мере кое что из CP/M софта которые лезет прямо в экран - работает

    кстати в микродос этих версий нет рамдиска

    и есть 1 (одина) версия, которая проверяет на какой ОПТС она запустилась и патчит себя
    кроме того в ней есть драйвер рамдиска
    /td0/MIKRDOS3.KDI

    кстати, в эмуляторе то нужнуй ром в конфиге выбрать можно
    ты как раз и нашел Микродос для ОПТС2


    под cp/m есть Postman
    \DmitriyKrautsov\Unsorted\unsort06.kdi
    \DmitriyKrautsov\Unsorted\unsort18.kdi






    c ОПТС 1.x был свой микродос

    ---------- Post added at 20:06 ---------- Previous post was at 19:04 ----------

    клавиатура вроде починилась

    в keyboard.c

    заменить
    Код:
      for (i=0;i<MAXKEY;i++)      {KeyAlias[i]=key[i];}
    на
    Код:
      for (i=0;i<KEY_MAX;i++)      {KeyAlias[i]=key[i];}

  10. #49
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    324
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение

    в микродос используется опрос клавиатуры из ПЗУ (в CP/M он свой)
    То есть при обращении к клавиатуре происходит переключение карты памяти с включением ОПТС, а потом обратно? Ну, сэкономили пару-другую сотен байтов биоса, однако. Только вот непонятно почему некоторые микродосы не работают в эмуляторе но работают на реальном корвете с ОПТС2 на борту. Хотя хрен с ними, мне и одного рабочего микродоса более чем достаточно.

    и еще мелочь, в ОПТС1 в конфигурации памяти нет АЦЗУ
    а в ОПТС2 оно есть (как и в CP/M)
    То есть для вывода каждого байта на экран опять-таки переключают карту? имхо вот это уже идиотизм. Ради экономии килобайта памяти такие накладные расходы...

    Я смотрю, ты плотно копал микродос. Скажи вот тогда, он устроен так же, как и CP/M, то есть BIOS+BDOS+CCP ? Мне просто непонятно, почему некоторые программы лезут к терминальному драйверу напрямую по адресам Exxx вместо обращений через точку входа BDOS.

    и есть 1 (одина) версия, которая проверяет на какой ОПТС она запустилась и патчит себя
    кроме того в ней есть драйвер рамдиска
    Похоже, что я на эту версию и нарвался. Правда, попробовать рамдиск не получилось - из-за отсутствия шифта не могу ввести знак =. А на реальном моем корвете ГЗУ 48К, там не будет рамдиска.

    под cp/m есть Postman
    Попробовал его. БЛИН! Это же небо и земля! Нормальный оконный интерфейс, и работает как часы. Все передается и принимается.

    Под такое дело попробовал соединить 2 эмулятора через виртуальный терминал. Как ни странно, все более-менее заработало. И передача в эмулятор, и прием другим эмулятором. То есть и прерывания не теряются. Правда, возникают иногда ошибки передачи, но с этим разберемся как-нибудь. А вот CP/N отказалась работать полностью. Если на реальный корвет хотя бы ОС заливается, то тут принимающий эмулятор просто виснет. Ну да ладно, пока и так неплохо.

    Пора заняться изучением аллегро.

  11. #50
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    клавиши в отладчике сегодня постараюсь глянуть

    начну переносить в bitbucket

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Локальная Wiki: обсуждение
    от CityAceE в разделе Форум
    Ответов: 103
    Последнее: 10.03.2022, 12:39
  2. Сеть MSX-1
    от Eugeny в разделе MSX
    Ответов: 36
    Последнее: 23.02.2020, 20:55
  3. Сеть в КУВТах
    от CodeMaster в разделе ДВК, УКНЦ
    Ответов: 8
    Последнее: 04.02.2017, 11:25
  4. Локальная сеть корвет
    от forth32 в разделе Корвет
    Ответов: 9
    Последнее: 04.07.2014, 00:29

Ваши права

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