[sisyphus] Эмулятор БК (объявление)

Denis A. Yurashkou =?iso-8859-1?q?dayfuaim_=CE=C1_msx=2Eru?=
Сб Апр 2 09:51:57 MSD 2005


'Вячеслав Диконов' wrote on 01.04.2005 23:30:
> В Птн, 01/04/2005 в 12:42 +0400, Denis A. Yurashkou пишет: 
> 
>>'Вячеслав Диконов' wrote on 01.04.2005 08:08:
>>
>>>По просьбам общественности из рассылки о Сизифе :) 
>>>выложен в incoming ностальгический пакет с эмулятором
>>>БК-0010/БК-0011М и ... американской БК - TERAK ! 
>>>Прошу любить и жаловать :)
>>>
>>>Странички проекта:
>>>http://mailcom.com/bk0010/
>>>http://sourceforge.net/projects/bk-terak-emu/
>>>
>>>Несколько дисков для БК с осями и игрушками (маловато)
>>>http://bk0010.leob.com/
>>>У меня есть большой архив (почти полный CD). Если меня уговорите, то
>>>тоже упакую или пришлю. Также есть большая часть подшивки ПК-БК.
>>>
>>>Кое-что можно найти в сети. Десяточникам рекомендую посмотреть на 11М и
>>>16-цветные гульки. А спектрумисты пусть гуляют 8-/.
>>>
>>>О глюках: эмуляция TERAK может не работать (нужны прошивки и
>>>программы). В некоторых случаях не слышно COVOX (и тогда лучше включить
>>>AY). Из-за странной непойманной ошибки некоторые игры (Attack to
>>>earth :( ) думают, что постоянно нажата кнопка джойстика. И самое
>>>обидное - не работает Киберноид. Нет планируемой эмуляции винчестера,
>>>так что увидеть систему OSA-WASP (требует HALT-расширитель) не
>>>получится. 
>>>
>>>Для загрузки переименуйте образы дискет в A.img, B.img, C.img и D.img.
>>>Они ищутся в текущем каталоге. Ждать графической оболочки выбора образов
>>>дискет и конфигурации, пока я разберусь в загадках форкания перловых
>>>скриптов может оказаться скучно...
>>>
>>
>>Блин (прошу прощения за эмоцию)... Как классно! :)
>>Супер-спасибо!
>>
>>Живы наши, живы. :)
>>
>>"..И сейчас живее всех живых."
>>
>>P.S.: С Perl могу помочь.
> 
> Да у меня стандартная проблема, но найти хорошее решение никак не могу:
> 
> Для разных задач нужны скрипты-оболочки. Нужно 
> 
> а) Perl-Tk, как правило Windows
> Задача: Расфоркать выполнение одного скрипта и передавать данные (текст)
> из дочернего процесса в родительский через пайп или еще как-нибудь. 
> 
> Проблема: _Это должно работать в ActivePerl_. Я сделал это в Линуксе
> двумя способами (open -| и fork), но в винде оба варианта роняют кривой
> интерпертатор. несмотря на заверения ActivePerl.об эмуляции fork().
> Рекомендуемый же способ эмуляции open -| в ActivePerl не падает, но
> страдает описанной в случае б) болезнью. 
> 
> 
> б) perl-GTK2, только Линукс.
> Задача: запустить долго выполняющийся чужой perl-скрипт и синхронно
> получать и обрабатывать от него вывод на stdout и stderr. 
> 
> Проблема: запущенный консольный скрипт долго выполняется и изредка
> выдает сообщения с помощью print "text\n";
> 
> Их нужно показывать или обрабатывать "в реальном времени" по мере
> поступления. 
> 
> Вот этот код взят из FAQ по perl-GTK2:
> 
> #!/usr/bin/perl -w
>    use strict;
>    use Gtk2 -init;
>    my $window = Gtk2::Window->new;
>    $window->set_default_size(400,300);
>    my $scroll = Gtk2::ScrolledWindow->new;
>    my $textview = Gtk2::TextView->new;
>    my $buffer = $textview->get_buffer;
>    $window->add ($scroll);
>    $scroll->add ($textview);
>    $window->show_all;
>    $window->signal_connect (destroy => sub { Gtk2->main_quit });
> 
>    open(IN, q^./tst.pl -|^) or die "Failed running perl subprocess\n";
> 
>    Glib::IO->add_watch ( fileno(IN), ['in', 'hup'], sub {
>            my ($fileno, $condition) = @_;
>            if ($condition eq 'hup') {
>                    warn "done\n";
>                    close IN;
>                    return 0;  # uninstall
>            }
>            warn "reading...\n";
>            my $line;
>            sysread IN, $line, 1024;
>            warn "read $line\n";
>            $buffer->insert($buffer->get_end_iter, $line);
>            return 1;
>    });
> 
> Он работает неверно. Вместо появляющихся постоянно через приблизительно
> равные промежутки времени сообщений долго ничего не происходит, а затем
> все строки мгновенно появляются вместе одним комом. Мешает дурная
> буферизация.  (C fileevent из perl-TK в этом месте все работает как
> следует.) 
> 
> 
> На самом деле мне очень нужны работающие примеры или ссылки на них. 
> Буду очень рад, если удастся их найти, так как сам никак не могу обойти
> происходящие в обоих случаях глюки. Это поможет и написанию запускалки
> эмулятора.
ОК. На выходных поиграемся с ActivePerl-ом.
Попробую его уломать.
-- 
----------------
Best regards, Denis A. Yurashkou [DAY]
(dayfuaim на msx.ru)

Origin: Stop the World -- I Wanna Get Off!..



Подробная информация о списке рассылки Sisyphus