Skip to main content

IT - Virtualization - 4.2BSD on VAX-11/780 on SimH 4.1

NOTICE

I am continually working to improve the approach for virtual machines. Check the most recent post to have an idea on how things are changing. Also, please, leave a comment when you find something that need to be improved.

Introduction

Host

  • Windows 
    • Vendor: Generic
    • CPU: 1 x Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz   3.79 GHz
    • RAM: 128GB
    • OS: Windows 10 64-bits
  • macOS
    • Vendor: Apple  MacBook Pro MacBookPro18,3
    • CPU: Apple M1 Pro
    • RAM: 32GB
    • OS: macOS 13.1 (22C65) Darwin 22.2.0
  • Linux
    • Vendor: Apple Inc. MacPro6,1/Mac-F60DEB81FF30ACF6, BIOS 430.140.2.0.0 04/18/2022
    • CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
    • RAM: 64GB
    • OS: Linux Fedora 37 Workstation

Guest

  • VAX-11/780
  • CPU: idle disabled, model=VAX 11/780, Implementing: All standard VAX instructions and Compatibility mode
  • Memory: 8MB
  • OS: 4.2BSD

Virtualization

Pending

  • Additional disks
  • Network
  • Instructions for Windows (no Cygwin), *BSD

References

  • 4.2BSD pre-build SimH from here.
  • 4.2BSD tape image here.
  • SimH 4.1 here
  • Documentation for version SimH 4.0 here.
  • Documentation for version SimH 3.12-3 here.
  • Classic SimH web-site here.
  • SIMH FAQ here.
  • http://gunkies.org/wiki/Installing_4.2_BSD_on_SIMH
  • http://gunkies.org/wiki/Mkdisttap.pl

Steps

  • bold text is user input from the keyboard
  • red text are control characters typed by the user
  • blue text is automatic input from SimH input processing
  • fuchsia text are automatic control characters input from SimH input processing
  1. Preparation
    • Define shell variables to make life easier...
      $ sEmuName=SimH
      $ sGuestHw=vax-11-780
      $ sGuestOs=4-2bsd
      $ export sEmuName sGuestHw sGuestOs
    • Windows 10 + cygwin
      1. Install Cygwin with b2zip (or 7z), uudecode, wget
      2. Define base directory structure
        $ sRootEmulatorsDirectory=/cygdrive/m/; export sRootEmulatorsDirectory
    • macOS
      1. Install brew
      2. Install additional tools. uudecode is installed with macOS already.
        $ brew install wget p7zip
      3. Define base directory structure
        $ sRootEmulatorsDirectory=~/Desktop/; export sRootEmulatorsDirectory
    • Linux
      1. Install additional tools. uudecode is installed with Linux already.
        $ sudo dnf install -y wget p7zip
      2. Define base directory structure
        $ sRootEmulatorsDirectory=/Volumes/vol000/; export sRootEmulatorsDirectory
    • FOR ALL OSes: Create directory strucuture. Better to create a script called ${sEmuName}_${sGuestOs}_${sGuestHw}.sh. Check the scripts at the end of this page.
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/"
      $ mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}/"
      $ ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/${sGuestOs}"
      $ ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}/${sGuestHw}"
      $ cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/"
  2. Install SimH 4.1 from here. This is another fork project from the original emulator. The compilation process can vary, depedning omn the OS.
    1. If this is the first time, make a local copy of the simulator
      git clone https://github.com/open-simh/simh.git simh-4.1
      Click here to see a run example👇
      git clone https://github.com/open-simh/simh.git simh-4.1
      Cloning into 'simh-4.1'...
      remote: Enumerating objects: 35175, done.
      remote: Counting objects: 100% (104/104), done.
      remote: Compressing objects: 100% (66/66), done.
      remote: Total 35175 (delta 46), reused 86 (delta 38), pack-reused 35071
      Receiving objects: 100% (35175/35175), 78.76 MiB | 21.77 MiB/s, done.
      Resolving deltas: 100% (27237/27237), done.
      Updating files: 100% (1580/1580), done.
    2. Otherwise, update your local copy
      ( cd simh-4.1 && git fetch --all -v )
      Click here to see a run example👇
      ( cd simh-4.1 && git fetch --all -v )
      POST git-upload-pack (155 bytes)
      From https://github.com/open-simh/simh
       = [up to date]        master                 -> origin/master
       = [up to date]        Alpha-CPU              -> origin/Alpha-CPU
       = [up to date]        AsyncTmxr              -> origin/AsyncTmxr
       = [up to date]        AutoConfigure          -> origin/AutoConfigure
       = [up to date]        Bryan-HP-Current       -> origin/Bryan-HP-Current
       = [up to date]        BufferedConsole        -> origin/BufferedConsole
       = [up to date]        ControlFlow            -> origin/ControlFlow
       = [up to date]        Extra-VAXen            -> origin/Extra-VAXen
       = [up to date]        FastAsynchIO           -> origin/FastAsynchIO
       = [up to date]        HP2100Extensions       -> origin/HP2100Extensions
       = [up to date]        KDP                    -> origin/KDP
       = [up to date]        SerialMux              -> origin/SerialMux
       = [up to date]        Supnik-Current         -> origin/Supnik-Current
       = [up to date]        VAX-11-BootBlock-Fixup -> origin/VAX-11-BootBlock-Fixup
       = [up to date]        simtools               -> origin/simtools
       = [up to date]        v3.9-0-rc1             -> origin/v3.9-0-rc1
       = [up to date]        vms-pcap               -> origin/vms-pcap
    3. Compile your simulator.
      ( cd simh-4.1 && make vax780 && ./BIN/vax780 )
      Click here to see a run example👇 Output can vary depending on your host operating system.
      ( cd simh-4.1 && make vax780 && ./BIN/vax780 )
      lib paths are: /usr/lib ../windows-build/winpcap/WpdPack/Lib /lib/ /usr/lib/
      include paths are:  /usr/lib/gcc/x86_64-pc-cygwin/11/include /usr/include /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../lib/../include/w32api ../windows-build/winpcap/WpdPack/Include
      using libm: /usr/lib/libm.a
      using librt: /usr/lib/librt.a
      using libpthread: /usr/lib/libpthread.a /usr/include/pthread.h
      using semaphore: /usr/include/semaphore.h
      using libdl: /usr/lib/libdl.a /usr/include/dlfcn.h
      using libedit: /usr/include/editline/readline.h
      using mman: /usr/include/sys/mman.h
      *** Warning ***
      *** Warning *** vax780 Simulator is being built WITHOUT
      *** Warning *** libpcap networking support
      *** Warning ***
      *** Warning *** To build simulator(s) with libpcap networking support you
      *** Warning *** should read 0readme_ethernet.txt and follow the instructions
      *** Warning *** regarding the needed libpcap development components for your
      *** Warning *** cygwin platform
      *** Warning ***
      *** Warning ***
      *** Warning *** vax780 Simulator is being built WITHOUT LAN networking support
      *** Warning ***
      *** Warning *** To build simulator(s) with networking support you should read
      *** Warning *** 0readme_ethernet.txt and follow the instructions regarding the
      *** Warning *** needed libpcap components for your cygwin platform
      *** Warning ***
      ***
      *** vax780 Simulator being built with:
      *** - compiler optimizations and no debugging support. GCC Version: 11.3.0.
      *** - WITHOUT Local LAN networking support.
      *** - Local LAN packet transports: NAT(SLiRP)
      *** - Per simulator tests will be run.
      ***
      *** git commit id is 4e159a04ed6291509b685dc06f620389b3373cce.
      *** git commit time is 2023-01-04T13:22:12-0700.
      ***
      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=4e159a04ed6291509b685dc06f620389b3373cce -DSIM_GIT_COMMIT_TIME=2023-01-04T13:22:12-0700  -DSIM_COMPILER="GCC Version: 11.3.0" -DSIM_BUILD_TOOL=simh-makefile -I . -Werror -D_GNU_SOURCE -DUSE_READER_THREAD -DSIM_ASYNCH_IO  -DHAVE_SEMAPHORE -DHAVE_SYS_IOCTL -DSIM_HAVE_DLOPEN=a -DHAVE_EDITLINE -DHAVE_UTIME -DHAVE_GLOB -DHAVE_SHM_OPEN  ./VAX/vax_cpu.c ./VAX/vax_cpu1.c ./VAX/vax_fpa.c ./VAX/vax_cis.c ./VAX/vax_octa.c  ./VAX/vax_cmode.c ./VAX/vax_mmu.c ./VAX/vax_sys.c  ./VAX/vax_syscm.c ./VAX/vax780_stddev.c ./VAX/vax780_sbi.c ./VAX/vax780_mem.c ./VAX/vax780_uba.c ./VAX/vax7x0_mba.c ./VAX/vax780_fload.c ./VAX/vax780_syslist.c ./PDP11/pdp11_rl.c ./PDP11/pdp11_rq.c ./PDP11/pdp11_ts.c ./PDP11/pdp11_dz.c ./PDP11/pdp11_lp.c ./PDP11/pdp11_tq.c ./PDP11/pdp11_xu.c ./PDP11/pdp11_ry.c ./PDP11/pdp11_cr.c ./PDP11/pdp11_rp.c ./PDP11/pdp11_tu.c ./PDP11/pdp11_hk.c ./PDP11/pdp11_vh.c ./PDP11/pdp11_dmc.c ./PDP11/pdp11_dup.c ./PDP11/pdp11_td.c ./PDP11/pdp11_tc.c ./PDP11/pdp11_rk.c ./PDP11/pdp11_io_lib.c ./PDP11/pdp11_ch.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_VAX -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I ./VAX -I ./PDP11 -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK -DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -DUSE_NETWORK -o BIN/vax780 -lm -lrt -lpthread -ldl -ledit
      BIN/vax780 RegisterSanityCheck /cygdrive/m/Emulators/SimH/mirror/simh-4.1/VAX/tests/vax-diag_test.ini </dev/null
       Running internal register sanity checks on VAX 11/780 simulator.
      *** Good Registers in VAX 11/780 simulator.
      
      VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
      Running Hardware Core Test (EVKAA)
      
      *** PASSED - VAX 11/780 Hardware Core Instruction test EVKAA
      
      
      Starting VAX Diagnostic Supervisor
      
      Missing Regular Expression support - skipping EVKAB test
      
      
      VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
      sim> exit
      Goodbye
    4. The simulator program is available in the BIN directory from the compiled git repository. To make life easier, the best is to create a link to the program. I can create a link into /usr/bin or into the guest directory. I will go with the later.
      • Windows 10 + cygwin
        cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/"ln -s ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1ls -laF vax780-4.1
        lrwxrwxrwx 1 afberendsen None 36 Feb 19 15:26 vax780 -> ../../mirror/simh-4.1/BIN/vax780*
      • macOS and Linux
        cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/"ln -s ../../mirror/simh-4.1/BIN/vax780 vax780-4.1ls -laF vax780-4.1
        lrwxrwxrwx 1 afberendsen None 36 Feb 19 15:26 vax780-4.1 -> ../../mirror/simh-4.1/BIN/vax780*
  3. Build the guest (it is assumed that you are in the guest data directory)
    • For the pre-build image
      1. Download pre-build image
        wget --no-clobber https://pspodcasting.net/simh/42bsd.tar.gz
        --2023-02-24 14:33:47--  https://pspodcasting.net/simh/42bsd.tar.gz
        Resolving pspodcasting.net (pspodcasting.net)... 37.221.196.112
        Connecting to pspodcasting.net (pspodcasting.net)|37.221.196.112|:443... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 11197443 (11M) [application/octet-stream]
        Saving to: ‘42bsd.tar.gz’
        
        42bsd.tar.gz                    100%[====================================================>]  10.68M  42.9MB/s    in 0.2s
        
        2023-02-24 14:33:48 (42.9 MB/s) - ‘42bsd.tar.gz’ saved [11197443/11197443]
        
        $
      2. Unpack the guest package
        • For Windows+cygwin use:
          7z x 42bsd.tar.gz
          tar -xv --strip-components=1 -f 42bsd.tar
        • For macOS+brew use
          7zz x 42bsd.tar.gz
          tar -xv --strip-components=1 -f 42bsd.tar
        • For Linux use
          7za x 42bsd.tar.gz
          tar -xv --strip-components=1 -f 42bsd.tar
        Click here to see a run example👇
        7z x 42bsd.tar.gz
        
        7-Zip [64] 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31
        p7zip Version 15.14.1 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz (A0655),ASM,AES-NI)
        
        Scanning the drive for archives:
        1 file, 11197443 bytes (11 MiB)
        
        Extracting archive: 42bsd.tar.gz
        --
        Path = 42bsd.tar.gz
        Type = gzip
        Headers Size = 10
        
        Everything is Ok
        
        Size:       456243200
        Compressed: 11197443
        $ tar -xv --strip-components=1 -f 42bsd.tar
        42bsd/42bsd.ini
        42bsd/boot42
        42bsd/rq.dsk
        42bsd/README
        $ ls -l
        total 902046
        -rw-r--r--+ 1 afberendsen None       221 Jan 17  2022 42bsd.ini
        -rw-r--r--+ 1 afberendsen None 456243200 Jan 23  2022 42bsd.tar
        -rw-rw-rw-+ 1 afberendsen None  11197443 Jan 23  2022 42bsd.tar.gz
        -rw-r--r--+ 1 afberendsen None      2333 Jan 20  2022 README
        -rw-------+ 1 afberendsen None      6600 Jan 16  2022 boot42
        -rw-r--r--+ 1 afberendsen None 456228864 Jan 23  2022 rq.dsk
        lrwxrwxrwx  1 afberendsen None        36 Feb 24 14:32 vax780-4.1 -> ../../mirror/simh-4.1/BIN/vax780.exe
        $
    • If using the tape image
      1. Create a file named tInstall.ini. This SimH Initialization file wwill be used to set-up the initial installtion environment.
        set rq0 ra81
        at rq0 miniroot
        set rq1 ra81
        at rq1 disk0010_ra81.dsk
        set rq1 dis
        set rq2 dis
        set rq3 dis
        set rp dis
        set lpt dis
        set rl dis
        set tq dis
        set tu dis
        att -r ts 4-2bsd.tap
        set tti 7b
        set tto 7b
        load -o boot42 0
        d r10 9
        d r11 0
        expect "# " send "cd /dev\n"; continue
        expect "# " send "./MAKEDEV ra1\n"; continue
        expect "# " send "cd /\n"; continue
        expect "# " send "disk=ra1 type=ra81 tape=ts xtr\n"; continue
        expect "# " send "sync; syn'; sync; sync\n"; quit
        run 2
      2. Create a file named dInstall.ini. This SimH initialization file will be used to set-up the disk OS.
        set rq0 ra81
        att rq0 disk0010_ra81.dsk
        set rq1 dis
        set rq2 dis
        set rq3 dis
        set rp dis
        set lpt dis
        set rl dis
        set tq dis
        set tu dis
        att -r ts 4-2bsd.tap
        set tti 7b
        set tto 7b
        load -o boot42 0
        d r10 9
        d r11 0
        ; Create file system
        expect "# " send "disk=ra\n"; continue
        expect "# " send "name=ra0h;type=ra81\n"; continue
        expect "# " send "cd /dev\n"; continue
        expect "# " send "./MAKEDEV ts0;sync\n"; continue
        expect "# " send "cd /\n"; continue
        expect "# " send "newfs $name $type\n"; continue
        ; restore tape
        expect "# " send "mount /dev/$name /usr\n"; continue
        expect "# " send "cd /usr\n"; continue
        expect "# " send "mkdir sys\n"; continue
        expect "# " send "cd sys\n"; continue
        expect "# " send "mt rew\n"; continue
        expect "# " send "mt fsf 3\n"; continue
        expect "# " send "tar xpbf 20 /dev/rmt12\n"; continue
        expect "# " send "cd ..\n"; continue
        expect "# " send "mt fsf\n"; continue
        expect "# " send "tar xpbf 20 /dev/rmt12\n"; continue
        expect "# " send "cd /\n"; continue
        expect "# " send "chmod 755 / /usr /usr/sys\n"; continue
        expect "# " send "rm -rf sys\n"; continue
        expect "# " send "ln -s /usr/sys sys\n"; continue
        expect "# " send "umount /dev/$name\n"; continue
        expect "# " send "fsck -y /dev/r$name\n"; continue
        expect "# " send "cd /etc\n"; continue
        expect "# " send "cp fstab.ra81 fstab\n"; continue
        expect "# " send "newfs ra0g ra81\n"; continue
        expect "# " send "sync\n"; continue
        expect "# " send "reboot\n"; continue
        
        run 2
        quit
      3. Create a file named boot.ini. This SimH initialziation file will be used for normal guest sratup.
        set rq0 ra81
        att rq0 disk0010_ra81.dsk
        set rq1 dis
        set rq2 dis
        set rq3 dis
        set rp dis
        set lpt dis
        set rl dis
        set tq dis
        set tu dis
        ;att -r ts 4-2bsd.tap
        set tti 7b
        set tto 7b
        load -o boot42 0
        d r10 9
        d r11 0
        run 2
        quit
      4. Create a file called boot42.uue, with following contents.
        Click here to expand the contents👇
        begin 400 boot42
        M``#:'Q+0CP``!0!>T`&?!``!(-`!GP0@`2#0`9\$8``@PX_D%@4`CY@Y!0!0
        MPX\```4`C^06!0!1+`!N`%!A*.]_$P``GP````!N%_]O$P``^P#O'````-"/
        M```%`%X7[^S___\``-"/```%`%X7GU$`!0```,($7M_O21,``/L![RH.``#?
        M[T,3``#[`>\=#@``W^^+.```^P'O"!```-T`W^]\.```^P+OV08``-!0K?S5
        M4!G/W5#[`>\"````!```#,(D7M"L!%O=(-^MX-U;^P/O7P4``-!06M%:(!(*
        MT:W@CP@!```3#=_OX1(``/L![V((``#=K>3?[]T2``#[`N^H#0``W:WDW0#=
        M6_L#[R(%``#14*WD$P,QD0#0K>2MW!$)T*W<4-:MW)1@TX__`P``K=P2[=VM
        MZ-_OGQ(``/L"[V<-``#=K>C=K=S=6_L#[^`$``#14*WH$E+`K>BMW-VM[-_O
        M>1(``/L"[ST-``#`CP```0"M[-1:$0O0K=Q0UJW<E&#66M%:K>P?[^4?K?0`
        MW:WTW^]+$@``^P+O"PT``/L`O?3[`.\($@``W^]`$@``^P'OG0<```0````,
        MT*P(6]2K?,$?K`10QA!0>`%04,&K=%#+@``RCP`$RX@`P8^,````6\N$`-U;
        M^P'OD@<``,&/C````%M:P1^L!%#'$%!1Q!!1PU%047@&45#`4%KWK`2K"+!J
        MJPK0J@BK%-T-P0Q:?L$86W[[`^]@$0``!```#,((7M"L!%L3!)5K$FK?[[T1
        M``#[`>]>#```$5C66Y%K+Q/YT%M:$0:5:A,'UEJ1:B\2]9!JK?^4:MVL"-U;
        M^P+O:P$``-!0K?@3&I6M_Q,XW:P(W5#[`N\L____D*W_:M!:6Q$?W5O?[VX1
        M``#[`N\$#```U%`$W:P(/`)^^P+O!/___Y5K$I;0K?A0!```#L(47M"L!%O0
        MK`BM[,$$6UG5K`@8"=_O/A$``#%E_]&L"`H8#]"L"%K02JD4K?30K?10!-2M
        M^-`!K?3""JP(T`.M_!$9P`BM^'@(K?2M]-&L"*WT&0W"K?2L"->M_-6M_!3B
        MU:W\$@S=K`C?[_80```Q:O_#K?P-4-!`J12M]!(/W:P(W^_H$```,5'_UJW\
        MT:W\`Q29T*W\4-%`[WPC``"M]!-&>`&M]%#!JW10RX``>`JM_%">0.]@$P``
        MRX0`,H\`!,N(`-U;^P'O\04``'@*K?Q0GD#O01,``*WPT*W\4-"M]$#O,B,`
        M`'@*K?Q0GD#O)A,``*WPP@BM^,ZM^%!X4*P(4)I06M!*O?"M]!,#,7G_W:P(
        MW^]A$```,;[^```.P@Q>T*P(6]6L!!(#,;/^E;P$$_C!!%M9/*D&4,J/_P__
        M_U#14(\`0```$PG?[S40```Q+/['$*D0K?@2"=_O-1```#$;_C*/``2M]-2M
        M_!%HUJWTT:WTCT`````90M"M_%#6K?S=4-U;^P+O;/[__W@!4%#!JW10RX``
        MP8^,````6\N$`#*/``3+B`#=6_L![PD%``#!CXP```!;6M2M],$"6G[=K`3[
        M`N\:````U5`3!#QJ4`3`$%K0K?A0UZWXU5`2C3'[_0``#M"L!%O0K`A:T`Y9
        MT%E0UUG54!,0D6MJ$P,QW/V5BQ,$E8H2Y]`!4`0`"-6L#!,1W^^0#P``^P'O
        MP`D``,X!4`3"`ZP$&?;1K`0$&/#%CXP$``"L!%#`C_0F!0!0T%!;X0)@V="L
        M"*M\QX\`!```K`A0>`%04,&K=%#+@`#4RX@`U%`$```.P@1>U:P$&0[1K`0"
        M%`C[`.\G"P``!,(#K`09'=&L!`08%\6/C`0``*P$4,"/]"8%`%#04%O@`F`$
        MS@%0!-#+A`!:U<N(`!4#,:``QX\`!```JWQ0>`%0RX``X0-K&L<"RX``?MU;
        M^P+O'_W__W@!4%#!JW10RX``P8^,````6\N$`#*/``3+B`#=6_L![[P#``#A
        M`VM%QX\`!```JWQ0Q(\`!```4,-0JWRM_,.M_(\`!```4,"K?%#14*L4&0W#
        MJWRK%%#!K?Q0RX@`PJW\RX@`U<N(`!0&,5[_U*W\P8^,````6U#!K?Q06M?+
        MB`#6JWR8BEG06LN$`-!94`0`#-6L!!D%T`%0$0+44-&L!`(4!=`!41$"U%'2
        M45'*45`3)="L#%O[`.\0"@``]E"\"-=;$PS0K`A0UJP(D6`*$N7#6ZP,4`3"
        M`ZP$&1W1K`0$&!?%CXP$``"L!%#`C_0F!0!0T%!:X`)@!,X!4`3I:OG@`VHA
        MT*P,RH@`T*P(RH0`W5K[`>_%`@``T%!;P`+*@`#06U`$P:P,JGQ0T5"J%!4'
        MPZI\JA2L#-"L#%L4`]10!,$#K`1^^P'O0?[__]"L"%'6K`CV4&'76Q+FT*P,
        M4`0`#-6L!!DKT:P$`A0ET*P,6Q$1T*P(4-:L")A@?OL![^`(``#06U#76]50
        M$N;0K`Q0!,(#K`09'=&L!`08%\6/C`0``*P$4,"/]"8%`%#04%K@`F`$S@%0
        M!.$!:OC0K`S*B`#0K`C*A`#=6OL![RH"``#04%O``LJ``-!;4`0`#L((7M7O
        M<0P``!,>U*W\Q8^,!```K?Q0E$#O3!\``/($K?SKU.]1#```U*WXQ8^,!```
        MK?A0E4#O+A\``!,2\@2M^.G?[\<,``#[`>^``0``Q8^,!```K?A0P(_T)@4`
        M4-!06H@$8-"L!%L1!Y%K*!,&UEN5:Q+UD6LH$R#?[Z$,```1"\`061$<W^^@
        M#```^P'OD`8``)1JS@%0!)2+WN\&#0``6=5I$^#=:=VL!/L"[W/\___54!/+
        M]BBK_\./-!4%`%E0QA!0]U"J!IB+4,,P4*IPU:IP&0;1JG`'%0C?[UH,```1
        MJ)&++!,(W^]A#```$9O=6_L![[$*``#04*IT$025BQ/ED6LI$O?=6OL![R4!
        M``#66Y5K$AO!`:P(4)AJ4<A04?91:M3*B`#4JGS!`ZWX4`3=6MU;^P+O:_G_
        M_]!0K?P2`S%,_]6L"!,)W^\<#```,3?_W5K=K?S[`N_2^/__U*I\U,J(`,$!
        MK`A0R`A0F&I1R%!1]E%J$;(``,($7L(#K`09'M&L!`08&,6/C`0``*P$4,"/
        M]"8%`%#04*W\X`)@!,X!4`3@`[W\"MVM_/L![YP```"4O?S44`0``-_OR`L`
        M`/L![P$````$``#=K`3?[\$+``#[`N]$!0``^P#O\O;__P0``-VL!-_OJPL`
        M`/L"[RH%```1_@`(T*P$6]T!W5LRJP90>`104-#@.!4%`%#[`F`$```(T*P$
        M6]T"W5LRJP90>`104-#@.!4%`%#[`F`$```(T*P$6]U;,JL&4'@$4%#0X#P5
        M!0!0^P%@!```"-"L!%O=6S*K!E!X!%!0T.!`%04`4/L!8`0````$```,P@1>
        MT*P$6]"K<%IX!5I0>`)04,&/``0!(%"M_)5*[V<O```2#="M_%#VH!A*[U@O
        M``#0JW10T4#O50L``(______$PO5JW09!M&K=`<5#=_O?0L``/L![_S^__^1
        M2N\G+P``%!(4T*MT4'@%0.]`"P``4,4%4*MT$1+0JW10Q8^B`0``0.\("P``
        MJW0$```(PB!>T*P$6]"K<*W\T,N``*WD>`6M_%!X`E!0P8\`!`$@4*W@WN_0
        M+@``4-"M_%&506`2%-"MX%#>[[PN``!1T*W\4O:@&$)AT*W@4-./0````*`$
        M$@[0$;W@T*W@4#*/`!"@)-[OD"X``%#0K?Q1D4%@%!(+FH^@K?C0(*WT$0HR
        MCZ(!K?C0%JWTQZWXK>2M\,>M^*WD4,2M^%##4*WDK>C'K?2MZ*WLQZWTK>A0
        MQ*WT4,)0K>C0K>!0T*WPH"AX"*WL4,"MZ%#0K>!1T%"A%-VL"-VMX-U;^P/O
        M/P```-"MX%#3CX````"@!!/RTX\`0```H`03(-V@"-V@!-VMZ-VM[-VM\-_O
        M0PH``/L&[PL#``#.`5`$T,N(`%`$```/PA!>T*P$6]"K<%#00.^P"0``4-!`
        M[[0)``!8T%A9P(\`"@``6=#+A`!0[PD74*WXRX\`_O__RX0`K?3!K?3+B`!0
        MP(__`0``4.\)%U"M_,F/```!`*WTK?#O`!6M^*WX$0_0K?A0UJWXR8\```"`
        M4(GTK?SMS@&H",[+B`"H$-"M\*@,T:P,`1(&T#F\"!$*T:P,`A($T#&\"`0`
        M````"-"L!%O0JW10T4#OLPD``(______$PO5JW09!M&K=`<5#=_ONPD``/L!
        M[]K\___0JW10>`5`[X@)``!0Q!-0T%"K=`0```[")%[0K`1;T,N(`*W<T*MP
        MK?S0RX``K>0RCV`"K?C0(*WTQZWXK>2M\,>M^*WD4,2M^%##4*WDK>C'K?2M
        MZ*WLQZWTK>A0Q*WT4,)0K>B5[Z@L```25I;OH"P``/<@[\WP#B`RC_0!6?59
        M_?<)[[;P#B`RC_0!6?59_?<1[Z?P#B`RC_0!6?59_;"/`!#OL/`.(#*/]`%9
        M]5G]$0@RC_0!6?59_>$'[WWP#B#P]ZW\[WSP#B`RC_0!6?59_=T!W5O[`N^U
        M````T%"MX-"/QOT3(%KWK?#O:O`.('@(K>Q0P*WH4/=0:O>MX'K.RX@`4,8"
        M4/=0>M&L"`$2!?<Y>A$#]S%Z,H_T`5GU6?V:C\A9]5G]X0?O#_`.(/&:C\A9
        M]5G]X0[O`/`.("@R[P7P#B!^,N_R[PX@?MVMZ-VM[-VM\-_O8@@``/L&[\L`
        M``#.`5`$T<N(`*W<$Q'=RX@`W^]Y"```^P+OK@```-VMX/L![X@```#0RX@`
        M4`0````.PA1>T*P$6]#+A`!0[PD74*WXRX\`_O__RX0`K?3!K?3+B`!0P(__
        M`0``4.\)%U!0P0%0K?S0CP!H`"!9>!6L"%#)CP```(!0K>S5K`@3">FM]`7B
        M&:WL`.\`%:WXK?@1#-"M^%#6K?C)K>Q0B=>M_!+OU(EX'*P(4,BM]%`$``_O
        M'`2L!%L3#W@"6U#(CP```(#@0&``(`0````.P@1>T*P$6\$(7%D1#M5:$@$$
        MW5K[`>]!`0``F(M:T5HE$NJ8BUK16H]8````$@S=:?L![Z@````QGP#16H]D
        M````$QO16H]U````$Q+16H]O````$PG16H]X````$BS16H]O````$@70"%`1
        M$=%:CW@````2!=`04!$#T`I0W5#=:?L"[XL````13]%:CV,````2"]UI^P'O
        MOP```!$[T5J/<P```!(;T&FM_-"M_%#6K?R88%H3(MU:^P'OFP```!'IT5J/
        M1````!(.W0K=:?L"[ST```#``%G`!%DQ._\``,($7M2M_,.M_`=0>`)04,Y0
        M4'A0K`10[P`$4%"80._-!@``?OL![T\```#R"*W\U@0```C5K`08#MTM^P'O
        M.````,ZL!*P$QZP(K`1;$PS=K`C=6_L"[]?____'K`BL!%#$K`A0PU"L!%"8
        M0.^0!@``?OL![P$````$``[0K`1;,H\P=5G=(OL![V8!``#@!U`$UUD2[]5;
        M$@$$W2+[`>]0`0``T%!:W0#=(OL"[SH!``":6W[=(_L"[RX!``#16PH2"=T-
        M^P'OKO___]T`^P'OI?___]U:W2+[`N\,`0``!```"-T@^P'O!P$``.$'4//=
        M(?L![_H```#O``=06]%;#1(#T`I;W5O[`>]J____T%M0!``,T*P$6_L`[\'_
        M___O``=06M%:CT$````9#-%:CUH````4`\`@6M%;K`03=Y&K_X]<$G#76]%:
        MCV$````9#M%:CWH````4!<(@6A%7T%I0T5`A$S_14"<31M%0*!,IT5`I$RK1
        M4(]>````$RT1-=%0#1,]T5`C$S[14(]`````$T/V6HLQ?O^8CWM:$1:8CWU:
        M$1"8CWQ:$0J8CWY:$028CV!:T%I0T5`($PO14`H2OM`*6I2+!-=;T5NL!!D#
        M,43_,3W_T*P$6]T*^P'OE/[__S$Q_P``````VJP(K`0$``#;K`10!````"BL
        M#+P$O`@$````#,($7M"L!%O[`.]T`0``W0;=6_L"[T\```#0JW1:$2S.`<N(
        M`-T8W5O[`N\Y````U5`2\="/```!`*W\UZW\$OO=`-U;^P+O'0```-!:4-=:
        MU5`2RP0```C0K`1;W0;=6_L"[P$````$@`_"!%[0K`1;T*MP6M18Z5H',H_`
        M!%D1!3*/P`-9^P#O_P```.\`"^_Q$?P?4-%061,'T%GOY!'\'\[+B`#ORQ'\
        M']&L"!H2$<X![[X1_!_0&^^C$?P?U%`$T:P(`1,&T:P(`A(4W:P(W8\`)`$@
        MW5O[`^\R^?__$0G)`:P([W<1_!_[`.^:````RX_[____[VD1_!]7X0)7"?L`
        M[WD````1M.$.5U#56!(?W>]1#?P?W>]+$?P?W>]!$?P?W^_?`P``^P3OX/O_
        M__L`[TD```#16`H2$=_OZ0,``/L![\?[___.`5`$UEC=&MU;^P+O#/___S$8
        M_]58$PW?[\8#``#[`>^B^___]^\`$?P?K?XRK?Y0P,N(`%`$``#0">_7$/P?
        M!``(T._2$/P?6^$'6_4$``S"!%[0K`1;U*W\U%H1'Y%K.10VQ0JM_%"8BU'`
        M4%'#,%&M_!$?UEK66Q$9UEN8:U#14`D3]M%0(!/QT5`K$^C14"T3X9%K,!C%
        MU5H3!LZM_%`1!-"M_%`$````#M"L!%K0K`A9U%L1#9")BI")BI")BI2*UEO1
        M6ZP,&>T$`````+P!`````%$`!0"8.04`"D)O;W0*`#H@`$)A9"!F;W)M870*
        M`"5D`"LE9``K)60`('-T87)T(#!X)7@*`%-H;W)T(')E860*`````0```&YU
        M;&P@<&%T:`H`)7,@;F]T(&9O=6YD"@!B;B!N96=A=&EV90H`8FX@;W9F("5$
        M"@!B;B!V;VED("5$"@!B;B!V;VED("5$"@!N;W0@82!D:7)E8W1O<GD*`'IE
        M<F\@;&5N9W1H(&1I<F5C=&]R>0H`4V5E:R!N;W0@9G)O;2!B96=I;FYI;F<@
        M;V8@9FEL90H`3F\@;6]R92!F:6QE('-L;W1S`$)A9"!D979I8V4*`%5N:VYO
        M=VX@9&5V:6-E"@!"860@=6YI="!S<&5C:69I97(*`$UI<W-I;F<@;V9F<V5T
        M('-P96-I9FEC871I;VX*`$-A;B=T('=R:71E(&9I;&5S('EE="XN(%-O<G)Y
        M"@!%>&ET(&-A;&QE9``E<PH`5')A<"`E;PH``(@5!0"0"@4```H%`/P)!0"+
        M%04`!A(%`)P1!0#T$04`CA4%`)8,!0!0#`4`_`D%````````````````````
        M`````````0```/____\```$@`"`!(&AP`&AT`'5P```````````F````8@``
        M`/_______________W8```#_____`````&$```#_____________________
        M+`$``/____]H<"!B860@;6EN;W(`9&ES:R!E<G)O<CH@8WEL/25D('1R86-K
        M/25D('-E8W0])60@9',])5@L(&5R,3TE6`H``````!L```!$````________
        M_____________U(```!U<"!B860@=6YI=`!D:7-K(&5R<F]R.B!C>6P])60@
        M=')A8VL])60@<V5C=#TE9"!C<S$])5@L(&5R,3TE6`H`<F5T=7)N960@)60*
        M`````#`Q,C,T-38W.#E!0D-$148`,#$R,S0U-C<X.4%"0T1%1@```'1A<&4@
        M97)R;W(Z(&1S/25X+"!E<CTE>"P@;6)A<W(])7@`"@`@<F5C;W9E<F5D(&)Y
        *(')E=')Y"@```"5X
        `
        end
      5. Download the initial files
        wget --quiet --mirror --no-parent --cut-dirs=6 --no-host-directories --reject="*.html*" https://www.tiffe.de/Robotron/PDP-VAX/VAX/4BSD/Distributions/4.2BSD/
        for x in *.gz; do
          [[ $f == 42bsd.tar.gz ]] && continue
          gunzip -f $x
          done
        ls -l
        Click here to see a run example👇
        wget --quiet --mirror --no-parent --cut-dirs=6 --no-host-directories --reject="*.html*" https://www.tiffe.de/Robotron/PDP-VAX/VAX/4BSD/Distributions/4.2BSD/ ; rm index.html*;for x in *.gz; do [[ $f == 42bsd.tar.gz ]] && continue;  echo $x; gunzip -f $x; done ; ls -l
        ingres.tar.gz
        miniroot.gz
        new.tar.gz
        rootdump.gz
        src.tar.gz
        srcsys.tar.gz
        stand.gz
        usr.tar.gz
        vfont.tar.gz
        total 960154
        -rw-r--r--+ 1 afberendsen None       221 Jan 17  2022 42bsd.ini
        -rw-rw-rw-+ 1 afberendsen None 456243200 Jan 23  2022 42bsd.tar
        -rwxrwxrwx+ 1 afberendsen None      1234 Feb 24 15:45 BuildTapeFor4-2BSD.perl
        -rwxrwxrwx+ 1 afberendsen None       153 Feb 24 15:44 CreateTape.sh
        -rw-rw-rw-+ 1 afberendsen None       336 Jul 14  2017 FORMAT
        drwxrwxrwx+ 1 afberendsen None         0 Feb 24 16:10 Per_Andersson
        -rw-r--r--+ 1 afberendsen None      2333 Jan 20  2022 README
        -rw-------+ 1 afberendsen None      6600 Jan 16  2022 boot42
        -rw-rw-rw-+ 1 afberendsen None     45271 Jul 14  2017 ingres.lst
        -rw-rw-rw-+ 1 afberendsen None   3891200 Jul 14  2017 ingres.tar
        -rw-rw-rw-+ 1 afberendsen None   2099200 Jul 14  2017 miniroot
        -rw-rw-rw-+ 1 afberendsen None    145819 Jul 14  2017 new.lst
        -rw-rw-rw-+ 1 afberendsen None   6062080 Jul 14  2017 new.tar
        -rw-rw-rw-+ 1 afberendsen None        53 Jul 14  2017 robots.txt
        -rw-rw-rw-+ 1 afberendsen None   3921920 Jul 14  2017 rootdump
        -rw-r--r--+ 1 afberendsen None 456228864 Feb 24 14:42 rq.dsk
        -rw-rw-rw-+ 1 afberendsen None       598 Feb 24 14:34 screen0.txt
        -rw-rw-rw-+ 1 afberendsen None      1231 Feb 24 14:35 screen1.txt
        -rw-rw-rw-+ 1 afberendsen None     10004 Feb 24 14:46 screen2.txt
        -rw-rw-rw-+ 1 afberendsen None    300227 Jul 14  2017 src.lst
        -rw-rw-rw-+ 1 afberendsen None  21411840 Jul 14  2017 src.tar
        -rw-rw-rw-+ 1 afberendsen None     51104 Jul 14  2017 srcsys.lst
        -rw-rw-rw-+ 1 afberendsen None   4515840 Jul 14  2017 srcsys.tar
        -rw-rw-rw-+ 1 afberendsen None    101888 Jul 14  2017 stand
        -rw-rw-rw-+ 1 afberendsen None    197602 Jul 14  2017 usr.lst
        -rw-rw-rw-+ 1 afberendsen None  21995520 Jul 14  2017 usr.tar
        lrwxrwxrwx  1 afberendsen None        51 Feb 24 15:04 vax-11-780_4-2bsd -> /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-2bsd
        -rw-rw-rw-+ 1 afberendsen None     24611 Jul 14  2017 vfont.lst
        -rw-rw-rw-+ 1 afberendsen None   5888000 Jul 14  2017 vfont.tar
        $
      6. Build the OS tape. Check the script contents at the end of this page.
        ./BuildTapeFor4-2BSD.perl > 4-2bsd.tap ; ls -l 4-2bsd.tap
        Click here to see a run example👇
        $ ./BuildTapeFor4-2BSD.perl > 4-2bsd.tap
        ls -l 4-2bsd.tap
        -rw-rw-rw-+ 1 afberendsen None 69943640 Feb 24 16:20 4-2bsd.tap
      7. Create the boot record from the (above) boot42.uue
        ls -l boot42.uue
        chmod a+w boot42
        uudecode boot42.uue
        chmod a-wx boot42
        ls -l boot42
        file boot42
        Click here to see a run example👇
        $ ls -l boot42.uue ; chmod a+w boot42 ; uudecode boot42.uue ; chmod a-wx boot42 ; ls -l boot42 ; file boot42
        -rw-rw-rw-+ 1 afberendsen None 9117 Feb 24 16:34 boot42.uue
        -r--------+ 1 afberendsen None 6600 Feb 24 16:38 boot42
        boot42: data
      8. Execute the install process
        ./vax780-4.1 tInstall.ini
        Click here to see a run example👇
        ./vax780-4.1 tInstall.ini
        
        VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
        /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-2bsd/tInstall.ini-5> set rq1 dis
        %SIM-ERROR: RQ1 is attached or busy
        /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-2bsd/tInstall.ini-13> att -r ts 4-2bsd.tap
        %SIM-INFO: TS: unit is read only
        %SIM-INFO: TS: Tape Image '4-2bsd.tap' scanned as SIMH format
        loading ra(0,0)boot
        Boot
        : ra(0,0)vmunix
        199488+56036+51360 start 0x11a0
        4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
        real mem  = 8384512
        avail mem = 7073792
        using 102 buffers containing 835584 bytes of memory
        mcr0 at tr1
        mcr1 at tr2
        uba0 at tr3
        hk0 at uba0 csr 177440 vec 210, ipl 15
        rk0 at hk0 slave 0
        rk1 at hk0 slave 1
        uda0 at uba0 csr 172150 vec 774, ipl 15
        ra0 at uda0 slave 0
        ra1 at uda0 slave 1
        zs0 at uba0 csr 172520 vec 224, ipl 15
        ts0 at zs0 slave 0
        dz0 at uba0 csr 160100 vec 300, ipl 15
        dz1 at uba0 csr 160110 vec 310, ipl 15
        dz2 at uba0 csr 160120 vec 320, ipl 15
        dz3 at uba0 csr 160130 vec 330, ipl 15
        root on ra0
        WARNING: should run interleaved swap with >= 2Mb
        erase ^?, kill ^U, intr ^C
        # cd /dev./MAKEDEV ra1
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        mknod: File exists
        # cd /disk=ra1 type=ra81 tape=ts xtr
        Build root file system
        Warning: 538 sector(s) in last cylinder unallocated
        /dev/rra1a:     15884 sectors in 23 cylinders of 14 tracks, 51 sectors
                8.1Mb in 2 cyl groups (16 c/g, 5.85Mb/g, 1856 i/g)
        super-block backups (for fsck -b#) at:
         32, 11520,
        Check the file system
        ** /dev/rra1a
        ** Last Mounted on
        ** Phase 1 - Check Blocks and Sizes
        ** Phase 2 - Check Pathnames
        ** Phase 3 - Check Connectivity
        ** Phase 4 - Check Reference Counts
        ** Phase 5 - Check Cyl groups
        2 files, 9 used, 7420 free (20 frags, 925 blocks)
        Rewind tape
        Restore the dump image of the root
        Warning: ./lost+found: File exists
        ** /dev/rra1a
        ** Last Mounted on /a
        ** Phase 1 - Check Blocks and Sizes
        ** Phase 2 - Check Pathnames
        ** Phase 3 - Check Connectivity
        ** Phase 4 - Check Reference Counts
        ** Phase 5 - Check Cyl groups
        313 files, 3568 used, 3861 free (21 frags, 480 blocks)
        Root filesystem extracted
        
        If this is a 780, update floppy
        If this is a 730, update the cassette
        # syncsyncsyncsync
        # Goodbye
        $
      9. Install the OS into the virtual hard disc
        ./vax780-4.1 dInstall.ini
        Click here to see a run example👇
        ./vax780-4.1 dInstall.ini
        
        VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
        /cygdrive/m/Emulators/SimH/guests/vax-11-780_4-2bsd/dInstall.ini-11> att -r ts 4-2bsd.tap
        %SIM-INFO: TS: unit is read only
        %SIM-INFO: TS: Tape Image '4-2bsd.tap' scanned as SIMH format
        loading ra(0,0)boot
        Boot
        : ra(0,0)vmunix
        199488+56036+51360 start 0x11a0
        4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
        real mem  = 8384512
        avail mem = 7073792
        using 102 buffers containing 835584 bytes of memory
        mcr0 at tr1
        mcr1 at tr2
        uba0 at tr3
        hk0 at uba0 csr 177440 vec 210, ipl 15
        rk0 at hk0 slave 0
        rk1 at hk0 slave 1
        uda0 at uba0 csr 172150 vec 774, ipl 15
        ra0 at uda0 slave 0
        ra1 at uda0 slave 1
        zs0 at uba0 csr 172520 vec 224, ipl 15
        ts0 at zs0 slave 0
        dz0 at uba0 csr 160100 vec 300, ipl 15
        dz1 at uba0 csr 160110 vec 310, ipl 15
        dz2 at uba0 csr 160120 vec 320, ipl 15
        dz3 at uba0 csr 160130 vec 330, ipl 15
        root on ra0
        WARNING: should run interleaved swap with >= 2Mb
        Automatic reboot in progress...
        Fri Feb 24 16:15:33 PST 1984
        Can't open checklist file: /etc/fstab
        Automatic reboot failed... help!
        erase ^?, kill ^U, intr ^C
        # disk=raname=ra0h;type=ra81cd /dev./MAKEDEV ts0;synccd /newfs $name $type
        Warning: 28 sector(s) in last cylinder unallocated
        /dev/rra0h:     759668 sectors in 1064 cylinders of 14 tracks, 51 sectors
                389.0Mb in 67 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
        super-block backups (for fsck -b#) at:
         32, 11512, 22992, 34472, 45952, 57432, 68912, 80392, 91872, 103352,
         114832, 126312, 137792, 149272, 160752, 172232, 182816, 194296, 205776, 217256,
         228736, 240216, 251696, 263176, 274656, 286136, 297616, 309096, 320576, 332056,
         343536, 355016, 365600, 377080, 388560, 400040, 411520, 423000, 434480, 445960,
         457440, 468920, 480400, 491880, 503360, 514840, 526320, 537800, 548384, 559864,
         571344, 582824, 594304, 605784, 617264, 628744, 640224, 651704, 663184, 674664,
         686144, 697624, 709104, 720584, 731168, 742648, 754128,
        # mount /dev/$name /usrcd /usrmkdir syscd sysmt rewmt fsf 3tar xpbf 20 /dev/rmt12cd ..mt fsftar xpbf 20 /dev/rmt12cd /chmod 755 / /usr /usr/sys
        # rm -rf sysln -s /usr/sys sysumount /dev/$namefsck -y /dev/r$name
        ** /dev/rra0h
        ** Last Mounted on /usr
        ** Phase 1 - Check Blocks and Sizes
        ** Phase 2 - Check Pathnames
        ** Phase 3 - Check Connectivity
        ** Phase 4 - Check Reference Counts
        ** Phase 5 - Check Cyl groups
        3735 files, 25550 used, 336310 free (166 frags, 84036 blocks)
        # cd /etc
        # cp fstab.ra81 fstabnewfs ra0g ra81
        Warning: 30 sector(s) in last cylinder unallocated
        /dev/rra0g:     82080 sectors in 115 cylinders of 14 tracks, 51 sectors
                42.0Mb in 8 cyl groups (16 c/g, 5.85Mb/g, 2048 i/g)
        super-block backups (for fsck -b#) at:
         32, 11512, 22992, 34472, 45952, 57432, 68912, 80392,
        # syncreboot
        syncing disks... done
        
        Reboot request failed, PC: 80021716 (ADDL2 #8,SP)
        Goodbye
        $
      10. Test the new guest. Do not interrupt the guest with CTRL+E. This will corrupt the file systems.
        ./vax780-4.1 boot.ini
        Click here to see a run example👇
        ./vax780-4.1 boot.ini
        
        VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
        loading ra(0,0)boot
        Boot
        : ra(0,0)vmunix
        199488+56036+51360 start 0x11a0
        4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
        real mem  = 8384512
        avail mem = 7073792
        using 102 buffers containing 835584 bytes of memory
        mcr0 at tr1
        mcr1 at tr2
        uba0 at tr3
        hk0 at uba0 csr 177440 vec 210, ipl 15
        rk0 at hk0 slave 0
        rk1 at hk0 slave 1
        uda0 at uba0 csr 172150 vec 774, ipl 15
        ra0 at uda0 slave 0
        ra1 at uda0 slave 1
        zs0 at uba0 csr 172520 vec 224, ipl 15
        ts0 at zs0 slave 0
        dz0 at uba0 csr 160100 vec 300, ipl 15
        dz1 at uba0 csr 160110 vec 310, ipl 15
        dz2 at uba0 csr 160120 vec 320, ipl 15
        dz3 at uba0 csr 160130 vec 330, ipl 15
        root on ra0
        WARNING: should run interleaved swap with >= 2Mb
        Automatic reboot in progress...
        Fri Feb 24 16:18:17 PST 1984
        /dev/ra0a: 326 files, 3569 used, 3860 free (20 frags, 480 blocks)
        /dev/rra0h: 3735 files, 25550 used, 336310 free (166 frags, 84036 blocks)
        /dev/rra0g: 2 files, 9 used, 77750 free (14 frags, 9717 blocks)
        Fri Feb 24 16:18:18 PST 1984
        check quotas: done.
        local daemons: routed telnetd ftpd talkd syslog sendmail.
        preserving editor files
        clearing /tmp
        standard daemons: update cron accounting mail printer.
        starting network: rshd rexecd rlogind rwhod.
        Fri Feb 24 16:18:19 PST 1984
        
        
        4.2 BSD UNIX (myname)
        
        login: root
        4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
        
        Would you like to play a game?
        
        You have mail.
        Don't login as root, use su
        myname# sync ; sync ; sync ; sync
        myname# CTRL+E
        Simulation stopped, PC: 8000162B (MTPR #0,#12)
        Goodbye
        $

First look

Pre-packaged version

Click here to expand the contents👇
./vax780-4.1 42bsd.ini

VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
/cygdrive/m/Emulators/SimH/guests/vax-11-780_4-2bsd/42bsd.ini-15> att dz -m 8888
%SIM-INFO: Listening on port 8888
Modem control activated
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem  = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
root on ra0
WARNING: clock gained 32 days -- CHECK AND RESET THE DATE!
WARNING: should run interleaved swap with >= 2Mb
Automatic reboot in progress...
Fri Feb 24 06:37:22 PST 1984
/dev/ra0a: 327 files, 3570 used, 3859 free (19 frags, 480 blocks)
/dev/rra0h: 3746 files, 25838 used, 336022 free (162 frags, 83965 blocks)
/dev/rra0g: 2 files, 9 used, 77750 free (14 frags, 9717 blocks)
Fri Feb 24 06:37:23 PST 1984
check quotas: done.
local daemons: routed telnetd ftpd talkd syslog sendmail.
preserving editor files
clearing /tmp
standard daemons: update cron accounting mail printer.
starting network: rshd rexecd rlogind rwhod.
Fri Feb 24 06:37:24 PST 1984


4.2 BSD UNIX (myname)

login: root
Last login: Mon Jan 23 01:33:31 on console
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983

Would you like to play a game?

You have mail.
erase ^?, kill ^U, intr ^C
# echo $PATH
/etc:/usr/ucb:/bin:/usr/bin:.
# ls /etc /usr/ucb /bin /usr/bin
/bin:
[         chmod     du        hostname  mkdir     pr        size      time
adb       cmp       e         kill      mt        ps        strip     tp
ar        cp        echo      ld        mv        pwd       stty      true
as        csh       ed        ln        nice      rm        su        wall
awk       date      expr      login     nm        rmail     sync      who
cat       dd        false     ls        od        rmdir     tar       write
cc        df        grep      mail      pagesize  sed       tee
chgrp     diff      hostid    make      passwd    sh        test

/etc:
ac            fasthalt      gettytab      pac           rshd
accton        flcopy        group         passwd        rwhod
analyze       fsck          halt          printcap      rxformat
arff          fstab         hosts         protocols     sa
bad144        fstab.hp      hosts.equiv   pstat         savecore
badsect       fstab.hp400m  htable        quot          services
catman        fstab.ra60    icheck        quotacheck    shutdown
chk           fstab.ra80    ifconfig      quotaoff      swapon
chown         fstab.ra81    implog        quotaon       syslog
clri          fstab.rb80    implogd       rc            syslog.conf
comsat        fstab.rk07    init          rc.local      syslog.pid
config        fstab.rm03    kgmon         rdump         talkd
cron          fstab.rm05    lpc           reboot        telnetd
dcheck        fstab.rm80    mkfs          remote        termcap
diskpart      fstab.rp06    mklost+found  renice        tftpd
disktab       fstab.rp07    mknod         repquota      trpt
dmesg         fstab.up      mkproto       restore       ttys
dump          fstab.up160m  motd          rexecd        ttytype
dump.4.1      fstab.up300m  mount         rlogind       tunefs
dumpdates     ftpd          mtab          rmt           umount
dumpfs        ftpusers      ncheck        route         update
edquota       gettable      networks      routed        utmp
fastboot      getty         newfs         rrestore      vipw

/usr/bin:
addbib    cu        fgrep     lookbib   ratfor    split     tk        uuname
ar11      dc        file      lorder    refer     struct    touch     uupoll
at        deroff    find      m4        rev       style     tr        uusend
basename  diction   graph     man       roffbib   sum       troff     uusnap
bc        diff3     indxbib   mesg      ruusend   t300      tsort     uustat
cal       efl       install   neqn      sleep     t300s     tty       uux
calendar  egrep     iostat    nohup     sort      t450      uniq      vplot
cb        enroll    join      nroff     sortbib   tabs      units     xget
checkeq   eqn       learn     plot      spell     tbl       uucp      xsend
col       ex        lex       prof      spellin   tc        uudecode  yacc
comm      explain   lint      ptx       spellout  tek       uuencode
crypt     f77       look      ranlib    spline    tip       uulog

/usr/ucb:
Mail        ex          last        pc          script      vi
apply       expand      lastcomm    pdx         sendbug     view
apropos     eyacc       leave       pi          soelim      vlp
arcv        f           lisp        pix         strings     vmstat
at          fed         liszt       pmerge      symorder    vpq
biff        finger      lock        print       sysline     vpr
bugformat   fmt         lpq         printenv    tail        vprint
ccat        fold        lpr         prmail      talk        vprm
checknr     fp          lprm        pti         telnet      vtroff
chfn        fpr         lptest      px          tftp        w
chsh        from        lxref       pxp         trman       wc
clear       fsplit      mail        pxref       tset        what
colcrt      ftp         mailq       quota       u           whatis
colrm       gcore       man         rcp         ul          whereis
compact     gprof       mkstr       reset       uncompact   which
ctags       grep        more        rlogin      unexpand    whoami
dbx         groups      msgs        rsh         unifdef     whois
e           head        netstat     ruptime     uptime      xstr
edit        help        newaliases  rwho        users       yes
error       indent      page        sccs        vgrind
# who ; whoami ; dmesg ; mount ; df ; iostat 5 5 ; vmstat 5 5 ; ps aux
root     console Feb 24 06:39
root

Feb 24 06:40
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem  = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
root on ra0
WARNING: should run interleaved swap with >= 2Mb
ra0g on /mnt
ra0h on /usr
Filesystem    kbytes    used   avail capacity  Mounted on
/dev/ra0a       7429    3571    3115    53%    /
/dev/ra0g      38879       4   34987     0%    /mnt
/dev/ra0h     361860   25842  299832     8%    /usr
      tty          rk0           rk1           ra0           ra1          cpu
 tin tout bps tps msps  bps tps msps  bps tps msps  bps tps msps  us ni sy id
   1   85   0   0  0.0    0   0  0.0  514 139  0.0    0   0  0.0   3  0  1 96
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0   10   2  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
 procs     memory                       page      disk  faults          cpu
 r b w   avm  fre  re at  pi  po  fr  de  sr r0 r1 r0 r1  in  sy  cs us sy id
 0 0 0   226 6295   0  1   5   0   0   0   0  0  0111  0 291 263 214  3  1 96
 0 0 0   230 6293   0  0   0   0   0   0   0  0  0  0  0  31 164   2  0  0100
 0 0 0   230 6292   0  0   0   0   0   0   0  0  0  0  0  16  54   0  0  0100
 0 0 0   230 6292   0  0   0   0   0   0   0  0  0  0  0  10  18   0  0  0100
         Fri Feb 24 06:41:00 PST 1984

 0 0 0   143 6292   0  0   0   0   0   0   0  0  0  2  0  16  20   3  0  0100
USER       PID %CPU %MEM   SZ  RSS TT STAT  TIME COMMAND
root         1  0.0  0.2   31   10 ?  S     0:00 init
root       103  0.0  0.2   32   10 01 I     0:00 - 8 (getty)
root       107  0.0  0.2   32   10 05 I     0:00 - 8 (getty)
root       102  0.0  0.2   32   10 00 I     0:00 - 8 (getty)
root       104  0.0  0.2   32   10 02 I     0:00 - 8 (getty)
daemon      51  0.0  0.4   64   24 ?  I     0:00 /etc/syslog
root       109  0.0  0.2   32   10 07 I     0:00 - 8 (getty)
root        67  0.0  0.1   22    4 ?  S     0:00 /etc/update
root       101  0.0  0.4   43   26 co S     0:00 -sh (sh)
root         2  0.0  0.1  800    0 ?  D     0:00 pagedaemon
root        97  0.0  0.4   81   28 ?  I     0:00 /usr/lib/lpd
root         0  0.0  0.1    0    0 ?  D     0:00 swapper
root        58  0.0  1.5  163  104 ?  I     0:00 /usr/lib/sendmail -bd -q1h
root        55  0.0  0.5   65   36 ?  S     0:00 /etc/routed
root        42  0.0  0.3   77   15 ?  I     0:00 /etc/ftpd
root        41  0.0  0.3   57   15 ?  I     0:00 /etc/telnetd
root        87  0.0  0.3   57   18 ?  I     0:00 /etc/rshd
root       108  0.0  0.2   32   10 06 I     0:00 - 8 (getty)
root        75  0.0  0.3   51   15 ?  S     0:00 /etc/comsat
root       106  0.0  0.2   32   10 04 I     0:00 - 8 (getty)
root       105  0.0  0.2   32   10 03 I     0:00 - 8 (getty)
root        95  0.0  0.3   52   14 ?  I     0:00 /etc/rlogind
root        70  0.0  0.2   31   11 ?  S     0:00 /etc/cron
root        89  0.0  0.3   55   14 ?  I     0:00 /etc/rexecd
root       130  0.0  1.1  141   79 co R     0:00 ps aux
# /etc/shutdown -h +1
Shutdown at 06:42 (in 1 minute) [pid 134]


        *** System shutdown message from root@myname ***

System going down in 60 seconds

#

        *** FINAL System shutdown message from root@myname ***

System going down in 30 seconds



        *** FINAL System shutdown message from root@myname ***

System going down IMMEDIATELY


System shutdown time has arrived
syncing disks... done
halting (in tight loop); hit
        ^P
        HALT


Infinite loop, PC: 800216DA (BRB 800216DA)
sim> q
Goodbye
$

Tape build version

Click here to expand the contents👇
./vax780-4.1 boot.ini

VAX 11/780 simulator Open SIMH V4.1-0 Current        git commit id: 4e159a04
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
199488+56036+51360 start 0x11a0
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem  = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
WARNING: should run interleaved swap with >= 2Mb
Automatic reboot in progress...
Fri Feb 24 16:22:28 PST 1984
/dev/ra0a: 327 files, 3570 used, 3859 free (19 frags, 480 blocks)
/dev/rra0h: 3737 files, 25552 used, 336308 free (164 frags, 84036 blocks)
/dev/rra0g: 2 files, 9 used, 77750 free (14 frags, 9717 blocks)
Fri Feb 24 16:22:29 PST 1984
check quotas: done.
local daemons: routed telnetd ftpd talkd syslog sendmail.
preserving editor files
clearing /tmp
standard daemons: update cron accounting mail printer.
starting network: rshd rexecd rlogind rwhod.
Fri Feb 24 16:22:30 PST 1984


4.2 BSD UNIX (myname)

login: root
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983

Would you like to play a game?

You have mail.
Don't login as root, use su
myname# who ; whoami ; dmesg ; mount ; df ; iostat 5 5 ; vmstat 5 5 ; ps aux
root     console Feb 24 16:22
root

Feb 24 16:23
4.2 BSD UNIX #9: Wed Nov 2 16:00:29 PST 1983
real mem  = 8384512
avail mem = 7073792
using 102 buffers containing 835584 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
root on ra0
WARNING: should run interleaved swap with >= 2Mb
ra0g on /mnt
ra0h on /usr
Filesystem    kbytes    used   avail capacity  Mounted on
/dev/ra0a       7429    3571    3115    53%    /
/dev/ra0g      38879       4   34987     0%    /mnt
/dev/ra0h     361860   25557  300117     8%    /usr
      tty          rk0           rk1           ra0           ra1          cpu
 tin tout bps tps msps  bps tps msps  bps tps msps  bps tps msps  us ni sy id
   2   67   0   0  0.0    0   0  0.0  717 204  0.0    0   0  0.0   5  0  2 93
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
   0   16   0   0  0.0    0   0  0.0    0   0  0.0    0   0  0.0   0  0  0100
 procs     memory                       page      disk  faults          cpu
 r b w   avm  fre  re at  pi  po  fr  de  sr r0 r1 r0 r1  in  sy  cs us sy id
 0 0 0    96 6245   0  2  11   0   0   0   0  0  0127  0 301 339 242  3  1 96
 0 0 0   211 6242   0  0   0   0   0   0   0  0  0  0  0  31 166   2  0  0100
 0 0 0   276 6242   0  0   0   0   0   0   0  0  0  2  0  16  55   0  0  0100
 0 0 0   298 6242   0  0   0   0   0   0   0  0  0  0  0  12  19   0  0  0100
 0 0 0   187 6242   0  0   0   0   0   0   0  0  0  0  0  10   7   0  0  0100
USER       PID %CPU %MEM   SZ  RSS TT STAT  TIME COMMAND
root       101  0.0  1.1  111   75 co S     0:00 -csh (csh)
root         1  0.0  0.2   31   10 ?  I     0:00 init
root       104  0.0  0.2   32   10 02 I     0:00 - 8 (getty)
root       102  0.0  0.2   32   10 00 I     0:00 - 8 (getty)
root       106  0.0  0.2   32   10 04 I     0:00 - 8 (getty)
root       108  0.0  0.2   32   10 06 I     0:00 - 8 (getty)
root        67  0.0  0.1   22    4 ?  S     0:00 /etc/update
root         2  0.0  0.1  800    0 ?  D     0:00 pagedaemon
root        44  0.0  0.5   65   36 ?  S     0:00 /etc/routed
root         0  0.0  0.1    0    0 ?  D     0:00 swapper
root       103  0.0  0.2   32   10 01 I     0:00 - 8 (getty)
root        75  0.0  0.3   51   15 ?  S     0:00 /etc/comsat
root        94  0.0  0.3   52   14 ?  I     0:00 /etc/rlogind
root        61  0.0  1.5  163  104 ?  I     0:00 /usr/lib/sendmail -bd -q1h
root        43  0.0  0.3   77   15 ?  I     0:00 /etc/ftpd
daemon      52  0.0  0.4   64   24 ?  I     0:00 /etc/syslog
root       109  0.0  0.2   32   10 07 I     0:00 - 8 (getty)
root        39  0.0  0.3   57   15 ?  I     0:00 /etc/telnetd
root       107  0.0  0.2   32   10 05 I     0:00 - 8 (getty)
root        70  0.0  0.2   31   11 ?  I     0:00 /etc/cron
root        96  0.0  0.4   81   28 ?  I     0:00 /usr/lib/lpd
root       105  0.0  0.2   32   10 03 I     0:00 - 8 (getty)
root        90  0.0  0.3   55   14 ?  I     0:00 /etc/rexecd
root        89  0.0  0.3   57   18 ?  I     0:00 /etc/rshd
root       120  0.0  1.1  141   79 co R     0:00 ps aux
myname# shutdown -h +1
Shutdown at 16:25 (in 1 minute) [pid 127]
myname#

        *** System shutdown message from root@myname ***

System going down in 60 seconds



        *** FINAL System shutdown message from root@myname ***

System going down in 30 seconds



        *** FINAL System shutdown message from root@myname ***

System going down IMMEDIATELY


System shutdown time has arrived
syncing disks... done
halting (in tight loop); hit
        ^P
        HALT


Infinite loop, PC: 800216DA (BRB 800216DA)
Goodbye
$

Supporting scripts

Build environment

Has to be executed as follows:
$ . ./SimH-4-2bsd_vax-11-780.sh


.
SimH-4-2bsd_vax-11-780.sh

#!/bin/bash

[[ "$(uname -s)" == CYGWIN* ]] && sRootEmulatorsDirectory=/cygdrive/m/
[[ "$(uname -s)" == Linux*  ]] && sRootEmulatorsDirectory=/Volumes/vol000/
[[ "$(uname -s)" == Darwin* ]] && sRootEmulatorsDirectory=~/Desktop/
sEmuName=SimH
sGuestHw=vax-11-780
sGuestOs=4-2bsd
export sRootEmulatorsDirectory sEmuName sGuestHw sGuestOs

mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/"
mkdir -p "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}/"

( cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-platform/${sGuestHw}/"; rm "${sGuestOs}"; ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestOs}")
( cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/by-os/${sGuestOs}"       ; rm "${sGuestHw}"; ln -sf "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}" "${sGuestHw}" )

cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/mirror/"
if [[ -d simh-4.1 ]]; then
  ( cd simh-4.1 && git fetch --all -v )
else
  git clone https://github.com/open-simh/simh.git simh-4.1
fi
cd simh-4.1 && make vax780 && ./BIN/vax780

cd "${sRootEmulatorsDirectory}/Emulators/${sEmuName}/guests/${sGuestHw}_${sGuestOs}/"
if [[ "$(uname -s)" == CYGWIN* ]]; then
  ln -sf ../../mirror/simh-4.1/BIN/vax780.exe vax780-4.1
else
  ln -sf ../../mirror/simh-4.1/BIN/vax780 vax780-4.1
fi
./vax780-4.1
ls -laF
pwd

    

Create tape file


.
BuildTapeFor4-2BSD.perl

#!/usr/bin/perl -w
use strict;
add_file("stand",        512);
add_file("miniroot",   10240);
add_file("rootdump",   10240);
add_file("srcsys.tar", 10240);
add_file("usr.tar",    10240);
add_file("vfont.tar",  10240);
add_file("src.tar",    10240);
add_file("new.tar",    10240);
add_file("ingres.tar", 10240);
end_file();
sub end_file {
  print "\x00\x00\x00\x00";
}
sub add_file {
  my($filename, $blocksize) = @_;
  my($block, $bytes_read, $length);

  open(FILE, $filename) || die("Can't open $filename: $!");
  while($bytes_read = read(FILE, $block, $blocksize)) {
    if($bytes_read < $blocksize) {
      $block .= "\x00" x ($blocksize - $bytes_read);
      $bytes_read = $blocksize;
    }
    $length = pack("V", $bytes_read);
    print $length, $block, $length;
  }
  close(FILE);
  end_file();
}

Comments

Popular posts from this blog

TV Series - The Brokenwood Mysteries [NZ] (2014) - Season 10

 

Movie - Sin City: A Dame to Kill For (2014)

 

Movies - Deadpool & Wolverine (2024)