[personal profile] azizz8618 posting in [community profile] besm6
Уважаемые господа! Расскажите пожалуйста на каком редакторе на Бэсм-6 печатали таблицы и заголовки, в общем, был ли редактор текста с более продвинутыми функциями, чем ПУЛЬТ?

Date: 2020-10-28 11:13 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Редактор текста был в каждой диалоговой системе, имеющей какое-то понятие о файлах. Все они были более или менее под одну гребёнку, с командами наподобие
  • выдать на экран диапазон строк
  • удалить диапазон строк
  • вставить вводимые строки перед/после строки с данным номером
  • заменить диапазон строк на вводимые строки
  • переместить диапазон строк (возможно, не во всех редакторах)
  • (так называемое полуэкранное редактирование) ввести новое содержимое набора строк, предваренных номерами в фиксированном формате - это использовало специальные возможности дисплеев Videoton

Более продвинутых функций типа контекстного поиска и замены я особо не помню. Вот и в Пульте, чтобы что-то найти, нужно зайти в СЕРВИС и дать команду поиска там.

А если речь идет о системах форматирования текста, то наиболее массовой из-за своей простоты была система ТИРАЖ, реализующая формат, описанный в https://github.com/besm6/besm6.github.io/blob/master/wiki/pascal-autocode.txt#L1871

Она широко использовалась для печати как инструкций, так и разнообразного самиздата.

Более профессиональными системами были АСПИД (текст препринта отсутствует; примеров файлов и уверенности в наличии в составе эмулятора нет), с оригинальным языком описания страниц с русскоязычными/кириллическими командами, который позволял не только печатать сформатированные страницы на АЦПУ, но и генерировать команды для какого-то фотонаборного автомата (об этом переводчики книги "Этюды для программистов" похвастались в комментариях к главе о написании программы форматирования);
и СИПРОД (или SIPROD), аналогичной сложности, с командами из латинских букв (возможно, калька с какой-то западной системы); использовался для создания документации согласно ЕСПД. Гугл не помог, поэтому о значении большинства команд птичьего языка можно только догадываться, но система на эмуляторе работает. Например, из https://github.com/besm6/besm6.github.io/blob/master/wiki/sys-instr.txt получается http://www.mailcom.com/besm6/docs/sys-instr.txt

Date: 2020-10-28 11:54 pm (UTC)
vak: (Default)
From: [personal profile] vak
На АСПИДе сохранился проект микро-БЭСМ: http://www.besm6.org/sources/microbesm/%D0%9C%D0%9A%D0%91-8601-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82.html

Но сам АСПИД отсутствует. Чтобы привести этот документ к читабельному виду, мне пришлось повторить АСПИД на питоне: https://github.com/sergev/vak-opensource/blob/master/languages/python/aspid.py

Date: 2020-10-29 07:39 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Да, отформатированный текст - результат выдачи на печать.
СИПРОД - это программа, запускаемая в пакетном режиме из мониторной системы "Дубна".
Официально, пакетные задачи в SIMH запускаются путем "ввода с перфоленты" (которая, в свою очередь, в Диспаке имитирует ввод с перфокарт). См. пример - input.txt и expect.ini в https://github.com/besm6/simh/tree/master/BESM6 - там как раз запуск "Дубны".

Попробуйте сделать source expect.ini и сразу после окончания задачи посмотреть в файл выдачи на АЦПУ.

Из-за того, что входной файл перекодируется в кодировку ГОСТ, в которой не было различия в регистре букв, везде можно пользоваться и большими, и маленькими буквами.

Для запуска СИПРОДА нужно в паспорт задачи в input.txt добавить (можно хоть с разбиением на строки после ^, хоть без)
ОЗУ 32^ТРА 100^АЦП 64^ДИС 67(4023)^

Перед запуском не забудьте смонтировать диск 4023.

Между строками *name и *execute должны быть строки

*no load list
*perso:670702
*call yesmemory
*main schema

А между строками *execute и *end file - текст в формате СИПРОДа (т.е. один из файлов, начинающихся на *RED и кончающихся на *END).

Обратите внимание на символы ctrl-L которые должны быть перед *NAME и после *END FILE - они переключают режим эмулятора ввода с перфоленты с "посимвольного" на "ввод образов перфокарт", требуемого системой "Дубна", и обратно.

Если с помощью НВМЗ удастся создать файл для системы "Дубна" в КРАБе и сформировать задачу из него, то сложностей со вводом с перфокарт удастся избежать.

Date: 2020-10-31 05:01 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Если вместо dispak.ini запустить эмулятор с аргументом expect.ini, то будет запущена задача в файле expect.ini.
Все файлы должны быть в текущем каталоге.

При этом эмулируется установка перфоленты, на которой пробит текст файла input.txt, на устройство ввода и выдается команда ввода с перфоленты, после чего скрипт дожидается успешного окончания выполнения и печати. Ввод с перфоленты неразрушающий, поэтому входной файл не изменяется.

Если из скрипта убрать строки

expect -r "ДATA.*\n"
do dispak.ini

то им можно будет пользоваться "на ходу" на уже запущенном эмуляторе (ctrl-E, source expect.ini)

Date: 2020-11-04 06:51 am (UTC)
vak: (Default)
From: [personal profile] vak
Очевидно, при сборке simh отсутствовала библиотека libpcre. Поэтому HAVE_PCRE_H не было определено, из-за этого не включилось USE_REGEX, а из-за него не работает "expect -r" в файле expect.ini.

Установите libpcre и пересоберите simh.

Date: 2020-11-27 04:51 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Отсутствует строка *EXECUTE перед *RED

Date: 2020-11-28 07:56 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Два замечания:

1) пожалуйста, отвечайте не на собственный пост, а на мой комментарий, иначе мне не приходят уведомления, а пересматривать старые посты в поисках новых комментариев нерационально по времени.

2) примеры распечаток нужно оборачивать тегами <pre> / </pre> чтобы получить текст с моноширинным шрифтом (в тексте внутри тегов нужно заменять символы < на сочетания &lt;)

Убедитесь, что ни в одной строке во входном потоке для МС Дубна (т.е. начиная с *name и кончая *end file) не содержится более 80 символов.

Date: 2020-11-29 07:20 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Насчет нумерации ничего не скажу, а "пробоины" в обрамлении вызваны так называемым листованием: длина листа фальцованной (сложенной гармошкой) бумаги для АЦПУ была ровно 1 фут - 72 строки кегля 12. При включении АЦПУ в работу командой ДАЙ или появлении готовности ОС считает, что бумага установлена на границе страницы, при печати считает количество строк, и при появлении символа, аналогичного form feed, прогоняет бумагу к началу страницы.
Сушествовал режим "листования", при котором прогон делался автоматически каждые 66 строк, чтобы обеспечить достаточные поля сверху и снизу на случай неточной установки бумаги.
Обычно его нужно было включать вручную (*CALL YESLIS), но, видимо, в С. Бору он как-то был включён по умолчанию, и его нужно явно выключать (*CALL NOTLIS) - эта строка была в input.txt, и она, оказывается, реально нужна. Попробуйте добавить ее в любое место перед *EXECUTE.

Date: 2020-11-29 04:28 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Не понял насчет управляющих символов.

Если АСПИД был написан на Фортране, то гарантированно будут отличия в работе со строками.

Насколько доступен этот текст в РГБ для оцифровки?

Date: 2020-11-29 08:05 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я изменил стандартный паспорт, сделав заказ полной памяти на всякий случай.

Попробуйте сначала какой-нибудь текст вообще без управляющих комбинаций символов.

Date: 2020-11-30 08:10 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Бинарники АСПИДа у нас, похоже, есть: https://github.com/besm6/besm6.github.io/blob/master/wiki/librefer/4002-0733.lst

А вот чтобы их запускать, нужны инструкции:
https://library.keldysh.ru/preprint.asp?id=1977-137

Date: 2020-11-30 08:17 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Раз уж зашла речь о препринтах ИПМ, интересны еще и детали языка АСТРА; 1970-е годы здесь: https://library.keldysh.ru/author_page.asp?aid=1194

Date: 2020-12-01 01:56 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Букву Ё использовать нет смысла, она превращается в пробел.
Как делать неразрывные пробелы в словах вразрядку, чтобы они не растягивались, я в имеющихся у нас файлах не нашёл.

Кстати, АСПИД кое-как работает: если запустить
ШИФР 419999 ЗС5^
лен 67(2048)^
EEB1A3
*name 
*perso:671470
*main aspid
*execute
(содержимое https://github.com/besm6/besm6.github.io/blob/master/wiki/mkb-assembler-guide.txt - можно без первой строки)
*end file
``````
ЕКОНЕЦ

то он печатает кирпич в две колонки, т.е. работает, но использованного формата команд не понимает.

Date: 2020-12-03 08:38 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Очень красиво! Хотелось бы приделать это к моему онлайн-эмулятору.

Один вопрос: умеет ли ваша программа-рендерер делать печать с наложением?
Например, запустите в онлайн-эмуляторе
*name
      programma
      print 1
      print 2
   1  format(/'+0 2 4 6 8 ---ЖЖЖXXX')
   2  format( '+ 1 3 5 7 9|||ШШШ---')
      end
*no lo
*execute
*end file



Page generated Jan. 13th, 2026 08:34 am
Powered by Dreamwidth Studios