ага
правда простая - без PMI
под бекплан с PMI буду делать корзину сам, хоть и лениво очень
Дык, вроде, у тебя был H9278-A?
.....
А Ethernet модуль от AZ можешь расположить на задней крышке отсека с корзиной, как я сделал у себя:
http://images.vfl.ru/ii/1591194771/8...30708369_m.jpg
http://images.vfl.ru/ii/1591194955/8...30708406_m.jpg
Отверстие для DB9 - дальнейшая реализация функционала AZ - давно ожидаемый, рабочий SPI. :-)
А отверстие для DB25 интерфейсный разъем принтера (И7).
верно, но он не пригоден для этой корзины
начал делать фотоотчет по машинке тут https://forum.maxiol.com/index.php?showtopic=5524
да, аккуратно получается!Цитата:
А Ethernet модуль от AZ можешь расположить на задней крышке отсека с корзиной, как я сделал у себя:
http://images.vfl.ru/ii/1591194771/8...30708369_m.jpg
http://images.vfl.ru/ii/1591194955/8...30708406_m.jpg
Это рэковый вариант машинки, а я думал, что это напольный, только без пластикового корпуса, тогда понятно, что бэкплэйн, который у тебя есть сюда не подойдет... В ней последовательный мультиплексор на 8 каналов или это только разъемы?
Этот корпус ближе к 11/23. По высоте у него 8 или 9 позиций? Если 9, то, наверное, там должен быть H9276 BACKPLANE.
Итого, единственная проблема устранена - глюки при загрузке
причиной которых оказалась память, те мне оказывается прислали не две по 512КБ настроенные работать вместе
а две по 1МБ которые работали обе с нулевого адреса
AZ прекрасно работает на фирме:
Код:.
Roi Boot D 07-Okt-88 RME
*??
Devices: DB DL DM DR DU DX DY MS MT MU
*
173114
@177226g
AZ v1.2b Boot-I-Cold boot..
AZ (177220) disk driver v1.2b 2020
SL V08.00 [SW] Сторожевых С.В. 1988
RT-11SJ (Y) V05.04 G
.SET USR NOSWAP
.SET EXIT NOSWAP
.SET TT SCOPE
.SET SL ON
.R TMON
.DAY
Время Дата
00:00:03 24-Апр-1992, Пятница
.sh all
RT-11SJ (Y) V05.04 G
Booted from AZ0:RT11SJ
USR is set NOSWAP
EXIT is set NOSWAP
KMON is set NOIND
TT is set NOQUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3
PDP 11/73A Processor
512KB of memory
Floating Point Microcode
Extended Instruction Set (EIS)
Memory Management Unit
Parity Memory
Cache Memory
50 Cycle System Clock
No SYSGEN options enabled
Device Status CSR Vector(s)
------ ------ --- ---------
HX Installed 177560 000
TT Installed 000000 000
SL 142176 000000 000
EM Installed 000000 010
HZ Not installed 177720 000
HD Not installed 177720 000
DW Not installed 174000 300
LP Not installed 177514 200
MY Not installed 172140 170
MX Not installed 177130 000
VM Installed 177572 250
LD Installed 000000 000
WQ Not installed 177134 204
AZ Resident 177220 000
AY Not installed 177200 000
NL Installed 000000 000
MZ Not installed 176674 474
TT
AZ (Resident)
AZ0 = DK , SY
HX
SL (Loaded)
EM
VM
LD
NL
14 free slots
Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 142124 N/A
No multi-terminal support
Address Module Words
------- ------ -----
160000 IOPAGE 4096.
157334 AZ 146.
146506 RMON 2251.
142170 SL 1127.
132124 USR 2066.
001000 ..BG.. 22826.
LD0 is AZ0:LD001.DSK[5000.]
LD1 is AZ3:UKNC.DSK[3000.]
ну и адос конечно
https://pic.maxiol.com/thumbs2/15912...19.capture.png
завтра начинаю рисовать печатку под фирмуКод:
AZ2:>speed
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 3648
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 1224
КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 168
КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 736
Печатная плата
https://pic.maxiol.com/thumbs2/15915...ojcetpdp11.png
первая прикидка ПП AZ 2020
версия для МПИ
https://pic.maxiol.com/thumbs2/15949...619.az2020.png
второй RC AZ2020
https://pic.maxiol.com/thumbs2/15951...619.az2020.png
Наблюдается прогресс
1. платы для AZ QBUS уже в России и наверное к концу следующей недели будут у меня
2. платы AZ 2020 на ПЛИС уже отправлены производителем, наверное через пару месяцев доползут
ps: да, ради интереса прогнал тест чтения в nl - получается скорость 212КБ в секунду тк AZ еще без ПДП
1. AZ QBUS уже на почте, завтра пойду получать. видимо займусь сборкой-тестированием ;-)
2. На какие еще PDP-11 машины интересно сделать версию AZ ?
ps: на UNIBUS заявка есть, но чую там надо будет делать широкую плату и у меня UNIBUS машины нет
Печатные платы таки пришли!
скоро начну сборку
сравнительное фото двух AZ
https://pic.maxiol.com/thumbs2/15970...qbuscompar.jpg
фото AZ QBUS и фирменной платы
https://pic.maxiol.com/thumbs2/15970...qbuscompar.jpg
Туго со временем, но собрал пробную партию - все отлично работает, никаких доработок не требуется.
Собранный AZ QBUS
https://pic.maxiol.com/thumbs2/15980...qbusmaxiol.jpg
Ссылки:
Основная страничка поддержки проекта [инструкции, техническое описание, обновления фирмвари]
Контроллер псевдодиска на MicroSD
Контроллер псевдодиска на MicroSD: сборка и наладка конструктора контроллера v1.01
Контроллер псевдодиска на MicroSD для PDP-11 QBUS
Версия контроллера для УКНЦ
ps: Заинтересованным в развитии проекта возможно бесплатное предоставление AZ в полном комплекте
Рождается версия AZ V2 без GAL-ок
https://pic.maxiol.com/thumbs2/15987...35619.azv2.png
вполне возможно, что AZ V2 будет сделан для УКНЦ, где, я думаю, мы перехватим загрузку с сети и сделаем полный автостарт с AZ
Пришли платы под широкий СА для УКНЦ
в проекте
https://pic.maxiol.com/thumbs2/15896...19.capture.png
в реальности
https://pic.maxiol.com/thumbs2/15994...ukncwideca.jpg
Пришли платы AZ V2.00
https://pic.maxiol.com/thumbs2/16014...9.az2front.jpg
https://pic.maxiol.com/thumbs2/16014...19.az2back.jpg
осталось найти время для сборки ;-)
Кратко вернусь к истории вопроса. Когда начиналась работа над AZ, я понятия не имео о программируемой логике. Потом, в процессе работы, таки пришлось с ней познакомиться - клепать абонента МПИ "на рассыпухе" - адский труд, куча мелких логических элементов, соединенных паутиной проводов. Тогда мы приняли решение использовать старые ПЛИС типа GAL16V8D - на Али их было навалом, больше сотни предложений, они были дешевыми, программирование мне показалось довольно простым, прошивать их можно широко распространенным программатором TL866, в общем, все легко и просто. Только вот все эти Галки на Али оказались с разбора, б/у, среди них много битых, в общем, хлам. К тому же на обслуживание прерываний мы поставили м/с 559ВН1 (наш клон DC003), которые тоже не фонтан по качеству и их тоже не так уж много...
В общем, мы с Максом посовещались и решили вместо всего этого старья, снятого с производства еще в прошлом столетии, поставить что-то, пусть и не новое, но выпускаемое сейчас. Остановились на альтеровской MAX II EPM240T100C5. Сочинили схему, Макс развел, заказал и запаял плату, я только что закончил отладку и тестирование прошивки. Все. AZ v2.00 работает и готова к распространению. Эта плата предназначена для всех моделей ДВК и Электроники-60. Для пользователя и системы ничего не изменилось, все драйвера и программы годятся старые (я просто переткнул микро-СД-шку из старого AZ в новый, и все, что работало на старом, без каких-либо изменений работает на новом).
Для фирменных машинок с Q-Bus, вскорости, будет свой вариант платы - надо просто переразвести плату под стандарт Q-bus. А еще Макс грозился "утрамбовать" этот контроллер на платку под УКНЦ, и вот там мы собираемся сделать дополнение, а именно, попробовать сделать загрузку из сети, чтобы машинка сама запускалась при включении питания.
самое забавное, что не так давно пришедшая партия GALок (для укомплектации тех плат что уже изготовлены) оказалась на удивление хорошей - из 70шт было выкинуто только 2шт, против обычных 50% как было ранее.
да, этот шаг с EMP240 это обеспечение долгой жизни линейке простых AZ, так как на очереди AZ 2020 c жирной ПЛИС, 6МБ оперативки и 100Mbit сетью
к слову пара этих монстров уже собрана
Также пришли печатки для следующей PDP-11 машины - БКшки
этот AZ будет самым мощным по функционалу:
1. сам контроллер AZ с кучей дисков и сетевой картой
2. оперативная память 32МБ с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК.
3. КНГМД с разъемом для подключения дисководов
4. RS232 - c возможностью переключения на TTL уровни + программное управление скоростью порта
5. AY-3-8910, возможно 2шт
6. Covox / стерео / 16bit
7. OPL2
8. перехват спикера
9. микшер звука
10. таймер с прерыванием для обработки звука и/или DMA контроллер для звука
весь звук выводится на i2s 16bit-цап и наружу через полноценный аудиотракт
11. Внешний VGA видеовыход - те поддержка legacy видео-режимов + новые; будет работать и на 10ке
наверное сегодня займусь сборкой
Красивые платки и нехилый циклончик на первой.
Анекдот про козинаку вспомнился... и тут...и смеялся 0-пять....:v2_dizzy_king:
Угу, только почти пустые. Мы, когда сочиняли самый первый AZ (v1.00), обсуждали вариант сделать платку покороче (я предлагал, мол, дешевле будет), но Макс, как человек опытный, сказал: "Ну его на фиг, не хочу делать плату, которую не вытащишь, не разобрав весь ДВК-шник!"
Ну, он, в общем-то средний, есть и намного круче. Этот был выбран по максимальному количеству ног в кузове, пригодном для ручной пайки. И под который можно, особо не напрягаясь, сочинить двустороннюю плату. Все FPGA с бОльшим числом ног имеют кузова по типу BGA, а значит, и руками (паяльником) не запаяешь, и в двух слоях не разведешь. Да и в четырех, пожалуй, тоже не разведешь. Естественно, плата под такой Циклон будет сильно дороже, а наши изделия и так не сильно дешевые.
Собственно, в AZ2020 запланирована целая куча всякого разного. Когда я сочинял первый AZ, я не имел ни малейшего понятия о ПЛИС. Естественно, бОльшую часть действий я возложил на STM32, глядя, как удачно Vslav сделал на этом STM32 свой РЕ-мулятор. Действительно, быстродействие всех STM-ок таково, что даже самым первым - STM32F10x - легко и непринужденно удается отработать цикл МПИ так, что у любого из ЦП ДВК/Э-60 не возникает никаких вопросов. Если эта STM занимается только этим. Увы, занять STM-ку чем-то еще сложно - прерывание STM32 - дело довольно долгое. В стартовом AZ я решил этот вопрос аппаратной заглушкой - STM-ка выставляет сигнал "Думаю, прошу не мешать", по нему отключается обслуживание МПИ, все регистры AZ становятся недоступными, кроме одного - CSR, из которого в этом случае считываются одни нули.
Заглушку пришлось делать аппаратной. Я перепробовал несколько вариантов из разнообразной логики; как я ни старался, сделать это компактно не вышло. По-любому получался "огород" из кучки ИС малой и средней степени интеграции. В то же время вся эта сложная логика легко вписывалась даже в простейшие ПЛМ, знания о которых у меня сохранились с середины 80-х прошлого столетия. Поэтому, в конце концов, я решил совершить героический поступок - превозмочь свою лень и таки разобраться с программируемой логикой. Начал искать, что-нибудь попроще, быстро нашел, что здешние любители ретро (не совсем здешние, вернее, это мы не совсем здешние, мы так, тусуемся рядом со спектрумистами) используют для ZX-новоделов простейшие ПЛИС от Atmel (ATF) и от Latice (GAL). Сравнил, ATF мне чем-то понравились больше, начал изучать язык CUPL, на котором сочиняют прошивки для этих ATF-ок. На Али их было навалом, начал искать программатор, а вот тут наступил облом. Нечем их прошивать - ну не клепать же еще для них ATF-blaster и пытаться завести те софты на старой машинке с LPT на борту... Зато младшие GAL-ки порадовали - оказывается, их шьёт широко известный программатор TL866. Ладно, переориентировался на GAL-ки, забросил почти выученный язык CUPL (кстати, он мне совсем не понравился, правда, не помню, чем), быстренько выучил достаточное для моих дел подмножество языка ABEL, сочинил прошивку для двух Галок (одной не хватило ног, но задача легко раделилась на две Галки), и вперед! Так появился AZ v1.00
Дальнейшее совершенствование AZ велось чисто софтово. В AZ v1.01 были исправлены мелкие дефекты типа неудачного расположения гнезда для микро-SD-шки и т.п. Однако, нас не оставляло ощущение упущенных возможностей. Действительно, будь у нас ПЛИС с самого начала разработки, можно было бы перенести некоторые дела, реализованные в STM32 программно, на аппаратуру, при этом в программной реализации было бы гораздо больше свободы. Ну, и, основное, что хотелось сделать - это передача данных между контроллером и PDP-11 через DMA. Делать эти дела на рассыпухе - адский труд, а на ПЛИС оно реализуется более-менее просто. Хотелось сделать кэширование микро-SD, в идеале - кэш отложенной записи. Еще Макс обратил внимание на то, что для оригинальных DEC-овских машинок очень дорогие платы памяти. У нас на ДВК с памятью проще, а вот на Э-60 с памятью тоже неважно...
Вот, с учетом этих мыслей, мы решили сочинить AZ2020, в который поставили "жирную" ПЛИС, поставили 6М памяти - 4М в качестве основной для Э-60 и фирменных PDP-11 и 2М под дисковый кэш, поставили полный набор шинных драйверов, чтобы можно было сделать как DMA, так и отдать системе память на плате в качестве основной. Но это всё - задел на будущее, мы будем потихоньку сочинять прошивки, когда появится что-то реальное, опубликуем. А тут вылезла новая проблемв - плохое качество GAL-ок. Вооще-то Галки сняты с производства еще в прошлом столетии, все, что сейчас продается - это б/у, с разбора. И, как показала практика, до половины полученных с Али Галок - трупы. К тому же наблюдается уменьшение количества предложений Галок на Али, мы подумали и решили сделать обычный AZ, но вместо Галок поставить что-то, выпускаемое сейчас. Остановились на CPLD EPM240 от Альтеры, получился AZ v2.00, об этом я уже рассказал.
если сравнивать с конкурентами из блока НАТО то у Вас нет исходников и очень высокая цена
Процессор TI SITARA умеет дрыгать ножками на 200Мгц а правильная плата BBB стоит 2500р
http://retrocmp.com/projects/unibone
как всегда проигрыш
прикольные шинные формирователи из ГДР на фото -)))
как я уже говорил - алкоголизм зло: у них решение для UNIBUS а не для QBUS
стоимость:
Buying one
I don't see myself as a hardware-maker, but I can offer ready-to-use UniBones. They'd be build and tested, and would come with the SDcard.
As an UniBone is laborious to complete, I feel I have to take €250 for one, without a BeagleBone (see picture). With BBB add €60.
There were requests for blank boards. I do not offer these anymore, but will give you the Gerber files so you can order them yourself.
And couldn't escape to offer a kit: it will come "with SMDs populated" + remaining parts = 160€.
E.U. shipping is about 16€, international around 40€.
те полностью собранная плата с BeagleBone = 350евриков
зы: за дальнейший алкогольный оффтопик забаню.
Как корёжит то, прям жалко.
Ну, у тебя только одно хорошо получается
выдал неделю svinka - может протрезвеет.
AZ V2 прошел полный цикл тестирования и будет запущен в производство
Выпущена первая прошивка ПЛИС для него.
Контроллер AZ V2: Обновление прошивки от 2021-01-26
Спасибо за Ваш труд!
Подготовили новый релиз прошивки от 27.01.2021 для линейки контроллеров AZ v1 и v2
актуально для МПИ QBUS и УКНЦ
AZ: Обновление прошивки от 2021-01-27
AZ V2 для УКНЦ прошел полный цикл тестирования и будет запущен в производство
https://pic.maxiol.com/thumbs2/16119...2ukncfront.jpg
https://pic.maxiol.com/thumbs2/16119...v2ukncback.jpg
Выпущена новая прошивка ПЛИС для AZ V2
Контроллер AZ V2: Обновление прошивки от 2021-02-28
Вдруг кому пригодится.
В аттаче патч для добавления устройства AZ в SimH v4 (GIT).
Хэш для которого сделан патч: e51d918adbddb1a379657cfaf38cb67e94769dd0.
Эмуляция старается придерживаться поведения оригинала, но без фанатизма: поддержку делал исключительно поиграться с AZ до того как привезу свой 11/83 чтобы уже опробовать вживую.
Поддерживаемые настройки SimH:
- SET AZ BOOT_UNIT=n (установить номер привода который будет грузиться при запуске по адресу 177224)
- SET AZn SIZE=n (установить размер образа в блоках при создании нового файла)
В эмулируемом устройстве удалось загрузить RT-11 и поработать в нем как с использованием прерываний так и без.
Загрузиться из подсказки SimH можно как командой boot так и с помощью g 177224.
Сборка в линухе
Код:form@acer:/tmp$ git clone https://github.com/simh/simh.git
Cloning into 'simh'...
remote: Enumerating objects: 49, done.
remote: Counting objects: 100% (49/49), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 31853 (delta 18), reused 25 (delta 9), pack-reused 31804
Receiving objects: 100% (31853/31853), 70.45 MiB | 5.42 MiB/s, done.
Resolving deltas: 100% (24689/24689), done.
form@acer:/tmp$ cd simh/
form@acer:/tmp/simh$ git reset --hard e51d918adbddb1a379657cfaf38cb67e94769dd0
HEAD is now at e51d918a SCP: Assure consistent PC state while preparing RUN command execution
form@acer:/tmp/simh$ patch -p1 <~/simh-az.diff
patching file PDP11/pdp11_az.c
patching file PDP11/pdp11_defs.h
patching file PDP11/pdp11_io_lib.c
patching file PDP11/pdp11_sys.c
patching file makefile
form@acer:/tmp/simh$ make pdp11
lib paths are: /lib/ /lib/x86_64-linux-gnu/ /lib32/ /usr/lib/x86_64-linux-gnu/libfakeroot/
include paths are: /usr/lib/gcc/x86_64-linux-gnu/10/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include
using libm: /lib/x86_64-linux-gnu/libm.so
using librt: /lib/x86_64-linux-gnu/librt.so
using libpthread: /lib/x86_64-linux-gnu/libpthread.so /usr/include/pthread.h
using libpcre: /lib/x86_64-linux-gnu/libpcre.so /usr/include/pcre.h
using semaphore: /usr/include/semaphore.h
using libdl: /lib/x86_64-linux-gnu/libdl.so /usr/include/dlfcn.h
using libpng: /lib/x86_64-linux-gnu/libpng.so /usr/include/png.h
using zlib: /lib/x86_64-linux-gnu/libz.so /usr/include/zlib.h
using mman: /usr/include/x86_64-linux-gnu/sys/mman.h
using libSDL2: /usr/include/SDL2/SDL.h
using libpcap: /usr/include/pcap.h
using libvdeplug: /lib/libvdeplug.so /usr/include/libvdeplug.h
***
*** pdp11 Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 10.2.0.
*** - dynamic networking support using Linux provided libpcap components.
*** - Local LAN packet transports: PCAP VDE TAP NAT(SLiRP)
*** - video capabilities provided by libSDL2 (Simple Directmedia Layer).
*** - Per simulator tests will be run.
***
*** git commit id is e51d918adbddb1a379657cfaf38cb67e94769dd0+uncommitted-changes.
*** git commit time is 2021-03-13T12:38:39-0800.
***
gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -DSIM_GIT_COMMIT_ID=e51d918adbddb1a379657cfaf38cb67e94769dd0+uncommitted-changes -DSIM_GIT_COMMIT_TIME=2021-03-13T12:38:39-0800 -DSIM_COMPILER="GCC Version: 10.2.0" -DSIM_BUILD_TOOL=simh-makefile -I . -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO -DHAVE_PCRE_H -DHAVE_SEMAPHORE -DHAVE_SYS_IOCTL -DHAVE_LINUX_CDROM -DHAVE_DLOPEN=so -DHAVE_UTIME -DHAVE_LIBPNG -DHAVE_ZLIB -DHAVE_GLOB -DHAVE_SHM_OPEN ./PDP11/pdp11_fp.c ./PDP11/pdp11_cpu.c ./PDP11/pdp11_dz.c ./PDP11/pdp11_cis.c ./PDP11/pdp11_lp.c ./PDP11/pdp11_rk.c ./PDP11/pdp11_rl.c ./PDP11/pdp11_rp.c ./PDP11/pdp11_rx.c ./PDP11/pdp11_stddev.c ./PDP11/pdp11_sys.c ./PDP11/pdp11_tc.c ./PDP11/pdp11_tm.c ./PDP11/pdp11_ts.c ./PDP11/pdp11_io.c ./PDP11/pdp11_rq.c ./PDP11/pdp11_tq.c ./PDP11/pdp11_pclk.c ./PDP11/pdp11_ry.c ./PDP11/pdp11_pt.c ./PDP11/pdp11_hk.c ./PDP11/pdp11_xq.c ./PDP11/pdp11_xu.c ./PDP11/pdp11_vh.c ./PDP11/pdp11_rh.c ./PDP11/pdp11_tu.c ./PDP11/pdp11_cpumod.c ./PDP11/pdp11_cr.c ./PDP11/pdp11_rf.c ./PDP11/pdp11_dl.c ./PDP11/pdp11_ta.c ./PDP11/pdp11_rc.c ./PDP11/pdp11_kg.c ./PDP11/pdp11_ke.c ./PDP11/pdp11_dc.c ./PDP11/pdp11_dmc.c ./PDP11/pdp11_kmc.c ./PDP11/pdp11_dup.c ./PDP11/pdp11_rs.c ./PDP11/pdp11_vt.c ./PDP11/pdp11_td.c ./PDP11/pdp11_io_lib.c ./PDP11/pdp11_rom.c ./PDP11/pdp11_ch.c ./display/display.c ./display/sim_ws.c ./display/vt11.c ./PDP11/pdp11_ng.c ./PDP11/pdp11_daz.c ./display/ng.c ./PDP11/pdp11_az.c ./scp.c ./sim_console.c ./sim_fio.c ./sim_timer.c ./sim_sock.c ./sim_tmxr.c ./sim_ether.c ./sim_tape.c ./sim_disk.c ./sim_serial.c ./sim_video.c ./sim_imd.c ./sim_card.c -DVM_PDP11 -I ./PDP11 -DHAVE_PCAP_NETWORK -I/usr/include/ -DBPF_CONST_STRING -DUSE_SHARED -DHAVE_VDE_NETWORK -DHAVE_TAP_NETWORK -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -DUSE_DISPLAY -DHAVE_LIBSDL -DUSE_SIM_VIDEO `/usr/bin/sdl2-config --cflags` `/usr/bin/sdl2-config --libs` -o BIN/pdp11 -lm -lrt -lpthread -lpcre -ldl -lpng -lz -lvdeplug -Wl,-R,/lib/ -L/lib/
BIN/pdp11 RegisterSanityCheck </dev/null
Running internal register sanity checks on PDP-11 simulator.
*** Good Registers in PDP-11 simulator.
form@acer:/tmp/simh
[свернуть]
Будет под рукой виндовс - соберу готовый.
Код:form@acer:~/SimH/RT11$ ./pdp11
PDP-11 simulator V4.0-0 Current git commit id: be2ff5ea
sim> at az0 az0.dsk
AZ0: 'az0.dsk' Contains RT11 partitions
1 valid partition, Type: V05, Sectors On Disk: 20480
sim> at az1 az1.dsk
AZ1: 'az1.dsk' Contains RT11 partitions
1 valid partition, Type: V05, Sectors On Disk: 20480
sim> b az
AZ v1 Boot-I-Cold boot..
AZ (177220) disk driver v1.1 2019
RT-11FB V05.07
.IF INS VM: IF NOT INI VM: INI/NOQ VM:
.IF INI VM: AS VM0 CF
.IF INI VM: AS VM0 WF
.SET TT NOTAB
.SET SL ON
.
Simulation stopped, PC: 153074 (BEQ 153062)
sim> set az boot=1
sim> sh az
AZ address=17777220-17777237, vector=174, BR4, boot_unit=1, 8 units
AZ0 5242KW, attached to az0.dsk
AZ1 5242KW, attached to az1.dsk
AZ2 16MW, not attached
AZ3 16MW, not attached
AZ4 16MW, not attached
AZ5 16MW, not attached
AZ6 16MW, not attached
AZ7 16MW, not attached
sim> reset
sim> g 177224
AZ v1 Boot-I-Cold boot..
AZ (177220) disk driver v1.1 2019
RT-11FB V05.07
.IF INS VM: IF NOT INI VM: INI/NOQ VM:
.IF INI VM: AS VM0 CF
.IF INI VM: AS VM0 WF
.SET TT NOTAB
.SET SL ON
.SH DEV
Device Status CSR Vector(s)
------ ------ --- ---------
DL Installed 174400 160
DM Installed 177440 210
DU Installed 172150 154
DW Not installed 000000
DX Installed 177170 264
DY Not installed 177170 264
DZ Not installed 000000
RK Installed 177400 220
LD Installed 000000 000
LP Installed 177514 200
LS Not installed 176500 470 474 300 304
MM Not installed 172440 224
MS Installed 172522 224 300
MT Installed 172520 224
MU Installed 174500 260
NL Installed 000000 000
PI Not installed 000000 000
SL 117500 000000 000
SP Installed 000000 110
VM Installed 177572 250
XC Not installed 173300 210 214
XL Not installed 176500 300 304
AZ Resident 177220 174
.
Перед сном не заметил, что устройству выделяется многовато регистров.
Новый патч делать лень. Просто нужно поправить в нем (или в PDP11/pdp11_az.c после наложения патча):Еще обнаружился косяк в файле PDP11/pdp11_sys.c - там декларация az_dev засунута в чужой #ifdef. При сборке без SDL будет ругаться.Код:#define IOLN_AZ 010
Переписал драйвер для RT-11/TSX-Plus.
Привел его в порядок.
Но поскольку все это делалось вслепую, прошу проверить на живом железе :)
В комплекте (кроме исходников и IND файла сборки):Код:AZ .SYS - для SJ/SB/FB без SYSGEN опций
AZE .SYS - для SJ/SB/FB с поддержкой error logging
AZT .SYS - для SJ/SB/FB с поддержкой device timeout
AZET .SYS - для SJ/SB/FB с поддержкой error logging и device timeout
AZX .SYS - для XM/XB/ZM/ZB/TSX-Plus
AZXE .SYS - для XM/XB/ZM/ZB с поддержкой error logging
Сборка
Код:.IND AZGEN
;
;AZ/RT-11 HANDLER GENERATION PROGRAM.
;
;BUILDING AZ.SYS (RT-11SJ/SB/FB):
; NO ERROR LOGGING SUPPORT
; NO MEMORY MANAGEMENT SUPPORT
; NO DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZ AZPRE+AZ
.LIN/NOBI/EXE:AZ.SYS AZ
;
;BUILDING AZE.SYS (RT-11SJ/SB/FB):
; ERROR LOGGING SUPPORT
; NO MEMORY MANAGEMENT SUPPORT
; NO DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZE AZPRE+AZ
.LIN/NOBI/EXE:AZE.SYS AZE
;
;BUILDING AZT.SYS (RT-11SJ/SB/FB):
; NO ERROR LOGGING SUPPORT
; NO MEMORY MANAGEMENT SUPPORT
; DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZT AZPRE+AZ
.LIN/NOBI/EXE:AZT.SYS AZT
;
;BUILDING AZET.SYS (RT-11SJ/SB/FB):
; ERROR LOGGING SUPPORT
; NO MEMORY MANAGEMENT SUPPORT
; DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZET AZPRE+AZ
.LIN/NOBI/EXE:AZET.SYS AZET
;
;BUILDING AZX.SYS (RT-11XM/XB/ZM/ZB/TSX-PLUS):
; NO ERROR LOGGING SUPPORT
; MEMORY MANAGEMENT SUPPORT
; DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZX AZPRE+AZ
.LIN/NOBI/EXE:AZX.SYS AZX
;
;BUILDING AZXE.SYS (RT-11XM/XB/ZM/ZB/TSX-PLUS):
; ERROR LOGGING SUPPORT
; MEMORY MANAGEMENT SUPPORT
; DEVICE TIMEOUT SUPPORT
;
.MAC/OB:AZXE AZPRE+AZ
.LIN/NOBI/EXE:AZXE.SYS AZXE
;
.DEL/NOQ AZPRE.MAC
.DEL/NOQ AZ(,E,T,ET,X,XE).OBJ
;
17-Mar-2021
AZ .SYS 3 17-Mar-2021 AZT .SYS 3 17-Mar-2021
AZE .SYS 3 17-Mar-2021 AZX .SYS 3 17-Mar-2021
AZET .SYS 3 17-Mar-2021 AZXE .SYS 3 17-Mar-2021
6 Files, 18 Blocks
65424 Free blocks
;
@ <EOF>
.
[свернуть]