PDA

Просмотр полной версии : FPGA-реплика ЭВМ ДВК-3 и платы МС1201



Страницы : 1 [2]

Alex
05.07.2021, 13:42
Сейчас совсем закидают идеями :)
Ну а DU -тоже весьма желателен. Там можно примонтировать носитель практически любого объёма...
А RK05 - наверное самый распространённый вид дисков на СМ-3, СМ-4....
Да и не только на них.

xolod
05.07.2021, 13:52
Самый продинутый у DECа того времени был MSCP (драйвер DU) он и на VAXа был. Сторонние контроллеры SCSI от CDC и Emulex тоже прикидываются MSCP и могут работать в любых ОС.
https://vt100.net/manx/details/1,5421

- - - Добавлено - - -

Кстати мифическая Электроника 32п3 которая Зеленоградский VAX тоже загружалась с MSCP.

Hunta
05.07.2021, 14:15
Сейчас совсем закидают идеями
RP11 достаточно тривиален - уровень RK11, только без некоторых заворотов. Его как раз, мне кажется, не сложно реализовать. Но у него, как и у RK11 основная проблема - Unibus. А вот

Ну а DU -тоже весьма желателен.
мне кажется - на порядок сложней. Там один протокол общения чего стоит.


Самый продинутый у DECа того времени был MSCP (драйвер DU) он и на VAXа был
Продвинутый - да, поддерживаемый операционками - нет. Да и сложность реализации...

- - - Добавлено - - -


могут работать в любых ОС.
Нет

Alex
05.07.2021, 15:04
Я помню, что размер исходника драйвера DP в дистрибутиве RT11 был сравнительно небольшим.
DU сильно более по размерам. Да и сама реализация будет сильно более сложной :( по сему и сказал, что всего лишь желательна...
Но зато да DU можно флеш-карту подцепить, пусть и через кучу переходников, но ведь работает же :)
Как реализовать? Наверное можно ARM-ядро+FPGA+память...
Ну если уж хочется по фэншую, то можно в качестве внутреннего контроллера и ядро PDP-11 использовать :)
Взять спецификацию MSCP и написать.
Тем более, что PDP-11 на FPGA сильно шустрее исходника.
Сама DEC T-11 в контроллерах пользовала и не стеснялась :)

xolod
05.07.2021, 15:14
Hunta, Насчет в любых это я погорячился.
В раниих версия DECовских ОС драйвера DU нет. Но для Rt-11 и RSX-11M он точно есть незнаю правда в каких дистибутивах. А в 2.11BSD он как рекомендованная дисковая система значится.
https://minnie.tuhs.org/PUPS/Setup/2.11bsd_setup.html

- - - Добавлено - - -

Другое дело что для 2.11BSD нужен MMU с instructions & data space которорый есть только у J-11!

Alex
05.07.2021, 15:19
Другое дело что для 2.11BSD нужен MMU с instructions & data space которорый есть только у J-11!
Ну не только у J-11... Сама идея с instructions & data space была отработана на стоечных PDP-11, а уж потом была переселена на J-11.
У нас даже выпускалось подобное - "Электроника-79", например....

Hunta
05.07.2021, 15:45
Но для Rt-11 и RSX-11M
Из DEC-овский- по сути только в этих и есть, причём в RT-11 уже ближе к концу. В RSX с ходу не скажу.
Возможно, что в Ultrix-е. Но Unix системы меня слабо интересуют.


J-11
Который не такая редкость, пусть и стоит дороговато. С новодельной платой вот только тишина пока...


Взять спецификацию MSCP и написать.
Очереди не видно :) Несмотря на то, что нашлись исходники для RQDX3 :)

Моё видение. Эмулируемые устройства хороши в том плане, что можно сразу использовать. Плохи в том, что или емкость небольшая или работа с ними (читай - написание драйверов) - ещё тот феншуй. Поэтому нужен вариант нового контроллера, который будет максимально прост к программированию со стороны PDP-11 и позволит использовать , в идеале, любые современные носители. Но здесь мы упираемся в то, что с точки зрения размера и простоты написания other side не все современные носители просты. С моей точки зрения по этим характеристикам - CF - впереди планеты всей. Но тут вылезает то, что для CF нужно... хм.. МНОГО проводов, в том время как для, скажем, SD - что то около.. Э.. Шести? В опчем - нет в жисти щастья...

forth32
05.07.2021, 18:39
В принципе поддержка дисков RK05 тоже лишними не будет.
Так эти диски уже с самого начала есть в проекте. 8 дисков RK05. Действительно, это одни из самых старых дисков, поддержка их есть во всех ОС. Но, во-первых, они мелкие. Например, RSX-11M туда толком не влезает - только ядро и несколько самых нужных файлов обвязки. Туда даже полный XXDP 2.5 не лезет :) Ну и еще одна проблема- это устройство заточено на 18-битный UNIBUS, и, соответственно, для работы в 22-битных системах требуется поддержка UNIBUS Mapping со стороны процессора.


Ещё неплохо бы заиметь контроллер, который обслуживает диски, именуемые в RSX-11 как DP
Как раз RP02/03 сделать нетрудно, но чем они принципиально лучше RK611 (DM)? Там будет все та же проблема с 18-битным адресом DMA. Другое дело RP06 (DB) - эти устройства подключались к специальной шине MASSBUS, встроенной в процессор, и эта шина использует полный 22-битный адрес при DMA. Но зато эти диски не поддерживаются в RT-11. Я уже сделал модуль RP06 с шиной wishbone, но в проект пока не включал - смысла пока нет. Вначале надо сделать 22-битный процессор :)

Alex
05.07.2021, 18:50
Проблема в том, что многие "старые" системы не подозревают о существовании 22-битного адреса... :(
А некоторые и про 18-битный не ведают, но тут всё просто - диспетчер памяти не включается и почти увсё хорошо ...
Насчёт устройств MASSBUS надо мне будет почитать ;)

forth32
05.07.2021, 19:01
Проблема в том, что многие "старые" системы не подозревают о существовании 22-битного адреса..
Это как раз не проблема - просто памяти будет 256К, но старым системам этого за глаза.

Hunta
05.07.2021, 19:06
Как раз RP02/03 сделать нетрудно, но чем они принципиально лучше RK611 (DM)
Ёмкость. 40 мб против 26


Я уже сделал модуль RP06
Если от автора PDP-2011 - то он не доделанный - только один диск.


и эта шина использует полный 22-битный адрес при DMA
Если про реальные, а не эмулируемые, то ест нюанс - 22битные они только на RH70

forth32
05.07.2021, 19:21
Ёмкость. 40 мб против 26

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


Если от автора PDP-2011 - то он не доделанный - только один диск.
Ну, я использовал реализацию из PDP2011 как базу, чтобы проще было с форматом регистров разобраться. Там ведь все хитро сделано, часть регистров находится в устройстве RP06, часть - в MASSBUS-контроллере, а бывает даже что разные биты одного регистра лежат частично в контроллере, частично в устройстве. Соответственно, нет единого описания всех регистров, приходится доставать информацию из нескольких док.
Но моя реализация устройства - полная, 8 дисков RP06, поддерживается биты Volume Valid и сигнал "внимание" для каждого устройства в отдельности. Теперь дело только за процессором - и можно будет включать этот контроллер в репозиторий. Вот как раз сейчас и занялся сделать что-то на основе процессора PDP2011, но с шиной wishbone. Уже кое-что получается, CEKBA проходит без ошибок, CEKBB - с незначительными ошибками.


Если про реальные, а не эмулируемые, то ест нюанс - 22битные они только на RH70
То есть формально будут работать только на PDP11/70. Для PDP2011 это не проблема, а вот когда наши доблестные цифровые археологи выкопают из кремния F11 - тогда будем думать...

ra3qdp
05.07.2021, 19:28
forth32 - я Вам написал в личку, ответьте, пожалуйста.

Hunta
05.07.2021, 19:32
Возможно ты прав, хотя по мне так и 26Мб более чем. Но, пожалуй, можно и эти диски приделать, благо несложно и жрать не просят.
Если позиционироваться под RSX - там, особенно на этапе генерации - места лишнего не бывает :)


Но моя реализация устройства - полная, 8 дисков RP06, поддерживается биты Volume Valid и сигнал "внимание" для каждого устройства в отдельности.
А вот это круто :)


То есть формально будут работать только на PDP11/70.
Если честно - не знаю :) Смотрел в RSX - ЕМНИП, та тупо смотрит - есть регистр RHBAE (или как он там правильно называется)? Да, работает с 22 битами, нет - 18 через UMR. А больше из знакомых мне осей эти контроллеры никто и не поддерживает. Так что - хрен её знать.
Похожая ситуация с RL контроллером - то есть есть unibus (18 бит), есть qbus (22 бита). Сделал qbus вариант - вроде работает и не жужжит...

Hunta
08.07.2021, 18:15
Налетел опять на это вопрос (RH70 не на PDP-11/70).

Вопчем, основная проблема, как мне кажется, будет с загрузкой. Ибо одна прога (не будет говорить кто, хотя это был SAVёнок) смотрит, какой контроллер - RH11 или RH70 - проверяя сначала - а не на PDP-11/70-ли мы (наличие регистра SYSID) и только если на нём, родимом - тогда проверяет наличие регистра RHBAE, причём каким то извращённым способом (я пока не стал детально анализировать - чего происходит)

Так что не всё так просто с Unibus системами и контроллерами, у которые есть варианты как 18-ти, так и 22-ух битные..

forth32
09.07.2021, 06:50
Честно говоря, я не очень понял, о какой программе ты ведешь речь, тем более что SAV - это программа для RT-11, в которой RP06 вообще не поддерживается.
Что касается RSX-11M, то там принадлежность устройства к massbus-контроллеру определяется битом DV.MBC блока UCB устройства. Формируется он еще на этапе генерации системы, причем вот так:

.IF $TME GT 124. .IF $TPR NE "11/24" .IF $TPR NE "11/44" .IF $TPR NE "11/84" .SETS MBC "!DV.MBC"
То есть требуется больше чем 256К памяти, и процессор не должен быть /24, /44 или /84. Получается, нет никаких проблем прикрутить снаружи контроллер RH-70 к практически любому процессору. Если регистры есть на шине - система будет с ним работать.
Как это реализовано в RSTS я не знаю - с этой системой я почти не знаком. В RT-11 и так DB не поддерживается. А обычные программы вообще не лезут к регистрам контроллера. Те, которые все же лезут туда - это всякая диагностика, которая и так работать не будет из-за отсутствия диагностического режима.

Hunta
09.07.2021, 07:37
Если RH11/RH70 не поддерживается в RT - логично, что речь идёт не о ней?

Тем более, что SAV, это программа, которая грузит RSX.

Конкретно я смотрел от плюса (и что там у обычной М - надо смотреть отдельно).

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

И с которой я налетел на похожую проблему с RL211 (он как бы только для QBUS в реальном мире, но с точки зрения драйвера - отличается наличием RLBAE).

То есть - нет UMR (значит, используем RLBAE) - грузится, есть UMR (значит, не используем RLBAE) - не грузится.

forth32
09.07.2021, 07:56
Ну, с плюсом я дела не имел в прошлой жизни, не было ее ни на одном из наших ВЦ. Тем более дисков RL02 я в глаза не видел, по-моему их советского аналога вообще не существует.
Ладно, надо и правда посмотреть, как плюс грузит систему. SAVDB.MAC вроде бы в дистрибутиве есть.

Hunta
09.07.2021, 09:23
Бегло глянул M. С ходу - не понял. Потом, когда-нибудь. Когда допилю RH и буду его тестировать.

Alex
09.07.2021, 09:30
Вопрос ещё в том, на сколько актуальна реализация больших дисков...
Если есть образ системы сгенерённой на эти большие диски, то включение их контроллеров оправдано.
Но меня терзают смутные сомнения, что образа таковой системы в наличии нет и не предвидится :(
И скорее всего таких дисков в СССР не было(в лучшем случае единичные экземпляры). Такие накопители были большой редкостью и за пределами СССР.
Если необходимы большие тома, то вполне достаточно DU.
Есть некоторая возможность наткнуться на образ DP...
Мелкие диски необходимы, так образов под RK05(да и под другие диски RK) должно быть множество.
Конечно, если реализация контролеров больших дисков большого труда не составит, то их лучше сделать, чем не сделать.
Но отлаживать эти контролеры - изрядная трата времени и сил.

Hunta
09.07.2021, 09:46
Я знал и достаточно близко три Электроники-79 (наш аналог PDP-11/70), у которой как раз был этот самый RH70 и диски типа RP06. И учитывая, что все три машинки были в одном городе (Саратов) и учитывая, что одна стояла в Политехе (а не на военных заводах, как остальные две) - фраза о редкости и единичных экземплярах - преувеличение.


Если необходимы большие тома, то вполне достаточно DU.
Которые ещё надо реализовать и протокол работы с которыми как бы был не на порядок сложней RH и поддержка которых.. Ну, в случае PDP-11 примерно на уровне RH


Но отлаживать эти контролеры - изрядная трата времени и сил.
Судя по тому, что реализация RH есть, а MCSP нет - что то мне подсказывает, что на DU придётся затратить на порядки больше времени

- - - Добавлено - - -


Если есть образ системы сгенерённой на эти большие диски, то включение их контроллеров оправдано.
Старых - нет, новые - есть. И самое главное - по размеру с дисками для контроллера RH могу сравниться только MSCP (контроллер RQ), реализация которого, в принципе, есть, но я видел только в simh, а там отнюдь не под FPGA. А RH есть (и уже две) - и под FPGA

- - - Добавлено - - -

Подводя итог. Я бы реализовал ВСЁ :) Ибо не предсказуемо - для чего может понадобится :)

Мне вот сейчас хочется иметь CT (накопитель на кассетах), дабы поиграться с CAPS-11 :)

Alex
09.07.2021, 11:15
Ну если есть такая возможность, то лучше реализовать ВСЁ ;)
Были на СМ накопители на кассетах. Возможно их можно найти. Единственно, что так там обычны кассеты...
Я даже с таковым сталкивался. Это было первый мой случай, когда я полез в макроассемблер по крупному... :)
Надо было написать на таковой драйвер, но я не написал, признаюсь честно :(
Не было у меня тогда ни опыта ни внятной документации... :(
(Это я потом разошёлся, драйвера на RT-11 написал. Переделал DW из стандартной поставки RT-11 на ДВК и написал драйвер MY )
Были написаны модули чтения и записи блоков на кассету... Это даже работало.
Зачем драйвер писать? Так реализовано подключение к ДВК нестандартным образом, через плату двунаправленного параллельного порта... Два вектора прерывания и 4 регистра. Идея была в том, чтобы была возможность обмена файлами с СМ.
Но эту проблему обмена решили другим образом, через токовую петлю. И как-то с кассетами возится расхотелось.

Hunta
09.07.2021, 11:23
Были на СМ накопители на кассетах. Возможно их можно найти. Единственно, что так там обычны кассеты...
Как раз это - не сильно интересно :) Если только вдруг в руке попадёт куча записанных кассет :)

Alex
09.07.2021, 14:39
Это навряд ли.... :(
На СМ основным переносчиком данных были девятидорожечные ленты.
На СМ АРМ чертёжника был кассетный магнитофон, но ни разу им при мне никто не пользовался :(
Ещё в одном месте такой же кассетник стоял в стойке СМ, но был просто отключен даже от питания(спросил почему так, ответили, что просто им не нужен) :(
На не СМ кассетники использовались, но как я понимаю, там всё своё было, т.е. не совместимо :( (Д3-28, Искра-226, куча бытовых компьютеров)
А потом пришли дискеты и кассеты остались в пролёте.
То есть кассетники были актуальны за рубежом, менее десятилетия...
У нас на СМ ими почти совсем не пользовались...
На ДВК/Электроника их просто почти не было... Более я подобных поделок я так и не увидел и даже не слышал. Если немного перенести надо было - использовали перфоленту.

Hunta
09.07.2021, 14:46
Это навряд ли....
Ну я бы не сказал. Скажем, на том же ебее бывают, да и народу попадаются. Таким вот образом сначала восстановили (загрузочные) кассеты CAPS-11, а потом и (почти) все её исходники - с кассет :)

Alex
09.07.2021, 17:06
Я и говорю, за рубежом пользовали эти кассеты с 1978 года, если верить интернету. Смысл был в том, что кассеты были заменой дискеты. Дискеты в массы двинулись в 70-е годы, но по началу были дороги... Вот кассеты и вылезли на рынок. А потом довольно быстро всё вернулось на круги своя. Дискеты оказались удобнее. Печалька в том, что кассеты DECtape II немного отличались от аудиокассет... То есть за рубежом можно найти да купить. Были комплекты на кассетах вместо дискового накопителя. Поскольку они были сравнительно недорогие, то их и продали довольно много. Но у нас увы :( Накопители немного другого стандарта да и в большинстве случаев не использовались :(

Hunta
09.07.2021, 17:31
Вот я и сказал - если вдруг попадётся куча записанных кассет. Я бы от от флоповодов избавился, кстати, от CD или DVD тоже, но тут носители ГОРАЗДО чаще встречаются...

Так что всё таки попробую как нть взять себя в руки и сделать эмулятор - через com порт - что бы и старые операционки можно было погонять. Но когда....

vva
16.07.2021, 17:16
Приветствую народ. Пытаюсь воплотить на OMDAZZ ДВК-3, нужна помощь. Написал автору, но боюсь, он занят.

xolod
16.07.2021, 23:42
Приветствую народ. Пытаюсь воплотить на OMDAZZ ДВК-3, нужна помощь. Написал автору, но боюсь, он занят.

Так а в чем вопрос-то? OMDAZZ ваш это Cyclone 4.

ZPilot
16.07.2021, 23:47
Пересобрал проект под плату: QMTECH CycloneIV EP4CE15, все работает, только очень сильно сдвинуто изображение влево, автоподстройка дисплея не помогает. Нужны кому исходники? Разница с QMDAZZ только в контроллере SDRAM, ну и в пинах.

xolod
16.07.2021, 23:54
Сделайте коммит в основную ветку со cвоей платой.
А автор проверит и смержит со своей веткой.

ZPilot
17.07.2021, 00:15
Сделайте коммит в основную ветку со cвоей платой.
Прости, дружище, я не знаю как это делается.. :(

Да, нашел в настройках дефайн сдвига вправо, помогло, но мало, может у меня монитор странный. В коментах к vga написано, что он 800х600, монитор пишет 1440х768.

ПС: подвинул вправо на `define hsync_shift 11'd60

forth32
17.07.2021, 08:13
Мне вот и самому интересно, почему картинка съезжает вбок на некоторых мониторах, причем на разных - по-разному. Все отличие формируемого моим модулей видеосигнала от стандартного в том, что пиксельклок у меня 50 Мгц, а по стандарту VESA для сигала 800*600*75 он должен быть 49.5 Мгц. Неужели это как-то повлияло? Отличие-то ничтожное, всего 1%.
Но делать 49.5 Мгц как-то не хочется. Это надо задействовать еще один канал PLL, и я сомневаюсь, что он сможет сделать 49.5 Мгц из 50 без ощутимого дрожания фазы. Особенно на TANG-плате, там PLL совсем странный и неудобный в настройке.

vva
17.07.2021, 10:21
На моих Samsung и HP еще и не помещается во вертикали. Поэтому использую телевизор.

- - - Добавлено - - -

Автор ответил. Кое-что понял и воплотил.
Понизил частотк до 50МГц; вернул sdcard_sclk = sdclk; PLL altpll_component.clk2_divide_by = 64, altpll_component.clk2_duty_cycle = 50, altpll_component.clk2_multiply_by = 1, altpll_component.clk2_phase_shift = "0".

Заработало!!!. Загрузка с DX, MY, RK. Вижу все диски. Идут тесты Т0 и др., остальные не пробовал.

Осталось неясно как частота clk2 может влиять на что-то еще кроме sdspi. И также неясно, что делать
с DRAM_ADDR[12], на моей QMDAZZ адресная шина 0-11.

xolod
17.07.2021, 11:05
Прости, дружище, я не знаю как это делается.. :(

Дайте исходники, сделаю.

ZPilot
17.07.2021, 16:01
Дайте исходники, сделаю.
Надо привести их в порядок и разобраться с пока непонятными мне глюками: грузится только с RK0 и DX0, да и то только вот так:
https://i.ibb.co/BcyY3xL/Whats-App-Image-2021-07-17-at-09-56-50.jpg

forth32
17.07.2021, 17:02
да и то только вот так:
А драйвер MY вообще инсталлируется (INS MY) ? Если нет, то у тебя, похоже, регистры MY-контроллера недоступны на шине. Ты проверь их доступность из теневого монитора.

ZPilot
17.07.2021, 22:59
А драйвер MY вообще инсталлируется (INS MY)
У меня грузится с 2х дисков: RK0 и DX0, с RK2 грузится, но даже на команду dir говорит, что ее нет.
На дисках RK0 и DX0 нет файла my.sys.
Как проверить из теневого монитора?

forth32
18.07.2021, 20:42
На дисках RK0 и DX0 нет файла my.sys.
Ну тогда и бессмысленно делать DIR MY: - вначале надо драйвер на системный диск записать.

ZPilot
19.07.2021, 00:48
вначале надо драйвер на системный диск записать.
Так у меня же образ на флешку залит тот, который идет в проекте, там разве не было драйвера под MY?

forth32
19.07.2021, 06:07
там разве не было драйвера под MY?
Вполне может быть что его там действительно нет. Контроллер MY я делал значительно позже RK, мог и не обновить стартовый образ.

forth32
16.09.2021, 08:19
Пока наш доблестный цифровой археолог выкапывает из кремния F-11, я решил провести подготовку проекта к работе с 22-битной адресной шиной. Поскольку HDL-схем реальных процессоров с mmu в природе пока не существует, я решил воспользоваться все тем же старым добрым pdp2011. Это чисто синтетический процессор, не имеющий реального схемотехнического прототипа. Он построен не на микропрограммном автомате, как настоящие процессоры от DEC, а на машине состояния, является модульным и очень хорошо адаптируемым - из него можно вылепить любой pdp-11-совместимый процессор, даже 1801ВМ3, при наличии достаточной документации. Я решил сделать PDP11/70 - это один из наиболее сложных и развитых из процессоров линейки pdp-11. У него в составе есть FPU, 2 переключаемых набора регистров, режим Supervisor, программные прерывания, Unibus Mapping и много других интересных вещей. Он был содран в СССР под имененм Электроника-79, он полностью совместим со всеми ОС

Оригинальный pdp2011 написан на VHDL, и имеет довольно странную, ни с чем не совместимую шину, причем жестко синхронизированную - все операции ввода-вывода должны выполняться ровно за 1 такт. Сам процессор также жестко синхронизирован с контроллером SDRAM, собственно SDRAM и вырабатывает тактовый сигнал процессора. Мне такой подход не нравится, и он совсем не совместим с шиной Wisbone моего проекта. Поэтому я произвел глубокую переделку процессора:

Переписал схему с многословного громоздкого VHDL на симпатичный мне компактный Verilog.
Убрал из схемы ненужные мне элементы, вроде работы с консольным пультом.
Отвязал процессор от SDRAM, теперь процессор и память тактируются каждый своим синхросигналом
Полностью переделал блок ввода-вывода процессора, теперь наружу выходит стандартная шина Wishbone.
Практически полностью переделал блок MMU для работы с шиной wishbone.
Исправил кучу недоделок для более-менее корректного прохождения тестов XXDP CEKB*. Полностью от ошибок, обнаруживаемых тестовыми программами, я не избавился, но то, что осталось - сущая ерунда, на которую можно смело забить.

В результате в проекте появилась еще одна процессорная плата по имени PDP2011, которую можно подключить к конфигурации в том же config.v. Поскольку 22-битные процессоры гораздо сложнее 16-битных и имеют более развитый внешний интерфейс, пришлось сделать отдельную соединительную плату topboard22. У процессоров с MMU несколько раздельных линий векторного прерывания (потребовалось 2 контроллера прерываний), есть режим unibus mapping, что предполагает обработку DMA-адреса диспетчером памяти, и много других важных отличий. Старая плата для 16-битных процессоров теперь называется topboard16. Какую именно соединительную плату включать в проект автоматически решает config.v на основании выбранного процессора.

Кроме собственно процессора pdp2011, я добавил также в проект дисковый контроллер RH-70 (DB:). Этот контроллер формирует шину MASSBUS, имеющуюся в PDP-11/70. В оригинале к этой шине можно подключать несколько типов дисковых и ленточных устройств, в том числе и в смешанной конфигурации. У меня к контроллеру подключено 8 дисков типа RP06. Эти устройства хранят информацию на пакетах дисков из 12 (примерно) блинов. Такие пакеты прилично весили и выглядели довольно внушительно. В годы перестройки из этих блинов делали дециметровые антенны. Советским аналогом RP06 было устройство ЕС-5067. В прошлой жизни мне такие не попадались, в наших ВЦ стояли ЕС-5066 (аналог RP05) с вдвое более низкой емкостью.
Пакет RP06 имеет форматированную емкость 341088 блоков (166 Мб). 8 таких дисков могут вместить даже такую прожорливую ос как RSX-11M+ вместе со всей библиотекой DECUS. Физически образы дисков расположены все на той же самой SD-карте, являются посекторными образами диска и напрямую совместимы с эмулятором SIMH.
RT-11 не поддерживает работу с RP06, возможно, в силу ограничений на максимальный размер файловой системы в 32 Мб. Поэтому эти диски подключаются только к topboard22. Все остальные устройства (DX, DM, DK, DW, MY, ИРПС, ИРПР, КГД, КСМ) могут подключаться и в 16- и в 22-битной конфигурации. Так что в принципе можно сделать такую причудливую машину, как PDP-11/70 с КГД. Правда, толку от нее будет немного - почти все графические программы используют команды MFPS/MTPS для доступа к PSW и на такой машине работать не будут.
В стартовый образ диска initdisk.img я добавил диски с RSX-11M v4.8, RSX-11M-PLUS v4.6, RSTS/E v10.1. Загружайте, наслаждайтесь. Можно сделать загрузочные диски с UNIX, ULTRIX, 2.11BSD и другими юниксподобными ОС. Я их не стал включать в стартовый диск, чтобы совсем его не раздувать в размерах.

Вся информация по новому процессору вынесена в отдельный файл doc/pdp2011.pdf. Информация о корзине topboard22 и дисках DB добавлена в main-manual.pdf.

Как всегда, набор скриншотов, иллюстрирующих работу машины PDP11/70:
https://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsx11m-boot.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsx11m-plus-boot.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsx11m-plus-rmd.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/fmg.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/ted.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsts-boot.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsts10-mon1.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/rsts10-mon2.pnghttps://raw.githubusercontent.com/forth32/dvk-fpga/main/screenshot/ramtest.png
Теперь плохие новости. В полной конфигурации с включенным FPU проект занимает около 21000 логических ячеек. Если FPU убрать из конфигурации (это задается в config.v), то проект уменьшается до 17500 ячеек. Но даже в таком виде он не вслезет в младшие FPGA. Поэтому из имеющихся в проекте FPGA-плат pdp2011 можно использовать только с QMTECH E55 и A-ESTF V2. Можно запихать его и в TANG, но только убрав из конфигурации FPU, а также или КСМ или часть дисковых контроллеров.

Теперь проект готов к 22-битной адресной шине. Ждем новогоднего подарка от доброго дедушки мороза по имени VSLAV.

Vslav
16.09.2021, 10:37
Очень крутая работа проделана, спасибо.
Теперь будет куда F11 вставить. Он вроде ожидается не столь громоздким, ~6-8К ячеек в полной конфигурации, но это очень предварительно. Сейчас, как раз, собственно DC302 описываю.

vva
19.09.2021, 12:43
Мощно. Спасибо. Запустил - работает. Кто помнит номер теста, который постоянно писал на экране "The quick brown fox ..."?

Ратмир
19.09.2021, 15:37
Эх видео работы бы посмотреть

forth32
19.09.2021, 17:56
Кто помнит номер теста, который постоянно писал на экране "The quick brown fox ..."?

Тест EQKCE1. Только чтобы он правильно заработал, надо бит 6 регистра консольных переключателей выставить в 1.
Тест есть на диске DX0 и DM1 стартового образа.

vva
19.09.2021, 20:57
Тест EQKCE1. Только чтобы он правильно заработал, надо бит 6 регистра консольных переключателей выставить в 1.
Тест есть на диске DX0 и DM1 стартового образа.

Спасибо.

vva
20.10.2021, 16:15
Приветствую сообщество.
Обнаружено отставание таймера на, приблизительно, 17 сек за минуту для реализации ДВК-3.
Для реализации PDP-11/70 отставание/опережение не отмечено. Где-то кто-то уже описал как бороться дрейфом таймера?

forth32
21.10.2021, 07:02
Обнаружено отставание таймера на, приблизительно, 17 сек за минуту для реализации ДВК-3.
Для реализации PDP-11/70 отставание/опережение не отмечено

Странно. На всех процессорных платах генератор импульсов таймера сделан абсолютно по одной и той же схеме. Мне сейчас проверить не на чем, но в выходные я посмотрю. Тут надо просто вывести импульсы таймера наружу fpga и измерить их период.

А монитор RT-11 точно сгенерирован на таймер 50 Гц? Потому что по умолчанию во всех мониторах 60 Гц, и это вызовет как раз такое отставание.

vva
21.10.2021, 10:29
А монитор RT-11 точно сгенерирован на таймер 50 Гц? Потому что по умолчанию во всех мониторах 60 Гц, и это вызовет как раз такое отставание.

Проверял как на самостоятельно сгенерированном 5.07, так и на 5.04 (DK0: в initdisk.img).

- - - Добавлено - - -

Проверил связку RT11 (DK0: в initdisk.img) и PDP11 - дрейфа нет.

xolod
30.10.2021, 21:50
Мой порт ДВК FPGA для MiSTer заработал с образами дисков с файловой системы. Выделенная SDCARD больше не нужна.
https://github.com/xolod79/MC1201/blob/master/releases/MC1201_20211030.rbf
Пока работа самого ядра не очень стабильна. WIP!

RA7N
15.02.2022, 12:46
Уважаемый forth32, уважаемые коллеги!

Портирую проект на плату https://www.waveshare.com/wiki/CoreEP4CE10
По скудоумию своему не придумал ничего более, нежели изменить проект AX4010. Впоследствии, конечно, перепишу в отдельный проект платы и выложу на свеобщее обозрение, но пока именно так.

С vga пришлось поступить не по-людски, оставив только по одному биту из цапа - заработало.
С PS/2 чудеса - не встало на пины разъема с VGA, отсадил на другую гребенку, но при всем этом отчего-то с подачи питания не работает, работает только после передергивания питания +5 В клавиатуры.

Тесты проходят (за исключением LP :).

Но имеем нерабочую SD, в чем может быть проблема? Я ее отсадил на свободные пины, вроде все должно работать, НО обращения к ней нет.

Записал dd корректно, сама карта - SDHC 32 Gb. Читается, sd_extract извлекает из нее (прямо с адаптера) под линхами все диски, диски монтируются в pdp11...

@172140/000040 37
@172142/
BUS ERROR

@B
RK0
@
И да, вопрос - ПС как нажать?

С чем может быть связано? Пины менял, там все чисто. Светодиод на самой плате SD горит только питания. Светодиоды обращения к дискам молчат.

Еще вопрос относительно выбора банка - мы не цепляем кнопки физические?
hdl/topboard16.v: input [3:0] sw_diskbank, // дисковый банк
hdl/topboard16.v: .start_offset({1'b0,sw_diskbank,22'h0}),

И в исходниках по умолчанию действительно первый банк?

Немного сумбурно, но хоть какой-то прогресс есть у меня...

yu.zxpk
15.02.2022, 23:13
Может быть SD-контролер, используемый в дизайне, не правильно инициализирует SDHC?
Не поддерживает какие-то capabilities, или в SPI mode не переключает, или еще что-то?

p.s. Я забросил разбираться с проблемой у меня.

ZPilot
16.02.2022, 01:38
Но имеем нерабочую SD, в чем может быть проблема? Я ее отсадил на свободные пины, вроде все должно работать, НО обращения к ней нет.
Я не знаю, что за плата SD у вас, но попробуйте пин MISO подтянуть к 3.3 В используя пул-ап резистор.
И еще, PS/2 клавиатуры прекрасно работают от питания 3.3 вольта вместо 5.

RA7N
16.02.2022, 10:16
Я не знаю, что за плата SD у вас, но попробуйте пин MISO подтянуть к 3.3 В используя пул-ап резистор.
И еще, PS/2 клавиатуры прекрасно работают от питания 3.3 вольта вместо 5.

Странно себя ведет клавиатура. питание передернешь и ок, а со старта - нет.

Что касается модуля - он вот такой https://www.waveshare.com/wiki/Micro_SD_Storage_Board

А подтянуть 3.3В можно ведь и
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdcard_miso

?

Или физически через 1К резистор?

vva
16.02.2022, 11:18
Отдельный модуль SD - гемор. У меня такой заработал на OMDAZZ только на 2.5МГц и при очень коротких проводниках, сильно перепутанных (замена на короткий шлейф опять привела к нерабочему состоянию).

- - - Добавлено - - -


Уважаемый forth32, уважаемые коллеги!
...И да, вопрос - ПС как нажать?
...

На VT52 клаве (которая через PS/2) правый ALT работает, а вот в Putty так и не нашел :(

RA7N
16.02.2022, 12:17
Отдельный модуль SD - гемор. У меня такой заработал на OMDAZZ только на 2.5МГц и при очень коротких проводниках, сильно перепутанных (замена на короткий шлейф опять привела к нерабочему состоянию).

- - - Добавлено - - -



На VT52 клаве (которая через PS/2) правый ALT работает, а вот в Putty так и не нашел :(

Спасибо


Модуль воткнут непосредственно в 32I/O_3, без шлейфа

vva
16.02.2022, 12:34
...
Что касается модуля - он вот такой https://www.waveshare.com/wiki/Micro_SD_Storage_Board
...

У меня работал вот такой очень простой модуль. https://3d-diy.ru/wiki/arduino-moduli/module-micro-sd-card-reader/

RA7N
16.02.2022, 13:17
У меня работал вот такой очень простой модуль. https://3d-diy.ru/wiki/arduino-moduli/module-micro-sd-card-reader/

Его тоже заказал для проверки, буквально вчера. попробую, спасибо

Upd:
проверил свой модуль на тупой ардуинке с примером. все работает MOSI/MISO

xolod
16.02.2022, 15:05
Но имеем нерабочую SD, в чем может быть проблема? Я ее отсадил на свободные пины, вроде все должно работать, НО обращения к ней нет.

С чем может быть связано? Пины менял, там все чисто. Светодиод на самой плате SD горит только питания. Светодиоды обращения к дискам молчат.


Вы посмотрите активностью на ногах CS, CLK, MISO, MOSI присутствует ?

Еще есть момент, у автора в модуле hdl\sdspi.v тактовая частота для SDCard генерируется постоянно. А по спецификации она должна вырабатываться только при передачи данных.
http://elm-chan.org/docs/mmc/mmc_e.html
Это работает нормально, но есть вероятность что могут быть нюансы.

RA7N
16.02.2022, 16:27
Вы посмотрите активностью на ногах CS, CLK, MISO, MOSI присутствует ?


Осциллографом?

Или есть возможность в квартусе лайт?

xolod
16.02.2022, 16:44
Осцилографом.
И
SignalTap в Quartusе

Hunta
16.02.2022, 16:44
Или есть возможность в квартусе лайт?
Если SignalTap поддерживается

ZPilot
16.02.2022, 18:09
подтянуть 3.3В можно ведь и
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to sdcard_miso
Да, этого должно быть достаточно.


У меня работал вот такой очень простой модуль. https://3d-diy.ru/wiki/arduino-modul...d-card-reader/
Недавно мой товарищ столкнулся с проблемой на этом модуле, когда собирал эмулятор Спектрума на esp32, там тоже не все гладко, нужно впаивать резистор в разрыв между одним из выводов слота SD и микросхемой конвертера уровней.


Странно себя ведет клавиатура. питание передернешь и ок, а со старта - нет.
Может задержку инициализации нужно сделать? Но у меня такой проблемы не было.

RA7N
16.02.2022, 22:18
[QUOTE=ZPilot;1147349]Да, этого должно быть достаточно.
/QUOTE]

К сожалению, ничего не изменилось.

Напрягает BUS ERROR. тальным путем установлено, чаще проявляется, когда медленно набираешь команды...


Кстати, я смутно помню вообще пультовые команды и адреса. Букварь есть у кого? Спасибо

ЗЫ

@172140/000040 (ПС - правый альт же?)
R1/151040
попадаю в регистры отчего-то
@172142/


@177406/000000 177400^
R4/000100
@177406/
BUS ERROR
@177406/000000 177400^
R2/000000
@177404/
BUS ERROR
@177404/000200 5
@0 000004

Ошибки же? Коды бы...

xolod
16.02.2022, 23:38
@177406/000000 177400^
R4/000100
@177406/
BUS ERROR
@177406/000000 177400^
R2/000000
@177404/
BUS ERROR
@177404/000200 5
@0 000004


Ну это скорее всего у вас модуль DW.v не собран в проекте. В config.v он включен?

RA7N
16.02.2022, 23:43
Ну это скорее всего у вас модуль DW.v не собран в проекте. В config.v он включен?

Все включено, только принтер отключил

`define KSM_module // текстовый контроллер КСМ
`define KGD_module // графический контроллер КГД
`define IRPS2_module // второй последовательный порт ИРПС
//`define IRPR_module // параллельный порт ИРПР
`define RK_module // диск RK-11/RK05
`define DM_module // диск RK611/RK07
`define DW_module // жесткий диск DW
`define DX_module // гибкий диск RX01
`define MY_module // гибкий диск двойной плотности MY
`define bootrom_module // монитор-загрузчик M9312

xolod
17.02.2022, 00:52
В Quartusе меню Tools зайдите в RTL Viewer. Что там видно?

RA7N
13.03.2022, 13:11
Приехала породистая AX4010.
Попробовал залить прект чисто под нее. Не пойму, клавиатура заработала, на указанных пинах, но отчего-то работает только сброс терминала и включениие/выключение таймера.
Кнопка программа-пульт никакого эффекта не приносит. Наблюдаем только строку состояния и курсор. Пульта нет :(
Что может быть не так?
В модуле в принципе перебрал параметры
`define STARTUP 3'b001

Банк на SD в исходниках оставил без изменений

Upd: тест запускается, при 3'b101 - вместо выход в пульт
странное что-то

Ура. с носителей запустился RK

Elias
14.10.2022, 09:43
А тем временем уважаевый Vslav выпустил wishbon модель процессора F11
https://github.com/1801BM1/cpu11/tree/master/f11

Hunta
14.10.2022, 12:50
А тем временем уважаевый Vslav выпустил wishbon модель процессора F11
Я думал, там что то новое появилось.. А это уже 12-ого июня было..

forth32
17.10.2022, 08:44
Странно, что уважаемый VSLAV не отписался об этом в своей профильной ветке (цифровая археология). А я и не знал, что F11 уже готов. Теперь можно делать процессорную плату.
Жалко, что я не знал об этом летом. Времени в отпуске свободного было много. Придется выкроить его сейчас, уж больно интересная тема - первый процессор с диспетчером памяти. Настоящий, а не синтетический эмулятор типа pdp2011. На первый взгляд, VSLAV сохранил внешний интерфейс процессора примерно таким же, какой был и у других процессоров, что сильно упрощает задачу. Буду пробовать погонять на нем XXDP-тесты...

Hunta
17.10.2022, 10:13
По комментариям не понятно (или я не увидел) - сделана она полностью (то есть проходит тесты) или нет

CodeMaster
17.10.2022, 12:19
Странно, что уважаемый VSLAV не отписался об этом в своей профильной ветке (цифровая археология).
Ничего странного, он с мая сюда не заходит.

forth32
17.10.2022, 12:50
По комментариям не понятно (или я не увидел) - сделана она полностью (то есть проходит тесты) или нет

В логе git есть вот это:

- runnable on FPGA, factory tests passed


То есть какие-то заводские тесты проходят. Если XXDP загрузится, то можно будет погонять уже специализированные тесты, если есть такие. Кстати, я что-то не припомню, существуют ли они вообще. Для J-11 видел, а вот для F-11 навскидку не попадались.

Hunta
17.10.2022, 13:18
В логе git есть вот это
Да, похоже на то, хотя там есть ещё примечание


- tested on the DE0 board only

И по ORG - последние изменения 8-9 месяцев назад (5 - несущественное изменение исходника) и накаких комментариев о прохождении на wishbone

В общем - скорее да, чем нет

forth32
31.10.2022, 08:13
Наконец нашел время и собрал процессорную плату на отреверсенном F11. Пока, конечно, по упрощенной схеме, без поддержки DMA. Пришлось помучаться с регистром начального пуска FDIN, но, в итоге, плата заработала. Встроенный в микрокод ODT запустился, консоль-загрузчик М9312 тоже. XXDP загрузилась:

177777
@165020G
177777 177777 177777 177777
$DX

CHMDXC0 XXDP+ DX MONITOR
BOOTED VIA UNIT 0
28K
DOES THIS SYSTEM HAVE A UNIBUS? (Y/N CR=Y) N
NON-UNIBUS SYSTEM

ENTER DATE (DD-MMM-YY):

RESTART ADDR: 152010
THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP.

.D

ENTRY# FILNAM.EXT DATE LENGTH START

1 JKDAD1.BIC 3-MAR-83 28 000050
2 JKDBD0.BIC 3-MAR-83 52 000104
3 JKDCB0.BIC 3-MAR-83 52 000170
4 JKDDB0.BIC 3-MAR-83 32 000254
5 JKDEB0.BIN 3-MAR-83 90 000314
6 JKDFA0.BIC 3-MAR-83 25 000446
7 HUDIB0.SYS 3-MAR-83 5 000462
8 UPD2 .BIN 3-MAR-83 25 000467
9 HDDXB0.SYS 3-MAR-83 3 000520
10 JKDIA0.BIC 3-MAR-83 23 000626

.

Кстати, первый раз вижу, чтобы XXDP спрашивал тип шины. До сих пор он сам мог определить, QBUS или UNIBUS у меня. Видимо, это связано с тем, что на том же F11 существует плата KDF11-U и машина PDP-11/24 с шиной UNIBUS.
Тест MMU JKDA работает:

.R JKDA??
JKDAD1.BIC

CJKDAD0 KTF11-AA MMU DIAG.

SWR = 000000 NEW =

END PASS # 1 ;TOTAL ERRORS SINCE LAST START AT 200 0

END PASS # 2 ;TOTAL ERRORS SINCE LAST START AT 200 0


На этом все хорошее заканчивается.
Тест процессорной логики JKDB виснет намертво.
Первая часть теста FPP, JKDC, проходит без ошибок:

.R JKDC??
JKDCB0.BIC

CJKDCB, KEF11-A FP DIAGNOSTIC PART 1

SWR = 000000 NEW =

END PASS # 1
END PASS # 2
END PASS # 3


Но вторая часть, JKDD, также виснет намертво. О загрузке чего-то большего чем XXDP можно только мечтать - даже убогий RT-11 молча виснет.

Тут, конечно, могут быть и мои косяки. Особенно с обработкой прерываний - я это делаю немного не так, как VSLAV в своей референсной схеме. Но, с другой стороны, вся остальная платформа уже протестирована на нескольких разных процессорах, в том числе на очень похожем LSI-11, и на 22-битном PDP2011. И все явные проблемы давно уже выловлены. Хуже, если проблема все же в самом процессорном ядре - тогда придется лезть в его кишки, поскольку сам великий VSLAV тут больше не появляется.

Вообщем, теперь надо брать в зубы листинги тестов, начиная с JKDB, поднимать signaltap и начинать нудное разбирательство. Но радует, что уже хоть что-то заработало.
Все мои эксперименты лежат в экспериментальной ветке F11 репозитория - https://github.com/forth32/dvk-fpga/tree/f11.

Hunta
31.10.2022, 08:39
Кстати, первый раз вижу, чтобы XXDP спрашивал тип шины. До сих пор он сам мог определить, QBUS или UNIBUS у меня.
Логика там такая - если тип процессора (MFPT) - 3, проверяется наличие регистра переключателей. Если его нет - спрашивается.

- - - Добавлено - - -

Уточнение - зависит от версии XXDP+ - так, как описано - в самой последней. В более ранних - тупо - тип процессора 3 - спрашиваем.
Ну и более хитрая логика (но тоже может спросить), если тип процессора - не 3

forth32
31.10.2022, 08:47
Я до этого полагал, что UNIBUS от QBUS можно однозначно отличить по доступности PSW на шине по адресу 177776, ну или по наличию инструкций MTPS/MFPS. Видимо, все не так просто...

Hunta
31.10.2022, 08:54
Один из признаков - наличие регистра переключателей - но его отсутствие - не говорит о том, что машина QBus. Не могу сказаать наверняка, но вроде на /24, /84 и /94 как его нет, а машины - Unibus
PSW и MTPS/MFPS вроде как вообще не играют роли

vva
20.11.2022, 23:00
F11 запустился на QMTECH и OMDAZZ (есно с аналогичным результатом). Не могли бы вы выложить образ DX-диска с тестами 11/23? Я понятия не имею как создавать загрузочные XXDP диски и где брать драйверы.

forth32
21.11.2022, 13:29
Не могли бы вы выложить образ DX-диска с тестами 11/23?
Да сколько угодно. Прикладываю к этому сообщению.

Я понятия не имею как создавать загрузочные XXDP диски и где брать драйверы.
Я лично их под simh делал. Загружался с DL-диска с полным XXDP, инициализировал диск DX, и потом копировал то что мне надо с DL на DX.

Интересно, пойдут ли у вас тесты JKDB и JKDD. У меня лично JKDB глухо виснет, так что даже пультовое прерывание HALT перестает работать. Проблема проявляется в тесте 375, проверяющем работу подсистемы контроля нижней границы стека. По адресу 40052 есть инструкция CLR STATUS, очищающая PSW. Это сделано для открытия прерываний. По логке теста, после выполнения этой инструкции процессор должен начать цикл обработки прерывания, поскольку уже имеется активный запрос прерывания от консоли.
Вместо этого процессор убегает на адрес 20400, пытается начать выполнять оттуда код, влетает в прерывание 4 и в процессе его обработки полностью умирает. Пропадает вся активность на внешних шинах. Микрокод продолжает работать, это видно на внутренних шинах, но что он там делает - это только великий VSLAV знает. Он, похоже, пока единственный, кто ковырялся в этом микрокоде, написал доку по микроинструкциям и даже дизассемблер на питоне. Он бы сразу сказал, в чем проблема. А без него как бы не пришлось мне самому стать ковряльщиком микрокода процессора. Ибо по-другому понять суть проблемы не получается.

Для начала я хочу выбрать все же время, прикрутить диск DX к референсной схеме от VSLAV (та, что идет в комплекте с процессорными ядрами), и попробовать погонять тесты там. Ведь сам-то VSLAV гонял все заводские тесты, получается что у него проблем не было. Но он запускал абсолютные бинарники, загружаемые вместе с прошивкой в FPGA, я же использую XXDP - может быть тут есть какая-то разница.

vva
21.11.2022, 16:18
Спасибо, попробовал. Обе платы QMTECH и OMDAZZ ведут себя одинаково:

JKDAD1 MEMORY MANAGEMENT TEST - работает
JKDBD0 BASIC CPU TEST - вис
JKDCB0 KEFlt FLOATING POINT CHIP TEST 1 - работает
JKDDB0 KEFll FLOATING POINT CHIP TEST 2 - вывод SWR = 000000 NEW = --- <Enter> --- вис

То, что поведение однотипное - радует. Может Vslav появится и поможет...

forth32
23.11.2022, 17:54
Первая победа. С проблемой непрохождения тестов я разобрался.
Благодаря подсказке от VSLAV, правда дошедшей до меня весьма косвенным путем, я понял в чем дело. Оказалось, что моя схема неправильно формирует протокол входа в прерывание. В отличие от VSLAV, создавшего один универсальный контроллер прерываний, я использую отдельные контроллеры для разных уровней IRQ. Делал я это еще в процессе создания платы PDP2011, и мой набор сигналов несколько отличается от того, что сделал VSLAV. А именно - мой pdp2011 формировал сигнал запроса вектора ISTB для каждого уровня в отдельности - istb[6:4], а VSLAV сделал один-единственный выход ISTB (wbi_stb_o). Потому как у меня каждый сигнал подключается к отдельному контроллеру прерываний и определяет, какой именно из контроллеров отдаст вектор. А у VSLAV контроллер единый и он сам решает, прерывание какого уровня надо обслужить.

Вообщем, теперь все заработало. Пошел тест JKDA:
015770 000002 001100 000002
$DX

CHMDXC0 XXDP+ DX MONITOR
BOOTED VIA UNIT 0
28K
DOES THIS SYSTEM HAVE A UNIBUS? (Y/N CR=Y) N
NON-UNIBUS SYSTEM

ENTER DATE (DD-MMM-YY):

RESTART ADDR: 152010
THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP.

.R JKDB??
JKDBD0.BIC

CJKDBD0 DCF11-AA CPU DIAGNOSTIC
END PASS # 1��
END PASS # 15��
END PASS # 29��
END PASS # 43��
END PASS # 57��

Почему-то номера проходов идут не подряд. Но как оно должно быть на самом деле я не знаю, потому как образцовой машины PDP11/23 у меня нет.
Также пошел FPU-тест JKDD:
.R JKDD??
JKDDB0.BIC

CJKDDB KEF11-A DIAGNOSTIC PART 2

SWR = 000000 NEW =

END PASS # 1��
END PASS # 2��
END PASS # 3��
END PASS # 4��
END PASS # 5��


В качестве вишенки на торте, загрузилась RT-11:

040000 143060 126064 141300
$DX1
RT-11SJ (S) V05.04 D

.SET TT QUIET

.DIR

DIR .SAV 19 17-Nov-87 RESORC.SAV 26 17-Nov-87
DUMP .SAV 9 17-Nov-87 STARTS.COM 1
RK .SYS 3 03-Jan-99 NL .SYS 2 06-Apr-99
TT .SYS 2 06-Apr-99 VM .SYS 3 06-Apr-99
SWAP .SYS 27 17-Nov-87 PIP .SAV 30 17-Nov-87
DUP .SAV 49 17-Nov-87 RT11FB.SYS 94 06-Apr-99
MY .SYS 3 02-Jan-99 ODT .MAP 1
ODT .SAV 8 DM .SYS 5 12-Jun-99
DW .SYS 15 02-Jan-99 RT11SJ.SYS 84 03-Jan-99
DX .SYS 4 03-Jan-99 SPEED3.SAV 8 29-Oct-88
20 Files, 393 Blocks
93 Free blocks

.SH CONF

RT-11SJ (S) V05.04 D
Booted from DX1:RT11SJ

USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set QUIET
ERROR is set ERROR
SL is set OFF
EDIT is set KED
KMON nesting depth is 3

PDP 11/23 PLUS Processor
4088KB of memory
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
Memory Management Unit
50 Cycle System Clock

Device I/O time-out support
Error logging support
Multi-terminal support
SJ timer support


Ну, и на этом пока все. Чтобы загрузить что-то более серьезное, надо собирать схему DMA. Но тут есть одна проблема. Большинство устройств, использующих DMA, умеют работать только с 18-битной адресной шиной. 22 бита из имеющихся у меня дисков умеют только MY и DB. Но MY - мелкая дискетка, а DB не поддерживает RT-11. Для машин с Unibus существует такой замечательный механизм как UBM, позволяющий 18-битным устройствам работать с любыми адресами физической памяти. И у нашего F11 есть выходной сигнал UMAP, включающий этот механизм. Но только вот плата KDF11A, которую мы сейчас собираем, это QBUS-машина, и там этого механизма нет. Следовательно, для работы с любыми дисками кроме DB придется ограничить ОЗУ до 256К. А это грустно, последние версии RSX-11M-PLUS и RSTS/E на такой памяти если и загрузятся, то работать будет практически невозможно.

Интересно, как же люди обходились на реальных 11/23 ?

Hunta
23.11.2022, 18:06
Почему-то номера проходов идут не подряд
Всё нормально, тест так устроен

- - - Добавлено - - -


последние версии RSX-11M-PLUS
В принципе - можно будет, но нужно сгенерить специально под такую маленькую память
Ну или допилить UMR


Интересно, как же люди обходились на реальных 11/23 ?
RQDX3

- - - Добавлено - - -

Кстати, есть ещё вариант - допилить контроллер RL11 - вариант RLV211, если мне не изменяет память про название, - QBus-ный и поддерживает 22 бита. Но для него тоже надо пилить RSX+, так как все файлы дистра, насколько я помню, на диск не влазят

vva
23.11.2022, 20:12
На OMDAZZ при прогоне теста JKDDB0 часто возникает:
NO INTERRUPT FROM SLU IN ALLOTTED TIME.
FLOATING POINT ERROR, STOPPED AT PC=032622

Тест не "виснет", иногда проходит без ошибок.

RT-11 загружается.

Timer??? Время не "тикает".

- - - Добавлено - - -

.SH CONF

RT-11SJ (S) V05.04 D
Booted from DX1:RT11SJ

***

PDP 11/23 PLUS Processor
4088KB of memory
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
Memory Management Unit
50 Cycle System Clock

Hunta
23.11.2022, 20:14
PDP 11/23 PLUS Processor
4088KB of memory
Так сам процессор 22-битный, у него нет проблем с доступом к памяти. Проблема в дисках, у которых контроллер DMA и выход только на 18 бит (ака RK11 и RL11)

Radon17
23.11.2022, 20:51
Для честной эмуляции RQDX надо ждать реверса Т11 ;)

forth32
23.11.2022, 22:10
Для честной эмуляции RQDX надо ждать реверса Т11
Честная эмуляция DU-дисков вообще невозможна. Поскольку у нас тут не QBUS и MFM-диск, а Wishbone и SD-карта. То есть и прошивку придется переписывать, и схему в корне переделать. Проще создать контроллер с нуля, но он, гад, сложный, вначале придется дизассемблировать прошивку RQDX и разбираться в ней.
Тут, пожалуй, проще будет сделать PDP11/24 на том же процессоре F11. Это UNIBUS-машина, и там можно реализовать UBM.

Hunta
23.11.2022, 23:34
Тут, пожалуй, проще будет сделать PDP11/24
На надо путать процессор (F-11), процессорную плату (KDF11-B) и компьютер (PDP-11/23 PDP-11/23+ PDP-11/24)

- - - Добавлено - - -


MFM-диск
И кстати, DU (а точнее говоря - MSCP) - это не обязательно MFM диск

- - - Добавлено - - -


вначале придется дизассемблировать прошивку RQDX
Кстати, о птичках. Её не просто дизассемблировали - всплыли исходники

Но на мой взгляд - RQDX, даже третий - так себе. Ну и MFM, конечно, энтузиазма не добавляет

forth32
24.11.2022, 06:23
На надо путать процессор (F-11), процессорную плату (KDF11-B) и компьютер (PDP-11/23 PDP-11/23+ PDP-11/24)
А с чего ты решил, что я их путаю? Наоборот, я пока жестко придерживаюсь плат KDF11A /В и МС1601, и, соответственно, машин 11/23[+] и Э-60-1, отсюда и QBUS, и невозможность UBM.
Но в перспективе, ничто не мешает попробовать сделать и KDF11-U и, соответственно, 11/24.


Её не просто дизассемблировали - всплыли исходники
А где они всплыли?

ra3qdp
24.11.2022, 07:53
Интересно, как же люди обходились на реальных 11/23 ?
не знаю - как DEC, а в Воронеже:
"На основе центрального процессора М5 реализована микро-
ЭВМ МС 1213, выполненная в виде автономного блока (подобно
МС 1211.02). В состав блока кроме процессора М5 входят адап-
тер интерфейса, позволяющий подключать к микроЭВМ устройст-
ва с интерфейсом Капала мини-ЭВМ семейства «Электроника»
или «Общая шина» СМ ЭВМ, а также расширить адресное про-
странство до 4 Мбайт при обращении внешних устройств к памя-
ти в режиме НДК; "

Hunta
24.11.2022, 07:53
я пока жестко придерживаюсь плат KDF11A /В

отсюда и QBUS, и невозможность UBM
Ну ну.


А где они всплыли?
Там же, где обычно - bitsaver

xolod
24.11.2022, 12:07
Честная эмуляция DU-дисков вообще невозможна. Поскольку у нас тут не QBUS и MFM-диск, а Wishbone и SD-карта. То есть и прошивку придется переписывать, и схему в корне переделать. Проще создать контроллер с нуля, но он, гад, сложный, вначале придется дизассемблировать прошивку RQDX и разбираться в ней.
Тут, пожалуй, проще будет сделать PDP11/24 на том же процессоре F11. Это UNIBUS-машина, и там можно реализовать UBM.

Сделать MSCP в FPGA вещь очень заманчивая! (для VAX тоже, чем черт не шутит..) да, задача не тривиальная..
Если есть исходник прошивки RQDX, это должно помочь.

Hunta, поделись пожалуйста ссылкой с нами, я не нашел с ходу..

Мне кажется T11 там не нужен, 1801вм2 его с головой заменит.

Но есть еще альтернативный вариант попробовать сделать его на основе CMD CQD-220, там i8086 (не нативно, и явно будет потребует больше ресурсов в FPGA) но так в качестве идеи.

http://web.archive.org/web/20201018122326/https://sites.google.com/site/glensvintagecomputerinfo/cmd-cqd-220-scsi

Hunta
24.11.2022, 12:43
поделись пожалуйста ссылкой с нами, я не нашел с ходу
Я помню только то, что там натыкался, но это было... летом где-то. Так что - искать надо

- - - Добавлено - - -

И вроде я уже писал про это на этом форуме.. Но вот это не точно..

- - - Добавлено - - -

Это было очень тяжело найти - меньше минуты.
http://www.bitsavers.org/pdf/dec/qbus/rqdxx/

xolod
24.11.2022, 12:53
Это было очень тяжело найти - меньше минуты.
http://www.bitsavers.org/pdf/dec/qbus/rqdxx/

Я думал это в software а не pdf..

Ого, так она на С написана со вставками на MACRO !!

SuperMax
24.11.2022, 13:07
Я думал это в software а не pdf..

Ого, так она на С написано со вставками на MACRO !!

Подскажу еще один быстрый способ искать что-то по нашей тематике - к примеру так
https://mirrors.pdp-11.ru/search.php?text=rqdxx

ps: bitsavers туда зеркалируется и соответственно можно быстро искать и в нем тоже

anasana
25.11.2022, 04:28
От Гостева сохранились какие-то исходники к нашим портам контроллеров.
я вроде должен был тут выкладывать, но сайтовым поиском ничего не могу найти, приаттачил.

forth32
25.11.2022, 20:23
Вторая победа. Дособирал схему DMA, и, как бы мне это было не противно, ограничил ОЗУ до 256К. Иначе пока никак.
В результате все имеющиеся диски заработали вполне нормально. RT-11 и тем более XXDP грузятся откуда угодно.
RSX-11M, RSX-11M+, RSTSv10 пока грузиться не хотят.

Вот так пытается загрузиться RSX-11M, с разных дисков по-разному:

040000 140540 123220 136602
$DM2

RSX-11M V4.8 BL70 128.K MAPPED
SAV -- Cannot find home block
145152
@
040000 140540 123220 136602
$DB2
DEVICE TT001: NOT IN CONFIGURATION

SYSTEM CRASH AT LOCATION 000000
SO:003171
XDT>


Вот так RSX-11M-PLUS:

000775 001400 003000 177440
$DB0
OD:022532
XDT>


А вот так - RSTS/E V10:

000160 173620 001000 123220
$DM5
Device TT0: does not interrupt - device disabled.
Priority of RK0: interrupt (PR6) is too high - device disabled.
Priority of RM0: interrupt (PR6) is too high - device disabled.
Priority of RB0: interrupt (PR6) is too high - device disabled.
Priority of RX0: interrupt (PR6) is too high - device disabled.
Device DC0: does not interrupt - device disabled.
Device DC1: does not interrupt - device disabled.

Warning - Booted device is at a non-standard CSR address.
You must use the CSR suboption of the HARDWR option to
set the CSR address before timesharing can be started.


RSTS V10.1-L RSTS10 (DM5) INIT V10.1-0L


Today's date? 25-NOV-22

Current time? 20:17


Start timesharing? <Yes>
Timesharing cannot be started due to problems discovered
during the boot/autosizing process.


Option: <Start>


Конечно, эти системы все генерировались под PDP11/70 и 4М ОЗУ, вполне возможно что они и не обязаны вот так сходу загрузиться на этой конфигурации. Завтра попробую запустить дистрибутивные Baseline и сделать генерацию под 11/23, и там будет видно. Хотя, судя по выхлопу RSTS, могут быть проблемы и с обработкой прерываний. Странно, RT-11 использует те же прерывания без всяких проблем.

Но, вообщем, дело понемногу движется.

Hunta
25.11.2022, 20:36
Похоже, идёт неправильный DMA в верхнюю память.
В RT, что бы отправить данные в верхнюю память, нужен XM монитор (или что-то похожее) и постараться.

- - - Добавлено - - -

За RSTS/E ничего не скажу - я её не знаю

- - - Добавлено - - -


эти системы все генерировались под PDP11/70
RSX по идее может загрузиться, RSX+ - зависит от того, что выбиралось при генерации, может и не загрузиться, если я правильно помню, то как раз по v4 вылетало

forth32
25.11.2022, 20:41
Верхнюю - это выше 64К? Ну, возможно, хотя я не очень представляю причины такого явления. С точки зрения DMA-устройств вся память - это плоское пространство размером в 256К, 18 бит адреса, и ситуация addr[17:16]==2'b00 не является чем-то особенным.
Другое дело, что я не реализовал DMA в пространство страницы ввода-вывода. Мне казалось что это бессмысленно, но может быть я и ошибался. Завтра проверю.

Hunta
25.11.2022, 20:45
Странно, RT-11 использует те же прерывания без всяких проблем.
RT и RSX прописывают во второе слово вектора седьмой приоритет, и с хорошей степенью вероятности (тоже надо постараться, что бы не так было) почти сразу в обработчике они уходят на нулевой приоритет - в этом случае фиолетово - какой приоритет запроса у устройства. Вполне возможно, что у RSTS/E не так и если она в вектор выставляет предполагаемый реальный уровень приоритета - то и получается, что она ожидает 5, а прилетает прерывание (6 приоритет), когда не должно. Так что тут может быть и со схемой прерываний что то не так. Но это предположение.

А XXDP вообще фиолетово на прерывания. Ей главное, что бы DMA в нижнюю память (если устройство DMA) работало - и она на чем угодно загрузиться

- - - Добавлено - - -


Верхнюю - это выше 64К?
Да, когда задействуются биты 17 и 16 адреса


Другое дело, что я не реализовал DMA в пространство страницы ввода-вывода.
Это и не требуется. Больше того, если проц Unibus и работает UMR (по сути - часть проца), то реализация UMR (вроде как в большинстве вариантов реализации, если не во всех) и не пропустит запрос на страницу в/в

- - - Добавлено - - -


и ситуация addr[17:16]==2'b00 не является чем-то особенным.
Самый банальный (не говорю, что он) вариант - биты 17 и 16 от устройства не долетают до памяти - и всё на самом деле пишется в нижние 64к

forth32
27.11.2022, 16:30
Проблема с незагрузкой RSX11M немного локализовалась.
Оказалось, что возникает она в ситуации, когда программа обращается к PSW по адресу 177777. Как следует из описания процессора, при этом сигналы на внешней шине не формируются, вся обработка происходит внутри процессора. И обычно так оно и бывает, особенно после недавнего патча от VSLAV. Но иногда, вместо того чтобы тихо обработать команду внутри себя, процессор генерирует внешний цикл обращения к странице ввода-вывода с адресом 777776.

Вот осциллограмма, поясняющая ситуацию: https://disk.yandex.ru/i/mgKlqKVvWC92tg
Это кусок начального загрузчика RSX-11M (одна из частей SAV.TSK), выполняющий раннюю инициализацию устройств в процессе загрузки системы.
По адресу 110600-110602 расположена команда CLRB @#177776. После ее выборки процессор почему-то поднимает сигнал обращения к странице ввода вывода (wbm_ios, последняя строка), а затем и строб wbm_stb (предпоследняя строка). Подождав для приличия, процессор констатирует таймаут шины и уходит выбирать вектор 4. Дальше уже неинтересно, ибо этого быть не должно.

Конечно, прежде чем пытаться обратиться к первоисточнику VSLAV, надо как-то локализовать условия, при которых проблема проявляется. Надо как-то вытащить из процессора в сигналтап как минимум PSW и регистр SR0, чтобы понять текущий режим работы процессора. И найти в исходниках SAV этот фрагмент. Но в любом случае, какой бы режим не был в данный момент активен, ситуация эта ненормальная. Раз процессор поднял сигнал IOS, значит он целенаправленно лезет на страницу ввода-вывода. А на этой странице по адресу 177776 ничего нет и быть не может, ибо PSW через шину недоступно. Следовательно, по этому адресу процессор НИКОГДА штатно не должен лезть через внешнюю шину.

Буду думать дальше. Видимо, пора лезть в схему самого процессора и искать, где там лежат внутренние регистры.

Hunta
27.11.2022, 17:47
Так всё таки по адресу

к PSW по адресу 177777
Или

CLRB @#177776
?

Ну и именно такой команды

CLRB @#177776
в исходниках SAV с ходу не нашлось

- - - Добавлено - - -

Ну и команды CLRB (005037) я на диаграмме не вижу. Картинка, конечно, так себе, но всё, что я увидел, это 207 по адресу 110600 (на запись? если wbm_stb это сигнал записи), а потом 6666 по адресу 110602 (то же на запись?)

forth32
27.11.2022, 17:55
Так всё таки по адресу
Цитата Сообщение от forth32 Посмотреть сообщение
к PSW по адресу 177777
Ну, ошибся малость. 177776, конечно. Я вообще не знаю,возможна ли к PSW байтовая адресация. Никогда не пробовал.


в исходниках SAV с ходу не нашлось
SAV от RSX-11M v4.8? Ну, я сам еще не смотрел, так быстро ведь команду не найдешь, я думаю что там немало команд CLRB.
Может быть конечно это и не SAV, но кто еще может заниматься инициализацией системы? Хотя, конечно, это может быть и кусок драйвера какого-нибудь - большинство драйверов резидентны в сохраненном образе системы. Раньше я как-то не особо интересовался тонкостями процесса начальной загрузки. Тут плотно копать надо, может быть даже трассировать процесс загрузки системы...
Но все это не отменяет того факта, что по команде CLRB @#177776 процессор полез на внешнюю шину.

Hunta
27.11.2022, 18:09
Я вообще не знаю,возможна ли к PSW байтовая адресация.
Возможна


SAV от RSX-11M v4.8? Ну, я сам еще не смотрел, так быстро ведь команду не найдешь, я думаю что там немало команд CLRB.
Да, именно там. 20 раз встретилсь CLRB. Сейчас ещё другой вариант проверю

- - - Добавлено - - -

Да, скрывает оно под макросом. Вот этот кусок


;
; FIND CLOCK AND ALL DEVICES ON SYSTEM
;
CLOCK: BIS #<PMODE+CMODE>,@#PS ;;; GET BACK INTO USER MODE

.ENDC

CALL $STCLK ;;; SELECT CLOCK AND INITIALIZE
;;; CLOCK AND FPP VECTORS
CALL $TSTDV ;;; LOOK FOR NONEXISTENT DEVICES,
;;; SIZE DISKS, SET UP PARITY
;;; REGISTERS, DETERMINE SIZE OF
;;; MAIN MEMORY
MTPS #0 ;;; ENABLE INTERRUPTS
;
; CONVERT PHYSICAL UNIT NUMBER TO LOGICAL DEVICE NUMBER
;

Ничего необычного в нём не вижу

- - - Добавлено - - -

Если что, макрос MTPS раскрывается в CLRB @#177776

- - - Добавлено - - -

Единственное из занимательного - (судя по BIS #<PMODE+CMODE> и по тому, что я увидел в $STCLK и $TSTDV) CRLB отрабатывает из пользовательского режима. Может в этом и причина неправильного поведения CRLB?

forth32
27.11.2022, 18:52
Единственное из занимательного - (судя по BIS #<PMODE+CMODE> и по тому, что я увидел в $STCLK и $TSTDV) CRLB отрабатывает из пользовательского режима. Может в этом и причина неправильного поведения CRLB?
Я так понимаю, что если в адресное пространство входит страница ввода-вывода и она R/W, то команда должна отработать независимо от режима пользователь-супервизор. Если страница не входит в адресное пространоство, или она R/O - будет трап MMU. Если на месте 177776 в адресном пространстве лежит просто память, то отработает обычный цикл шины.

Или я не прав, и процессор защищает PSW от записи в режиме пользователя? Но если и защищает, то только старший байт, а не оба. А тут именно поднялся флаг IOS, то есть процессор явно полез на страницу ввода-вывода. Никаких трапов.

Вообще говоря, такая проблема имела место быть, и VSLAV последним коммитом пытался ее устранить. Но он это сделал чисто косметически, просто подавив сигнал wb_stb при обращении к внутренним регистрам. Может быть причина и глубже....

Hunta
27.11.2022, 19:26
Но если и защищает, то только старший байт, а не оба.
А в младшем байте ещё и приоритет. И вот с ним дела мутноватое. Например - а работает ли приоритет процессора в пользовательском режиме вообще? Если да, то он тоже должен защищаться. И вроде так оно и есть - память царапает, что вроде где то в тестах я видел проверку - SPL в пользовательском режиме не меняет приоритет процессора.

Хотя в принципе это всё на реальных процессорах проверяется быстро - написать такие спец тесты - дело 5-15 минут


Вообще говоря, такая проблема имела место быть, и VSLAV последним коммитом пытался ее устранить. Но он это сделал чисто косметически, просто подавив сигнал wb_stb при обращении к внутренним регистрам. Может быть причина и глубже
Или схема восстановлена не совсем правильно. Или где-то времянка (в синхронном дизайне) пролетает. На реальном то F11 это всё вроде не наблюдается. Сейчас попробую грузануть на KDF11, но, насколько я помню - уже грузил

- - - Добавлено - - -

Начал проверять. И кстати, вспомнилось ещё одно. Если образ RSX по размеру больше 494 (примерно) блоков - он вполне может и не загрузиться (но как свезёт) на PDP с размером памяти 256 кб или меньше - если SAV сидела в памяти (по крайне мере её хвост) выше 256 кб

- - - Добавлено - - -

Хотя, наверное, правильный размер 514 блоков, просто SYSGEN, когда проц не 22-битный, создаёт образ такого (494) размера, насколько я помню

- - - Добавлено - - -

Ну как и ожидалось


@10000G
HX 2.2 RT-11 Cold boot..

HX DSK/TTY multiplexer v3.3 2016

RT-11SB (S) V05.07

.R MSCPCK

.BOO ZB1:RT11SB

RT-11SB (S) V05.07

.R MSCPCK

.BOO C40:/FOR



RSX-11M-PLUS V4.6 BL87 2044.KW System:"KXX002"
>RED ZC1:=SY:
>RED ZC1:=LB:
>RED ZC1:=SP:
>MOU ZC1:"RSX11MPBL87"
>@ZC1:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
c;
SET -- Inquire cannot determine terminal type
>;
>; Please ignore any random characters that may have printed on your
>; terminal just now. They came from a SET /INQUIRE=TI: command.
>; Evidently your terminal does not recognize escape sequences.
>; This will not affect the running of this command file.
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 20:23 27-nov-2022
>TIME 20:23 27-nov-2022
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
.......

Да и врят ли DEC допустила бы такой ляпсус

forth32
05.12.2022, 07:19
Великий и могучий VSLAV разобрался наконец с проблемой CLRB PSW, и сделал фикс. После фикса все заработало!
Вот RSX-11M:
$DB
DEVICE DU000: NOT IN CONFIGURATION
DEVICE DU001: NOT IN CONFIGURATION

RSX-11M V4.8 BL70 124.K MAPPED (BASELINE)
>RED DB:=SY:
>RED DB:=LB:
>MOU DB:RSXM70
>@DB:[1,2]STARTUP
>* Please enter time and date (HH:MM DD-MMM-YY) [S]: 6:37 05-dec-22
>TIME 6:37 05-dec-22
>* ENTER LINE WIDTH OF THIS TERMINAL [D D:132.]: 80.
>SET /BUF=TI:80.
>ACS SY:/BLKS=1024.
>@ <EOF>
>@sysgen
>;
>; RSX-11M V4.8 BL70 System Generation PHASE I -- Version 06.03
>;
>; 05-DEC-22 06:37:08
>; Big disk distribution kit
>;
>* 1. Autoconfigure the host system hardware? [Y/N]: y
>INS $ACF.BSL
>INS $ACO
�F
>ACO SHOW
Processor Type: 11/23 Memory Size: 2044. Kw

Options:

Floating Point Processor (FP11)
Extended Instruction Set (EIS)
Extended (22-Bit) Addressing
Parity Memory

Name Vector CSR Unit Type Remark
RHA 254 176700
0 RP06
1 RP06
2 RP06
3 RP06
4 RP06
5 RP06
6 RP06
7 RP06
DXA 264 177170
YLA 060 177560

>ACO SYSGEN
>REM ACF
>REM ACO
>* 2. Do you want to override Autoconfigure results? [Y/N]: ^Z


А вот RSTS/E v10:

141703 000001 000550 000000
$DB4

RSTS V10.1-L RSTS (DB4) INIT V10.1-0L


Today's date? 5-DEC-22

Current time? 6:39


Start timesharing? <Yes>

Disk is being rebuilt - wait ...


Cannot use extra 12K of buffers. Reduced to 1K.

Size of monitor has changed from 70K to 58K.

Default memory allocation table shows LESS
memory than INIT detects on this machine.

Adjusting memory table.

Memory allocation table:

0K: 00000000 - 00347777 ( 58K) : EXEC
58K: 00350000 - 15523777 (1691K) : USER
1749K: 15524000 - 17757777 ( 295K) : XBUF

Memory available to RSTS/E is 2044K words.

22.12.05 06:39

3 devices disabled

Proceed with system startup? <YES>

Beginning RSTS/E system startup...
22.12.05 06:39 Installing monitor overlays
22.12.05 06:39 Installing Virtual Disk
22.12.05 06:39 Mounting disks
22.12.05 06:39 Assigning logical names
22.12.05 06:39 Starting error logging
22.12.05 06:39 Setting system characteristics
05-Dec-22 06:39 Installing run-time systems and libraries
05-Dec-22 06:39 Starting Operator/Message Services

>>>>>>>>>>>>>>> OMS V10.1-A 05-Dec-22 06:39 <<<<<<<<<<<<<<<
Message 1 from OMS, user [1,2], Detached, job 3
Starting Operator/Message Services
05-Dec-22 06:39 Setting terminal characteristics
05-Dec-22 06:39 Defining system commands
05-Dec-22 06:39 Setting printer characteristics
05-Dec-22 06:39 Starting spoolers

*** From [1,2] "[ 1, 2]" on KB0: at 06:39 05-Dec-22
** RSTS/E is on the air...

>>>>>>>>>>>>>>> OMS V10.1-A 05-Dec-22 06:39 <<<<<<<<<<<<<<<
Message 2 from user [1,2] on _KB0:, job 2
The system startup is complete
$


Все отлично. Я добавил в схему регистр управления прерываниями от таймера, теперь можно и XXDP грузить не выключая таймер вручную.
Теперь надо еще ограничить память до 256К, включить остальные устройства и попробовать RSX в этих условиях. Кому интересно, могут сами это проделать. Все изменения уже лежат в репозитории, за ограничение памяти отвечает флаг RAM256 в config.v, в секции процессора F11.

vva
05.12.2022, 11:21
$DM2

RSX-11M V4.8 BL70 128.K MAPPED
SAV -- Cannot find home block
145152

------------------
RSTS --- OK

------------------
$DB
OD:064524
XDT>

------------------
TSX 6.01 --- OK

------------------
"Зависание" дисков при работающем таймере устранилось.

forth32
05.12.2022, 11:59
$DM2

RSX-11M V4.8 BL70 128.K MAPPED
SAV -- Cannot find home block
145152

Ты, похоже, пытаешься грузить вариант системы, сгенерированный мной ранее для pdp11/70. Грузи стартер (baseline) и генери свой вариант RSX, уже под 11/23. Поскольку ленточных устройств тут нет, стартовый диск надо предварительно подготовить в simh - восстановить с ленты на диск набор DBSYS или DMSYS, и запустить командный файл TAPEKIT.
Кстати, стартер не умеет грузиться с DM2. Насколько я помню, он поддерживает устройства только 0 и 1.



$DB
OD:064524
XDT>


А это, видимо, RSX11M+. Я его еще не пробовал, но с ним, видимо, будет та же проблема - надо начинать со стартера и сгенерить его под этот процессор.
И, кстати, я вообще не уверен что М+ захочет работать на 256К.

vva
05.12.2022, 12:19
Ты, похоже, пытаешься грузить вариант системы, сгенерированный мной ранее для pdp11/70...
Точно. Исправлюсь.

Hunta
06.12.2022, 12:00
Из документации: "PDP2011 (pdp11/79)"
Такой PDP-11 нет. Есть PDP-11/70 и её советский клон-аналог Электроника-79 :)

forth32
06.12.2022, 15:34
Hunta, Спасбио, поправил опечатку.

Hunta
06.12.2022, 16:17
Не за что :)

forth32
07.12.2022, 16:20
Начал работы по запуску родного для платы KDF11B ПЗУ с подсистемой Boot/Diagnostic ROM. Собрал схему коммутации оверлеев, подключил ПЗУ, и получил в консоли вот такое:
KDF11B-BE ROM V1.0

4088KB MEMORY
9 STEP MEMORY TEST
STEP 1ERR��RAPԴ
173714
@

Видимо, что-то еще не так работает, как надо. Хотя, может быть, я использовал неподходящий образ ROM.
Дело в том, что я собираю схему согласно техническому описанию на плату KDF11-BA. А ROM этот от платы KDF11B-BE. Других я в сети не нашел, а на плату KDF11B-BE нет не только технического описания, но и вообще о ней очень мало какой-либо информации. Допускаю, что там регистры какие-то добавлены, которых нет в версии ВА.

Может быть, у кого-нибудь есть образ ПЗУ от платы KDF11BA? Или, что тоже очень интересно, от советского модуля МС3401 (модуль аппаратной загрузки-диагностики), входившего в состав Электроники-60-1. Хотелось бы их позапускать.

Hunta
07.12.2022, 20:06
M8189 Module Numbers

When the MicroPDP-11/23 came along, the M8189 module numbers changed to reflect the installed boot ROMs, instead of the actual processor configuration. It is assumed the actual hardware configuration is the KDF11-BA configuration, with MMU, no FIS, and no CIS. The new module numbers are as follows:

KDF11-BA - PDP-11/23 PLUS ROM (23-339E2 and 23-340E2) -> http://oldpc.su/articles/dec_roms/files/E2/

KDF11-BE - MicroPDP-11/23 ROM v0.8 (23-157E4 and 23-158E4)
KDF11-BE - MicroPDP-11/23 ROM v0.9 (23-183E4 and 23-184E4)
KDF11-BH - MicroPDP-11/23 ROM v1.0 (23-380E4 and 23-381E4)
KDF11-BJ - MicroPDP-11/23 ROM v1.1 (23-453E4 and 23-454E4)

- - - Добавлено - - -

И кстати, ещё плохая новость. RSX-11M-Plus на F11 при загрузке с DB так же потребует UMR. Ну или, как минимум, допиливание SAV, хотя не факт - возможно, что что-то ещё.

Radon17
07.12.2022, 22:17
Или, что тоже очень интересно, от советского модуля МС3401 (модуль аппаратной загрузки-диагностики), входившего в состав Электроники-60-1.
Отсюда и далее по теме - https://zx-pk.ru/threads/22580-zapusk-elektronika-60-1-(ms-1212).html?p=784000&viewfull=1#post784000

forth32
08.12.2022, 07:44
Итак, ПЗУ с кодом 339/340Е2, родное для платы KDF11BA, запустилось:


TESTING MEMORY
2044.KW
START?


ПЗУ от модуля МС3401 тоже запустилось:

28
CTAPT?
Между этим ПЗУ, и оригинальным, на первый взгляд, имеется различие:
- надпись START заменили на русское СТАРТ
- выкинули полный тест памяти - игнорируется переключатель SW1. В родном мониторе этот переключатель отключает тест.
- Вместо размера памяти (2044.KW) выводится некое невнятное 28. Возможно, это признак тестирования нижних 64К памяти (28 килослов, без страницы ввода-вывода).

В остальном оба ПЗУ ведут себя одинаково плохо. А именно - умеют грузиться только с DL, DK и DX. Загружаться с DB, DM и DU они не умеют. Поскольку контроллера DL у меня нет и не предвидится (а советсткого клона этих дисков вообще не существует), то про RSX11M и другие серьезные ОС с этими ПЗУ можно забыть.

Вот я и думаю, как же мне быть. С одной стороны, уж если делать полноценную FPGA-версию платы, то надо и ПЗУ ставить родное. С другой стороны, старый добрый монитор-загрузчик М9312, стоящий во многих СМ-машинах, умеет грузиться с чего угодно и занимает в 4 раза меньше памяти, распределяемой из дефицитных блоков внутренней памяти FPGA. Так кого же мне из них оставить в итоговой схеме?

RSX-11M-Plus на F11 при загрузке с DB так же потребует UMR
Даже если памяти все 4М? Странно, зачем ему это. Сам контроллер DB полностью 22-битный, ему этот маппинг совершенно не нужен.

Hunta
08.12.2022, 08:01
Сам контроллер DB полностью 22-битный, ему этот маппинг совершенно не нужен.
Нет, не полностью. Есть два варианта контроллера RH (не считая ваксовский) - RH11 и RH70. Первый - чистый Unibus (18 бит), второй используется в PDP-11/70 и именно он 22-ух битный (с BAE). И RSX (ну, по ко крайне мере Plus, про обычный надо смотреть) считает, что если она работает не на PDP-11/70, то контроллер - RH11. Со всеми вытекающими.


то про RSX11M и другие серьезные ОС с этими ПЗУ можно забыть.
То, что из ПЗУ нельзя загрузиться с каких-то там устройств - не означает, что нельзя использовать какие то там операционки.

- - - Добавлено - - -


И RSX (ну, по ко крайне мере Plus, про обычный надо смотреть) считает, что если она работает не на PDP-11/70
Точнее говоря, я наткнулся на код, который проверяет и ведёт себя так - в загрузчике, который использует SAV (и возможно BOO), а что и где ещё может вылезти - надо шерстить остальной код RSX и привилегированных программ. Вполне может (а может и не) вылезти где-то ещё

forth32
08.12.2022, 08:04
То, что из ПЗУ нельзя загрузиться с каких-то там устройств - не означает, что нельзя использовать какие то там операционки.
И как ты это себе представляешь? Из RT11 сделать BOOT/FOR DB: не получится - rt-11 ничего не знает об rp06. XXDP не умеет загружать произвольную ОС с диска. Разве только загрузчик руками из консоли набить, как я это когда-то делал на СМ-3 с клавишного пульта. Но это совершенно несерьезно.
Можно, конечно, написать программу загрузки с DB под RT-11, но смысла особого возиться с этим делом я не вижу.

Hunta
08.12.2022, 08:19
rt-11 ничего не знает об rp06
И написать драйвер - ну просто не возможно, аха.


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

Но лично я обычно иду другим путём, особенно учитывая, что подсунуть в FPGA можно любое ПЗУ. Вот, ПЗУ от KDJ11-B ничего не знало про CF-карты, но:


Testing in progress - Please wait
Memory Size is 4088 K Bytes
9 Step memory test
Step 1 2 3 4 5 6 7 8 9


Message 04 Entering Dialog mode

Commands are Help, Boot, List, Setup, Map and Test.
Type a command then press the RETURN key: B ZC32


Trying ZC32

Starting system from ZC32




RSX-11M-PLUS V4.6 BL87 2044.KW System:"KXX002"
>RED ZC1:=SY:
>RED ZC1:=LB:
>RED ZC1:=SP:
>MOU ZC1:"RSX11MPBL87"
>@ZC1:[1,2]STARTUP

forth32
08.12.2022, 10:56
И написать драйвер - ну просто не возможно, аха.
Можно, конечно. Но бессмысленно, поскольку файловая система RT11 не поддерживает размер больше 32М. Дековцы ведь не из вредности не стали делать драйвер DB.SYS под RT-11.


Но лично я обычно иду другим путём, особенно учитывая, что подсунуть в FPGA можно любое ПЗУ
Подсунуть нужные загрузчики в ПЗУ? Можно, конечно, только если уж совсем время некуда девать. Там только загрузить родное ПЗУ в IDA уже проблема, оно ведь оверлейное. Но это я уже проделал, а вот заниматься его модификацией это пока ну его нафиг.

Hunta
08.12.2022, 11:00
Но бессмысленно, поскольку файловая система RT11 не поддерживает размер больше 32М
Скажи это DU и CF


Дековцы ведь не из вредности не стали делать драйвер DB.SYS под RT-11
Есть такое слово маркетинг


Можно, конечно, только если уж совсем время некуда девать
Виноград зелёный


Там только загрузить родное ПЗУ в IDA уже проблема, оно ведь оверлейное.
a) у KDJ11-B тоже оврелейное, и?
б) я всегда говорил, что IDA барахло, а потом взял и написал свой

Radon17
08.12.2022, 12:32
В остальном оба ПЗУ ведут себя одинаково плохо. А именно - умеют грузиться только с DL, DK и DX. Загружаться с DB, DM и DU они не умеют.
Странно, я думал что ПЗУ у МС 1212, Электроники-89, МС 0108 одинаковое...

Доков к МС 1212 у меня и в сети нет, в доке про МС 0108 пишут про DU.

https://pic.maxiol.com/thumbs2/1670491964.1401661353.036.jpg (https://pic.maxiol.com/?v=1670491964.1401661353.036.jpg&dp=2)

Hunta
08.12.2022, 12:57
в доке про МС 0108 пишут про DU
DU мало поможет, так как про реализацию в FPGA не слышно... Да и в simh не сильно интересный вариант.

DL есть, но у него емкость под RSX не сильно впечетляет

xolod
08.12.2022, 14:32
DU мало поможет, так как про реализацию в FPGA не слышно... Да и в simh не сильно интересный вариант.


DU(MSCP) всё-таки самый интересный (на мой взгляд), да реализации открытой нету. Но каких-то принципиальных стоп факторов тоже нет. Исходники прошивки есть, причем даже на Си (что позволят использовать другую архитектуру CPU), 8086 на HDL есть, получается что нужно переделать вешний интерфейс на SPI SDCARD, переписать прошивку на LBA.

Hunta
08.12.2022, 14:42
всё-таки самый интересный
DU интересен, не интересны варианты RQDXn.


8086 на HDL есть
Даже думать об этом не буду

xolod
08.12.2022, 15:06
Даже думать об этом не буду

Так давай попробуем собрать прошивку под 1801ВМ2, на 100МГц производительности хватит за глаза, а памяти контролеру много не надо (ну на крайняк можно через страницы листать большую память)
Чем ее DEC собирал?

Hunta
08.12.2022, 15:23
Так давай попробуем собрать прошивку под 1801ВМ2
Ну так соберите, что мешает?
Лично у меня в планах создания RQDX3 нет, да и с 1801ВМ2 я не возился


Чем ее DEC собирал?
У меня столько же информации, сколько у тебя - выложенное на том сайте.

Копейкин
13.12.2022, 11:57
Помогите, пожалуйста чайнику.
У меня плата OMDAZZ EP4CE6E22C8N.
Собираю бездисковую систему двк-1 + бейсик.
В config.v оставил только KSM_module и userrom 013-basic.mif
Собрал, прошил. Нормальная верхняя строка статуса.
Приглашение:
160442
@
Набираю 140000G
Вываливается неполная или повреждённая надпись
БЭЙСИК ДВК НЦ
Затем @0
100202
@
Куда копать? Что-то не подключил?

Alex
13.12.2022, 12:36
Если есть возможность загрузки с какого-либо устройства RT-11, а ROM не поддерживает контроллер , но есть образ на носителе, то что стоит написать программу начальной загрузки как .SAV файл?
Там же достаточно бутсектор прочитать и передать на него управление. И все дела ;) Пойдёт загрузка...
Или даже не читать каждый раз бутсектор :) В программу вставить сам сектор и передать на него управление ...
Не очень удобно, но чтобы проверить и утолить любопытство вполне годный вариант, образ RT-11 на, к примеру, DX: и программка в автозапуске.
Если захочется удобства, то со временем и ROM можно подправить ...

vva
13.12.2022, 12:56
Проверил на OMDAZZ-RZ301 EP4CE10E22C8 - вроде работает (никогда не использовал Бейсик ранее):
...
0@ <Enter>
Жду
...

Таймер выключен!!!

Копейкин
13.12.2022, 13:07
Конфигурация такая же как у меня?
'define timer_init 1'b0? Так?
Плата у меня mc1201_01 выбрана.
Что-то большее на 6к ячеек не собрать пока.

vva
13.12.2022, 13:29
`define mc1201_01_board
...
`define KSM_module // текстовый контроллер КСМ
...
`define userrom "../../rom/013-basic.mif"
...
`define fontrom_file "../../ksm-firmware/font/font-main.mif"
...
`define BOARD mc1201_01 // имя подключаемого модуля процессорной платы
`define PLL_MUL 1 // умножитель PLL
`define PLL_DIV 1 // делитель PLL
`define CPUSLOW 10 // число тактов, пропускаемых процессором в режиме замедления
`define timer_init 1'b0 // Начальное состояние таймера: 0 - выключен, 1 - включен
--------------
Работает.

Копейкин
13.12.2022, 13:41
Спасибо! Вечером попробую.

Копейкин
13.12.2022, 20:29
С выключенным таймером бэйсик запускается, однако работает ннестабильно. Команда LIST приводит к зависанию, а ошибка может привести не к сообщению, а выходу в промпт @.
Только обратил внимание. У меня параметры PLL другие, я их оставил как в загруженном проекте. Ну, уже завтра пробовать буду.

Копейкин
14.12.2022, 14:10
Снизил частоту PLL процессора до 50 МГц, вместо 75 исходных. После этого бэйсик работает стабильно. Спасибо всем за советы и помощь.

forth32
17.12.2022, 12:42
Как оказалось, для шины LSI-11 тоже существует реализация Unibus Mapping. Правда, реализация сделана не DEC, а сторонней фирмой c громким названем Able Computer - "способный компьютер". Устройство называется UNIMAP, и представляет собой полноразмерную плату, одним концом втыкаемой в шну LSI, а с другого конца представляющейся полноценной unibus-шиной. То есть это, по сути, конвертер Qbus <-> Unibus. И на этой плате для всех подключенный unibus-устройств предоставляется подсистема Unibus Mapping.

Раз такое в природе существует, то логично было бы предположить, что операционные системы должны понимать такую гибридную конфигурацию - Qbus-шина с Unibus Mapping. И я, пользуясь случаем, добавил в свою схему эту подсистему - 32 регистра базовых адресов и механизм преобразования DMA-адреса.

И действительно - RSX-11M конфгурацию признал и согласился работать с дисками DM и DK в конфигурации с полным 22-битным адресом. Вот пример загрузки RSX-11M c диска DM0:

2044.KW
START? DM0

RSX-11M V4.8 BL70 2044.K MAPPED
>RED DM:=SY:
>RED DM:=LB:
>MOU DM:RSXM70
>@DM:[1,2]STARTUP
>* Please enter time and date (HH:MM DD-MMM-YY) [S]: 10:11 17-DEC-22
>TIME 10:11 17-DEC-22
>* ENTER LINE WIDTH OF THIS TERMINAL [D D:132.]:
>SET /BUF=TI:132.
>ACS SY:/BLKS=1024.
>;
>; This system startup command file (LB:[1,2]STARTUP.CMD) contains a
>; template of commands to initialize the queue print spooler and queue
>; LP0:, initialize the error logger, initialize the DCL CLI, and install
>; the RMS Library and Utilities. As is, these commands are commented out
>; and are not executed. To include these commands as part of the
>; startup procedure, edit the file to remove the period and semi-colon
>; (.;) comment delimiter from the beginning of each line. These
>; commands may be useful for initializing the various facilities for
>; your installation or else they may provide a model with which to
>; tailor initialization commands for your particular installation.
>;
>@ <EOF>
>

Вроде бы победа. Однако более привередливый M+ загружаться отказался. Даже стартер Baseline не запускается - просто намертво виснет, ничего не выводя на экран. Ну, что тут скажешь... Это в принципе может быть и мой косяк в реализации механизма Unibus Mapping. Надо поискать, какие тесты XXDP можно использовать для его проверки. Будем думать дальше....

Hunta
17.12.2022, 13:12
KDJ11-B и плата мультиконтроллера


Testing in progress - Please wait
Memory Size is 4088 K Bytes
9 Step memory test
Step 1 2 3 4 5 6 7 8 9


Message 04 Entering Dialog mode

Commands are Help, Boot, List, Setup, Map and Test.
Type a command then press the RETURN key: BOO ZC32


Trying ZC32

Starting system from ZC32




RSX-11M-PLUS V4.6 BL87 2044.KW System:"KXX002"
>RED ZC1:=SY:
>RED ZC1:=LB:
>RED ZC1:=SP:
>MOU ZC1:"RSX11MPBL87"
>@ZC1:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 19:01 10-JUN-2021
>TIME 19:01 10-JUN-2021
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
>INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
.....
>ACD LINK TI: TO NUMBER 20
>@ <EOF>
>DEV
VF0: Public Mounted Loaded Label=UTILS Type=unknown
VF1: Offline Loaded Type=unknown
.....
DK0: Loaded Type=RK05
DK1: Loaded Type=RK05
DK2: Loaded Type=RK05
DK3: Loaded Type=RK05
DK4: Loaded Type=RK05
DK5: Loaded Type=RK05
DK6: Loaded Type=RK05
DK7: Loaded Type=RK05
DU0: Loaded Type=RA81
.....
>
>MOU DK7:/FOR
>INS $FLX
>FLX DK7:/RT/DI


Directory DK7:
10-JUN-2021

SWAP .SYS 28. 31-OCT-1998
RT11SB.SYS 99. 02-OCT-2020
.....
TDL0NL.COM 1. 07-MAY-2021
TDL0 .COM 1. 11-MAY-2021
TSYDL0.COM 1. 15-MAY-2021
SPEED5.SAV 8. 19-MAY-2021
< Unused > 583.

583. Free blocks

Total of 4179. blocks in 155. files

>MOU DK7:/FOR
>BAD DK7:/LI
PAR
SECPOL 117734 00120000 00100000 SEC POOL
SYSPAR 117670 00220000 00201000 MAIN
.....
061220 02213500 00071600 TASK <BADT0 >
>
BAD -- DK7: Total bad blocks= 0.
>
>BRU/INI/VER/MOU/MAX:300./HEAD:295. ZC1:[1,2] DK7:
BRU - This disk will not contain a hardware bootable system

BRU -- *WARNING* -- File IDs will not be preserved
PAR
SECPOL 117734 00120000 00100000 SEC POOL
SYSPAR 117670 00220000 00201000 MAIN
...
061220 02213500 00200100 TASK <BRUT0 >
>
BRU - Starting verify pass

BRU - Completed

>CON DISPLAY ATTRIBUTES FOR SYSTEM

CON -- No device name matches select string "SYSTEM"
>CON DISPLAY ATTRIBUTES FOR SYS
SYS
PDP-11/84, EIS,UNIBUS_Map,D-Space,Cache,FPP,
Clock=KW11-L, $TKPS=50., $TTPRM=000002, Cache_control=000001
>

forth32
17.12.2022, 13:18
А что такое плата мультиконтроллера?

Hunta
17.12.2022, 13:23
А что такое плата мультиконтроллера?
https://zx-pk.ru/threads/31734-multiinterfejsnaya-plata-kontrollerov-(mipk).html

forth32
17.12.2022, 13:28
Честно говоря, лень читать длинную тему и ходить по бесконечным ссылкам.
Но какое это отношение имеет к рассматриваемой проблеме Unibus Mapping?

Hunta
17.12.2022, 13:54
Но какое это отношение имеет к рассматриваемой проблеме Unibus Mapping?
Плата KDJ11-B - QBus, RK11 требует Unibus mapping для памяти больше 248 кб

- - - Добавлено - - -

И KDF11-B


KDF11B-BH ROM V1.0

4088KB MEMORY
9 STEP MEMORY TEST
STEP 1 2
173132
@10000/177777 12706
010002/177777 10000
010004/177777 12746
010006/177777 340
010010/177707 12746
010012/177777 10016
010014/177777 2
.....
010024/040017 41411
010026/177777 122
010120/177707 5300
010122/177777 1374
010124/177777 4715
010126/007417 4715
010130/177777 5007
@10000G
HX 2.2 RT-11 Cold boot..

HX DSK/TTY multiplexer v3.3 2016

RT-11SB (S) V05.07

.R MSCPCK

.DIR RK7:

?DIR-F-Invalid directory

.BOO/FOR C40:



RSX-11M-PLUS V4.6 BL87 2044.KW System:"KXX002"
>RED ZC1:=SY:
>RED ZC1:=LB:
>RED ZC1:=SP:
>MOU ZC1:"RSX11MPBL87"
>@ZC1:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
c;
c;
SET -- Inquire cannot determine terminal type
>;
>; Please ignore any random characters that may have printed on your
>; terminal just now. They came from a SET /INQUIRE=TI: command.
>; Evidently your terminal does not recognize escape sequences.
>; This will not affect the running of this command file.
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 14:42 17-DEC-2022
>TIME 14:42 17-DEC-2022
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
......
>INS LB1:[4,54]SRDRES
>ACD UNLINK TI:
>ACD REMOVE NUMBER 20
That ACD is not installed
>ACD INSTALL LB1:[ACD2]MIMACD.TSK AS NUMBER 20 ASSIGN ACD$MIM
>ACD LINK TI: TO NUMBER 20
>@ <EOF>
>BAD DK7:/LI
BAD -- DK7: Privilege violation
>MOU DK7:/FOR
>BAD DK7:/LI
BAD -- DK7: Total bad blocks= 0.
>CON DISPL ATTR FOR SYS
SYS
PDP-11/23, EIS,UNIBUS_Map,QBUS,CIS,FPP,
Clock=KW11-L, $TKPS=50., $TTPRM=000002
>

forth32
17.12.2022, 13:54
Так-то я почти не сомневался, что M+ способен грузиться в такой конфигурации, тем более в доке по Able Uimap прямо об этом сказано - RSX11M+ support.

Тут, правда, процессор другой, J11, хотя вряд ли это на что-то влияет. Разница в том, что я пытаюсь загрузить систему с такого устройства, и это не получается. Вечерком попробую загрузиться с DB и таким же образом пощупать диски DK и DM.

Hunta
17.12.2022, 14:10
Тут, правда, процессор другой, J11, хотя вряд ли это на что-то влияет
Ожидал это и уже добавил

- - - Добавлено - - -

Ну и как завершение темы RSX+ QBus UMR


M11 Microcode Rev. V 1.15
Loading microcode - 1 2 3 4 5


Testing in progress please wait
4088 K Bytes RAM

M1000 SIEMENS BOOTSTRAP / DIAGNOSTIC VERSION V 2.1

Commands are :

BOOT - Boot from a specific device.

HELP - Re-display this summary of commands.

LIST - List the bootstraps provided.

MAP - Display a map of the address space.

SETUP - Configure the M1000.

TEST - Enter a continuous test mode


Enter a command and press the return key :
00037162
@177776/055433 177777
@10000/012706 12706
010002/011546 10000
............
010124/000000 4715
010126/000000 4715
010130/000000 5007
@10000G
HX 2.2 RT-11 Cold boot..

HX DSK/TTY multiplexer v3.3 2016

RT-11SB (S) V05.07

.BOO/FOR C40:



RSX-11M-PLUS V4.6 BL87 2044.KW System:"KXX002"
>RED ZC1:=SY:
>RED ZC1:=LB:
>RED ZC1:=SP:
>MOU ZC1:"RSX11MPBL87"
>@ZC1:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 17-DEC-2022 15:04
>TIME 17-DEC-2022 15:04
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
....
>INS LB1:[4,54]SRDRES
>ACD UNLINK TI:
>ACD REMOVE NUMBER 20
That ACD is not installed
>ACD INSTALL LB1:[ACD2]MIMACD.TSK AS NUMBER 20 ASSIGN ACD$MIM
>ACD LINK TI: TO NUMBER 20
>@ <EOF>
>DEV DK:
DK0: Loaded Type=RK05
DK1: Loaded Type=RK05
DK2: Loaded Type=RK05
DK3: Loaded Type=RK05
DK4: Loaded Type=RK05
DK5: Loaded Type=RK05
DK6: Loaded Type=RK05
DK7: Loaded Type=RK05
>MOU DK7:/FOR
>BAD DK7:/LI

>CON DISPL ATTR FOR SYS
BAD -- DK7: Total bad blocks= 0.
>
SYS
PDP-11/96, EIS,UNIBUS_Map,D-Space,Cache,
Clock=KW11-L, $TKPS=50., $TTPRM=000002, Cache_control=000001

forth32
17.12.2022, 14:16
Зря дековцы назвали эту подсистему Unibus mapping, только людей в заблуждение вводят.
Ладно, с поддержкой более-менее понятно, будем пока считать что это мой косяк где-то в схеме. Хотя странно - RSX11M отлично работает и даже грузится с DM. Грузиться с DK не пробовал, туда система вряд ли влезет, но проинитить DK0 вполне можно. Где-то проявляется какое-то принципиальное отличие между М и М+.

Hunta
17.12.2022, 14:28
Нормально назвали, она отображает (mapping) пространство Unibus в 22-битное пространство. Свой ДП для ПДП.

forth32
17.12.2022, 23:00
Нашел-таки ошибку в реализации подсистемы UMR. Забыл исключить регистр номер 31. При адресах 776000-777777 отображение не производится, а область эта всегда отображается на страницу ввода-вывода. Я, правда, не представляю, зачем системе нужен доступ через DMA к странице ввода-вывода, но факт остается фактом.
В результате М+ загрузилось:

2044.KW
START? DM0


RSX-11M-PLUS V4.6 BL87 2044.KW System:"Baseline"
>RED DM:=SY:
>RED DM:=LB:
>RED DM:=SP:
>MOU DM0:"RSX11MPBL87"
>@[2,54]BASTART.CMD
>SET /CRASHDEV=MM0:
SET -- Crash device MM000: has been successfully loaded
>;
>* Do you wish to see the Installation Notes? [Y/N]: N
>SET /UIC=[200,200]
>;
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>; In order to start the SYSGEN process, type:
>;
>; >@SYSGEN
>;
>; When SYSGEN has completed and your generated system is
>; running, you may wish to edit several supplied prototype
>; command and text files to suit your system and application:
>;
>; File Purpose
>; ---- -------
>; [0,0]RSX11.SYS An account/password file
>; This file does contain privileged accounts.
>;
>; [1,2]STARTUP.CMD (This file) Invoked at bootstrap time to
>; control bringing up the system.
>;
>; [1,2]QMGSTART.CMD Invoked by STARTUP to start up the Queue
>; Manager and spooling system.
>;
>; [1,2]SHUTUP.CMD Invoked by SHUTUP when taking down the system
>; to perform system dependent shutdown tasks.
>;
>; [1,2]QMGSTOP.CMD Invoked by SHUTUP to stop the Queue Manager
>; and spooling system.
>;
>; [1,2]LOGIN.TXT Displayed on user's terminal when logging in.
>;
>; [1,2]BATCH.TXT Displayed at the beginning of each batch log
>; file.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 22:49 17-DEC-22
>TIME 22:49 17-DEC-22
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
>INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
>INS $QMGCLI
>INS $QMGCLI/TASK=...PRI
>INS $QMGCLI/TASK=...SUB
>QUE /START:QMG
>INS $QMGPRT/TASK=PRT.../SLV=NO
>QUE LP0:/CR/NM
>START/ACCOUNTING
>CON ESTAT LP0:
>QUE LP0:/SP/FL:2/LOWER/FO:0
>QUE BAP0:/BATCH
>QUE LP0:/AS:PRINT
>QUE BAP0:/AS:BATCH
>@ <EOF>
>CON DIS AT FO SYS
SYS
PDP-11/23, EIS,UNIBUS_Map,QBUS,FPP,
Clock=KW11-L, $TKPS=60., $TTPRM=000002
>


Теперь осталась проблема с дисками DB. Диск этот можно смонтировать, можно спокойно работать с файлами на нем:

>MOU DB0:/OVR/VI
Volume Information
Class: Files-11
Device: DB00
Volume label:RSX11MPBL87
Owner: [1,1]
Protection: [RWCD,RWCD,RWCD,RWCD]
Default: [RWED,RWED,RWED,R]
Processor: F11ACP
>DIR DB0:[200,200]


Directory DB0:[200,200]
17-DEC-22 22:53

SYSGEN.CLB;1 1270. C 18-DEC-98 02:46
BLDLAINIT.CMD;1 12. 18-DEC-98 02:46
SGNBLDBLD.CMD;1 57. 18-DEC-98 02:46
SGNKLAB.CMD;1 71. 18-DEC-98 02:46
SGNPREFIX.CMD;1 12. 18-DEC-98 02:46
SYSGEN.CMD;1 3. 18-DEC-98 02:46
RSXMC0.MAC;1 16. 18-DEC-98 02:46
WRKEXECOP.TXT;1 7. 18-DEC-98 02:46
WRKMASSCO.TXT;1 2. 18-DEC-98 02:46
WRKMASSDR.TXT;1 4. 18-DEC-98 02:46
WRKUNIBCO.TXT;1 3. 18-DEC-98 02:46
WRKUNIBDR.TXT;1 4. 18-DEC-98 02:46
SYSGENSA1.CMD;1 8. 13-DEC-22 22:26
RSXMC1.MAC;1 19. 13-DEC-22 22:26
SGNSYM1.CMD;1 2. 13-DEC-22 22:27
SGNPARM.CMD;1 1. 13-DEC-22 22:27
SYSGENSA2.CMD;1 2. 13-DEC-22 22:27
RSXMC2.MAC;1 0. 13-DEC-22 22:27
SYSTB.MAC;1 3. 13-DEC-22 22:27

Total of 1496./1496. blocks in 19. files

>

Это все прекрасно, но вот загрузиться с диска DB не получается:

2044.KW
START? DB0

000751
@
Завтра посмотрю сигналтапом, на чем валится загрузка.

forth32
20.12.2022, 18:29
Как оказалось, проблема отсутствия загрузки с DB (с которой я так и не разобрался) не единственная. Оказалось, что не работает генерация системы. Выглядит это так:

>;================================================= =============
>; Building the Executive and Drivers 20-DEC-22 at 17:57
>;================================================= =============
>;
>;
>;
>SET /UIC=[1,24]
>SET /UIC=[200,200]

AT.T0 -- Undefined symbol $U$DAS
.IFT $U$DAS .SETS $FCPNM "FCPLRGID"
>

Поиск по библиотеке скриптов генерации показал, что такое $U$DAS:

.230C: ;
; User data space support allows tasks to use the user-mode
; I- and D-space mapping hardware to map code and data separately.
; To take advantage of this feature, tasks must be built with
; their code and data in separate PSECTS.
.230: ;
.ASK [N] $U$DAS CE060 Do you want user data space support

Поскольку у нас тут процессор без I/D, то вопрос этот мне, естественно, не задавали. Почему вдруг скрипт полез к этому символу - пока загадка. Может быть, конечно, я зря положился на автоконфгуратор, но до сих пор с ним проблем вроде как не возникало, а отвечать а десятки вопросов о разной причудливой периферии мне как-то лень. Вот:
>ACO SHOW
Processor Type: 11/23-PLUS Memory Size: 2044. Kw

Options:

Floating Point Processor (FP11)
Extended Instruction Set (EIS)
Extended (22-Bit) Addressing
Parity Memory

Name Vector CSR Unit Type Remark
RHA 254 176700
0 RP06
1 RP06
2 RP06
3 RP06
4 RP06
5 RP06
6 RP06
7 RP06
DKA 220 177404
0 RK05
1 RK05
2 RK05
3 RK05
4 RK05
5 RK05
6 RK05
7 RK05
DMA 210 177440
0 RK07
1 RK07
2 RK07
3 RK07
4 RK07
5 RK07
6 RK07
7 RK07
DXA 264 177170
LPA 200 177514
YLA 060 177560
YLB 330 176500


Вроде бы все правильно.

В прошлой жизни с М+ я практически не сталкивался. Один раз генерировал ее на СМ-1420, чисто чтобы посмотреть, что это такое. Причем даже не М+, а ОСРВМ (до сих пор жалею, что не забрал тогда ленточки с этим дистрибутивом). Сгенерировали, погрались немного и на этом все. Нашей рабочей системой всегда был 11М.
Теперь оказалось, что М+ - довольно загадочная система, проблемы у которой вылезают прямо на ровном месте, вот типа вышеописанной. И к схемотехнике она более требовательна - там где 11М грузится и работает, М+ вылетает или вообще не грузится. Ладно, придется порыться в системе скриптов генерации, они нудные, но что делать... Идея состояла в том, чтобы сгенерировать вариант системы конкретно под мою конфгурацию и попробовать загрузить ее с DB. Да вот пока даже это не получается.

Hunta
20.12.2022, 19:00
Оказалось, что не работает генерация системы.

Почему вдруг скрипт полез к этому символу - пока загадка.

Это известная проблема (скорее всего - не исправленная ошибка), про неё ещё Form писал. С ходу не скажу - где и как лечится, надо свои файлы глянуть, тогда отпишусь.



Теперь оказалось, что М+ - довольно загадочная система, проблемы у которой вылезают прямо на ровном месте

И к схемотехнике она более требовательна - там где 11М грузится и работает, М+ вылетает или вообще не грузится
Нет. Просто нужно помнить, что у неё есть список поддерживаемых процессоров и всё, что не в этом списке - как минимум не тестировалось, а может и просто не работать. В целом же система - да, более требовательна к железу и ресурсам, но гораздо лучше, мощнее и гибче RSX-11M

- - - Добавлено - - -

Нужно из SYSGEN.CLB извлечь SGNEXC.CMD, найти строки и исправить с

.IFF $K$DAS .GOTO 230Z
.IFDF $U$DAS .GOTO 230S

на

.IFF $K$DAS .SETF $U$DAS
.IFDF $U$DAS .GOTO 230S

и записать обратно в SYSGEN.CLB

forth32
20.12.2022, 19:05
Нет. Просто нужно помнить, что у неё есть список поддерживаемых процессоров и всё, что не в этом списке - как минимум не тестировалось,
Ну уж 11/23 - точно в списке поддерживаемых процессоров. Тем более у нас тут настоящий, схемотехнически точный процессор, а не эмулятор типа pdp2011. Другое дело периферия... Вот ты давеча показывал загрузку RSX с какой-то причудливой железки, под которую и драйвер свой написан. С такой железки стартер Baseline, понятно, не загрузишь без пересборки. То есть у тебя была уже сгенерированная под конкретную аппаратуру система. И я подумал - вдруг, если я сделаю систему под свое железо, то и с DB загрука пойдет. Все же этот контроллер более-менее стандартный, для него особый драйвер не нужен.

Теперь я уже начинаю предполагать, что M+ действительно не хочет грузиться на процессоре 11/23 с подключенным к нему massbus-контроллером RH70. Потому что в реальной жизни так не бывает. Но при этом, кроме загрузки, все остальное работает - диск монтируется, файлы читаются-пишутся... Загадочная все же это ситема.

Hunta
20.12.2022, 19:06
схемотехнически точный процессор
Вот только на моём (реальном) всё работает, а на "схемотехнически точном" - нет

forth32
20.12.2022, 19:10
Вот только на моём (реальном) всё работает, а на "схемотехнически точном" - нет
Так у тебя вооще нет диска DB. А остальные диски и тут работают без проблем.

Hunta
20.12.2022, 19:12
С такой железки стартер Baseline, понятно, не загрузишь без пересборки.
Загрузишь, достаточно добавить драйвера. Ну и если нужно аппаратную загрузку - надо будет пересобрать BOO и SAV (как минимум - SAV)


И я подумал - вдруг, если я сделаю систему под свое железо, то и с DB загрука пойдет.
Я уже писал, DB не на 11/70 требует UMR


Но при этом, кроме загрузки, все остальное работает - диск монтируется, файлы читаются-пишутся
Нужно смотреть драйвер DB, я писал только - как проверяет SAV - какой контроллер и нужно ли задействовать UMR. Ну и понятния не имею - как у тебя реализован UMR. В моём варианте (притом, что из за недоступности одного сигнала пришлось малость схитрить) - RK11 работает. Для RL я допилил модуль до RLV211 - он qbus и не требует UMR, а RH пока не доделан

forth32
20.12.2022, 19:31
Ну, RK11 и RK611 и тут отлично работают:
>ALL DM1:
>MOU DM1:/FOR
>BAD DM1:
BAD -- DM1: Total bad blocks= 0.
>INI DM1:TDISK
>DMO DM1:
11:18:00 *** DM1: -- Dismount complete
DMO -- TT0: dismounted from DM1: *** Final dismount initiated ***
>MOU DM1:/OVR/VI
Volume Information
Class: Files-11
Device: DM01
Volume label:TDISK
Pack serial: 11444562104
Owner: [1,1]
Protection: [RWCD,RWCD,RWCD,RWCD]
Default: [RWED,RWED,RWED,R]
Processor: F11ACP
>DIR DM1:[0,0]


Directory DM1:[0,0]
20-DEC-22 11:18

INDEXF.SYS;1 1662. 20-DEC-22 11:17
BITMAP.SYS;1 15. 20-DEC-22 11:17
BADBLK.SYS;1 22. 20-DEC-22 11:17
000000.DIR;1 1. C 20-DEC-22 11:17
CORIMG.SYS;1 0. 20-DEC-22 11:17

Total of 1700./1700. blocks in 5. files


Так что предполагаю, что серьезных ошибок в подсистеме UMR у меня нет. А вот если попытаться завернуть в эту подсистему и DB, то получаем такое:

2044.KW
START? DB0



RSX-11M-PLUS V4.6 BL87 2044.KW System:"Baseline"
016454
@
Вроде бы шаг вперед. Но теперь сама система отказывается работать с этим диском:

>MOU DB0:/OVR/VI
003666
@

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

Hunta
20.12.2022, 19:57
загрузчик хочет работать только через UMR
Если контроллер не RH70


а драйвер - только в 22-битном режиме
Нет, он проверяет тип контроллера


BIT #KS.MBC,K.STS(R1) ;YES, IS THIS A 22-BIT CONTROLLER?
BNE 20$ ;IF NE YES
CALL $STMAP ;SETUP UNIBUS MAP ADDRESS

forth32
06.01.2023, 16:27
Наконец закончилось новогодее спиртное, и я выбрал время продолжить любимое дело.
Итак, с первичным загрузчиком, формируемым на диске программой SAV, я разобрался. Он, действительно, пытается определить тип контроллера - RH-11 или RH-70, по наличию регистра расширенного адреса RHBAE, в котором хранятся дополнительные биты адреса 18-21. А, до этого, пытается определить тип процессора - 11/70 или нет, по наличию регистра SYSID (177764). И если машина не 11/70, то считает, что контроллер у нас RH-11. Подход выглядит весьма корявым, и является следствием непродуманности средств идентификации оборудования.
Вообщем, если из адресного пространства выкинуть регистр RHBAE, то стартер BASELINE начинает отлично грузиться с DB-диска:

2044.KW
START? DB0



RSX-11M-PLUS V4.6 BL87 2044.KW System:"Baseline"
>RED DB:=SY:
>RED DB:=LB:
>RED DB:=SP:
>MOU DB0:"RSX11MPBL87"
>@[2,54]BASTART.CMD
>SET /CRASHDEV=MM0:
SET -- Crash device MM000: has been successfully loaded
>;
>* Do you wish to see the Installation Notes? [Y/N]:
>SET /UIC=[200,200]
>;
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>; In order to start the SYSGEN process, type:
>;
>; >@SYSGEN
>;
>; When SYSGEN has completed and your generated system is
>; running, you may wish to edit several supplied prototype
>; command and text files to suit your system and application:
>;
>; File Purpose
>; ---- -------
>; [0,0]RSX11.SYS An account/password file
>; This file does contain privileged accounts.
>;
>; [1,2]STARTUP.CMD (This file) Invoked at bootstrap time to
>; control bringing up the system.
>;
>; [1,2]QMGSTART.CMD Invoked by STARTUP to start up the Queue
>; Manager and spooling system.
>;
>; [1,2]SHUTUP.CMD Invoked by SHUTUP when taking down the system
>; to perform system dependent shutdown tasks.
>;
>; [1,2]QMGSTOP.CMD Invoked by SHUTUP to stop the Queue Manager
>; and spooling system.
>;
>; [1,2]LOGIN.TXT Displayed on user's terminal when logging in.
>;
>; [1,2]BATCH.TXT Displayed at the beginning of each batch log
>; file.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 15:52 6-JAN-23
>TIME 15:52 6-JAN-23
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
>INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
>INS $QMGCLI
>INS $QMGCLI/TASK=...PRI
>INS $QMGCLI/TASK=...SUB
>QUE /START:QMG
>INS $QMGPRT/TASK=PRT.../SLV=NO
>QUE LP0:/CR/NM
>START/ACCOUNTING
>CON ESTAT LP0:
>QUE LP0:/SP/FL:2/LOWER/FO:0
>QUE BAP0:/BATCH
>QUE LP0:/AS:PRINT
>QUE BAP0:/AS:BATCH
>@ <EOF>
>


С ошибкой, вылезающей в процессе генерации системы, я также разобрался. Проблема оказалась в скрипте SGNVC.CMD, предназанченном для формирования файла SYSVMR.CMD. Вот в этом месте:

.VMR60: .IF $FCPNM NE "FCPLRG" .GOTO VMR65
.IFT $U$DAS .SETS $FCPNM "FCPLRGID"

не проверяется наличие переменной $U$DAS, что и порождает ошибку. Переменная эта имеет смысл только для I/D процессоров, для остальных она не определена. Исправить ситуацию можно разными способами, я пошел самым простым путем, введя проверку наличия этой переменной:

.VMR60: .IF $FCPNM NE "FCPLRG" .GOTO VMR65
.IFNDF $U$DAS .GOTO VMR65
.IFT $U$DAS .SETS $FCPNM "FCPLRGID"


Предполагаю, что ошибку эту внесли криворукие программисты ментека, конкретно некий D. Carroll. Судя по журналу модификаций, этот код появился как раз в версии 4.6:

.; Modified for RSX-11M-PLUS V4.6 by:
.;
.; D. Carroll 06-Jan-1996 04.09
.; DC428 -- Load VF: if virtual disks were selected in sysgen
.; and select I/D space ACP if applicable


В результате генерация системы проходит до конца, но дальше поджидает очередной облом:

>BOO [1,54]
XDT: 87

XDT>G
RSX-11M-PLUS V4.6 BL87


>SAV

Свежая система загружается и вполне успешно функционирует - можно смонтировать все диски без проблем, можно запускать любые задачи. Но вот попытка сохранить образ командой SAV вызывает мертвый вис. Более того, образ системы необратимо портится и больше не загружается:

>BOO [1,54]
057242
@

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

Hunta
06.01.2023, 17:02
Подход выглядит весьма корявым, и является следствием непродуманности средств идентификации оборудования.
Учитывая, что RH-70 бывает у DEC ТОЛЬКО на PDP-11/70 (ваксы в расчёт не берём, да и контроллер там немного свой), но, насколько я в курсе - там можно и RH-11 воткнуть - подход нормальный.

Chewbacca
23.03.2023, 21:18
Всем привет!
Парни, подскажите, что я делаю не так? У меня плата ODAZZ, не хочет грузится. WinImage проходит верификацию, имидж корректный на карте.
Распиновку вроде собрал правильно.

Куда смотерть?

https://i.ibb.co/5rvqCbQ/IMG-20230323-200818.jpg (https://ibb.co/5rvqCbQ) https://i.ibb.co/LxqTwbb/IMG-20230323-200822.jpg (https://ibb.co/LxqTwbb) https://i.ibb.co/qmDMBxc/IMG-20230323-200831.jpg (https://ibb.co/qmDMBxc) https://i.ibb.co/c3fdDbm/IMG-20230323-200853.jpg (https://ibb.co/c3fdDbm)

vva
24.03.2023, 17:00
Распиновка правильная. А тесты проходят, (Т0 и др.)?

Hunta
24.03.2023, 17:41
Куда смотерть?
После попытки загрузки опять выйти в пульт и посмотреть - чего есть по адресам 0-776

Chewbacca
24.03.2023, 22:14
Распиновка правильная. А тесты проходят, (Т0 и др.)?

Сорри за дурацкий вопрос, как запустить тесты?


После попытки загрузки опять выйти в пульт и посмотреть - чего есть по адресам 0-776

Я так понял нажать кнопку резет на борде, выйти на @?
Как глянуть что по эти адресам? Я не силен в мониторе ДВК.

Hunta
24.03.2023, 22:28
Сорри за дурацкий вопрос, как запустить тесты?
В пульте 1201.03-04 - набрать T0, T1, T2... Насколько я помню, на 1201.02 вроде так же


Как глянуть что по эти адресам?
Опять же - по аналогии с .03-04 - набрать 0/ а потом нажимать Ctrl/J

Chewbacca
24.03.2023, 22:31
В пульте 1201.03-04 - набрать T0, T1, T2... Насколько я помню, на 1201.02 вроде так же
Опять же - по аналогии с .03-04 - набрать 0/ а потом нажимать Ctrl/J

Спасибо огромное, сегодня доберусь, все попробую и отпишусь.

Chewbacca
25.03.2023, 00:48
Я так понимаю - беда? :(
https://i.ibb.co/BfWQmb7/IMG-20230324-234344.jpg (https://ibb.co/BfWQmb7)

Hunta
25.03.2023, 01:10
Похоже на то. Но тут уже к автору проекта...

Chewbacca
25.03.2023, 02:09
Похоже на то. Но тут уже к автору проекта...

Ясно, жаль. Автор проекта с января молчек, как бы все с ним было хорошо.

vva
25.03.2023, 10:56
Уже писали ранее об OMDAZZ и сам "нарывался":
1. Очень короткие шнурки для SD-модуля и, желательно, не шлейф.
2. Понизить частоту для SD-модуля (у меня так: pll1.clk2_divide_by = 24, pll1.clk2_duty_cycle = 50, pll1.clk2_multiply_by = 1, pll1.clk2_phase_shift = "0",)
3. У меня не заработало пока не выкинул LP (почему - не разбирался). Короче - убрать все лишнее.

Автор писал, что именно эта плата "попила" у него кровушки.

Chewbacca
25.03.2023, 13:02
Автор писал, что именно эта плата "попила" у него кровушки.

Понял, попробую понизить частоту. Отпишусь.

Кстати, из других перечисленных плат на али ничего не нашел, что-то посоветуете, что есть в продаже?

vva
31.05.2023, 11:46
Люди, кто использует ДВК-3 на FPGA?

Woxem
02.06.2023, 14:02
Я использую, но последнее время редко

vva
02.06.2023, 22:03
Вопрос о таймере. У меня время регулярно отстает, такое происзодит только с ВМ2. Причем базовые тики нормальные, частота 50 Гц, дальше они идут в проц...


Я использую, но последнее время редко
Как у вас с системным временем?

Woxem
03.06.2023, 19:23
Не обращал внимание

forth32
02.02.2025, 09:45
После долгого перерыва, решил под новый год вернуться к разработке. Великий археолог VSAV представил миру результаты раскопок процессора 1801ВМ3, и я, конечно, добавил этот процессор в свой проект. Попутно в схеме процессора была найдена пара ошибок, которые VSLAV оперативно исправил.

Итак, в проект добавились платы МС1201.03/04. По сути, эти платы отличаются друг от друга только объемом ОЗУ, и, соответственно, схемотехникой контроллера динамической памяти. У 1201.03 установлено 256К ОЗУ, у 1201.04 - 1М ОЗУ. В данном проекте можно сконфгурировать и 256К, и 1М, и включить полный банк 4М ОЗУ, чего в реальной жизни не встречалось.
Также в схему плат добавлен контроллер Unibus Mappng (UMR), необходимый для правильного функционирования дисковых контроллеров, поддерживающих только 18-битный арес при DMA, при объеме памяти, превышающем 256К (в режиме 22-битного адреса). К счастью, разработчики 1801ВМ3 предусмотрели внешний выход UMAP, включающий эту подсистему. При желании можно исключить UMR из схемы даже при объеме ОЗУ больше 256К - это настраивается в файле конфгурации. Тогда получится точный вариант МС1201.04, но корректная работа с дисками DK и DM станет невозможна.

На платах МС1201.03/04 устанавливались 2 варианта ПЗУ теневого монитора с прошивками 134 и 377. Прошивка 377 - это вариант для машин ДВК-4, имеет более развитый командный язык и средства отладки/трассировки программ. В проект включены обе ПЗУ, выбираемые при сборке проекта через файл конфгурации. В ПЗУ 134 исправлены ошибки в загрузчиках - изначально там корректно рабоали только загрузчики MX, MY и DW. Видимо, других устройств никто никогда не подключал. В ПЗУ 377 все загрузчики изначально полностью работоспособны, я только добавил изначально отсутсвовавший загрузчик DM.

Теперь все желающие могут поиграться на настоящем ВМ3 с любыми большими ОС, например RSX-11M(+) и RSTS/E, чего практически нельзя было сделать в реальной жизни. Мне лично известен только один случай успешного запуска RSX-11M+, на этом самом форуме. Но там ядро системы запускалось с дискеты MY, на которую много не напихаешь. Это делалось исключительно с целью проверить возможность загрузки RSX11M на процессоре ВМ3. Здесь же имеется возмжность сгенерировать и загрузить полноценную ОС, со всем необходимым системным и прикладным софтом - 8 дисков RP06 должно хватить на все что угодно. Вот как выглядит процесс загрузки RSX-11M+ с диска RP06:
https://raw.githubusercontent.com/forth32/dvk-fpga/refs/heads/main/screenshot/rsxvm4.png

Как и раньше, всесь проект лежит на гитхабе - https://github.com/forth32/dvk-fpga/

Вообщем, пользуйтесь. Теперь бы еще КЦГД сделать, чтобы совсем было похоже на ДВК-4. Но это, к сожалению, не так просто, как хотелось бы.

Hunta
02.02.2025, 10:18
чего практически нельзя было сделать в реальной жизни. Мне лично известен только один случай успешного запуска RSX-11M+, на этом самом форуме. Но там ядро системы запускалось с дискеты MY, на которую много не напихаешь. Это делалось исключительно с целью проверить возможность загрузки RSX11M на процессоре ВМ3.
Аха, конечно. Далёкие 1993-1996 года. Кому-то надоела RT-11 на Кванте и даже TSX не сильно понравилась. И этот кто-то взял да и перенёс RSX-11M-Plus на Квант.
Оживление Квант 4С (https://zx-pk.ru/threads/27816-ozhivlenie-kvant-4s.html)
Загрузка RSX-11M-Plus.mp4 (http://www.kpxx.ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/Загрузка RSX-11M-Plus.mp4)

ra3qdp
02.02.2025, 12:30
Да, уж...
На DU: это смотрится по другому.
И DW: на Pro (Э-85) - то же.
Что так тормозит ?

Hunta
02.02.2025, 12:34
А на J-11 ещё более по другому. И?


DW: на Pro (Э-85)
тот же самый

ra3qdp
02.02.2025, 12:41
посмотрите как работает 85-ка.

Hunta
02.02.2025, 12:45
По другому работает. На видео - много команд в стартовом файле, по времени загрузки до его вызова - примерно то на то.
Плюс запускается батник, который доустанавливает софт. P/Os такое делает?
Ну и плюс - её развитие остановилось на версии RSX-11M-Plus 3.0, так что - ещё и старая операционка

- - - Добавлено - - -


Что так тормозит ?
А подумать - не судьба? Всё на видео

ra3qdp
02.02.2025, 13:17
А рассказать - не судьба ?

Hunta
02.02.2025, 13:32
Чего рассказать? Что выполняется стартовый коммандник - на видео прекрасно видно. Или надо ещё в видео тыкать?

ra3qdp
02.02.2025, 13:59
Запустили Вы RSX , а дальше ? Какова судьба машины ? Что и кто на ней делал ?

ra3qdp
02.02.2025, 14:28
Эта разработка
я не про эмулятор (да и - что если бы эмулировали DEC-машину было бы хуже для этой установки ?)
Я про использование ДВК с RSX.

Hunta
02.02.2025, 14:33
что значит, кто что делал
Я думаю - камень в мой огород :) Я на ней работал и игрался порядка четырёх лет - домашний персональный комп :)

И как обычно у персонажа - "вот Э85 - это о-го-го, а всё остальное - хрень".

Вот только опыт показывает, что Э85 - по производительности - это машина уровня ДВК на 1201.04.

По скорострельности процессора немного хуже.

Немного получше видео (за счёт прямого доступа к видеоозу).

Серьезно неудобней (при персональном использовании) по операционке - DEC решила, что для обычных пользователей командная строка неудобней (согласен), но то, что они наваяли - в большинстве сценариев ещё неудобней даже для обычных пользователей, а уж если заниматься разработкой - туши свет.

Есть, кстати, мысли - перенести таки на неё RSX-11M-Plus :)

- - - Добавлено - - -


Я про использование ДВК с RSX.
Сколько я видел Э85 (ну... наверное, десятка два) - ПРОС осталась только на одной. На остальных - RT-11.

- - - Добавлено - - -


я не про эмулятор
Это - не эмулятор.

ra3qdp
02.02.2025, 14:45
у персонажа - "вот Э85 - это о-го-го, а всё остальное - хрень".

Почему Вы называете меня "персонажем " ? Я Вас чем-то лично обидел ? Тогда извиняюсь.

Я такого не говорил.


прямого доступа к видеоозу
что Вы имеете ввиду под прямым доступом ?



Вот только опыт показывает, что Э85

а какой у Вас "опыт" ? (по-подробней)



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

разве там нет командной строки ?


Сколько я видел Э85 (ну... наверное, десятка два) - ПРОС осталась только на одной. На остальных - RT-11.

у меня противоположный опыт. Думаю - у Вас были такие пользователи.




Есть, кстати, мысли - перенести таки на неё RSX-11M-Plus

точно помню, что Вы говорили - никогда я не буду. А мне бы было очень интересно, если Вы сделаете.

Hunta
02.02.2025, 15:02
разве там нет командной строки ?
Читать внимательно, цитировать точно


точно помню, что Вы говорили - никогда я не буду
Доказательство в студию

- - - Добавлено - - -


что Вы имеете ввиду под прямым доступом
А есть варианты?

- - - Добавлено - - -


а какой у Вас "опыт"
Отрицательный

ra3qdp
02.02.2025, 17:42
Отрицательный
и в чем отрицательный ? Может Вам помочь ?

Hunta
02.02.2025, 17:49
Я чего-то не понимаю?
Я, конечно, не ТС, но вроде как тема у нас совсем близко не валяется к Э85.
И обсуждать Э85 здесь?

За сим на всё про Э85 здесь, если оно не коснётся на реализацию Э85 в FPGA - не обращаю больше внимание.
И даже если коснётся - ещё подумаю
Если только ТС не подправит название

ra3qdp
02.02.2025, 19:02
обсуждать Э85 здесь?

не уместно здесь - пишите в личку.

derfliegenddehollander
06.02.2025, 14:50
Здравствуйте!

А нет реализации для DE-1 платы? Может кто то пересобрал проект для нее?

svinka
07.02.2025, 10:06
https://github.com/forth32/dvk-fpga/blob/main/LICENSE

derfliegenddehollander
07.02.2025, 11:07
Легендарная девборда, Чо
Но мне было бы интереснее под TN9\20

Этот sof для DE1? - ДВК?

- - - Добавлено - - -


https://github.com/forth32/dvk-fpga/blob/main/LICENSE

Не совсем понял, это к чему?

CodeMaster
07.02.2025, 11:22
Не совсем понял, это к чему?
Типа исходники есть и лицензия позволяет собрать подо что угодно.

svinka
07.02.2025, 14:58
Типа исходники есть и лицензия позволяет собрать подо что угодно.

Это означает что мы хотим модифицированных исходников, включая кофигурационные файлы и сценарии сборки. Согласно лицензии используемого открытого кода. Так как бинарь выставлен, а не передан в подворотне. Но тогда получатель бинаря имел бы такое право.

zebest
07.02.2025, 16:58
Обычная дилемма.
1. Вот бинарь, возможно рабочий, но без модифицированных исходников. (исходники у автора то есть)
2. Нет ни бинаря, ни мод. исходников.
Что выбираем? НечТо третье?
а так то да, на исходники под МиСТер я то жи посмотрел бы, ога...

svinka
07.02.2025, 21:56
а так то да, на исходники под МиСТер я то жи посмотрел бы, ога...
https://github.com/xolod79/MC1201

zebest
08.02.2025, 11:22
https://drive.google.com/file/d/1YRpxbiiBFcaFzj5ibX84jszilb5jrZjK/view?usp=sharing
По крайней мере собирается сейчас точно.
4 года назад - точно работало на DE1, сей час лень sd-карту делать и проверять.
Два варианта, мне так нужно было.
Единственное, что надо проверить адреса доступа к образам на SD-карте, ибо точно делал (для AEON например) - и с другим расположением.
upd
// Адрес массива дисков на карте
.start_offset ({6'b000000,diskbank,18'h0}),
нее, тут вроде правильно, с нуля разметка. Под AEON с середины карты делал, чо
На AEON фпга то сама с SD-карты загружается, поэтомуу первыя пол-карты отдал под конфиги, а с полкарты записал образы.
// Адрес массива дисков на карте
.start_offset({1'b0,sw_diskbank,18'hc000}),

sharklodon
05.03.2025, 14:46
Всем привет!
Парни, подскажите, что я делаю не так? У меня плата ODAZZ, не хочет грузится. WinImage проходит верификацию, имидж корректный на карте.
Распиновку вроде собрал правильно.

Куда смотерть?

https://i.ibb.co/5rvqCbQ/IMG-20230323-200818.jpg (https://ibb.co/5rvqCbQ) https://i.ibb.co/LxqTwbb/IMG-20230323-200822.jpg (https://ibb.co/LxqTwbb) https://i.ibb.co/qmDMBxc/IMG-20230323-200831.jpg (https://ibb.co/qmDMBxc) https://i.ibb.co/c3fdDbm/IMG-20230323-200853.jpg (https://ibb.co/c3fdDbm)

Здравствуйте,

Вы наконец-то решили проблему с SD-картой?

У меня такая же проблема с моим ep4cgx150 (плата BigMiST).

С уважением,
Shark

zebest
05.03.2025, 21:16
решили проблему с SD-картой
в некоторых, других, хороших, проектах бывают проблемы с такими модулями SD. Решают по разному, вплоть до выпаивания преобразователя уровня и спрямления сигнальных линий.
Ну и потом чтение с SD-карты насколько помню можно проверить на низком уровне, командами

sharklodon
09.03.2025, 23:34
в некоторых, других, хороших, проектах бывают проблемы с такими модулями SD. Решают по разному, вплоть до выпаивания преобразователя уровня и спрямления сигнальных линий.
Ну и потом чтение с SD-карты насколько помню можно проверить на низком уровне, командами

Большое спасибо за ваши комментарии.

Я просто хотел узнать, как он решил проблему, поскольку у меня такая же проблема в используемой мной FPGA (на основе BigMiST).

Хотя Xolod уже сказал мне, что проблема в модуле sdspi.v, но я не могу заставить его работать.

Большое спасибо,
Shark

forth32
10.03.2025, 20:12
Да чем таким принципиальным ваша виртуальная SD-карта отличается от физической, что модуль sdspi не может с ней работать?

sharklodon
14.03.2025, 22:01
Да чем таким принципиальным ваша виртуальная SD-карта отличается от физической, что модуль sdspi не может с ней работать?

Здравствуйте,

Я провел несколько тестов, и кажется, что проблема заключается в модуле sd_cart.v (MiST virtual sd cart).

Но я не могу найти ключ, чтобы заставить его работать правильно. Мне удалось заставить загрузиться диски DX0 и DX1, но с MY0 он не загружается, и я не знаю причину.

Спасибо,
Shark

forth32
17.03.2025, 21:13
Мне удалось заставить загрузиться диски DX0 и DX1, но с MY0 он не загружается, и я не знаю причину.

А потрассировать процесс загрузки сигналтапом не судьба? Ну или хотя бы посмотреть, что там загрузилось в память с адреса 0 вместо бутблока диска.

sharklodon
25.03.2025, 01:30
А потрассировать процесс загрузки сигналтапом не судьба? Ну или хотя бы посмотреть, что там загрузилось в память с адреса 0 вместо бутблока диска.

Извините, но я никогда не использовал signaltap, поэтому не знаю, как это сделать.

Большое спасибо,
Shark

ZXMAK
14.04.2025, 19:50
QMTECH CycloneIV EP4CE15, все работает, только очень сильно сдвинуто изображение влево, автоподстройка дисплея не помогает. Нужны кому исходники? Разница с QMDAZZ только в контроллере SDRAM, ну и в пинах.

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

sharklodon
18.04.2025, 00:45
у меня такая плата, интересно было бы запустить двк, скиньте исходники

Здравствуйте,

Дисковый погрузчик MY, работает ли он у вас?

Спасибо,
Shark

derfliegenddehollander
13.06.2025, 19:32
Всем привет! По теме ветки если кому то будет интересно или будут вопросы, вот мое изложение. Хотел тут сделать, но инет совсем сошел с ума!

Вот (https://dzen.ru/a/aEasRITKHyo57Mi9) мой рассказ.

В целом было интересно запустить эту платку. Но там еще не все.

derfliegenddehollander
23.06.2025, 16:02
Теперь уже на AX4010!

Собрал .sof и "отодвинул" экран для моего монитора! Все отлично!

https://pic.maxiol.com/thumbs2/1750683731.3104028322.000001.jpg (https://pic.maxiol.com/?v=1750683731.3104028322.000001.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1750683748.3104028322.000002.jpg (https://pic.maxiol.com/?v=1750683748.3104028322.000002.jpg&dp=2)

Жду разьемчики для клавы!

sharklodon
24.06.2025, 00:29
Теперь уже на AX4010!

Собрал .sof и "отодвинул" экран для моего монитора! Все отлично!

https://pic.maxiol.com/thumbs2/1750683731.3104028322.000001.jpg (https://pic.maxiol.com/?v=1750683731.3104028322.000001.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1750683748.3104028322.000002.jpg (https://pic.maxiol.com/?v=1750683748.3104028322.000002.jpg&dp=2)

Жду разьемчики для клавы!



Потрясающе, не могли бы вы поделиться проектом?
Спасибо,
Shark

derfliegenddehollander
24.06.2025, 13:10
Потрясающе, не могли бы вы поделиться проектом?
Спасибо,
Shark

Тут (https://github.com/forth32/dvk-fpga) все лежит, давно уже! И документация вся!

sharklodon
25.06.2025, 17:40
Тут (https://github.com/forth32/dvk-fpga) все лежит, давно уже! И документация вся!



Верно, ваша плата - AX4010. Я думал, что это другая.

Shark

derfliegenddehollander
26.06.2025, 05:18
Да, именно она.

sharklodon
07.07.2025, 20:23
Здравствуйте,

Вот мой репозиторий на GitHub, где я пытаюсь портировать ядро на «большой» MiST (QMTECH EP4CGX150).

https://github.com/Maverick-Shark/dvk-fpga_MiST/tree/poseidon-ep4cgx150

При попытке чтения с диска происходит сбой. Образ .vhd монтируется нормально, но при попытке доступа к нему происходит сбой, и он не загружается.

Подробнее о Poseidon (большая плата MiST) на:
https://github.com/ManuFerHi/Poseidon

Любая помощь приветствуется.

С уважением,
Shark

derfliegenddehollander
08.07.2025, 05:44
Здравствуйте,

Вот мой репозиторий на GitHub, где я пытаюсь портировать ядро на «большой» MiST (QMTECH EP4CGX150).

https://github.com/Maverick-Shark/dvk-fpga_MiST/tree/poseidon-ep4cgx150

При попытке чтения с диска происходит сбой. Образ .vhd монтируется нормально, но при попытке доступа к нему происходит сбой, и он не загружается.

Подробнее о Poseidon (большая плата MiST) на:
https://github.com/ManuFerHi/Poseidon

Любая помощь приветствуется.

С уважением,
Shark

Я запустил на AX4010. В config.v подключена ВМ3 плата и ПЗУ 377-е. Все заработало, загрузка с MY0 и MY1 - RT-11 идет отлично! Миста у меня нет. А что значит "Образ .vhd монтируется нормально" - не совсем понял, монтируется?

https://pic.maxiol.com/thumbs2/1751942471.3104028346.000002.jpg (https://pic.maxiol.com/?v=1751942471.3104028346.000002.jpg&dp=2)

И еще собрал на ANLOGIC - жду VGA кабель пока.

https://pic.maxiol.com/thumbs2/1751942582.3104028346.0000001.jpg (https://pic.maxiol.com/?v=1751942582.3104028346.0000001.jpg&dp=2)

Посмотрим что получится.

sharklodon
09.07.2025, 08:36
Я запустил на AX4010. В config.v подключена ВМ3 плата и ПЗУ 377-е. Все заработало, загрузка с MY0 и MY1 - RT-11 идет отлично! Миста у меня нет. А что значит "Образ .vhd монтируется нормально" - не совсем понял, монтируется?


Привет,

MiST использует виртуальную SD, я переименовал initdisk.img в initdisk.vhd, чтобы смонтировать ее.

Для вашего AX4010, вы сначала записали (.img файл) на microSD, правильно?

Но я не вижу никакой microSD на вашей плате AX4010, как вы загружаетесь с MY0 и MY1?

И я не понимаю, почему вы выбрали 377 rom на vm3. По умолчанию выбран rom 137, а не 377.

С уважением,
Shark

Hunta
09.07.2025, 11:33
Но я не вижу никакой microSD на вашей плате AX4010
AX4010 SD (http://www.KpXX.Ru/Pics/Alinx AX4010.jpg)

derfliegenddehollander
24.07.2025, 12:38
Запустил две платы, AX4010 и Tang. Все отлично работает! Теперь в моем распоряжении, две конструктивно законченные ДВК-3 (FPGA)!
На AX4010 загрузил конфигурацию на 1801ВМ2, так как почти все драйверы, активны. Конфигурация ДВК-4 удалось грузиться только с MY0 и MY1.

AX4010 - дополнительно вывел переключатели и запустил работу через терминал.
https://pic.maxiol.com/thumbs2/1753349033.2684202968.000dvk30.jpg (https://pic.maxiol.com/?v=1753349033.2684202968.000dvk30.jpg&dp=2)

Tang
Также отлично работает через терминал.
https://pic.maxiol.com/thumbs2/1753349106.2684202968.000tang001.jpg (https://pic.maxiol.com/?v=1753349106.2684202968.000tang001.jpg&dp=2)

К стати флешки у меня работают обычные 4 Гб, формата HC. Все читается без проблем.


Теперь возник такой вопрос, как в образы дисков (в проекте есть утилиты вычитывания RK, DW, MY) добавить отдельные файлы и вычитать отдельные файлы, т.е. к примеру как сформировать правильно образ дискеты ДВК и поместить на него те файлы которые я хочу? У Никиты Зимина есть утилита rt11dsk, может кто сделал что то подобное для этого проекта? Очень нужно!



--
Sergey L

- - - Добавлено - - -



Но я не вижу никакой microSD на вашей плате AX4010, как вы загружаетесь с MY0 и MY1?



Почитайте внимательно документацию на AX4010 тут (https://github.com/alinxalinx/AX4010).

Да, если у кого проблема с Quartus и софтом для Tang могу поделиться файлами для загрузки.

Patron
24.07.2025, 16:37
Теперь возник такой вопрос, как в образы дисков (в проекте есть утилиты вычитывания RK, DW, MY) добавить отдельные файлы и вычитать отдельные файлы, т.е. к примеру как сформировать правильно образ дискеты ДВК и поместить на него те файлы которые я хочу?
Есть плагин для TotalCommander (https://zx-pk.ru/threads/11015-rt-11-dsk-total-commander-wcx-plugin.html), который может именно это.

derfliegenddehollander
24.07.2025, 18:09
Есть плагин для TotalCommander (https://zx-pk.ru/threads/11015-rt-11-dsk-total-commander-wcx-plugin.html), который может именно это.

Да, скачал с Вашего поста. Но получилась неувязка, у меня 64 Win, а плагин 32-х разр. Как то это можно решить? Дает ошибку. И еще несколько человек сказали что там не все корректно. И у Вас написано про ошибки но ссылки не открываются. Пробовал в FAR - вроде как добавил плагин, вообще не понятно, как это все там работает. Как открыть сам файл? Можете обьяснить?

Hunta
24.07.2025, 19:48
Теперь возник такой вопрос, как в образы дисков (в проекте есть утилиты вычитывания RK, DW, MY) добавить отдельные файлы и вычитать отдельные файлы
Надо будет глянуть формат - так как технически поддержка секционированных образов в ImageUtils есть, осталось только описать формат секций - и вперёд :) Пока, правда, больше тестировал разборку секционированных образов, вот заодно на сборке можно будет потренироваться :)

Patron
25.07.2025, 01:25
у меня 64 Win, а плагин 32-х разр. Как то это можно решить?У меня тоже Win64 и с обычным 32-разрядным TC всё без проблем работает.



И еще несколько человек сказали, что там не все корректно.
Насколько мне известно - там всё идеально. Если обнаружите ошибку (или узнаете у тех нескольких человек, что конкретно в плагине не идеально) - напишите в теме про плагин и я исправлю.



Пробовал в FAR - вроде как добавил плагин, вообще не понятно, как это все там работает. Как открыть сам файл? Можете обьяснить?
Я плагин только с TC использую. Чтобы открыть файл с расширением DSK - нужно поместить курсор на файл и нажать <Enter>, если расширение другое (или если расширения вообще нет) - в TC вместо <Enter> нужно нажать <Ctrl>+<PgDown>, а как быть в FAR - не знаю.

derfliegenddehollander
25.07.2025, 05:54
У меня тоже Win64 и с обычным 32-разрядным TC всё без проблем работает.
а как быть в FAR - не знаю.

Ого! Отличный полный ответ! Спасибо! :)

derfliegenddehollander
25.07.2025, 18:54
Поставил TC 32 разряда - читает и открывает диски от УКНЦ и Неона! Отлично!

А вот эти (http://srv157640.hoster-test.ru/1/rsxdvk.zip) два диска скачивал у СуперМакса и UNIX на Вашем эмуляторе запускается и работает!

А TC при попытке открыть их Вашим плагином не хочет?

https://pic.maxiol.com/thumbs2/1753458714.2684202968.1.jpg (https://pic.maxiol.com/?v=1753458714.2684202968.1.jpg&dp=2)

Можете глянуть что не так?

Hunta
25.07.2025, 21:09
А TC при попытке открыть их Вашим плагином не хочет?
Можете глянуть что не так?
Плагин для TC понимает только ФС RT-11 (точно) и XXDP (тут не уверен).
А в этих образах - ФС RSX и, как я понимаю - что-то UNIX-овской



>ImageUtilsX -unpack rsxdvk.dsk RSxdvk.dsk rsx

>dir RSxdvk.dsk

Directory of RSxdvk.dsk

25.07.2025 22:11 <DIR> metaFiles@
25.07.2025 22:11 <DIR> [0,0]
25.07.2025 22:11 <DIR> [1,2]
25.07.2025 22:11 <DIR> [1,54]
25.07.2025 22:11 <DIR> [3,54]

0 File(s) 0 bytes

>dir RSxdvk.dsk\[1,54]"

Directory of RSxdvk.dsk\[1,54]

08.03.2012 23:51 512 CONFIG.DAT;1
08.03.2012 23:51 3 146 CONFIG.DAT;1.header
08.03.2012 23:44 5 912 FCSRES.STB;1
08.03.2012 23:44 5 912 FCSRES.STB;1.binary
08.03.2012 23:44 3 170 FCSRES.STB;1.header
08.03.2012 23:44 6 144 FCSRES.STB;1.image
08.03.2012 23:44 17 920 FCSRES.TSK;1
08.03.2012 23:44 3 188 FCSRES.TSK;1.header
08.03.2012 23:44 16 520 RSX11M.STB;1
08.03.2012 23:44 16 520 RSX11M.STB;1.binary
08.03.2012 23:44 3 170 RSX11M.STB;1.header
08.03.2012 23:44 16 896 RSX11M.STB;1.image
08.03.2012 23:52 254 976 RSX11M.SYS;1
08.03.2012 23:52 3 192 RSX11M.SYS;1.header
08.03.2012 23:44 34 304 SAV.TSK;2
08.03.2012 23:44 3 176 SAV.TSK;2.header

Patron
26.07.2025, 00:25
А вот эти (http://srv157640.hoster-test.ru/1/rsxdvk.zip) два диска скачивал у СуперМакса и UNIX на Вашем эмуляторе запускается и работает!

А TC при попытке открыть их Вашим плагином не хочет?
UNIX, RSX, RSTS/E и P/OS я в плагин пока не добавил.

derfliegenddehollander
27.07.2025, 04:03
UNIX, RSX, RSTS/E и P/OS я в плагин пока не добавил.

Хорошо, понял. А в планах есть?

sharklodon
12.08.2025, 08:22
Запустил две платы, AX4010 и Tang. Все отлично работает! Теперь в моем распоряжении, две конструктивно законченные ДВК-3 (FPGA)!
На AX4010 загрузил конфигурацию на 1801ВМ2, так как почти все драйверы, активны. Конфигурация ДВК-4 удалось грузиться только с MY0 и MY1.

AX4010 - дополнительно вывел переключатели и запустил работу через терминал.
https://pic.maxiol.com/thumbs2/1753349033.2684202968.000dvk30.jpg (https://pic.maxiol.com/?v=1753349033.2684202968.000dvk30.jpg&dp=2)

Tang
Также отлично работает через терминал.
https://pic.maxiol.com/thumbs2/1753349106.2684202968.000tang001.jpg (https://pic.maxiol.com/?v=1753349106.2684202968.000tang001.jpg&dp=2)

К стати флешки у меня работают обычные 4 Гб, формата HC. Все читается без проблем.

Теперь возник такой вопрос, как в образы дисков (в проекте есть утилиты вычитывания RK, DW, MY) добавить отдельные файлы и вычитать отдельные файлы, т.е. к примеру как сформировать правильно образ дискеты ДВК и поместить на него те файлы которые я хочу? У Никиты Зимина есть утилита rt11dsk, может кто сделал что то подобное для этого проекта? Очень нужно!

--
Sergey L

- - - Добавлено - - -

Почитайте внимательно документацию на AX4010 тут (https://github.com/alinxalinx/AX4010).

Да, если у кого проблема с Quartus и софтом для Tang могу поделиться файлами для загрузки.

Потрясающе!!! Tang Primer 20K - лучший вариант!!! Конечно!!! Но у меня нет Tang Primer и он продан!!! У меня есть только Tang Nano 20k. И я опять же не знаю, совместим ли GoWin с Anlogic на 100%. Насколько сложно перенести dvk на GoWin.

Кто-нибудь может мне помочь?

С уважением,
Shark

derfliegenddehollander
14.08.2025, 09:50
Потрясающе!!! Tang Primer 20K - лучший вариант!!! Конечно!!! Но у меня нет Tang Primer и он продан!!! У меня есть только Tang Nano 20k. И я опять же не знаю, совместим ли GoWin с Anlogic на 100%. Насколько сложно перенести dvk на GoWin.

Кто-нибудь может мне помочь?

С уважением,
Shark

Там все дело в том, что Tang Primer - такая себе штуковнина. На Tang 20K с налета перенести не получиться. На "телеге" есть ленте "Неон ПК". Там есть Александр Холодов, можете у него спросить, по моему он этим занимался. Еще Tang Primer среда разработчика, под Винду без "перевода времени" не запустится. Под Linux возможно вроде как. Сама среда - это "убиться апстену" GoWin просто шедевр по сравнению с ней. Вообще мой совет, если хотите собрать - AX4010 самый простой и доступный вариант. Там и куча GPIO и можно вывести все переключатели "ДВК" и свои приложения разрабатывать. Еще Tang Primer не все VGA мониторы у меня заводились. Вот в целом такая ситуация.

sharklodon
24.08.2025, 23:35
Там все дело в том, что Tang Primer - такая себе штуковнина. На Tang 20K с налета перенести не получиться. На "телеге" есть ленте "Неон ПК". Там есть Александр Холодов, можете у него спросить, по моему он этим занимался. Еще Tang Primer среда разработчика, под Винду без "перевода времени" не запустится. Под Linux возможно вроде как. Сама среда - это "убиться апстену" GoWin просто шедевр по сравнению с ней. Вообще мой совет, если хотите собрать - AX4010 самый простой и доступный вариант. Там и куча GPIO и можно вывести все переключатели "ДВК" и свои приложения разрабатывать. Еще Tang Primer не все VGA мониторы у меня заводились. Вот в целом такая ситуация.

Да, я знаком с работой Александра с UNEON. Но я по-прежнему интересуюсь ядром DVK, а именно Elektronika-60. По этой причине я заинтересован в том, чтобы он был реализован для Tang Nano 20k, поскольку именно он в настоящее время находится в продаже.

Большое спасибо,
Shark

sharklodon
02.09.2025, 21:43
Да, если у кого проблема с Quartus и софтом для Tang могу поделиться файлами для загрузки.

Здравствуйте,

Не могли бы вы поделиться файлами Tang для этого проекта?

Спасибо,
Shark

derfliegenddehollander
07.09.2025, 08:34
Вт тут все после сборки. Извиняюсь - замотало малость. Работа началась. Если еще актуально вот (https://disk.yandex.ru/d/D-fYcgUKmYEYpg).

- - - Добавлено - - -

Вот тут все после сборки. Извиняюсь - замотало малость. Работа началась. Если еще актуально вот (https://disk.yandex.ru/d/D-fYcgUKmYEYpg).

sharklodon
08.09.2025, 13:58
Вт тут все после сборки. Извиняюсь - замотало малость. Работа началась. Если еще актуально вот (https://disk.yandex.ru/d/D-fYcgUKmYEYpg).

- - - Добавлено - - -

Вот тут все после сборки. Извиняюсь - замотало малость. Работа началась. Если еще актуально вот (https://disk.yandex.ru/d/oD-fYcgUKmYEYpg).



Привет,
Большое спасибо, что поделились этим.
Теперь мне снова нужна ваша помощь, но в этом случае она касается схем.
Глядя на задания Tang Primer, мне не совсем понятно, почему в распиновке VGA нет массива резисторов. То же самое касается порта ps2 и DIP-переключателей.
Не могли бы вы поделиться своей схемой для Tang Primer?




Спасибо,
Shark

derfliegenddehollander
08.09.2025, 14:58
Привет,
Большое спасибо, что поделились этим.
Теперь мне снова нужна ваша помощь, но в этом случае она касается схем.
Глядя на задания Tang Primer, мне не совсем понятно, почему в распиновке VGA нет массива резисторов. То же самое касается порта ps2 и DIP-переключателей.
Не могли бы вы поделиться своей схемой для Tang Primer?




Спасибо,
Shark

Тут (https://github.com/forth32/dvk-fpga/tree/main/board/tang) два pdf файла и там все описано - резисторов нет на VGA так как на Танге есть уже это все внутри в разьеме подключения дисплюя. Почитатйте там Форт все описал.

sharklodon
10.09.2025, 09:35
Тут (https://github.com/forth32/dvk-fpga/tree/main/board/tang) два pdf файла и там все описано - резисторов нет на VGA так как на Танге есть уже это все внутри в разьеме подключения дисплюя. Почитатйте там Форт все описал.

Еще раз спасибо.
Я прочитал pdf и forth32, установил резисторы DAC на разъем VGA DB-15. Я решил защитить (с помощью BAT56S) и разъем PS2. Но я не понимаю одного: почему он не подключил светодиоды к GND, он объясняет, что они подключены к 3V3.

Делюсь своей схемой.

Буду рад любой помощи!

https://pic.maxiol.com/thumbs2/1757605452.1306584786.schematictangprime.png (https://pic.maxiol.com/?v=1757605452.1306584786.schematictangprime.png&dp=2)

Omdazz:

https://pic.maxiol.com/thumbs2/1757605297.1306584786.screenshot20250911.png (https://pic.maxiol.com/?v=1757605297.1306584786.screenshot20250911.png&dp=2)

Пожалуйста, помогите мне!!

С уважением,
Shark