diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index c8f0f9ec..81315c58 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -33,6 +33,7 @@ The full set of tests is only run for tagged releases. - Doxygen support now for V1.9.4; remove discontinued Tcl support - build flow Vivado 2022.1 ready; handle synth 8-3331 -> 8-7129 transition - remove Atlys support (only test designs, a w11 design was never done) +- cleanup SimH setup files (*.scmd), use autoconfig, set disk types ### New features - new verification codes - tools/tcode: fast cpu verification codes @@ -41,12 +42,18 @@ The full set of tests is only run for tagged releases. - ci.yml: define TBW_GHDL_OPTS and suppress IEEE package warnings at t=0ms - **/tbrun.yml: since nexys4 not longer available switch to nexys4d - tools/bin + - create_disk: -help: print byte size of disk - njobihtm: add -n and -h options - tbrun_tbwrri: fully implement --r(l|b)mon - ti_w11: update --help text, add -ar,-n4d,-bn4d; add -w and -to options - tmuconv: add DEUNA defs - tools/tcl - w11/tcodes.tcl: driver for tcode execution + - tools/oskit/* + - *.scmd: set RL/RP disk types + - rsx11mp-30_rp_boot.scmd: disable STOP_TRAPS simulator stops + - u7ed_rp_boot.scmd: use setup_w11a_max.scmd and 2M memory + - tools/simh/setup_w11a_(min|max).scmd: use autoconfig, cleanups - tools/dox - w11_(cpp|vhd_all).Doxyfile: for Doxygen V1.9.4 - w11_tcl.Doxyfile: removed, Tcl support removed in Doxygen V1.8.18 diff --git a/tools/bin/create_disk b/tools/bin/create_disk index 09053694..09c6b0d4 100755 --- a/tools/bin/create_disk +++ b/tools/bin/create_disk @@ -1,10 +1,11 @@ #!/usr/bin/perl -w -# $Id: create_disk 1189 2019-07-13 16:41:07Z mueller $ +# $Id: create_disk 1256 2022-07-15 09:14:14Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later -# Copyright 2013-2019 by Walter F.J. Mueller +# Copyright 2013-2022 by Walter F.J. Mueller # # Revision History: # Date Rev Version Comment +# 2022-07-14 1256 1.1.5 --help: print byte size of disk # 2019-07-13 1189 1.1.4 drop superfluous exists for $opts # 2018-12-18 1089 1.1.3 add and use bailout # 2015-06-21 692 1.1.2 use sysseek rather seek; add RM80 @@ -248,15 +249,15 @@ sub print_help { print "\n"; print "currently supported disk types:\n"; - print " type #cyl #trk #sec bps tot_sec blocks -bad\n"; + print " type #cyl #trk #sec bps tot_sec blocks bytes -bad\n"; foreach my $typ (sort keys %disktype) { my $cyl = $disktype{$typ}{cyl}; my $hd = $disktype{$typ}{hd}; my $sec = $disktype{$typ}{sec}; my $bps = $disktype{$typ}{bps}; - printf " %4s %4d %4d %4d %4d %7d %7d %3s\n", + printf " %4s %4d %4d %4d %4d %7d %7d %10d %3s\n", $typ, $cyl, $hd, $sec, $bps, - ($cyl*$hd*$sec), ($cyl*$hd*$sec*$bps)/1024, + ($cyl*$hd*$sec), ($cyl*$hd*$sec*$bps)/1024,($cyl*$hd*$sec*$bps), ($disktype{$typ}{bad} ? 'yes' : ' no'); } diff --git a/tools/oskit/211bsd_rl/211bsd_rl_boot.scmd b/tools/oskit/211bsd_rl/211bsd_rl_boot.scmd index f232f4ec..df5da471 100644 --- a/tools/oskit/211bsd_rl/211bsd_rl_boot.scmd +++ b/tools/oskit/211bsd_rl/211bsd_rl_boot.scmd @@ -1,4 +1,4 @@ -; $Id: 211bsd_rl_boot.scmd 633 2015-01-11 22:58:48Z mueller $ +; $Id: 211bsd_rl_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for 211bsd RL02 based system ; @@ -10,6 +10,9 @@ do ../../simh/setup_w11a_max.scmd set tto 7b set dlo0 7b ; +set rl0 rl02 +set rl1 rl02 +; att rl0 211bsd_rl_root.dsk att rl1 211bsd_rl_usr.dsk ; diff --git a/tools/oskit/211bsd_rpmin/211bsd_rpmin_boot.scmd b/tools/oskit/211bsd_rpmin/211bsd_rpmin_boot.scmd index 752145b4..8acd6de5 100644 --- a/tools/oskit/211bsd_rpmin/211bsd_rpmin_boot.scmd +++ b/tools/oskit/211bsd_rpmin/211bsd_rpmin_boot.scmd @@ -1,4 +1,4 @@ -; $Id: 211bsd_rpmin_boot.scmd 899 2017-05-27 13:25:41Z mueller $ +; $Id: 211bsd_rpmin_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for 211bsd RP06 based minimal memory system ; @@ -20,6 +20,6 @@ set rl1 rl02 set rl2 rl02 set rl3 rl02 ; -att rp0 211bsd_rp512_simh.dsk +att rp0 211bsd_rpmin.dsk ; boo rp0 diff --git a/tools/oskit/rsx11mp-30_rp/README.md b/tools/oskit/rsx11mp-30_rp/README.md index 0bdd644c..657a0236 100644 --- a/tools/oskit/rsx11mp-30_rp/README.md +++ b/tools/oskit/rsx11mp-30_rp/README.md @@ -23,7 +23,7 @@ Download, unpack and copy the disk images (*.dsk), e.g. ### Usage -- Start disk imge in SimH simulator (see section SimH in +- Start disk image in SimH simulator (see section SimH in [w11a_os_guide](../../../doc/w11a_os_guide.md#user-content-simh)) ``` diff --git a/tools/oskit/rsx11mp-30_rp/rsx11mp-30_rp_boot.scmd b/tools/oskit/rsx11mp-30_rp/rsx11mp-30_rp_boot.scmd index a6f0a4cc..d5b836e2 100644 --- a/tools/oskit/rsx11mp-30_rp/rsx11mp-30_rp_boot.scmd +++ b/tools/oskit/rsx11mp-30_rp/rsx11mp-30_rp_boot.scmd @@ -1,4 +1,4 @@ -; $Id: rsx11mp-30_rp_boot.scmd 669 2015-04-26 21:20:32Z mueller $ +; $Id: rsx11mp-30_rp_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for RSX11-M+ V3.0 RP06 based system ; @@ -10,6 +10,15 @@ do ../../simh/setup_w11a_max.scmd set tto 7b set dlo0 7b ; +; The RSX11-M+ V3.0 secondary bootstrap produces a 11/70 "Red stack trap". +; It is properly handled, and on a real 11/70 or the w11 the system boots. +; In SimH the "Red stack trap" is by default a simulator stop condition. +; This must be disabled by setting the STOP_TRAPS register to 0. +; +dep STOP_TRAPS 0 +; +; disk setup +; set rp0 rp06 set rp1 rp06 ; diff --git a/tools/oskit/rt11-53_rl/rt11-53_rl_boot.scmd b/tools/oskit/rt11-53_rl/rt11-53_rl_boot.scmd index 2e4e131e..3270ce9c 100644 --- a/tools/oskit/rt11-53_rl/rt11-53_rl_boot.scmd +++ b/tools/oskit/rt11-53_rl/rt11-53_rl_boot.scmd @@ -1,4 +1,4 @@ -; $Id: rt11-53_rl_boot.scmd 699 2015-07-05 21:37:26Z mueller $ +; $Id: rt11-53_rl_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for RT-11 V5.3 RL02 based system ; @@ -8,9 +8,8 @@ ; do ../../simh/setup_w11a_max.scmd ; +set rl0 rl02 +; att rl0 RT11_V5.3_SYSTEM.dsk ; -set rl debug -set cons debug=rlboot_simh.log -; boo rl0 diff --git a/tools/oskit/u7ed_rp/README.md b/tools/oskit/u7ed_rp/README.md index 3930ee13..bc8c953b 100644 --- a/tools/oskit/u7ed_rp/README.md +++ b/tools/oskit/u7ed_rp/README.md @@ -17,6 +17,7 @@ will generate a `core` because awk for example does use floating point arithmetic. **So far only minimal testing on the Cmod A7 system (672 kB memory) done.** +**The kernel panics with negative memory size if more than 2MB memory seen.** ### General remarks See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on diff --git a/tools/oskit/u7ed_rp/u7ed_rp_boot.scmd b/tools/oskit/u7ed_rp/u7ed_rp_boot.scmd index 3195d94f..43ae430f 100644 --- a/tools/oskit/u7ed_rp/u7ed_rp_boot.scmd +++ b/tools/oskit/u7ed_rp/u7ed_rp_boot.scmd @@ -1,4 +1,4 @@ -; $Id: u7ed_rp_boot.scmd 924 2017-07-16 16:32:22Z mueller $ +; $Id: u7ed_rp_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for Unix 7th Edition RP04 based system ; @@ -6,9 +6,10 @@ ; ; pdp11 u7ed_rp_boot.scmd ; -;;;do ../../simh/setup_w11a_max.scmd -set cpu 11/70 nofpp -set cpu idle +do ../../simh/setup_w11a_max.scmd +; +; u7ed crashes on SimH with a 4M or 3M memory configuratiion +; --> set memory to 2M set cpu 2M ; set tto 7b diff --git a/tools/oskit/xxdp_rl/xxdp22_rl_boot.scmd b/tools/oskit/xxdp_rl/xxdp22_rl_boot.scmd index e33ba51a..956b6e43 100644 --- a/tools/oskit/xxdp_rl/xxdp22_rl_boot.scmd +++ b/tools/oskit/xxdp_rl/xxdp22_rl_boot.scmd @@ -1,4 +1,4 @@ -; $Id: xxdp22_rl_boot.scmd 633 2015-01-11 22:58:48Z mueller $ +; $Id: xxdp22_rl_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for XXDP V2.2 RL02 based system ; @@ -8,6 +8,8 @@ ; do ../../simh/setup_w11a_max.scmd ; +set rl0 rl02 +; att rl0 xxdp22.dsk ; boo rl0 diff --git a/tools/oskit/xxdp_rl/xxdp25_rl_boot.scmd b/tools/oskit/xxdp_rl/xxdp25_rl_boot.scmd index db05b8fc..5c381a00 100644 --- a/tools/oskit/xxdp_rl/xxdp25_rl_boot.scmd +++ b/tools/oskit/xxdp_rl/xxdp25_rl_boot.scmd @@ -1,4 +1,4 @@ -; $Id: xxdp25_rl_boot.scmd 633 2015-01-11 22:58:48Z mueller $ +; $Id: xxdp25_rl_boot.scmd 1256 2022-07-15 09:14:14Z mueller $ ; ; Setup file for XXDP V2.5 RL02 based system ; @@ -8,6 +8,8 @@ ; do ../../simh/setup_w11a_max.scmd ; +set rl0 rl02 +; att rl0 xxdp25.dsk ; boo rl0 diff --git a/tools/simh/setup_w11a_max.scmd b/tools/simh/setup_w11a_max.scmd index f0a5564d..43a0beb0 100644 --- a/tools/simh/setup_w11a_max.scmd +++ b/tools/simh/setup_w11a_max.scmd @@ -1,6 +1,6 @@ -; $Id: setup_w11a_max.scmd 1200 2019-08-04 16:17:20Z mueller $ +; $Id: setup_w11a_max.scmd 1256 2022-07-15 09:14:14Z mueller $ ; SPDX-License-Identifier: GPL-3.0-or-later -; Copyright 2008-2019 by Walter F.J. Mueller +; Copyright 2008-2022 by Walter F.J. Mueller ; ; Setup file for 'maximal' w11a configuration under simh 3.8 and above ; @@ -8,15 +8,23 @@ ; --> 4 MByte, 2 DL11, DZ+LP+PC, RK05+RL02+RP06+TM11, DEUNA ; ; 11/70 CPU no FPP, 4 MByte memory -; 2 DL11 -; 1 DZ11 -; 1 LP11 -; 1 PC11 -; 1 RK11 + 8 RK05 drives -; 1 RL11 + 4 RL01/02 drives -; 1 RH70 + 4 RP06 drives -; 1 TM11 + 4 drives -; 1 DEUNA +; 1 KL11-L 177546/100/BR6 +; 1 KL11-P 172540/104/BR6 +; 2 DL11 177560/060/BR4 (cons) +; 176500/300/BR4 * (2nd) +; 1 DZ11 160100/310/BR5 * +; 1 LP11 177514/200/BR4 +; 1 PC11 177550/070/BR4 +; 1 RK11 + 8 RK05 drives 177400/220/BR5 +; 1 RL11 + 4 RL01/02 drives 174400/160/BR5 +; 1 RH70 + 4 RP06 drives 176700/254/BR5 +; 1 TM11 + 4 drives 172520/224/BR5 +; 1 DEUNA 174510/120/BR5 * +; +; Revision History: +; Date Rev Version Comment +; 2022-07-14 1256 1.1 use autoconfig, cleanups +; 2008-12-28 182 1.0 Initial version ; ; processor options ; @@ -29,11 +37,11 @@ set cpu idle ; clock options ; set clk 50hz +set pclk 50hz ; ; setup pdp11 console via telnet (default is mixed with simh console) ; set cons telnet=5670 -set cons telnet=buffered ; ; terminal interface options ; the default tti time=0 setting gives 50 chars/sec, slow @@ -45,7 +53,6 @@ dep tti time 50000 set tto 8b ; ; 2nd DL11 interface options -; Note: set dli vector=300 not allowed, rely on autoconf to set vec->300 ; Note: default for DLO's is UC ! -> set to 8bit ; set dli enabled @@ -56,7 +63,6 @@ set dlo0 8b ; set dz enabled set dz lines=8 -set dz vector=310 att dz -m 5672 set dz log=0=simh_dz0.log set dz log=1=simh_dz1.log @@ -79,22 +85,37 @@ att ptp simh_ptp.dat set rk enabled ; set rl enabled +set rl0 rl02 +set rl1 rl02 +set rl2 rl02 +set rl3 rl02 ; -set rha enabled set rp enabled +set rp0 rp06 +set rp1 rp06 +set rp2 rp06 +set rp3 rp06 +set rp4 disabled +set rp5 disabled +set rp6 disabled +set rp7 disabled ; ; tape drives ; set tm enabled +set tm4 disabled +set tm5 disabled +set tm6 disabled +set tm7 disabled ; ; ethernet interfaces ; set xu enabled +set xu type=DEUNA ; ; DISABLE all else ; set cr disabled -set vh disabled set hk disabled set rx disabled set rq disabled diff --git a/tools/simh/setup_w11a_min.scmd b/tools/simh/setup_w11a_min.scmd index 76eabe1b..9744eed5 100644 --- a/tools/simh/setup_w11a_min.scmd +++ b/tools/simh/setup_w11a_min.scmd @@ -1,22 +1,32 @@ -; $Id: setup_w11a_min.scmd 1200 2019-08-04 16:17:20Z mueller $ +; $Id: setup_w11a_min.scmd 1256 2022-07-15 09:14:14Z mueller $ ; SPDX-License-Identifier: GPL-3.0-or-later -; Copyright 2009-2019 by Walter F.J. Mueller +; Copyright 2009-2022 by Walter F.J. Mueller ; ; Setup file for 'minimal' w11a configuration under simh 3.8 and above ; ; This setup reflects the minimal w11a system on a S3BOARD ; --> 1MByte, 2 DL11, LP+PC, RK05 ; +; Address and vector assignments are done by simh autoconfig (marked with *) +; These assignments match the real w11a implementation +; ; 11/70 CPU no FPP, 1 MByte memory -; 2 DL11 -; 0 DZ11 -; 1 LP11 -; 1 PC11 -; 1 RK11 + 8 RK05 drives -; 0 RL11 + 0 RL01/02 drives -; 0 RH70 + 0 RP06 drives -; 0 TM11 + 0 drives -; 0 DEUNA +; 1 KL11-L 177546/100/BR6 +; 2 DL11 177560/060/BR4 (cons) +; 176500/300/BR4 * (2nd) +; 0 DZ11 - +; 1 LP11 177514/200/BR4 +; 1 PC11 177550/070/BR4 +; 1 RK11 + 8 RK05 drives 177400/220/BR5 +; 0 RL11 + 0 RL01/02 drives - +; 0 RH70 + 0 RP06 drives - +; 0 TM11 + 0 drives - +; 0 DEUNA - +; +; Revision History: +; Date Rev Version Comment +; 2022-07-14 1256 1.1 use autoconfig, cleanups +; 2009-09-13 238 1.0 Initial version ; ; processor options ; @@ -33,7 +43,6 @@ set clk 50hz ; setup pdp11 console via telnet (default is mixed with simh console) ; set cons telnet=5670 -set cons telnet=buffered ; ; terminal interface options ; the default tti time=0 setting gives 50 chars/sec, slow @@ -45,7 +54,6 @@ dep tti time 50000 set tto 8b ; ; 2nd DL11 interface options -; Note: set dli vector=300 not allowed, rely on autoconf to set vec->300 ; Note: default for DLO's is UC ! -> set to 8bit ; set dli enabled @@ -74,15 +82,13 @@ set rk enabled ; ; DISABLE all else ; -set dz disabled +set dz disabled set rl disabled -set rha disabled set rp disabled set tm disabled set xu disabled ; set cr disabled -set vh disabled set hk disabled set rx disabled set rq disabled