выдал неделю svinka - может протрезвеет.
выдал неделю 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>
.
[свернуть]