Эмулятор программирование на FORTRAN

35 views
Skip to first unread message

Alex Loktionoff

unread,
May 16, 2024, 8:25:42 AMMay 16
to БЭСМ-6
Подскажите пожалуйста как на эмуляторе dispak вводить выводить данные в файл?
Печать работает - но это только вывод.
Данные на БЭСМ6 на сколько понимаю могли быть:
0 - введены тут-же в колоде карт как массив и прописаны в паспорте
1 - в(ы)ведены с(на) перфоленты/перфокарт с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет
2 - в(ы)ведены с(на) магнитную ленту/диск с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет

Конечно хотелось-бы понять как делать все от 0 до 2, но давайте с простого и то что работает в user-space эмуляторе dispak
Полагаю эта тема будет полезна начинающим в будущем
БЕСМ6 изначально проектировалась как машина чтобы "посчитать" а какие расчеты с hard-coding в тексте программ, это не езда а ёрзанье.
Иду по книжке "Программирование на языке ФОРТРАН для БЭСМ-6" параграф 28 Операторы ввода-вывода
У меня программа с PUNCH падает естественно:

     ИСПОРЧЕН РЕКОРД

  LUN 1      RЕТ 02657 DЕV  00041 СZ  00000  РОINТ   00012


        IОХNSWАР   01000        GIVЕМАSК Е 01116

        НID/*      01073        IОХХRРСК   01145

        АНID/*   Е 01076        IОХХUРСК Е 01146

        СLЕАRLЕХ   01103        *IОХLSW* С 01217

        IОХGIVЕМ   01115          СВОБОД   01220


 КОНЕЦ ЗАДАЧИ

 00411: 00 074 0000 *74

Помогите пожалуйста как поправить?
tst_esevm-gdr.b6

Alex Loktionoff

unread,
May 16, 2024, 8:45:58 AMMay 16
to БЭСМ-6
Падает похоже не PUNCH, но все равно вывода перфоратора что-то не видно.

четверг, 16 мая 2024 г. в 14:25:42 UTC+2, Alex Loktionoff:

Alex Loktionoff

unread,
May 16, 2024, 10:50:19 AMMay 16
to БЭСМ-6
Оказывается PUNCH работает Use the SOURCE Luke!
В тестах dispak вот уже 4 года как есть dispak/tests/whetstone/whetstone.b6;  достаточно дать параметр:

dispak --punch=punch.txt tst_esevm-gdr.b6


и имеем файл punch.txt :D

...O............................................................................

................................................................................

.OO.OOOOOOOO....................................................................

O...............................................................................

................................................................................

...O............................................................................

................................................................................

................................................................................

................................................................................

................................................................................

...O............................................................................

................................................................................

кто колоду ронял и сам сортировал тот поймет, а как the rest of us? даже флаг --punch-binary не сильно помогает

Но все равно не ясно как заставить работать ввод и вывод?
Ни в тестах dispak ни dubna фортрановских READ/WRITE замечено не было пока... 

четверг, 16 мая 2024 г. в 14:45:58 UTC+2, Alex Loktionoff:

Leo B.

unread,
May 16, 2024, 1:07:46 PMMay 16
to БЭСМ-6
On Thursday, May 16, 2024 at 5:25:42 AM UTC-7 oxy...@gmail.com wrote:
Подскажите пожалуйста как на эмуляторе dispak вводить выводить данные в файл?
Печать работает - но это только вывод.
Данные на БЭСМ6 на сколько понимаю могли быть:
0 - введены тут-же в колоде карт как массив и прописаны в паспорте

Тут есть какая-то неувязка в терминах. В паспорте задачи прописывается исключительно  заказ ресурсов. 

1 - в(ы)ведены с(на) перфоленты/перфокарт с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет
2 - в(ы)ведены с(на) магнитную ленту/диск с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет

Тут в системе есть асимметрия. Действительно, в МС "Дубна" взять исходный текст и  данные для задачи можно было с накопителя
(обычно заказанного в паспорте), т. е., собственно вводимый пакет мог выглядеть как
*NAME ...
*READ:nuzzzz (и программа, и данные находятся в "файле" на устройстве nu с зоны zzzz)
*END FILE
или аналогично с произвольным количеством *READ, с тем лишь ограничением, что разбиение пакета на файлы может делаться только в тех местах, где в пакете есть управляющие
команды мониторной системы, т. е., например, команда запуска программы на выполнение *EXECUTE и все данные для программы
должны находиться в одном файле. 

Оператор READ 1,N в Фортране "не знает", откуда он читает данные - из вводимого массива или с накопителя.
Но перенаправить вывод аналогичным образом, чтобы оператор PRINT - именно PRINT, а не WRITE - мог писать данные на накопитель или на перфокарты/перфоленту,
в МС "Дубна" не было способа (насколько я понимаю, в Мониторе-80 какой-то способ появился, но детали мне неизвестны).

Что касается выдачи на перфокарты. Эта функциональность создавалась в эмуляторе ради возможности выдавать т. н. стандартные массивы 
(скомпилированные объектные модули). В этом случае перекодировать образ перфокарт в текст смысла не имеет.
Текстовых форматов на перфокартах было более одного: кроме поколонного IBM-, ICL- или CDC-совместимого (между ними была разница в кодировке пунктуации), был и
и построчный формат ГОСТ/УПП. В любом случае, программу или скрипт, преобразующий образы перфокарт в текст,  можно при желании написать за непродолжительное время.

Leo

Michael Yaroslavtsev

unread,
May 16, 2024, 5:47:00 PMMay 16
to be...@googlegroups.com
On Thu, May 16, 2024 at 10:07 AM Leo B. <leo...@gmail.com> wrote:
On Thursday, May 16, 2024 at 5:25:42 AM UTC-7 oxy...@gmail.com wrote:
Подскажите пожалуйста как на эмуляторе dispak вводить выводить данные в файл?
Печать работает - но это только вывод.
Данные на БЭСМ6 на сколько понимаю могли быть:
0 - введены тут-же в колоде карт как массив и прописаны в паспорте

Тут есть какая-то неувязка в терминах. В паспорте задачи прописывается исключительно  заказ ресурсов. 

1 - в(ы)ведены с(на) перфоленты/перфокарт с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет
2 - в(ы)ведены с(на) магнитную ленту/диск с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет

Тут в системе есть асимметрия. Действительно, в МС "Дубна" взять исходный текст и  данные для задачи можно было с накопителя
(обычно заказанного в паспорте), т. е., собственно вводимый пакет мог выглядеть как
*NAME ...
*READ:nuzzzz (и программа, и данные находятся в "файле" на устройстве nu с зоны zzzz)
*END FILE
или аналогично с произвольным количеством *READ, с тем лишь ограничением, что разбиение пакета на файлы может делаться только в тех местах, где в пакете есть управляющие
команды мониторной системы, т. е., например, команда запуска программы на выполнение *EXECUTE и все данные для программы
должны находиться в одном файле. 

Оператор READ 1,N в Фортране "не знает", откуда он читает данные - из вводимого массива или с накопителя.
Но перенаправить вывод аналогичным образом, чтобы оператор PRINT - именно PRINT, а не WRITE - мог писать данные на накопитель или на перфокарты/перфоленту,
в МС "Дубна" не было способа (насколько я понимаю, в Мониторе-80 какой-то способ появился, но детали мне неизвестны).
Был препринт ИАЭ за авторством А.Руднева и В.Бардина. Нет у нас его? Что-то вроде "Новые возможности Монитора-80". Там прям любые редиректы туда-сюда.
Можно ещё у Руднева спросить. 

Что касается выдачи на перфокарты. Эта функциональность создавалась в эмуляторе ради возможности выдавать т. н. стандартные массивы 
(скомпилированные объектные модули). В этом случае перекодировать образ перфокарт в текст смысла не имеет.
Текстовых форматов на перфокартах было более одного: кроме поколонного IBM-, ICL- или CDC-совместимого (между ними была разница в кодировке пунктуации), был и
и построчный формат ГОСТ/УПП. В любом случае, программу или скрипт, преобразующий образы перфокарт в текст,  можно при желании написать за непродолжительное время.

Leo

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/95f3073f-0c42-4e28-aa02-d9c96f343b8fn%40googlegroups.com.


--
Thanks,
-- Michael

Alex Loktionoff

unread,
May 17, 2024, 3:27:06 AMMay 17
to БЭСМ-6
Для меня как начинающего сразу и Дубна и Диска это много. Эту тему я начал чтоб разобраться с Диспак и потом начинающие могли повторить а потом уже и сами делать типовое задание типа use-case.

На сколько понимаю, у меня в паспорте не указано откуда и куда записывать данные.
Подскажите пожалуста типовой пример для паспорта Диспак.

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

После стандартной установки  dispak /*он сам скачивает образы дисков*/, куда можно безопасно писать/читать?
Если можно прямо пример задачи .b6 было бы здорово.

Но я подозреваю, что был еще один вариант, по крайней мере на начальных этапах сама задача могла быть вся на промаркированных  перфокартах:
паспорт
массив данных
программа

А вывод результатов просто на печать. Можно было делать через стандартные массивы а можно было делать через линковщик чтоб он из двух программ склеил одну 1-чисто данные для COMMON секции 2- код счетной программы.
Причем оператор мог по указанию менять часть с массивом или просто принимать уже готовую тасованную колоду для прогона, переиспользуя колоду готового, отлаженного кода.
Тут я тоже хотел бы и такой пример оставить кто будет пробовать как это было "посчитать" на БЭСМ.
Поделитесь как Вы обычно решали такие задачи?

Я тоже так подумал что эмулятор dispak раздувать еще множеством форматов перфокарт не стоит, лучше внешним скриптом конвертировать из файла с "дырочками". Хотя и получается асимметрия задания обычно вводились с перфокарт? Файлы .b6 это простой текст а вывод на перфокарты "дырочки" - для начинающего вопрос. 

четверг, 16 мая 2024 г. в 19:07:46 UTC+2, Leo B.:

Alex Loktionoff

unread,
May 17, 2024, 3:38:40 AMMay 17
to БЭСМ-6

Нет не нашел такой книжки, но мне кажется Монитор это МС Дубна а не чистый ДИСПАК? 
Leo, скажите Ваш dispak поймет формат паспорта, комманд Монитор-80?

Тут я хотел-бы разобраться для начала типовой пример задачи с чтением записью под ДИСПАК
Если есть ссылочка где можно качнуть, буду рад!
четверг, 16 мая 2024 г. в 23:47:00 UTC+2, BOPOHOK:

Leo B.

unread,
May 17, 2024, 4:19:48 AMMay 17
to БЭСМ-6
Много типовых примеров входных файлов, включая паспорта, для эмулятора Диспака можно найти в https://github.com/besm6/besm6.github.io/tree/master/wiki/examples

В паспорте указываются номера томов (дисков или лент), заказываемые только на чтение (напр. ЛЕН 41(1234)^) или на чтение-запись (напр. ЛЕН 41(1234-ЗП)^).
В отличие от юникса, в котором при открытии файла возвращается номер дескриптора, в Диспаке нужно указывать конкретный номер. Т. е. в данном случае, 
том 1234 будет доступен по дескриптору (в терминах Диспака - виртуальному номеру) 41 восьмеричное.

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

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

Безопасно писать можно на созданные вручную файлы с номерами ниже 2048 - они соответствовали лентам. (напр., touch 1234; после чего "лента 1234" будет доступна для
заказа в паспорте как выше (чтобы эмулятор ее увидел, каталог, в котором она находится, должен быть упомянут в переменной окружения BESM6_PATH - в том же стиле через двоеточие,
что и в обычном PATH). 

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

Если это пространство для персональной библиотеки объектных модулей есть,
то после компиляции  писали *TO PERSO:nuzzzz (где nu -  виртуальный номер тома, а zzzz - начальная зона),
а для прогона - *PERSO:nuzzzz
Примеров таких зависимых друг от друга пакетов у нас нет. Но вообще, лучше сначала прочесть книгу "Программирование на БЭСМ-6 в системе "Дубна"
(там, правда, про ОС Дубна, поэтому все разговоры про подтверждение пароля с помощью *PASS и заказ лент с помощью *TAPE надо игнорировать)

> Поделитесь как Вы обычно решали такие задачи?

Мне, к счастью, пространство для персональной библиотеки было доступно, поэтому я пользовался *TO PERSO и *PERSO.

Эмулятор понимает группы из 12 строк, состоящие из 80 символов "точка" или О, как образы перфокарт - это сделано ради стандартных массивов.

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

unread,
May 17, 2024, 6:01:04 AMMay 17
to 'Кирилл Кобелев' via БЭСМ-6
я слегка запутался, о чем, собственно, речь и за что боремся-то?



16 мая 2024 г., в 20:07, Leo B. <leo...@gmail.com> написал(а):

On Thursday, May 16, 2024 at 5:25:42 AM UTC-7 oxy...@gmail.com wrote:
Подскажите пожалуйста как на эмуляторе dispak вводить выводить данные в файл?
Печать работает - но это только вывод.
Данные на БЭСМ6 на сколько понимаю могли быть:
0 - введены тут-же в колоде карт как массив и прописаны в паспорте

Тут есть какая-то неувязка в терминах. В паспорте задачи прописывается исключительно  заказ ресурсов. 

1 - в(ы)ведены с(на) перфоленты/перфокарт с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет
2 - в(ы)ведены с(на) магнитную ленту/диск с определенного накопителя, то-же прописывается в паспорте, но самих данных в задаче нет

Тут в системе есть асимметрия. Действительно, в МС "Дубна" взять исходный текст и  данные для задачи можно было с накопителя
(обычно заказанного в паспорте), т. е., собственно вводимый пакет мог выглядеть как
*NAME ...
*READ:nuzzzz (и программа, и данные находятся в "файле" на устройстве nu с зоны zzzz)
*END FILE
или аналогично с произвольным количеством *READ, с тем лишь ограничением, что разбиение пакета на файлы может делаться только в тех местах, где в пакете есть управляющие
команды мониторной системы, т. е., например, команда запуска программы на выполнение *EXECUTE и все данные для программы
должны находиться в одном файле. 
и точно так же обходилось не с файлами на накопителе, а с вводом с карт… 

вполне работала схема:

массив А3 с пакетом управляющих карт
заканчивающийся картой *READ: (где лежит программа для компиляции, например)
*END FI
конец-А3
А3
*execu
<данные>
*END FI
конец-А3

вот только долго ей не пользовались, оказалось проще и удобнее запускать компиляции больших программ отдельной задачей и записывать СМ в perso.

а отдельно запускать задачу счета (в которой можно перекомпилировать отдельные мелкие модули из комплекса для отлажки или экспериментов)… 


Оператор READ 1,N в Фортране "не знает", откуда он читает данные - из вводимого массива или с накопителя.
Но перенаправить вывод аналогичным образом, чтобы оператор PRINT - именно PRINT, а не WRITE - мог писать данные на накопитель или на перфокарты/перфоленту,
в МС "Дубна" не было способа (насколько я понимаю, в Мониторе-80 какой-то способ появился, но детали мне неизвестны).

в М-80 (на что Лёша Руднев много времени потратил) была унифицирована работа с вводом-выводом через понятие «каналов» (рудименты этого в МС «Дубна» были, номера кананов там иногла поминались, но не были консистентны повсюду)…

и да, PRINT был просто формой записи WRITE(51,…) для обратной совместимости… 

были ли команды именно «перенаправления» ввода-вывода из канала в канал - я их не помню…
все те, кто хотел свободы выражения - писали WRITE(N,…) и переключали N  по логике программы.

но не могу утверждать, что их вообще не было… надо посмотреть переключатель служебных карт в М-80, может склероз зацепится за какую-то. 


Что касается выдачи на перфокарты. Эта функциональность создавалась в эмуляторе ради возможности выдавать т. н. стандартные массивы 
(скомпилированные объектные модули). В этом случае перекодировать образ перфокарт в текст смысла не имеет.
Текстовых форматов на перфокартах было более одного: кроме поколонного IBM-, ICL- или CDC-совместимого (между ними была разница в кодировке пунктуации), был и
и построчный формат ГОСТ/УПП. В любом случае, программу или скрипт, преобразующий образы перфокарт в текст,  можно при желании написать за непродолжительное время.

тут интересно, МС Дубна - AFAIR - выдавала _только_ поколонку (наследие предков)…

а в УПП выдавали родные  системы программирования - АвЧай, БЕМШ… 


Leo


Alex Loktionoff

unread,
May 17, 2024, 1:35:04 PMMay 17
to БЭСМ-6
Интересно, я вижу что по вопросу о ДИСПАК многие отвечают в ДУБНА вот так и так, это интересная но отдельная тема.
Вот только сейчас присмотрелся к паспорту для эмулятора dispak и вижу внутри вроде дубнанские *name *execute *end file
У меня просто разрыв шаблона мы говорим ДИСПАК подразумеваем ДУБНА, мы говорим ДУБНА подразумеваем ДИСПАК...
Подскажите в каком обсуждении это можно посмотреть и пообсуждать, чтоб осталось задокументировано для будущего. 

По наводке Leo пошел читать книжку Программирование на БЭСМ-6 в системе "Дубна"
https://disk.yandex.ru/i/-ssyeIaAMIPJ5Q, хотя она точно не про ДИСПАК, но все-же начал читать от безысходности.
И там во первых строках черным по-белому на 20 странице в разделе 1.2.5 О математических, логических и физических номерах устройств, приводиться таблица то 41 диск соответствует в фортране 1, 42-ой 2-ке все приводить не буду, можно книжку смотреть.
Поправил паспорт как Leo подсказал

шифр 419999 зс5^

лен 41(2048)^

лен 42(1234-зп)^

eeв1а3

*name Ftn

*call yesmemory

*system

*full list

*ftn

      SUBROUTINE NEWTON(X0,X1,ETS)

      X1=X0+ETS

      RETURN

      END

      PROGRAM MAIN

      X0=100

      PUNCH 0012, X0

      READ (54,0011) ETS

0011  FORMAT (F12.8)

0012  FORMAT (' FLOAT:', F12.8)

      CALL NEWTON(X0,X1,ETS)

      WRITE (02,0012) X0

      WRITE (02,0012) X1

      WRITE (02,0012) ETS

      PAUSE

      END

*execute

*end file

``````

еконец

  
И после команд

% touch 1234 

% BESM6_PATH=/usr/local/share/besm6/:. dispak --punch=punch.txt tst_esevm-gdr.b6

...

23.4


        IОХNSWАР   01000        GIVЕМАSК Е 01116

        НID/*      01073        IОХХRРСК   01145

        АНID/*   Е 01076        IОХХUРСК Е 01146

        СLЕАRLЕХ   01103        *IОХLSW* С 01217

        IОХGIVЕМ   01115          СВОБОД   01220


 КОНЕЦ ЗАДАЧИ

 00411: 00 074 0000 *74

И получаем на выходе желанные punch.txt и 1234 содержимое почему-то около 40К :-/

% cat punch.txt 

.O..O.O...O.....................................................................

..OO............................................................................

.....O..OO.OOOOOOOO.............................................................

....O..O........................................................................

................................................................................

..O..O....O.....................................................................

................................................................................

......O.........................................................................

.O.O............................................................................

................................................................................

......O...O.....................................................................

................................................................................

% hexdump -C 1234                                                               

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

*

00008100  08 95 0b 4b 83 00 02 00  00 20 4d c7 f1 05 02 00  |...K..... M??...|

00008110  00 00 00 99 99 41 02 00  fe 88 bf b4 10 9e 02 00  |.....A..?.??....|

00008120  08 95 0b 4b 93 00 02 00  00 20 4d c7 f1 05 02 00  |...K..... M??...|

00008130  00 00 00 99 99 41 02 00  fe 88 bf b4 10 9e 02 00  |.....A..?.??....|

00008140  55 55 55 55 55 55 02 00  aa aa aa aa aa aa 02 00  |UUUUUU..??????..|

*

00008190  00 00 00 00 00 c0 02 00  54 41 4f 4c 46 81 02 00  |.....?..TAOLF...|

000081a0  30 2e 30 30 31 3a 02 00  30 30 30 30 30 30 02 00  |0.001:..000000..|

000081b0  0a 55 55 55 0a 30 02 00  aa aa aa aa aa aa 02 00  |.UUU.0..??????..|

000081c0  55 55 55 55 55 55 02 00  aa aa aa aa aa aa 02 00  |UUUUUU..??????..|

*

00008250  55 55 55 55 55 55 02 00  04 00 00 00 00 00 02 00  |UUUUUU..........|

00008260  00 00 00 00 00 c0 02 00  54 41 4f 4c 46 81 02 00  |.....?..TAOLF...|

00008270  34 2e 33 32 31 3a 02 00  30 30 30 30 30 30 02 00  |4.321:..000000..|

00008280  0a 55 55 55 0a 30 02 00  aa aa aa aa aa aa 02 00  |.UUU.0..??????..|

00008290  55 55 55 55 55 55 02 00  aa aa aa aa aa aa 02 00  |UUUUUU..??????..|

*

00008320  55 55 55 55 55 55 02 00  04 00 00 00 00 00 02 00  |UUUUUU..........|

00008330  00 00 00 00 00 c0 02 00  54 41 4f 4c 46 81 02 00  |.....?..TAOLF...|

00008340  34 2e 33 32 81 3a 02 00  30 30 30 30 30 30 02 00  |4.32.:..000000..|

00008350  0a 55 55 55 0a 30 02 00  aa aa aa aa aa aa 02 00  |.UUU.0..??????..|

00008360  55 55 55 55 55 55 01 00  aa aa aa aa aa aa 01 00  |UUUUUU..??????..|

*

000083f0  55 55 55 55 55 55 01 00  04 00 00 00 00 00 02 00  |UUUUUU..........|

00008400  00 00 00 00 00 60 02 00  aa aa aa aa aa aa 01 00  |.....`..??????..|

00008410  55 55 55 55 55 55 01 00  aa aa aa aa aa aa 01 00  |UUUUUU..??????..|

*

0000a140

Я долго смотрел искал корреляцию, но похоже что это просто файл с фиксированной длинной записей /* что соответствует описанию программирование на фортран БЕСМ6*/ но длиной почему-то в 208 байт и просто 64bit big-endian тарабарщина.
Я думаю, что программа на фортране в этом-же эмуляторе это может прочитать обратно.
Самому подготовить данные для эмулятора не совсем удобно, но это уже мелочи.
Это первая победа!

Но это еще далеко не конец
Еще надо сделать:
- готовый пример .b6 для READ A3 массива прямо тексте задания /*не ясно через какой номер его читать*/ 
- готовый пример .b6 использования PERSO на стандартных дисках /*мы запускаем все от суперпользователя 419999 должны право иметь, но тут я вообще понятия не имею*/

пятница, 17 мая 2024 г. в 12:01:04 UTC+2, ReedCat:
tst_esevm-gdr.b6

Leo B.

unread,
May 17, 2024, 3:04:08 PMMay 17
to БЭСМ-6
On Friday, May 17, 2024 at 3:01:04 AM UTC-7 ReedCat wrote:
я слегка запутался, о чем, собственно, речь и за что боремся-то?

Боремся за научиться пользоваться разнообразными функциями МС "Дубна" в эмуляторе, очевидно.

вполне работала схема:

массив А3 с пакетом управляющих карт
заканчивающийся картой *READ: (где лежит программа для компиляции, например)
*END FI
конец-А3
А3
*execu
<данные>
*END FI
конец-А3

Это, (с поправкой - не просто А3, а В1А3) если и работало, то только в собственно МС "Дубна" (с помощью т. н. подчиненных пакетов, у Мазного это мельком упоминается). В Мониторе-80 эту фичу за ненадобностью упразднили, насколько я могу судить.

тут интересно, МС Дубна - AFAIR - выдавала _только_ поколонку (наследие предков)…

Скорее, не столько  наследие, сколько желательность совместимости с парком машин в ОИЯИ.


а в УПП выдавали родные  системы программирования - АвЧай, БЕМШ… 
 
Разумеется, ведь 120 символов всяко лучше, чем 80.  Интересно, что Диспак и Дубна умели вводить в кодировке УПДК, но программно в ней не перфорировали,
и какие устройства набора информации её умели, я не знаю. На ВЦ АН таких не было.

Leo

koctya boyko

unread,
May 17, 2024, 3:43:46 PMMay 17
to be...@googlegroups.com

Я, скажу сразу, в БЭСМ не гуру, и никогда им не был. Но программировать приходилось.

Поэтому отвечу так, как я понимаю сейчас: МС Дубна - это, по-современному, BIOS. Диспак (Диапак :) - это тогдашний linux, который перехватывает и переопределяет кучу системных вызовов, но вот сам процесс загрузки (паспорт задачи) переопределить не может. Поэтому начальная загрузка (паспорт задачи) - по Мазному, а дальнейшее выполнение - по Тюрину.

--
Данное сообщение отправлено Вам, как участнику группы "БЭСМ-6":
http://groups.google.com/group/besm6/topics
---
Вы получили это сообщение, поскольку подписаны на группу "БЭСМ-6".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес besm6+un...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/b2e407f5-6b5e-451e-9c48-01a0839a91een%40googlegroups.com.

Sergey Ryzhkov

unread,
May 17, 2024, 3:47:35 PMMay 17
to be...@googlegroups.com
Ровно наоборот, Диспак - это БИОС, все что связано с паспортом это его, Дубна - , то что начинается со *.

пт, 17 мая 2024 г., 20:43 koctya boyko <koc...@koctya.ru>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/0a3684a0-85f3-43b5-b32e-f12bfeb3692d%40koctya.ru.

Alex Loktionoff

unread,
May 17, 2024, 5:06:52 PMMay 17
to БЭСМ-6
Вот это похоже на то что я вижу.
Паспорт от шифр до еконец это ДИСПАК а внутри со * похоже ДУБНА.
Это может обьяснить почему эмулятор под названием dispak выводит шапку :D

М О Н И Т О Р-8 0  (3.7)   25.09.84*       (  МС " Д У Б Н А " ИАЭ  )             ШИФР    419999000000


Но остается вопрос зачем еще эмулятор dubna  https://github.com/besm6/dubna  :-/

пятница, 17 мая 2024 г. в 21:47:35 UTC+2, Сергей Рыжков:

Serge Vakulenko

unread,
May 17, 2024, 5:21:00 PMMay 17
to БЭСМ-6
On Friday, May 17, 2024 at 2:06:52 PM UTC-7 oxy...@gmail.com wrote:
Но остается вопрос зачем еще эмулятор dubna  https://github.com/besm6/dubna  :-/

Эмулятор dubna реализует системные вызовы ОС Дубна. И под ним тоже выполняется мониторная система Дубна, хотя и чуть другой версии.

Эмулятор dispak реализует системные вызовы ОС Диспак.

ОС Дубна и ОС Диспак это разные операционки. В чём-то совместимые до какой-то степени. Для ОС Дубна сохранились все исходники. С Диспаком хужее.

--Сергей

Michael Yaroslavtsev

unread,
May 17, 2024, 5:35:55 PMMay 17
to be...@googlegroups.com
On Fri, May 17, 2024 at 2:06 PM Alex Loktionoff <oxy...@gmail.com> wrote:
Вот это похоже на то что я вижу.
Паспорт от шифр до еконец это ДИСПАК а внутри со * похоже ДУБНА.
Извините за занудство, но вы этой терминологией сбиваете с ритма весь дом всех с панталыку. 
шифр 419999 зс5^
лен 41(2048)^
лен 42(1234-зп)^
eeв1а3
*name Ftn
...
Видите букву "е" в первой позиции 4-й строчки?
Она завершает паспорт. Всё остальное, начиная с 5-й строки, уже не паспорт, а данные, которые вводит и интерпретирует задача пользователя.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/03a35901-e0be-49bc-baa4-7637179a6793n%40googlegroups.com.


--
Thanks,
-- Michael

Sergey Ryzhkov

unread,
May 17, 2024, 6:18:32 PMMay 17
to be...@googlegroups.com
Шапку печатает МС Дубна. Используя имя из *name

пт, 17 мая 2024 г., 22:06 Alex Loktionoff <oxy...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/besm6/03a35901-e0be-49bc-baa4-7637179a6793n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages