hobot(05.09.2020)
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
На сколько я понимаю, в ZXMAK2 все же не потактовая эмуляция, но могу ошибаться.
- - - Добавлено - - -
При грамотном подходе к эмуляции, я думаю, что всего хватит. Понятно, что это должна быть оптимизированная потактовая эмуляция, а не втупую эмуляция всех транзисторов всех чипов)
Подскажите что и как делает PRUN. Набрал в Google "RT-11 PRUN" и ужаснулся поисковой выдаче, решил лучше спросить здесь![]()
manwe.pdp-11.ru
Буквально запуск фонового процесса. Обычно они начинают отвечать на один и более "эмулируемых" регистров из области 17xxxx. Так в ПК11/16 добавляется различная периферия и что-то вроде системных вызовов. Типа unix-way, - красиво, но медленно. Возможно быстрее было бы сделать через обычную библиотеку.
Список процессов можно посмотреть при помощи ps и прибить какой-то при помощи kill. Эти утилиты описаны в документации. Там же и про формат.prc файлов информация.
xolod(07.09.2020)
Спасибо. Странная штука этот PRC. Зачем-то содержит заголовок как в .SAV, а перед этим ещё и свой заголовок, который дублирует половину информации из .SAV. ИМХО 512 байт sav-заголовка вообще не нужны процессу, он их не использует. При этом документация, как обычно, писалась "для себя" - упущено то, что "и так понятно" авторам. Например, с какого слова всё таки начинается SAV-файл внутри PRC. Имя процесса "может следовать", начиная с 5-го слова, а если не следует - как PRUN это определяет? Загадки, загадки.
manwe.pdp-11.ru
Эти 512 байт заголовка, вполне можно занять кодом при прямых руках.
Но по умолчательному стандарту эти 512 байт отведены под стек.
Так, формат .SAV - формат прямого отображения на память. Не просто так в мониторе RT-11 есть команды, которые с этим работают Кому надо, те их знают![]()
Там просто идёт при загрузке считывание файла в память. Служебная информация содержится в начальном блоке. В оперативной памяти с начала - таблица векторов. По этому начальный блок для служебной информации.
Есть ещё формат .REL(есть таблица перемещения благодаря которой программа может быть загружена с любого чётного адреса свободной памяти) , но это специфично для FB(XM) монитора... Для того чтобы программистов не напрягать позиционно независимым кодом![]()
Последний раз редактировалось Alex; 08.09.2020 в 09:40.
Свой заголовок там внутри заголовка SAV файла - просто использую не используемое...
Не, я настаиваю что документация нормальная, просто еë нужно несколько раз перечитывать.
Там нет файла в файле. Это обычный SAV файл, если его просто запустить без утилиты prun, то запуститься код с адреса как указано в заголовке sav файла. А если через prun, то на тот же адрес плюс два.
На самом деле это удобно - можно есть выдачу help и просто осмысленное сообщение о том, что нужно запускать через prun. Либо реализовать какое-то взаимодействие с ранее запущенным процессом из этого же файла
Ну там же написано: приоритет у имении процесса заданного в строке запуска. Например "prun 123.prc/Test_procces" в таблицу процессов пропишет имя "Test_procces". А если имени нет ни в строке запуска, ни в самом файле, то там запишут просто имя файла " 123.prc".
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)