МАРС вспоминайте

107 views
Skip to first unread message

Leo B.

unread,
Aug 10, 2017, 2:20:03 AM8/10/17
to БЭСМ-6
В обоих Паскалях есть (или по крайней мере декларируются) встроенные в язык процедуры
для связи с системой

МАРС-6, разработанной в ВЦ АН СССР В. И. Филипповым,
позволяющие обмениваться информацией между различными системами
программирования (Паскаль, Алгол, Фортран, Лисп, Ассемблер)
и организовывать различные информационные структуры во внешней
памяти.
Что это был за зверь, и имеет ли смысл пытаться его оживлять ради развлечения?
Мне ни разу не приходилось им пользоваться. Есть подозрение, что это была чисто ВЦ АН-овская игрушка.

Leo

Michael Yaroslavtsev

unread,
Aug 10, 2017, 3:54:07 AM8/10/17
to be...@googlegroups.com
Тюрин в 82-83 нанимал пару странных мужиков (Эрик Ковалёв, Алик Ахрамеев), которые, якобы, должны были заниматься Марсом.
Никаких следов они по себе не оставили.

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+unsubscribe@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.



--
Thanks,
-- Michael

Василий Долматов

unread,
Aug 10, 2017, 3:55:38 AM8/10/17
to be...@googlegroups.com

 Есть подозрение, что это была чисто ВЦ АН-овская игрушка.


Угу...

signature.asc

Sergey Ryzhkov

unread,
Aug 10, 2017, 11:02:59 AM8/10/17
to be...@googlegroups.com
Это, насколько я понимаю, низкоуровневая поддержка СУБД. Ее использовала кодаксиловская СУБД Компас. Вроде Компас был вполне рабочий, на нем мои знакомые что то делали. Борис Бабань, в частности (основал компанию ДИЦ, основные продукты Турбо бухгалтер и Турбо9).

10 августа 2017 г., 10:55 пользователь Василий Долматов <vdol...@gmail.com> написал:

 Есть подозрение, что это была чисто ВЦ АН-овская игрушка.


Угу...

Leo Broukhis

unread,
Aug 10, 2017, 12:08:36 PM8/10/17
to БЭСМ-6
2017-08-10 8:02 GMT-07:00 Sergey Ryzhkov:
Это, насколько я понимаю, низкоуровневая поддержка СУБД.

Наверное. А выглядит просто как ассоциативный массив.
(PUTD|MODD|GETD)
(<Информация-для-обмена>[,<Информация-для-обмена>]...)
<Информация-для-обмена> ::=
<Имя-элемента-в-базе-данных><Переменная>[:<Указатель-длины>]
<Имя-элемента-в-базе-данных> ::= <Выражение-простого-типа>
<Указатель-длины> ::= <Выражение-целого-типа>

Sergey Ryzhkov

unread,
Aug 10, 2017, 12:39:31 PM8/10/17
to be...@googlegroups.com
Ну это сама база. Но там вроде была еще зона с кодом функций низкоуровневых для работы с этими структурами.

10 авг. 2017 г. 19:08 пользователь "Leo Broukhis" <le...@mailcom.com> написал:

Leo B.

unread,
Aug 10, 2017, 11:20:35 PM8/10/17
to БЭСМ-6
Что это за база без возможности хоть какой-нибудь итерации по содержимому?

Может, с помощью низкоуровневых функций это и можно было делать, но с интерфейсом
PUTD/GETD/MODD/DELD - это просто какой-то контейнер недоделанный.

На дисках SVS2048 и ALT2048 в зоне 1027 находятся строки

БАНДИТ
НЕТ ТЕКУЩЕЙ ЗАПИСИ
НУЛЕВОЙ УКЛЮЧ
В БД ЗАТЕРТ ЛИСТ
ЭТА ЗАПИСЬ УБРАНА
НЕТ ТАКОЙ БД
ЗАТЕРТ 1Й ЛИСТ БД
ПЕРЕПОЛНЕНИЕ БД
НЕТ ТАКОЙ ЗАПИСИ 
ТАКОЙ ЗАПИСИ НЕТ
ЭТО ИМЯ УЖЕ ЕСТЬ
НЕТ СИМВОЛА-КОНЦА
НЕТ СЛОВА-КОНЦА
ДЛИНА ЗАПИСИ>ДЛВ 
В БД ЗАТЕРТ ЛИСТ
В КТЛ НЕТ ЗАПИСЕЙ
НЕТ ПРЕД ЗАПИСИ  
НЕТ СЛЕД ЗАПИСИ

А в зоне 1026

ВD <НЕ ТО>
ВD, А ДАЛЬШЕ
НЕПР. СПИСОК ПАРАМЕТРОВ ДЛЯ ВD
НЕПР. ДОПОЛНЕНИЕ
НЕТ ВОСЬМЕРИЧНОГО НОМЕРА
СТЕРТА БД-СИСТЕМА
NЕW
ОРЕN
ОВТАIN
ОВТ
РUТ
DЕLЕТЕ
DЕL
МОDIFУ
МОD
GЕТ
ИНФ
КТЛ
СИС
ТАБ
БУФ  
ДЛВ
СИМ
СЛО
ДЛЯ ВD НЕПР. ЗАДАН МАССИВ
ИМЯ ДЛИНА  ШИФР ДАТА
БАНДИТ
ВОСЬМР

Так что действительно, за пределы ВЦ АН это вылезало, но в насколько функциональном виде - неясно.



On Thursday, August 10, 2017 at 9:39:31 AM UTC-7, Сергей Рыжков wrote:
Ну это сама база. Но там вроде была еще зона с кодом функций низкоуровневых для работы с этими структурами.

10 авг. 2017 г. 19:08 пользователь "Leo Broukhis" написал:

2017-08-10 8:02 GMT-07:00 Sergey Ryzhkov:
Это, насколько я понимаю, низкоуровневая поддержка СУБД.

Наверное. А выглядит просто как ассоциативный массив.
(PUTD|MODD|GETD)
(<Информация-для-обмена>[,<Информация-для-обмена>]...)
<Информация-для-обмена> ::=
<Имя-элемента-в-базе-данных><Переменная>[:<Указатель-длины>]
<Имя-элемента-в-базе-данных> ::= <Выражение-простого-типа>
<Указатель-длины> ::= <Выражение-целого-типа>

 
Ее использовала кодаксиловская СУБД Компас. Вроде Компас был вполне рабочий, на нем мои знакомые что то делали. Борис Бабань, в частности (основал компанию ДИЦ, основные продукты Турбо бухгалтер и Турбо9).

10 августа 2017 г., 10:55 пользователь Василий Долматов  написал:

Sergey Ryzhkov

unread,
Aug 11, 2017, 7:02:28 AM8/11/17
to be...@googlegroups.com
Ну так реализовывался там функционал работы с записями по ключам, возможно с несколткими наборами данных. Были ли транзакции - не знаю, не факт что были. Остальное уже функционал Компаса и прочих БД. 

11 авг. 2017 г. 6:20 пользователь "Leo B." <leo...@gmail.com> написал:

Leo B.

unread,
Dec 29, 2021, 10:28:12 PM12/29/21
to БЭСМ-6
Вот и ещё один гештальт почти закрыт.

Вы будете смеяться, но зона с кодом, реализующим низкоуровневый интерфейс к базе данных МАРС, нашлась на СБоровском 2048 (по ключевому слову БАНДИТ) в зоне 657 (т. е. в зоне 27 со сдвигом 630 вместо 1000).
(со стертыми русскими текстами ошибок; смысл ошибки по номеру восстановлен согласно списку диагностик на СВСовском диске) 

Программа, приведенная в инструкции по Паскалю-Монитору, 


Для заведения специальной области "КОБЛА", содержащей каталог остальных областей,

используется фортран-процедура PASACD. Например, если необходимо завести каталог

на направлении 52(8) с 0 зоны длиной в одну зону, выполняем следующую программу.


PROGRAM SETCOBLA (OUTPUT);

(*=F+*) PROCEDURE PASACD (VAR I:INTEGER); FORTRAN;

BEGIN

PASACD(1520000B)

END.


работает и пишет куда указано сколько нужно зон. 

Программа для настройки на этот каталог

Для настройки КОБЛЫ используем внешнюю процедуру PASSETAR "SET UP AREA".
Например, чтобы настроить заведённую в предыдущем разделе КОБЛУ, можно выполнить


PROGRAM T(OUTPUT);

PROCEDURE PASSETAR (VAR I:INTEGER); EXTERNAL;

BEGIN PASSETAR (1520000B) END.


очевидно неправильная (по VAR нельзя передавать константы); убрав VAR, получаем успешную компиляцию (при выполнении к диску не обращается).

Следующий эксперимент: 
 00001    1  0 РRОGRАМ SЕТСОВLА (ОUТРUТ);
 00001    2  1 VАR I:INТЕGЕR;
 00007    3  1 РRОСЕDURЕ РАSSЕТАR (I:INТЕGЕR); ЕХТЕRNАL;
 00007    4  1 (*=F+*) РRОСЕDURЕ РАSАСD (VАR I:INТЕGЕR); FОRТRАN;
 00007    5  2 ВЕGIN
 00010    6  2         РАSАСD(1520000В); - создаем каталог областей
 00013    7  2  WRIТЕLN(’ АFТЕR РАSАСD’);
 00016    8  2  РАSSЕТАR (1520000В); - настраиваемся на него
 00017    9  2  WRIТЕLN(’ АFТЕR РАSSЕТАR’);
 00023   10  2  I := 2520100В;
 00024   11  2  NЕWD(’QQQ’, I); - создаем новую область; вопреки инструкции, адрес должен находиться в переменной
 00030   12  2  WRIТЕLN(’ АFТЕR NЕWD’);
 00033   13  2  ОРЕND(’QQQ’); - открываем область
 00036   14  2  WRIТЕLN(’ АFТЕR ОРЕND’);
 00041   15  2  FОR I := 123456700В ТО 123456777В DО РUТD(I,I); - пишем 64 элемента
 00050   16  2  WRIТЕLN(’ DОNЕ’);
 00066   17  0 ЕND.
           *NО LО
           *ЕХЕСUТЕ
 АFТЕR РАSАСD
 АFТЕR РАSSЕТАR
 01030В АDR,    03 DАТА ВАSЕ ЕRRОR, 000010 МIСRО RUN, NАМЕ= QQQ почему-то создание области приводит к ошибке 3 "эта запись убрана"
 АFТЕR NЕWD
 АFТЕR ОРЕND
 DОNЕ

 
Кстати говоря, длина области должна быть не меньше 2 зон, иначе при создании тут же получается ошибка 6 - переполнение БД.
И для правильной работы нужна рантайм-библиотека Паскаля с СВСовского диска.

А теперь читаем: 

 00001    1  0 РRОGRАМ GЕТСОВLА (ОUТРUТ);
 00001    2  1 VАR I,J:INТЕGЕR;
 00007    3  1 РRОСЕDURЕ РАSSЕТАR (I:INТЕGЕR); ЕХТЕRNАL;
 00007    4  2 ВЕGIN
 00010    5  2  РАSSЕТАR (1520000В);
 00011    6  2  WRIТЕLN(’ АFТЕR РАSSЕТАR’);
 00015    7  2  ОРЕND(’QQQ’);
 00020    8  2  WRIТЕLN(’ АFТЕR ОРЕND’);
 00023    9  3  FОR I := 123456677В ТО 123457000В DО _(
 00024   10  3   GЕТD(I,J);
 00030   11  3   WRIТЕLN(I ОСТ, J ОСТ);
 00035   12  2  _);
 00037   13  2  WRIТЕLN(’ DОNЕ’);
 00055   14  0 ЕND.

 АFТЕR РАSSЕТАR
 АFТЕR ОРЕND
 01030В АDR,    10 DАТА ВАSЕ ЕRRОR, 002214 МIСRО RUN, NАМЕ= Р!N] 
 6400000123456677 0000000000000000
 6400000123456700 6400000123463131
 6400000123456701 6400000123456701
 6400000123456702 6400000123456702
...
 6400000123456776 6400000123456776
 6400000123456777 6400000123456777
 01030В АDR,    10 DАТА ВАSЕ ЕRRОR, 002214 МIСRО RUN, NАМЕ= Р!N‾
 6400000123457000 6400000123456777
 DОNЕ

Ошибка 10 - "ТАКОЙ ЗАПИСИ НЕТ".

Вся нетривиальная функциональность, видимо, делалась с помощью прямого обращения к интерфейсу через вызов PASBD (согласно инструкции к Паскалю-Монитору). 
Если найдется инструкция к МАРСу, то можно будет объявить, что функциональность базы данных БЭСМ-6 восстановлена.

Ещё бы как-то оживить служебную директиву БД (или BD) в Пульте, раз код от неё сохранился.

Leo

Leo B.

unread,
Dec 30, 2021, 4:49:56 AM12/30/21
to БЭСМ-6
Внимание администраторам эмулятора БЭСМ-6! Необходимая правка библиотеки описана ниже.

On Wednesday, December 29, 2021 at 7:28:12 PM UTC-8 Leo B. wrote:
И для правильной работы нужна рантайм-библиотека Паскаля с СВСовского диска.

Разница в библиотеках оказалась тривиальная (ниже вместо zzz nn были номера зон и блоков внутри зон)

На 2048 от СВС, где всё работает:

   РАIВ     (РАSВDI  )  00067
   РАSВD    (РАSВDI  )  00062
   РАSВDI       zzz nn  00123


В вызовы PAIB с разными параметрами компилируются все паскалевские процедуры работы с БД.

На 2048 из СБора:
   РАIВ     (LIВSUВ  )  00067 
   РАSВD    (РАSВDI  )  00062
   РАSВDI       zzz nn  00123

в то время как этот LIBSUB таков:

LIВSUВ       zzz nn  00054

То есть мало того, что точка входа PAIB смотрит на другой модуль, так ещё и за его пределы (67 > 54).

Половина разгадки такая: на СВС-овском 2048 есть маленькая библиотечка в зоне 670, в которой, помимо нескольких утилит, относящихся к Паскалю,
 имеется LIBSUB с входной точкой PAIB. СБоровская библиотека была получена слиянием базовой рантайм-библиотеки и этой с утилитами.

Вторая половина, видимо, заключается в том, что PAIB - единственная служебная точка входа с именем, не начинающимся на P/ или PAS, 
поэтому LIBSUB (стирающая паскалевские модули из временной библиотеки, потому что первоначально компилятор сам нуждался в рантайм-библиотеке) его не удалила,
и эта точка входа прилипла к чему попало - как оказалось, к самой LIBSUB. Топором брились, право слово.

Правка делается так (пример для эмулятора Диспака):

ШИФР 419900ЗС5^
ЛЕН 40(2048-ЗП)41(2148)^
ЕЕВ1А3
*NAME ПРАВКА
*      считываем текущее содержимое паскалевской библиотеки на СБоровском 2048
*PERSO:401700
*     укажем имя нужного модуля
*TABLE:LIBLIST(PASBDI)     
*      возьмём его с СВС-овского 2048
*LIBLIST:410440
*      запишем обратно на место
*TO PERSO:401700
*END FILE
``````
ЕКОНЕЦ

Leo

Leo B.

unread,
Jan 22, 2022, 2:53:29 AM1/22/22
to БЭСМ-6
Слушайте, а может, этого В. И. Филиппова из ВЦ АН СССР ещё можно найти? (на сайте www.ccas.ru он не упомянут)

Leo

Severov & Severova

unread,
Jan 22, 2022, 5:09:52 AM1/22/22
to be...@googlegroups.com
В 88-ом-89-ом я сделал на филипповском Компасе/Паскале несколько "ИПС" для бухгалтерии НИС Гидропроекта (AMOPTИЗAЦИЯ, CKЛAД, ЗATPATЫ)
Сохранились тексты, они здесь, если кому интересно - https://disk.yandex.ru/d/B4GJ2_0kuVkjZA

сб, 22 янв. 2022 г. в 10:53, Leo B. <leo...@gmail.com>:
--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/d1172355-70bf-4b2e-8429-6d767b26f06bn%40googlegroups.com.

Leo B.

unread,
Jan 22, 2022, 1:58:18 PM1/22/22
to БЭСМ-6
Спасибо, очень красиво, надо будет сохранить для примера, но ничего не понятно. Видно, что был какой-то препроцессор, который, по-видимому, превращал запросы к базе на русском языке, записанные внутри && &&, на код на Паскале,
но и сама мониторная система была какая-то продвинутая, я не узнаю большинство команд. *CMP, *AREA, *INCLUD, *ROLL, *REL, *WHAT - что это всё? 

Leo

Severov & Severova

unread,
Jan 22, 2022, 4:07:17 PM1/22/22
to be...@googlegroups.com

> ...и сама мониторная система была какая-то продвинутая
Монитор Дубна, главное руководство было - книжка Г.Л.Мазного.
Я был главный по этому монитору на двух наших бэсмах. Увы почти ничего не помню...

> , я не узнаю большинство команд. *CMP, *AREA, *INCLUD, *ROLL, *REL, *WHAT - что это всё?
*CMP - это, скорее всего, "КОМПАС", значение остальных уже выветрилось из головы


сб, 22 янв. 2022 г. в 21:58, Leo B. <leo...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/b9c28ec4-2b27-4415-98a1-9569372c904cn%40googlegroups.com.

Sergey Ryzhkov

unread,
Jan 22, 2022, 8:53:33 PM1/22/22
to be...@googlegroups.com
А откуда эта лента и что печатает могиторка при запуске? *AREA наводит на мысль, что откуда тототкопался Монитор 86, версия монтторки сделанная примерно в 85-86 годах в МЫТИ на основе полученных у Пасынкова текстов Монитора 80, который переименовали в Монитор 86. Там основные доработки в сторону встроенного архива в котором текстовые файлы ханились в форматет МСДубна, но блок был в 1/8 зоны,  файлы были непрерывные, но могли, соответственно начинаться не с начала зоны. Был редактор для этого и аналог *READ. *AREA это задание зоны каталога текущего архива. Ну и много всяких утилит, типа сравнения, файлов (*CMP как раз). Кроме того, это еше было заточено под однотерминальный диалоговый режим а ля ПУЛЬТ (работало в паре с отладчиком ОСДиапак, но под Диспак тоже). Диалоговый режим был сделан по аналогии с существовавшим в МСДубна в комплекте Диапака из Челябинска (вроде бы). Архив этот вообще мое, еще много делал Сергей Вакуленко, у него еще был свой экспериментальный архив с подкаталогами, но напрямую из СС Дубна файлы не читались, насколько я помню, в STAR/* мы не лазили. Былтеше многотерминалный редактор и препроцессор PREFOR для, Фортрана. Кроме нас еще куча народа физтезовского участвовала  Все активно использовалось намБЭСМ в МФТИ, но Монитор 86 точно брал Пасынков, а через него он мог попасть куда угодно.

сб, 22 янв. 2022 г., 21:58 Leo B. <leo...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/b9c28ec4-2b27-4415-98a1-9569372c904cn%40googlegroups.com.

Leo B.

unread,
Jan 27, 2022, 1:48:27 AM1/27/22
to БЭСМ-6

Виктора Ивановича Филиппова мне окольными путями нашли, и я с ним поговорил. Документацию он поищет, хотя говорит, что надежды мало. Из интересного он мне рассказал, что Пирин поначалу пытался писать Паскаль-компилятор самостоятельно по инструкции по раскрутке компилятора - получился Паскаль-автокод, а потом ему добыли полный исходный текст (В. И. сказал "из Польши", но видимо, всё же из Чехословакии - из Братиславы), и получился Паскаль-монитор. То-то у меня было впечатление, что между этими двумя компиляторами мало сходства: Паскаль-монитор местами очень похож на Виртовский код, вплоть до порядка процедур, а Паскаль-автокод - вещь в себе.

Leo

Michael Yaroslavtsev

unread,
Jan 27, 2022, 7:40:13 AM1/27/22
to be...@googlegroups.com
On Thu, Jan 27, 2022 at 9:48 AM Leo B. <leo...@gmail.com> wrote:

Виктора Ивановича Филиппова мне окольными путями нашли, и я с ним поговорил. Документацию он поищет, хотя говорит, что надежды мало. Из интересного он мне рассказал, что Пирин поначалу пытался писать Паскаль-компилятор самостоятельно по инструкции по раскрутке компилятора - получился Паскаль-автокод, а потом ему добыли полный исходный текст (В. И. сказал "из Польши", но видимо, всё же из Чехословакии - из Братиславы), и получился Паскаль-монитор. То-то у меня было впечатление, что между этими двумя компиляторами мало сходства: Паскаль-монитор местами очень похож на Виртовский код, вплоть до порядка процедур, а Паскаль-автокод - вещь в себе.
Замечательно!
"Ещё не написан Ахо-Ульман". 

Leo
On Friday, January 21, 2022 at 11:53:29 PM UTC-8 Leo B. wrote:
Слушайте, а может, этого В. И. Филиппова из ВЦ АН СССР ещё можно найти? (на сайте www.ccas.ru он не упомянут)

Leo

On Wednesday, August 9, 2017 at 11:20:03 PM UTC-7 Leo B. wrote:
В обоих Паскалях есть (или по крайней мере декларируются) встроенные в язык процедуры
для связи с системой

МАРС-6, разработанной в ВЦ АН СССР В. И. Филипповым,
позволяющие обмениваться информацией между различными системами
программирования (Паскаль, Алгол, Фортран, Лисп, Ассемблер)
и организовывать различные информационные структуры во внешней
памяти.
Что это был за зверь, и имеет ли смысл пытаться его оживлять ради развлечения?
Мне ни разу не приходилось им пользоваться. Есть подозрение, что это была чисто ВЦ АН-овская игрушка.

Leo

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/36283bf1-b038-41b4-8a2e-cecf0faf8c2dn%40googlegroups.com.


--
Thanks,
-- Michael

Sergey Ryzhkov

unread,
Feb 17, 2022, 5:17:01 PM2/17/22
to be...@googlegroups.com
А кто нибудь меня слышит? У меня такое ощущение, что я последний год пишу в пустоту. Может что тотя не так делаю?

чт, 27 янв. 2022 г., 15:40 Michael Yaroslavtsev <absolutel...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CADLwzuczxCX8dGafJyUSSW8RCRxgf%2BpOuqPKJXdaO1PmHU7fSg%40mail.gmail.com.

Michael Yaroslavtsev

unread,
Feb 17, 2022, 5:30:32 PM2/17/22
to be...@googlegroups.com
On Thu, Feb 17, 2022 at 2:17 PM Sergey Ryzhkov <s...@rinet.ru> wrote:
А кто нибудь меня слышит? У меня такое ощущение, что я последний год пишу в пустоту. Может что тотя не так делаю?
Как говорят в таких случаях радио-релейщики, "Вижу, регулирую, даю вам". 
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CALUV2cyebjO-Ct0YvHSLFWxX8svcgUfvdJzrTL%2BURzN42L7C7w%40mail.gmail.com.


--
Thanks,
-- Michael

Sergey Ryzhkov

unread,
Feb 17, 2022, 5:49:30 PM2/17/22
to be...@googlegroups.com
Ок

пт, 18 февр. 2022 г., 01:30 Michael Yaroslavtsev <absolutel...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/CADLwzucRB%2BC2%3DJakk7-L%3DWWLTFYFi516YkyvER8TQ3Fp2k1CBQ%40mail.gmail.com.

Leo B.

unread,
Feb 17, 2022, 9:24:30 PM2/17/22
to БЭСМ-6
On Thursday, August 10, 2017 at 9:39:31 AM UTC-7 Сергей Рыжков wrote:
Ну это сама база. Но там вроде была еще зона с кодом функций низкоуровневых для работы с этими структурами.

Похоже, я её пару дней назад нашёл поиском по тем самым мелким микропрограммам для операций OPEND/GETD/PUTD и т.п.,
 которые есть в Паскалях. Так как на СБоровском диске Пульта (и, соответственно, Паскаля-Автокода) нет, то макрос для 
OPEND (0000 0025 1214 1131, исполняется справа налево, команды 6-битные) должен находиться ровно в одном месте:
в библиотеке Паскаля-Монитора. Однако,

0656.0571:  0001 1325 1214 1131  0012d5 28c259  зпм 1325        э21 41131(2)
0656.0600:  0000 0025 1214 1131  000015 28c259  зп 25           э21 41131(2)
1714.0427:  0000 0025 1214 1131  000015 28c259  зп 25           э21 41131(2)

1714 - это библиотека Паскаля. А 0656 - это зона перед той зоной, которая годится Паскалям в качестве МАРСа.
Но она какая-то совсем простая, последнее ненулевое слово в ней - 0625. Текстовые строки в ней - "ВНЕСТ" и "СВОБ. ЯЧЕЕК".
Возможно, это была какая-то локальная поделка на базе МАРСа.

Leo


Leo B.

unread,
Jul 12, 2022, 7:29:23 PM7/12/22
to БЭСМ-6
"Локальная поделка на базе МАРСа", собственно, это диалоговая система РЭКС (очередной многопользовательский редактор-запускальщик задач, тыщи их).
В коде содержится  "П Е Р Е Д А Й Т Е   Р А С П Е Ч А Т К У   Б А Б А Н И Н У   В. М." в случае ошибок. 

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

Leo B.

unread,
Jan 17, 2023, 10:31:01 PM1/17/23
to БЭСМ-6
On Wednesday, December 29, 2021 at 7:28:12 PM UTC-8 Leo B. wrote:

Ещё бы как-то оживить служебную директиву БД (или BD) в Пульте, раз код от неё сохранился.


Хитрость тут в том, что зона со словом БАНДИТ, используемая в Пульте, представляет собой что-то очень древнее по сравнению с зоной, необходимой для Паскаля и для Компаса.

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

Тем не менее, у структуры кода двух бандитов есть много общего, что, после нескольких вечеров более или менее вдумчивого анализа одного, позволило достичь разумного понимания другого за считаные часы.

 Тут же возникло желание дизассемблировать пресловутую директиву BD, что оказалось ещё проще из-за бешеной повторяемости кода (судя по стилю, явно написанного на автокоде ИТМ), но возникли вопросы - к Василию, в первую очередь - о специфике работы Пульта со служебными директивами:

Имеется вход в слово со смещением 4. В нём предполагается, что этот код (также) загружен с адреса 72000: там УИА '72000'(М13) и ПБ '16'(М13). 
При каких условиях это работало? В том пульте, который у нас есть, встроенное распознавание команды BD как-то заблокировано, и пришлось делать фальшивый файл в каталоге.

По нормальному входу по адресу 00007 лист копируется в 66000 с помощью Э75, и делается переход на 66016, с М13 = 66000.  Так оно, видимо, работало, когда я сделал файл. 
При старте только с этого адреса делается уиа     '35072'(М3). Что за магия?

В самом начале работы делается

   17 13 22 00000               мода    
      12 24 00076               уиа     62(М12) текст ошибки "BD <HE TO>"
   20 00 22 00000               мода    
      11 31 76016               пв      '76016'(М11)
   21 00 23 76015               мод     '76015'
      00 010 0003               сч      +3
   22 00 040 0002               уи      М2

Это, по всей видимости, разбор параметров командной строки? Что он умел?

Ещё встречаются переходы на 76002 (выход в пульт), 76005 (выдача текста на экран) и 76006 (в неочевидном контексте) - что это было?

Из обнаруженных забавностей: в коде есть функциональность strlen для вычисления длины файла с точностью до слова, которой можно указывать не только один концевой байт (обычно, видимо, 175), но и последовательность из двух (обычно, видимо, 175 172). 
В МАРСе для Компаса этого уже нет.

Leo

Василий Долматов

unread,
Jan 18, 2023, 7:58:01 AM1/18/23
to 'Кирилл Кобелев' via БЭСМ-6


> 18 янв. 2023 г., в 06:31, Leo B. <leo...@gmail.com> написал(а):
> но возникли вопросы - к Василию, в первую очередь - о специфике работы Пульта со служебными директивами:
>
я, считай 99% написанного тут вообще не понял. :)

как устроены кишки Пульта я чуть-чуть знаю только и исключительно в контексте использования его административки Паскалем (Джином)…
все, что за пределами этой области - я как-то совсем не в теме.

может лучше найти Пильщикова/Мальковского? если они еще available конечно :(

dol@

Michael Yaroslavtsev

unread,
Jan 18, 2023, 6:16:54 PM1/18/23
to be...@googlegroups.com
Несколько месяцев назад я посылал ping Брябрину на LinkedIn, но ответа не получил. 

dol@


--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу БЭСМ-6.

Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msgid/besm6/05612173-405B-4B99-8AC5-AD0FDE1236FB%40gmail.com.


--
Thanks,
-- Michael

Leo B.

unread,
Jan 18, 2023, 11:12:30 PM1/18/23
to БЭСМ-6
Василий,

Тут речь идет о встроенной в пульт фиче BD (зона 26), которая пользовалась интерфейсом работы с ассоциативным контейнером "БАНк Данных И Текстов" (зона 27) 
и позволяла хранить мелкие файлики навалом в одном "архивном файле". Например,
BD OPEN архфайл (согласно спец. каталогу BD-архивов в зоне 30)
BD GET файлик
переписывало файлик в текущий файл в памяти, а
BD PUT файлик 
переписывало из памяти в открытый "архивный файл"
На наших образах дисков всё это имелось, кроме того, что  файла c именем BD в "АРХ СИСБИБ" не было, а зоны 26-30 были частью файла РЕЗРВ2

Вопросы, конечно, о каких-то кишках Пульта, которые ты мог и не знать.

Нашлась забавность: БАНДИТ предполагал базирование по М4, а вызовы процедур были по М16, поэтому стандартная последовательность команд была
МОДА (М4), ПВ смещение(М16). В одном месте была очевидная описка: МОДА (М4), ПВ смещение(М4) - так на обеих копиях 2048, где есть Пульт.
Видимо, то место было какое-то некритичное, и проще было не пользоваться, чем разбираться.

Leo

Leo B.

unread,
Jan 19, 2023, 5:10:00 PM1/19/23
to БЭСМ-6
Чтобы не быть голословным, 


Почему в куче мест вместо вызова процедур было использовано копирование кода, и почему, даже несмотря на это, при размере программы в пол-листа не была сделана встроенная подсказка о формате командной строки - загадка.

Leo



Leo B.

unread,
Sep 30, 2023, 9:56:40 PM9/30/23
to БЭСМ-6
На прошедшей на прошлой неделе конференции https://www.sorucom.org/ я сделал маленький докладик о проекте оживления МАРСа. Он был последним в первый - самый длинный - день, и народ уже изрядно утомился; возможно, поэтому вопросов не было.
Или просто никто ничего не понял, поди знай.

Пусть и здесь будет ссылка, чтобы не пропало: Система МАРС БЭСМ-6: Что это было и как работало

Leo


Message has been deleted

Leo Broukhis

unread,
Sep 30, 2023, 11:18:34 PM9/30/23
to БЭСМ-6
Надо будет симлинк сделать, это ведь все внутри одного проекта. 

Но как сделать, чтобы файлы правильно показывались непосредственно на besm6.github.io, я не понимаю.

On Sat, Sep 30, 2023, 19:09 Serge Vakulenko <serge.v...@gmail.com> wrote:
Классно! Интересная была система, жаль малоизвестная. А положи этот PDF и в besm6.github.io/doc тоже, пусть хранится на всякий случай.

--Сергей

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "БЭСМ-6".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/besm6/mTeLo-Vnkok/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/96163eb6-af91-45b0-839c-7d8675f907ddn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages