vak: (Default)
[personal profile] vak
Вытащил на свет божий несколько старых разработок.
Тесей - это такой отечественный аналог PIC16С84. Мухомор на крышке гроба советского компьютеростроения. :(

Date: 2006-08-13 16:58 (UTC)
From: [identity profile] spamsink.livejournal.com
ПИКа там нет, но видал (http://tack.sourceforge.net/)? Наконец-то я нашел что-то приличное для PDP-11.

Date: 2006-08-15 16:36 (UTC)
From: [identity profile] spamsink.livejournal.com
GCC, который я видел - совсем неживой, хуже того, который в BSD 2.11.

1806ВМ2 понятно, куда вставлять - в какую-нибудь плату-прототип с FPGA и кучей интерфейсов.

Date: 2006-08-16 01:46 (UTC)
From: [identity profile] spamsink.livejournal.com
В БК-0010 нет прерываний от таймера (в 0011 - есть), поэтому вытесняющей многозадачности все равно не получится. УКНЦ приобрести, конечно, хорошая идея, но я о нем ничего не знаю, и по нему документации меньше, чем по БК-0010/11.

Date: 2006-08-16 17:17 (UTC)
From: [identity profile] spamsink.livejournal.com
Работать работает, а код какой генерит? Omit-frame-buffer умеет? (Я пробовал довольно давно, может, сейчас улучшили.) Эмуляторов есть много, SIMH меня устраивал, он много всяких хардверных конфигураций умеет. Но тебе же framebuffer понадобится?

БК-0011 мне брат в Москве купил года два назад. Думаю, что еще можно найти.

Date: 2006-08-16 21:50 (UTC)
From: [identity profile] spamsink.livejournal.com
Кстати, знаешь ли ты, что существует юниксоподобная система программирования на С для Apple ][? Помещается на один 140 Кб флоп, содержит стандартный набор (скрипт cc, вызывающий препроцессор (pp) в token-stream, собственно компилятор (hyperc), ассемблер (as), линкер (ld), имеется s.o, libc (разве что без суффикса), ar, std.h и т.п. В шелле команда выдачи каталога диска - не dir или по-эппловски cat[alog], как можно было бы предположить, а именно ls. Диски, впрочем, все равно a: и b:

Date: 2006-08-16 22:04 (UTC)
From: [identity profile] spamsink.livejournal.com
Если тебе удастся заставить его скомпилировать *a++ == *b++ во что-нибудь, хотя бы отдаленно напоминающее cmp (r1)+, (r2)+, свистни.

Date: 2006-08-18 04:21 (UTC)
From: [identity profile] spamsink.livejournal.com
Если гнаться за компактностью кода (а для PDP-11, и тем более БК это скорей всего необходимо), то без BSD C компилятора не обойтись, мне кажется.

Date: 2006-08-19 15:16 (UTC)
From: [identity profile] spamsink.livejournal.com
Что GCC лучше компилирует очень длинные функции, неудивительно; нужно попробовать более похожую на ядро системы смесь.

У тебя PCC из BSD или более старый? Пришли тот regexp() мне, я попробую.

Date: 2006-08-21 23:50 (UTC)
From: [identity profile] spamsink.livejournal.com
gcc -Os -fomit-frame-pointer = 4062 !
ack -O3 = 4004 !!!

Date: 2006-08-22 15:08 (UTC)
From: [identity profile] spamsink.livejournal.com
Нет, я пользуюсь эмулятором режима пользователя (Apout). Очень удобно.

Date: 2006-08-23 01:12 (UTC)
From: [identity profile] spamsink.livejournal.com
К "интернету" я подключал uip из контики как с помощью Apout, так и с помощью эмулятора БК (через /dev/net/tun для простоты). Ну работает (ping, telnet), ну nmap какие-то смешные вещи про него говорит. А дальше?

Хотя да, интересно было бы посмотреть, как бсдшный тцп/ип поведет себя в ответ на разные атаки.

Date: 2006-08-23 06:27 (UTC)
From: [identity profile] spamsink.livejournal.com
Единственное, что, можно надеяться, поместится в БК-шку (0010) - это mini-Unix - есть на SIMH и я его когда-то запускал (был еще однопользовательский LSX для LSI-11, но он утрачен), потому что в БК-0010 нет ни переключаемых страниц (можно сделать доступными 32 Кб RAM, остальное ROM и видеопамять), ни таймера. В 0011, возможно, поместится что-то более серьезное - там фактически 96 Кб доступного RAM (6 страниц по 16 Кб + страница на видеопамять и рабочая страница ROM-а), есть таймер, а ROM реализует терминал с 80 символами в строке и нормальными esc-codes.

Date: 2006-08-23 07:30 (UTC)
From: [identity profile] spamsink.livejournal.com
На самом деле в БК-0010 есть за что дергать снаружи, чтобы получилось внешнее прерывание по вектору 0100, так что теоретически он тоже интересен.

А страничная память в БК-0011 сделана так: есть 8 страниц по 16 Кб каждая. Две из них могут служить видеопамятью (отображается на выбор одна из двух). Еще одна постоянно находится в адресах 0-037777. Системный ROM постоянно находится в адресах 140000-176000. Также есть два 3-разрядных регистра, в которых указываются номера страниц в адресах 40000-77777 и 100000-137777.
Т.е. любая страница может быть видна дважды, а "нулевая" - аж трижды.

Обращаются к регистрам страниц с помощью слова, в котором есть еще один свободный бит, так что в эмуляторе в одно из "окон" можно будет помещать любую из 16 страниц, а в другое - только первые 8. Но сколько переделок в железе это потребует, я не знаю. С расширением памяти влезет что хочешь, интереснее выяснить, на что способен нетронутый экземпляр. Возможно, что "биосу" можно объяснить, что рабочую страницу использовать не нужно, и тогда получится 112 Кб.

Date: 2006-08-23 15:06 (UTC)
From: [identity profile] spamsink.livejournal.com
Схемы у меня - нет, но где-то, наверное, есть, хотя найти и не получается. А переделывать придется всё, начиная с процессора - в БК он аналогичен LSI-11/03, без какого-либо понятия об управлении памятью, так что demand paging is out of the question, а если его нет, то свопинг можно делать и 16-килобайтными сегментами, тем более что флеш-диск, который можно подключить к БК, чуть ли не быстрее, чем его память.

Date: 2006-08-23 21:18 (UTC)
From: [identity profile] spamsink.livejournal.com
Так, наверное, можно, хотя это уже будет не совсем БК. RT-11 портировали без каких-либо хардверных изменений, а юникс чем хуже?

Date: 2006-08-15 19:04 (UTC)
From: [identity profile] spamsink.livejournal.com
Например, Contiki или мини-юникс на БК-0010/11 портировать.

Date: 2006-08-15 21:15 (UTC)
From: [identity profile] spamsink.livejournal.com
У меня есть и 0010 (две штуки), и 0011, на которой работает RT-11, и контроллеры FDD/HDD, без которых оно бы не работало.